org.apache.catalina.ant
Class BaseRedirectorHelperTask

java.lang.Object
  extended byorg.apache.tools.ant.ProjectComponent
      extended byorg.apache.tools.ant.Task
          extended byorg.apache.catalina.ant.BaseRedirectorHelperTask
All Implemented Interfaces:
java.lang.Cloneable
Direct Known Subclasses:
AbstractCatalinaTask, JMXAccessorTask, ValidatorTask

public abstract class BaseRedirectorHelperTask
extends org.apache.tools.ant.Task

Abstract base class to add output redirection support for Catalina Ant tasks. These tasks require Ant 1.5 or later.
WARNING: due to depends chain, Ant could call a Task more than once and this can affect the output redirection when configured. If you are collecting the output in a property, it will collect the output of only the first run, since Ant properties are immutable and once created they cannot be changed.
If you are collecting output in a file the file will be overwritten with the output of the last run, unless you set append="true", in which case each run will append it's output to the file.

Since:
5.5
Version:
$Id: BaseRedirectorHelperTask.java 939523 2010-04-30 00:28:42Z kkolinko $
Author:
Gabriele Garuglieri

Field Summary
protected  boolean alwaysLog
          Flag which indicates that, if redirected, output should also be always sent to the log.
protected  boolean failOnError
          Whether to fail (with a BuildException) if ManagerServlet returns an error.
protected  java.io.OutputStream redirectErrStream
          The stream for error output
protected  org.apache.tools.ant.taskdefs.Redirector redirector
          Redirector helper
protected  boolean redirectorConfigured
          will be set to true when the configuration of the Redirector is complete.
protected  org.apache.tools.ant.types.RedirectorElement redirectorElement
          Redirector element for this task
protected  boolean redirectOutput
          true true when output redirection is requested for this task .
protected  java.io.OutputStream redirectOutStream
          The stream for info output
 
Fields inherited from class org.apache.tools.ant.Task
target, taskName, taskType, wrapper
 
Fields inherited from class org.apache.tools.ant.ProjectComponent
description, location, project
 
Constructor Summary
BaseRedirectorHelperTask()
           
 
Method Summary
 void addConfiguredRedirector(org.apache.tools.ant.types.RedirectorElement redirectorElement)
          Add a RedirectorElement to this task.
protected  void closeRedirector()
          Ask redirector to close all the streams.
protected  void handleErrorFlush(java.lang.String output)
          Handles error output with the ERR priority and flushes the stream.
protected  void handleErrorOutput(java.lang.String output)
          Handles error output with the ERR priority.
protected  void handleFlush(java.lang.String output)
          Handles output with the INFO priority and flushes the stream.
protected  void handleFlush(java.lang.String output, int priority)
          Handles output with ERR priority to error stream and all other pritorities to output stream, then flushes the stream.
protected  void handleOutput(java.lang.String output)
          Handles output with the INFO priority.
protected  void handleOutput(java.lang.String output, int priority)
          Handles output with ERR priority to error stream and all other pritorities to output stream.
 boolean isFailOnError()
          Returns the value of the failOnError property.
protected  void openRedirector()
          Set up properties on the Redirector and create output streams.
 void setAlwaysLog(boolean alwaysLog)
          If true, (error and non-error) output will be redirected as specified while being sent to Ant's logging mechanism as if no redirection had taken place.
 void setAppend(boolean append)
          If true, append output to existing file.
 void setCreateEmptyFiles(boolean createEmptyFiles)
          Whether output and error files should be created even when empty.
 void setError(java.io.File error)
          File the error output of the task is redirected to.
 void setErrorProperty(java.lang.String errorProperty)
          Property name whose value should be set to the error of the task..
 void setFailonerror(boolean fail)
          Whether to fail (with a BuildException) if ManagerServlet returns an error.
 void setLogError(boolean logError)
          Controls whether error output is logged.
 void setOutput(java.io.File out)
          File the output of the task is redirected to.
 void setOutputproperty(java.lang.String outputProperty)
          Property name whose value should be set to the output of the task.
 
Methods inherited from class org.apache.tools.ant.Task
bindToOwner, execute, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleInput, init, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType
 
Methods inherited from class org.apache.tools.ant.ProjectComponent
clone, getDescription, getLocation, getProject, setDescription, setLocation, setProject
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

redirector

protected org.apache.tools.ant.taskdefs.Redirector redirector
Redirector helper


