org.kuali.rice.ken.postprocessor.kew
Class NotificationPostProcessor

java.lang.Object
  extended by org.kuali.rice.ken.postprocessor.kew.NotificationPostProcessor
All Implemented Interfaces:
PostProcessor

public class NotificationPostProcessor
extends Object
implements PostProcessor

This class is the post processor that gets run when workflow state changes occur for the underlying core NotificationDocumentType that all notifications go into KEW as. This class is responsible for changing the state of the associated notification message delivery record after someone FYIs or ACKs their notification in the KEW Action List.

Author:
Kuali Rice Team (rice.collab@kuali.org)

Constructor Summary
NotificationPostProcessor()
          Constructs a NotificationPostProcessor instance.
 
Method Summary
 ProcessDocReport afterActionTaken(ActionType performed, ActionTakenEvent event)
          Executed after an action is taken against the document.
 ProcessDocReport afterProcess(AfterProcessEvent afterProcessEvent)
          Executed after processing by the workflow engine has completed.
 ProcessDocReport beforeProcess(BeforeProcessEvent beforeProcessEvent)
          Executed prior to processing by the workflow engine.
 ProcessDocReport doActionTaken(ActionTakenEvent event)
          Need to intercept ACKNOWLEDGE or FYI actions taken on notification workflow documents and set the local state of the Notification to REMOVED as well.
 ProcessDocReport doDeleteRouteHeader(DeleteEvent arg0)
          Executed whenever a deletion of the document is required.
 ProcessDocReport doRouteLevelChange(DocumentRouteLevelChange arg0)
          Executed whenever the document transitions from one node to another.
 ProcessDocReport doRouteStatusChange(DocumentRouteStatusChange arg0)
          Executed whenever the status of the document changes.
 List<String> getDocumentIdsToLock(DocumentLockingEvent documentLockingEvent)
          Executed prior to document locking in the workflow engine.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NotificationPostProcessor

public NotificationPostProcessor()
Constructs a NotificationPostProcessor instance.

Method Detail

doActionTaken

public ProcessDocReport doActionTaken(ActionTakenEvent event)
                               throws Exception
Need to intercept ACKNOWLEDGE or FYI actions taken on notification workflow documents and set the local state of the Notification to REMOVED as well.

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)

doDeleteRouteHeader

public ProcessDocReport doDeleteRouteHeader(DeleteEvent arg0)
                                     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)

doRouteLevelChange

public ProcessDocReport doRouteLevelChange(DocumentRouteLevelChange arg0)
                                    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)

doRouteStatusChange

public ProcessDocReport doRouteStatusChange(DocumentRouteStatusChange arg0)
                                     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)

beforeProcess

public ProcessDocReport beforeProcess(BeforeProcessEvent beforeProcessEvent)
                               throws Exception
Description copied from interface: PostProcessor
Executed prior to processing by the workflow engine.

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)

afterProcess

public ProcessDocReport afterProcess(AfterProcessEvent afterProcessEvent)
                              throws Exception
Description copied from interface: PostProcessor
Executed after processing by the workflow engine has completed.

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)

getDocumentIdsToLock

public List<String> getDocumentIdsToLock(DocumentLockingEvent documentLockingEvent)
                                  throws Exception
Description copied from interface: PostProcessor
Executed prior to document locking in the workflow engine. This method returns a List of document ids to lock prior to execution of the document in the workflow engine. If the engine processing is going to result in updates to any other documents, they should be locked at the beginning of the engine processing transaction. This method facilitates that.

Note that, by default, the id of the document that is being processed by the engine is always locked. So there is no need to return that document id in the list of document ids to lock.

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.getDocumentIdsToLock(org.kuali.rice.kew.framework.postprocessor.DocumentLockingEvent)


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