Selaa lähdekoodia

changed conditions to java

Grega Bremec 2 vuotta sitten
vanhempi
commit
05d2140ee8

+ 20 - 0
src/main/java/com/redhat/training/claims/ClarificationTaskHandler.java

@@ -0,0 +1,20 @@
+package com.redhat.training.claims;
+
+import java.util.Map;
+
+import org.drools.core.process.instance.WorkItem;
+import org.drools.core.process.instance.WorkItemHandler;
+import org.jbpm.process.instance.impl.demo.SystemOutWorkItemHandler;
+
+public class ClarificationTaskHandler extends SystemOutWorkItemHandler {
+    public void executeWorkItem(WorkItem wi, WorkItemHandler wih) {
+        System.out.println("In executeWorkItem()!");
+
+        Map<String, Object> params = wi.getParameters();
+        for (String key : params.keySet()) {
+            System.out.println("Got parameter: " + key + " of type " + params.get(key).getClass().getName());
+        }
+
+        System.out.println("Leaving executeWorkItem()!");
+    }
+}

+ 63 - 20
src/main/resources/com/redhat/training/claims/ClaimRuleFlow.bpmn

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<bpmn2:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:bpsim="http://www.bpsim.org/schemas/1.0" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:drools="http://www.jboss.org/drools" id="_M8l1MNWsEDqNXYTLd93myg" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd http://www.jboss.org/drools drools.xsd http://www.bpsim.org/schemas/1.0 bpsim.xsd http://www.omg.org/spec/DD/20100524/DC DC.xsd http://www.omg.org/spec/DD/20100524/DI DI.xsd " exporter="jBPM Process Modeler" exporterVersion="2.0" targetNamespace="http://www.omg.org/bpmn20">
+<bpmn2:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:bpsim="http://www.bpsim.org/schemas/1.0" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:drools="http://www.jboss.org/drools" id="_-zkLYNWzEDqNXYTLd93myg" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd http://www.jboss.org/drools drools.xsd http://www.bpsim.org/schemas/1.0 bpsim.xsd http://www.omg.org/spec/DD/20100524/DC DC.xsd http://www.omg.org/spec/DD/20100524/DI DI.xsd " exporter="jBPM Process Modeler" exporterVersion="2.0" targetNamespace="http://www.omg.org/bpmn20">
   <bpmn2:itemDefinition id="_claimantItem" structureRef="com.redhat.training.claims.model.Claimant"/>
   <bpmn2:itemDefinition id="_claimItem" structureRef="com.redhat.training.claims.model.Claim"/>
   <bpmn2:itemDefinition id="_claimResultsItem" structureRef="com.redhat.training.claims.model.ClaimResults"/>
@@ -27,8 +27,13 @@
   <bpmn2:itemDefinition id="__E3C7932A-6597-47A4-9B3A-179EF25F38D6_NotCompletedReassignInputXItem" structureRef="Object"/>
   <bpmn2:itemDefinition id="__E3C7932A-6597-47A4-9B3A-179EF25F38D6_NotStartedNotifyInputXItem" structureRef="Object"/>
   <bpmn2:itemDefinition id="__E3C7932A-6597-47A4-9B3A-179EF25F38D6_NotCompletedNotifyInputXItem" structureRef="Object"/>
-  <bpmn2:collaboration id="_BDE719F9-EFA6-4EC5-B47D-D747F434D950" name="Default Collaboration">
-    <bpmn2:participant id="_77675508-89E8-4BF1-B7F3-6E1046128C86" name="Pool Participant" processRef="claims.ClaimRuleFlow"/>
+  <bpmn2:itemDefinition id="__E3C7932A-6597-47A4-9B3A-179EF25F38D6_tClaimClarificationRequestsInputXItem" structureRef="com.redhat.training.claims.model.ClaimClarificationRequests"/>
+  <bpmn2:itemDefinition id="__E3C7932A-6597-47A4-9B3A-179EF25F38D6_tClaimInputXItem" structureRef="com.redhat.training.claims.model.Claim"/>
+  <bpmn2:itemDefinition id="__E3C7932A-6597-47A4-9B3A-179EF25F38D6_tClaimOutputXItem" structureRef="com.redhat.training.claims.model.Claim"/>
+  <bpmn2:itemDefinition id="__3681E98C-C5C2-47F0-8F8C-558E49A39ACD_tClaimProcAbortInputXItem" structureRef="com.redhat.training.claims.model.ClaimProcessingAborted"/>
+  <bpmn2:error id="ERR_REJECTION" errorCode="ERR_REJECTION"/>
+  <bpmn2:collaboration id="_10E315D4-AFF3-418F-8EEC-136D3973F43B" name="Default Collaboration">
+    <bpmn2:participant id="_4B4FA501-75D8-43FB-B482-3DC1940FC40F" name="Pool Participant" processRef="claims.ClaimRuleFlow"/>
   </bpmn2:collaboration>
   <bpmn2:process id="claims.ClaimRuleFlow" drools:packageName="com.redhat.training.claims" drools:version="1.0" drools:adHoc="false" name="ClaimRuleFlow" isExecutable="true" processType="Public">
     <bpmn2:property id="claimant" itemSubjectRef="_claimantItem" name="claimant"/>
