diff --git a/java/execution/impl/execution-impl.iml b/java/execution/impl/execution-impl.iml
index b3e1db2cbc1f..602b82583a84 100644
--- a/java/execution/impl/execution-impl.iml
+++ b/java/execution/impl/execution-impl.iml
@@ -11,7 +11,6 @@
-
diff --git a/java/execution/impl/src/com/intellij/execution/applet/AppletConfigurationProducer.java b/java/execution/impl/src/com/intellij/execution/applet/AppletConfigurationProducer.java
index 3ddddf466c23..6401d8df6b12 100644
--- a/java/execution/impl/src/com/intellij/execution/applet/AppletConfigurationProducer.java
+++ b/java/execution/impl/src/com/intellij/execution/applet/AppletConfigurationProducer.java
@@ -24,9 +24,9 @@ import com.intellij.execution.JavaExecutionUtil;
import com.intellij.execution.Location;
import com.intellij.execution.RunnerAndConfigurationSettings;
import com.intellij.execution.actions.ConfigurationContext;
-import com.intellij.execution.junit.JUnitUtil;
import com.intellij.execution.junit.JavaRuntimeConfigurationProducerBase;
import com.intellij.openapi.module.Module;
+import com.intellij.openapi.module.ModuleUtilCore;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.util.Comparing;
import com.intellij.psi.JavaPsiFacade;
@@ -36,6 +36,7 @@ import com.intellij.psi.PsiManager;
import com.intellij.psi.search.GlobalSearchScope;
import com.intellij.psi.util.PsiClassUtil;
import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
public class AppletConfigurationProducer extends JavaRuntimeConfigurationProducerBase {
private PsiClass myPsiClass;
@@ -60,7 +61,7 @@ public class AppletConfigurationProducer extends JavaRuntimeConfigurationProduce
RunnerAndConfigurationSettings settings = cloneTemplateConfiguration(project, context);
final AppletConfiguration configuration = (AppletConfiguration)settings.getConfiguration();
configuration.MAIN_CLASS_NAME = JavaExecutionUtil.getRuntimeQualifiedName(myPsiClass);
- configuration.setModule(new JUnitUtil.ModuleOfClass().convert(myPsiClass));
+ configuration.setModule(myPsiClass.isValid() ? ModuleUtilCore.findModuleForPsiElement(myPsiClass) : null);
configuration.setName(configuration.getGeneratedName());
return settings;
}
@@ -70,6 +71,7 @@ public class AppletConfigurationProducer extends JavaRuntimeConfigurationProduce
}
+ @Nullable
private static PsiClass getAppletClass(PsiElement element, final PsiManager manager) {
while (element != null) {
if (element instanceof PsiClass) {
diff --git a/java/execution/impl/src/com/intellij/execution/junit/JUnitUtil.java b/java/execution/impl/src/com/intellij/execution/junit/JUnitUtil.java
index 6c38b54e9d93..493f01137da4 100644
--- a/java/execution/impl/src/com/intellij/execution/junit/JUnitUtil.java
+++ b/java/execution/impl/src/com/intellij/execution/junit/JUnitUtil.java
@@ -20,7 +20,6 @@ import com.intellij.execution.*;
import com.intellij.execution.junit2.info.MethodLocation;
import com.intellij.execution.testframework.SourceScope;
import com.intellij.openapi.module.Module;
-import com.intellij.openapi.module.ModuleUtil;
import com.intellij.openapi.progress.ProgressManager;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.util.Condition;
@@ -30,18 +29,13 @@ import com.intellij.psi.search.searches.ClassInheritorsSearch;
import com.intellij.psi.util.InheritanceUtil;
import com.intellij.psi.util.PsiClassUtil;
import com.intellij.util.Processor;
-import com.intellij.util.containers.Convertor;
-import junit.runner.BaseTestRunner;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
-import org.junit.After;
-import org.junit.AfterClass;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.runners.Parameterized;
-import java.util.*;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.Iterator;
@SuppressWarnings({"UtilityClassWithoutPrivateConstructor"})
public class JUnitUtil {
@@ -51,6 +45,12 @@ public class JUnitUtil {
@NonNls private static final String TEST_ANNOTATION = "org.junit.Test";
@NonNls public static final String RUN_WITH = "org.junit.runner.RunWith";
@NonNls public static final String SUITE_METHOD_NAME = "suite";
+ private static final String BEFORE_ANNOTATION_NAME = "org.junit.Before";
+ private static final String AFTER_ANNOTATION_NAME = "org.junit.After";
+ private static final String PARAMETRIZED_PARAMETERS_ANNOTATION_NAME = "org.junit.runners.Parameterized.Parameters";
+ private static final String AFTER_CLASS_ANNOTATION_NAME = "org.junit.AfterClass";
+ private static final String BEFORE_CLASS_ANNOTATION_NAME = "org.junit.BeforeClass";
+ private static final String PARAMETERIZED_CLASS_NAME = "org.junit.runners.Parameterized";
public static boolean isSuiteMethod(@NotNull PsiMethod psiMethod) {
if (!psiMethod.hasModifierProperty(PsiModifier.PUBLIC)) return false;
@@ -78,7 +78,7 @@ public class JUnitUtil {
if (psiMethod.hasModifierProperty(PsiModifier.ABSTRACT)) return false;
if (AnnotationUtil.isAnnotated(aClass, RUN_WITH, true)) return true;
if (psiMethod.getParameterList().getParametersCount() > 0) return false;
- if (psiMethod.hasModifierProperty(PsiModifier.STATIC) && BaseTestRunner.SUITE_METHODNAME.equals(psiMethod.getName())) return false;
+ if (psiMethod.hasModifierProperty(PsiModifier.STATIC) && SUITE_METHOD_NAME.equals(psiMethod.getName())) return false;
if (!psiMethod.getName().startsWith("test")) return false;
PsiClass testCaseClass = getTestCaseClassOrNull(location);
return testCaseClass != null && psiMethod.getContainingClass().isInheritor(testCaseClass, true);
@@ -91,15 +91,6 @@ public class JUnitUtil {
return testCaseClass != null && aClass.isInheritor(testCaseClass, true);
}
- /**
- *
- * @param aClassLocation
- * @return true if aClassLocation can be used as JUnit test class.
- */
- private static boolean isTestClass(final Location extends PsiClass> aClassLocation) {
- return isTestClass(aClassLocation.getPsiElement());
- }
-
public static boolean isTestClass(final PsiClass psiClass) {
return isTestClass(psiClass, true, true);
}
@@ -151,7 +142,7 @@ public class JUnitUtil {
final PsiAnnotationMemberValue value = attribute.getValue();
if (value instanceof PsiClassObjectAccessExpression ) {
final PsiTypeElement typeElement = ((PsiClassObjectAccessExpression)value).getOperand();
- if (typeElement.getType().getCanonicalText().equals(Parameterized.class.getName())) {
+ if (typeElement.getType().getCanonicalText().equals(PARAMETERIZED_CLASS_NAME)) {
return false;
}
}
@@ -223,13 +214,13 @@ public class JUnitUtil {
return true;
}
if (psiMethod.hasModifierProperty(PsiModifier.STATIC)) {
- if (AnnotationUtil.isAnnotated(psiMethod, Arrays.asList(BeforeClass.class.getName(), AfterClass.class.getName(),
- Parameterized.Parameters.class.getName().replace('$', '.')))) {
+ if (AnnotationUtil.isAnnotated(psiMethod, Arrays.asList(BEFORE_CLASS_ANNOTATION_NAME, AFTER_CLASS_ANNOTATION_NAME,
+ PARAMETRIZED_PARAMETERS_ANNOTATION_NAME))) {
return true;
}
}
else {
- if (AnnotationUtil.isAnnotated(psiMethod, Arrays.asList(Before.class.getName(), After.class.getName()))) return true;
+ if (AnnotationUtil.isAnnotated(psiMethod, Arrays.asList(BEFORE_ANNOTATION_NAME, AFTER_ANNOTATION_NAME))) return true;
}
}
return false;
@@ -298,55 +289,6 @@ public class JUnitUtil {
return null;
}
- /**
- * @param collection
- * @param comparator returns 0 iff elemets are incomparable.
- * @return maximum elements
- */
- public static Collection findMaximums(final Collection collection, final Comparator comparator) {
- final ArrayList maximums = new ArrayList();
- loop:
- for (final T candidate : collection) {
- for (final T element : collection) {
- if (comparator.compare(element, candidate) > 0) continue loop;
- }
- maximums.add(candidate);
- }
- return maximums;
- }
-
- /*public static Map> buildAllDependencies(final Project project) {
- final Module[] modules = ModuleManager.getInstance(project).getSortedModules();
- final HashMap> lessers = new HashMap>();
- int prevProcessedCount = 0;
- while (modules.length > lessers.size()) {
- for (int i = 0; i < modules.length; i++) {
- final Module module = modules[i];
- if (lessers.containsKey(module)) continue;
- final Module[] dependencies = ModuleRootManager.getInstance(module).getDependencies();
- if (lessers.keySet().containsAll(Arrays.asList(dependencies))) {
- final HashSet allDependencies = new HashSet();
- for (int j = 0; j < dependencies.length; j++) {
- final Module dependency = dependencies[j];
- allDependencies.add(dependency);
- allDependencies.addAll(lessers.get(dependency));
- }
- lessers.put(module, allDependencies);
- }
- }
- if (lessers.size() == prevProcessedCount) return null;
- prevProcessedCount = lessers.size();
- }
- return lessers;
- }*/
-
- public static class ModuleOfClass implements Convertor {
- public Module convert(final PsiClass psiClass) {
- if (psiClass == null || !psiClass.isValid()) return null;
- return ModuleUtil.findModuleForPsiElement(psiClass);
- }
- }
-
public static class NoJUnitException extends CantRunException {
public NoJUnitException() {
super(ExecutionBundle.message("no.junit.error.message"));
diff --git a/java/execution/impl/src/com/intellij/execution/util/JavaParametersUtil.java b/java/execution/impl/src/com/intellij/execution/util/JavaParametersUtil.java
index 0a4a3e6334ee..22dc20750689 100644
--- a/java/execution/impl/src/com/intellij/execution/util/JavaParametersUtil.java
+++ b/java/execution/impl/src/com/intellij/execution/util/JavaParametersUtil.java
@@ -23,8 +23,8 @@ import com.intellij.execution.configurations.JavaParameters;
import com.intellij.execution.configurations.RunConfigurationModule;
import com.intellij.execution.configurations.RuntimeConfigurationWarning;
import com.intellij.execution.configurations.SimpleJavaParameters;
-import com.intellij.execution.junit.JUnitUtil;
import com.intellij.openapi.module.Module;
+import com.intellij.openapi.module.ModuleUtilCore;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.projectRoots.JavaSdk;
import com.intellij.openapi.projectRoots.Sdk;
@@ -78,7 +78,7 @@ public class JavaParametersUtil {
if (psiFile == null) throw CantRunException.classNotFound(mainClassName, module);
final VirtualFile virtualFile = psiFile.getVirtualFile();
if (virtualFile == null) throw CantRunException.classNotFound(mainClassName, module);
- Module classModule = new JUnitUtil.ModuleOfClass().convert(psiClass);
+ Module classModule = psiClass.isValid() ? ModuleUtilCore.findModuleForPsiElement(psiClass) : null;
if (classModule == null) classModule = module;
ModuleFileIndex fileIndex = ModuleRootManager.getInstance(classModule).getFileIndex();
if (fileIndex.isInSourceContent(virtualFile)) {
diff --git a/plugins/gradle/gradle.iml b/plugins/gradle/gradle.iml
index 4239d57a2c9a..3ba09b0629ae 100644
--- a/plugins/gradle/gradle.iml
+++ b/plugins/gradle/gradle.iml
@@ -29,7 +29,7 @@
-
+
diff --git a/plugins/rearranger/rearranger.iml b/plugins/rearranger/rearranger.iml
index bdf57652531f..bca8324f937a 100644
--- a/plugins/rearranger/rearranger.iml
+++ b/plugins/rearranger/rearranger.iml
@@ -10,7 +10,7 @@
-
+