当前位置: 首页>>代码示例>>Java>>正文


Java ProcessDocReport类代码示例

本文整理汇总了Java中org.kuali.rice.kew.framework.postprocessor.ProcessDocReport的典型用法代码示例。如果您正苦于以下问题:Java ProcessDocReport类的具体用法?Java ProcessDocReport怎么用?Java ProcessDocReport使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


ProcessDocReport类属于org.kuali.rice.kew.framework.postprocessor包,在下文中一共展示了ProcessDocReport类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: invokePostProcessor

import org.kuali.rice.kew.framework.postprocessor.ProcessDocReport; //导入依赖的package包/类
/**
 * Wraps PostProcessor invocation with error handling
 * @param message log message
 * @param invocation the callable that invokes the postprocessor
 */
protected void invokePostProcessor(String message, Callable<ProcessDocReport> invocation) {
    if (!isRunPostProcessorLogic()) {
        return;
    }
    LOG.debug(message);
    try {
        ProcessDocReport report = invocation.call();
        if (!report.isSuccess()) {
            LOG.warn(report.getMessage(), report.getProcessException());
            throw new InvalidActionTakenException(report.getMessage());
        }
    } catch (Exception ex) {
        processPostProcessorException(ex);
    }
}
 
开发者ID:kuali,项目名称:kc-rice,代码行数:21,代码来源:ActionTakenEvent.java

示例2: notifyNodeChange

import org.kuali.rice.kew.framework.postprocessor.ProcessDocReport; //导入依赖的package包/类
private void notifyNodeChange(Integer oldRouteLevel, Integer newRouteLevel, RouteNodeInstance oldNodeInstance, RouteNodeInstance newNodeInstance) throws InvalidActionTakenException {
    try {
        LOG.debug("Notifying post processor of route node change '"+oldNodeInstance.getName()+"'->'"+newNodeInstance.getName());
        PostProcessor postProcessor = routeHeader.getDocumentType().getPostProcessor();
        DocumentRouteHeaderValue routeHeaderValue = KEWServiceLocator.getRouteHeaderService().
                saveRouteHeader(getRouteHeader());
        setRouteHeader(routeHeaderValue);
        DocumentRouteLevelChange routeNodeChange = new DocumentRouteLevelChange(routeHeader.getDocumentId(),
                routeHeader.getAppDocId(),
                oldRouteLevel, newRouteLevel,
                oldNodeInstance.getName(), newNodeInstance.getName(),
                oldNodeInstance.getRouteNodeInstanceId(), newNodeInstance.getRouteNodeInstanceId());
        ProcessDocReport report = postProcessor.doRouteLevelChange(routeNodeChange);
        setRouteHeader(KEWServiceLocator.getRouteHeaderService().getRouteHeader(getDocumentId()));
        if (!report.isSuccess()) {
            LOG.warn(report.getMessage(), report.getProcessException());
            throw new InvalidActionTakenException(report.getMessage());
        }
    } catch (Exception ex) {
        throw new WorkflowRuntimeException(ex.getMessage());
    }
}
 
开发者ID:kuali,项目名称:kc-rice,代码行数:23,代码来源:ReturnToPreviousNodeAction.java

示例3: doRouteStatusChange

import org.kuali.rice.kew.framework.postprocessor.ProcessDocReport; //导入依赖的package包/类
public ProcessDocReport doRouteStatusChange(DocumentRouteStatusChange statusChangeEvent) throws Exception {
        // defend against re-entrancy by only throwing the route status change exception if the status change we are undergoing is not a transition into exception state!
        // if we don't do this, this postprocessor will blow up when it is subsequently notified about the transition into exception state that it previously caused
        // which will result in the document never actually transitioning into exception state
        boolean transitioningIntoException = !KewApiConstants.ROUTE_HEADER_EXCEPTION_CD.equals(statusChangeEvent.getOldRouteStatus()) &&
                                                     KewApiConstants.ROUTE_HEADER_EXCEPTION_CD.equals(statusChangeEvent.getNewRouteStatus());
	if (THROW_ROUTE_STATUS_CHANGE_EXCEPTION && !transitioningIntoException) {
		throw new RuntimeException("I am the doRouteStatusChange exploder");
	}
	if (BLOW_UP_ON_TRANSITION_INTO_EXCEPTION && transitioningIntoException) {
		throw new RuntimeException("Throwing an exception when transitioning into exception status.");
	}
	if (KewApiConstants.ROUTE_HEADER_EXCEPTION_CD.equals(statusChangeEvent.getOldRouteStatus())) {
		TRANSITIONED_OUT_OF_EXCEPTION_ROUTING = true;
	}
	return new ProcessDocReport(true, "");
}
 
