Maven: Show unexisting JDK in Maven Runner configuration dialog.

This commit is contained in:
Sergey Evdokimov
2012-02-03 20:41:47 +04:00
parent b984133d92
commit 2b6ca14d7e
2 changed files with 15 additions and 14 deletions
@@ -187,20 +187,21 @@ public abstract class MavenRunnerConfigurable implements SearchableConfigurable,
}
private void fillComboboxJdk(MavenRunnerSettings data) {
myJdkComboModel.removeAllElements();
for (Pair<String, String> jdk : data.collectJdkNamesAndDescriptions()) {
ComboBoxUtil.addToModel(myJdkComboModel, jdk.getFirst(), jdk.getSecond());
}
myJdkCombo.setModel(myJdkComboModel);
}
void getData(MavenRunnerSettings data) {
myRunInBackgroundCheckbox.setSelected(data.isRunMavenInBackground());
myVMParametersEditor.setText(data.getVmOptions());
mySkipTestsCheckBox.setSelected(data.isSkipTests());
fillComboboxJdk(data);
Map<String, String> jdkMap = data.collectJdkNamesAndDescriptions();
if (!jdkMap.containsKey(data.getJreName())) {
jdkMap.put(data.getJreName(), data.getJreName());
}
myJdkComboModel.removeAllElements();
for (Map.Entry<String, String> entry : jdkMap.entrySet()) {
ComboBoxUtil.addToModel(myJdkComboModel, entry.getKey(), entry.getValue());
}
myJdkCombo.setModel(myJdkComboModel);
ComboBoxUtil.select(myJdkComboModel, data.getJreName());
myPropertiesPanel.setDataFromMap(data.getMavenProperties());
@@ -98,16 +98,16 @@ public class MavenRunnerSettings implements Cloneable {
this.mavenProperties = mavenProperties;
}
public List<Pair<String, String>> collectJdkNamesAndDescriptions() {
List<Pair<String, String>> result = new ArrayList<Pair<String, String>>();
public Map<String, String> collectJdkNamesAndDescriptions() {
Map<String, String> result = new LinkedHashMap<String, String>();
for (Sdk projectJdk : ProjectJdkTable.getInstance().getSdksOfType(getSdkType())) {
String name = projectJdk.getName();
result.add(new Pair<String, String>(name, name));
result.put(name, name);
}
result.add(new Pair<String, String>(USE_INTERNAL_JAVA, RunnerBundle.message("maven.java.internal")));
result.add(new Pair<String, String>(USE_JAVA_HOME, RunnerBundle.message("maven.java.home.env")));
result.put(USE_INTERNAL_JAVA, RunnerBundle.message("maven.java.internal"));
result.put(USE_JAVA_HOME, RunnerBundle.message("maven.java.home.env"));
return result;
}