Browse Source

Remove unused stream handlers/pump abstractions. These are now replaced by ExecOutputHandler

git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@270558 13f79535-47bb-0310-9956-ffa450edef68
master
Peter Donald 24 years ago
parent
commit
1158015760
6 changed files with 0 additions and 498 deletions
  1. +0
    -42
      proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/exec/LogStreamHandler.java
  2. +0
    -136
      proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/exec/PumpStreamHandler.java
  3. +0
    -71
      proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/exec/StreamPumper.java
  4. +0
    -42
      proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/exec/LogStreamHandler.java
  5. +0
    -136
      proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/exec/PumpStreamHandler.java
  6. +0
    -71
      proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/exec/StreamPumper.java

+ 0
- 42
proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/exec/LogStreamHandler.java View File

@@ -1,42 +0,0 @@
/*
* Copyright (C) The Apache Software Foundation. All rights reserved.
*
* This software is published under the terms of the Apache Software License
* version 1.1, a copy of which has been included with this distribution in
* the LICENSE.txt file.
*/
package org.apache.tools.ant.taskdefs.exec;

import java.io.IOException;
import java.io.OutputStream;
import org.apache.myrmidon.api.TaskException;

/**
* Logs standard output and error of a subprocess to the log system of ant.
*
* @author thomas.haas@softwired-inc.com
*/
public class LogStreamHandler
extends PumpStreamHandler
{
public LogStreamHandler( final OutputStream output, final OutputStream error )
{
super( output, error );
}

public void stop()
throws TaskException
{
super.stop();
try
{
getErr().close();
getOut().close();
}
catch( IOException e )
{
// plain impossible
throw new TaskException( "Error", e );
}
}
}

+ 0
- 136
proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/exec/PumpStreamHandler.java View File

@@ -1,136 +0,0 @@
/*
* Copyright (C) The Apache Software Foundation. All rights reserved.
*
* This software is published under the terms of the Apache Software License
* version 1.1, a copy of which has been included with this distribution in
* the LICENSE.txt file.
*/
package org.apache.tools.ant.taskdefs.exec;

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import org.apache.myrmidon.api.TaskException;

/**
* Copies standard output and error of subprocesses to standard output and error
* of the parent process. TODO: standard input of the subprocess is not
* implemented.
*
* @author thomas.haas@softwired-inc.com
*/
public class PumpStreamHandler
implements ExecuteStreamHandler
{
private Thread m_errorThread;
private Thread m_inputThread;

private OutputStream m_output;
private OutputStream m_error;

public PumpStreamHandler( final OutputStream output,
final OutputStream error )
{
m_output = output;
m_error = error;
}

public PumpStreamHandler( OutputStream outAndErr )
{
this( outAndErr, outAndErr );
}

public PumpStreamHandler()
{
this( System.out, System.err );
}

public void setProcessErrorStream( final InputStream error )
{
createProcessErrorPump( error, m_error );
}

public void setProcessInputStream( final OutputStream standardInput )
{
}

public void setProcessOutputStream( final InputStream standardOutput )
{
createProcessOutputPump( standardOutput, m_output );
}

public void start()
{
m_inputThread.start();
m_errorThread.start();
}

public void stop()
throws TaskException
{
try
{
m_inputThread.join();
}
catch( InterruptedException e )
{
}
try
{
m_errorThread.join();
}
catch( InterruptedException e )
{
}
try
{
m_error.flush();
}
catch( IOException e )
{
}
try
{
m_output.flush();
}
catch( IOException e )
{
}
}

protected OutputStream getErr()
{
return m_error;
}

protected OutputStream getOut()
{
return m_output;
}

protected void createProcessErrorPump( InputStream is, OutputStream os )
{
m_errorThread = createPump( is, os );
}

protected void createProcessOutputPump( InputStream is, OutputStream os )
{
m_inputThread = createPump( is, os );
}

/**
* Creates a stream pumper to copy the given input stream to the given
* output stream.
*
* @param is Description of Parameter
* @param os Description of Parameter
* @return Description of the Returned Value
*/
protected Thread createPump( final InputStream input,
final OutputStream output )
{
final Thread result = new Thread( new StreamPumper( input, output ) );
result.setDaemon( true );
return result;
}
}

+ 0
- 71
proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/exec/StreamPumper.java View File

@@ -1,71 +0,0 @@
/*
* Copyright (C) The Apache Software Foundation. All rights reserved.
*
* This software is published under the terms of the Apache Software License
* version 1.1, a copy of which has been included with this distribution in
* the LICENSE.txt file.
*/
package org.apache.tools.ant.taskdefs.exec;

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

/**
* Copies all data from an input stream to an output stream.
*
* @author thomas.haas@softwired-inc.com
*/
class StreamPumper
implements Runnable
{

// TODO: make SIZE and SLEEP instance variables.
// TODO: add a status flag to note if an error occured in run.

private final static int SLEEP = 5;
private final static int SIZE = 128;
private InputStream m_input;
private OutputStream m_output;

/**
* Create a new stream pumper.
*
* @param is input stream to read data from
* @param os output stream to write data to.
*/
public StreamPumper( final InputStream input,
final OutputStream output )
{
m_input = input;
m_output = output;
}

/**
* Copies data from the input stream to the output stream. Terminates as
* soon as the input stream is closed or an error occurs.
*/
public void run()
{
final byte[] buf = new byte[ SIZE ];

int length;
try
{
while( ( length = m_input.read( buf ) ) > 0 )
{
m_output.write( buf, 0, length );
try
{
Thread.sleep( SLEEP );
}
catch( InterruptedException e )
{
}
}
}
catch( IOException e )
{
}
}
}

