diff --git a/plugins/org.apache.geronimo.st.v30.core/src/main/java/org/apache/geronimo/st/v30/core/GeronimoLaunchConfigurationDelegate.java b/plugins/org.apache.geronimo.st.v30.core/src/main/java/org/apache/geronimo/st/v30/core/GeronimoLaunchConfigurationDelegate.java
index 572bb8a..9f72264 100644
--- a/plugins/org.apache.geronimo.st.v30.core/src/main/java/org/apache/geronimo/st/v30/core/GeronimoLaunchConfigurationDelegate.java
+++ b/plugins/org.apache.geronimo.st.v30.core/src/main/java/org/apache/geronimo/st/v30/core/GeronimoLaunchConfigurationDelegate.java
@@ -19,9 +19,7 @@
 import java.io.File;
 import java.util.ArrayList;
 import java.util.Collection;
-import java.util.Collections;
 import java.util.Iterator;
-import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
diff --git a/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/sections/ServerEditorPublishAdvancedSection.java b/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/sections/ServerEditorPublishAdvancedSection.java
index 1895331..15d16d9 100644
--- a/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/sections/ServerEditorPublishAdvancedSection.java
+++ b/plugins/org.apache.geronimo.st.v30.ui/src/main/java/org/apache/geronimo/st/v30/ui/sections/ServerEditorPublishAdvancedSection.java
@@ -40,6 +40,7 @@
 import org.eclipse.ui.forms.widgets.FormToolkit;
 import org.eclipse.ui.forms.widgets.Section;
 import org.eclipse.wst.server.core.util.SocketUtil;
+import org.eclipse.wst.server.ui.internal.SWTUtil;
 
 /**
  * @version $Rev$ $Date$
@@ -85,10 +86,10 @@
 
         publishTimeout = new Spinner(composite, SWT.BORDER);
         publishTimeout.setMinimum(0);
-        publishTimeout.setIncrement(60);
-        publishTimeout.setMaximum(60 * 60 * 4); // 4 hours
+        publishTimeout.setIncrement(5);
+        publishTimeout.setMaximum(60 * 60 * 24); // 24 hours
         publishTimeout.setSelection((int) gs.getPublishTimeout() / 1000);
-
+        SWTUtil.setSpinnerTooltip(publishTimeout);
         publishTimeout.addModifyListener(new ModifyListener() {
             public void modifyText(ModifyEvent e) {
                 if (publishTimeout.getData() == null) {
@@ -96,6 +97,7 @@
                 } else {
                     publishTimeout.setData(null);
                 }
+                SWTUtil.setSpinnerTooltip(publishTimeout);
             }
         });
                 
