X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=support%2Fgeneral%2Fsrc%2Fmain%2Fjava%2Forg%2Fwamblee%2Fio%2FSimpleProcess.java;h=c08f001da84910d26e8b74a2be72968f78503a26;hb=e72743b6a9fac5a99b842f92b1687fba65ef3210;hp=de93e547638d1db49d6c47e57be33665e83d37af;hpb=17775e14ecfb286e59f67117e5cee7e21e95ab1f;p=utils diff --git a/support/general/src/main/java/org/wamblee/io/SimpleProcess.java b/support/general/src/main/java/org/wamblee/io/SimpleProcess.java index de93e547..c08f001d 100644 --- a/support/general/src/main/java/org/wamblee/io/SimpleProcess.java +++ b/support/general/src/main/java/org/wamblee/io/SimpleProcess.java @@ -15,18 +15,16 @@ */ 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 java.util.logging.Level; +import java.util.logging.Logger; /** * @@ -34,7 +32,7 @@ import java.io.Writer; * @version $Revision$ */ public class SimpleProcess { - private static final Log LOG = LogFactory.getLog(SimpleProcess.class); + private static final Logger LOG = Logger.getLogger(SimpleProcess.class.getName()); private File directory; @@ -50,7 +48,7 @@ public class SimpleProcess { */ public SimpleProcess(File aDirectory, String[] aCmd) { directory = aDirectory; - cmd = aCmd; + cmd = Arrays.copyOf(aCmd, aCmd.length); } /** @@ -83,13 +81,13 @@ 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 + + LOG.fine("Executing '" + fullcmd + "' in directory '" + directory + "'"); java.lang.Process proc = Runtime.getRuntime().exec(cmd, null, @@ -120,9 +118,9 @@ public class SimpleProcess { stderr = myStderr.toString(); if (proc.exitValue() != 0) { - LOG.warn("Exit value was non-zero: " + this); + LOG.warning("Exit value was non-zero: " + this); } else { - LOG.debug("Process finished"); + LOG.fine("Process finished"); } return proc.exitValue(); @@ -139,8 +137,8 @@ public class SimpleProcess { aReaderThread.join(); } catch (InterruptedException e) { LOG - .warn(this + - ": error waiting for output stream reader of process to finish"); + .log(Level.WARNING, this + + ": error waiting for output stream reader of process to finish", e); } } @@ -157,18 +155,18 @@ public class SimpleProcess { String str; while ((str = br.readLine()) != null) { - LOG.debug(aPrefix + str); + LOG.fine(aPrefix + str); aOutput.write(str); } } catch (IOException e) { - LOG.warn(SimpleProcess.this + + LOG.log(Level.FINE, SimpleProcess.this + ": error reading input stream", e); } finally { if (br != null) { try { br.close(); } catch (IOException e) { - LOG.warn("Error closing stream " + aPrefix); + LOG.log(Level.WARNING, "Error closing stream " + aPrefix, e); } } } @@ -182,10 +180,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 + "')";