+ 0
- 42
proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/exec/LogStreamHandler.java View File

@@ -1,42 +0,0 @@
/*
* Copyright (C) The Apache Software Foundation. All rights reserved.
*
* This software is published under the terms of the Apache Software License
* version 1.1, a copy of which has been included with this distribution in
* the LICENSE.txt file.
*/
package org.apache.tools.ant.taskdefs.exec;

import java.io.IOException;
import java.io.OutputStream;
import org.apache.myrmidon.api.TaskException;

/**
* Logs standard output and error of a subprocess to the log system of ant.
*
* @author thomas.haas@softwired-inc.com
*/
public class LogStreamHandler
extends PumpStreamHandler
{
public LogStreamHandler( final OutputStream output, final OutputStream error )
{
super( output, error );
}

public void stop()
throws TaskException
{
super.stop();
try
{
getErr().close();
getOut().close();
}
catch( IOException e )
{
// plain impossible
throw new TaskException( "Error", e );
}
}
}

+ 0
- 136
proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/exec/PumpStreamHandler.java View File

@@ -1,136 +0,0 @@
/*
* Copyright (C) The Apache Software Foundation. All rights reserved.
*
* This software is published under the terms of the Apache Software License
* version 1.1, a copy of which has been included with this distribution in
* the LICENSE.txt file.
*/
package org.apache.tools.ant.taskdefs.exec;

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import org.apache.myrmidon.api.TaskException;

/**
* Copies standard output and error of subprocesses to standard output and error
* of the parent process. TODO: standard input of the subprocess is not
* implemented.
*
* @author thomas.haas@softwired-inc.com
*/
public class PumpStreamHandler
implements ExecuteStreamHandler
{
private Thread m_errorThread;
private Thread m_inputThread;

private OutputStream m_output;
private OutputStream m_error;

public PumpStreamHandler( final OutputStream output,
final OutputStream error )
{
m_output = output;
m_error = error;
}

public PumpStreamHandler( OutputStream outAndErr )
{
this( outAndErr, outAndErr );
}

public PumpStreamHandler()
{
this( System.out, System.err );
}

public void setProcessErrorStream( final InputStream error )
{
createProcessErrorPump( error, m_error );
}

public void setProcessInputStream( final OutputStream standardInput )
{
}

public void setProcessOutputStream( final InputStream standardOutput )
{
createProcessOutputPump( standardOutput, m_output );
}

public void start()
{
m_inputThread.start();
m_errorThread.start();
}

public void stop()
throws TaskException
{
try
{
m_inputThread.join();
}
catch( InterruptedException e )
{
}
try
{
m_errorThread.join();
}
catch( InterruptedException e )
{
}
try
{
m_error.flush();
}
catch( IOException e )
{
}
try
{
m_output.flush();
}
catch( IOException e )
{
}
}

protected OutputStream getErr()
{
return m_error;
}

protected OutputStream getOut()
{
return m_output;
}

protected void createProcessErrorPump( InputStream is, OutputStream os )
{
m_errorThread = createPump( is, os );
}

protected void createProcessOutputPump( InputStream is, OutputStream os )
{
m_inputThread = createPump( is, os );
}

/**
* Creates a stream pumper to copy the given input stream to the given
* output stream.
*
* @param is Description of Parameter
* @param os Description of Parameter
* @return Description of the Returned Value
*/
protected Thread createPump( final InputStream input,
final OutputStream output )
{
final Thread result = new Thread( new StreamPumper( input, output ) );
result.setDaemon( true );
return result;
}
}

+ 0
- 71
proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/exec/StreamPumper.java View File

@@ -1,71 +0,0 @@
/*
* Copyright (C) The Apache Software Foundation. All rights reserved.
*
* This software is published under the terms of the Apache Software License
* version 1.1, a copy of which has been included with this distribution in
* the LICENSE.txt file.
*/
package org.apache.tools.ant.taskdefs.exec;

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

/**
* Copies all data from an input stream to an output stream.
*
* @author thomas.haas@softwired-inc.com
*/
class StreamPumper
implements Runnable
{

// TODO: make SIZE and SLEEP instance variables.
// TODO: add a status flag to note if an error occured in run.

private final static int SLEEP = 5;
private final static int SIZE = 128;
private InputStream m_input;
private OutputStream m_output;

/**
* Create a new stream pumper.
*
* @param is input stream to read data from
* @param os output stream to write data to.
*/
public StreamPumper( final InputStream input,
final OutputStream output )
{
m_input = input;
m_output = output;
}

/**
* Copies data from the input stream to the output stream. Terminates as
* soon as the input stream is closed or an error occurs.
*/
public void run()
{
final byte[] buf = new byte[ SIZE ];

int length;
try
{
while( ( length = m_input.read( buf ) ) > 0 )
{
m_output.write( buf, 0, length );
try
{
Thread.sleep( SLEEP );
}
catch( InterruptedException e )
{
}
}
}
catch( IOException e )
{
}
}
}

Loading…
Cancel
Save