Author: peterreilly
Date: Mon Jan  1 16:20:52 2007
New Revision: 491721

URL: http://svn.apache.org/viewvc?view=rev&rev=491721
Log:
checkstyle: make method smaller

Modified:
    ant/core/trunk/src/main/org/apache/tools/ant/Main.java

Modified: ant/core/trunk/src/main/org/apache/tools/ant/Main.java
URL: 
http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/Main.java?view=diff&rev=491721&r1=491720&r2=491721
==============================================================================
--- ant/core/trunk/src/main/org/apache/tools/ant/Main.java (original)
+++ ant/core/trunk/src/main/org/apache/tools/ant/Main.java Mon Jan  1 16:20:52 
2007
@@ -345,73 +345,15 @@
                 }
             } else if (arg.equals("-buildfile") || arg.equals("-file")
                        || arg.equals("-f")) {
-                try {
-                    buildFile = new File(args[i + 1].replace('/', 
File.separatorChar));
-                    i++;
-                } catch (ArrayIndexOutOfBoundsException aioobe) {
-                    String msg = "You must specify a buildfile when "
-                        + "using the -buildfile argument";
-                    throw new BuildException(msg);
-                }
+                i = handleArgBuildFile(args, i);
             } else if (arg.equals("-listener")) {
-                try {
-                    listeners.addElement(args[i + 1]);
-                    i++;
-                } catch (ArrayIndexOutOfBoundsException aioobe) {
-                    String msg = "You must specify a classname when "
-                        + "using the -listener argument";
-                    throw new BuildException(msg);
-                }
+                i = handleArgListener(args, i);
             } else if (arg.startsWith("-D")) {
-
-                /* Interestingly enough, we get to here when a user
-                 * uses -Dname=value. However, in some cases, the OS
-                 * goes ahead and parses this out to args
-                 *   {"-Dname", "value"}
-                 * so instead of parsing on "=", we just make the "-D"
-                 * characters go away and skip one argument forward.
-                 *
-                 * I don't know how to predict when the JDK is going
-                 * to help or not, so we simply look for the equals sign.
-                 */
-
-                String name = arg.substring(2, arg.length());
-                String value = null;
-                int posEq = name.indexOf("=");
-                if (posEq > 0) {
-                    value = name.substring(posEq + 1);
-                    name = name.substring(0, posEq);
-                } else if (i < args.length - 1) {
-                    value = args[++i];
-                } else {
-                    throw new BuildException("Missing value for property "
-                                             + name);
-                }
-
-                definedProps.put(name, value);
+                i = handleArgDefine(args, i);
             } else if (arg.equals("-logger")) {
-                if (loggerClassname != null) {
-                    throw new BuildException("Only one logger class may "
-                        + " be specified.");
-                }
-                try {
-                    loggerClassname = args[++i];
-                } catch (ArrayIndexOutOfBoundsException aioobe) {
-                    throw new BuildException("You must specify a classname 
when"
-                                             + " using the -logger argument");
-                }
+                i = handleArgLogger(args, i);
             } else if (arg.equals("-inputhandler")) {
-                if (inputHandlerClassname != null) {
-                    throw new BuildException("Only one input handler class may 
"
-                                             + "be specified.");
-                }
-                try {
-                    inputHandlerClassname = args[++i];
-                } catch (ArrayIndexOutOfBoundsException aioobe) {
-                    throw new BuildException("You must specify a classname 
when"
-                                             + " using the -inputhandler"
-                                             + " argument");
-                }
+                i = handleArgInputHandler(args, i);
             } else if (arg.equals("-emacs") || arg.equals("-e")) {
                 emacsMode = true;
             } else if (arg.equals("-projecthelp") || arg.equals("-p")) {
@@ -425,33 +367,11 @@
                     searchForThis = DEFAULT_BUILD_FILENAME;
                 }
             } else if (arg.startsWith("-propertyfile")) {
-                try {
-                    propertyFiles.addElement(args[i + 1]);
-                    i++;
-                } catch (ArrayIndexOutOfBoundsException aioobe) {
-                    String msg = "You must specify a property filename when "
-                        + "using the -propertyfile argument";
-                    throw new BuildException(msg);
-                }
+                i = handleArgPropertyFile(args, i);
             } else if (arg.equals("-k") || arg.equals("-keep-going")) {
                 keepGoingMode = true;
             } else if (arg.equals("-nice")) {
-                try {
-                    threadPriority = Integer.decode(args[i + 1]);
-                } catch (ArrayIndexOutOfBoundsException aioobe) {
-                    throw new BuildException(
-                            "You must supply a niceness value (1-10)"
-                            + " after the -nice option");
-                } catch (NumberFormatException e) {
-                    throw new BuildException("Unrecognized niceness value: "
-                                             + args[i + 1]);
-                }
-                i++;
-                if (threadPriority.intValue() < Thread.MIN_PRIORITY
-                    || threadPriority.intValue() > Thread.MAX_PRIORITY) {
-                    throw new BuildException(
-                            "Niceness value is out of the range 1-10");
-                }
+                i = handleArgNice(args, i);
             } else if (LAUNCH_COMMANDS.contains(arg)) {
                 //catch script/ant mismatch with a meaningful message
                 //we could ignore it, but there are likely to be other
@@ -501,6 +421,149 @@
         }
 
         // Load the property files specified by -propertyfile
