org.kuali.rice.krad.service.impl
Class PostProcessorServiceImpl

java.lang.Object
  extended by org.kuali.rice.krad.service.impl.PostProcessorServiceImpl
All Implemented Interfaces:
PostProcessor, PostProcessorService

@Transactional
public class PostProcessorServiceImpl
extends Object
implements PostProcessorService

This class is the postProcessor for the Kuali application, and it is responsible for plumbing events up to documents using the built into the document methods for handling route status and other routing changes that take place asyncronously and potentially on a different server.


Constructor Summary
PostProcessorServiceImpl()
           
 
Method Summary
 ProcessDocReport afterActionTaken(ActionType performed, ActionTakenEvent event)
          Executed after an action is taken against the document.
 ProcessDocReport afterProcess(AfterProcessEvent event)
          This method first checks to see if the document can be retrieved by the DocumentService.
 ProcessDocReport beforeProcess(BeforeProcessEvent event)
          This method first checks to see if the document can be retrieved by the DocumentService.
 ProcessDocReport doActionTaken(ActionTakenEvent event)
          Executed whenever an action is taken against the document.
 ProcessDocReport doDeleteRouteHeader(DeleteEvent event)
          Executed whenever a deletion of the document is required.
 ProcessDocReport doRouteLevelChange(DocumentRouteLevelChange levelChangeEvent)
          Executed whenever the document transitions from one node to another.
 ProcessDocReport doRouteStatusChange(DocumentRouteStatusChange statusChangeEvent)
          Executed whenever the status of the document changes.
protected  UserSession establishPostProcessorUserSession()
          Establishes the UserSession if one does not already exist.
 List<String> getDocumentIdsToLock(DocumentLockingEvent event)
          This method first checks to see if the document can be retrieved by the DocumentService.
 void setDocumentService(DocumentService documentService)
          Sets the documentService attribute value.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PostProcessorServiceImpl

public PostProcessorServiceImpl()
Method Detail

doRouteStatusChange

public ProcessDocReport doRouteStatusChange(DocumentRouteStatusChange statusChangeEvent)
                                     throws Exception
Description copied from interface: PostProcessor
Executed whenever the status of the document changes.

Specified by:
doRouteStatusChange in interface PostProcessor
Returns:
ProcessDocReport indicating if the status change succeeded
Throws:
Exception
See Also:
PostProcessor.doRouteStatusChange(org.kuali.rice.kew.framework.postprocessor.DocumentRouteStatusChange)

doRouteLevelChange

public ProcessDocReport doRouteLevelChange(DocumentRouteLevelChange levelChangeEvent)
                                    throws Exception
Description copied from interface: PostProcessor
Executed whenever the document transitions from one node to another.

Specified by:
doRouteLevelChange in interface PostProcessor
Returns:
ProcessDocReport indicating if the node transition succeeded
Throws:
Exception
See Also:
PostProcessor.doRouteLevelChange(org.kuali.rice.kew.framework.postprocessor.DocumentRouteLevelChange)

doDeleteRouteHeader

public ProcessDocReport doDeleteRouteHeader(DeleteEvent event)
                                     throws Exception
Description copied from interface: PostProcessor
Executed whenever a deletion of the document is required.

Specified by:
doDeleteRouteHeader in interface PostProcessor
Returns:
ProcessDocReport indicating if the deletion should be permitted to occur or not
Throws:
Exception
See Also:
PostProcessor.doDeleteRouteHeader(org.kuali.rice.kew.framework.postprocessor.DeleteEvent)

doActionTaken

public ProcessDocReport doActionTaken(ActionTakenEvent event)
                               throws Exception
Description copied from interface: PostProcessor
Executed whenever an action is taken against the document.

Specified by:
doActionTaken in interface PostProcessor
Returns:
ProcessDocReport indicating whether or not the action should succeed
Throws:
Exception
See Also:
PostProcessor.doActionTaken(org.kuali.rice.kew.framework.postprocessor.ActionTakenEvent)

afterActionTaken

public ProcessDocReport afterActionTaken(ActionType performed,
                                         ActionTakenEvent event)
                                  throws Exception
Description copied from interface: PostProcessor
Executed after an action is taken against the document.

Specified by:
afterActionTaken in interface PostProcessor
Returns:
ProcessDocReport indicating whether or not the action was successful
Throws:
Exception
See Also:
PostProcessor.afterActionTaken(org.kuali.rice.kew.api.action.ActionType, org.kuali.rice.kew.framework.postprocessor.ActionTakenEvent)

afterProcess

public ProcessDocReport afterProcess(AfterProcessEvent event)
                              throws Exception
This method first checks to see if the document can be retrieved by the DocumentService. If the document is found the Document.afterWorkflowEngineProcess(boolean) method will be invoked on it

Specified by:
afterProcess in interface PostProcessor
Returns:
ProcessDocReport indicating whether or not the document was successfully processed
Throws:
Exception
See Also:
PostProcessor.afterProcess(org.kuali.rice.kew.framework.postprocessor.AfterProcessEvent)

beforeProcess

public ProcessDocReport beforeProcess(BeforeProcessEvent event)
                               throws Exception
This method first checks to see if the document can be retrieved by the DocumentService. If the document is found the Document.beforeWorkflowEngineProcess() method will be invoked on it

Specified by:
beforeProcess in interface PostProcessor
Returns:
ProcessDocReport indicating whether or not the document processing should be allowed to proceed
Throws:
Exception
See Also:
PostProcessor.beforeProcess(org.kuali.rice.kew.framework.postprocessor.BeforeProcessEvent)

getDocumentIdsToLock

public List<String> getDocumentIdsToLock(DocumentLockingEvent event)
                                  throws Exception
This method first checks to see if the document can be retrieved by the DocumentService. If the document is found the Document.beforeWorkflowEngineProcess() method will be invoked on it

Specified by:
getDocumentIdsToLock in interface PostProcessor
Returns:
a List of document ids to lock prior to execution of the workflow engine
Throws:
Exception
See Also:
PostProcessor.beforeProcess(org.kuali.rice.kew.framework.postprocessor.BeforeProcessEvent)

setDocumentService

public final void setDocumentService(DocumentService documentService)
Sets the documentService attribute value.

Parameters:
documentService - The documentService to set.

establishPostProcessorUserSession

protected UserSession establishPostProcessorUserSession()
                                                 throws WorkflowException
Establishes the UserSession if one does not already exist.

Throws:
WorkflowException


Copyright © 2005-2013 The Kuali Foundation. All Rights Reserved.