| 
      |||||||||||
| ?PREV CLASS? ?NEXT CLASS | FRAMES ? ?NO FRAMES ? ? | ||||||||||
| SUMMARY:?NESTED?|?FIELD?|?CONSTR?|?METHOD | DETAIL:?FIELD?|?CONSTR?|?METHOD | ||||||||||
java.lang.Object
  |
  +--uk.org.ogsadai.engine.controlflow.CompositeRequestComponent
        |
        +--uk.org.ogsadai.engine.controlflow.FlowRequestComponent
  A composite RequestComponent that contains a number of child components which will be processed concurrently when the process method is invoked.
| Field Summary | |
private static?java.lang.String | 
      
COPYRIGHT_NOTICE??????????Copyright statement.  | 
    
private static?DAILogger | 
      
LOG??????????Logger object for logging in this class.  | 
    
private ?java.lang.Exception | 
      
mCause??????????The exception that caused the processing to fail.  | 
    
private ?java.lang.String | 
      
mName??????????Unique name of this flow request component.  | 
    
private ?java.util.List | 
      
mThreads??????????The additional threads spawned to process child 2 to n.  | 
    
| Fields inherited from class uk.org.ogsadai.engine.controlflow.CompositeRequestComponent | 
 | 
    
| Constructor Summary | |
FlowRequestComponent(java.lang.String?name)??????????Constructor  | 
    |
| Method Summary | |
private ?boolean | 
      
hasException()??????????Was there an exception raised during processing?  | 
    
private ?void | 
      
joinThreads()??????????Joins any additional threads that were spawned.  | 
    
?void | 
      
process(ActivityContext?context, ResponseBuilder?responseBuilder)??????????Processes the component.  | 
    
private ?void | 
      
raiseException()??????????If an exception was raised during processing then throw it now.  | 
    
private ?void | 
      
reportException(java.lang.Exception?cause, ResponseBuilder?responseBuilder)??????????Invoked when an exception is raised by one of the processing threads.  | 
    
private ?void | 
      
spawnThreads(java.util.List?children, ActivityContext?context, ResponseBuilder?responseBuilder)??????????This will spawn any additional processing threads that are needed.  | 
    
?void | 
      
terminate()??????????Terminates the processing of the request component.  | 
    
| Methods inherited from class uk.org.ogsadai.engine.controlflow.CompositeRequestComponent | 
add, children, generatesResultData, initialise | 
    
| Methods inherited from class java.lang.Object | 
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
    
| Methods inherited from interface uk.org.ogsadai.engine.controlflow.RequestComponent | 
add, children, generatesResultData, initialise | 
    
| Field Detail | 
private static final java.lang.String COPYRIGHT_NOTICE
private static final DAILogger LOG
private java.util.List mThreads
private java.lang.Exception mCause
private final java.lang.String mName
| Constructor Detail | 
public FlowRequestComponent(java.lang.String?name)
name - Unique name of this flow request component.| Method Detail | 
public void process(ActivityContext?context,
                    ResponseBuilder?responseBuilder)
             throws RequestSpecificationException,
                    RequestExecutionException
  RequestComponentterminate method by another thread. Hence, when this method returns processing will be either complete or terminated.
      
    process in interface RequestComponent
context - The context for the requestresponseBuilder - The response builder for assembling the response document during processingRequestExecutionException - If a problem occurs during processing that is not caused by incorrect information in the request.RequestSpecificationException - If there is a processing problem caused by incorrect information in the request.
private void spawnThreads(java.util.List?children,
                          ActivityContext?context,
                          ResponseBuilder?responseBuilder)
  mThreads attribute will be populated.
      
    children - Child components of the flow request component.context - Execution context for activity execution.responseBuilder - Response document builder - used to handle insertion of information about processing results and exceptions.private void joinThreads()
private void reportException(java.lang.Exception?cause,
                             ResponseBuilder?responseBuilder)
  cause - Exception raised by processing thread.responseBuilder - Response document builder - used to handle insertion of information about the exception.private boolean hasException()
true if an exception was raised, false otherwise.
private void raiseException()
                     throws RequestSpecificationException,
                            RequestExecutionException
  RequestExecutionException - if that was the exception raised during processing.RequestSpecificationException - if that was the exception raised during processing.public void terminate()
RequestComponentterminate in interface RequestComponent
        
        
  | 
      |||||||||||
| ?PREV CLASS? ?NEXT CLASS | FRAMES ? ?NO FRAMES ? ? | ||||||||||
| SUMMARY:?NESTED?|?FIELD?|?CONSTR?|?METHOD | DETAIL:?FIELD?|?CONSTR?|?METHOD | ||||||||||