开发者ID:kuali,项目名称:kc-rice,代码行数:18,代码来源:ExceptionRoutingTestPostProcessor.java

示例4: doRouteStatusChange

import org.kuali.rice.kew.framework.postprocessor.ProcessDocReport; //导入依赖的package包/类
public ProcessDocReport doRouteStatusChange(DocumentRouteStatusChange statusChangeEvent) throws Exception {
	if (KewApiConstants.ROUTE_HEADER_PROCESSED_CD.equals(statusChangeEvent.getNewRouteStatus())) {
		WorkflowDocument document = WorkflowDocumentFactory.loadDocument(getPrincipalIdForName("ewestfal"), statusChangeEvent.getDocumentId());
		document.setApplicationContent(APPLICATION_CONTENT);
		document.setTitle(DOC_TITLE);
		document.saveDocumentData();
		// now route another document from the post processor, sending it an adhoc request
		WorkflowDocument ppDocument = WorkflowDocumentFactory.createDocument(getPrincipalIdForName("user1"), "testModifyDocumentInPostProcessor");
		routedDocumentId = ppDocument.getDocumentId();
		// principal id 1 = ewestfal
		ppDocument.adHocToPrincipal(ActionRequestType.APPROVE, "AdHoc", "", "2001", "", true);
		ppDocument.route("");
		processedChange = true;
	}
	return new ProcessDocReport(true);
}
 
开发者ID:kuali,项目名称:kc-rice,代码行数:17,代码来源:PostProcessorTest.java

示例5: afterProcess

import org.kuali.rice.kew.framework.postprocessor.ProcessDocReport; //导入依赖的package包/类
@Override
public ProcessDocReport afterProcess(AfterProcessEvent event) throws Exception {
	WorkflowDocument wfDocument = WorkflowDocumentFactory.loadDocument(getPrincipalIdForName("ewestfal"), event.getDocumentId());
	if (wfDocument.isEnroute()) {
		// first, let's load document B in this thread
		DocumentRouteHeaderValue document = KEWServiceLocator.getRouteHeaderService().getRouteHeader(documentBId);
		// now let's execute the thread
		new Thread(updateDocumentThread).start();
		// let's wait for a few seconds to either let the thread process or let it acquire the lock
		Thread.sleep(5000);
		// now update document B
              document.setDocTitle(document.getDocTitle() + "...making a change...");
		KEWServiceLocator.getRouteHeaderService().saveRouteHeader(document);
	}
	return super.afterProcess(event);
}
 
开发者ID:kuali,项目名称:kc-rice,代码行数:17,代码来源:PostProcessorTest.java

示例6: doRouteStatusChange

import org.kuali.rice.kew.framework.postprocessor.ProcessDocReport; //导入依赖的package包/类
@Override
public ProcessDocReport doRouteStatusChange(DocumentRouteStatusChange statusChangeEvent) throws Exception {		
	ProcessDocReport pdr = null;
	Long documentId = new Long(statusChangeEvent.getDocumentId());
	LeaveCalendarDocumentHeader document = LmServiceLocator.getLeaveCalendarDocumentHeaderService().getDocumentHeader(documentId.toString());
	if (document != null) {
		pdr = super.doRouteStatusChange(statusChangeEvent);
		// Only update the status if it's different.
		if (!document.getDocumentStatus().equals(statusChangeEvent.getNewRouteStatus())) {
               DocumentStatus newDocumentStatus = DocumentStatus.fromCode(statusChangeEvent.getNewRouteStatus());

			updateLeaveCalendarDocumentHeaderStatus(document, newDocumentStatus);
			
			calculateMaxCarryOver(document, newDocumentStatus);
		}
	}
	
	return pdr;
}
 
开发者ID:kuali-mirror,项目名称:kpme,代码行数:20,代码来源:LmPostProcessor.java

示例7: doRouteStatusChange

