--
You received this message because you are subscribed to the Google Groups "camunda BPM users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to camunda-bpm-us...@googlegroups.com.
To post to this group, send email to camunda-...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/camunda-bpm-users/6b152867-d857-43bc-8af3-10b564eee602%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
<bpmn2:subProcess id="OttieniRevisione" name="Ottieni revisione">
<bpmn2:incoming>SequenceFlow_3</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_17</bpmn2:outgoing>
<bpmn2:multiInstanceLoopCharacteristics>
<bpmn2:loopCardinality xsi:type="bpmn2:tFormalExpression">
<![CDATA[${execution.getVariable("nrRevisioniDaOttenere")}]]
</bpmn2:loopCardinality>
</bpmn2:multiInstanceLoopCharacteristics>
<bpmn2:startEvent id="StartEvent_2">
<bpmn2:outgoing>SequenceFlow_5</bpmn2:outgoing>
</bpmn2:startEvent>
<bpmn2:sequenceFlow id="SequenceFlow_5" name="" sourceRef="StartEvent_2" targetRef="InformaRevisore"/>
<bpmn2:sendTask id="InformaRevisore" camunda:class="org.camunda.bpm.pubb.InformaRevisore" name="Informa revisore">
<bpmn2:incoming>SequenceFlow_5</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_1</bpmn2:outgoing>
</bpmn2:sendTask>
<bpmn2:sequenceFlow id="SequenceFlow_1" name="" sourceRef="InformaRevisore" targetRef="EventBasedGateway_1"/>
<bpmn2:intermediateCatchEvent id="DeadLineOttieniRevisione_nonOttenuta">
<bpmn2:incoming>SequenceFlow_13</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_14</bpmn2:outgoing>
<bpmn2:timerEventDefinition id="_TimerEventDefinition_29">
<bpmn2:timeDate xsi:type="bpmn2:tFormalExpression">
<![CDATA[${execution.getVariable("deadlineRevisioni")}]]>
</bpmn2:timeDate>
</bpmn2:timerEventDefinition>
</bpmn2:intermediateCatchEvent>
<bpmn2:sequenceFlow id="SequenceFlow_14" name="" sourceRef="DeadLineOttieniRevisione_nonOttenuta" targetRef="End_ArticoloNonRevisionato"/>
<bpmn2:endEvent id="End_ArticoloNonRevisionato" name="Articolo non revisionato">
<bpmn2:incoming>SequenceFlow_14</bpmn2:incoming>
</bpmn2:endEvent>
<bpmn2:eventBasedGateway id="EventBasedGateway_1">
<bpmn2:incoming>SequenceFlow_1</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_12</bpmn2:outgoing>
<bpmn2:outgoing>SequenceFlow_13</bpmn2:outgoing>
</bpmn2:eventBasedGateway>
<bpmn2:sequenceFlow id="SequenceFlow_12" name="" sourceRef="EventBasedGateway_1" targetRef="revisioneOttenuta"/>
<bpmn2:sequenceFlow id="SequenceFlow_13" name="" sourceRef="EventBasedGateway_1" targetRef="DeadLineOttieniRevisione_nonOttenuta"/>
<bpmn2:intermediateCatchEvent id="revisioneOttenuta" name="Revisione ottenuta">
<bpmn2:extensionElements>
<camunda:executionListener class="org.camunda.bpm.pubb.RevisioneOttenutaListener" event="start"/>
</bpmn2:extensionElements>
<bpmn2:incoming>SequenceFlow_12</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_15</bpmn2:outgoing>
<bpmn2:messageEventDefinition id="_MessageEventDefinition_68" messageRef="Message_5"/>
</bpmn2:intermediateCatchEvent>
<bpmn2:sequenceFlow id="SequenceFlow_15" name="" sourceRef="revisioneOttenuta" targetRef="DeadLineOttieniRevisione_ottenuta"/>
<bpmn2:intermediateCatchEvent id="DeadLineOttieniRevisione_ottenuta">
<bpmn2:incoming>SequenceFlow_15</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_16</bpmn2:outgoing>
<bpmn2:timerEventDefinition id="_TimerEventDefinition_30">
<bpmn2:timeDate xsi:type="bpmn2:tFormalExpression">
<![CDATA[${execution.getVariable("deadlineRevisioni")}]]>
</bpmn2:timeDate>
</bpmn2:timerEventDefinition>
</bpmn2:intermediateCatchEvent>
<bpmn2:sequenceFlow id="SequenceFlow_16" name="" sourceRef="DeadLineOttieniRevisione_ottenuta" targetRef="End_ArticoloRevisionato"/>
<bpmn2:endEvent id="End_ArticoloRevisionato" name="Articolo revisionato"><bpmn2:incoming>SequenceFlow_16</bpmn2:incoming>
</bpmn2:endEvent>
</bpmn2:subProcess>
public class InformaRevisore implements JavaDelegate {
@Override
pubblic void execute (DelegateExecution execution) throws Exception{
//build payload of messagge for Process2
TreeMap <String, Object> variable4Process2 = new TreeMap<String, Object>();
variable4Process2.put("autore",execution.getVariable("autore"));
variable4Process2.put("bkPorocess1",((String)execution.getVariable("bkProcess1"));
//build business key for Process2
java.util.Date date = new java.util.Date();
TimeStamp currentTimestamp = new TimeStamp(date.getTime());
String bkProcess2= "Process2" + currentTimeStamp;
//send message to Process2
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
processEngine.getRuntimeService().startProcessInstanceByMessage("MsgRichiestaRevisione",bkProcess2,variable4Process2);
}
}
public class InviaRevisione implements JavaDelegate {
@Override
public void execute(delegateExecution execution) throws Excecption {
// build the payload for the reply message
TreeMap<string,Object> variable4Process1= new TreeMap<String,Object>();
...
//send message to Process1
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
processEngine.getRuntimeService().correlateMessage("MsgRevisioneArticolo"),(String)execution.getVariable("bkProcess1"), variabl4Process1);
}
} processEngine.getRuntimeService().correlateMessage("MsgRevisioneArticolo"),(String)execution.getVariable("bkProcess1"), variabl4Process1);
...
processEngine.getRuntimeService().correlateMessage("MsgRevisioneArticolo"),(String)execution.getVariable("bkProcess1"), variabl4Process1);
public void execute(DelegateExecution execution) throws Exception {
/* build pay load of message */
TreeMap<String, Object> variable4revisore = new TreeMap<String, Object>();
String businessKeySubProcess = ((String)execution.getVariable("bkRivista"));
variable4revisore.put("bkRivista", bkSubProcessBkRivista);
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
for(int i=0; i<(int)execution.getVariable("nrRevisioniDaOttenere"); i++){
processEngine.getRuntimeService().startProcessInstanceByMessage("MsgRichiestaRevisione", variable4revisore);
}