org.kuali.rice.kew.routeheader.service.impl
Class WorkflowDocumentServiceImpl

java.lang.Object
  extended by org.kuali.rice.kew.routeheader.service.impl.WorkflowDocumentServiceImpl
All Implemented Interfaces:
WorkflowDocumentService

public class WorkflowDocumentServiceImpl
extends Object
implements WorkflowDocumentService

Author:
Kuali Rice Team (rice.collab@kuali.org) this class mainly interacts with ActionEvent 'action' classes and non-vo objects.

Constructor Summary
WorkflowDocumentServiceImpl()
           
 
Method Summary
 DocumentRouteHeaderValue acknowledgeDocument(String principalId, DocumentRouteHeaderValue routeHeader, String annotation)
           
 DocumentRouteHeaderValue adHocRouteDocumentToGroup(String principalId, DocumentRouteHeaderValue document, String actionRequested, String nodeName, Integer priority, String annotation, String groupId, String responsibilityDesc, Boolean forceAction, String requestLabel)
           
 DocumentRouteHeaderValue adHocRouteDocumentToPrincipal(String principalId, DocumentRouteHeaderValue document, String actionRequested, String nodeName, Integer priority, String annotation, String targetPrincipalId, String responsibilityDesc, Boolean forceAction, String requestLabel)
           
 DocumentRouteHeaderValue approveDocument(String principalId, DocumentRouteHeaderValue routeHeader, String annotation)
           
 DocumentRouteHeaderValue blanketApproval(String principalId, DocumentRouteHeaderValue routeHeader, String annotation, Integer routeLevel)
           
 DocumentRouteHeaderValue blanketApproval(String principalId, DocumentRouteHeaderValue routeHeader, String annotation, Set nodeNames)
           
 DocumentRouteHeaderValue cancelDocument(String principalId, DocumentRouteHeaderValue routeHeader, String annotation)
           
 DocumentRouteHeaderValue clearFYIDocument(String principalId, DocumentRouteHeaderValue routeHeader, String annotation)
           
 DocumentRouteHeaderValue completeDocument(String principalId, DocumentRouteHeaderValue routeHeader, String annotation)
           
 DocumentRouteHeaderValue createDocument(String principalId, DocumentRouteHeaderValue routeHeader)
           
 void deleteDocument(String principalId, DocumentRouteHeaderValue routeHeader)
           
 DocumentRouteHeaderValue disapproveDocument(String principalId, DocumentRouteHeaderValue routeHeader, String annotation)
           
protected  void indexForSearchAfterActionIfNecessary(DocumentRouteHeaderValue routeHeader)
          Does a search index after a non-post processing action completes