import org.kuali.rice.kew.framework.postprocessor.ProcessDocReport; //导入依赖的package包/类
@Override
public ProcessDocReport doRouteStatusChange(DocumentRouteStatusChange statusChangeEvent) throws Exception {		
	ProcessDocReport pdr = null;
	Long documentId = new Long(statusChangeEvent.getDocumentId());
	TimesheetDocumentHeader document = TkServiceLocator.getTimesheetDocumentHeaderService().getDocumentHeader(documentId.toString());
	if (document != null) {
		pdr = super.doRouteStatusChange(statusChangeEvent);
		// Only update the status if it's different.
		if (!document.getDocumentStatus().equals(statusChangeEvent.getNewRouteStatus())) {
			DocumentStatus newDocumentStatus = DocumentStatus.fromCode(statusChangeEvent.getNewRouteStatus());

			updateTimesheetDocumentHeaderStatus(document, newDocumentStatus);
			
			calculateLeaveCalendarOvertime(document, newDocumentStatus);
			
			calculateMaxCarryOver(document, newDocumentStatus);
		}
	}
	
	return pdr;
}
 
开发者ID:kuali-mirror,项目名称:kpme,代码行数:22,代码来源:TkPostProcessor.java

示例8: doRouteLevelChange

import org.kuali.rice.kew.framework.postprocessor.ProcessDocReport; //导入依赖的package包/类
@Override
public ProcessDocReport doRouteLevelChange(final DocumentRouteLevelChange levelChangeEvent) throws Exception {
    return LegacyUtils.doInLegacyContext(levelChangeEvent.getDocumentId(), establishPostProcessorUserSession(), new Callable<ProcessDocReport>() {
        @Override
        public ProcessDocReport call() throws Exception {

            // on route level change we'll serialize the XML for the document. we
            // are doing this here cause it's a heavy hitter, and we
            // want to avoid the user waiting for this during sync processing
            try {
                if (LOG.isDebugEnabled()) {
                    LOG.debug(new StringBuilder("started handling route level change from ").append(
                            levelChangeEvent.getOldNodeName()).append(" to ").append(
                            levelChangeEvent.getNewNodeName()).append(" for document ").append(
                            levelChangeEvent.getDocumentId()));
                }

                Document document = documentService.getByDocumentHeaderId(levelChangeEvent.getDocumentId());
                if (document == null) {
                    throw new RuntimeException("unable to load document " + levelChangeEvent.getDocumentId());
                }
                document.populateDocumentForRouting();
                document.doRouteLevelChange(levelChangeEvent);
                document.getDocumentHeader().getWorkflowDocument().saveDocumentData();
                if (LOG.isDebugEnabled()) {
                    LOG.debug(new StringBuilder("finished handling route level change from ").append(
                            levelChangeEvent.getOldNodeName()).append(" to ").append(
                            levelChangeEvent.getNewNodeName()).append(" for document ").append(
                            levelChangeEvent.getDocumentId()));
                }
            } catch (Exception e) {
                logAndRethrow("route level", e);
            }
            return new ProcessDocReport(true, "");
        }
    });
}
 
开发者ID:kuali,项目名称:kc-rice,代码行数:38,代码来源:PostProcessorServiceImpl.java

示例9: doActionTaken

import org.kuali.rice.kew.framework.postprocessor.ProcessDocReport; //导入依赖的package包/类
@Override
public ProcessDocReport doActionTaken(final ActionTakenEvent event) throws Exception {
    return LegacyUtils.doInLegacyContext(event.getDocumentId(), establishPostProcessorUserSession(), new Callable<ProcessDocReport>() {
        @Override
        public ProcessDocReport call() throws Exception {
            try {
                if (LOG.isDebugEnabled()) {
                    LOG.debug(new StringBuilder("started doing action taken for action taken code").append(
                            event.getActionTaken().getActionTaken()).append(" for document ").append(
                            event.getDocumentId()));
                }
                Document document = documentService.getByDocumentHeaderId(event.getDocumentId());
                if (document == null) {
                    // only throw an exception if we are not cancelling
                    if (!KewApiConstants.ACTION_TAKEN_CANCELED_CD.equals(event.getActionTaken().getActionTaken().getCode())) {
                        LOG.warn("doActionTaken() Unable to load document with id " + event.getDocumentId() +
                                " using action taken code '" + KewApiConstants.ACTION_TAKEN_CD.get(
                                event.getActionTaken().getActionTaken().getCode()));
                    }
                } else {
                    document.doActionTaken(event);
                    if (LOG.isDebugEnabled()) {
                        LOG.debug(new StringBuilder("finished doing action taken for action taken code").append(
                                event.getActionTaken().getActionTaken()).append(" for document ").append(
                                event.getDocumentId()));
                    }
                }
            } catch (Exception e) {
                logAndRethrow("do action taken", e);
            }
            return new ProcessDocReport(true, "");

        }
    });
}
 
