X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=forester%2Fjava%2Fsrc%2Forg%2Fforester%2Futil%2FThreadedStreamHandler.java;h=b5253ebeae21813d41e388a86bb985414af00f27;hb=5642da5f473ab9ae57fee86c0cb3b33525a2e916;hp=ed70e75dd88f278d7041c07ed89b0ee3a45f13e5;hpb=48f7a89be9d34f1930a1f863e608235cc27184c5;p=jalview.git diff --git a/forester/java/src/org/forester/util/ThreadedStreamHandler.java b/forester/java/src/org/forester/util/ThreadedStreamHandler.java index ed70e75..b5253eb 100644 --- a/forester/java/src/org/forester/util/ThreadedStreamHandler.java +++ b/forester/java/src/org/forester/util/ThreadedStreamHandler.java @@ -2,34 +2,34 @@ /** * 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 . - * + * * Please ee the following page for the LGPL license: * http://www.gnu.org/licenses/lgpl.txt - * + * */ package org.forester.util; @@ -54,7 +54,7 @@ class ThreadedStreamHandler extends Thread { * 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 */ @@ -65,9 +65,9 @@ class ThreadedStreamHandler extends Thread { /** * 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 @@ -81,6 +81,13 @@ class ThreadedStreamHandler extends Thread { 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 );