org.osesb.msgrouting.test.deployabletestpackage1
Class FCEchoMessageWithRandomPipelineStageExceptionPipelineStage

java.lang.Object
  extended by org.osesb.messagepipeline.PipelineStage
      extended by org.osesb.messagepipeline.builtinstages.FlowControlPipelineStage
          extended by org.osesb.msgrouting.test.deployabletestpackage1.FCEchoMessageWithRandomPipelineStageExceptionPipelineStage

public class FCEchoMessageWithRandomPipelineStageExceptionPipelineStage
extends FlowControlPipelineStage

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

See Also:

FCEchoMessageWithRandomPipelineStageExceptionPipelineStage is a FlowControlPipelineStage that configures two EchoMessageWithRandomPipelineStageExceptionPipelineStage branches.

The purpose of this PipelineStage is to test PipelineStageExceptions thrown by MessagePipelines configured as part of FlowControlPipelineStage(s).

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.builtinstages.FlowControlPipelineStage
branchPipelinesThatWereLastRun, flowControlMessagePipelineBranchConfiguration, threadManager
 
Fields inherited from class org.osesb.messagepipeline.PipelineStage
log, messagePipelineContext, nextStage, parentMessagePipeline, pipelineStageConfiguration, previousStage, thisClassName
 
Constructor Summary
FCEchoMessageWithRandomPipelineStageExceptionPipelineStage(MessagePipeline parentMessagePipeline, PipelineStageConfiguration pipelineStageConfiguration)
          Creates a new instance of FCEchoMessageWithRandomPipelineStageExceptionPipelineStage.
 
Method Summary
 boolean runStage(EAIMessage eaiMessage)
          Run PipelineStage logic.
 
Methods inherited from class org.osesb.messagepipeline.builtinstages.FlowControlPipelineStage
getBranchPipelinesThatWereLastRun, getFlowControlMessagePipelineBranchConfiguration, loadFlowControlMessagePipelineBranchConfiguration, main, runBranchPipelines
 
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

FCEchoMessageWithRandomPipelineStageExceptionPipelineStage

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

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.

FCEchoMessageWithRandomPipelineStageExceptionPipelineStage is a FlowControlPipelineStage that configures two EchoMessageWithRandomPipelineStageExceptionPipelineStage branches.

The purpose of this PipelineStage is to test PipelineStageExceptions thrown by MessagePipelines configured as part of FlowControlPipelineStage(s).

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'.

Overrides:
runStage in class FlowControlPipelineStage
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