From 0cd9404d67883758849f949cf23b28d823bf91bf Mon Sep 17 00:00:00 2001 From: "kirill.safonov" Date: Tue, 18 Oct 2011 07:28:59 +0400 Subject: [PATCH] don't hardcode Java module type implementation --- .../intellij/openapi/module/JavaModuleType.java | 4 +++- .../impl/JavaAwareModuleTypeManagerImpl.java | 10 ++++++---- .../intellij/openapi/module/StdModuleTypes.java | 14 +------------- 3 files changed, 10 insertions(+), 18 deletions(-) diff --git a/java/java-impl/src/com/intellij/openapi/module/JavaModuleType.java b/java/java-impl/src/com/intellij/openapi/module/JavaModuleType.java index e8f68b15b606..1204e522396b 100644 --- a/java/java-impl/src/com/intellij/openapi/module/JavaModuleType.java +++ b/java/java-impl/src/com/intellij/openapi/module/JavaModuleType.java @@ -36,8 +36,10 @@ import java.util.ArrayList; public class JavaModuleType extends ModuleType { + public static final String ID = "JAVA_MODULE"; + public JavaModuleType() { - this("JAVA_MODULE"); + this(ID); } protected JavaModuleType(@NonNls String id) { diff --git a/java/java-impl/src/com/intellij/openapi/module/impl/JavaAwareModuleTypeManagerImpl.java b/java/java-impl/src/com/intellij/openapi/module/impl/JavaAwareModuleTypeManagerImpl.java index 46a2a5f68f9a..4e2408f5ac99 100644 --- a/java/java-impl/src/com/intellij/openapi/module/impl/JavaAwareModuleTypeManagerImpl.java +++ b/java/java-impl/src/com/intellij/openapi/module/impl/JavaAwareModuleTypeManagerImpl.java @@ -20,24 +20,26 @@ */ package com.intellij.openapi.module.impl; +import com.intellij.openapi.module.JavaModuleType; import com.intellij.openapi.module.ModuleType; -import com.intellij.openapi.module.StdModuleTypes; import org.jetbrains.annotations.NonNls; public class JavaAwareModuleTypeManagerImpl extends ModuleTypeManagerImpl{ @NonNls private static final String JAVA_MODULE_ID_OLD = "JAVA"; + private static final JavaModuleType JAVA_MODULE_TYPE = new JavaModuleType(); + public ModuleType getDefaultModuleType() { - return StdModuleTypes.JAVA; + return JAVA_MODULE_TYPE; } @Override public ModuleType findByID(final String moduleTypeID) { if (moduleTypeID != null) { if (JAVA_MODULE_ID_OLD.equals(moduleTypeID)) { - return StdModuleTypes.JAVA; // for compatibility with the previous ID that Java modules had + return JAVA_MODULE_TYPE; // for compatibility with the previous ID that Java modules had } } return super.findByID(moduleTypeID); } -} \ No newline at end of file +} diff --git a/java/openapi/src/com/intellij/openapi/module/StdModuleTypes.java b/java/openapi/src/com/intellij/openapi/module/StdModuleTypes.java index 66b33e67d2fd..73acfa2ec13a 100644 --- a/java/openapi/src/com/intellij/openapi/module/StdModuleTypes.java +++ b/java/openapi/src/com/intellij/openapi/module/StdModuleTypes.java @@ -17,21 +17,9 @@ package com.intellij.openapi.module; public class StdModuleTypes { // predefined module types - public static ModuleType JAVA; + public static ModuleType JAVA = ModuleTypeManager.getInstance().findByID("JAVA_MODULE"); private StdModuleTypes() { } - static { - JAVA = instantiate("com.intellij.openapi.module.JavaModuleType"); - } - - private static ModuleType instantiate(String className) { - try { - return (ModuleType)Class.forName(className).newInstance(); - } - catch (Exception e) { - throw new IllegalArgumentException(e); - } - } }