a bit of Extensions thread-safety

This commit is contained in:
peter
2015-02-18 19:26:48 +01:00
parent 2d19eecbc6
commit cf2880c5b3
@@ -24,14 +24,16 @@ import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.annotations.TestOnly;
import java.util.Collections;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
public class Extensions {
public static final ExtensionPointName<AreaListener> AREA_LISTENER_EXTENSION_POINT = new ExtensionPointName<AreaListener>("com.intellij.arealistener");
private static LogProvider ourLogger = new SimpleLogProvider();
private static Map<AreaInstance,ExtensionsAreaImpl> ourAreaInstance2area = new THashMap<AreaInstance, ExtensionsAreaImpl>();
private static Map<String,AreaClassConfiguration> ourAreaClass2Configuration = new THashMap<String, AreaClassConfiguration>();
private static final Map<AreaInstance, ExtensionsAreaImpl> ourAreaInstance2area =
Collections.synchronizedMap(new THashMap<AreaInstance, ExtensionsAreaImpl>());
private static final Map<String, AreaClassConfiguration> ourAreaClass2Configuration =
Collections.synchronizedMap(new THashMap<String, AreaClassConfiguration>());
@NotNull private static ExtensionsAreaImpl ourRootArea = createRootArea();
@@ -45,14 +47,6 @@ public class Extensions {
return rootArea;
}
public static void setSynchronized() {
assert ourAreaInstance2area.isEmpty();
assert ourAreaClass2Configuration.isEmpty();
ourAreaInstance2area = new ConcurrentHashMap<AreaInstance, ExtensionsAreaImpl>();
ourAreaClass2Configuration = new ConcurrentHashMap<String, AreaClassConfiguration>();
}
@NotNull
public static ExtensionsArea getRootArea() {
return ourRootArea;