+        loadPropertyFiles();
+
+        if (msgOutputLevel >= Project.MSG_INFO) {
+            System.out.println("Buildfile: " + buildFile);
+        }
+
+        if (logTo != null) {
+            out = logTo;
+            err = logTo;
+            System.setOut(out);
+            System.setErr(err);
+        }
+        readyToRun = true;
+    }
+
+    // --------------------------------------------------------
+    //    Methods for handling the command line arguments
+    // --------------------------------------------------------
+
+    /** Handle the -buildfile, -file, -f argument */
+    private int handleArgBuildFile(String[] args, int pos) {
+        try {
+            buildFile = new File(
+                args[++pos].replace('/', File.separatorChar));
+        } catch (ArrayIndexOutOfBoundsException aioobe) {
+            throw new BuildException(
+                "You must specify a buildfile when using the -buildfile 
argument");
+        }
+        return pos;
+    }
+
+    /** Handle -listener argument */
+    private int handleArgListener(String[] args, int pos) {
+        try {
+            listeners.addElement(args[pos + 1]);
+            pos++;
+        } catch (ArrayIndexOutOfBoundsException aioobe) {
+            String msg = "You must specify a classname when "
+                + "using the -listener argument";
+            throw new BuildException(msg);
+        }
+        return pos;
+    }
+
+    /** Handler -D argument */
+    private int handleArgDefine(String[] args, int argPos) {
+        /* Interestingly enough, we get to here when a user
+         * uses -Dname=value. However, in some cases, the OS
+         * goes ahead and parses this out to args
+         *   {"-Dname", "value"}
+         * so instead of parsing on "=", we just make the "-D"
+         * characters go away and skip one argument forward.
+         *
+         * I don't know how to predict when the JDK is going
+         * to help or not, so we simply look for the equals sign.
+         */
+        String arg = args[argPos];
+        String name = arg.substring(2, arg.length());
+        String value = null;
+        int posEq = name.indexOf("=");
+        if (posEq > 0) {
+            value = name.substring(posEq + 1);
+            name = name.substring(0, posEq);
+        } else if (argPos < args.length - 1) {
+            value = args[++argPos];
+        } else {
+            throw new BuildException("Missing value for property "
+                                     + name);
+        }
+        definedProps.put(name, value);
+        return argPos;
+    }
+
+    /** Handle the -logger argument. */
+    private int handleArgLogger(String[] args, int pos) {
+        if (loggerClassname != null) {
+            throw new BuildException(
+                "Only one logger class may be specified.");
+        }
+        try {
+            loggerClassname = args[++pos];
+        } catch (ArrayIndexOutOfBoundsException aioobe) {
+            throw new BuildException(
+                "You must specify a classname when using the -logger 
argument");
+        }
+        return pos;
+    }
+
+    /** Handle the -inputhandler argument. */
+    private int handleArgInputHandler(String[] args, int pos) {
+        if (inputHandlerClassname != null) {
+            throw new BuildException("Only one input handler class may "
+                                     + "be specified.");
+        }
+        try {
+            inputHandlerClassname = args[++pos];
+        } catch (ArrayIndexOutOfBoundsException aioobe) {
+            throw new BuildException("You must specify a classname when"
+                                     + " using the -inputhandler"
+                                     + " argument");
+        }
+        return pos;
+    }
+
+    /** Handle the -propertyfile argument. */
+    private int handleArgPropertyFile(String[] args, int pos) {
+        try {
+            propertyFiles.addElement(args[++pos]);
+        } catch (ArrayIndexOutOfBoundsException aioobe) {
+            String msg = "You must specify a property filename when "
+                + "using the -propertyfile argument";
+            throw new BuildException(msg);
+        }
+        return pos;
+    }
+
+    /** Handle the -nice argument. */
+    private int handleArgNice(String[] args, int pos) {
+        try {
+            threadPriority = Integer.decode(args[++pos]);
+        } catch (ArrayIndexOutOfBoundsException aioobe) {
+            throw new BuildException(
+                "You must supply a niceness value (1-10)"
+                + " after the -nice option");
+        } catch (NumberFormatException e) {
+            throw new BuildException("Unrecognized niceness value: "
+                                     + args[pos]);
+        }
+
+        if (threadPriority.intValue() < Thread.MIN_PRIORITY
+            || threadPriority.intValue() > Thread.MAX_PRIORITY) {
+            throw new BuildException(
+                "Niceness value is out of the range 1-10");
+        }
+        return pos;
+    }
+
+    // --------------------------------------------------------
+    //    other methods
+    // --------------------------------------------------------
+
+    /** Load the property files specified by -propertyfile */
+    private void loadPropertyFiles() {
         for (int propertyFileIndex = 0;
              propertyFileIndex < propertyFiles.size();
              propertyFileIndex++) {
@@ -513,7 +576,7 @@
                 props.load(fis);
             } catch (IOException e) {
                 System.out.println("Could not load property file "
-                   + filename + ": " + e.getMessage());
+                                   + filename + ": " + e.getMessage());
             } finally {
                 FileUtils.close(fis);
             }
@@ -527,18 +590,6 @@
                 }
             }
         }
-
-        if (msgOutputLevel >= Project.MSG_INFO) {
-            System.out.println("Buildfile: " + buildFile);
-        }
-
-        if (logTo != null) {
-            out = logTo;
-            err = logTo;
-            System.setOut(out);
-            System.setErr(err);
-        }
-        readyToRun = true;
     }
 
     /**



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to