Merge "[529156] Add support for 4.0 web modules to Tomcat 9.0"
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 86a9f6f..44918be 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
@@ -523,6 +523,9 @@
 			((ServerWorkingCopy)server).newServerDetailsChanged(null);
 			runtime = server.getRuntime();
 			listener.runtimeSelected(runtime);
+			if( ServerPlugin.isIdInUse(server, server.getName()) ) {
+				server.setAttribute("id", generateUniqueId(server.getName()));
+			}
 			fireServerWorkingCopyChanged();
 			return;
 		}
@@ -538,7 +541,6 @@
 			server = cache.createServer(serverType, run, isLocalhost, null);
 			if (server != null) {
 				server.setHost(host);
-				
 				if (serverType.requiresRuntime() && server.getRuntime() == null) {
 					runtime = null;
 					updateRuntimes(serverType, isLocalhost);
@@ -549,6 +551,10 @@
 				}
 				
 				((ServerWorkingCopy)server).setDefaults(null);
+				if( ServerPlugin.isIdInUse(server, server.getName()) ) {
+					server.setAttribute("id", generateUniqueId(server.getName()));
+				}
+
 				fireServerWorkingCopyChanged();
 			}
 		} catch (CoreException ce) {
@@ -696,6 +702,13 @@
 			else {
 				server.setName(serverName.getText());
 			}
+			
+			if( ServerPlugin.isIdInUse(server, server.getName()) ) {
+				server.setAttribute("id", generateUniqueId(server.getName()));
+			}
+
+
+			
 			// Validate if selected module is supported with the selected runtime
 			wizard.setMessage(null, IMessageProvider.NONE);
 			if( module!=null ){