org.osesb.msgrouting.test.deployabletestpackage1
Class EchoMessageWithRandomPipelineStageExceptionPipelineStage

java.lang.Object
  extended by org.osesb.messagepipeline.PipelineStage
      extended by org.osesb.msgrouting.test.deployabletestpackage1.EchoMessageWithRandomPipelineStageExceptionPipelineStage

public class EchoMessageWithRandomPipelineStageExceptionPipelineStage
extends PipelineStage

Test PipelineStage configured by message-pipeline-4-test-config.xml.

See Also:

EchoMessageWithRandomPipelineStageExceptionPipelineStage#runStage() generates a random number. If the number is even, runStage() parses the input message using a pooled SAX parser and sets the result message for it's MessagePipeline to the content of the input message. If the number is odd, runStage() throws a PipelineStageException with the 'exceptionClassification' property set to 'testException'.


Field Summary
 
Fields inherited from class org.osesb.messagepipeline.PipelineStage
log, messagePipelineContext, nextStage, parentMessagePipeline, pipelineStageConfiguration, previousStage, thisClassName
 
Constructor Summary
EchoMessageWithRandomPipelineStageExceptionPipelineStage(MessagePipeline parentMessagePipeline, PipelineStageConfiguration pipelineStageConfiguration)
          Creates a new instance of EchoMessageWithRandomPipelineStageExceptionPipelineStage.
 
Method Summary
 boolean runStage(EAIMessage eaiMessage)
          Run PipelineStage logic.
 
Methods inherited from class org.osesb.messagepipeline.PipelineStage
beingDroppedFromPool, commit, getMessagePipelineContext, getNextStage, getParentMessagePipeline, getPipelineStageConfiguration, getPreviousStage, handlePipelineException, handlePipelineException, logMessage, propagate, rollback, setNextStage, setOutputMessage, setPreviousStage, setResultMessage, stageProcessingComplete, stageProcessingStarting
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

EchoMessageWithRandomPipelineStageExceptionPipelineStage

public EchoMessageWithRandomPipelineStageExceptionPipelineStage(MessagePipeline parentMessagePipeline,
                                                                PipelineStageConfiguration pipelineStageConfiguration)
                                                         throws java.lang.Exception
Creates a new instance of EchoMessageWithRandomPipelineStageExceptionPipelineStage.

Parameters:
parentMessagePipeline - The MessagePipeline that constructed this PipelineStage.
pipelineStageConfiguration - A PipelineStageConfiguration for this PipelineStage.
Throws:
java.lang.Exception - if constructed with a null parentMessagePipeline or a null pipelineStageConfiguration.
Method Detail

runStage

public boolean runStage(EAIMessage eaiMessage)
                 throws PipelineStageException
Run PipelineStage logic.

The runStage() method expects an IXMLMessage with XML text as the payload.

runStage() gennerates a random number. If the number is even, runStage() parses the input message using a pooled SAX parser and sets the result message for it's MessagePipeline to the content of the input message. If the number is odd, runStage() throws a PipelineStageException with the 'exceptionClassification' property set to 'testException'.

Overrides:
runStage in class PipelineStage
Parameters:
eaiMessage - The EAI message, which is the output of the last PipeLineStage that invoked setOutputMessage(), or, if this is the first PiplelineStage, then this is the EAIMessage that the MessagePipeline was invoked with.
Returns:
true to continue pipeline processing or false to terminate pipeline processing.
Throws:
a - PipelineStageException if any errors occur.
PipelineStageException