Cleaning up ArgProcessor subsystem a bit.  I think this should all be non-controversial.


git-svn-id: https://google-web-toolkit.googlecode.com/svn/releases/1.6@4339 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/dev/core/src/com/google/gwt/dev/ArgProcessorBase.java b/dev/core/src/com/google/gwt/dev/ArgProcessorBase.java
new file mode 100644
index 0000000..3f38920
--- /dev/null
+++ b/dev/core/src/com/google/gwt/dev/ArgProcessorBase.java
@@ -0,0 +1,37 @@
+/*
+ * Copyright 2008 Google Inc.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package com.google.gwt.dev;
+
+import com.google.gwt.util.tools.ToolBase;
+
+/**
+ * Base class for new-style argument processors.
+ */
+abstract class ArgProcessorBase extends ToolBase {
+  /*
+   * Overridden to make public.
+   */
+  @Override
+  public final boolean processArgs(String[] args) {
+    return super.processArgs(args);
+  }
+
+  /*
+   * Made abstract to force override.
+   */
+  @Override
+  protected abstract String getName();
+}
diff --git a/dev/core/src/com/google/gwt/dev/CompileArgProcessor.java b/dev/core/src/com/google/gwt/dev/CompileArgProcessor.java
index fdc5e99..56eb33c 100644
--- a/dev/core/src/com/google/gwt/dev/CompileArgProcessor.java
+++ b/dev/core/src/com/google/gwt/dev/CompileArgProcessor.java
@@ -19,24 +19,12 @@
 import com.google.gwt.dev.util.arg.ArgHandlerModuleName;
 import com.google.gwt.dev.util.arg.ArgHandlerTreeLoggerFlag;
 import com.google.gwt.dev.util.arg.ArgHandlerWorkDirRequired;
-import com.google.gwt.util.tools.ToolBase;
 
-abstract class CompileArgProcessor extends ToolBase {
+abstract class CompileArgProcessor extends ArgProcessorBase {
   public CompileArgProcessor(CompileTaskOptions options) {
     registerHandler(new ArgHandlerLogLevel(options));
     registerHandler(new ArgHandlerTreeLoggerFlag(options));
     registerHandler(new ArgHandlerWorkDirRequired(options));
     registerHandler(new ArgHandlerModuleName(options));
   }
-
-  /*
-   * Overridden to make public.
-   */
-  @Override
-  public final boolean processArgs(String[] args) {
-    return super.processArgs(args);
-  }
-
-  @Override
-  protected abstract String getName();
 }
diff --git a/dev/core/src/com/google/gwt/dev/CompilePermsServer.java b/dev/core/src/com/google/gwt/dev/CompilePermsServer.java
index ace3385..ac4cc42 100644
--- a/dev/core/src/com/google/gwt/dev/CompilePermsServer.java
+++ b/dev/core/src/com/google/gwt/dev/CompilePermsServer.java
@@ -22,7 +22,6 @@
 import com.google.gwt.dev.util.arg.OptionLogLevel;
 import com.google.gwt.dev.util.log.PrintWriterTreeLogger;
 import com.google.gwt.util.tools.ArgHandlerString;
-import com.google.gwt.util.tools.ToolBase;
 
 import java.io.File;
 import java.io.FileInputStream;
@@ -162,7 +161,7 @@
     }
   }
 