@@ -36,19 +41,19 @@
     <bpmn2:property id="claimResults" itemSubjectRef="_claimResultsItem" name="claimResults"/>
     <bpmn2:property id="claimClarificationRequests" itemSubjectRef="_claimClarificationRequestsItem" name="claimClarificationRequests"/>
     <bpmn2:property id="claimProcessingAborted" itemSubjectRef="_claimProcessingAbortedItem" name="claimProcessingAborted"/>
-    <bpmn2:sequenceFlow id="_A45EA022-B33F-4419-950F-314B8B4EA4D9" sourceRef="_C949CBF9-166E-4264-BE02-962E835A0C73" targetRef="_1FA071B5-3E70-42C1-8691-0653B167608A"/>
+    <bpmn2:sequenceFlow id="_9CFDAC58-61EC-4E5A-BF96-A3159943DE50" sourceRef="_C949CBF9-166E-4264-BE02-962E835A0C73" targetRef="_3681E98C-C5C2-47F0-8F8C-558E49A39ACD"/>
     <bpmn2:sequenceFlow id="_86CF4723-CA1C-4E7A-8532-7618F57FF303" sourceRef="_DF5599B5-716E-436A-AB4F-735AFEABB424" targetRef="_C949CBF9-166E-4264-BE02-962E835A0C73">
-      <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="http://www.jboss.org/drools/rule"><![CDATA[exists ClaimProcessingAborted(reasons.size() > 0)]]></bpmn2:conditionExpression>
+      <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="http://www.java.com/java"><![CDATA[return claimProcessingAborted.getReasons().size() > 0;]]></bpmn2:conditionExpression>
     </bpmn2:sequenceFlow>
     <bpmn2:sequenceFlow id="_9C685875-6800-4B5D-AB22-12ECE1E58ED0" sourceRef="_E3C7932A-6597-47A4-9B3A-179EF25F38D6" targetRef="_9A005979-945D-487B-BD3C-207B325C4732"/>
     <bpmn2:sequenceFlow id="_2A60BF9E-0CBA-4D7C-B109-883F50E213C0" sourceRef="_6C623396-2499-4830-AAD0-D2C7469414DB" targetRef="_E3C7932A-6597-47A4-9B3A-179EF25F38D6">
-      <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="http://www.jboss.org/drools/rule"><![CDATA[exists ClaimClarificationRequests(requests.size > 0)]]></bpmn2:conditionExpression>
+      <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="http://www.java.com/java"><![CDATA[return claimClarificationRequests.getRequests().size() > 0;]]></bpmn2:conditionExpression>
     </bpmn2:sequenceFlow>
     <bpmn2:sequenceFlow id="_97F4B5CB-1DEC-4717-897E-847695EBE458" sourceRef="_6C623396-2499-4830-AAD0-D2C7469414DB" targetRef="_BD49B16F-21C9-42A0-ACEC-039DA99282C3">
-      <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="http://www.jboss.org/drools/rule"><![CDATA[not ClaimClarificationRequests(requests.size > 0)]]></bpmn2:conditionExpression>
+      <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="http://www.java.com/java"><![CDATA[return claimClarificationRequests.getRequests().size() == 0;]]></bpmn2:conditionExpression>
     </bpmn2:sequenceFlow>
     <bpmn2:sequenceFlow id="_6018778E-DA4F-4751-B950-10FBF9F2708B" sourceRef="_DF5599B5-716E-436A-AB4F-735AFEABB424" targetRef="_6C623396-2499-4830-AAD0-D2C7469414DB">