protected  Principal loadPrincipal(String principalId)
           
 void logDocumentAction(String principalId, DocumentRouteHeaderValue routeHeader, String annotation)
           
 DocumentRouteHeaderValue moveDocument(String principalId, DocumentRouteHeaderValue routeHeader, MovePoint movePoint, String annotation)
           
 DocumentRouteHeaderValue placeInExceptionRouting(String principalId, DocumentRouteHeaderValue routeHeader, String annotation)
           
 DocumentRouteHeaderValue releaseGroupAuthority(String principalId, DocumentRouteHeaderValue routeHeader, String groupId, String annotation)
           
 DocumentRouteHeaderValue returnDocumentToPreviousNode(String principalId, DocumentRouteHeaderValue routeHeader, String destinationNodeName, String annotation)
           
 DocumentRouteHeaderValue returnDocumentToPreviousRouteLevel(String principalId, DocumentRouteHeaderValue routeHeader, Integer destRouteLevel, String annotation)
           
 DocumentRouteHeaderValue revokeAdHocRequests(String principalId, DocumentRouteHeaderValue document, AdHocRevoke revoke, String annotation)
           
 DocumentRouteHeaderValue revokeAdHocRequests(String principalId, DocumentRouteHeaderValue document, String actionRequestId, String annotation)
           
 DocumentRouteHeaderValue routeDocument(String principalId, DocumentRouteHeaderValue routeHeader, String annotation)
           
 DocumentRouteHeaderValue saveDocument(String principalId, DocumentRouteHeaderValue routeHeader, String annotation)
           
 DocumentRouteHeaderValue saveRoutingData(String principalId, DocumentRouteHeaderValue routeHeader)
           
 DocumentRouteHeaderValue superUserActionRequestApproveAction(String principalId, DocumentRouteHeaderValue routeHeader, String actionRequestId, String annotation, boolean runPostProcessor)
           
 DocumentRouteHeaderValue superUserActionRequestApproveAction(String principalId, String documentId, String actionRequestId, String annotation, boolean runPostProcessor)
          TODO As with superUserReturnDocumentToPreviousNode, we allow for the passing in of a document ID here to allow for the document load inside the current running transaction.
 DocumentRouteHeaderValue superUserApprove(String principalId, DocumentRouteHeaderValue routeHeader, String annotation, boolean runPostProcessor)
           
 DocumentRouteHeaderValue superUserCancelAction(String principalId, DocumentRouteHeaderValue routeHeader, String annotation, boolean runPostProcessor)
           
 DocumentRouteHeaderValue superUserDisapproveAction(String principalId, DocumentRouteHeaderValue routeHeader, String annotation, boolean runPostProcessor)
           
 DocumentRouteHeaderValue superUserNodeApproveAction(String principalId, DocumentRouteHeaderValue routeHeader, String nodeName, String annotation, boolean runPostProcessor)
           
 DocumentRouteHeaderValue superUserNodeApproveAction(String principalId, String documentId, String nodeName, String annotation, boolean runPostProcessor)
          TODO As with superUserReturnDocumentToPreviousNode, we allow for the passing in of a document ID here to allow for the document load inside the current running transaction.
 DocumentRouteHeaderValue superUserReturnDocumentToPreviousNode(String principalId, DocumentRouteHeaderValue routeHeader, String nodeName, String annotation, boolean runPostProcessor)
           
 DocumentRouteHeaderValue superUserReturnDocumentToPreviousNode(String principalId, String documentId, String nodeName, String annotation, boolean runPostProcessor)
          TODO remove this implementation in favor of having the SuperUserAction call through the WorkflowDocument object.
 DocumentRouteHeaderValue takeGroupAuthority(String principalId, DocumentRouteHeaderValue routeHeader, String groupId, String annotation)
           
 void takeMassActions(String principalId, List<ActionInvocation> actionInvocations)
          Invokes a List of actions at once.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

WorkflowDocumentServiceImpl

public WorkflowDocumentServiceImpl()
Method Detail

acknowledgeDocument

public DocumentRouteHeaderValue acknowledgeDocument(String principalId,
                                                    DocumentRouteHeaderValue routeHeader,
                                                    String annotation)
                                             throws InvalidActionTakenException
Specified by:
acknowledgeDocument in interface WorkflowDocumentService
Throws:
InvalidActionTakenException

releaseGroupAuthority

public DocumentRouteHeaderValue releaseGroupAuthority(String principalId,
                                                      DocumentRouteHeaderValue routeHeader,
                                                      String groupId,
                                                      String annotation)
                                               throws InvalidActionTakenException
Specified by:
releaseGroupAuthority in interface WorkflowDocumentService
Throws:
InvalidActionTakenException

takeGroupAuthority

public DocumentRouteHeaderValue takeGroupAuthority(String principalId,
                                                   DocumentRouteHeaderValue routeHeader,
                                                   String groupId,
                                                   String annotation)
                                            throws InvalidActionTakenException
Specified by:
takeGroupAuthority in interface WorkflowDocumentService
Throws:
InvalidActionTakenException

approveDocument

public DocumentRouteHeaderValue approveDocument(String principalId,
                                                DocumentRouteHeaderValue routeHeader,
                                                String annotation)
                                         throws InvalidActionTakenException
Specified by:
approveDocument in interface WorkflowDocumentService
Throws:
InvalidActionTakenException

placeInExceptionRouting

