diff --git a/python/pydevSrc/com/jetbrains/python/console/pydev/AbstractConsoleCommunication.java b/python/pydevSrc/com/jetbrains/python/console/pydev/AbstractConsoleCommunication.java index 4d40f1e01810..fa832cff38d5 100644 --- a/python/pydevSrc/com/jetbrains/python/console/pydev/AbstractConsoleCommunication.java +++ b/python/pydevSrc/com/jetbrains/python/console/pydev/AbstractConsoleCommunication.java @@ -1,12 +1,11 @@ package com.jetbrains.python.console.pydev; -import com.google.common.collect.Lists; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.Pair; import com.intellij.openapi.vfs.VirtualFile; +import com.intellij.util.containers.ContainerUtil; import java.util.List; -import java.util.Vector; /** * @author traff @@ -23,7 +22,7 @@ public abstract class AbstractConsoleCommunication implements ConsoleCommunicati */ public volatile boolean waitingForInput; - private List communicationListeners = Lists.newArrayList(); + private final List communicationListeners = ContainerUtil.createLockFreeCopyOnWriteList(); public AbstractConsoleCommunication(Project project) { diff --git a/python/pydevSrc/com/jetbrains/python/debugger/pydev/RemoteDebugger.java b/python/pydevSrc/com/jetbrains/python/debugger/pydev/RemoteDebugger.java index 557a44995abd..87d662c27466 100644 --- a/python/pydevSrc/com/jetbrains/python/debugger/pydev/RemoteDebugger.java +++ b/python/pydevSrc/com/jetbrains/python/debugger/pydev/RemoteDebugger.java @@ -11,6 +11,7 @@ import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.util.SystemInfo; import com.intellij.openapi.util.text.StringUtil; +import com.intellij.util.containers.ContainerUtil; import com.intellij.xdebugger.frame.XValueChildrenList; import com.jetbrains.python.console.pydev.PydevCompletionVariant; import com.jetbrains.python.debugger.*; @@ -51,7 +52,7 @@ public class RemoteDebugger implements ProcessDebugger { private final TempVarsHolder myTempVars = new TempVarsHolder(); - private final List myCloseListeners = Lists.newArrayList(); + private final List myCloseListeners = ContainerUtil.createLockFreeCopyOnWriteList(); private DebuggerReader myDebuggerReader; public RemoteDebugger(final IPyDebugProcess debugProcess, final ServerSocket serverSocket, final int timeout) { diff --git a/python/src/com/jetbrains/python/console/PydevConsoleRunner.java b/python/src/com/jetbrains/python/console/PydevConsoleRunner.java index 4ddbb6ce2e16..b9591b6aabdb 100644 --- a/python/src/com/jetbrains/python/console/PydevConsoleRunner.java +++ b/python/src/com/jetbrains/python/console/PydevConsoleRunner.java @@ -41,6 +41,7 @@ import com.intellij.psi.impl.source.tree.FileElement; import com.intellij.testFramework.LightVirtualFile; import com.intellij.util.ArrayUtil; import com.intellij.util.IJSwingUtilities; +import com.intellij.util.containers.ContainerUtil; import com.intellij.util.net.NetUtils; import com.intellij.util.ui.UIUtil; import com.jetbrains.django.run.ProcessRunner; @@ -82,7 +83,7 @@ public class PydevConsoleRunner extends AbstractConsoleRunnerWithHistory myConsoleListeners = Lists.newArrayList(); + private List myConsoleListeners = ContainerUtil.createLockFreeCopyOnWriteList(); private final PyConsoleType myConsoleType; private Map myEnvironmentVariables; private String myCommandLine; diff --git a/python/src/com/jetbrains/python/module/PythonModuleBuilderBase.java b/python/src/com/jetbrains/python/module/PythonModuleBuilderBase.java index 58490f68fc9f..2cd9fa47a3c3 100644 --- a/python/src/com/jetbrains/python/module/PythonModuleBuilderBase.java +++ b/python/src/com/jetbrains/python/module/PythonModuleBuilderBase.java @@ -12,19 +12,19 @@ import com.intellij.openapi.roots.ModifiableRootModel; import com.intellij.openapi.roots.ModuleRootManager; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.platform.DirectoryProjectGenerator; +import com.intellij.util.containers.ContainerUtil; import com.jetbrains.python.PythonModuleTypeBase; import com.jetbrains.python.sdk.PythonSdkType; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import java.util.ArrayList; import java.util.List; /** * @author yole */ public class PythonModuleBuilderBase extends ModuleBuilder { - private final List mySdkChangedListeners = new ArrayList(); + private final List mySdkChangedListeners = ContainerUtil.createLockFreeCopyOnWriteList(); private final DirectoryProjectGenerator myGenerator; private Sdk mySdk; diff --git a/python/src/com/jetbrains/python/packaging/ui/PyPackagesPanel.java b/python/src/com/jetbrains/python/packaging/ui/PyPackagesPanel.java index 6abbed6f2231..2b5b4156a2f1 100644 --- a/python/src/com/jetbrains/python/packaging/ui/PyPackagesPanel.java +++ b/python/src/com/jetbrains/python/packaging/ui/PyPackagesPanel.java @@ -13,6 +13,7 @@ import com.intellij.ui.DoubleClickListener; import com.intellij.ui.ScrollPaneFactory; import com.intellij.ui.table.JBTable; import com.intellij.util.Consumer; +import com.intellij.util.containers.ContainerUtil; import com.jetbrains.python.packaging.*; import com.jetbrains.python.sdk.flavors.IronPythonSdkFlavor; import com.jetbrains.python.sdk.flavors.PythonSdkFlavor; @@ -52,7 +53,7 @@ public class PyPackagesPanel extends JPanel { private final PyPackagesNotificationPanel myNotificationArea; private boolean myHasDistribute; private boolean myHasPip = true; - private final List> myPathChangedListeners = new ArrayList>(); + private final List> myPathChangedListeners = ContainerUtil.createLockFreeCopyOnWriteList(); private Set currentlyInstalling = new HashSet(); public PyPackagesPanel(Project project, PyPackagesNotificationPanel area) {