From a17797ba286affd93c182348b290eb084b93a452 Mon Sep 17 00:00:00 2001 From: anna Date: Tue, 1 Feb 2011 18:15:22 +0100 Subject: [PATCH] coverage: update coverage filters on package/class rename (IDEA-64799 ) --- .../execution/RunConfigurationExtension.java | 17 ++++++++++++ .../application/ApplicationConfiguration.java | 3 ++- .../codeInsight/NullableNotNullManager.java | 26 +++++++++++++------ .../execution/junit/JUnitConfiguration.java | 3 ++- .../configuration/TestNGConfiguration.java | 13 ++++++---- 5 files changed, 47 insertions(+), 15 deletions(-) diff --git a/java/execution/impl/src/com/intellij/execution/RunConfigurationExtension.java b/java/execution/impl/src/com/intellij/execution/RunConfigurationExtension.java index d6df75cd5c04..e34390e6f645 100644 --- a/java/execution/impl/src/com/intellij/execution/RunConfigurationExtension.java +++ b/java/execution/impl/src/com/intellij/execution/RunConfigurationExtension.java @@ -31,6 +31,8 @@ import com.intellij.openapi.options.SettingsEditorGroup; import com.intellij.openapi.util.InvalidDataException; import com.intellij.openapi.util.Key; import com.intellij.openapi.util.WriteExternalException; +import com.intellij.psi.PsiElement; +import com.intellij.refactoring.listeners.RefactoringElementListener; import com.intellij.ui.LayeredIcon; import org.jdom.Element; import org.jetbrains.annotations.Nullable; @@ -58,6 +60,21 @@ public abstract class RunConfigurationExtension { public abstract void patchConfiguration(RunConfigurationBase runJavaConfiguration); public abstract void checkConfiguration(RunConfigurationBase runJavaConfiguration) throws RuntimeConfigurationException; + public RefactoringElementListener wrapElementListener(PsiElement element, + RunConfigurationBase runJavaConfiguration, + RefactoringElementListener listener) { + return listener; + } + + public static RefactoringElementListener wrapRefactoringElementListener(PsiElement element, + RunConfigurationBase runConfigurationBase, + RefactoringElementListener listener) { + for (RunConfigurationExtension extension : Extensions.getExtensions(EP_NAME)) { + listener = extension.wrapElementListener(element, runConfigurationBase, listener); + } + return listener; + } + public static void appendEditors(RunConfigurationBase configuration, SettingsEditorGroup group) { for (RunConfigurationExtension extension : Extensions.getExtensions(EP_NAME)) { final SettingsEditor editor = extension.createEditor(configuration); diff --git a/java/execution/impl/src/com/intellij/execution/application/ApplicationConfiguration.java b/java/execution/impl/src/com/intellij/execution/application/ApplicationConfiguration.java index 901685def43a..5287087da48e 100644 --- a/java/execution/impl/src/com/intellij/execution/application/ApplicationConfiguration.java +++ b/java/execution/impl/src/com/intellij/execution/application/ApplicationConfiguration.java @@ -103,8 +103,9 @@ public class ApplicationConfiguration extends ModuleBasedConfiguration public static final String[] DEFAULT_NULLABLES = {AnnotationUtil.NULLABLE, "javax.annotation.Nullable", "edu.umd.cs.findbugs.annotations.Nullable"}; public static final String[] DEFAULT_NOT_NULLS = {AnnotationUtil.NOT_NULL, "javax.annotation.Nonnull", "edu.umd.cs.findbugs.annotations.NonNull"}; + private static final Object LOCK = new Object(); + public static NullableNotNullManager getInstance(Project project) { return ServiceManager.getService(project, NullableNotNullManager.class); } @@ -90,13 +92,6 @@ public class NullableNotNullManager implements PersistentStateComponent myDefaultNotNull = defaultNotNull; } - public List getNullables() { - if (myNullables.isEmpty()) { - Collections.addAll(myNullables, DEFAULT_NULLABLES); - } - return myNullables; - } - public boolean isNullable(PsiModifierListOwner owner, boolean checkBases) { return AnnotationUtil.isAnnotated(owner, getNullables(), checkBases); } @@ -105,9 +100,24 @@ public class NullableNotNullManager implements PersistentStateComponent return AnnotationUtil.isAnnotated(owner, getNotNulls(), checkBases); } + public List getNullables() { + if (myNullables.isEmpty()) { + synchronized (LOCK) { + if (myNullables.isEmpty()) { + Collections.addAll(myNullables, DEFAULT_NULLABLES); + } + } + } + return myNullables; + } + public List getNotNulls() { if (myNotNulls.isEmpty()) { - Collections.addAll(myNotNulls, DEFAULT_NOT_NULLS); + synchronized (LOCK) { + if (myNotNulls.isEmpty()) { + Collections.addAll(myNotNulls, DEFAULT_NOT_NULLS); + } + } } return myNotNulls; } diff --git a/plugins/junit/src/com/intellij/execution/junit/JUnitConfiguration.java b/plugins/junit/src/com/intellij/execution/junit/JUnitConfiguration.java index b9000c3ce422..dd3c56934bc0 100644 --- a/plugins/junit/src/com/intellij/execution/junit/JUnitConfiguration.java +++ b/plugins/junit/src/com/intellij/execution/junit/JUnitConfiguration.java @@ -93,7 +93,8 @@ public class JUnitConfiguration extends ModuleBasedConfiguration