diff --git a/idea/src/org/jetbrains/jet/plugin/configuration/KotlinJavaModuleConfigurator.java b/idea/src/org/jetbrains/jet/plugin/configuration/KotlinJavaModuleConfigurator.java index 811307b9914..2ece6dbb18d 100644 --- a/idea/src/org/jetbrains/jet/plugin/configuration/KotlinJavaModuleConfigurator.java +++ b/idea/src/org/jetbrains/jet/plugin/configuration/KotlinJavaModuleConfigurator.java @@ -18,7 +18,6 @@ package org.jetbrains.jet.plugin.configuration; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.module.Module; -import com.intellij.openapi.module.ModuleManager; import com.intellij.openapi.module.impl.scopes.LibraryScope; import com.intellij.openapi.project.Project; import com.intellij.openapi.roots.OrderRootType; @@ -27,14 +26,11 @@ import com.intellij.openapi.vfs.VirtualFile; import org.jetbrains.annotations.NotNull; import org.jetbrains.jet.plugin.framework.JavaRuntimeLibraryDescription; import org.jetbrains.jet.plugin.framework.JavaRuntimePresentationProvider; -import org.jetbrains.jet.plugin.framework.ui.CreateLibraryDialogWithModules; import org.jetbrains.jet.plugin.project.ProjectStructureUtil; import org.jetbrains.jet.plugin.versions.KotlinRuntimeLibraryCoreUtil; import org.jetbrains.jet.utils.PathUtil; import java.io.File; -import java.util.Arrays; -import java.util.List; import static org.jetbrains.jet.plugin.configuration.ConfigureKotlinInProjectUtils.showInfoNotification; @@ -52,6 +48,18 @@ public class KotlinJavaModuleConfigurator extends KotlinWithLibraryConfigurator return JavaRuntimeLibraryDescription.LIBRARY_NAME; } + @NotNull + @Override + protected String getDialogTitle() { + return JavaRuntimeLibraryDescription.DIALOG_TITLE; + } + + @NotNull + @Override + protected String getLibraryCaption() { + return JavaRuntimeLibraryDescription.LIBRARY_CAPTION; + } + @NotNull @Override public String getJarName() { @@ -82,38 +90,6 @@ public class KotlinJavaModuleConfigurator extends KotlinWithLibraryConfigurator return NAME; } - @Override - public void configure(@NotNull Project project) { - String defaultPath = getDefaultPathToJarFile(project); - boolean showPathPanelForJava = needToChooseJarPath(project); - - List nonConfiguredModules = !ApplicationManager.getApplication().isUnitTestMode() ? - ConfigureKotlinInProjectUtils.getNonConfiguredModules(project, this): - Arrays.asList(ModuleManager.getInstance(project).getModules()); - - List modulesToConfigure = nonConfiguredModules; - String copyLibIntoPath = null; - - if (nonConfiguredModules.size() > 1 || showPathPanelForJava) { - CreateLibraryDialogWithModules dialog = new CreateLibraryDialogWithModules( - project, nonConfiguredModules, defaultPath, showPathPanelForJava, - JavaRuntimeLibraryDescription.DIALOG_TITLE, - JavaRuntimeLibraryDescription.LIBRARY_CAPTION); - - if (!ApplicationManager.getApplication().isUnitTestMode()) { - dialog.show(); - if (!dialog.isOK()) return; - } - - modulesToConfigure = dialog.getModulesToConfigure(); - copyLibIntoPath = dialog.getCopyIntoPath(); - } - - for (Module module : modulesToConfigure) { - configureModuleWithLibrary(module, defaultPath, copyLibIntoPath); - } - } - @Override @NotNull public File getExistedJarFile() { diff --git a/idea/src/org/jetbrains/jet/plugin/configuration/KotlinJsModuleConfigurator.java b/idea/src/org/jetbrains/jet/plugin/configuration/KotlinJsModuleConfigurator.java index 8985e725b35..b274ea4e191 100644 --- a/idea/src/org/jetbrains/jet/plugin/configuration/KotlinJsModuleConfigurator.java +++ b/idea/src/org/jetbrains/jet/plugin/configuration/KotlinJsModuleConfigurator.java @@ -16,20 +16,14 @@ package org.jetbrains.jet.plugin.configuration; -import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.module.Module; -import com.intellij.openapi.module.ModuleManager; -import com.intellij.openapi.project.Project; import org.jetbrains.annotations.NotNull; import org.jetbrains.jet.plugin.framework.JSLibraryStdDescription; -import org.jetbrains.jet.plugin.framework.ui.CreateLibraryDialogWithModules; import org.jetbrains.jet.plugin.project.ProjectStructureUtil; import org.jetbrains.jet.utils.PathUtil; import org.jetbrains.k2js.JavaScript; import java.io.File; -import java.util.Arrays; -import java.util.List; public class KotlinJsModuleConfigurator extends KotlinWithLibraryConfigurator { public static final String NAME = JavaScript.LOWER_NAME; @@ -57,6 +51,18 @@ public class KotlinJsModuleConfigurator extends KotlinWithLibraryConfigurator { return JSLibraryStdDescription.LIBRARY_NAME; } + @NotNull + @Override + protected String getDialogTitle() { + return JSLibraryStdDescription.DIALOG_TITLE; + } + + @NotNull + @Override + protected String getLibraryCaption() { + return JSLibraryStdDescription.LIBRARY_CAPTION; + } + @NotNull @Override public String getJarName() { @@ -86,39 +92,6 @@ public class KotlinJsModuleConfigurator extends KotlinWithLibraryConfigurator { return assertFileExists(PathUtil.getKotlinPathsForIdeaPlugin().getJsStdLibSrcJarPath()); } - @Override - public void configure(@NotNull Project project) { - String defaultPathToJar = getDefaultPathToJarFile(project); - boolean showPathToJarPanel = needToChooseJarPath(project); - - List nonConfiguredModules = - !ApplicationManager.getApplication().isUnitTestMode() ? - ConfigureKotlinInProjectUtils.getNonConfiguredModules(project, this) : - Arrays.asList(ModuleManager.getInstance(project).getModules()); - - List modulesToConfigure = nonConfiguredModules; - String copyLibraryIntoPath = null; - - if (nonConfiguredModules.size() > 1 || showPathToJarPanel) { - CreateLibraryDialogWithModules dialog = new CreateLibraryDialogWithModules( - project, nonConfiguredModules, defaultPathToJar, showPathToJarPanel, - JSLibraryStdDescription.DIALOG_TITLE, - JSLibraryStdDescription.LIBRARY_CAPTION); - - if (!ApplicationManager.getApplication().isUnitTestMode()) { - dialog.show(); - if (!dialog.isOK()) return; - } - - modulesToConfigure = dialog.getModulesToConfigure(); - copyLibraryIntoPath = dialog.getCopyIntoPath(); - } - - for (Module module : modulesToConfigure) { - configureModuleWithLibrary(module, defaultPathToJar, copyLibraryIntoPath); - } - } - KotlinJsModuleConfigurator() { } } diff --git a/idea/src/org/jetbrains/jet/plugin/configuration/KotlinWithLibraryConfigurator.java b/idea/src/org/jetbrains/jet/plugin/configuration/KotlinWithLibraryConfigurator.java index 6b83a4c1d83..ac8c44769dc 100644 --- a/idea/src/org/jetbrains/jet/plugin/configuration/KotlinWithLibraryConfigurator.java +++ b/idea/src/org/jetbrains/jet/plugin/configuration/KotlinWithLibraryConfigurator.java @@ -18,6 +18,7 @@ package org.jetbrains.jet.plugin.configuration; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.module.Module; +import com.intellij.openapi.module.ModuleManager; import com.intellij.openapi.project.Project; import com.intellij.openapi.roots.*; import com.intellij.openapi.roots.libraries.Library; @@ -34,10 +35,13 @@ import com.intellij.util.Processor; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.jet.plugin.JetPluginUtil; +import org.jetbrains.jet.plugin.framework.ui.CreateLibraryDialogWithModules; import org.jetbrains.jet.plugin.framework.ui.FileUIUtils; import org.jetbrains.jet.plugin.project.ProjectStructureUtil; import java.io.File; +import java.util.Arrays; +import java.util.List; import static org.jetbrains.jet.plugin.configuration.ConfigureKotlinInProjectUtils.showInfoNotification; @@ -56,6 +60,12 @@ public abstract class KotlinWithLibraryConfigurator implements KotlinProjectConf @NotNull protected abstract String getMessageForOverrideDialog(); + @NotNull + protected abstract String getDialogTitle(); + + @NotNull + protected abstract String getLibraryCaption(); + @NotNull public abstract File getExistedJarFile(); @@ -68,6 +78,39 @@ public abstract class KotlinWithLibraryConfigurator implements KotlinProjectConf !JetPluginUtil.isGradleModule(module); } + @Override + public void configure(@NotNull Project project) { + String defaultPathToJar = getDefaultPathToJarFile(project); + boolean showPathToJarPanel = needToChooseJarPath(project); + + List nonConfiguredModules = + !ApplicationManager.getApplication().isUnitTestMode() ? + ConfigureKotlinInProjectUtils.getNonConfiguredModules(project, this) : + Arrays.asList(ModuleManager.getInstance(project).getModules()); + + List modulesToConfigure = nonConfiguredModules; + String copyLibraryIntoPath = null; + + if (nonConfiguredModules.size() > 1 || showPathToJarPanel) { + CreateLibraryDialogWithModules dialog = new CreateLibraryDialogWithModules( + project, nonConfiguredModules, defaultPathToJar, showPathToJarPanel, + getDialogTitle(), + getLibraryCaption()); + + if (!ApplicationManager.getApplication().isUnitTestMode()) { + dialog.show(); + if (!dialog.isOK()) return; + } + + modulesToConfigure = dialog.getModulesToConfigure(); + copyLibraryIntoPath = dialog.getCopyIntoPath(); + } + + for (Module module : modulesToConfigure) { + configureModuleWithLibrary(module, defaultPathToJar, copyLibraryIntoPath); + } + } + protected void configureModuleWithLibrary( @NotNull Module module, @NotNull String defaultPath,