(no commit message)
[utils] / support / general / src / main / java / org / wamblee / io / SimpleProcess.java
index ed748a24da408d8dfed7ee73e30687ee83db9338..5e18b16cb7a97c7375fb4b0842e962f3a4c74680 100644 (file)
@@ -1,32 +1,31 @@
 /*
- * Copyright 2007 the original author or authors.
- *
+ * Copyright 2005-2010 the original author or authors.
+ * 
  * 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 org.wamblee.io;
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
 import java.io.BufferedReader;
 import java.io.File;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.InputStreamReader;
-import java.io.OutputStream;
-import java.io.PrintStream;
 import java.io.StringWriter;
 import java.io.Writer;
+import java.util.Arrays;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 
 /**
  * 
@@ -50,7 +49,7 @@ public class SimpleProcess {
      */
     public SimpleProcess(File aDirectory, String[] aCmd) {
         directory = aDirectory;
-        cmd = aCmd;
+        cmd = Arrays.copyOf(aCmd, aCmd.length);
     }
 
     /**
@@ -83,10 +82,10 @@ public class SimpleProcess {
 
     private int runImpl() throws IOException {
         try {
-            String fullcmd = "";
+            StringBuffer fullcmd = new StringBuffer();
 
             for (String part : cmd) {
-                fullcmd += (" " + part);
+                fullcmd.append(" " + part);
             }
 
             LOG.debug("Executing '" + fullcmd + "' in directory '" + directory +
@@ -182,10 +181,10 @@ public class SimpleProcess {
 
     @Override
     public String toString() {
-        String fullcmd = "";
+        StringBuffer fullcmd = new StringBuffer();
 
         for (String part : cmd) {
-            fullcmd += (part + " ");
+            fullcmd.append(part + " ");
         }
 
         return "process(dir = '" + directory + "', cmd = '" + fullcmd + "')";