cleanup
authorAlexey Kudravtsev <cdr@intellij.com>
Mon, 5 Jul 2010 12:58:04 +0000 (16:58 +0400)
committerAlexey Kudravtsev <cdr@intellij.com>
Tue, 6 Jul 2010 10:31:49 +0000 (14:31 +0400)
platform/platform-api/src/com/intellij/execution/process/ProcessHandler.java
plugins/git4idea/src/git4idea/history/GitUsersComponent.java

index e7cb96652371d9f785fa2ba4653e701edb8c0597..2bc018efdd6ac4e74816e0ed40996742dab632ec 100644 (file)
@@ -27,7 +27,6 @@ import java.io.OutputStream;
 import java.lang.reflect.InvocationHandler;
 import java.lang.reflect.Method;
 import java.lang.reflect.Proxy;
 import java.lang.reflect.InvocationHandler;
 import java.lang.reflect.Method;
 import java.lang.reflect.Proxy;
-import java.util.Iterator;
 import java.util.List;
 import java.util.concurrent.atomic.AtomicInteger;
 
 import java.util.List;
 import java.util.concurrent.atomic.AtomicInteger;
 
@@ -117,15 +116,11 @@ public abstract class ProcessHandler extends UserDataHolderBase {
   }
 
   public void addProcessListener(final ProcessListener listener) {
   }
 
   public void addProcessListener(final ProcessListener listener) {
-    synchronized(myListeners) {
-      myListeners.add(listener);
-    }
+    myListeners.add(listener);
   }
 
   public void removeProcessListener(final ProcessListener listener) {
   }
 
   public void removeProcessListener(final ProcessListener listener) {
-    synchronized(myListeners) {
-      myListeners.remove(listener);
-    }
+    myListeners.remove(listener);
   }
 
   protected void notifyProcessDetached() {
   }
 
   protected void notifyProcessDetached() {
@@ -189,6 +184,7 @@ public abstract class ProcessHandler extends UserDataHolderBase {
           runnable.run();
         }
       });
           runnable.run();
         }
       });
+      assert !isStartNotified();
     }
   }
 
     }
   }
 
@@ -200,14 +196,9 @@ public abstract class ProcessHandler extends UserDataHolderBase {
     final Class<ProcessListener> listenerClass = ProcessListener.class;
     return (ProcessListener)Proxy.newProxyInstance(listenerClass.getClassLoader(), new Class[] {listenerClass}, new InvocationHandler() {
       public Object invoke(Object object, Method method, Object[] params) throws Throwable {
     final Class<ProcessListener> listenerClass = ProcessListener.class;
     return (ProcessListener)Proxy.newProxyInstance(listenerClass.getClassLoader(), new Class[] {listenerClass}, new InvocationHandler() {
       public Object invoke(Object object, Method method, Object[] params) throws Throwable {
-        final Iterator<ProcessListener> iterator;
-        synchronized (myListeners) {
-          iterator = myListeners.iterator();
-        }
-        while (iterator.hasNext()) {
-          final ProcessListener processListener = iterator.next();
+        for (ProcessListener listener : myListeners) {
           try {
           try {
-            method.invoke(processListener, params);
+            method.invoke(listener, params);
           }
           catch (Throwable e) {
             LOG.error(e);
           }
           catch (Throwable e) {
             LOG.error(e);
index ff3d4a7ed80d9ab8a959c83900f5d0afb57af2cc..918f0beaa45652437facf593150d524ceeaf9fdb 100644 (file)
@@ -137,8 +137,8 @@ public class GitUsersComponent {
             }
           }
 
             }
           }
 
-          for (String s : toUpdate.keySet()) {
-            myState.put(s, toUpdate.get(s));
+          for (Map.Entry<String, UsersData> entry : toUpdate.entrySet()) {
+            myState.put(entry.getKey(), entry.getValue());
           }
           if (! toUpdate.isEmpty()) {
             myState.force();
           }
           if (! toUpdate.isEmpty()) {
             myState.force();