开发者ID:kuali,项目名称:kc-rice,代码行数:36,代码来源:PostProcessorServiceImpl.java

示例10: afterActionTaken

import org.kuali.rice.kew.framework.postprocessor.ProcessDocReport; //导入依赖的package包/类
@Override
public ProcessDocReport afterActionTaken(final ActionType performed,
        final ActionTakenEvent event) throws Exception {
    return LegacyUtils.doInLegacyContext(event.getDocumentId(), establishPostProcessorUserSession(), new Callable<ProcessDocReport>() {
        @Override
        public ProcessDocReport call() throws Exception {
            try {
                if (LOG.isDebugEnabled()) {
                    LOG.debug(new StringBuilder("started doing after action taken for action performed code "
                            + performed.getCode()
                            + " and action taken code ").append(event.getActionTaken().getActionTaken()).append(
                            " for document ").append(event.getDocumentId()));
                }
                Document document = documentService.getByDocumentHeaderId(event.getDocumentId());
                if (document == null) {
                    // only throw an exception if we are not cancelling
                    if (!KewApiConstants.ACTION_TAKEN_CANCELED_CD.equals(event.getActionTaken().getActionTaken().getCode())) {
                        LOG.warn("afterActionTaken() Unable to load document with id " + event.getDocumentId() +
                                " using action taken code '" + KewApiConstants.ACTION_TAKEN_CD.get(
                                event.getActionTaken().getActionTaken().getCode()));
                    }
                } else {
                    document.afterActionTaken(performed, event);
                    if (LOG.isDebugEnabled()) {
                        LOG.debug(new StringBuilder("finished doing after action taken for action taken code")
                                .append(event.getActionTaken().getActionTaken()).append(" for document ").append(
                                        event.getDocumentId()));
                    }
                }
            } catch (Exception e) {
                logAndRethrow("do action taken", e);
            }
            return new ProcessDocReport(true, "");

        }
    });
}
 
开发者ID:kuali,项目名称:kc-rice,代码行数:38,代码来源:PostProcessorServiceImpl.java

示例11: afterProcess

import org.kuali.rice.kew.framework.postprocessor.ProcessDocReport; //导入依赖的package包/类
/**
 * This method first checks to see if the document can be retrieved by the {@link DocumentService}. If the document
 * is
 * found the {@link Document#afterWorkflowEngineProcess(boolean)} method will be invoked on it
 */
@Override
public ProcessDocReport afterProcess(final AfterProcessEvent event) throws Exception {
    return LegacyUtils.doInLegacyContext(event.getDocumentId(), establishPostProcessorUserSession(), new Callable<ProcessDocReport>() {
        @Override
        public ProcessDocReport call() throws Exception {

            try {
                if (LOG.isDebugEnabled()) {
                    LOG.debug(new StringBuilder("started after process method for document ").append(
                            event.getDocumentId()));
                }

                Document document = documentService.getByDocumentHeaderId(event.getDocumentId());
                if (document == null) {
                    // no way to verify if this is the processing as a result of a cancel so assume null document is ok to process
                    LOG.warn("afterProcess() Unable to load document with id "
                            + event.getDocumentId()
                            + "... ignoring post processing");
                } else {
                    document.afterWorkflowEngineProcess(event.isSuccessfullyProcessed());
                    if (LOG.isDebugEnabled()) {
                        LOG.debug(new StringBuilder("finished after process method for document ").append(
                                event.getDocumentId()));
                    }
                }
            } catch (Exception e) {
                logAndRethrow("after process", e);
            }
            return new ProcessDocReport(true, "");
        }
    });
}
 
开发者ID:kuali,项目名称:kc-rice,代码行数:38,代码来源:PostProcessorServiceImpl.java

示例12: beforeProcess