-      <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="http://www.jboss.org/drools/rule"><![CDATA[not  ClaimProcessingAborted(reasons.size() > 0)]]></bpmn2:conditionExpression>
+      <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="http://www.java.com/java"><![CDATA[return claimProcessingAborted.getReasons().size() == 0;]]></bpmn2:conditionExpression>
     </bpmn2:sequenceFlow>
     <bpmn2:sequenceFlow id="_F08D6919-DFF8-41E5-ADDD-F7A1431A220B" sourceRef="_40A79752-23EE-4959-9C2C-FCF16AC32CAD" targetRef="_DF5599B5-716E-436A-AB4F-735AFEABB424"/>
     <bpmn2:sequenceFlow id="_4C4D5089-43DF-4F08-8570-3CFE2CBD9A6B" sourceRef="_9A005979-945D-487B-BD3C-207B325C4732" targetRef="_40A79752-23EE-4959-9C2C-FCF16AC32CAD">
@@ -66,9 +71,17 @@
         </drools:metaData>
       </bpmn2:extensionElements>
     </bpmn2:sequenceFlow>
-    <bpmn2:endEvent id="_1FA071B5-3E70-42C1-8691-0653B167608A">
-      <bpmn2:incoming>_A45EA022-B33F-4419-950F-314B8B4EA4D9</bpmn2:incoming>
-      <bpmn2:terminateEventDefinition/>
+    <bpmn2:endEvent id="_3681E98C-C5C2-47F0-8F8C-558E49A39ACD">
+      <bpmn2:incoming>_9CFDAC58-61EC-4E5A-BF96-A3159943DE50</bpmn2:incoming>
+      <bpmn2:dataInput id="_3681E98C-C5C2-47F0-8F8C-558E49A39ACD_tClaimProcAbortInputX" drools:dtype="com.redhat.training.claims.model.ClaimProcessingAborted" itemSubjectRef="__3681E98C-C5C2-47F0-8F8C-558E49A39ACD_tClaimProcAbortInputXItem" name="tClaimProcAbort"/>
+      <bpmn2:dataInputAssociation>
+        <bpmn2:sourceRef>claimProcessingAborted</bpmn2:sourceRef>
+        <bpmn2:targetRef>_3681E98C-C5C2-47F0-8F8C-558E49A39ACD_tClaimProcAbortInputX</bpmn2:targetRef>
+      </bpmn2:dataInputAssociation>
+      <bpmn2:inputSet>
+        <bpmn2:dataInputRefs>_3681E98C-C5C2-47F0-8F8C-558E49A39ACD_tClaimProcAbortInputX</bpmn2:dataInputRefs>
+      </bpmn2:inputSet>
+      <bpmn2:errorEventDefinition drools:erefname="ERR_REJECTION" errorRef="ERR_REJECTION"/>
     </bpmn2:endEvent>
     <bpmn2:scriptTask id="_C949CBF9-166E-4264-BE02-962E835A0C73" name="Log Failure" scriptFormat="http://www.java.com/java">
       <bpmn2:extensionElements>
@@ -77,14 +90,19 @@
         </drools:metaData>
       </bpmn2:extensionElements>
       <bpmn2:incoming>_86CF4723-CA1C-4E7A-8532-7618F57FF303</bpmn2:incoming>
-      <bpmn2:outgoing>_A45EA022-B33F-4419-950F-314B8B4EA4D9</bpmn2:outgoing>
-      <bpmn2:script>System.out.println("Terminating process due to rejections.");</bpmn2:script>
+      <bpmn2:outgoing>_9CFDAC58-61EC-4E5A-BF96-A3159943DE50</bpmn2:outgoing>
+      <bpmn2:script>System.out.println(
+    "Terminating process due to rejections: " +
+    claimProcessingAborted.getReasons().size() + ": " +
+    claimProcessingAborted.getReasons()
+);
+</bpmn2:script>
     </bpmn2:scriptTask>
