/**
* This class is intended to be used with the SystemCommandExecutor class to let
* users execute system commands from Java applications.
- *
+ *
* This class is based on work that was shared in a JavaWorld article named
* "When System.exec() won't". That article is available at this url:
- *
+ *
* http://www.javaworld.com/javaworld/jw-12-2000/jw-1229-traps.html
- *
+ *
* Documentation for this class is available at this URL:
- *
+ *
* http://devdaily.com/java/java-processbuilder-process-system-exec
- *
- *
+ *
+ *
* Copyright 2010 alvin j. alexander, devdaily.com.
- *
+ *
* This program is free software: you can redistribute it and/or modify it under
* the terms of the GNU Lesser Public License as published by the Free Software
* Foundation, either version 3 of the License, or (at your option) any later
* version.
- *
+ *
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU Lesser Public License for more details.
- *
+ *
* You should have received a copy of the GNU Lesser Public License along with
* this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ *
* Please ee the following page for the LGPL license:
* http://www.gnu.org/licenses/lgpl.txt
- *
+ *
*/
package org.forester.util;
* A simple constructor for when the sudo command is not necessary.
* This constructor will just run the command you provide, without
* running sudo before the command, and without expecting a password.
- *
+ *
* @param inputStream
* @param streamType
*/
/**
* Use this constructor when you want to invoke the 'sudo' command.
* The outputStream must not be null. If it is, you'll regret it. :)
- *
+ *
* TODO this currently hangs if the admin password given for the sudo command is wrong.
- *
+ *
* @param inputStream
* @param streamType
* @param outputStream
sudoIsRequested = true;
}
+ ThreadedStreamHandler( final InputStream inputStream, final OutputStream outputStream ) {
+ this.inputStream = inputStream;
+ this.outputStream = outputStream;
+ printWriter = new PrintWriter( outputStream );
+ sudoIsRequested = false;
+ }
+
private void doSleep( final long millis ) {
try {
Thread.sleep( millis );