-  static class ArgProcessor extends ToolBase {
+  static class ArgProcessor extends ArgProcessorBase {
     public ArgProcessor(CompileServerOptions options) {
       registerHandler(new ArgHandlerLogLevel(options));
       registerHandler(new ArgHandlerCompileHost(options));
@@ -170,14 +169,6 @@
       registerHandler(new ArgHandlerCookie(options));
     }
 
-    /*
-     * Overridden to make public.
-     */
-    @Override
-    public final boolean processArgs(String[] args) {
-      return super.processArgs(args);
-    }
-
     @Override
     protected String getName() {
       return CompilePermsServer.class.getName();
diff --git a/dev/core/src/com/google/gwt/dev/HostedModeBase.java b/dev/core/src/com/google/gwt/dev/HostedModeBase.java
index cbe3e0e..ab72df7 100644
--- a/dev/core/src/com/google/gwt/dev/HostedModeBase.java
+++ b/dev/core/src/com/google/gwt/dev/HostedModeBase.java
@@ -69,12 +69,6 @@
    * Handles the -blacklist command line argument.
    */
   protected class ArgHandlerBlacklist extends ArgHandlerString {
-
-    @Override
-    public String[] getDefaultArgs() {
-      return new String[] {"-blacklist", ""};
-    }
-
     @Override
     public String getPurpose() {
       return "Prevents the user browsing URLs that match the specified regexes (comma or space separated)";
@@ -124,7 +118,7 @@
 
     @Override
     public String[] getDefaultArgs() {
-      return new String[] {"-port", "8888"};
+      return new String[] {getTag(), "8888"};
     }
 
     @Override
@@ -162,12 +156,6 @@
    * Handles the -whitelist command line flag.
    */
   protected class ArgHandlerWhitelist extends ArgHandlerString {
-
-    @Override
-    public String[] getDefaultArgs() {
-      return new String[] {"-whitelist", ""};
-    }
-
     @Override
     public String getPurpose() {
       return "Allows the user to browse URLs that match the specified regexes (comma or space separated)";
@@ -189,7 +177,7 @@
     }
   }
 
-  abstract class ArgProcessor extends ToolBase {
+  abstract class ArgProcessor extends ArgProcessorBase {
     public ArgProcessor() {
       registerHandler(getArgHandlerPort());
       registerHandler(new ArgHandlerWhitelist());
@@ -205,20 +193,6 @@
       registerHandler(new ArgHandlerEnableAssertions(options));
       registerHandler(new ArgHandlerDisableAggressiveOptimization(options));
     }
-
-    /*
-     * Overridden to make public.
-     */
-    @Override
-    public final boolean processArgs(String[] args) {
-      return super.processArgs(args);
-    }
-
-    /*
-     * Overridden to make abstract.
-     */
-    @Override
-    protected abstract String getName();
   }
 
   interface HostedModeBaseOptions extends JJSOptions, OptionLogLevel,
@@ -284,6 +258,7 @@
       return HostedModeBase.this.initModule(moduleName);
     }
 
+    @SuppressWarnings("deprecation")
     public boolean isLegacyMode() {
       return HostedModeBase.this instanceof GWTShell;
     }
@@ -375,21 +350,18 @@
    * Launch the arguments as Urls in separate windows.
    */
   public final void launchStartupUrls(final TreeLogger logger) {
-    if (startupUrls != null) {
-      // Launch a browser window for each startup url.
-      //
-      String startupURL = "";
-      try {
-        for (String prenormalized : startupUrls) {
-          startupURL = normalizeURL(prenormalized);
-          logger.log(TreeLogger.TRACE, "Starting URL: " + startupURL, null);
-          BrowserWidget bw = openNewBrowserWindow();
-          bw.go(startupURL);
-        }
-      } catch (UnableToCompleteException e) {
-        logger.log(TreeLogger.ERROR,
-            "Unable to open new window for startup URL: " + startupURL, null);
+    // Launch a browser window for each startup url.
+    String startupURL = "";
+    try {
+      for (String prenormalized : startupUrls) {
+        startupURL = normalizeURL(prenormalized);
+        logger.log(TreeLogger.TRACE, "Starting URL: " + startupURL, null);
+        BrowserWidget bw = openNewBrowserWindow();
+        bw.go(startupURL);
       }
+    } catch (UnableToCompleteException e) {
+      logger.log(TreeLogger.ERROR,
+          "Unable to open new window for startup URL: " + startupURL, null);
     }
   }
 
diff --git a/dev/core/src/com/google/gwt/dev/util/arg/ArgHandlerOutDir.java b/dev/core/src/com/google/gwt/dev/util/arg/ArgHandlerOutDir.java
index bf5a5b1..a318409 100644
--- a/dev/core/src/com/google/gwt/dev/util/arg/ArgHandlerOutDir.java
+++ b/dev/core/src/com/google/gwt/dev/util/arg/ArgHandlerOutDir.java
@@ -31,7 +31,7 @@
   }
 
   public String[] getDefaultArgs() {
-    return new String[] {"-out", System.getProperty("user.dir")};
+    return new String[] {getTag(), System.getProperty("user.dir")};
   }
 
   public String getPurpose() {
diff --git a/dev/core/src/com/google/gwt/dev/util/arg/ArgHandlerScriptStyle.java b/dev/core/src/com/google/gwt/dev/util/arg/ArgHandlerScriptStyle.java
index 3c9b5c0..f98f0c8 100644
--- a/dev/core/src/com/google/gwt/dev/util/arg/ArgHandlerScriptStyle.java
+++ b/dev/core/src/com/google/gwt/dev/util/arg/ArgHandlerScriptStyle.java
@@ -30,7 +30,7 @@
   }
 
   public String[] getDefaultArgs() {
-    return new String[] {"-style", "obfuscate"};
+    return new String[] {getTag(), "obfuscate"};
   }
 
   public String getPurpose() {
diff --git a/dev/core/src/com/google/gwt/dev/util/arg/ArgHandlerWarDir.java b/dev/core/src/com/google/gwt/dev/util/arg/ArgHandlerWarDir.java
index 5f74707..2cbd7cb 100644
--- a/dev/core/src/com/google/gwt/dev/util/arg/ArgHandlerWarDir.java
+++ b/dev/core/src/com/google/gwt/dev/util/arg/ArgHandlerWarDir.java
@@ -31,7 +31,7 @@
   }
 
   public String[] getDefaultArgs() {
-    return new String[] {"-war", "war"};
+    return new String[] {getTag(), "war"};
   }
 
   public String getPurpose() {
diff --git a/dev/core/src/com/google/gwt/dev/util/arg/OptionExtraDir.java b/dev/core/src/com/google/gwt/dev/util/arg/OptionExtraDir.java
index 586f41f..b2ecc22 100644
--- a/dev/core/src/com/google/gwt/dev/util/arg/OptionExtraDir.java
+++ b/dev/core/src/com/google/gwt/dev/util/arg/OptionExtraDir.java
@@ -30,5 +30,5 @@
   /**
    * Sets the extra resource directory.
    */
-  void setExtraDir(File dir);
+  void setExtraDir(File extraDir);
 }
diff --git a/dev/core/src/com/google/gwt/dev/util/arg/OptionOutDir.java b/dev/core/src/com/google/gwt/dev/util/arg/OptionOutDir.java
index 25b2b12..c9f714f 100644
--- a/dev/core/src/com/google/gwt/dev/util/arg/OptionOutDir.java
+++ b/dev/core/src/com/google/gwt/dev/util/arg/OptionOutDir.java
@@ -30,5 +30,5 @@
   /**
    * Sets the output directory.
    */
-  void setOutDir(File dir);
+  void setOutDir(File outDir);
 }
diff --git a/dev/core/src/com/google/gwt/util/tools/ArgHandler.java b/dev/core/src/com/google/gwt/util/tools/ArgHandler.java
index 7dcacf8..81f7ea1 100644
--- a/dev/core/src/com/google/gwt/util/tools/ArgHandler.java
+++ b/dev/core/src/com/google/gwt/util/tools/ArgHandler.java
@@ -20,7 +20,9 @@
  */
 public abstract class ArgHandler {
 
-  public abstract String[] getDefaultArgs();
+  public String[] getDefaultArgs() {
+    return null;
+  }
 
   public abstract String getPurpose();
 
diff --git a/dev/core/src/com/google/gwt/util/tools/ArgHandlerDir.java b/dev/core/src/com/google/gwt/util/tools/ArgHandlerDir.java
index 968e622..5123cb9 100644
--- a/dev/core/src/com/google/gwt/util/tools/ArgHandlerDir.java
+++ b/dev/core/src/com/google/gwt/util/tools/ArgHandlerDir.java
@@ -22,10 +22,6 @@
  */
 public abstract class ArgHandlerDir extends ArgHandler {
 
-  public String[] getDefaultArgs() {
-    return null;
-  }
-
   public abstract String getPurpose();
 
   public abstract String getTag();
diff --git a/dev/core/src/com/google/gwt/util/tools/ArgHandlerExtra.java b/dev/core/src/com/google/gwt/util/tools/ArgHandlerExtra.java
index dbe1984..65e7587 100644
--- a/dev/core/src/com/google/gwt/util/tools/ArgHandlerExtra.java
+++ b/dev/core/src/com/google/gwt/util/tools/ArgHandlerExtra.java
@@ -22,10 +22,6 @@
 
   public abstract boolean addExtraArg(String arg);
 
-  public String[] getDefaultArgs() {
-    return null;
-  }
-
   public final String getTag() {
     return null;
   }
diff --git a/dev/core/src/com/google/gwt/util/tools/ArgHandlerFlag.java b/dev/core/src/com/google/gwt/util/tools/ArgHandlerFlag.java
index 1c86b12..10dcdb2 100644
--- a/dev/core/src/com/google/gwt/util/tools/ArgHandlerFlag.java
+++ b/dev/core/src/com/google/gwt/util/tools/ArgHandlerFlag.java
@@ -22,10 +22,6 @@
  */
 public abstract class ArgHandlerFlag extends ArgHandler {
 
-  public String[] getDefaultArgs() {
-    return null;
-  }
-
   public abstract String getPurpose();
 
   public abstract String getTag();
diff --git a/dev/core/src/com/google/gwt/util/tools/ArgHandlerInt.java b/dev/core/src/com/google/gwt/util/tools/ArgHandlerInt.java
index b69c8ed..89f069a 100644
--- a/dev/core/src/com/google/gwt/util/tools/ArgHandlerInt.java
+++ b/dev/core/src/com/google/gwt/util/tools/ArgHandlerInt.java
@@ -20,10 +20,6 @@
  */
 public abstract class ArgHandlerInt extends ArgHandler {
 
-  public String[] getDefaultArgs() {
-    return null;
-  }
-
   public abstract String getPurpose();
 
   public abstract String getTag();
diff --git a/dev/core/src/com/google/gwt/util/tools/ArgHandlerOutDir.java b/dev/core/src/com/google/gwt/util/tools/ArgHandlerOutDir.java
index ea4f7a9..2a57c0c 100644
--- a/dev/core/src/com/google/gwt/util/tools/ArgHandlerOutDir.java
+++ b/dev/core/src/com/google/gwt/util/tools/ArgHandlerOutDir.java
@@ -21,7 +21,7 @@
 public abstract class ArgHandlerOutDir extends ArgHandlerDir {
 
   public String[] getDefaultArgs() {
-    return new String[] {"-out", System.getProperty("user.dir")};
+    return new String[] {getTag(), System.getProperty("user.dir")};
   }
 
   public String getPurpose() {
diff --git a/dev/core/src/com/google/gwt/util/tools/ArgHandlerString.java b/dev/core/src/com/google/gwt/util/tools/ArgHandlerString.java
index b6f56bd..f947e21 100644
--- a/dev/core/src/com/google/gwt/util/tools/ArgHandlerString.java
+++ b/dev/core/src/com/google/gwt/util/tools/ArgHandlerString.java
@@ -20,10 +20,6 @@
  */
 public abstract class ArgHandlerString extends ArgHandler {
 
-  public String[] getDefaultArgs() {
-    return null;
-  }
-
   public int handle(String[] args, int startIndex) {
     if (startIndex + 1 < args.length) {
       if (!setString(args[startIndex + 1])) {
diff --git a/user/src/com/google/gwt/i18n/tools/I18NSync.java b/user/src/com/google/gwt/i18n/tools/I18NSync.java
index 06bed9a..2bb7cfb 100644
--- a/user/src/com/google/gwt/i18n/tools/I18NSync.java
+++ b/user/src/com/google/gwt/i18n/tools/I18NSync.java
@@ -64,11 +64,6 @@
     }
 
     @Override
-    public String[] getDefaultArgs() {
-      return null;
-    }
-
-    @Override
     public String getPurpose() {
       return "Identifies the Constants/Messages class to be created.  For example com.google.sample.i18n.client.Colors";
     }
@@ -86,12 +81,6 @@
   }
 
   private class outDirHandler extends ArgHandlerString {
-
-    @Override
-    public String[] getDefaultArgs() {
-      return null;
-    }
-
     @Override
     public String getPurpose() {
       return "Java source directory, defaults to the resource's class path.";
diff --git a/user/src/com/google/gwt/junit/remote/BrowserManagerServerLauncher.java b/user/src/com/google/gwt/junit/remote/BrowserManagerServerLauncher.java
index b383b62..e382a00 100644
--- a/user/src/com/google/gwt/junit/remote/BrowserManagerServerLauncher.java
+++ b/user/src/com/google/gwt/junit/remote/BrowserManagerServerLauncher.java
@@ -77,12 +77,6 @@
    * line.
    */
   private class ArgHandlerRegistration extends ArgHandler {
-
-    @Override
-    public String[] getDefaultArgs() {
-      return null;
-    }
-
     @Override
     public String getPurpose() {
       return "Specify two arguments: a registration id used for the "
diff --git a/user/src/com/google/gwt/user/tools/util/ArgHandlerEclipse.java b/user/src/com/google/gwt/user/tools/util/ArgHandlerEclipse.java
index 7346eb9..5ab1a64 100644
--- a/user/src/com/google/gwt/user/tools/util/ArgHandlerEclipse.java
+++ b/user/src/com/google/gwt/user/tools/util/ArgHandlerEclipse.java
@@ -21,12 +21,6 @@
  * Creates an arg handler for eclipse launch config options.
  */
 public abstract class ArgHandlerEclipse extends ArgHandlerString {
-
-  @Override
-  public String[] getDefaultArgs() {
-    return null;
-  }
-
   @Override
   public String getTag() {
     return "-eclipse";
@@ -36,5 +30,4 @@
   public String[] getTagArgs() {
     return new String[] {"projectName"};
   }
-
 }
\ No newline at end of file