From ab8893ac698bf1b4593bc6982dc3da808c5f9691 Mon Sep 17 00:00:00 2001 From: pTalanov Date: Wed, 16 May 2012 19:50:03 +0400 Subject: [PATCH] Make K2JSRunConfiguration extend ModuleBasedConfiguration --- .../plugin/k2jsrun/K2JSRunConfiguration.java | 42 ++++++++++--------- .../k2jsrun/K2JSRunConfigurationType.java | 7 +--- 2 files changed, 24 insertions(+), 25 deletions(-) diff --git a/idea/src/org/jetbrains/jet/plugin/k2jsrun/K2JSRunConfiguration.java b/idea/src/org/jetbrains/jet/plugin/k2jsrun/K2JSRunConfiguration.java index 16154253090..8c4388c566b 100644 --- a/idea/src/org/jetbrains/jet/plugin/k2jsrun/K2JSRunConfiguration.java +++ b/idea/src/org/jetbrains/jet/plugin/k2jsrun/K2JSRunConfiguration.java @@ -26,8 +26,9 @@ import com.intellij.execution.runners.ProgramRunner; import com.intellij.execution.runners.RunConfigurationWithSuppressedDefaultRunAction; import com.intellij.execution.ui.ExecutionConsole; import com.intellij.openapi.actionSystem.AnAction; +import com.intellij.openapi.module.Module; +import com.intellij.openapi.module.ModuleManager; import com.intellij.openapi.options.SettingsEditor; -import com.intellij.openapi.project.Project; import com.intellij.openapi.util.InvalidDataException; import com.intellij.openapi.util.JDOMExternalizable; import com.intellij.openapi.util.WriteExternalException; @@ -35,18 +36,33 @@ import com.intellij.util.xmlb.XmlSerializer; import org.jdom.Element; import org.jetbrains.annotations.NotNull; +import java.util.Arrays; +import java.util.Collection; + /** * @author Pavel Talanov */ @SuppressWarnings("deprecation") -public final class K2JSRunConfiguration extends RunConfigurationBase - implements RunConfigurationWithSuppressedDefaultRunAction { +public final class K2JSRunConfiguration extends ModuleBasedConfiguration + implements RunConfigurationWithSuppressedDefaultRunAction { @NotNull private K2JSConfigurationSettings settings = new K2JSConfigurationSettings(getProject()); - public K2JSRunConfiguration(String name, Project project, ConfigurationFactory factory) { - super(project, factory, name); + public K2JSRunConfiguration(String name, RunConfigurationModule runConfigurationModule, ConfigurationFactory factory) { + super(name, runConfigurationModule, factory); + runConfigurationModule.init(); + } + + + @Override + public Collection getValidModules() { + return Arrays.asList(ModuleManager.getInstance(getProject()).getModules()); + } + + @Override + protected ModuleBasedConfiguration createInstance() { + return new K2JSRunConfiguration(getName(), getConfigurationModule(), getFactory()); } @Override @@ -54,27 +70,13 @@ public final class K2JSRunConfiguration extends RunConfigurationBase return new K2JSRunConfigurationEditor(getProject()); } - @Override - public JDOMExternalizable createRunnerSettings(ConfigurationInfoProvider provider) { - return null; - } - - @Override - public SettingsEditor getRunnerSettingsEditor(ProgramRunner runner) { - return null; - } @Override public RunProfileState getState(@NotNull Executor executor, @NotNull ExecutionEnvironment executionEnvironment) - throws ExecutionException { + throws ExecutionException { return new MyProfileState(); } - @Override - public void checkConfiguration() throws RuntimeConfigurationException { - //do nothing - } - private final class MyProfileState implements RunProfileState { @Override public ExecutionResult execute(Executor executor, @NotNull ProgramRunner runner) throws ExecutionException { diff --git a/idea/src/org/jetbrains/jet/plugin/k2jsrun/K2JSRunConfigurationType.java b/idea/src/org/jetbrains/jet/plugin/k2jsrun/K2JSRunConfigurationType.java index 65ccb70f454..cd5fe38206d 100644 --- a/idea/src/org/jetbrains/jet/plugin/k2jsrun/K2JSRunConfigurationType.java +++ b/idea/src/org/jetbrains/jet/plugin/k2jsrun/K2JSRunConfigurationType.java @@ -16,10 +16,7 @@ package org.jetbrains.jet.plugin.k2jsrun; -import com.intellij.execution.configurations.ConfigurationFactory; -import com.intellij.execution.configurations.ConfigurationTypeBase; -import com.intellij.execution.configurations.ConfigurationTypeUtil; -import com.intellij.execution.configurations.RunConfiguration; +import com.intellij.execution.configurations.*; import com.intellij.openapi.project.Project; import org.jetbrains.jet.plugin.JetIcons; @@ -43,7 +40,7 @@ public final class K2JSRunConfigurationType extends ConfigurationTypeBase { @Override public RunConfiguration createTemplateConfiguration(Project project) { - return new K2JSRunConfiguration("Kotlin to JavaScript", project, this); + return new K2JSRunConfiguration("Kotlin to JavaScript", new RunConfigurationModule(project), this); } } } \ No newline at end of file