You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ant.apache.org by do...@apache.org on 2002/01/06 02:43:39 UTC

cvs commit: jakarta-ant/proposal/myrmidon/src/java/org/apache/myrmidon/framework/exec/impl DefaultExecManager.java

donaldp     02/01/05 17:43:39

  Modified:    proposal/myrmidon/src/java/org/apache/myrmidon/framework/exec
                        ExecManager.java
               proposal/myrmidon/src/java/org/apache/myrmidon/framework/exec/impl
                        DefaultExecManager.java
  Log:
  Made the ExecManager support another method of execution that involves supplying an ExecOutputHandler
  
  Revision  Changes    Path
  1.3       +19 -1     jakarta-ant/proposal/myrmidon/src/java/org/apache/myrmidon/framework/exec/ExecManager.java
  
  Index: ExecManager.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/java/org/apache/myrmidon/framework/exec/ExecManager.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- ExecManager.java	22 Dec 2001 23:54:47 -0000	1.2
  +++ ExecManager.java	6 Jan 2002 01:43:39 -0000	1.3
  @@ -26,7 +26,7 @@
    * </ul>
    *
    * @author <a href="mailto:peter@apache.org">Peter Donald</a>
  - * @version $Revision: 1.2 $ $Date: 2001/12/22 23:54:47 $
  + * @version $Revision: 1.3 $ $Date: 2002/01/06 01:43:39 $
    */
   public interface ExecManager
   {
  @@ -51,6 +51,24 @@
                    InputStream input,
                    OutputStream output,
                    OutputStream error,
  +                 long timeout )
  +        throws IOException, ExecException /*TimeoutException*/;
  +
  +    /**
  +     * Execute a process and wait for it to finish before
  +     * returning. Note that this version of execute() does not allow you
  +     * to specify input.
  +     *
  +     * @param  execMetaData the metaData for native command to execute
  +     * @param  handler the handler to which line-orientated output of
  +     *         process is directed for standard output and standard error
  +     * @param  timeout the maximum duration in milliseconds that a process
  +     *         can execute. The value must be positive or zero. If it is zero
  +     *         then the process will not timeout. If the process times out it
  +     *         will be forcibly shutdown and a TimeoutException thrown
  +     */
  +    int execute( ExecMetaData execMetaData,
  +                 ExecOutputHandler handler,
                    long timeout )
           throws IOException, ExecException /*TimeoutException*/;
   }
  
  
  
  1.3       +16 -1     jakarta-ant/proposal/myrmidon/src/java/org/apache/myrmidon/framework/exec/impl/DefaultExecManager.java
  
  Index: DefaultExecManager.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/java/org/apache/myrmidon/framework/exec/impl/DefaultExecManager.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- DefaultExecManager.java	30 Dec 2001 06:53:15 -0000	1.2
  +++ DefaultExecManager.java	6 Jan 2002 01:43:39 -0000	1.3
  @@ -18,6 +18,7 @@
   import org.apache.myrmidon.framework.exec.ExecException;
   import org.apache.myrmidon.framework.exec.ExecManager;
   import org.apache.myrmidon.framework.exec.ExecMetaData;
  +import org.apache.myrmidon.framework.exec.ExecOutputHandler;
   import org.apache.myrmidon.framework.exec.launchers.DefaultCommandLauncher;
   import org.apache.myrmidon.framework.exec.launchers.MacCommandLauncher;
   import org.apache.myrmidon.framework.exec.launchers.ScriptCommandLauncher;
  @@ -29,7 +30,7 @@
    *
    * @author <a href="mailto:peter@apache.org">Peter Donald</a>
    * @author <a href="mailto:thomas.haas@softwired-inc.com">Thomas Haas</a>
  - * @version $Revision: 1.2 $ $Date: 2001/12/30 06:53:15 $
  + * @version $Revision: 1.3 $ $Date: 2002/01/06 01:43:39 $
    * @see ExecManager
    * @see ExecMetaData
    */
  @@ -49,6 +50,20 @@
       {
           m_launcher = new DefaultCommandLauncher();
           m_shellLauncher = createShellLauncher( antDir );
  +    }
  +
  +    /**
  +     * Execute a process and wait for it to finish before
  +     * returning.
  +     */
  +    public int execute( final ExecMetaData execMetaData,
  +                        final ExecOutputHandler handler,
  +                        long timeout )
  +        throws IOException, ExecException /*TimeoutException*/
  +    {
  +        final LogOutputStream output = new LogOutputStream( handler, false );
  +        final LogOutputStream error = new LogOutputStream( handler, true );
  +        return execute( execMetaData, null, output, error, timeout );
       }
   
       /**
  
  
  

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>