-    <bpmn2:parallelGateway id="_DF5599B5-716E-436A-AB4F-735AFEABB424" gatewayDirection="Diverging">
+    <bpmn2:exclusiveGateway id="_DF5599B5-716E-436A-AB4F-735AFEABB424" gatewayDirection="Diverging">
       <bpmn2:incoming>_F08D6919-DFF8-41E5-ADDD-F7A1431A220B</bpmn2:incoming>
       <bpmn2:outgoing>_6018778E-DA4F-4751-B950-10FBF9F2708B</bpmn2:outgoing>
       <bpmn2:outgoing>_86CF4723-CA1C-4E7A-8532-7618F57FF303</bpmn2:outgoing>
-    </bpmn2:parallelGateway>
+    </bpmn2:exclusiveGateway>
     <bpmn2:exclusiveGateway id="_9A005979-945D-487B-BD3C-207B325C4732" gatewayDirection="Converging">
       <bpmn2:incoming>_5B0B8901-C6B0-40A6-B5FF-706CCBD455C6</bpmn2:incoming>
       <bpmn2:incoming>_9C685875-6800-4B5D-AB22-12ECE1E58ED0</bpmn2:incoming>
@@ -95,31 +113,56 @@
         <drools:metaData name="elementname">
           <drools:metaValue><![CDATA[Provide Clarifications]]></drools:metaValue>
         </drools:metaData>
+        <drools:onExit-script scriptFormat="http://www.java.com/java">
+          <drools:script><![CDATA[claimClarificationRequests.setRequests(new java.util.ArrayList<String>());
+System.out.println("Cleared CCR reasons: " + claimClarificationRequests.getRequests());
+]]></drools:script>
+        </drools:onExit-script>
       </bpmn2:extensionElements>
       <bpmn2:incoming>_2A60BF9E-0CBA-4D7C-B109-883F50E213C0</bpmn2:incoming>
       <bpmn2:outgoing>_9C685875-6800-4B5D-AB22-12ECE1E58ED0</bpmn2:outgoing>
       <bpmn2:ioSpecification>
         <bpmn2:dataInput id="_E3C7932A-6597-47A4-9B3A-179EF25F38D6_TaskNameInputX" drools:dtype="Object" itemSubjectRef="__E3C7932A-6597-47A4-9B3A-179EF25F38D6_TaskNameInputXItem" name="TaskName"/>
+        <bpmn2:dataInput id="_E3C7932A-6597-47A4-9B3A-179EF25F38D6_tClaimClarificationRequestsInputX" drools:dtype="com.redhat.training.claims.model.ClaimClarificationRequests" itemSubjectRef="__E3C7932A-6597-47A4-9B3A-179EF25F38D6_tClaimClarificationRequestsInputXItem" name="tClaimClarificationRequests"/>
+        <bpmn2:dataInput id="_E3C7932A-6597-47A4-9B3A-179EF25F38D6_tClaimInputX" drools:dtype="com.redhat.training.claims.model.Claim" itemSubjectRef="__E3C7932A-6597-47A4-9B3A-179EF25F38D6_tClaimInputXItem" name="tClaim"/>
         <bpmn2:dataInput id="_E3C7932A-6597-47A4-9B3A-179EF25F38D6_SkippableInputX" drools:dtype="Object" itemSubjectRef="__E3C7932A-6597-47A4-9B3A-179EF25F38D6_SkippableInputXItem" name="Skippable"/>
+        <bpmn2:dataOutput id="_E3C7932A-6597-47A4-9B3A-179EF25F38D6_tClaimOutputX" drools:dtype="com.redhat.training.claims.model.Claim" itemSubjectRef="__E3C7932A-6597-47A4-9B3A-179EF25F38D6_tClaimOutputXItem" name="tClaim"/>
         <bpmn2:inputSet>
           <bpmn2:dataInputRefs>_E3C7932A-6597-47A4-9B3A-179EF25F38D6_TaskNameInputX</bpmn2:dataInputRefs>
+          <bpmn2:dataInputRefs>_E3C7932A-6597-47A4-9B3A-179EF25F38D6_tClaimClarificationRequestsInputX</bpmn2:dataInputRefs>
+          <bpmn2:dataInputRefs>_E3C7932A-6597-47A4-9B3A-179EF25F38D6_tClaimInputX</bpmn2:dataInputRefs>
           <bpmn2:dataInputRefs>_E3C7932A-6597-47A4-9B3A-179EF25F38D6_SkippableInputX</bpmn2:dataInputRefs>
         </bpmn2:inputSet>