public DocumentRouteHeaderValue placeInExceptionRouting(String principalId,
                                                        DocumentRouteHeaderValue routeHeader,
                                                        String annotation)
                                                 throws InvalidActionTakenException
Specified by:
placeInExceptionRouting in interface WorkflowDocumentService
Throws:
InvalidActionTakenException

adHocRouteDocumentToPrincipal

public DocumentRouteHeaderValue adHocRouteDocumentToPrincipal(String principalId,
                                                              DocumentRouteHeaderValue document,
                                                              String actionRequested,
                                                              String nodeName,
                                                              Integer priority,
                                                              String annotation,
                                                              String targetPrincipalId,
                                                              String responsibilityDesc,
                                                              Boolean forceAction,
                                                              String requestLabel)
                                                       throws WorkflowException
Specified by:
adHocRouteDocumentToPrincipal in interface WorkflowDocumentService
Throws:
WorkflowException

adHocRouteDocumentToGroup

public DocumentRouteHeaderValue adHocRouteDocumentToGroup(String principalId,
                                                          DocumentRouteHeaderValue document,
                                                          String actionRequested,
                                                          String nodeName,
                                                          Integer priority,
                                                          String annotation,
                                                          String groupId,
                                                          String responsibilityDesc,
                                                          Boolean forceAction,
                                                          String requestLabel)
                                                   throws WorkflowException
Specified by:
adHocRouteDocumentToGroup in interface WorkflowDocumentService
Throws:
WorkflowException

blanketApproval

public DocumentRouteHeaderValue blanketApproval(String principalId,
                                                DocumentRouteHeaderValue routeHeader,
                                                String annotation,
                                                Integer routeLevel)
                                         throws InvalidActionTakenException
Specified by:
blanketApproval in interface WorkflowDocumentService
Throws:
InvalidActionTakenException

blanketApproval

public DocumentRouteHeaderValue blanketApproval(String principalId,
                                                DocumentRouteHeaderValue routeHeader,
                                                String annotation,
                                                Set nodeNames)
                                         throws InvalidActionTakenException
Specified by:
blanketApproval in interface WorkflowDocumentService
Throws:
InvalidActionTakenException

cancelDocument

public DocumentRouteHeaderValue cancelDocument(String principalId,
                                               DocumentRouteHeaderValue routeHeader,
                                               String annotation)
                                        throws InvalidActionTakenException
Specified by:
cancelDocument in interface WorkflowDocumentService
Throws:
InvalidActionTakenException

indexForSearchAfterActionIfNecessary

protected void indexForSearchAfterActionIfNecessary(DocumentRouteHeaderValue routeHeader)
Does a search index after a non-post processing action completes

Parameters:
routeHeader - the route header of the document just acted upon

clearFYIDocument

public DocumentRouteHeaderValue clearFYIDocument(String principalId,
                                                 DocumentRouteHeaderValue routeHeader,
                                                 String annotation)
                                          throws InvalidActionTakenException
Specified by:
clearFYIDocument in interface WorkflowDocumentService
Throws:
InvalidActionTakenException

completeDocument

public DocumentRouteHeaderValue completeDocument(String principalId,
                                                 DocumentRouteHeaderValue routeHeader,
                                                 String annotation)
                                          throws InvalidActionTakenException
Specified by:
completeDocument in interface WorkflowDocumentService
Throws:
InvalidActionTakenException

createDocument

public DocumentRouteHeaderValue createDocument(String principalId,
                                               DocumentRouteHeaderValue routeHeader)
                                        throws WorkflowException
Specified by:
createDocument in interface WorkflowDocumentService
Throws:
WorkflowException

disapproveDocument

public DocumentRouteHeaderValue disapproveDocument(String principalId,
                                                   DocumentRouteHeaderValue routeHeader,
                                                   String annotation)
                                            throws InvalidActionTakenException
Specified by:
disapproveDocument in interface WorkflowDocumentService
Throws:
InvalidActionTakenException

returnDocumentToPreviousRouteLevel

