if( ! startNode.isInterrupting() ) {
protected void handleCompensationNode(final StartNode startNode, final Element element, final org.w3c.dom.Node xmlNode, final ExtensibleXmlParser parser) throws SAXException { if( startNode.isInterrupting() ) { logger.warn( "Compensation Event Sub-Processes [" + startNode.getMetaData("UniqueId") + "] may not be specified as interrupting:" + " overriding attribute and setting to not-interrupting.");
writeNode("startEvent", startNode, xmlDump, metaDataType); xmlDump.append(" isInterrupting=\"" ); if (startNode.isInterrupting()) { xmlDump.append("true"); } else {
@Override public void nodeInstanceCompleted(org.jbpm.workflow.instance.NodeInstance nodeInstance, String outType) { if (nodeInstance instanceof EndNodeInstance) { if (getCompositeNode().isKeepActive()) { StartNode startNode = getCompositeNode().findStartNode(); triggerCompleted(true); if (startNode.isInterrupting()) { String faultName = getProcessInstance().getOutcome()==null?"":getProcessInstance().getOutcome(); if (startNode.getMetaData("FaultCode") != null) { faultName = (String) startNode.getMetaData("FaultCode"); } if (getNodeInstanceContainer() instanceof ProcessInstance) { ((ProcessInstance) getProcessInstance()).setState(ProcessInstance.STATE_ABORTED, faultName); } else { ((NodeInstanceContainer) getNodeInstanceContainer()).setState( ProcessInstance.STATE_ABORTED); } } } } else { throw new IllegalArgumentException( "Completing a node instance that has no outgoing connection not supported."); } }
if( ! startNode.isInterrupting() ) {
protected void handleCompensationNode(final StartNode startNode, final Element element, final org.w3c.dom.Node xmlNode, final ExtensibleXmlParser parser) throws SAXException { if( startNode.isInterrupting() ) { logger.warn( "Compensation Event Sub-Processes [" + startNode.getMetaData("UniqueId") + "] may not be specified as interrupting:" + " overriding attribute and setting to not-interrupting.");
writeNode("startEvent", startNode, xmlDump, metaDataType); xmlDump.append(" isInterrupting=\"" ); if (startNode.isInterrupting()) { xmlDump.append("true"); } else {
@Override public void nodeInstanceCompleted(org.jbpm.workflow.instance.NodeInstance nodeInstance, String outType) { if (nodeInstance instanceof EndNodeInstance) { if (getCompositeNode().isKeepActive()) { StartNode startNode = getCompositeNode().findStartNode(); triggerCompleted(true); if (startNode.isInterrupting()) { String faultName = getProcessInstance().getOutcome()==null?"":getProcessInstance().getOutcome(); if (startNode.getMetaData("FaultCode") != null) { faultName = (String) startNode.getMetaData("FaultCode"); } if (getNodeInstanceContainer() instanceof ProcessInstance) { ((ProcessInstance) getProcessInstance()).setState(ProcessInstance.STATE_ABORTED, faultName); } else { ((NodeInstanceContainer) getNodeInstanceContainer()).setState( ProcessInstance.STATE_ABORTED); } } } } else { throw new IllegalArgumentException( "Completing a node instance that has no outgoing connection not supported."); } }