+        <bpmn2:outputSet>
+          <bpmn2:dataOutputRefs>_E3C7932A-6597-47A4-9B3A-179EF25F38D6_tClaimOutputX</bpmn2:dataOutputRefs>
+        </bpmn2:outputSet>
       </bpmn2:ioSpecification>
       <bpmn2:dataInputAssociation>
         <bpmn2:targetRef>_E3C7932A-6597-47A4-9B3A-179EF25F38D6_TaskNameInputX</bpmn2:targetRef>
         <bpmn2:assignment>
-          <bpmn2:from xsi:type="bpmn2:tFormalExpression"><![CDATA[Task]]></bpmn2:from>
+          <bpmn2:from xsi:type="bpmn2:tFormalExpression"><![CDATA[Clarify]]></bpmn2:from>
           <bpmn2:to xsi:type="bpmn2:tFormalExpression"><![CDATA[_E3C7932A-6597-47A4-9B3A-179EF25F38D6_TaskNameInputX]]></bpmn2:to>
         </bpmn2:assignment>
       </bpmn2:dataInputAssociation>
       <bpmn2:dataInputAssociation>
+        <bpmn2:sourceRef>claimClarificationRequests</bpmn2:sourceRef>
+        <bpmn2:targetRef>_E3C7932A-6597-47A4-9B3A-179EF25F38D6_tClaimClarificationRequestsInputX</bpmn2:targetRef>
+      </bpmn2:dataInputAssociation>
+      <bpmn2:dataInputAssociation>
+        <bpmn2:sourceRef>claim</bpmn2:sourceRef>
+        <bpmn2:targetRef>_E3C7932A-6597-47A4-9B3A-179EF25F38D6_tClaimInputX</bpmn2:targetRef>
+      </bpmn2:dataInputAssociation>
+      <bpmn2:dataInputAssociation>
         <bpmn2:targetRef>_E3C7932A-6597-47A4-9B3A-179EF25F38D6_SkippableInputX</bpmn2:targetRef>
         <bpmn2:assignment>
           <bpmn2:from xsi:type="bpmn2:tFormalExpression"><![CDATA[false]]></bpmn2:from>
           <bpmn2:to xsi:type="bpmn2:tFormalExpression"><![CDATA[_E3C7932A-6597-47A4-9B3A-179EF25F38D6_SkippableInputX]]></bpmn2:to>
         </bpmn2:assignment>
       </bpmn2:dataInputAssociation>
+      <bpmn2:dataOutputAssociation>
+        <bpmn2:sourceRef>_E3C7932A-6597-47A4-9B3A-179EF25F38D6_tClaimOutputX</bpmn2:sourceRef>
+        <bpmn2:targetRef>claim</bpmn2:targetRef>
+      </bpmn2:dataOutputAssociation>
     </bpmn2:userTask>
     <bpmn2:scriptTask id="_BD49B16F-21C9-42A0-ACEC-039DA99282C3" name="Register Facts with Session" scriptFormat="http://www.java.com/java">
       <bpmn2:extensionElements>
@@ -229,7 +272,7 @@
       <bpmndi:BPMNShape id="shape__C949CBF9-166E-4264-BE02-962E835A0C73" bpmnElement="_C949CBF9-166E-4264-BE02-962E835A0C73">
         <dc:Bounds height="102" width="154" x="448" y="86"/>
       </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape id="shape__1FA071B5-3E70-42C1-8691-0653B167608A" bpmnElement="_1FA071B5-3E70-42C1-8691-0653B167608A">
+      <bpmndi:BPMNShape id="shape__3681E98C-C5C2-47F0-8F8C-558E49A39ACD" bpmnElement="_3681E98C-C5C2-47F0-8F8C-558E49A39ACD">
         <dc:Bounds height="56" width="56" x="682" y="109"/>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNEdge id="edge_shape__BD49B16F-21C9-42A0-ACEC-039DA99282C3_to_shape__006D4A8C-DF0F-4342-BB59-9A722B80462B" bpmnElement="_6FFB03BF-7A48-4B42-82D8-98D055337563">
@@ -268,7 +311,7 @@
         <di:waypoint x="525" y="243"/>
         <di:waypoint x="525" y="188"/>
       </bpmndi:BPMNEdge>