public DocumentRouteHeaderValue returnDocumentToPreviousRouteLevel(String principalId,
                                                                   DocumentRouteHeaderValue routeHeader,
                                                                   Integer destRouteLevel,
                                                                   String annotation)
                                                            throws InvalidActionTakenException
Specified by:
returnDocumentToPreviousRouteLevel in interface WorkflowDocumentService
Throws:
InvalidActionTakenException

returnDocumentToPreviousNode

public DocumentRouteHeaderValue returnDocumentToPreviousNode(String principalId,
                                                             DocumentRouteHeaderValue routeHeader,
                                                             String destinationNodeName,
                                                             String annotation)
                                                      throws InvalidActionTakenException
Specified by:
returnDocumentToPreviousNode in interface WorkflowDocumentService
Throws:
InvalidActionTakenException

routeDocument

public DocumentRouteHeaderValue routeDocument(String principalId,
                                              DocumentRouteHeaderValue routeHeader,
                                              String annotation)
                                       throws WorkflowException,
                                              InvalidActionTakenException
Specified by:
routeDocument in interface WorkflowDocumentService
Throws:
WorkflowException
InvalidActionTakenException

saveRoutingData

public DocumentRouteHeaderValue saveRoutingData(String principalId,
                                                DocumentRouteHeaderValue routeHeader)
Specified by:
saveRoutingData in interface WorkflowDocumentService

saveDocument

public DocumentRouteHeaderValue saveDocument(String principalId,
                                             DocumentRouteHeaderValue routeHeader,
                                             String annotation)
                                      throws InvalidActionTakenException
Specified by:
saveDocument in interface WorkflowDocumentService
Throws:
InvalidActionTakenException

deleteDocument

public void deleteDocument(String principalId,
                           DocumentRouteHeaderValue routeHeader)
                    throws WorkflowException
Specified by:
deleteDocument in interface WorkflowDocumentService
Throws:
WorkflowException

logDocumentAction

public void logDocumentAction(String principalId,
                              DocumentRouteHeaderValue routeHeader,
                              String annotation)
                       throws InvalidActionTakenException
Specified by:
logDocumentAction in interface WorkflowDocumentService
Throws:
InvalidActionTakenException

moveDocument

public DocumentRouteHeaderValue moveDocument(String principalId,
                                             DocumentRouteHeaderValue routeHeader,
                                             MovePoint movePoint,
                                             String annotation)
                                      throws InvalidActionTakenException
Specified by:
moveDocument in interface WorkflowDocumentService
Throws:
InvalidActionTakenException

superUserActionRequestApproveAction

public DocumentRouteHeaderValue superUserActionRequestApproveAction(String principalId,
                                                                    DocumentRouteHeaderValue routeHeader,
                                                                    String actionRequestId,
                                                                    String annotation,
                                                                    boolean runPostProcessor)
                                                             throws InvalidActionTakenException
Specified by:
superUserActionRequestApproveAction in interface WorkflowDocumentService
Throws:
InvalidActionTakenException

superUserActionRequestApproveAction

public DocumentRouteHeaderValue superUserActionRequestApproveAction(String principalId,
                                                                    String documentId,
                                                                    String actionRequestId,
                                                                    String annotation,
                                                                    boolean runPostProcessor)
                                                             throws InvalidActionTakenException
TODO As with superUserReturnDocumentToPreviousNode, we allow for the passing in of a document ID here to allow for the document load inside the current running transaction. Otherwise we get an optimistic lock exception when attempting to save the branch after the transition to the 'A' status.

Specified by:
superUserActionRequestApproveAction in interface WorkflowDocumentService
Throws:
InvalidActionTakenException

superUserApprove

public DocumentRouteHeaderValue superUserApprove(String principalId,
                                                 DocumentRouteHeaderValue routeHeader,
                                                 String annotation,
                                                 boolean runPostProcessor)
                                          throws InvalidActionTakenException
Specified by:
superUserApprove in interface WorkflowDocumentService
Throws:
InvalidActionTakenException

superUserCancelAction

public DocumentRouteHeaderValue superUserCancelAction(String principalId,
                                                      DocumentRouteHeaderValue routeHeader,
                                                      String annotation,
                                                      boolean runPostProcessor)
                                               throws InvalidActionTakenException
