[170716] Base server on runtime name
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/ServerUtil.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/ServerUtil.java
index 477aea4..6f364dd 100644
--- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/ServerUtil.java
+++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/ServerUtil.java
@@ -400,7 +400,7 @@
String name = NLS.bind(Messages.defaultRuntimeName, typeName);
int i = 2;
- while (isNameInUse(name)) {
+ while (isNameInUse(runtime.getOriginal(), name)) {
name = NLS.bind(Messages.defaultRuntimeName2, new String[] {typeName, i + ""});
i++;
}
@@ -419,9 +419,18 @@
String typeName = server.getServerType().getName();
String host = server.getHost();
+ // base the name on the runtime if it exists and has been changed from the default
+ IRuntime runtime = server.getRuntime();
+ if (runtime != null) {
+ IRuntimeWorkingCopy wc = runtime.createWorkingCopy();
+ setRuntimeDefaultName(wc);
+ if (!wc.getName().equals(runtime.getName()))
+ typeName = runtime.getName();
+ }
+
String name = NLS.bind(Messages.defaultServerName, new String[] {typeName, host});
int i = 2;
- while (isNameInUse(name)) {
+ while (isNameInUse(server.getOriginal(), name)) {
name = NLS.bind(Messages.defaultServerName2, new String[] {typeName, host, i + ""});
i++;
}
@@ -507,7 +516,7 @@
* @return <code>true</code> if the name is in use, and <code>false</code>
* otherwise
*/
- private static boolean isNameInUse(String name) {
+ private static boolean isNameInUse(Object element, String name) {
if (name == null)
return true;
@@ -515,7 +524,10 @@
addAll(list, ServerCore.getRuntimes());
addAll(list, ServerCore.getServers());
-
+
+ if (element != null && list.contains(element))
+ list.remove(element);
+
Iterator iterator = list.iterator();
while (iterator.hasNext()) {
Object obj = iterator.next();
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/NewManualServerComposite.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/NewManualServerComposite.java
index 5168c2d..3ca4b77 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/NewManualServerComposite.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/wizard/page/NewManualServerComposite.java
@@ -349,8 +349,10 @@
protected void setRuntime(IRuntime runtime2) {
runtime = runtime2;
- if (server != null)
+ if (server != null) {
server.setRuntime(runtime);
+ ServerUtil.setServerDefaultName(server);
+ }
listener.runtimeSelected(runtime);
}