import org.kuali.rice.kew.framework.postprocessor.ProcessDocReport; //导入依赖的package包/类
/**
 * This method first checks to see if the document can be retrieved by the {@link DocumentService}. If the document
 * is found the {@link Document#beforeWorkflowEngineProcess()} method will be invoked on it
 */
@Override
public ProcessDocReport beforeProcess(final BeforeProcessEvent event) throws Exception {
    return LegacyUtils.doInLegacyContext(event.getDocumentId(), establishPostProcessorUserSession(), new Callable<ProcessDocReport>() {
        @Override
        public ProcessDocReport call() throws Exception {

            try {
                if (LOG.isDebugEnabled()) {
                    LOG.debug(new StringBuilder("started before process method for document ").append(
                            event.getDocumentId()));
                }
                Document document = documentService.getByDocumentHeaderId(event.getDocumentId());
                if (document == null) {
                    // no way to verify if this is the processing as a result of a cancel so assume null document is ok to process
                    LOG.warn("beforeProcess() Unable to load document with id "
                            + event.getDocumentId()
                            + "... ignoring post processing");
                } else {
                    document.beforeWorkflowEngineProcess();
                    if (LOG.isDebugEnabled()) {
                        LOG.debug(new StringBuilder("finished before process method for document ").append(
                                event.getDocumentId()));
                    }
                }
            } catch (Exception e) {
                logAndRethrow("before process", e);
            }
            return new ProcessDocReport(true, "");
        }
    });
}
 
开发者ID:kuali,项目名称:kc-rice,代码行数:36,代码来源:PostProcessorServiceImpl.java

示例13: notifyActionTaken

import org.kuali.rice.kew.framework.postprocessor.ProcessDocReport; //导入依赖的package包/类
protected void notifyActionTaken(final ActionTakenValue actionTaken) {
       invokePostProcessor("Notifying post processor of action taken", new Callable<ProcessDocReport>() {
           public ProcessDocReport call() throws Exception {
               PostProcessor postProcessor = routeHeader.getDocumentType().getPostProcessor();
               return postProcessor.doActionTaken(new org.kuali.rice.kew.framework.postprocessor.ActionTakenEvent(routeHeader.getDocumentId(), routeHeader.getAppDocId(), ActionTakenValue.to(actionTaken)));
           }
       });
}
 
开发者ID:kuali,项目名称:kc-rice,代码行数:9,代码来源:ActionTakenEvent.java

示例14: notifyAfterActionTaken

import org.kuali.rice.kew.framework.postprocessor.ProcessDocReport; //导入依赖的package包/类
protected void notifyAfterActionTaken(final ActionTakenValue actionTaken) {
    invokePostProcessor("Notifying post processor after action taken", new Callable<ProcessDocReport>() {
        public ProcessDocReport call() throws Exception {
            PostProcessor postProcessor = routeHeader.getDocumentType().getPostProcessor();
            return postProcessor.afterActionTaken(ActionType.fromCode(getActionPerformedCode()), new org.kuali.rice.kew.framework.postprocessor.ActionTakenEvent(routeHeader.getDocumentId(), routeHeader.getAppDocId(), ActionTakenValue.to(actionTaken)));
        }
    });
}
 
开发者ID:kuali,项目名称:kc-rice,代码行数:9,代码来源:ActionTakenEvent.java

示例15: notifyStatusChange

import org.kuali.rice.kew.framework.postprocessor.ProcessDocReport; //导入依赖的package包/类
protected void notifyStatusChange(final String newStatusCode, final String oldStatusCode) throws InvalidActionTakenException {
       invokePostProcessor("Notifying post processor of status change " + oldStatusCode + "->" + newStatusCode, new Callable<ProcessDocReport>() {
           public ProcessDocReport call() throws Exception {
               DocumentRouteStatusChange statusChangeEvent = new DocumentRouteStatusChange(routeHeader.getDocumentId(), routeHeader.getAppDocId(), oldStatusCode, newStatusCode);
               PostProcessor postProcessor = routeHeader.getDocumentType().getPostProcessor();
               return postProcessor.doRouteStatusChange(statusChangeEvent);
           }
       });
}
 
开发者ID:kuali,项目名称:kc-rice,代码行数:10,代码来源:ActionTakenEvent.java


注:本文中的org.kuali.rice.kew.framework.postprocessor.ProcessDocReport类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。