summaryrefslogtreecommitdiffstats
path: root/bpmn/so-bpmn-building-blocks/src
diff options
context:
space:
mode:
authorAlexis de Talhouët <adetalhouet89@gmail.com>2018-10-26 09:54:46 -0400
committerAlexis de Talhouët <adetalhouet89@gmail.com>2018-11-07 14:11:44 +0000
commit5ca364a5e975877244ee51796602043a4b078a23 (patch)
tree51f66aa51d92fb864bd232cbd4d9930c5560e81b /bpmn/so-bpmn-building-blocks/src
parent16aa0b6cc42c7287fc080c81451e301c0acc14cf (diff)
Make homingBB optinal and fix homing process
Properly defined whether or not to call homing at AssignVnfBB where by default homing doesn't get called, but if a homing solution is provided, then we resolve the solutions. The goal is to change the BPMN definition to use serviceTask rather than a scriptTask, allowing to use the Srping component to inject logic. Also we create a new HomingV2 component that is agnostic of the homing implementation, which goal is to route the homing request to the proper bbackend implementation; e.g. oof vs homing. Finally, we remove the un-needed variables set in the execution context. Change-Id: Ic9fb2a599c6375617c92a6d3462b62921ee47a6f Issue-ID: SO-1168 Signed-off-by: Alexis de Talhouët <adetalhouet89@gmail.com>
Diffstat (limited to 'bpmn/so-bpmn-building-blocks/src')
-rw-r--r--bpmn/so-bpmn-building-blocks/src/main/resources/subprocess/BuildingBlock/AssignVnfBB.bpmn12
-rw-r--r--bpmn/so-bpmn-building-blocks/src/main/resources/subprocess/BuildingBlock/HomingBB.bpmn124
2 files changed, 61 insertions, 75 deletions
diff --git a/bpmn/so-bpmn-building-blocks/src/main/resources/subprocess/BuildingBlock/AssignVnfBB.bpmn b/bpmn/so-bpmn-building-blocks/src/main/resources/subprocess/BuildingBlock/AssignVnfBB.bpmn
index 3355e627c3..9118b0ab5e 100644
--- a/bpmn/so-bpmn-building-blocks/src/main/resources/subprocess/BuildingBlock/AssignVnfBB.bpmn
+++ b/bpmn/so-bpmn-building-blocks/src/main/resources/subprocess/BuildingBlock/AssignVnfBB.bpmn
@@ -28,9 +28,11 @@
</bpmn:serviceTask>
<bpmn:sequenceFlow id="SequenceFlow_1jwsja5" sourceRef="Task_CreateVnf" targetRef="Task_createPlatform" />
<bpmn:sequenceFlow id="SequenceFlow_1nle8kc" sourceRef="Task_createInstanceGroups" targetRef="ExclusiveGateway_02tchpp" />
- <bpmn:sequenceFlow id="SequenceFlow_11jum90" name="no" sourceRef="ExclusiveGateway_02tchpp" targetRef="ExclusiveGateway_1blf52g" />
+ <bpmn:sequenceFlow id="SequenceFlow_11jum90" name="no" sourceRef="ExclusiveGateway_02tchpp" targetRef="ExclusiveGateway_1blf52g">
+ <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[${execution.getVariable("callHoming") == false}]]></bpmn:conditionExpression>
+ </bpmn:sequenceFlow>
<bpmn:sequenceFlow id="SequenceFlow_1uiok7v" name="yes" sourceRef="ExclusiveGateway_02tchpp" targetRef="Task_callHoming">
- <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[${execution.getVariable("callHoming")}]]></bpmn:conditionExpression>
+ <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[${execution.getVariable("callHoming") == true}]]></bpmn:conditionExpression>
</bpmn:sequenceFlow>
<bpmn:sequenceFlow id="SequenceFlow_0v8d14a" sourceRef="Task_callHoming" targetRef="ExclusiveGateway_1blf52g" />
<bpmn:callActivity id="Task_callHoming" name="Call Homing" calledElement="HomingBB">
@@ -65,7 +67,7 @@
<bpmn:sequenceFlow id="SequenceFlow_1i52a7x" sourceRef="StartEvent_1c3cyuv" targetRef="EndEvent_1bywujf" />
</bpmn:subProcess>
<bpmn:sequenceFlow id="SequenceFlow_14mpqit" sourceRef="ExclusiveGateway_1blf52g" targetRef="Task_SDNCAdapterVnfTopologyAssign" />
- <bpmn:inclusiveGateway id="ExclusiveGateway_02tchpp" name="Call Homing?" default="SequenceFlow_11jum90">
+ <bpmn:inclusiveGateway id="ExclusiveGateway_02tchpp" name="Call Homing?">
<bpmn:incoming>SequenceFlow_1nle8kc</bpmn:incoming>
<bpmn:outgoing>SequenceFlow_11jum90</bpmn:outgoing>
<bpmn:outgoing>SequenceFlow_1uiok7v</bpmn:outgoing>
@@ -218,7 +220,7 @@
<bpmndi:BPMNShape id="InclusiveGateway_0x0c3kk_di" bpmnElement="ExclusiveGateway_02tchpp">
<dc:Bounds x="679" y="109" width="50" height="50" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="732" y="128" width="64" height="12" />
+ <dc:Bounds x="731" y="128" width="67" height="13" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="InclusiveGateway_0ijggth_di" bpmnElement="ExclusiveGateway_1blf52g">
@@ -229,4 +231,4 @@
</bpmndi:BPMNShape>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
-</bpmn:definitions>
+</bpmn:definitions> \ No newline at end of file
diff --git a/bpmn/so-bpmn-building-blocks/src/main/resources/subprocess/BuildingBlock/HomingBB.bpmn b/bpmn/so-bpmn-building-blocks/src/main/resources/subprocess/BuildingBlock/HomingBB.bpmn
index 344b7d8761..f775c96db0 100644
--- a/bpmn/so-bpmn-building-blocks/src/main/resources/subprocess/BuildingBlock/HomingBB.bpmn
+++ b/bpmn/so-bpmn-building-blocks/src/main/resources/subprocess/BuildingBlock/HomingBB.bpmn
@@ -1,22 +1,10 @@
<?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:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" id="_vwRmIBsREeeIQtzUKIjH4g" targetNamespace="http://camunda.org/schema/1.0/bpmn" exporter="Camunda Modeler" exporterVersion="1.16.2" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd">
+<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:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" id="_vwRmIBsREeeIQtzUKIjH4g" targetNamespace="http://camunda.org/schema/1.0/bpmn" exporter="Camunda Modeler" exporterVersion="1.9.0" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd">
<bpmn2:process id="HomingBB" name="Homing" isExecutable="true">
<bpmn2:startEvent id="StartEvent_1">
<bpmn2:outgoing>SequenceFlow_1x9usa6</bpmn2:outgoing>
</bpmn2:startEvent>
- <bpmn2:scriptTask id="callSniro" name="&#10;Call&#10;Sniro/Oof&#10;" scriptFormat="groovy">
- <bpmn2:incoming>SequenceFlow_1x9usa6</bpmn2:incoming>
- <bpmn2:outgoing>SequenceFlow_0lc15i7</bpmn2:outgoing>
- <bpmn2:script>import org.onap.so.bpmn.common.scripts.*
-if(InjectExecution.execute(execution, execution.getVariable("gBuildingBlockExecution")).getVariable("homingService") == "oof"){
- OofHoming oofHoming = new OofHoming()
- oofHoming.callOof(InjectExecution.execute(execution, execution.getVariable("gBuildingBlockExecution")))
-}else{
- SniroHomingV2 sniroHoming = new SniroHomingV2()
- SniroHoming.callSniro(InjectExecution.execute(execution, execution.getVariable("gBuildingBlockExecution")))
-}</bpmn2:script>
- </bpmn2:scriptTask>
- <bpmn2:sequenceFlow id="SequenceFlow_1x9usa6" sourceRef="StartEvent_1" targetRef="callSniro" />
+ <bpmn2:sequenceFlow id="SequenceFlow_1x9usa6" sourceRef="StartEvent_1" targetRef="task" />
<bpmn2:subProcess id="bpmnErrorSubprocess" name="Error Handling Subprocess" triggeredByEvent="true">
<bpmn2:endEvent id="EndEvent_07tjq3v">
<bpmn2:incoming>SequenceFlow_1rf4vs8</bpmn2:incoming>
@@ -29,9 +17,9 @@ if(InjectExecution.execute(execution, execution.getVariable("gBuildingBlockExecu
<bpmn2:scriptTask id="processMsoWorkflowException" name="Process Error" scriptFormat="groovy">
<bpmn2:incoming>SequenceFlow_00nlh7l</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_1rf4vs8</bpmn2:outgoing>
- <bpmn2:script>import org.onap.so.bpmn.common.scripts.*
+ <bpmn2:script><![CDATA[import org.onap.so.bpmn.common.scripts.*
ExceptionUtil ex = new ExceptionUtil()
-ex.processSubflowsBPMNException(execution)</bpmn2:script>
+ex.processSubflowsBPMNException(execution)]]></bpmn2:script>
</bpmn2:scriptTask>
<bpmn2:sequenceFlow id="SequenceFlow_1rf4vs8" sourceRef="processMsoWorkflowException" targetRef="EndEvent_07tjq3v" />
<bpmn2:sequenceFlow id="SequenceFlow_00nlh7l" sourceRef="StartEvent_1qiitb2" targetRef="processMsoWorkflowException" />
@@ -40,9 +28,9 @@ ex.processSubflowsBPMNException(execution)</bpmn2:script>
<bpmn2:scriptTask id="processJavaException" name="Process Error" scriptFormat="groovy">
<bpmn2:incoming>SequenceFlow_0kamg53</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_1o7154s</bpmn2:outgoing>
- <bpmn2:script>import org.onap.so.bpmn.common.scripts.*
+ <bpmn2:script><![CDATA[import org.onap.so.bpmn.common.scripts.*
ExceptionUtil ex = new ExceptionUtil()
-ex.processJavaException(execution)</bpmn2:script>
+ex.processJavaException(execution)]]></bpmn2:script>
</bpmn2:scriptTask>
<bpmn2:startEvent id="StartEvent_1fbpeuw">
<bpmn2:outgoing>SequenceFlow_0kamg53</bpmn2:outgoing>
@@ -55,18 +43,6 @@ ex.processJavaException(execution)</bpmn2:script>
<bpmn2:sequenceFlow id="SequenceFlow_0kamg53" name="" sourceRef="StartEvent_1fbpeuw" targetRef="processJavaException" />
<bpmn2:sequenceFlow id="SequenceFlow_1o7154s" name="" sourceRef="processJavaException" targetRef="EndEvent_0jbvnr0" />
</bpmn2:subProcess>
- <bpmn2:scriptTask id="processSniroHomingSolution" name="&#10;Process Solution&#10;" scriptFormat="groovy">
- <bpmn2:incoming>SequenceFlow_1fipbmk</bpmn2:incoming>
- <bpmn2:outgoing>SequenceFlow_01apjvo</bpmn2:outgoing>
- <bpmn2:script>import org.onap.so.bpmn.common.scripts.*
-if(InjectExecution.execute(execution, execution.getVariable("gBuildingBlockExecution")).getVariable("homingService") == "oof"){
- OofHoming oofHoming = new OofHoming()
- oofHoming.processHomingSolution(InjectExecution.execute(execution, execution.getVariable("gBuildingBlockExecution")))
-}else{
- SniroHomingV2 sniroHoming = new SniroHomingV2 ()
- sniroHoming.processSolution(InjectExecution.execute(execution, execution.getVariable("gBuildingBlockExecution")), asyncResponse)
-}</bpmn2:script>
- </bpmn2:scriptTask>
<bpmn2:callActivity id="receiveAsyncCallback" name="Receive Async Callback" camunda:modelerTemplate="receiveWorkflowMessage" calledElement="ReceiveWorkflowMessage">
<bpmn2:extensionElements>
<camunda:in source="true" target="isDebugLogEnabled" />
@@ -76,32 +52,37 @@ if(InjectExecution.execute(execution, execution.getVariable("gBuildingBlockExecu
<camunda:in source="asyncTimeout" target="RCVWFMSG_timeout" />
<camunda:out source="WorkflowResponse" target="asyncCallbackResponse" />
</bpmn2:extensionElements>
- <bpmn2:incoming>SequenceFlow_0lc15i7</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_1a2sya6</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_1fipbmk</bpmn2:outgoing>
</bpmn2:callActivity>
- <bpmn2:sequenceFlow id="SequenceFlow_1fipbmk" sourceRef="receiveAsyncCallback" targetRef="processSniroHomingSolution" />
- <bpmn2:sequenceFlow id="SequenceFlow_01apjvo" sourceRef="processSniroHomingSolution" targetRef="EndEvent_0rrbz2a" />
+ <bpmn2:sequenceFlow id="SequenceFlow_1fipbmk" sourceRef="receiveAsyncCallback" targetRef="ServiceTask_1smgtjf" />
<bpmn2:endEvent id="EndEvent_0rrbz2a">
- <bpmn2:incoming>SequenceFlow_01apjvo</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_1yfelf5</bpmn2:incoming>
<bpmn2:terminateEventDefinition />
</bpmn2:endEvent>
- <bpmn2:sequenceFlow id="SequenceFlow_0lc15i7" sourceRef="callSniro" targetRef="receiveAsyncCallback" />
+ <bpmn2:serviceTask id="task" name="Call Homing" camunda:expression="${HomingV2.callHoming(InjectExecution.execute(execution, execution.getVariable(&#34;gBuildingBlockExecution&#34;)))}">
+ <bpmn2:incoming>SequenceFlow_1x9usa6</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_1a2sya6</bpmn2:outgoing>
+ </bpmn2:serviceTask>
+ <bpmn2:sequenceFlow id="SequenceFlow_1a2sya6" sourceRef="task" targetRef="receiveAsyncCallback" />
+ <bpmn2:serviceTask id="ServiceTask_1smgtjf" name="Process Solution" camunda:expression="${HomingV2.processSolution(InjectExecution.execute(execution, execution.getVariable(&#34;gBuildingBlockExecution&#34;)), asyncCallbackResponse)}">
+ <bpmn2:incoming>SequenceFlow_1fipbmk</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_1yfelf5</bpmn2:outgoing>
+ </bpmn2:serviceTask>
+ <bpmn2:sequenceFlow id="SequenceFlow_1yfelf5" sourceRef="ServiceTask_1smgtjf" targetRef="EndEvent_0rrbz2a" />
</bpmn2:process>
<bpmn2:error id="Error_10hit0u" name="MSO Workflow Exception" errorCode="MSOWorkflowException" />
<bpmn2:error id="Error_1lwpypa" name="Java Lang Exception" errorCode="java.lang.Exception" />
<bpmndi:BPMNDiagram id="BPMNDiagram_1">
- <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="Homing">
+ <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="HomingBB">
<bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="StartEvent_1">
<dc:Bounds x="147" y="275" width="36" height="36" />
</bpmndi:BPMNShape>
- <bpmndi:BPMNShape id="ScriptTask_0qmfpdr_di" bpmnElement="callSniro">
- <dc:Bounds x="313" y="253" width="100" height="80" />
- </bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_1x9usa6_di" bpmnElement="SequenceFlow_1x9usa6">
- <di:waypoint x="183" y="293" />
- <di:waypoint x="313" y="293" />
+ <di:waypoint xsi:type="dc:Point" x="183" y="293" />
+ <di:waypoint xsi:type="dc:Point" x="285" y="293" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="203" y="278" width="90" height="0" />
+ <dc:Bounds x="189" y="278" width="90" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="SubProcess_16p12qo_di" bpmnElement="bpmnErrorSubprocess" isExpanded="true">
@@ -141,53 +122,43 @@ if(InjectExecution.execute(execution, execution.getVariable("gBuildingBlockExecu
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_1rf4vs8_di" bpmnElement="SequenceFlow_1rf4vs8">
- <di:waypoint x="506" y="541" />
- <di:waypoint x="579" y="541" />
+ <di:waypoint xsi:type="dc:Point" x="506" y="541" />
+ <di:waypoint xsi:type="dc:Point" x="579" y="541" />
<bpmndi:BPMNLabel>
<dc:Bounds x="498" y="526" width="90" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_00nlh7l_di" bpmnElement="SequenceFlow_00nlh7l">
- <di:waypoint x="335" y="541" />
- <di:waypoint x="363" y="541" />
- <di:waypoint x="363" y="541" />
- <di:waypoint x="406" y="541" />
+ <di:waypoint xsi:type="dc:Point" x="335" y="541" />
+ <di:waypoint xsi:type="dc:Point" x="363" y="541" />
+ <di:waypoint xsi:type="dc:Point" x="363" y="541" />
+ <di:waypoint xsi:type="dc:Point" x="406" y="541" />
<bpmndi:BPMNLabel>
<dc:Bounds x="333" y="541" width="90" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_0kamg53_di" bpmnElement="SequenceFlow_0kamg53">
- <di:waypoint x="354" y="720" />
- <di:waypoint x="410" y="720" />
+ <di:waypoint xsi:type="dc:Point" x="354" y="720" />
+ <di:waypoint xsi:type="dc:Point" x="410" y="720" />
<bpmndi:BPMNLabel>
<dc:Bounds x="337" y="705" width="90" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_1o7154s_di" bpmnElement="SequenceFlow_1o7154s">
- <di:waypoint x="510" y="720" />
- <di:waypoint x="567" y="720" />
+ <di:waypoint xsi:type="dc:Point" x="510" y="720" />
+ <di:waypoint xsi:type="dc:Point" x="567" y="720" />
<bpmndi:BPMNLabel>
<dc:Bounds x="494" y="705" width="90" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNShape id="ScriptTask_1aapkvq_di" bpmnElement="processSniroHomingSolution">
- <dc:Bounds x="597" y="253" width="100" height="80" />
- </bpmndi:BPMNShape>
<bpmndi:BPMNShape id="CallActivity_031b5m3_di" bpmnElement="receiveAsyncCallback">
<dc:Bounds x="455" y="253" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_1fipbmk_di" bpmnElement="SequenceFlow_1fipbmk">
- <di:waypoint x="555" y="293" />
- <di:waypoint x="597" y="293" />
- <bpmndi:BPMNLabel>
- <dc:Bounds x="531" y="272" width="90" height="12" />
- </bpmndi:BPMNLabel>
- </bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_01apjvo_di" bpmnElement="SequenceFlow_01apjvo">
- <di:waypoint x="697" y="293" />
- <di:waypoint x="860" y="293" />
+ <di:waypoint xsi:type="dc:Point" x="555" y="293" />
+ <di:waypoint xsi:type="dc:Point" x="625" y="293" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="778.5" y="272" width="0" height="12" />
+ <dc:Bounds x="545" y="272" width="90" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="EndEvent_07i1a5x_di" bpmnElement="EndEvent_0rrbz2a">
@@ -196,13 +167,26 @@ if(InjectExecution.execute(execution, execution.getVariable("gBuildingBlockExecu
<dc:Bounds x="877.17" y="315" width="0" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
- <bpmndi:BPMNEdge id="SequenceFlow_0lc15i7_di" bpmnElement="SequenceFlow_0lc15i7">
- <di:waypoint x="413" y="293" />
- <di:waypoint x="455" y="293" />
+ <bpmndi:BPMNShape id="ServiceTask_06dtzr3_di" bpmnElement="task">
+ <dc:Bounds x="285" y="253" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_1a2sya6_di" bpmnElement="SequenceFlow_1a2sya6">
+ <di:waypoint xsi:type="dc:Point" x="385" y="293" />
+ <di:waypoint xsi:type="dc:Point" x="455" y="293" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="420" y="271" width="0" height="13" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ServiceTask_1smgtjp_di" bpmnElement="ServiceTask_1smgtjf">
+ <dc:Bounds x="625" y="253" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_1yfelf5_di" bpmnElement="SequenceFlow_1yfelf5">
+ <di:waypoint xsi:type="dc:Point" x="725" y="293" />
+ <di:waypoint xsi:type="dc:Point" x="860" y="293" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="434" y="272" width="0" height="12" />
+ <dc:Bounds x="792.5" y="271.5" width="0" height="13" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
-</bpmn2:definitions>
+</bpmn2:definitions> \ No newline at end of file