[349434] Next button disabled when choosing existing server host name from the new server wizard
diff --git a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/Timer.java b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/Timer.java
index ae6d51a..f6b1024 100644
--- a/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/Timer.java
+++ b/plugins/org.eclipse.wst.server.ui/serverui/org/eclipse/wst/server/ui/internal/Timer.java
@@ -36,11 +36,12 @@
/**
* Runs the timer if it is stopped or updates the stop time directly
* to effectively restart the timer.
+ * only one command should be executed at a time.
*/
public void runTimer(){
timerRunnable.setStopTime(System.currentTimeMillis() + delay);
- if(!timerRunnable.isRunning()){
+ if(!timerRunnable.isRunning() && !timerRunnable.isScheduled()){
timerRunnable.setIsScheduled(true);
executor.execute(timerRunnable);
}
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 05765ee..339d181 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
@@ -95,7 +95,6 @@
protected String serverTypeId;
protected boolean includeIncompatible;
- protected String lastHostname;
protected HostnameComposite manualHostComp;
IHostnameSelectionListener hostnameListener;
protected Label hostnameLabel;
@@ -181,7 +180,6 @@
hostnameListener = new IHostnameSelectionListener() {
public void hostnameSelected(String selectedHostname) {
- lastHostname = selectedHostname;
setHost(selectedHostname);
}
};
@@ -746,8 +744,13 @@
protected void hostnameChanged(String newHost) {
if (newHost == null)
return;
- if (newHost.equals(host))
- return;
+ /*
+ * Bug 349434, with the fix in Timer.runTimer, the chance that a new
+ * host name is the same as the host name will be very rare. In some
+ * cases, it still needs to go through processes such as loadServerImpl.
+ * It doesn't worth to handle it differently. Therefore, we are not checking
+ * for the same host name in here.
+ */
host = newHost;
hostnameListener.hostnameSelected(host);