-      <bpmndi:BPMNEdge id="edge_shape__C949CBF9-166E-4264-BE02-962E835A0C73_to_shape__1FA071B5-3E70-42C1-8691-0653B167608A" bpmnElement="_A45EA022-B33F-4419-950F-314B8B4EA4D9">
+      <bpmndi:BPMNEdge id="edge_shape__C949CBF9-166E-4264-BE02-962E835A0C73_to_shape__3681E98C-C5C2-47F0-8F8C-558E49A39ACD" bpmnElement="_9CFDAC58-61EC-4E5A-BF96-A3159943DE50">
         <di:waypoint x="525" y="137"/>
         <di:waypoint x="710" y="137"/>
       </bpmndi:BPMNEdge>
@@ -369,7 +412,7 @@
         </bpsim:Scenario>
       </bpsim:BPSimData>
     </bpmn2:extensionElements>
-    <bpmn2:source>_M8l1MNWsEDqNXYTLd93myg</bpmn2:source>
-    <bpmn2:target>_M8l1MNWsEDqNXYTLd93myg</bpmn2:target>
+    <bpmn2:source>_-zkLYNWzEDqNXYTLd93myg</bpmn2:source>
+    <bpmn2:target>_-zkLYNWzEDqNXYTLd93myg</bpmn2:target>
   </bpmn2:relationship>
 </bpmn2:definitions>

+ 47 - 0
src/test/java/com/redhat/training/claims/ProcessHumanTaskTest.java

@@ -0,0 +1,47 @@
+package com.redhat.training.claims;
+
+import java.util.HashMap;
+
+import com.redhat.training.claims.model.Claim;
+import com.redhat.training.claims.model.ClaimClarificationRequests;
+import com.redhat.training.claims.model.ClaimProcessingAborted;
+import com.redhat.training.claims.model.ClaimResults;
+import com.redhat.training.claims.model.Claimant;
+import com.redhat.training.claims.model.Gender;
+
+import org.junit.Test;
+import org.kie.api.runtime.process.ProcessInstance;
+
+public class ProcessHumanTaskTest extends ClaimsTestSupport {
+    @Test
+    public void testSanityChecksInvalidClaimAborted() {
+        Claimant c = new Claimant();
+        c.setName("Tom Jones");
+        c.setGender(Gender.MALE);
+
+        Claim cl = new Claim();
+        cl.setId(234);
+        cl.setAmount(500.00);
+        cl.setReason("Test 123");
+        cl.getInvolvedPersons().add(c);
+
+        c.getClaims().add(cl);
+
+        ClaimResults cr = new ClaimResults(cl.getId());
+        ClaimClarificationRequests ccr = new ClaimClarificationRequests(cl.getId());
+        ClaimProcessingAborted cpa = new ClaimProcessingAborted(cl.getId());
+
+        this.session.getWorkItemManager().registerWorkItemHandler("Human Task", new ClarificationTaskHandler());
+
+        HashMap<String, Object> params = new HashMap<>();
+        params.put("claimant", c);
+        params.put("claim", cl);
+        params.put("claimResults", cr);
+        params.put("claimClarificationRequests", ccr);
+        params.put("claimProcessingAborted", cpa);
+        ProcessInstance pi = this.session.startProcess("claims.ClaimRuleFlow", params);
+        this.session.fireAllRules();
+
+        // expect process to be suspended and a human task?
+    }
+}

+ 1 - 1
src/test/java/com/redhat/training/claims/ProcessSanityCheckTest.java

@@ -43,7 +43,7 @@ public class ProcessSanityCheckTest extends ClaimsTestSupport {
         ProcessInstance pi = this.session.startProcess("claims.ClaimRuleFlow", params);
         this.session.fireAllRules();
 
-        assertEquals("Process instance not Completed", ProcessInstance.STATE_COMPLETED, pi.getState());
+        assertEquals("Process instance not Completed", ProcessInstance.STATE_ABORTED, pi.getState());
         assertEquals("Unexpected number of claim result reasons", 1, cr.getReasons().size());
         assertEquals("Unexpected number of claim rejection reasons", 1, cpa.getReasons().size());
         assertTrue("Expected reason not in claim result", cr.getReasons().contains("Claim amount too small to bother."));