Explorar o código

!9 bug修复:端口参数不生效的问题
Merge pull request !9 from liangGe/master

gsls200808 %!s(int64=6) %!d(string=hai) anos
pai
achega
e908da4e42
Modificáronse 1 ficheiros con 22 adicións e 10 borrados
  1. 22 10
      src/main/java/com/vvvtimes/server/MainServer.java

+ 22 - 10
src/main/java/com/vvvtimes/server/MainServer.java

@@ -18,20 +18,32 @@ import org.eclipse.jetty.server.handler.AbstractHandler;
 
 public class MainServer extends AbstractHandler {
 
-    public static Map<String, String> parseArguments(String[] args) {
+    private static Map<String, String> parseArguments(String[] args)
+    {
+        if (args.length % 2 != 0)
+        {
+            throw new IllegalArgumentException("Error in argument's length ");
+        }
+        
         Map<String, String> params = new HashMap<String, String>();
-
-        String option = null;
-        for (final String arg : args) {
-            if (arg.charAt(0) == '-') {
-                if (arg.length() < 2) {
-                    throw new IllegalArgumentException("Error at argument " + arg);
+        
+        for (int i = 0, len = args.length; i < len;)
+        {
+            String argName = args[i++];
+            
+            if (argName.charAt(0) == '-')
+            {
+                if (argName.length() < 2)
+                {
+                    throw new IllegalArgumentException("Error at argument " + argName);
                 }
-                option = arg.substring(1);
-            } else {
-                params.put(option, arg);
+                
+                argName = argName.substring(1);
             }
+            
+            params.put(argName, args[i++]);
         }
+
         return params;
     }