diff --git a/java/execution/impl/src/com/intellij/execution/application/ApplicationConfigurable.form b/java/execution/impl/src/com/intellij/execution/application/ApplicationConfigurable.form
index e0b618cf023b..2a578f8dc1bb 100644
--- a/java/execution/impl/src/com/intellij/execution/application/ApplicationConfigurable.form
+++ b/java/execution/impl/src/com/intellij/execution/application/ApplicationConfigurable.form
@@ -1,6 +1,6 @@
diff --git a/java/execution/impl/src/com/intellij/execution/application/ApplicationConfigurable.java b/java/execution/impl/src/com/intellij/execution/application/ApplicationConfigurable.java
index e3f37b5cf27e..c803a424c764 100644
--- a/java/execution/impl/src/com/intellij/execution/application/ApplicationConfigurable.java
+++ b/java/execution/impl/src/com/intellij/execution/application/ApplicationConfigurable.java
@@ -16,7 +16,6 @@
package com.intellij.execution.application;
import com.intellij.execution.ExecutionBundle;
-import com.intellij.execution.configuration.EnvironmentVariablesComponent;
import com.intellij.execution.ui.AlternativeJREPanel;
import com.intellij.execution.ui.ClassBrowser;
import com.intellij.execution.ui.CommonJavaParametersPanel;
@@ -42,7 +41,6 @@ public class ApplicationConfigurable extends SettingsEditor getEnvs() {
+ return myEnvs;
+ }
+
+ public void setEnvs(final Map envs) {
+ this.myEnvs = envs;
+ }
+
+ public boolean isPassParentEnvs() {
+ return PASS_PARENT_ENVS;
+ }
+
@Nullable
public String getRunClass() {
return MAIN_CLASS_NAME;
@@ -221,14 +237,6 @@ public class ApplicationConfiguration extends ModuleBasedConfiguration getEnvs() {
- return myEnvs;
- }
-
- public void setEnvs(final Map envs) {
- this.myEnvs = envs;
- }
-
private class MyJavaCommandLineState extends JavaCommandLineState {
public MyJavaCommandLineState(final ExecutionEnvironment environment) {
super(environment);
diff --git a/java/execution/impl/src/com/intellij/execution/ui/CommonJavaParametersPanel.java b/java/execution/impl/src/com/intellij/execution/ui/CommonJavaParametersPanel.java
index a4534cd7097f..2c980cb9d75e 100644
--- a/java/execution/impl/src/com/intellij/execution/ui/CommonJavaParametersPanel.java
+++ b/java/execution/impl/src/com/intellij/execution/ui/CommonJavaParametersPanel.java
@@ -20,8 +20,6 @@ import com.intellij.execution.ExecutionBundle;
import com.intellij.openapi.ui.LabeledComponent;
import com.intellij.ui.RawCommandLineEditor;
-import java.awt.*;
-
public class CommonJavaParametersPanel extends CommonProgramParametersPanel {
private LabeledComponent myVMParameters;
@@ -30,16 +28,13 @@ public class CommonJavaParametersPanel extends CommonProgramParametersPanel {
}
@Override
- protected void addComponents(GridBagConstraints c) {
+ protected void addComponents() {
myVMParameters = LabeledComponent.create(new RawCommandLineEditor(),
ExecutionBundle.message("run.configuration.java.vm.parameters.label"));
copyDialogCaption(myVMParameters);
-
- c.gridy++;
- add(myVMParameters, c);
-
- super.addComponents(c);
+ add(myVMParameters);
+ super.addComponents();
}
public void setVMParameters(String text) {
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 d858e7f3d9bf..87461cf49d86 100644
--- a/java/execution/impl/src/com/intellij/execution/util/JavaParametersUtil.java
+++ b/java/execution/impl/src/com/intellij/execution/util/JavaParametersUtil.java
@@ -33,7 +33,6 @@ import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.psi.PsiClass;
import com.intellij.psi.PsiFile;
-import java.util.HashMap;
import java.util.Map;
/**
@@ -51,18 +50,14 @@ public class JavaParametersUtil {
String vmParameters = configuration.getVMParameters();
if (vmParameters != null) {
vmParameters = ProgramParametersUtil.expandPath(vmParameters, module, project);
- }
- if (parameters.getEnv() != null) {
- final Map envs = new HashMap();
- for (String env : parameters.getEnv().keySet()) {
- final String value = ProgramParametersUtil.expandPath(parameters.getEnv().get(env), module, project);
- envs.put(env, value);
- if (vmParameters != null) {
- vmParameters = StringUtil.replace(vmParameters, "$" + env + "$", value, false); //replace env usages
+
+ if (parameters.getEnv() != null) {
+ for (Map.Entry each : parameters.getEnv().entrySet()) {
+ vmParameters = StringUtil.replace(vmParameters, "$" + each.getKey() + "$", each.getValue(), false); //replace env usages
}
}
- parameters.setEnv(envs);
}
+
parameters.getVMParametersList().addParametersString(vmParameters);
}
@@ -71,8 +66,8 @@ public class JavaParametersUtil {
final Module module = configurationModule.getModule();
if (module == null) throw CantRunException.noModuleConfigured(configurationModule.getModuleName());
final PsiClass psiClass = JavaExecutionUtil.findMainClass(module, mainClassName);
- if (psiClass == null) {
- if ( ! classMustHaveSource ) return JavaParameters.JDK_AND_CLASSES_AND_TESTS;
+ if (psiClass == null) {
+ if (!classMustHaveSource) return JavaParameters.JDK_AND_CLASSES_AND_TESTS;
throw CantRunException.classNotFound(mainClassName, module);
}
final PsiFile psiFile = psiClass.getContainingFile();
@@ -96,7 +91,8 @@ public class JavaParametersUtil {
parameters.configureByModule(module, classPathType, createModuleJdk(module, jreHome));
}
- public static void configureProject(Project project, final JavaParameters parameters, final int classPathType, final String jreHome) throws CantRunException {
+ public static void configureProject(Project project, final JavaParameters parameters, final int classPathType, final String jreHome)
+ throws CantRunException {
parameters.configureByProject(project, classPathType, createProjectJdk(project, jreHome));
}
diff --git a/platform/lang-api/src/com/intellij/execution/configurations/SimpleJavaParameters.java b/platform/lang-api/src/com/intellij/execution/configurations/SimpleJavaParameters.java
index a2ee402f3b16..7e3b2962644b 100644
--- a/platform/lang-api/src/com/intellij/execution/configurations/SimpleJavaParameters.java
+++ b/platform/lang-api/src/com/intellij/execution/configurations/SimpleJavaParameters.java
@@ -16,7 +16,6 @@
package com.intellij.execution.configurations;
-import com.intellij.execution.configuration.EnvironmentVariablesComponent;
import com.intellij.openapi.projectRoots.Sdk;
import com.intellij.openapi.vfs.CharsetToolkit;
import com.intellij.util.PathsList;
@@ -24,20 +23,16 @@ import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.Nullable;
import java.nio.charset.Charset;
-import java.util.HashMap;
-import java.util.Map;
/**
* @author Gregory.Shrago
*/
public class SimpleJavaParameters extends SimpleProgramParameters {
private Sdk myJdk;
- private final PathsList myClassPath = new PathsList();
private String myMainClass;
+ private final PathsList myClassPath = new PathsList();
private final ParametersList myVmParameters = new ParametersList();
private Charset myCharset = CharsetToolkit.getDefaultSystemCharset();
- private Map myEnv;
- private boolean myPassParentEnvs = true;
public String getMainClass() {
return myMainClass;
@@ -61,6 +56,10 @@ public class SimpleJavaParameters extends SimpleProgramParameters {
myMainClass = mainClass;
}
+ public PathsList getClassPath() {
+ return myClassPath;
+ }
+
public ParametersList getVMParametersList() {
return myVmParameters;
}
@@ -72,33 +71,4 @@ public class SimpleJavaParameters extends SimpleProgramParameters {
public void setCharset(final Charset charset) {
myCharset = charset;
}
-
- public PathsList getClassPath() {
- return myClassPath;
- }
-
- public Map getEnv() {
- return myEnv;
- }
-
- public void setEnv(final Map env) {
- myEnv = env;
- }
-
- public boolean isPassParentEnvs() {
- return myPassParentEnvs;
- }
-
- public void setPassParentEnvs(final boolean passDefaultEnvs) {
- myPassParentEnvs = passDefaultEnvs;
- }
-
- public void setupEnvs(Map envs, boolean passDefault) {
- if (!envs.isEmpty()) {
- final HashMap map = new HashMap(envs);
- EnvironmentVariablesComponent.inlineParentOccurrences(map);
- setEnv(map);
- setPassParentEnvs(passDefault);
- }
- }
}
diff --git a/platform/lang-api/src/com/intellij/execution/configurations/SimpleProgramParameters.java b/platform/lang-api/src/com/intellij/execution/configurations/SimpleProgramParameters.java
index da8d984bbcb3..808127ad6c6b 100644
--- a/platform/lang-api/src/com/intellij/execution/configurations/SimpleProgramParameters.java
+++ b/platform/lang-api/src/com/intellij/execution/configurations/SimpleProgramParameters.java
@@ -16,11 +16,17 @@
package com.intellij.execution.configurations;
+import com.intellij.execution.configuration.EnvironmentVariablesComponent;
+
import java.io.File;
+import java.util.HashMap;
+import java.util.Map;
public class SimpleProgramParameters {
private final ParametersList myProgramParameters = new ParametersList();
private String myWorkingDirectory;
+ private Map myEnv;
+ private boolean myPassParentEnvs = true;
public String getWorkingDirectory() {
return myWorkingDirectory;
@@ -37,4 +43,29 @@ public class SimpleProgramParameters {
public ParametersList getProgramParametersList() {
return myProgramParameters;
}
+
+ public Map getEnv() {
+ return myEnv;
+ }
+
+ public void setEnv(final Map env) {
+ myEnv = env;
+ }
+
+ public boolean isPassParentEnvs() {
+ return myPassParentEnvs;
+ }
+
+ public void setPassParentEnvs(final boolean passDefaultEnvs) {
+ myPassParentEnvs = passDefaultEnvs;
+ }
+
+ public void setupEnvs(Map envs, boolean passDefault) {
+ if (!envs.isEmpty()) {
+ final HashMap map = new HashMap(envs);
+ EnvironmentVariablesComponent.inlineParentOccurrences(map);
+ setEnv(map);
+ setPassParentEnvs(passDefault);
+ }
+ }
}
diff --git a/platform/lang-api/src/com/intellij/openapi/projectRoots/JdkUtil.java b/platform/lang-api/src/com/intellij/openapi/projectRoots/JdkUtil.java
index da262d36699d..a24c1ae311c3 100644
--- a/platform/lang-api/src/com/intellij/openapi/projectRoots/JdkUtil.java
+++ b/platform/lang-api/src/com/intellij/openapi/projectRoots/JdkUtil.java
@@ -146,6 +146,12 @@ public class JdkUtil {
commandLine.setCharset(charset);
}
+ final Map env = javaParameters.getEnv();
+ if (env != null) {
+ commandLine.setEnvParams(env);
+ commandLine.setPassParentEnvs(javaParameters.isPassParentEnvs());
+ }
+
final Class commandLineWrapper;
if (forceDynamicClasspath && (commandLineWrapper = getCommandLineWrapperClass()) != null) {
File classpathFile = null;
@@ -191,11 +197,6 @@ public class JdkUtil {
commandLine.addParameters(javaParameters.getProgramParametersList().getList());
commandLine.setWorkDirectory(javaParameters.getWorkingDirectory());
- final Map env = javaParameters.getEnv();
- if (env != null) {
- commandLine.setEnvParams(env);
- commandLine.setPassParentEnvs(javaParameters.isPassParentEnvs());
- }
return commandLine;
}
diff --git a/platform/lang-impl/src/com/intellij/execution/CommonProgramRunConfigurationParameters.java b/platform/lang-impl/src/com/intellij/execution/CommonProgramRunConfigurationParameters.java
index 0f997ce0dcb7..45dbeee31aac 100644
--- a/platform/lang-impl/src/com/intellij/execution/CommonProgramRunConfigurationParameters.java
+++ b/platform/lang-impl/src/com/intellij/execution/CommonProgramRunConfigurationParameters.java
@@ -17,6 +17,8 @@ package com.intellij.execution;
import com.intellij.openapi.project.Project;
+import java.util.Map;
+
public interface CommonProgramRunConfigurationParameters {
Project getProject();
@@ -27,4 +29,12 @@ public interface CommonProgramRunConfigurationParameters {
void setWorkingDirectory(String value);
String getWorkingDirectory();
+
+ void setEnvs(Map envs);
+
+ Map getEnvs();
+
+ void setPassParentEnvs(boolean passParentEnvs);
+
+ boolean isPassParentEnvs();
}
diff --git a/platform/lang-impl/src/com/intellij/execution/ui/CommonProgramParametersPanel.java b/platform/lang-impl/src/com/intellij/execution/ui/CommonProgramParametersPanel.java
index ec37a53e50d6..1b5a3d37319c 100644
--- a/platform/lang-impl/src/com/intellij/execution/ui/CommonProgramParametersPanel.java
+++ b/platform/lang-impl/src/com/intellij/execution/ui/CommonProgramParametersPanel.java
@@ -17,6 +17,7 @@ package com.intellij.execution.ui;
import com.intellij.execution.CommonProgramRunConfigurationParameters;
import com.intellij.execution.ExecutionBundle;
+import com.intellij.execution.configuration.EnvironmentVariablesComponent;
import com.intellij.openapi.actionSystem.LangDataKeys;
import com.intellij.openapi.application.PathMacros;
import com.intellij.openapi.fileChooser.FileChooser;
@@ -46,11 +47,14 @@ public class CommonProgramParametersPanel extends JPanel {
private LabeledComponent myProgramParametersComponent;
private LabeledComponent myWorkingDirectoryComponent;
private TextFieldWithBrowseButton myWorkingDirectoryField;
+ private EnvironmentVariablesComponent myEnvVariablesComponent;
private Module myModuleContext = null;
public CommonProgramParametersPanel() {
- super(new GridBagLayout());
+ super();
+ setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));
+
initComponents();
copyDialogCaption(myProgramParametersComponent);
}
@@ -95,21 +99,17 @@ public class CommonProgramParametersPanel extends JPanel {
panel.add(button, BorderLayout.EAST);
myWorkingDirectoryComponent = LabeledComponent.create(panel, ExecutionBundle.message("run.configuration.working.directory.label"));
+ myEnvVariablesComponent = new EnvironmentVariablesComponent();
- GridBagConstraints c = new GridBagConstraints();
- c.weightx = 1;
- c.fill = GridBagConstraints.HORIZONTAL;
- c.anchor = GridBagConstraints.LINE_START;
- c.gridx = 0;
+ addComponents();
- addComponents(c);
+ setPreferredSize(new Dimension(10, 10));
}
- protected void addComponents(GridBagConstraints c) {
- c.gridy++;
- add(myProgramParametersComponent, c);
- c.gridy++;
- add(myWorkingDirectoryComponent, c);
+ protected void addComponents() {
+ add(myProgramParametersComponent);
+ add(myWorkingDirectoryComponent);
+ add(myEnvVariablesComponent);
}
protected void copyDialogCaption(final LabeledComponent component) {
@@ -118,42 +118,40 @@ public class CommonProgramParametersPanel extends JPanel {
component.getLabel().setLabelFor(rawCommandLineEditor.getTextField());
}
- public String getProgramParametersLabel() {
- return myProgramParametersComponent.getText();
- }
-
public void setProgramParametersLabel(String textWithMnemonic) {
myProgramParametersComponent.setText(textWithMnemonic);
copyDialogCaption(myProgramParametersComponent);
}
- public String getProgramParameters() {
- return myProgramParametersComponent.getComponent().getText();
+ public String getProgramParametersLabel() {
+ return myProgramParametersComponent.getText();
}
- public void setProgramParameters(String text) {
- myProgramParametersComponent.getComponent().setText(text);
+ public void setProgramParameters(String params) {
+ myProgramParametersComponent.getComponent().setText(params);
}
- public String getWorkingDirectory() {
- return myWorkingDirectoryField.getText();
+ public void setWorkingDirectory(String dir) {
+ myWorkingDirectoryField.setText(dir);
}
- public void setWorkingDirectory(String text) {
- myWorkingDirectoryField.setText(text);
- }
-
- public void setModuleContext(Module module) {
- myModuleContext = module;
+ public void setModuleContext(Module moduleContext) {
+ myModuleContext = moduleContext;
}
public void applyTo(CommonProgramRunConfigurationParameters configuration) {
- configuration.setProgramParameters(getProgramParameters());
- configuration.setWorkingDirectory(getWorkingDirectory());
+ configuration.setProgramParameters(myProgramParametersComponent.getComponent().getText());
+ configuration.setWorkingDirectory(myWorkingDirectoryField.getText());
+
+ configuration.setEnvs(myEnvVariablesComponent.getEnvs());
+ configuration.setPassParentEnvs(myEnvVariablesComponent.isPassParentEnvs());
}
public void reset(CommonProgramRunConfigurationParameters configuration) {
setProgramParameters(configuration.getProgramParameters());
setWorkingDirectory(configuration.getWorkingDirectory());
+
+ myEnvVariablesComponent.setEnvs(configuration.getEnvs());
+ myEnvVariablesComponent.setPassParentEnvs(configuration.isPassParentEnvs());
}
}
diff --git a/platform/lang-impl/src/com/intellij/execution/util/ProgramParametersUtil.java b/platform/lang-impl/src/com/intellij/execution/util/ProgramParametersUtil.java
index b5a76dec77bc..8f13b5dcecf8 100644
--- a/platform/lang-impl/src/com/intellij/execution/util/ProgramParametersUtil.java
+++ b/platform/lang-impl/src/com/intellij/execution/util/ProgramParametersUtil.java
@@ -26,6 +26,9 @@ import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.util.PathUtil;
import org.jetbrains.annotations.Nullable;
+import java.util.HashMap;
+import java.util.Map;
+
public class ProgramParametersUtil {
public static void configureConfiguration(SimpleProgramParameters parameters, CommonProgramRunConfigurationParameters configuration) {
Project project = configuration.getProject();
@@ -44,6 +47,14 @@ public class ProgramParametersUtil {
workingDirectory = baseDir.getPath() + "/" + workingDirectory;
}
parameters.setWorkingDirectory(workingDirectory);
+
+ if (parameters.getEnv() != null) {
+ Map expanded = new HashMap();
+ for (Map.Entry each : parameters.getEnv().entrySet()) {
+ expanded.put(each.getKey(), expandPath(each.getValue(), module, project));
+ }
+ parameters.setEnv(expanded);
+ }
}
protected static String expandPath(String path, Module module, Project project) {
diff --git a/plugins/junit/src/com/intellij/execution/junit/JUnitConfiguration.java b/plugins/junit/src/com/intellij/execution/junit/JUnitConfiguration.java
index 9118d48d6e60..ff8c534415be 100644
--- a/plugins/junit/src/com/intellij/execution/junit/JUnitConfiguration.java
+++ b/plugins/junit/src/com/intellij/execution/junit/JUnitConfiguration.java
@@ -155,6 +155,49 @@ public class JUnitConfiguration extends ModuleBasedConfiguration envs) {
+ myData.setEnvs(envs);
+ }
+
+ public Map getEnvs() {
+ return myData.getEnvs();
+ }
+
+ public void setPassParentEnvs(boolean passParentEnvs) {
+ myData.PASS_PARENT_ENVS = passParentEnvs;
+ }
+
+ public boolean isPassParentEnvs() {
+ return myData.PASS_PARENT_ENVS;
+ }
+
+ public boolean isAlternativeJrePathEnabled() {
+ return ALTERNATIVE_JRE_PATH_ENABLED;
+ }
+
+ public void setAlternativeJrePathEnabled(boolean enabled) {
+ this.ALTERNATIVE_JRE_PATH_ENABLED = enabled;
+ }
+
+ public String getAlternativeJrePath() {
+ return ALTERNATIVE_JRE_PATH;
+ }
+
+ public void setAlternativeJrePath(String path) {
+ this.ALTERNATIVE_JRE_PATH = path;
+ }
+
+ public String getRunClass() {
+ final Data data = getPersistentData();
+ return data.TEST_OBJECT != TEST_CLASS && data.TEST_OBJECT != TEST_METHOD ? null : data.getMainClassName();
+ }
+
+ public String getPackage() {
+ final Data data = getPersistentData();
+ return data.TEST_OBJECT != TEST_PACKAGE ? null : data.getPackageName();
+ }
+
+
public void beClassConfiguration(final PsiClass testClass) {
setMainClass(testClass);
myData.TEST_OBJECT = TEST_CLASS;
@@ -257,32 +300,6 @@ public class JUnitConfiguration extends ModuleBasedConfiguration
-
+
@@ -171,7 +171,7 @@
-
+
@@ -183,13 +183,11 @@
-
-
-
+
-
+
@@ -200,15 +198,9 @@
-
+
-
-
-
-
-
-
diff --git a/plugins/junit/src/com/intellij/execution/junit2/configuration/JUnitConfigurable.java b/plugins/junit/src/com/intellij/execution/junit2/configuration/JUnitConfigurable.java
index 29f3cd527afe..7875537e6f70 100644
--- a/plugins/junit/src/com/intellij/execution/junit2/configuration/JUnitConfigurable.java
+++ b/plugins/junit/src/com/intellij/execution/junit2/configuration/JUnitConfigurable.java
@@ -18,7 +18,6 @@ package com.intellij.execution.junit2.configuration;
import com.intellij.execution.ExecutionBundle;
import com.intellij.execution.configuration.BrowseModuleValueActionListener;
-import com.intellij.execution.configuration.EnvironmentVariablesComponent;
import com.intellij.execution.junit.JUnitConfiguration;
import com.intellij.execution.junit.JUnitConfigurationType;
import com.intellij.execution.junit.JUnitUtil;
@@ -65,7 +64,6 @@ public class JUnitConfigurable extends SettingsEditor {
private JPanel myWholePanel;
private LabeledComponent myModule;
private CommonJavaParametersPanel myCommonJavaParameters;
- private EnvironmentVariablesComponent myEnvVariablesComponent;
private JRadioButton myWholeProjectScope;
private JRadioButton mySingleModuleScope;
private JRadioButton myModuleWDScope;
@@ -83,66 +81,6 @@ public class JUnitConfigurable extends SettingsEditor {
private final BrowseModuleValueActionListener[] myBrowsers;
private AlternativeJREPanel myAlternativeJREPanel;
- public void applyEditorTo(final JUnitConfiguration configuration) {
- myModel.apply(getModuleSelector().getModule(), configuration);
- applyHelpersTo(configuration);
- final JUnitConfiguration.Data data = configuration.getPersistentData();
- if (myWholeProjectScope.isSelected()) {
- data.setScope(TestSearchScope.WHOLE_PROJECT);
- }
- else if (mySingleModuleScope.isSelected()) {
- data.setScope(TestSearchScope.SINGLE_MODULE);
- }
- else if (myModuleWDScope.isSelected()) {
- data.setScope(TestSearchScope.MODULE_WITH_DEPENDENCIES);
- }
- configuration.setAlternativeJrePath(myAlternativeJREPanel.getPath());
- configuration.setAlternativeJrePathEnabled(myAlternativeJREPanel.isPathEnabled());
-
- configuration.getPersistentData().setEnvs(myEnvVariablesComponent.getEnvs());
- configuration.getPersistentData().PASS_PARENT_ENVS = myEnvVariablesComponent.isPassParentEnvs();
-
- myCommonJavaParameters.setProgramParametersLabel(ExecutionBundle.message("junit.configuration.test.runner.parameters.label"));
- }
-
- public void resetEditorFrom(final JUnitConfiguration configuration) {
- myModel.reset(configuration);
- myCommonJavaParameters.reset(configuration);
- getModuleSelector().reset(configuration);
- final TestSearchScope scope = configuration.getPersistentData().getScope();
- if (scope == TestSearchScope.SINGLE_MODULE) {
- mySingleModuleScope.setSelected(true);
- }
- else if (scope == TestSearchScope.MODULE_WITH_DEPENDENCIES) {
- myModuleWDScope.setSelected(true);
- }
- else {
- myWholeProjectScope.setSelected(true);
- }
- myAlternativeJREPanel.init(configuration.getAlternativeJrePath(), configuration.isAlternativeJrePathEnabled());
-
- myEnvVariablesComponent.setEnvs(configuration.getPersistentData().getEnvs());
- myEnvVariablesComponent.setPassParentEnvs(configuration.getPersistentData().PASS_PARENT_ENVS);
- }
-
- private void changePanel () {
- if (myAllInPackageButton.isSelected()) {
- myPackagePanel.setVisible(true);
- myClass.setVisible(false);
- myMethod.setVisible(false);
- }
- else if (myClassButton.isSelected()){
- myPackagePanel.setVisible(false);
- myClass.setVisible(true);
- myMethod.setVisible(false);
- }
- else {
- myPackagePanel.setVisible(false);
- myClass.setVisible(true);
- myMethod.setVisible(true);
- }
- }
-
public JUnitConfigurable(final Project project) {
myModel = new JUnitConfigurationModel(project);
myModuleSelector = new ConfigurationModuleSelector(project, getModulesComponent());
@@ -189,8 +127,65 @@ public class JUnitConfigurable extends SettingsEditor {
}
});
+ myCommonJavaParameters.setProgramParametersLabel(ExecutionBundle.message("junit.configuration.test.runner.parameters.label"));
}
+ public void applyEditorTo(final JUnitConfiguration configuration) {
+ myModel.apply(getModuleSelector().getModule(), configuration);
+ applyHelpersTo(configuration);
+ final JUnitConfiguration.Data data = configuration.getPersistentData();
+ if (myWholeProjectScope.isSelected()) {
+ data.setScope(TestSearchScope.WHOLE_PROJECT);
+ }
+ else if (mySingleModuleScope.isSelected()) {
+ data.setScope(TestSearchScope.SINGLE_MODULE);
+ }
+ else if (myModuleWDScope.isSelected()) {
+ data.setScope(TestSearchScope.MODULE_WITH_DEPENDENCIES);
+ }
+ configuration.setAlternativeJrePath(myAlternativeJREPanel.getPath());
+ configuration.setAlternativeJrePathEnabled(myAlternativeJREPanel.isPathEnabled());
+
+ myCommonJavaParameters.applyTo(configuration);
+ }
+
+ public void resetEditorFrom(final JUnitConfiguration configuration) {
+ myModel.reset(configuration);
+ myCommonJavaParameters.reset(configuration);
+ getModuleSelector().reset(configuration);
+ final TestSearchScope scope = configuration.getPersistentData().getScope();
+ if (scope == TestSearchScope.SINGLE_MODULE) {
+ mySingleModuleScope.setSelected(true);
+ }
+ else if (scope == TestSearchScope.MODULE_WITH_DEPENDENCIES) {
+ myModuleWDScope.setSelected(true);
+ }
+ else {
+ myWholeProjectScope.setSelected(true);
+ }
+ myAlternativeJREPanel.init(configuration.getAlternativeJrePath(), configuration.isAlternativeJrePathEnabled());
+
+ }
+
+ private void changePanel () {
+ if (myAllInPackageButton.isSelected()) {
+ myPackagePanel.setVisible(true);
+ myClass.setVisible(false);
+ myMethod.setVisible(false);
+ }
+ else if (myClassButton.isSelected()){
+ myPackagePanel.setVisible(false);
+ myClass.setVisible(true);
+ myMethod.setVisible(false);
+ }
+ else {
+ myPackagePanel.setVisible(false);
+ myClass.setVisible(true);
+ myMethod.setVisible(true);
+ }
+ }
+
+
public JComboBox getModulesComponent() { return myModule.getComponent(); }
public ConfigurationModuleSelector getModuleSelector() {
return myModuleSelector;
diff --git a/plugins/testng/src/com/theoryinpractice/testng/configuration/TestNGConfiguration.java b/plugins/testng/src/com/theoryinpractice/testng/configuration/TestNGConfiguration.java
index d5ff224c5aff..6b6e3bba1835 100644
--- a/plugins/testng/src/com/theoryinpractice/testng/configuration/TestNGConfiguration.java
+++ b/plugins/testng/src/com/theoryinpractice/testng/configuration/TestNGConfiguration.java
@@ -191,6 +191,22 @@ public class TestNGConfiguration extends ModuleBasedConfiguration envs) {
+ data.setEnvs(envs);
+ }
+
+ public Map getEnvs() {
+ return data.getEnvs();
+ }
+
+ public void setPassParentEnvs(boolean passParentEnvs) {
+ data.PASS_PARENT_ENVS = passParentEnvs;
+ }
+
+ public boolean isPassParentEnvs() {
+ return data.PASS_PARENT_ENVS;
+ }
+
public boolean isAlternativeJrePathEnabled() {
return ALTERNATIVE_JRE_PATH_ENABLED;
}
diff --git a/plugins/testng/src/com/theoryinpractice/testng/configuration/TestNGConfigurationEditor.form b/plugins/testng/src/com/theoryinpractice/testng/configuration/TestNGConfigurationEditor.form
index 3fe747cfff27..11e6026fe996 100644
--- a/plugins/testng/src/com/theoryinpractice/testng/configuration/TestNGConfigurationEditor.form
+++ b/plugins/testng/src/com/theoryinpractice/testng/configuration/TestNGConfigurationEditor.form
@@ -152,32 +152,17 @@
-
-
-
-
-
-
-
-
-
+
+
-
-
-
-
-
-
-
-
-
+
@@ -185,19 +170,22 @@
-
-
+
-
+
+
+
+
+
diff --git a/plugins/testng/src/com/theoryinpractice/testng/configuration/TestNGConfigurationEditor.java b/plugins/testng/src/com/theoryinpractice/testng/configuration/TestNGConfigurationEditor.java
index 1a6b8effbc3f..3f0249400e12 100644
--- a/plugins/testng/src/com/theoryinpractice/testng/configuration/TestNGConfigurationEditor.java
+++ b/plugins/testng/src/com/theoryinpractice/testng/configuration/TestNGConfigurationEditor.java
@@ -25,7 +25,6 @@ package com.theoryinpractice.testng.configuration;
import com.intellij.execution.ExecutionBundle;
import com.intellij.execution.JavaExecutionUtil;
import com.intellij.execution.configuration.BrowseModuleValueActionListener;
-import com.intellij.execution.configuration.EnvironmentVariablesComponent;
import com.intellij.execution.testframework.TestSearchScope;
import com.intellij.execution.ui.AlternativeJREPanel;
import com.intellij.execution.ui.CommonJavaParametersPanel;
@@ -68,7 +67,6 @@ public class TestNGConfigurationEditor extends SettingsEditor classField;
- private EnvironmentVariablesComponent envVariablesComponent;
private LabeledComponent moduleClasspath;
private AlternativeJREPanel alternateJDK;
private final ConfigurationModuleSelector moduleSelector;
@@ -227,8 +225,6 @@ public class TestNGConfigurationEditor extends SettingsEditor();
propertiesList.addAll(data.TEST_PROPERTIES.entrySet());
propertiesTableModel.setParameterList(propertiesList);
@@ -268,9 +264,6 @@ public class TestNGConfigurationEditor extends SettingsEditor