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 4433413eaf35..8abf465104dd 100644 --- a/java/execution/impl/src/com/intellij/execution/util/JavaParametersUtil.java +++ b/java/execution/impl/src/com/intellij/execution/util/JavaParametersUtil.java @@ -56,10 +56,8 @@ public class JavaParametersUtil { if (vmParameters != null) { vmParameters = ProgramParametersUtil.expandPath(vmParameters, module, project); - if (parameters.getEnv() != null) { - for (Map.Entry each : parameters.getEnv().entrySet()) { - vmParameters = StringUtil.replace(vmParameters, "$" + each.getKey() + "$", each.getValue(), false); //replace env usages - } + for (Map.Entry each : parameters.getEnv().entrySet()) { + vmParameters = StringUtil.replace(vmParameters, "$" + each.getKey() + "$", each.getValue(), false); //replace env usages } } 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 28c34514d349..15bd92cfcf8c 100644 --- a/platform/lang-api/src/com/intellij/execution/configurations/SimpleProgramParameters.java +++ b/platform/lang-api/src/com/intellij/execution/configurations/SimpleProgramParameters.java @@ -18,6 +18,7 @@ package com.intellij.execution.configurations; import com.intellij.execution.configuration.EnvironmentVariablesComponent; import gnu.trove.THashMap; +import org.jetbrains.annotations.NotNull; import java.io.File; import java.util.HashMap; @@ -26,7 +27,7 @@ import java.util.Map; public class SimpleProgramParameters { private final ParametersList myProgramParameters = new ParametersList(); private String myWorkingDirectory; - private Map myEnv; + private Map myEnv = new THashMap(); private boolean myPassParentEnvs = true; public String getWorkingDirectory() { @@ -45,15 +46,12 @@ public class SimpleProgramParameters { return myProgramParameters; } + @NotNull public Map getEnv() { return myEnv; } public String addEnv(String name, String value) { - if (myEnv == null) { - myEnv = new THashMap(); - } - return myEnv.put(name, value); } diff --git a/platform/lang-impl/src/com/intellij/execution/util/ProgramParametersConfigurator.java b/platform/lang-impl/src/com/intellij/execution/util/ProgramParametersConfigurator.java index af2ea11eaea4..1a11305ec0a1 100644 --- a/platform/lang-impl/src/com/intellij/execution/util/ProgramParametersConfigurator.java +++ b/platform/lang-impl/src/com/intellij/execution/util/ProgramParametersConfigurator.java @@ -43,13 +43,12 @@ public class ProgramParametersConfigurator { parameters.setWorkingDirectory(getWorkingDir(configuration, project, module)); parameters.setupEnvs(configuration.getEnvs(), configuration.isPassParentEnvs()); - 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); + + Map expanded = new HashMap(); + for (Map.Entry each : parameters.getEnv().entrySet()) { + expanded.put(each.getKey(), expandPath(each.getValue(), module, project)); } + parameters.setEnv(expanded); } @Nullable diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/griffon/GriffonFramework.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/griffon/GriffonFramework.java index faa49555b9c1..f03e3b3ed3cb 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/griffon/GriffonFramework.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/griffon/GriffonFramework.java @@ -55,9 +55,7 @@ import org.jetbrains.plugins.groovy.mvc.*; import javax.swing.*; import java.io.File; import java.io.IOException; -import java.util.HashMap; import java.util.List; -import java.util.Map; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -238,12 +236,7 @@ public class GriffonFramework extends MvcFramework { return params; } - Map env = params.getEnv(); - if (env == null) { - env = new HashMap(); - params.setEnv(env); - } - env.put(getSdkHomePropertyName(), FileUtil.toSystemDependentName(sdkRoot.getPath())); + params.addEnv(getSdkHomePropertyName(), FileUtil.toSystemDependentName(sdkRoot.getPath())); final VirtualFile lib = sdkRoot.findChild("lib"); if (lib != null) { diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/mvc/MvcFramework.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/mvc/MvcFramework.java index 3617ad1fec79..c554c7c24549 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/mvc/MvcFramework.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/mvc/MvcFramework.java @@ -425,13 +425,7 @@ public abstract class MvcFramework { if (sdk != null && sdk.getSdkType() instanceof JavaSdkType) { String path = StringUtil.trimEnd(sdk.getHomePath(), File.separator); if (StringUtil.isNotEmpty(path)) { - Map env = params.getEnv(); - if (env == null) { - env = new HashMap(); - params.setEnv(env); - } - - env.put("JAVA_HOME", FileUtil.toSystemDependentName(path)); + params.addEnv("JAVA_HOME", FileUtil.toSystemDependentName(path)); } } } diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/mvc/MvcRunConfiguration.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/mvc/MvcRunConfiguration.java index ccc3a35918eb..7a87dd140b2e 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/mvc/MvcRunConfiguration.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/mvc/MvcRunConfiguration.java @@ -254,12 +254,8 @@ public abstract class MvcRunConfiguration extends ModuleBasedConfiguration envVars = new HashMap(envs); - - Map oldEnv = params.getEnv(); - if (oldEnv != null) { - envVars.putAll(oldEnv); - } - + envVars.putAll(params.getEnv()); + params.setupEnvs(envVars, passParentEnv); MvcFramework.addJavaHome(params, myModule); diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/execution/MavenJUnitPatcher.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/execution/MavenJUnitPatcher.java index 8435f6f327d3..cb612cebdc1c 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/execution/MavenJUnitPatcher.java +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/execution/MavenJUnitPatcher.java @@ -85,7 +85,7 @@ public class MavenJUnitPatcher extends JUnitPatcher { for (Element element : environmentVariables.getChildren()) { String variableName = element.getName(); - if (javaParameters.getEnv() == null || !javaParameters.getEnv().containsKey(variableName)) { + if (!javaParameters.getEnv().containsKey(variableName)) { String value = resolveSurefireProperties(element.getValue()); if (isResolved(value)) { javaParameters.addEnv(variableName, value);