Author: Grid.Qian
Date: 2008-06-10 06:21:16 -0400 (Tue, 10 Jun 2008)
New Revision: 8669
Modified:
trunk/ws/plugins/org.jboss.tools.ws.ui/src/org/jboss/tools/ws/ui/preferences/JbossRuntimeListFieldEditor.java
trunk/ws/plugins/org.jboss.tools.ws.ui/src/org/jboss/tools/ws/ui/preferences/JbossWSRuntimePreferencePage.java
Log:
JBIDE-2261: add validation for changing runtime name
Modified:
trunk/ws/plugins/org.jboss.tools.ws.ui/src/org/jboss/tools/ws/ui/preferences/JbossRuntimeListFieldEditor.java
===================================================================
---
trunk/ws/plugins/org.jboss.tools.ws.ui/src/org/jboss/tools/ws/ui/preferences/JbossRuntimeListFieldEditor.java 2008-06-10
09:43:57 UTC (rev 8668)
+++
trunk/ws/plugins/org.jboss.tools.ws.ui/src/org/jboss/tools/ws/ui/preferences/JbossRuntimeListFieldEditor.java 2008-06-10
10:21:16 UTC (rev 8669)
@@ -332,12 +332,15 @@
if (checkedElement == jbossWSRuntime) {
checked = true;
+ tableView.setChecked(checkedElement, true);
break;
}
}
if (!checked) {
- tableView.setChecked(runtimes.get(0), true);
- checkedElement = runtimes.get(0);
+ if (tableView.getCheckedElements() == null) {
+ tableView.setChecked(runtimes.get(0), true);
+ checkedElement = runtimes.get(0);
+ }
}
}
@@ -697,9 +700,13 @@
source.setHomeDir(rt.getHomeDir());
} else {
changed.put(rt, source);
+ if (source.isDefault()) {
+ rt.setDefault(true);
+ }
int i = value.indexOf(source);
if (i >= 0) {
value.set(i, rt);
+
} else {
value.remove(source);
value.add(rt);
@@ -964,12 +971,17 @@
.getActiveShell(), wiz);
dialog.open();
tableView.refresh();
+ JbossWSRuntime c = null;
if (changed.containsValue(selected)) {
- JbossWSRuntime c = findChangedRuntime(selected);
+ c = findChangedRuntime(selected);
if (c != null) {
tableView.setSelection(new StructuredSelection(c));
}
}
+ if (c != null & c.isDefault()) {
+ checkedElement = c;
+ }
+ setDefaultRuntime();
}
private JbossWSRuntime findChangedRuntime(JbossWSRuntime source) {
Modified:
trunk/ws/plugins/org.jboss.tools.ws.ui/src/org/jboss/tools/ws/ui/preferences/JbossWSRuntimePreferencePage.java
===================================================================
---
trunk/ws/plugins/org.jboss.tools.ws.ui/src/org/jboss/tools/ws/ui/preferences/JbossWSRuntimePreferencePage.java 2008-06-10
09:43:57 UTC (rev 8668)
+++
trunk/ws/plugins/org.jboss.tools.ws.ui/src/org/jboss/tools/ws/ui/preferences/JbossWSRuntimePreferencePage.java 2008-06-10
10:21:16 UTC (rev 8669)
@@ -29,7 +29,8 @@
/**
* @author Grid Qian
*/
-public class JbossWSRuntimePreferencePage extends PreferencePage implements
IWorkbenchPreferencePage {
+public class JbossWSRuntimePreferencePage extends PreferencePage implements
+ IWorkbenchPreferencePage {
public JbossWSRuntimePreferencePage() {
super();
@@ -42,8 +43,8 @@
"rtlist", JbossWSUIMessages.JBossWS_Preference_Page_Runtimes, new
ArrayList<JbossWSRuntime>(Arrays.asList(JbossWSRuntimeManager.getInstance().getRuntimes())));
//$NON-NLS-1$
/**
- * Create contents of JbossWS preferences page. JbossWSRuntime list editor is
- * created
+ * Create contents of JbossWS preferences page. JbossWSRuntime list editor
+ * is created
*
* @return Control
*/
@@ -80,23 +81,30 @@
JbossWSRuntimeManager.getInstance().removeRuntime(rt);
}
jbossWSRuntimes.getRemoved().clear();
- JbossWSRuntime defaultRuntime = jbossWSRuntimes.getDefaultJbossWSRuntime();
- // reset default runtime
- for (JbossWSRuntime jbossWSRuntime : JbossWSRuntimeManager.getInstance().getRuntimes())
{
- jbossWSRuntime.setDefault(false);
+ JbossWSRuntime defaultRuntime = jbossWSRuntimes
+ .getDefaultJbossWSRuntime();
+ // reset default runtime
+ for (JbossWSRuntime jbossWSRuntime : JbossWSRuntimeManager
+ .getInstance().getRuntimes()) {
+ jbossWSRuntime.setDefault(false);
}
// set deafult runtime
- defaultRuntime.setDefault(true);
+ if (defaultRuntime != null) {
+ defaultRuntime.setDefault(true);
+ }
jbossWSRuntimes.setDefaultJbossWSRuntime(null);
- Map<JbossWSRuntime, JbossWSRuntime> changed =
jbossWSRuntimes.getChangedJbossWSRuntimes();
+ Map<JbossWSRuntime, JbossWSRuntime> changed = jbossWSRuntimes
+ .getChangedJbossWSRuntimes();
for (JbossWSRuntime c : changed.keySet()) {
JbossWSRuntime o = changed.get(c);
o.setHomeDir(c.getHomeDir());
String oldName = o.getName();
String newName = c.getName();
if (!oldName.equals(newName)) {
- JbossWSRuntimeManager.getInstance().changeRuntimeName(oldName, newName);
+ JbossWSRuntimeManager.getInstance().changeRuntimeName(oldName,
+ newName);
}
+ o.setDefault(c.isDefault());
}
jbossWSRuntimes.getChangedJbossWSRuntimes().clear();
Show replies by date