use of org.kuali.kfs.kew.api.document.DocumentOrchestrationQueue in project cu-kfs by CU-CommunityApps.
the class DocumentOperationAction method blanketApproveDocument.
public ActionForward blanketApproveDocument(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
try {
DocumentOperationForm docForm = (DocumentOperationForm) form;
String blanketApproverUser = docForm.getBlanketApproveUser();
if (StringUtils.isBlank(blanketApproverUser)) {
throw new WorkflowServiceErrorException("No user was provided in the Blanket Approve User field", new WorkflowServiceErrorImpl("No user was provided in the Blanket Approve User field", "docoperation.operation.invalid"));
}
String principalId = KimApiServiceLocator.getPersonService().getPersonByPrincipalName(docForm.getBlanketApproveUser()).getPrincipalId();
Set<String> nodeNames = new HashSet<>();
if (StringUtils.isNotBlank(docForm.getBlanketApproveNodes())) {
String[] nodeNameArray = docForm.getBlanketApproveNodes().split(",");
for (String nodeName : nodeNameArray) {
nodeNames.add(nodeName.trim());
}
}
DocumentRouteHeaderValue document = docForm.getRouteHeader();
DocumentOrchestrationQueue blanketApprove = KewApiServiceLocator.getDocumentOrchestrationQueue(document.getDocumentId());
DocumentOrchestrationConfig documentOrchestrationConfig = DocumentOrchestrationConfig.create(docForm.getBlanketApproveActionTakenId(), nodeNames);
DocumentProcessingOptions options = DocumentProcessingOptions.createDefault();
blanketApprove.orchestrateDocument(docForm.getRouteHeader().getDocumentId(), principalId, documentOrchestrationConfig, options);
ActionMessages messages = new ActionMessages();
messages.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage("general.message", "Blanket Approve Processor was successfully scheduled"));
saveMessages(request, messages);
return mapping.findForward("basic");
} catch (Exception e) {
throw new WorkflowRuntimeException(e);
}
}
use of org.kuali.kfs.kew.api.document.DocumentOrchestrationQueue in project cu-kfs by CU-CommunityApps.
the class DocumentOperationAction method moveDocument.
public ActionForward moveDocument(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
try {
DocumentOperationForm docForm = (DocumentOperationForm) form;
String principalId = KEWServiceLocator.getIdentityHelperService().getIdForPrincipalName(docForm.getBlanketApproveUser());
Set<String> nodeNames = new HashSet<>();
if (StringUtils.isNotBlank(docForm.getBlanketApproveNodes())) {
String[] nodeNameArray = docForm.getBlanketApproveNodes().split(",");
for (String nodeName : nodeNameArray) {
nodeNames.add(nodeName.trim());
}
}
DocumentRouteHeaderValue document = docForm.getRouteHeader();
DocumentOrchestrationQueue orchestrationQueue = KewApiServiceLocator.getDocumentOrchestrationQueue(document.getDocumentId());
DocumentOrchestrationConfig documentOrchestrationConfig = DocumentOrchestrationConfig.create(docForm.getBlanketApproveActionTakenId(), nodeNames);
DocumentProcessingOptions options = DocumentProcessingOptions.create(true, true, false);
orchestrationQueue.orchestrateDocument(docForm.getDocumentId(), principalId, documentOrchestrationConfig, options);
ActionMessages messages = new ActionMessages();
messages.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage("general.message", "Move Document Processor was successfully scheduled"));
saveMessages(request, messages);
return mapping.findForward("basic");
} catch (Exception e) {
throw new WorkflowRuntimeException(e);
}
}
Aggregations