@Test public void testLoadProcessTaskReferenceCase() throws Exception { KieBase kbase = createKnowledgeBase("CMMN-ProcessTaskReferenceCase.cmmn"); assertThat(kbase).isNotNull(); Process process = kbase.getProcess("Case_636d4bea-4d52-46fb-b1ad-9ceeddf1be69"); assertThat(process).isNotNull(); assertThat(process).isInstanceOf(RuleFlowProcess.class); RuleFlowProcess caseProcess = (RuleFlowProcess) process; assertThat(caseProcess.isDynamic()).isTrue(); assertThat(caseProcess.getId()).isEqualTo("Case_636d4bea-4d52-46fb-b1ad-9ceeddf1be69"); assertThat(caseProcess.getName()).isEqualTo("ProcessTaskCase"); Node[] nodes = caseProcess.getNodes(); assertThat(nodes).hasSize(1); SubProcessNode processNode = (SubProcessNode) nodes[0]; assertThat(processNode.getName()).isEqualTo("call my process"); assertThat(processNode.getProcessId()).isEqualTo("_4e0c5178-c886-4a14-ab6b-6ec6c940194b"); assertThat(processNode.isWaitForCompletion()).isTrue(); assertThat(processNode.isIndependent()).isFalse(); assertThat(processNode.getInAssociations()).hasSize(0); assertThat(processNode.getOutAssociations()).hasSize(0); }
assertThat(processNode.isIndependent()).isFalse(); assertThat(processNode.getInAssociations()).hasSize(0); assertThat(processNode.getOutAssociations()).hasSize(0);
SubProcessNode subProcessNode = getSubProcessNode(); if (subProcessNode != null) { for (Iterator<org.jbpm.workflow.core.node.DataAssociation> iterator= subProcessNode.getOutAssociations().iterator(); iterator.hasNext(); ) { org.jbpm.workflow.core.node.DataAssociation mapping = iterator.next(); if (mapping.getTransformation() != null) {
assertThat(processNode.getInAssociations().get(0).getTarget()).isEqualTo("invoiceDoc"); assertThat(processNode.getOutAssociations()).hasSize(1); assertThat(processNode.getOutAssociations().get(0).getSources()).hasSize(1); assertThat(processNode.getOutAssociations().get(0).getSources().get(0)).isEqualTo("approved"); assertThat(processNode.getOutAssociations().get(0).getTarget()).isEqualTo("caseFile_invoice");
@Override public void build(Process process, ProcessDescr processDescr, ProcessBuildContext context, Node node) { super.build(process, processDescr, context, node); WorkflowProcess wfProcess = (WorkflowProcess) process; Map<String, Object> parameters = new HashMap<String, Object>(); parameters.put("imports", wfProcess.getImports()); parameters.put("classloader", context.getConfiguration().getClassLoader()); for (DataAssociation dataAssociation: ((SubProcessNode) node).getInAssociations()) { Transformation transformation = dataAssociation.getTransformation(); if (transformation != null) { DataTransformer transformer = DataTransformerRegistry.get().find(transformation.getLanguage()); transformation.setCompiledExpression(transformer.compile(transformation.getExpression(), parameters)); } } for (DataAssociation dataAssociation: ((SubProcessNode) node).getOutAssociations()) { Transformation transformation = dataAssociation.getTransformation(); if (transformation != null) { DataTransformer transformer = DataTransformerRegistry.get().find(transformation.getLanguage()); transformation.setCompiledExpression(transformer.compile(transformation.getExpression(), parameters)); } } }
@Test public void testLoadProcessTaskReferenceCase() throws Exception { KieBase kbase = createKnowledgeBase("CMMN-ProcessTaskReferenceCase.cmmn"); assertThat(kbase).isNotNull(); Process process = kbase.getProcess("Case_636d4bea-4d52-46fb-b1ad-9ceeddf1be69"); assertThat(process).isNotNull(); assertThat(process).isInstanceOf(RuleFlowProcess.class); RuleFlowProcess caseProcess = (RuleFlowProcess) process; assertThat(caseProcess.isDynamic()).isTrue(); assertThat(caseProcess.getId()).isEqualTo("Case_636d4bea-4d52-46fb-b1ad-9ceeddf1be69"); assertThat(caseProcess.getName()).isEqualTo("ProcessTaskCase"); Node[] nodes = caseProcess.getNodes(); assertThat(nodes).hasSize(1); SubProcessNode processNode = (SubProcessNode) nodes[0]; assertThat(processNode.getName()).isEqualTo("call my process"); assertThat(processNode.getProcessId()).isEqualTo("_4e0c5178-c886-4a14-ab6b-6ec6c940194b"); assertThat(processNode.isWaitForCompletion()).isTrue(); assertThat(processNode.isIndependent()).isFalse(); assertThat(processNode.getInAssociations()).hasSize(0); assertThat(processNode.getOutAssociations()).hasSize(0); }
assertThat(processNode.isIndependent()).isFalse(); assertThat(processNode.getInAssociations()).hasSize(0); assertThat(processNode.getOutAssociations()).hasSize(0);
SubProcessNode subProcessNode = getSubProcessNode(); if (subProcessNode != null) { for (Iterator<org.jbpm.workflow.core.node.DataAssociation> iterator= subProcessNode.getOutAssociations().iterator(); iterator.hasNext(); ) { org.jbpm.workflow.core.node.DataAssociation mapping = iterator.next(); if (mapping.getTransformation() != null) {
assertThat(processNode.getInAssociations().get(0).getTarget()).isEqualTo("invoiceDoc"); assertThat(processNode.getOutAssociations()).hasSize(1); assertThat(processNode.getOutAssociations().get(0).getSources()).hasSize(1); assertThat(processNode.getOutAssociations().get(0).getSources().get(0)).isEqualTo("approved"); assertThat(processNode.getOutAssociations().get(0).getTarget()).isEqualTo("caseFile_invoice");
@Override public void build(Process process, ProcessDescr processDescr, ProcessBuildContext context, Node node) { super.build(process, processDescr, context, node); WorkflowProcess wfProcess = (WorkflowProcess) process; Map<String, Object> parameters = new HashMap<String, Object>(); parameters.put("imports", wfProcess.getImports()); parameters.put("classloader", context.getConfiguration().getClassLoader()); for (DataAssociation dataAssociation: ((SubProcessNode) node).getInAssociations()) { Transformation transformation = dataAssociation.getTransformation(); if (transformation != null) { DataTransformer transformer = DataTransformerRegistry.get().find(transformation.getLanguage()); transformation.setCompiledExpression(transformer.compile(transformation.getExpression(), parameters)); } } for (DataAssociation dataAssociation: ((SubProcessNode) node).getOutAssociations()) { Transformation transformation = dataAssociation.getTransformation(); if (transformation != null) { DataTransformer transformer = DataTransformerRegistry.get().find(transformation.getLanguage()); transformation.setCompiledExpression(transformer.compile(transformation.getExpression(), parameters)); } } }