Author: rob.stryker(a)jboss.com
Date: 2010-10-07 06:35:16 -0400 (Thu, 07 Oct 2010)
New Revision: 25548
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/UnitedServerListenerManager.java
Log:
JBIDE-7276 - adding some synchronizations in
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/UnitedServerListenerManager.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/UnitedServerListenerManager.java 2010-10-07
10:27:27 UTC (rev 25547)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/UnitedServerListenerManager.java 2010-10-07
10:35:16 UTC (rev 25548)
@@ -54,6 +54,9 @@
}
}
}
+ public synchronized UnitedServerListener[] getListeners() {
+ return (UnitedServerListener[]) list.toArray(new UnitedServerListener[list.size()]);
+ }
private boolean isJBossServer(IServer server) {
@@ -72,7 +75,7 @@
}
- public void addListener(UnitedServerListener listener) {
+ public synchronized void addListener(UnitedServerListener listener) {
if( !list.contains(listener)) {
list.add(listener);
IServer[] allServers = ServerCore.getServers();
@@ -83,7 +86,7 @@
}
}
}
- public void removeListener(UnitedServerListener listener) {
+ public synchronized void removeListener(UnitedServerListener listener) {
list.remove(listener);
IServer[] allServers = ServerCore.getServers();
for( int i = 0; i < allServers.length; i++ ) {
@@ -99,16 +102,18 @@
}
server.addServerListener(this);
server.addPublishListener(this);
- for( Iterator<UnitedServerListener> i = list.iterator(); i.hasNext(); ) {
- i.next().serverAdded(server);
+ UnitedServerListener[] listeners = getListeners();
+ for( int i = 0; i < listeners.length; i++) {
+ listeners[i].serverAdded(server);
}
}
public void serverChanged(IServer server) {
if (!isJBossServer(server)) {
return;
}
- for( Iterator<UnitedServerListener> i = list.iterator(); i.hasNext(); ) {
- i.next().serverChanged(server);
+ UnitedServerListener[] listeners = getListeners();
+ for( int i = 0; i < listeners.length; i++) {
+ listeners[i].serverChanged(server);
}
}
public void serverRemoved(IServer server) {
@@ -117,8 +122,9 @@
}
server.removeServerListener(this);
server.removePublishListener(this);
- for( Iterator<UnitedServerListener> i = list.iterator(); i.hasNext(); ) {
- i.next().serverRemoved(server);
+ UnitedServerListener[] listeners = getListeners();
+ for( int i = 0; i < listeners.length; i++) {
+ listeners[i].serverRemoved(server);
}
}
@@ -127,8 +133,9 @@
if (!isJBossServer(server)) {
return;
}
- for( Iterator<UnitedServerListener> i = list.iterator(); i.hasNext(); ) {
- i.next().serverChanged(event);
+ UnitedServerListener[] listeners = getListeners();
+ for( int i = 0; i < listeners.length; i++) {
+ listeners[i].serverChanged(event);
}
}
@@ -136,16 +143,19 @@
if (!isJBossServer(server)) {
return;
}
- for( Iterator<UnitedServerListener> i = list.iterator(); i.hasNext(); )
- i.next().publishStarted(server);
+ UnitedServerListener[] listeners = getListeners();
+ for( int i = 0; i < listeners.length; i++) {
+ listeners[i].publishStarted(server);
+ }
}
public void publishFinished(IServer server, IStatus status) {
if (!isJBossServer(server)) {
return;
}
- for( Iterator<UnitedServerListener> i = list.iterator(); i.hasNext(); )
- i.next().publishFinished(server, status);
+ UnitedServerListener[] listeners = getListeners();
+ for( int i = 0; i < listeners.length; i++) {
+ listeners[i].publishFinished(server, status);
+ }
}
-
}