redirectorElement

protected org.apache.tools.ant.types.RedirectorElement redirectorElement
Redirector element for this task


redirectOutStream

protected java.io.OutputStream redirectOutStream
The stream for info output


redirectErrStream

protected java.io.OutputStream redirectErrStream
The stream for error output


failOnError

protected boolean failOnError
Whether to fail (with a BuildException) if ManagerServlet returns an error. The default behavior is to do so. This flag does not control parameters checking. If the task is called with wrong or invalid parameters, it will throw BuildException independently from the setting of this flag.


redirectOutput

protected boolean redirectOutput
true true when output redirection is requested for this task . Default is to log on Ant log.


redirectorConfigured

protected boolean redirectorConfigured
will be set to true when the configuration of the Redirector is complete.


alwaysLog

protected boolean alwaysLog
Flag which indicates that, if redirected, output should also be always sent to the log. Default is that otput is sent only to redirected streams.

Constructor Detail

BaseRedirectorHelperTask

public BaseRedirectorHelperTask()
Method Detail

setFailonerror

public void setFailonerror(boolean fail)
Whether to fail (with a BuildException) if ManagerServlet returns an error. The default behavior is to do so.


isFailOnError

public boolean isFailOnError()
Returns the value of the failOnError property.


setOutput

public void setOutput(java.io.File out)
File the output of the task is redirected to.

Parameters:
out - name of the output file

setError

public void setError(java.io.File error)
File the error output of the task is redirected to.

Parameters:
error - name of the error file

setLogError

public void setLogError(boolean logError)
Controls whether error output is logged. This is only useful when output is being redirected and error output is desired in the Ant log

Parameters:
logError - if true the standard error is sent to the Ant log system and not sent to output stream.

setOutputproperty

public void setOutputproperty(java.lang.String outputProperty)
Property name whose value should be set to the output of the task.

Parameters:
outputProperty - property name

setErrorProperty

public void setErrorProperty(java.lang.String errorProperty)
Property name whose value should be set to the error of the task..

Parameters:
errorProperty - property name

setAppend

public void setAppend(boolean append)
If true, append output to existing file.

Parameters:
append - if true, append output to existing file

setAlwaysLog

public void setAlwaysLog(boolean alwaysLog)
If true, (error and non-error) output will be redirected as specified while being sent to Ant's logging mechanism as if no redirection had taken place. Defaults to false.
Actually handled internally, with Ant 1.6.3 it will be handled by the Redirector itself.

Parameters:
alwaysLog - boolean

setCreateEmptyFiles

public void setCreateEmptyFiles(boolean createEmptyFiles)
Whether output and error files should be created even when empty. Defaults to true.

Parameters:
createEmptyFiles - boolean.

addConfiguredRedirector

public void addConfiguredRedirector(org.apache.tools.ant.types.RedirectorElement redirectorElement)
Add a RedirectorElement to this task.

Parameters:
redirectorElement - RedirectorElement.

openRedirector

protected void openRedirector()
Set up properties on the Redirector and create output streams.


closeRedirector

protected void closeRedirector()
Ask redirector to close all the streams. It is necessary to call this method before leaving the Task to have the Streams flush their contents. If you are collecting output in a property, it will be created only if this method is called, otherwise you'll find it unset.


handleOutput

protected void handleOutput(java.lang.String output)
Handles output with the INFO priority.

Parameters:
output - The output to log. Should not be null.

handleFlush

protected void handleFlush(java.lang.String output)
Handles output with the INFO priority and flushes the stream.

Parameters:
output - The output to log. Should not be null.

handleErrorOutput

protected void handleErrorOutput(java.lang.String output)
Handles error output with the ERR priority.

Parameters:
output - The error output to log. Should not be null.

handleErrorFlush

protected void handleErrorFlush(java.lang.String output)
Handles error output with the ERR priority and flushes the stream.

Parameters:
output - The error output to log. Should not be null.

handleOutput

protected void handleOutput(java.lang.String output,
                            int priority)
Handles output with ERR priority to error stream and all other pritorities to output stream.

Parameters:
output - The output to log. Should not be null.

handleFlush

protected void handleFlush(java.lang.String output,
                           int priority)
Handles output with ERR priority to error stream and all other pritorities to output stream, then flushes the stream.

Parameters:
output - The output to log. Should not be null.


Copyright © 2000-2012 Apache Software Foundation. All Rights Reserved.