diff --git a/idea/src/org/jetbrains/jet/plugin/run/JetRunConfiguration.java b/idea/src/org/jetbrains/jet/plugin/run/JetRunConfiguration.java index b9e2adc1c94..0aa71ffcd12 100644 --- a/idea/src/org/jetbrains/jet/plugin/run/JetRunConfiguration.java +++ b/idea/src/org/jetbrains/jet/plugin/run/JetRunConfiguration.java @@ -26,12 +26,11 @@ import com.intellij.openapi.components.PathMacroManager; import com.intellij.openapi.module.Module; import com.intellij.openapi.module.ModuleManager; import com.intellij.openapi.options.SettingsEditor; -import com.intellij.openapi.util.DefaultJDOMExternalizer; import com.intellij.openapi.util.InvalidDataException; import com.intellij.openapi.util.WriteExternalException; +import com.intellij.util.xmlb.XmlSerializer; import org.jdom.Element; import org.jetbrains.annotations.NotNull; -import org.jetbrains.jet.lang.resolve.FqName; import java.util.Arrays; import java.util.Collection; @@ -41,14 +40,14 @@ import java.util.Map; /** * @author yole */ -public class JetRunConfiguration extends ModuleBasedConfiguration implements CommonJavaRunConfigurationParameters { - public FqName MAIN_CLASS_NAME; - public String VM_PARAMETERS; - public String PROGRAM_PARAMETERS; - public String WORKING_DIRECTORY; +public class JetRunConfiguration extends ModuleBasedConfiguration + implements CommonJavaRunConfigurationParameters { + + private JetRunConfigurationSettings settings = new JetRunConfigurationSettings(); + public boolean ALTERNATIVE_JRE_PATH_ENABLED; public String ALTERNATIVE_JRE_PATH; - private Map myEnvs = new LinkedHashMap(); + private Map myEnvs = new LinkedHashMap(); public boolean PASS_PARENT_ENVS = true; public JetRunConfiguration(String name, RunConfigurationModule runConfigurationModule, ConfigurationFactory factory) { @@ -71,69 +70,94 @@ public class JetRunConfiguration extends ModuleBasedConfiguration getEnvs() { - return myEnvs; + return myEnvs; } + @Override public void setEnvs(@NotNull final Map envs) { - this.myEnvs = envs; + this.myEnvs = envs; } + @Override public boolean isPassParentEnvs() { - return PASS_PARENT_ENVS; + return PASS_PARENT_ENVS; } @Override public String getRunClass() { - return MAIN_CLASS_NAME.getFqName(); + return settings().getMainClassName(); + } + + public void setRunClass(String value) { + settings().setMainClassName(value); } @Override @@ -141,24 +165,34 @@ public class JetRunConfiguration extends ModuleBasedConfiguration