[481726] New server wizard calling setDefaults() entirely too often Change-Id: I2ca92f63777810730170f2f7a8a16b48f1334443
diff --git a/plugins/org.eclipse.wst.server.core/META-INF/MANIFEST.MF b/plugins/org.eclipse.wst.server.core/META-INF/MANIFEST.MF index 58c9c4c..5d0d47c 100644 --- a/plugins/org.eclipse.wst.server.core/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.wst.server.core/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.wst.server.core; singleton:=true -Bundle-Version: 1.8.100.qualifier +Bundle-Version: 1.9.0.qualifier Bundle-Activator: org.eclipse.wst.server.core.internal.ServerPlugin Bundle-Vendor: %providerName Bundle-Localization: plugin
diff --git a/plugins/org.eclipse.wst.server.core/pom.xml b/plugins/org.eclipse.wst.server.core/pom.xml index 7244b22..4bedb77 100644 --- a/plugins/org.eclipse.wst.server.core/pom.xml +++ b/plugins/org.eclipse.wst.server.core/pom.xml
@@ -22,6 +22,6 @@ <groupId>org.eclipse.webtools.servertools</groupId> <artifactId>org.eclipse.wst.server.core</artifactId> - <version>1.8.100-SNAPSHOT</version> + <version>1.9.0-SNAPSHOT</version> <packaging>eclipse-plugin</packaging> </project>
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerWorkingCopy.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerWorkingCopy.java index 92358d7..54e3184 100644 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerWorkingCopy.java +++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/internal/ServerWorkingCopy.java
@@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2003, 2015 IBM Corporation and others. + * Copyright (c) 2003, 2016 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -30,6 +30,7 @@ import org.eclipse.wst.server.core.model.PublishOperation; import org.eclipse.wst.server.core.model.ServerBehaviourDelegate; import org.eclipse.wst.server.core.model.ServerDelegate; + /** * */ @@ -659,9 +660,9 @@ } /** - * Sets the defaults for this server, including the name. This method should be - * called when creating a server, or when any major settings (e.g. runtime, host) - * change. + * Sets the defaults for this server, including the name. + * + * This method will only be called when creating a new server. * * @param monitor a progress monitor, or null */ @@ -675,6 +676,27 @@ } } } + + /** + * The new server's host or runtime has changed. + * + * This method allows delegates to reset the default values + * for the server in the context of the new runtime and host combination. + * + * This method should only be called when creating a new server. + * + * @param monitor a progress monitor, or null + */ + public void newServerDetailsChanged(IProgressMonitor monitor) { + try { + getWorkingCopyDelegate(monitor).newServerDetailsChanged(monitor); + } catch (Exception e) { + if (Trace.SEVERE) { + Trace.trace(Trace.STRING_SEVERE, "Error calling delegate newServerDetailsChanged() " + toString(), e); + } + } + } + public void renameFiles(IProgressMonitor monitor) throws CoreException { if (getServerConfiguration() != null) {
diff --git a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ServerDelegate.java b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ServerDelegate.java index d34d417..93ddf91 100644 --- a/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ServerDelegate.java +++ b/plugins/org.eclipse.wst.server.core/servercore/org/eclipse/wst/server/core/model/ServerDelegate.java
@@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2005, 2010 IBM Corporation and others. + * Copyright (c) 2005, 2016 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -275,6 +275,21 @@ } /** + * The new server's host or runtime has changed. + * + * This method allows subclasses to reset the default values + * for the server in the context of the new runtime and host combination. + * + * This method should only be called when creating a new server. + * + * @param monitor a progress monitor, or null + * @since 1.9 + */ + public void newServerDetailsChanged(IProgressMonitor monitor) { + setDefaults(monitor); + } + + /** * Sets the value of the specified integer-valued attribute of this * element. *
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 0e24fb3..7389116 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
@@ -491,7 +491,7 @@ server = cache.getCachedServer(serverType, isLocalhost); if (server != null) { server.setHost(host); - ((ServerWorkingCopy)server).setDefaults(null); + ((ServerWorkingCopy)server).newServerDetailsChanged(null); runtime = server.getRuntime(); listener.runtimeSelected(runtime); fireServerWorkingCopyChanged(); @@ -654,7 +654,7 @@ runtime = runtime2; if (server != null) { server.setRuntime(runtime); - ((ServerWorkingCopy)server).setDefaults(null); + ((ServerWorkingCopy)server).newServerDetailsChanged(null); if (!serverNameModified) { updatingServerName = true; serverName.setText(server.getName());