Specified by:
superUserCancelAction in interface WorkflowDocumentService
Throws:
InvalidActionTakenException

superUserDisapproveAction

public DocumentRouteHeaderValue superUserDisapproveAction(String principalId,
                                                          DocumentRouteHeaderValue routeHeader,
                                                          String annotation,
                                                          boolean runPostProcessor)
                                                   throws InvalidActionTakenException
Specified by:
superUserDisapproveAction in interface WorkflowDocumentService
Throws:
InvalidActionTakenException

superUserNodeApproveAction

public DocumentRouteHeaderValue superUserNodeApproveAction(String principalId,
                                                           DocumentRouteHeaderValue routeHeader,
                                                           String nodeName,
                                                           String annotation,
                                                           boolean runPostProcessor)
                                                    throws InvalidActionTakenException
Specified by:
superUserNodeApproveAction in interface WorkflowDocumentService
Throws:
InvalidActionTakenException

superUserNodeApproveAction

public DocumentRouteHeaderValue superUserNodeApproveAction(String principalId,
                                                           String documentId,
                                                           String nodeName,
                                                           String annotation,
                                                           boolean runPostProcessor)
                                                    throws InvalidActionTakenException
TODO As with superUserReturnDocumentToPreviousNode, we allow for the passing in of a document ID here to allow for the document load inside the current running transaction. Otherwise we get an optimistic lock exception when attempting to save the branch after the transition to the 'A' status.

Specified by:
superUserNodeApproveAction in interface WorkflowDocumentService
Throws:
InvalidActionTakenException

superUserReturnDocumentToPreviousNode

public DocumentRouteHeaderValue superUserReturnDocumentToPreviousNode(String principalId,
                                                                      String documentId,
                                                                      String nodeName,
                                                                      String annotation,
                                                                      boolean runPostProcessor)
                                                               throws InvalidActionTakenException
TODO remove this implementation in favor of having the SuperUserAction call through the WorkflowDocument object. This method is here to resolve KULWF-727 where we were getting an optimistic lock exception from the super user screen on return to previous node. This allows us to load the DocumentRouteHeaderValue inside of the transaction interceptor so that we can stay within the same PersistenceBroker cache.

Specified by:
superUserReturnDocumentToPreviousNode in interface WorkflowDocumentService
Throws:
InvalidActionTakenException

superUserReturnDocumentToPreviousNode

public DocumentRouteHeaderValue superUserReturnDocumentToPreviousNode(String principalId,
                                                                      DocumentRouteHeaderValue routeHeader,
                                                                      String nodeName,
                                                                      String annotation,
                                                                      boolean runPostProcessor)
                                                               throws InvalidActionTakenException
Specified by:
superUserReturnDocumentToPreviousNode in interface WorkflowDocumentService
Throws:
InvalidActionTakenException

takeMassActions

public void takeMassActions(String principalId,
                            List<ActionInvocation> actionInvocations)
Description copied from interface: WorkflowDocumentService
Invokes a List of actions at once. This method will remove the approriate action items from the user's action list and then schedule the actual processing of the actions.

Specified by:
takeMassActions in interface WorkflowDocumentService

revokeAdHocRequests

public DocumentRouteHeaderValue revokeAdHocRequests(String principalId,
                                                    DocumentRouteHeaderValue document,
                                                    AdHocRevoke revoke,
                                                    String annotation)
                                             throws InvalidActionTakenException
Specified by:
revokeAdHocRequests in interface WorkflowDocumentService
Throws:
InvalidActionTakenException

revokeAdHocRequests

public DocumentRouteHeaderValue revokeAdHocRequests(String principalId,
                                                    DocumentRouteHeaderValue document,
                                                    String actionRequestId,
                                                    String annotation)
                                             throws InvalidActionTakenException
Specified by:
revokeAdHocRequests in interface WorkflowDocumentService
Throws:
InvalidActionTakenException

loadPrincipal

protected Principal loadPrincipal(String principalId)


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