summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--adapters/mso-nssmf-adapter/src/main/java/org/onap/so/adapters/nssmf/consts/NssmfAdapterConsts.java2
-rw-r--r--adapters/mso-nssmf-adapter/src/main/java/org/onap/so/adapters/nssmf/util/RestUtil.java29
-rw-r--r--bpmn/MSOCommonBPMN/src/main/groovy/org/onap/so/bpmn/common/scripts/DoHandleOofRequest.groovy2
-rw-r--r--bpmn/so-bpmn-building-blocks/src/main/resources/subprocess/BuildingBlock/WorkflowActionBB.bpmn575
-rw-r--r--bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/CreateSliceService.groovy25
-rw-r--r--bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateSliceServiceInstance.groovy34
-rw-r--r--bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateTnNssiInstance.groovy83
-rw-r--r--bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/TnAllocateNssi.groovy4
-rw-r--r--bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/TnNssmfUtils.groovy135
-rw-r--r--bpmn/so-bpmn-infrastructure-flows/src/main/resources/subprocess/DoCreateSliceServiceInstance.bpmn4
-rw-r--r--bpmn/so-bpmn-infrastructure-flows/src/main/resources/subprocess/DoCreateTnNssiInstance.bpmn51
-rw-r--r--bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionBBTasks.java7
-rw-r--r--bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/listeners/SkipCDSBuildingBlockListener.java19
-rw-r--r--bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionBBTasksTest.java4
-rw-r--r--bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/listeners/SkipCDSBuildingBlockListenerTest.java42
-rw-r--r--common/src/main/java/org/onap/so/beans/nsmf/SliceTaskParamsAdapter.java18
-rw-r--r--common/src/main/java/org/onap/so/configuration/rest/HttpClientConnectionConfiguration.java13
-rw-r--r--common/src/main/java/org/onap/so/configuration/rest/HttpComponentsClientConfiguration.java6
-rw-r--r--releases/1.7.7.yaml33
19 files changed, 600 insertions, 486 deletions
diff --git a/adapters/mso-nssmf-adapter/src/main/java/org/onap/so/adapters/nssmf/consts/NssmfAdapterConsts.java b/adapters/mso-nssmf-adapter/src/main/java/org/onap/so/adapters/nssmf/consts/NssmfAdapterConsts.java
index 28789f2a98..84e1eb2acc 100644
--- a/adapters/mso-nssmf-adapter/src/main/java/org/onap/so/adapters/nssmf/consts/NssmfAdapterConsts.java
+++ b/adapters/mso-nssmf-adapter/src/main/java/org/onap/so/adapters/nssmf/consts/NssmfAdapterConsts.java
@@ -159,7 +159,7 @@ public class NssmfAdapterConsts {
new NssmfUrlInfo(EXTERNAL_QUERY_JOB_STATUS, HttpMethod.GET));
urlInfoMap.put(generateKey(ExecutorType.INTERNAL, null, ActionType.QUERY_SUB_NET_CAPABILITY),
- new NssmfUrlInfo(INTERNAL_QUERY_SUB_NET_CAPABILITY, HttpMethod.POST));
+ new NssmfUrlInfo(INTERNAL_QUERY_SUB_NET_CAPABILITY, HttpMethod.GET));
}
/**
diff --git a/adapters/mso-nssmf-adapter/src/main/java/org/onap/so/adapters/nssmf/util/RestUtil.java b/adapters/mso-nssmf-adapter/src/main/java/org/onap/so/adapters/nssmf/util/RestUtil.java
index a4a79bf2cd..432cfacb0b 100644
--- a/adapters/mso-nssmf-adapter/src/main/java/org/onap/so/adapters/nssmf/util/RestUtil.java
+++ b/adapters/mso-nssmf-adapter/src/main/java/org/onap/so/adapters/nssmf/util/RestUtil.java
@@ -219,7 +219,11 @@ public class RestUtil {
break;
case GET:
- base = new HttpGet(url);
+ HttpGetWithBody get = new HttpGetWithBody(url);
+ if (content != null) {
+ get.setEntity(new StringEntity(content, APPLICATION_JSON));
+ }
+ base = get;
break;
case PUT:
@@ -280,6 +284,29 @@ public class RestUtil {
}
}
+ class HttpGetWithBody extends HttpEntityEnclosingRequestBase {
+ public static final String METHOD_NAME = "GET";
+
+ public HttpGetWithBody() {
+ super();
+ }
+
+ public HttpGetWithBody(final String uri) {
+ super();
+ setURI(URI.create(uri));
+ }
+
+ public HttpGetWithBody(final URI uri) {
+ super();
+ setURI(uri);
+ }
+
+ @Override
+ public String getMethod() {
+ return METHOD_NAME;
+ }
+ }
+
public HttpClient getHttpsClient() {
diff --git a/bpmn/MSOCommonBPMN/src/main/groovy/org/onap/so/bpmn/common/scripts/DoHandleOofRequest.groovy b/bpmn/MSOCommonBPMN/src/main/groovy/org/onap/so/bpmn/common/scripts/DoHandleOofRequest.groovy
index 644cf5e387..1964a189f1 100644
--- a/bpmn/MSOCommonBPMN/src/main/groovy/org/onap/so/bpmn/common/scripts/DoHandleOofRequest.groovy
+++ b/bpmn/MSOCommonBPMN/src/main/groovy/org/onap/so/bpmn/common/scripts/DoHandleOofRequest.groovy
@@ -95,7 +95,7 @@ class DoHandleOofRequest extends AbstractServiceTaskProcessor {
Response httpResponse = httpClient.post(oofRequest)
int responseCode = httpResponse.getStatus()
logger.debug("OOF sync response code is: " + responseCode)
- if(responseCode != 200){
+ if(responseCode < 200 || responseCode >= 300){
exceptionUtil.buildAndThrowWorkflowException(execution, responseCode, "Received a Bad Sync Response from OOF.")
}
}
diff --git a/bpmn/so-bpmn-building-blocks/src/main/resources/subprocess/BuildingBlock/WorkflowActionBB.bpmn b/bpmn/so-bpmn-building-blocks/src/main/resources/subprocess/BuildingBlock/WorkflowActionBB.bpmn
index b4954e0b75..5fd9701880 100644
--- a/bpmn/so-bpmn-building-blocks/src/main/resources/subprocess/BuildingBlock/WorkflowActionBB.bpmn
+++ b/bpmn/so-bpmn-building-blocks/src/main/resources/subprocess/BuildingBlock/WorkflowActionBB.bpmn
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="Definitions_1" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="1.10.0">
+<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="Definitions_1" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="3.1.2">
<bpmn:process id="WorkflowActionBB" name="WorkflowActionBB" isExecutable="true">
<bpmn:extensionElements>
<camunda:executionListener class="org.onap.so.bpmn.core.plugins.AsyncTaskExecutorListener" event="end" />
@@ -41,7 +41,7 @@
<bpmn:outgoing>SequenceFlow_0mqrkxv</bpmn:outgoing>
</bpmn:serviceTask>
<bpmn:exclusiveGateway id="ExclusiveGateway_Finished" default="SequenceFlow_01j184u">
- <bpmn:incoming>SequenceFlow_16fwl31</bpmn:incoming>
+ <bpmn:incoming>SequenceFlow_1fftixk</bpmn:incoming>
<bpmn:outgoing>SequenceFlow_1m2eezj</bpmn:outgoing>
<bpmn:outgoing>SequenceFlow_0v588sm</bpmn:outgoing>
<bpmn:outgoing>SequenceFlow_11530ei</bpmn:outgoing>
@@ -49,7 +49,7 @@
<bpmn:outgoing>SequenceFlow_0l7kaba</bpmn:outgoing>
</bpmn:exclusiveGateway>
<bpmn:sequenceFlow id="SequenceFlow_1m2eezj" name="Completed = true" sourceRef="ExclusiveGateway_Finished" targetRef="ExclusiveGateway_isTopLevelFlowC">
- <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[${execution.getVariable("completed")==true&&execution.getVariable("isRollback")==false&&execution.getVariable("handlingCode")=="Success"}]]></bpmn:conditionExpression>
+ <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression">${execution.getVariable("completed")==true&amp;&amp;execution.getVariable("isRollback")==false&amp;&amp;execution.getVariable("handlingCode")=="Success"}</bpmn:conditionExpression>
</bpmn:sequenceFlow>
<bpmn:serviceTask id="Task_RetrieveBBExectuionList" name="Retrieve BB Execution List" camunda:expression="${WorkflowAction.selectExecutionList(execution)}">
<bpmn:incoming>SequenceFlow_15s0okp</bpmn:incoming>
@@ -86,7 +86,7 @@
</bpmn:exclusiveGateway>
<bpmn:sequenceFlow id="SequenceFlow_024g0d1" name="no" sourceRef="ExclusiveGateway_10q79b6" targetRef="Task_UpdateDb" />
<bpmn:sequenceFlow id="SequenceFlow_0vi883o" name="yes" sourceRef="ExclusiveGateway_10q79b6" targetRef="Task_SendSyncAckError">
- <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[${execution.getVariable("isTopLevelFlow")==true&&execution.getVariable("sentSyncResponse")==false}]]></bpmn:conditionExpression>
+ <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression">${execution.getVariable("isTopLevelFlow")==true&amp;&amp;execution.getVariable("sentSyncResponse")==false}</bpmn:conditionExpression>
</bpmn:sequenceFlow>
<bpmn:sequenceFlow id="SequenceFlow_0eana0l" sourceRef="Task_SendSyncAckError" targetRef="Task_UpdateDb" />
<bpmn:serviceTask id="Task_SendSyncAckError" name="Send Sync Ack API Handler" camunda:asyncAfter="true" camunda:expression="${WorkflowActionBBTasks.sendErrorSyncAck(execution)}">
@@ -95,10 +95,10 @@
</bpmn:serviceTask>
</bpmn:subProcess>
<bpmn:sequenceFlow id="SequenceFlow_0v588sm" name="Rollback = true" sourceRef="ExclusiveGateway_Finished" targetRef="Task_RollbackExecutionPath">
- <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[${execution.getVariable("handlingCode")=="Rollback"||execution.getVariable("handlingCode")=="RollbackToAssigned"||execution.getVariable("handlingCode")=="RollbackToCreated"||execution.getVariable("handlingCode")=="RollbackToCreatedNoConfiguration"}]]></bpmn:conditionExpression>
+ <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression">${execution.getVariable("handlingCode")=="Rollback"||execution.getVariable("handlingCode")=="RollbackToAssigned"||execution.getVariable("handlingCode")=="RollbackToCreated"||execution.getVariable("handlingCode")=="RollbackToCreatedNoConfiguration"}</bpmn:conditionExpression>
</bpmn:sequenceFlow>
<bpmn:sequenceFlow id="SequenceFlow_1atzsgn" sourceRef="Task_RollbackExecutionPath" targetRef="Task_SelectBB">
- <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[${execution.getVariable("isRollbackNeeded")==true}]]></bpmn:conditionExpression>
+ <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression">${execution.getVariable("isRollbackNeeded")==true}</bpmn:conditionExpression>
</bpmn:sequenceFlow>
<bpmn:serviceTask id="Task_RollbackExecutionPath" name="Rollback Execution Path" camunda:expression="${WorkflowActionBBTasks.rollbackExecutionPath(execution)}">
<bpmn:incoming>SequenceFlow_0v588sm</bpmn:incoming>
@@ -107,7 +107,7 @@
</bpmn:serviceTask>
<bpmn:sequenceFlow id="SequenceFlow_0vc9go9" sourceRef="Task_RetrieveBBExectuionList" targetRef="ExclusiveGateway_isTopLevelFlow" />
<bpmn:sequenceFlow id="SequenceFlow_11530ei" name="Abort = true" sourceRef="ExclusiveGateway_Finished" targetRef="ExclusiveGateway_isTopLevelFlowAbort">
- <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[${execution.getVariable("handlingCode")=="Abort"}]]></bpmn:conditionExpression>
+ <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression">${execution.getVariable("handlingCode")=="Abort"}</bpmn:conditionExpression>
</bpmn:sequenceFlow>
<bpmn:serviceTask id="Task_AbortAndCallErrorHandling" name="Update Request To Failed" camunda:expression="${WorkflowActionBBFailure.updateRequestStatusToFailed(execution)}">
<bpmn:incoming>SequenceFlow_02ksbt0</bpmn:incoming>
@@ -130,7 +130,7 @@
</bpmn:exclusiveGateway>
<bpmn:sequenceFlow id="SequenceFlow_0sckerv" name="yes" sourceRef="ExclusiveGateway_isTopLevelFlow" targetRef="Task_SendSync" />
<bpmn:sequenceFlow id="SequenceFlow_0unbew4" name="no" sourceRef="ExclusiveGateway_isTopLevelFlow" targetRef="Task_PreValidateWorkflow">
- <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[${execution.getVariable("isTopLevelFlow")==false}]]></bpmn:conditionExpression>
+ <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression">${execution.getVariable("isTopLevelFlow")==false}</bpmn:conditionExpression>
</bpmn:sequenceFlow>
<bpmn:exclusiveGateway id="ExclusiveGateway_isTopLevelFlowAbort" name="Is Top-Level Flow?" default="SequenceFlow_02ksbt0">
<bpmn:incoming>SequenceFlow_11530ei</bpmn:incoming>
@@ -139,7 +139,7 @@
</bpmn:exclusiveGateway>
<bpmn:sequenceFlow id="SequenceFlow_02ksbt0" name="yes" sourceRef="ExclusiveGateway_isTopLevelFlowAbort" targetRef="Task_AbortAndCallErrorHandling" />
<bpmn:sequenceFlow id="SequenceFlow_1r570x3" name="no" sourceRef="ExclusiveGateway_isTopLevelFlowAbort" targetRef="EndEvent_0lzz1ya">
- <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[${execution.getVariable("isTopLevelFlow")==false}]]></bpmn:conditionExpression>
+ <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression">${execution.getVariable("isTopLevelFlow")==false}</bpmn:conditionExpression>
</bpmn:sequenceFlow>
<bpmn:exclusiveGateway id="ExclusiveGateway_isTopLevelFlowC" name="Is Top-Level Flow?" default="SequenceFlow_0kf5sen">
<bpmn:incoming>SequenceFlow_1m2eezj</bpmn:incoming>
@@ -147,13 +147,13 @@
<bpmn:outgoing>SequenceFlow_0kf5sen</bpmn:outgoing>
</bpmn:exclusiveGateway>
<bpmn:sequenceFlow id="SequenceFlow_0x4urgp" name="no" sourceRef="ExclusiveGateway_isTopLevelFlowC" targetRef="End_WorkflowActionBB">
- <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[${execution.getVariable("isTopLevelFlow")==false}]]></bpmn:conditionExpression>
+ <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression">${execution.getVariable("isTopLevelFlow")==false}</bpmn:conditionExpression>
</bpmn:sequenceFlow>
<bpmn:endEvent id="End_RollbackFailed" name="end">
<bpmn:incoming>SequenceFlow_1ui67mc</bpmn:incoming>
</bpmn:endEvent>
<bpmn:sequenceFlow id="SequenceFlow_11dlyzt" name="Rollback Not Needed" sourceRef="Task_RollbackExecutionPath" targetRef="Task_UpdateRequestToFailed">
- <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[${execution.getVariable("isRollbackNeeded")==false}]]></bpmn:conditionExpression>
+ <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression">${execution.getVariable("isRollbackNeeded")==false}</bpmn:conditionExpression>
</bpmn:sequenceFlow>
<bpmn:serviceTask id="Task_UpdateRequestToFailed" name="Update Request To Failed" camunda:expression="${WorkflowActionBBFailure.updateRequestStatusToFailedWithRollback(execution)}">
<bpmn:incoming>SequenceFlow_11dlyzt</bpmn:incoming>
@@ -161,7 +161,7 @@
<bpmn:outgoing>SequenceFlow_1ui67mc</bpmn:outgoing>
</bpmn:serviceTask>
<bpmn:sequenceFlow id="SequenceFlow_0l7kaba" name="Rollback Completed" sourceRef="ExclusiveGateway_Finished" targetRef="Task_UpdateRequestToFailed">
- <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[${execution.getVariable("completed")==true&&execution.getVariable("isRollback")==true&&execution.getVariable("handlingCode")=="Success"}]]></bpmn:conditionExpression>
+ <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression">${execution.getVariable("completed")==true&amp;&amp;execution.getVariable("isRollback")==true&amp;&amp;execution.getVariable("handlingCode")=="Success"}</bpmn:conditionExpression>
</bpmn:sequenceFlow>
<bpmn:sequenceFlow id="SequenceFlow_1ui67mc" sourceRef="Task_UpdateRequestToFailed" targetRef="End_RollbackFailed" />
<bpmn:subProcess id="SubProcess_0fuugr9" name="Java Exception Handling Sub Process" triggeredByEvent="true">
@@ -193,9 +193,10 @@
</bpmn:serviceTask>
<bpmn:serviceTask id="ServiceTask_0lbkcyp" name="Post Processing Execute BB" camunda:expression="${WorkflowActionBBTasks.postProcessingExecuteBB(execution)}">
<bpmn:incoming>SequenceFlow_1hsqed1</bpmn:incoming>
- <bpmn:outgoing>SequenceFlow_0tps01a</bpmn:outgoing>
+ <bpmn:outgoing>SequenceFlow_1fftixk</bpmn:outgoing>
</bpmn:serviceTask>
<bpmn:sequenceFlow id="SequenceFlow_1hsqed1" sourceRef="Call_ExecuteBB" targetRef="ServiceTask_0lbkcyp" />
+ <bpmn:sequenceFlow id="SequenceFlow_1fftixk" sourceRef="ServiceTask_0lbkcyp" targetRef="ExclusiveGateway_Finished" />
<bpmn:sequenceFlow id="SequenceFlow_1pnkpim" sourceRef="Task_0a31dkf" targetRef="Task_SelectBB" />
<bpmn:exclusiveGateway id="ExclusiveGateway_1dez26n" name="Generated Id&#39;s?">
<bpmn:incoming>SequenceFlow_1lrz41x</bpmn:incoming>
@@ -204,399 +205,302 @@
</bpmn:exclusiveGateway>
<bpmn:sequenceFlow id="SequenceFlow_1lrz41x" sourceRef="Task_SendSync" targetRef="ExclusiveGateway_1dez26n" />
<bpmn:sequenceFlow id="SequenceFlow_0etawv5" name="no" sourceRef="ExclusiveGateway_1dez26n" targetRef="Task_PreValidateWorkflow">
- <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[${execution.getVariable("generateIdsOnly") == null || execution.getVariable("generateIdsOnly")==false}]]></bpmn:conditionExpression>
+ <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression">${execution.getVariable("generateIdsOnly") == null || execution.getVariable("generateIdsOnly")==false}</bpmn:conditionExpression>
</bpmn:sequenceFlow>
<bpmn:endEvent id="EndEvent_12f15tu" name="End">
<bpmn:incoming>SequenceFlow_0ilo6lo</bpmn:incoming>
</bpmn:endEvent>
<bpmn:sequenceFlow id="SequenceFlow_0ilo6lo" name="yes" sourceRef="ExclusiveGateway_1dez26n" targetRef="EndEvent_12f15tu" />
- <bpmn:serviceTask id="Call_FlowManipulator" name="FlowManipulator Workflow" camunda:expression="${WorkflowActionBBTasks.runFlowManipulator(execution)}">
- <bpmn:incoming>SequenceFlow_0tps01a</bpmn:incoming>
- <bpmn:outgoing>SequenceFlow_16fwl31</bpmn:outgoing>
- </bpmn:serviceTask>
- <bpmn:sequenceFlow id="SequenceFlow_0tps01a" sourceRef="ServiceTask_0lbkcyp" targetRef="Call_FlowManipulator" />
- <bpmn:sequenceFlow id="SequenceFlow_16fwl31" sourceRef="Call_FlowManipulator" targetRef="ExclusiveGateway_Finished" />
</bpmn:process>
<bpmn:error id="Error_0kd2o2a" name="java.lang.Exception" errorCode="java.lang.Exception" />
<bpmndi:BPMNDiagram id="BPMNDiagram_1">
<bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="WorkflowActionBB">
- <bpmndi:BPMNEdge id="SequenceFlow_16fwl31_di" bpmnElement="SequenceFlow_16fwl31">
- <di:waypoint xsi:type="dc:Point" x="1590" y="396" />
- <di:waypoint xsi:type="dc:Point" x="1669" y="396" />
+ <bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="Start_WorkflowActionBB">
+ <dc:Bounds x="156" y="378" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1636" y="375" width="0" height="12" />
+ <dc:Bounds x="164" y="414" width="22" height="14" />
</bpmndi:BPMNLabel>
- </bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_0tps01a_di" bpmnElement="SequenceFlow_0tps01a">
- <di:waypoint xsi:type="dc:Point" x="1425" y="396" />
- <di:waypoint xsi:type="dc:Point" x="1490" y="396" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="EndEvent_1uv6erv_di" bpmnElement="End_WorkflowActionBB">
+ <dc:Bounds x="1894" y="423" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1464" y="375" width="0" height="12" />
+ <dc:Bounds x="1903" y="403" width="19" height="14" />
</bpmndi:BPMNLabel>
- </bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_0ilo6lo_di" bpmnElement="SequenceFlow_0ilo6lo">
- <di:waypoint xsi:type="dc:Point" x="720" y="215" />
- <di:waypoint xsi:type="dc:Point" x="720" y="142" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_15s0okp_di" bpmnElement="SequenceFlow_15s0okp">
+ <di:waypoint x="192" y="396" />
+ <di:waypoint x="225" y="396" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="727" y="173" width="18" height="14" />
+ <dc:Bounds x="-381" y="99" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_0etawv5_di" bpmnElement="SequenceFlow_0etawv5">
- <di:waypoint xsi:type="dc:Point" x="720" y="265" />
- <di:waypoint xsi:type="dc:Point" x="720" y="356" />
+ <bpmndi:BPMNShape id="CallActivity_03m7z4y_di" bpmnElement="Call_ExecuteBB">
+ <dc:Bounds x="1150" y="356" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0mqrkxv_di" bpmnElement="SequenceFlow_0mqrkxv">
+ <di:waypoint x="929" y="396" />
+ <di:waypoint x="990" y="396" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="729" y="305" width="13" height="14" />
+ <dc:Bounds x="324.5" y="105" width="90" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_1lrz41x_di" bpmnElement="SequenceFlow_1lrz41x">
- <di:waypoint xsi:type="dc:Point" x="590" y="240" />
- <di:waypoint xsi:type="dc:Point" x="695" y="240" />
+ <bpmndi:BPMNShape id="ServiceTask_1snenqk_di" bpmnElement="Task_SelectBB">
+ <dc:Bounds x="829" y="356" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ExclusiveGateway_0m1zt0q_di" bpmnElement="ExclusiveGateway_Finished" isMarkerVisible="true">
+ <dc:Bounds x="1501" y="371" width="50" height="50" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="52.5" y="-57" width="0" height="12" />
+ <dc:Bounds x="850" y="42" width="90" height="0" />
</bpmndi:BPMNLabel>
- </bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_1pnkpim_di" bpmnElement="SequenceFlow_1pnkpim">
- <di:waypoint xsi:type="dc:Point" x="1644" y="240" />
- <di:waypoint xsi:type="dc:Point" x="879" y="240" />
- <di:waypoint xsi:type="dc:Point" x="879" y="356" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_1m2eezj_di" bpmnElement="SequenceFlow_1m2eezj">
+ <di:waypoint x="1539" y="408" />
+ <di:waypoint x="1570" y="441" />
+ <di:waypoint x="1650" y="441" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1216.5" y="219" width="90" height="12" />
+ <dc:Bounds x="1557" y="444" width="85" height="14" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_1hsqed1_di" bpmnElement="SequenceFlow_1hsqed1">
- <di:waypoint xsi:type="dc:Point" x="1250" y="396" />
- <di:waypoint xsi:type="dc:Point" x="1325" y="396" />
+ <bpmndi:BPMNShape id="ServiceTask_0kn8jt8_di" bpmnElement="Task_RetrieveBBExectuionList">
+ <dc:Bounds x="225" y="356" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ServiceTask_0654g3m_di" bpmnElement="Task_SendSync">
+ <dc:Bounds x="490" y="200" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ServiceTask_0wzh11j_di" bpmnElement="Task_UpdateRequestComplete">
+ <dc:Bounds x="1751" y="482" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_1pz6edz_di" bpmnElement="SequenceFlow_1pz6edz">
+ <di:waypoint x="1851" y="522" />
+ <di:waypoint x="1912" y="522" />
+ <di:waypoint x="1912" y="459" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="697.5" y="99" width="0" height="12" />
+ <dc:Bounds x="1247" y="231" width="90" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_1tfizxf_di" bpmnElement="SequenceFlow_1tfizxf">
- <di:waypoint xsi:type="dc:Point" x="770" y="396" />
- <di:waypoint xsi:type="dc:Point" x="801" y="396" />
- <di:waypoint xsi:type="dc:Point" x="801" y="396" />
- <di:waypoint xsi:type="dc:Point" x="829" y="396" />
+ <bpmndi:BPMNShape id="SubProcess_18226x4_di" bpmnElement="SubProcess_18226x4" isExpanded="true">
+ <dc:Bounds x="1088" y="720" width="438" height="297" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="StartEvent_184g7f3_di" bpmnElement="ErrorStart">
+ <dc:Bounds x="1110" y="915" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="226" y="120" width="0" height="0" />
+ <dc:Bounds x="1116" y="958" width="24" height="14" />
</bpmndi:BPMNLabel>
- </bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_0kf5sen_di" bpmnElement="SequenceFlow_0kf5sen">
- <di:waypoint xsi:type="dc:Point" x="1843" y="466" />
- <di:waypoint xsi:type="dc:Point" x="1843" y="522" />
- <di:waypoint xsi:type="dc:Point" x="1919" y="522" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="EndEvent_0l4edvr_di" bpmnElement="ErrorEnd">
+ <dc:Bounds x="1470" y="915" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1850" y="494" width="19" height="12" />
+ <dc:Bounds x="1480" y="957" width="19" height="14" />
</bpmndi:BPMNLabel>
- </bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_0mew9im_di" bpmnElement="SequenceFlow_0mew9im">
- <di:waypoint xsi:type="dc:Point" x="1090" y="396" />
- <di:waypoint xsi:type="dc:Point" x="1150" y="396" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0v588sm_di" bpmnElement="SequenceFlow_0v588sm">
+ <di:waypoint x="1526" y="421" />
+ <di:waypoint x="1526" y="538" />
+ <di:waypoint x="929" y="538" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="530" y="99" width="0" height="12" />
+ <dc:Bounds x="1359" y="548" width="74" height="14" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_1ui67mc_di" bpmnElement="SequenceFlow_1ui67mc">
- <di:waypoint xsi:type="dc:Point" x="1818" y="641" />
- <di:waypoint xsi:type="dc:Point" x="1892" y="641" />
- <di:waypoint xsi:type="dc:Point" x="1892" y="641" />
- <di:waypoint xsi:type="dc:Point" x="1917" y="641" />
+ <bpmndi:BPMNEdge id="SequenceFlow_1atzsgn_di" bpmnElement="SequenceFlow_1atzsgn">
+ <di:waypoint x="879" y="498" />
+ <di:waypoint x="879" y="436" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1272" y="359" width="90" height="13" />
+ <dc:Bounds x="259" y="191" width="90" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_0l7kaba_di" bpmnElement="SequenceFlow_0l7kaba">
- <di:waypoint xsi:type="dc:Point" x="1700" y="415" />
- <di:waypoint xsi:type="dc:Point" x="1734" y="528" />
- <di:waypoint xsi:type="dc:Point" x="1774" y="528" />
- <di:waypoint xsi:type="dc:Point" x="1774" y="601" />
+ <bpmndi:BPMNShape id="ServiceTask_19t1oyr_di" bpmnElement="Task_RollbackExecutionPath">
+ <dc:Bounds x="829" y="498" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0vc9go9_di" bpmnElement="SequenceFlow_0vc9go9">
+ <di:waypoint x="325" y="396" />
+ <di:waypoint x="362" y="396" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1716" y="531" width="55" height="24" />
+ <dc:Bounds x="-246" y="105" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_11dlyzt_di" bpmnElement="SequenceFlow_11dlyzt">
- <di:waypoint xsi:type="dc:Point" x="879" y="578" />
- <di:waypoint xsi:type="dc:Point" x="879" y="644" />
- <di:waypoint xsi:type="dc:Point" x="1718" y="644" />
+ <bpmndi:BPMNEdge id="SequenceFlow_11530ei_di" bpmnElement="SequenceFlow_11530ei">
+ <di:waypoint x="1536" y="381" />
+ <di:waypoint x="1573" y="320" />
+ <di:waypoint x="1650" y="321" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1002.1713859910583" y="601" width="65" height="24" />
+ <dc:Bounds x="1565" y="293" width="58" height="14" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_0x4urgp_di" bpmnElement="SequenceFlow_0x4urgp">
- <di:waypoint xsi:type="dc:Point" x="1868" y="441" />
- <di:waypoint xsi:type="dc:Point" x="1978" y="441" />
- <di:waypoint xsi:type="dc:Point" x="1978" y="441" />
- <di:waypoint xsi:type="dc:Point" x="2062" y="441" />
+ <bpmndi:BPMNShape id="ServiceTask_0jo36ez_di" bpmnElement="Task_AbortAndCallErrorHandling">
+ <dc:Bounds x="1766" y="200" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="EndEvent_0lzz1ya_di" bpmnElement="EndEvent_0lzz1ya">
+ <dc:Bounds x="1976" y="303" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="2014" y="416" width="13" height="12" />
+ <dc:Bounds x="1985" y="343" width="19" height="14" />
</bpmndi:BPMNLabel>
- </bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_1r570x3_di" bpmnElement="SequenceFlow_1r570x3">
- <di:waypoint xsi:type="dc:Point" x="1868" y="321" />
- <di:waypoint xsi:type="dc:Point" x="2144" y="321" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_1p8yxu6_di" bpmnElement="SequenceFlow_1p8yxu6">
+ <di:waypoint x="1866" y="240" />
+ <di:waypoint x="1949" y="240" />
+ <di:waypoint x="1949" y="321" />
+ <di:waypoint x="1976" y="321" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="2000" y="296" width="13" height="12" />
+ <dc:Bounds x="1329" y="5" width="90" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_02ksbt0_di" bpmnElement="SequenceFlow_02ksbt0">
- <di:waypoint xsi:type="dc:Point" x="1843" y="296" />
- <di:waypoint xsi:type="dc:Point" x="1843" y="239" />
- <di:waypoint xsi:type="dc:Point" x="1934" y="239" />
+ <bpmndi:BPMNEdge id="SequenceFlow_01j184u_di" bpmnElement="SequenceFlow_01j184u">
+ <di:waypoint x="1526" y="371" />
+ <di:waypoint x="1526" y="331" />
+ <di:waypoint x="1526" y="331" />
+ <di:waypoint x="1526" y="280" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1850" y="268" width="19" height="12" />
+ <dc:Bounds x="906" y="49" width="90" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_0unbew4_di" bpmnElement="SequenceFlow_0unbew4">
- <di:waypoint xsi:type="dc:Point" x="412" y="396" />
- <di:waypoint xsi:type="dc:Point" x="670" y="396" />
+ <bpmndi:BPMNShape id="ServiceTask_1c1v3p1_di" bpmnElement="Task_0a31dkf">
+ <dc:Bounds x="1476" y="200" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ExclusiveGateway_0ptb1yi_di" bpmnElement="ExclusiveGateway_isTopLevelFlow" isMarkerVisible="true">
+ <dc:Bounds x="362" y="371" width="50" height="50" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="503" y="376" width="13" height="14" />
+ <dc:Bounds x="357" y="421" width="60" height="27" />
</bpmndi:BPMNLabel>
- </bpmndi:BPMNEdge>
+ </bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_0sckerv_di" bpmnElement="SequenceFlow_0sckerv">
- <di:waypoint xsi:type="dc:Point" x="388" y="372" />
- <di:waypoint xsi:type="dc:Point" x="388" y="240" />
- <di:waypoint xsi:type="dc:Point" x="490" y="240" />
+ <di:waypoint x="388" y="372" />
+ <di:waypoint x="388" y="240" />
+ <di:waypoint x="490" y="240" />
<bpmndi:BPMNLabel>
<dc:Bounds x="396" y="294" width="18" height="14" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_01j184u_di" bpmnElement="SequenceFlow_01j184u">
- <di:waypoint xsi:type="dc:Point" x="1694" y="371" />
- <di:waypoint xsi:type="dc:Point" x="1694" y="331" />
- <di:waypoint xsi:type="dc:Point" x="1694" y="331" />
- <di:waypoint xsi:type="dc:Point" x="1694" y="280" />
- <bpmndi:BPMNLabel>
- <dc:Bounds x="1074" y="49" width="90" height="0" />
- </bpmndi:BPMNLabel>
- </bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_1p8yxu6_di" bpmnElement="SequenceFlow_1p8yxu6">
- <di:waypoint xsi:type="dc:Point" x="2034" y="240" />
- <di:waypoint xsi:type="dc:Point" x="2117" y="240" />
- <di:waypoint xsi:type="dc:Point" x="2117" y="321" />
- <di:waypoint xsi:type="dc:Point" x="2144" y="321" />
- <bpmndi:BPMNLabel>
- <dc:Bounds x="1497" y="5" width="90" height="0" />
- </bpmndi:BPMNLabel>
- </bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_11530ei_di" bpmnElement="SequenceFlow_11530ei">
- <di:waypoint xsi:type="dc:Point" x="1704" y="381" />
- <di:waypoint xsi:type="dc:Point" x="1741" y="320" />
- <di:waypoint xsi:type="dc:Point" x="1818" y="321" />
- <bpmndi:BPMNLabel>
- <dc:Bounds x="1732" y="293" width="61" height="12" />
- </bpmndi:BPMNLabel>
- </bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_0vc9go9_di" bpmnElement="SequenceFlow_0vc9go9">
- <di:waypoint xsi:type="dc:Point" x="325" y="396" />
- <di:waypoint xsi:type="dc:Point" x="362" y="396" />
- <bpmndi:BPMNLabel>
- <dc:Bounds x="-246" y="105" width="0" height="0" />
- </bpmndi:BPMNLabel>
- </bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_1atzsgn_di" bpmnElement="SequenceFlow_1atzsgn">
- <di:waypoint xsi:type="dc:Point" x="879" y="498" />
- <di:waypoint xsi:type="dc:Point" x="879" y="436" />
+ <bpmndi:BPMNEdge id="SequenceFlow_0unbew4_di" bpmnElement="SequenceFlow_0unbew4">
+ <di:waypoint x="412" y="396" />
+ <di:waypoint x="670" y="396" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="259" y="191" width="90" height="0" />
+ <dc:Bounds x="503" y="376" width="13" height="14" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_0v588sm_di" bpmnElement="SequenceFlow_0v588sm">
- <di:waypoint xsi:type="dc:Point" x="1694" y="421" />
- <di:waypoint xsi:type="dc:Point" x="1694" y="538" />
- <di:waypoint xsi:type="dc:Point" x="929" y="538" />
+ <bpmndi:BPMNShape id="ExclusiveGateway_001g41v_di" bpmnElement="ExclusiveGateway_isTopLevelFlowAbort" isMarkerVisible="true">
+ <dc:Bounds x="1650" y="296" width="50" height="50" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1489.4170854271356" y="548" width="76" height="12" />
+ <dc:Bounds x="1646" y="346" width="60" height="27" />
</bpmndi:BPMNLabel>
- </bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_1pz6edz_di" bpmnElement="SequenceFlow_1pz6edz">
- <di:waypoint xsi:type="dc:Point" x="2019" y="522" />
- <di:waypoint xsi:type="dc:Point" x="2080" y="522" />
- <di:waypoint xsi:type="dc:Point" x="2080" y="459" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_02ksbt0_di" bpmnElement="SequenceFlow_02ksbt0">
+ <di:waypoint x="1675" y="296" />
+ <di:waypoint x="1675" y="239" />
+ <di:waypoint x="1766" y="239" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1415" y="231" width="90" height="0" />
+ <dc:Bounds x="1682" y="268" width="18" height="14" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_1m2eezj_di" bpmnElement="SequenceFlow_1m2eezj">
- <di:waypoint xsi:type="dc:Point" x="1707" y="408" />
- <di:waypoint xsi:type="dc:Point" x="1738" y="441" />
- <di:waypoint xsi:type="dc:Point" x="1818" y="441" />
+ <bpmndi:BPMNEdge id="SequenceFlow_1r570x3_di" bpmnElement="SequenceFlow_1r570x3">
+ <di:waypoint x="1700" y="321" />
+ <di:waypoint x="1976" y="321" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1724" y="444" width="88" height="12" />
+ <dc:Bounds x="1832" y="296" width="13" height="14" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_0mqrkxv_di" bpmnElement="SequenceFlow_0mqrkxv">
- <di:waypoint xsi:type="dc:Point" x="929" y="396" />
- <di:waypoint xsi:type="dc:Point" x="990" y="396" />
+ <bpmndi:BPMNShape id="ExclusiveGateway_1er1kam_di" bpmnElement="ExclusiveGateway_isTopLevelFlowC" isMarkerVisible="true">
+ <dc:Bounds x="1650" y="416" width="50" height="50" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="324.5" y="105" width="90" height="0" />
+ <dc:Bounds x="1646" y="384" width="60" height="27" />
</bpmndi:BPMNLabel>
- </bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_15s0okp_di" bpmnElement="SequenceFlow_15s0okp">
- <di:waypoint xsi:type="dc:Point" x="192" y="396" />
- <di:waypoint xsi:type="dc:Point" x="225" y="396" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0x4urgp_di" bpmnElement="SequenceFlow_0x4urgp">
+ <di:waypoint x="1700" y="441" />
+ <di:waypoint x="1810" y="441" />
+ <di:waypoint x="1810" y="441" />
+ <di:waypoint x="1894" y="441" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="-381" y="99" width="0" height="0" />
+ <dc:Bounds x="1846" y="416" width="13" height="14" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="Start_WorkflowActionBB">
- <dc:Bounds x="156" y="378" width="36" height="36" />
- <bpmndi:BPMNLabel>
- <dc:Bounds x="164" y="414" width="22" height="14" />
- </bpmndi:BPMNLabel>
- </bpmndi:BPMNShape>
- <bpmndi:BPMNShape id="EndEvent_1uv6erv_di" bpmnElement="End_WorkflowActionBB">
- <dc:Bounds x="2062" y="423" width="36" height="36" />
+ <bpmndi:BPMNShape id="EndEvent_1q8eh5e_di" bpmnElement="End_RollbackFailed">
+ <dc:Bounds x="1749" y="623" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="2071" y="403" width="20" height="12" />
+ <dc:Bounds x="1767" y="675" width="19" height="14" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
- <bpmndi:BPMNShape id="CallActivity_03m7z4y_di" bpmnElement="Call_ExecuteBB">
- <dc:Bounds x="1150" y="356" width="100" height="80" />
- </bpmndi:BPMNShape>
- <bpmndi:BPMNShape id="ServiceTask_1snenqk_di" bpmnElement="Task_SelectBB">
- <dc:Bounds x="829" y="356" width="100" height="80" />
- </bpmndi:BPMNShape>
- <bpmndi:BPMNShape id="ExclusiveGateway_0m1zt0q_di" bpmnElement="ExclusiveGateway_Finished" isMarkerVisible="true">
- <dc:Bounds x="1669" y="371" width="50" height="50" />
+ <bpmndi:BPMNEdge id="SequenceFlow_11dlyzt_di" bpmnElement="SequenceFlow_11dlyzt">
+ <di:waypoint x="879" y="578" />
+ <di:waypoint x="879" y="644" />
+ <di:waypoint x="1550" y="644" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1018" y="42" width="90" height="0" />
+ <dc:Bounds x="972" y="601" width="63" height="27" />
</bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ServiceTask_1h154rn_di" bpmnElement="Task_UpdateDb">
+ <dc:Bounds x="1303" y="893" width="100" height="80" />
</bpmndi:BPMNShape>
- <bpmndi:BPMNShape id="ServiceTask_0kn8jt8_di" bpmnElement="Task_RetrieveBBExectuionList">
- <dc:Bounds x="225" y="356" width="100" height="80" />
- </bpmndi:BPMNShape>
- <bpmndi:BPMNShape id="ServiceTask_0654g3m_di" bpmnElement="Task_SendSync">
- <dc:Bounds x="490" y="200" width="100" height="80" />
- </bpmndi:BPMNShape>
- <bpmndi:BPMNShape id="ServiceTask_0wzh11j_di" bpmnElement="Task_UpdateRequestComplete">
- <dc:Bounds x="1919" y="482" width="100" height="80" />
- </bpmndi:BPMNShape>
- <bpmndi:BPMNShape id="ServiceTask_1ko47om_di" bpmnElement="Call_FlowManipulator">
- <dc:Bounds x="1490" y="356" width="100" height="80" />
- </bpmndi:BPMNShape>
- <bpmndi:BPMNShape id="SubProcess_18226x4_di" bpmnElement="SubProcess_18226x4" isExpanded="true">
- <dc:Bounds x="1088" y="720" width="438" height="297" />
+ <bpmndi:BPMNShape id="ServiceTask_1t8n9gd_di" bpmnElement="Task_UpdateRequestToFailed">
+ <dc:Bounds x="1550" y="601" width="100" height="80" />
</bpmndi:BPMNShape>
- <bpmndi:BPMNEdge id="SequenceFlow_0eana0l_di" bpmnElement="SequenceFlow_0eana0l">
- <di:waypoint xsi:type="dc:Point" x="1353" y="864" />
- <di:waypoint xsi:type="dc:Point" x="1353" y="893" />
- <bpmndi:BPMNLabel>
- <dc:Bounds x="778" y="596.5" width="0" height="12" />
- </bpmndi:BPMNLabel>
- </bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_0vi883o_di" bpmnElement="SequenceFlow_0vi883o">
- <di:waypoint xsi:type="dc:Point" x="1217" y="908" />
- <di:waypoint xsi:type="dc:Point" x="1217" y="824" />
- <di:waypoint xsi:type="dc:Point" x="1303" y="824" />
+ <bpmndi:BPMNEdge id="SequenceFlow_0l7kaba_di" bpmnElement="SequenceFlow_0l7kaba">
+ <di:waypoint x="1532" y="415" />
+ <di:waypoint x="1566" y="528" />
+ <di:waypoint x="1606" y="528" />
+ <di:waypoint x="1606" y="601" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1223" y="860" width="18" height="14" />
+ <dc:Bounds x="1548" y="531" width="54" height="27" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_024g0d1_di" bpmnElement="SequenceFlow_024g0d1">
- <di:waypoint xsi:type="dc:Point" x="1242" y="933" />
- <di:waypoint xsi:type="dc:Point" x="1273" y="933" />
- <di:waypoint xsi:type="dc:Point" x="1273" y="933" />
- <di:waypoint xsi:type="dc:Point" x="1303" y="933" />
+ <bpmndi:BPMNEdge id="SequenceFlow_1edjl5x_di" bpmnElement="SequenceFlow_1edjl5x">
+ <di:waypoint x="1146" y="933" />
+ <di:waypoint x="1192" y="933" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1267" y="910" width="13" height="14" />
+ <dc:Bounds x="534" y="636" width="90" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_0wvzfgf_di" bpmnElement="SequenceFlow_0wvzfgf">
- <di:waypoint xsi:type="dc:Point" x="1403" y="933" />
- <di:waypoint xsi:type="dc:Point" x="1470" y="933" />
+ <di:waypoint x="1403" y="933" />
+ <di:waypoint x="1470" y="933" />
<bpmndi:BPMNLabel>
<dc:Bounds x="801.5" y="636" width="90" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_1edjl5x_di" bpmnElement="SequenceFlow_1edjl5x">
- <di:waypoint xsi:type="dc:Point" x="1146" y="933" />
- <di:waypoint xsi:type="dc:Point" x="1192" y="933" />
+ <bpmndi:BPMNEdge id="SequenceFlow_1ui67mc_di" bpmnElement="SequenceFlow_1ui67mc">
+ <di:waypoint x="1650" y="641" />
+ <di:waypoint x="1724" y="641" />
+ <di:waypoint x="1724" y="641" />
+ <di:waypoint x="1749" y="641" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="534" y="636" width="90" height="12" />
+ <dc:Bounds x="1104" y="359" width="90" height="13" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNShape id="StartEvent_184g7f3_di" bpmnElement="ErrorStart">
- <dc:Bounds x="1110" y="915" width="36" height="36" />
- <bpmndi:BPMNLabel>
- <dc:Bounds x="1116" y="958" width="24" height="14" />
- </bpmndi:BPMNLabel>
- </bpmndi:BPMNShape>
- <bpmndi:BPMNShape id="EndEvent_0l4edvr_di" bpmnElement="ErrorEnd">
- <dc:Bounds x="1470" y="915" width="36" height="36" />
- <bpmndi:BPMNLabel>
- <dc:Bounds x="1480" y="957" width="19" height="14" />
- </bpmndi:BPMNLabel>
- </bpmndi:BPMNShape>
- <bpmndi:BPMNShape id="ServiceTask_1h154rn_di" bpmnElement="Task_UpdateDb">
- <dc:Bounds x="1303" y="893" width="100" height="80" />
- </bpmndi:BPMNShape>
<bpmndi:BPMNShape id="ExclusiveGateway_10q79b6_di" bpmnElement="ExclusiveGateway_10q79b6" isMarkerVisible="true">
<dc:Bounds x="1192" y="908" width="50" height="50" />
<bpmndi:BPMNLabel>
<dc:Bounds x="1174" y="962" width="86" height="40" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
- <bpmndi:BPMNShape id="ServiceTask_10hs368_di" bpmnElement="Task_SendSyncAckError">
- <dc:Bounds x="1303" y="784" width="100" height="80" />
- </bpmndi:BPMNShape>
- <bpmndi:BPMNShape id="ServiceTask_19t1oyr_di" bpmnElement="Task_RollbackExecutionPath">
- <dc:Bounds x="829" y="498" width="100" height="80" />
- </bpmndi:BPMNShape>
- <bpmndi:BPMNShape id="ServiceTask_0jo36ez_di" bpmnElement="Task_AbortAndCallErrorHandling">
- <dc:Bounds x="1934" y="200" width="100" height="80" />
- </bpmndi:BPMNShape>
- <bpmndi:BPMNShape id="EndEvent_0lzz1ya_di" bpmnElement="EndEvent_0lzz1ya">
- <dc:Bounds x="2144" y="303" width="36" height="36" />
- <bpmndi:BPMNLabel>
- <dc:Bounds x="2153" y="343" width="20" height="12" />
- </bpmndi:BPMNLabel>
- </bpmndi:BPMNShape>
- <bpmndi:BPMNShape id="ServiceTask_1c1v3p1_di" bpmnElement="Task_0a31dkf">
- <dc:Bounds x="1644" y="200" width="100" height="80" />
- </bpmndi:BPMNShape>
- <bpmndi:BPMNShape id="ExclusiveGateway_0ptb1yi_di" bpmnElement="ExclusiveGateway_isTopLevelFlow" isMarkerVisible="true">
- <dc:Bounds x="362" y="371" width="50" height="50" />
- <bpmndi:BPMNLabel>
- <dc:Bounds x="357" y="421" width="60" height="27" />
- </bpmndi:BPMNLabel>
- </bpmndi:BPMNShape>
- <bpmndi:BPMNShape id="ExclusiveGateway_001g41v_di" bpmnElement="ExclusiveGateway_isTopLevelFlowAbort" isMarkerVisible="true">
- <dc:Bounds x="1818" y="296" width="50" height="50" />
+ <bpmndi:BPMNEdge id="SequenceFlow_024g0d1_di" bpmnElement="SequenceFlow_024g0d1">
+ <di:waypoint x="1242" y="933" />
+ <di:waypoint x="1273" y="933" />
+ <di:waypoint x="1273" y="933" />
+ <di:waypoint x="1303" y="933" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1813" y="346" width="62" height="24" />
+ <dc:Bounds x="1267" y="910" width="13" height="14" />
</bpmndi:BPMNLabel>
- </bpmndi:BPMNShape>
- <bpmndi:BPMNShape id="ExclusiveGateway_1er1kam_di" bpmnElement="ExclusiveGateway_isTopLevelFlowC" isMarkerVisible="true">
- <dc:Bounds x="1818" y="416" width="50" height="50" />
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0vi883o_di" bpmnElement="SequenceFlow_0vi883o">
+ <di:waypoint x="1217" y="908" />
+ <di:waypoint x="1217" y="824" />
+ <di:waypoint x="1303" y="824" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1813" y="384" width="62" height="24" />
+ <dc:Bounds x="1223" y="860" width="18" height="14" />
</bpmndi:BPMNLabel>
- </bpmndi:BPMNShape>
- <bpmndi:BPMNShape id="EndEvent_1q8eh5e_di" bpmnElement="End_RollbackFailed">
- <dc:Bounds x="1917" y="623" width="36" height="36" />
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0eana0l_di" bpmnElement="SequenceFlow_0eana0l">
+ <di:waypoint x="1353" y="864" />
+ <di:waypoint x="1353" y="893" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1935" y="675" width="20" height="12" />
+ <dc:Bounds x="778" y="596.5" width="0" height="12" />
</bpmndi:BPMNLabel>
- </bpmndi:BPMNShape>
- <bpmndi:BPMNShape id="ServiceTask_1t8n9gd_di" bpmnElement="Task_UpdateRequestToFailed">
- <dc:Bounds x="1718" y="601" width="100" height="80" />
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ServiceTask_10hs368_di" bpmnElement="Task_SendSyncAckError">
+ <dc:Bounds x="1303" y="784" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="SubProcess_0fuugr9_di" bpmnElement="SubProcess_0fuugr9" isExpanded="true">
<dc:Bounds x="1105" y="1068" width="404" height="165" />
</bpmndi:BPMNShape>
- <bpmndi:BPMNEdge id="SequenceFlow_0w4sx88_di" bpmnElement="SequenceFlow_0w4sx88">
- <di:waypoint xsi:type="dc:Point" x="1380" y="1151" />
- <di:waypoint xsi:type="dc:Point" x="1446" y="1151" />
- <bpmndi:BPMNLabel>
- <dc:Bounds x="778" y="854" width="0" height="12" />
- </bpmndi:BPMNLabel>
- </bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_11d126w_di" bpmnElement="SequenceFlow_11d126w">
- <di:waypoint xsi:type="dc:Point" x="1196" y="1151" />
- <di:waypoint xsi:type="dc:Point" x="1280" y="1151" />
- <bpmndi:BPMNLabel>
- <dc:Bounds x="603" y="854" width="0" height="12" />
- </bpmndi:BPMNLabel>
- </bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="StartEvent_15qkxd7_di" bpmnElement="StartEvent_runtimeError">
<dc:Bounds x="1160" y="1133" width="36" height="36" />
<bpmndi:BPMNLabel>
@@ -612,27 +516,108 @@
<dc:Bounds x="784" y="897" width="0" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_11d126w_di" bpmnElement="SequenceFlow_11d126w">
+ <di:waypoint x="1196" y="1151" />
+ <di:waypoint x="1280" y="1151" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="603" y="854" width="0" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0w4sx88_di" bpmnElement="SequenceFlow_0w4sx88">
+ <di:waypoint x="1380" y="1151" />
+ <di:waypoint x="1446" y="1151" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="778" y="854" width="0" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="ServiceTask_0e2p0xs_di" bpmnElement="ServiceTask_0e2p0xs">
<dc:Bounds x="990" y="356" width="100" height="80" />
</bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0mew9im_di" bpmnElement="SequenceFlow_0mew9im">
+ <di:waypoint x="1090" y="396" />
+ <di:waypoint x="1150" y="396" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="530" y="99" width="0" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0kf5sen_di" bpmnElement="SequenceFlow_0kf5sen">
+ <di:waypoint x="1675" y="466" />
+ <di:waypoint x="1675" y="522" />
+ <di:waypoint x="1751" y="522" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1682" y="494" width="18" height="14" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_1tfizxf_di" bpmnElement="SequenceFlow_1tfizxf">
+ <di:waypoint x="770" y="396" />
+ <di:waypoint x="801" y="396" />
+ <di:waypoint x="801" y="396" />
+ <di:waypoint x="829" y="396" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="226" y="120" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="ServiceTask_0m5xr0e_di" bpmnElement="Task_PreValidateWorkflow">
<dc:Bounds x="670" y="356" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="ServiceTask_0lbkcyp_di" bpmnElement="ServiceTask_0lbkcyp">
<dc:Bounds x="1325" y="356" width="100" height="80" />
</bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_1hsqed1_di" bpmnElement="SequenceFlow_1hsqed1">
+ <di:waypoint x="1250" y="396" />
+ <di:waypoint x="1325" y="396" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="697.5" y="99" width="0" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_1fftixk_di" bpmnElement="SequenceFlow_1fftixk">
+ <di:waypoint x="1425" y="396" />
+ <di:waypoint x="1501" y="396" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="873" y="99" width="0" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_1pnkpim_di" bpmnElement="SequenceFlow_1pnkpim">
+ <di:waypoint x="1476" y="240" />
+ <di:waypoint x="879" y="240" />
+ <di:waypoint x="879" y="356" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="587.5" y="-57" width="0" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="ExclusiveGateway_1dez26n_di" bpmnElement="ExclusiveGateway_1dez26n" isMarkerVisible="true">
<dc:Bounds x="695" y="215" width="50" height="50" />
<bpmndi:BPMNLabel>
<dc:Bounds x="745" y="228" width="78" height="14" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_1lrz41x_di" bpmnElement="SequenceFlow_1lrz41x">
+ <di:waypoint x="590" y="240" />
+ <di:waypoint x="695" y="240" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="52.5" y="-57" width="0" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0etawv5_di" bpmnElement="SequenceFlow_0etawv5">
+ <di:waypoint x="720" y="265" />
+ <di:waypoint x="720" y="356" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="729" y="305" width="13" height="14" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="EndEvent_12f15tu_di" bpmnElement="EndEvent_12f15tu">
<dc:Bounds x="702" y="106" width="36" height="36" />
<bpmndi:BPMNLabel>
<dc:Bounds x="710" y="81" width="20" height="14" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0ilo6lo_di" bpmnElement="SequenceFlow_0ilo6lo">
+ <di:waypoint x="720" y="215" />
+ <di:waypoint x="720" y="142" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="727" y="173" width="18" height="14" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</bpmn:definitions>
diff --git a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/CreateSliceService.groovy b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/CreateSliceService.groovy
index 72fd052f31..5f0d412de0 100644
--- a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/CreateSliceService.groovy
+++ b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/CreateSliceService.groovy
@@ -21,6 +21,7 @@
package org.onap.so.bpmn.infrastructure.scripts
import org.onap.aaiclient.client.generated.fluentbuilders.AAIFluentTypeBuilder
+import org.onap.so.serviceinstancebeans.Service
import static org.apache.commons.lang3.StringUtils.*
import org.camunda.bpm.engine.delegate.BpmnError
@@ -126,21 +127,22 @@ public class CreateSliceService extends AbstractServiceTaskProcessor {
logger.debug("modelInfo: " + serviceModelInfo)
- //requestParameters
- String subscriptionServiceType = jsonUtil.getJsonValue(ssRequest, "requestDetails.requestParameters.subscriptionServiceType")
- if (isBlank(subscriptionServiceType)) {
- msg = "Input subscriptionServiceType is null"
- logger.debug(msg)
- exceptionUtil.buildAndThrowWorkflowException(execution, 500, msg)
- } else {
- execution.setVariable("subscriptionServiceType", subscriptionServiceType)
- }
- logger.debug("subscriptionServiceType: " + subscriptionServiceType)
+// //requestParameters
+// String subscriptionServiceType = jsonUtil.getJsonValue(ssRequest, "requestDetails.requestParameters.subscriptionServiceType")
+// if (isBlank(subscriptionServiceType)) {
+// msg = "Input subscriptionServiceType is null"
+// logger.debug(msg)
+// exceptionUtil.buildAndThrowWorkflowException(execution, 500, msg)
+// } else {
+// subscriptionServiceType = "5G"
+// execution.setVariable("subscriptionServiceType", subscriptionServiceType)
+// }
+// logger.debug("subscriptionServiceType: " + subscriptionServiceType)
/*
* Extracting User Parameters from incoming Request and converting into a Map
*/
- Map reqMap = jsonSlurper.parseText(ssRequest)
+ Map reqMap = jsonSlurper.parseText(ssRequest) as Map
//InputParams
def userParamsList = reqMap.requestDetails?.requestParameters?.userParams
@@ -168,6 +170,7 @@ public class CreateSliceService extends AbstractServiceTaskProcessor {
execution.setVariable("serviceInputParams", inputMap)
execution.setVariable("uuiRequest", uuiRequest)
execution.setVariable("serviceProfile", serviceProfile)
+ execution.setVariable("subscriptionServiceType", serviceObject.get("serviceType"))
//TODO
//execution.setVariable("serviceInputParams", jsonUtil.getJsonValue(siRequest, "requestDetails.requestParameters.userParams"))
diff --git a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateSliceServiceInstance.groovy b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateSliceServiceInstance.groovy
index 48e1acd523..fc80a9f658 100644
--- a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateSliceServiceInstance.groovy
+++ b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateSliceServiceInstance.groovy
@@ -101,6 +101,9 @@ class DoCreateSliceServiceInstance extends AbstractServiceTaskProcessor{
*/
String serviceRole = "service-profile"
String serviceType = execution.getVariable("serviceType")
+ String globalSubscriberId = execution.getVariable("globalSubscriberId")
+ String subscriptionServiceType = execution.getVariable("subscriptionServiceType")
+
Map<String, Object> serviceProfile = sliceParams.getServiceProfile()
String ssInstanceId = execution.getVariable("serviceInstanceId")
try {
@@ -121,7 +124,10 @@ class DoCreateSliceServiceInstance extends AbstractServiceTaskProcessor{
ss.setEnvironmentContext(snssai)
ss.setServiceRole(serviceRole)
- AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIFluentTypeBuilder.business().customer(execution.getVariable("globalSubscriberId")).serviceSubscription(execution.getVariable("subscriptionServiceType")).serviceInstance(ssInstanceId))
+ AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIFluentTypeBuilder.business()
+ .customer(globalSubscriberId)
+ .serviceSubscription(subscriptionServiceType)
+ .serviceInstance(ssInstanceId))
client.create(uri, ss)
} catch (BpmnError e) {
throw e
@@ -139,8 +145,8 @@ class DoCreateSliceServiceInstance extends AbstractServiceTaskProcessor{
//rollbackData.put("SERVICEINSTANCE", "disableRollback", disableRollback.toString())
rollbackData.put("SERVICEINSTANCE", "rollbackAAI", "true")
rollbackData.put("SERVICEINSTANCE", "serviceInstanceId", ssInstanceId)
- rollbackData.put("SERVICEINSTANCE", "subscriptionServiceType", execution.getVariable("subscriptionServiceType"))
- rollbackData.put("SERVICEINSTANCE", "globalSubscriberId", execution.getVariable("globalSubscriberId"))
+ rollbackData.put("SERVICEINSTANCE", "subscriptionServiceType", subscriptionServiceType)
+ rollbackData.put("SERVICEINSTANCE", "globalSubscriberId", globalSubscriberId)
execution.setVariable("rollbackData", rollbackData)
execution.setVariable("RollbackData", rollbackData)
logger.debug("RollbackData:" + rollbackData)
@@ -156,6 +162,8 @@ class DoCreateSliceServiceInstance extends AbstractServiceTaskProcessor{
/**
* todo: ServiceProfile params changed
*/
+ String globalSubscriberId = execution.getVariable("globalSubscriberId")
+ String subscriptionServiceType = execution.getVariable("subscriptionServiceType")
SliceTaskParamsAdapter sliceParams =
execution.getVariable("sliceTaskParams") as SliceTaskParamsAdapter
Map<String, Object> serviceProfileMap = sliceParams.getServiceProfile()
@@ -181,11 +189,11 @@ class DoCreateSliceServiceInstance extends AbstractServiceTaskProcessor{
serviceProfile.setSurvivalTime("0")
serviceProfile.setReliability("")
try {
- AAIResourceUri uri = AAIUriFactory.createResourceUri(
- AAIFluentTypeBuilder.business().customer(execution.getVariable("globalSubscriberId"))
- .serviceSubscription(execution.getVariable("subscriptionServiceType"))
- .serviceInstance(serviceProfileInstanceId)
- .serviceProfile(serviceProfileId))
+ AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIFluentTypeBuilder.business()
+ .customer(globalSubscriberId)
+ .serviceSubscription(subscriptionServiceType)
+ .serviceInstance(serviceProfileInstanceId)
+ .serviceProfile(serviceProfileId))
client.create(uri, serviceProfile)
execution.setVariable("sliceTaskParams", sliceParams)
@@ -206,15 +214,21 @@ class DoCreateSliceServiceInstance extends AbstractServiceTaskProcessor{
public void createAllottedResource(DelegateExecution execution) {
try {
-
+ String globalSubscriberId = execution.getVariable("globalSubscriberId")
+ String subscriptionServiceType = execution.getVariable("subscriptionServiceType")
ServiceDecomposition serviceDecomposition =
execution.getVariable("serviceProfileDecomposition") as ServiceDecomposition
+ String serviceInstanceId = execution.getVariable("serviceInstanceId")
List<org.onap.so.bpmn.core.domain.AllottedResource> allottedResourceList = serviceDecomposition.getAllottedResources()
for(org.onap.so.bpmn.core.domain.AllottedResource allottedResource : allottedResourceList) {
String allottedResourceId = UUID.randomUUID().toString()
- AAIResourceUri allottedResourceUri = AAIUriFactory.createResourceUri(AAIFluentTypeBuilder.business().customer(execution.getVariable("globalSubscriberId")).serviceSubscription(execution.getVariable("subscriptionServiceType")).serviceInstance(execution.getVariable("serviceInstanceId")).allottedResource(allottedResourceId))
+ AAIResourceUri allottedResourceUri = AAIUriFactory.createResourceUri(AAIFluentTypeBuilder.business()
+ .customer(globalSubscriberId)
+ .serviceSubscription(subscriptionServiceType)
+ .serviceInstance(serviceInstanceId)
+ .allottedResource(allottedResourceId))
execution.setVariable("allottedResourceUri", allottedResourceUri)
String arType = allottedResource.getAllottedResourceType()
diff --git a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateTnNssiInstance.groovy b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateTnNssiInstance.groovy
index 7beafefc28..f20bca9837 100644
--- a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateTnNssiInstance.groovy
+++ b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateTnNssiInstance.groovy
@@ -22,6 +22,7 @@ package org.onap.so.bpmn.infrastructure.scripts
import org.camunda.bpm.engine.delegate.BpmnError
import org.camunda.bpm.engine.delegate.DelegateExecution
+import org.onap.aai.domain.yang.NetworkPolicy
import org.onap.aai.domain.yang.SliceProfile
import org.onap.aaiclient.client.aai.AAIResourcesClient
import org.onap.aaiclient.client.aai.entities.uri.AAIResourceUri
@@ -133,7 +134,7 @@ class DoCreateTnNssiInstance extends AbstractServiceTaskProcessor {
throw e
} catch (Exception ex) {
String msg = "Exception in DoCreateTnNssiInstance.createServiceInstance: " + ex.getMessage()
- logger.info(msg)
+ logger.error(msg)
exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg)
}
}
@@ -163,6 +164,8 @@ class DoCreateTnNssiInstance extends AbstractServiceTaskProcessor {
resource.setAllottedResourceName("network_" + execution.getVariable("sliceServiceInstanceName"))
getAAIClient().create(allottedResourceUri, resource)
+ createNetworkPolicyForAllocatedResource(execution, ssInstanceId, allottedResourceId)
+
String linkArrayStr = jsonUtil.getJsonValue(networkStr, "connectionLinks")
createLogicalLinksForAllocatedResource(execution, linkArrayStr, ssInstanceId, allottedResourceId)
}
@@ -170,7 +173,81 @@ class DoCreateTnNssiInstance extends AbstractServiceTaskProcessor {
throw e
} catch (Exception ex) {
String msg = "Exception in DoCreateTnNssiInstance.createAllottedResource: " + ex.getMessage()
- logger.info(msg)
+ logger.error(msg)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg)
+ }
+ }
+
+ void createNetworkPolicy(DelegateExecution execution, String ssInstanceId, String networkPolicyId) {
+ try {
+
+ String sliceProfileStr = execution.getVariable("sliceProfile")
+ if (sliceProfileStr == null || sliceProfileStr.isEmpty()) {
+ String msg = "ERROR: createNetworkPolicy: sliceProfile is null"
+ logger.error(msg)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg)
+ }
+
+ NetworkPolicy networkPolicy = new NetworkPolicy();
+ networkPolicy.setNetworkPolicyId(networkPolicyId)
+ networkPolicy.setName("TSCi policy")
+ networkPolicy.setType("SLA")
+ networkPolicy.setNetworkPolicyFqdn(ssInstanceId)
+
+ String latencyStr = jsonUtil.getJsonValue(sliceProfileStr, "latency")
+ if (latencyStr != null && !latencyStr.isEmpty()) {
+ networkPolicy.setLatency(Integer.parseInt(latencyStr))
+ }
+
+ String bwStr = jsonUtil.getJsonValue(sliceProfileStr, "maxBandwidth")
+ if (bwStr != null && !bwStr.isEmpty()) {
+ networkPolicy.setMaxBandwidth(Integer.parseInt(bwStr))
+ } else {
+ log.debug("ERROR: createNetworkPolicy: maxBandwidth is null")
+ }
+
+ //networkPolicy.setReliability(new Object())
+
+ AAIResourceUri networkPolicyUri =
+ AAIUriFactory.createResourceUri(AAIFluentTypeBuilder.network().networkPolicy(networkPolicyId))
+ getAAIClient().create(networkPolicyUri, networkPolicy)
+
+ } catch (BpmnError e) {
+ throw e
+ } catch (Exception ex) {
+ String msg = "Exception in DoCreateSliceServiceInstance.instantiateSliceService. " + ex.getMessage()
+ logger.error(msg)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg)
+ }
+ }
+
+ void createNetworkPolicyForAllocatedResource(DelegateExecution execution,
+ String ssInstanceId,
+ String allottedResourceId) {
+ try {
+ AAIResourceUri allottedResourceUri =
+ AAIUriFactory.createResourceUri(AAIFluentTypeBuilder.business()
+ .customer(execution.getVariable("globalSubscriberId"))
+ .serviceSubscription(execution.getVariable("subscriptionServiceType"))
+ .serviceInstance(ssInstanceId)
+ .allottedResource(allottedResourceId))
+
+ if (!getAAIClient().exists(allottedResourceUri)) {
+ logger.info("ERROR: createLogicalLinksForAllocatedResource: allottedResource not exist: uri={}",
+ allottedResourceUri)
+ return
+ }
+
+ String networkPolicyId = UUID.randomUUID().toString()
+ createNetworkPolicy(execution, ssInstanceId, networkPolicyId)
+
+ tnNssmfUtils.attachNetworkPolicyToAllottedResource(execution, AAI_VERSION, allottedResourceUri, networkPolicyId);
+
+ } catch (BpmnError e) {
+ throw e
+ } catch (Exception ex) {
+ String msg = "Exception in DoCreateSliceServiceInstance.instantiateSliceService. " + ex.getMessage()
+ logger.error(msg)
exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg)
}
}
@@ -219,7 +296,7 @@ class DoCreateTnNssiInstance extends AbstractServiceTaskProcessor {
throw e
} catch (Exception ex) {
String msg = "Exception in DoCreateTnNssiInstance.createLogicalLinksForAllocatedResource: " + ex.getMessage()
- logger.info(msg)
+ logger.error(msg)
exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg)
}
}
diff --git a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/TnAllocateNssi.groovy b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/TnAllocateNssi.groovy
index e856522fca..8a276ed330 100644
--- a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/TnAllocateNssi.groovy
+++ b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/TnAllocateNssi.groovy
@@ -321,7 +321,8 @@ class TnAllocateNssi extends AbstractServiceTaskProcessor {
String status,
String progress,
String statusDescription) {
- String serviceId = execution.getVariable("sliceServiceInstanceId")
+ String serviceId = execution.getVariable("dummyServiceId")
+ String ssInstanceId = execution.getVariable("sliceServiceInstanceId")
String jobId = execution.getVariable("jobId")
String nsiId = execution.getVariable("nsiId")
@@ -329,6 +330,7 @@ class TnAllocateNssi extends AbstractServiceTaskProcessor {
roStatus.setServiceId(serviceId)
roStatus.setOperationId(jobId)
roStatus.setResourceTemplateUUID(nsiId)
+ roStatus.setResourceInstanceID(ssInstanceId)
roStatus.setOperType("Allocate")
roStatus.setProgress(progress)
roStatus.setStatus(status)
diff --git a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/TnNssmfUtils.groovy b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/TnNssmfUtils.groovy
index 869b55b5d2..d97f416db9 100644
--- a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/TnNssmfUtils.groovy
+++ b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/TnNssmfUtils.groovy
@@ -118,55 +118,67 @@ class TnNssmfUtils {
if (execution.getVariable("vnfParamsExistFlag") == true) {
sdncVNFParamsXml = buildSDNCParamsXml(execution)
} else {
- sdncVNFParamsXml = ""
+ sdncVNFParamsXml = buildDefaultVnfInputParams(vnfId)
}
String sdncRequest =
- """<sdncadapterworkflow:SDNCAdapterWorkflowRequest xmlns:ns5="http://org.onap/so/request/types/v1"
- xmlns:sdncadapterworkflow="http://org.onap/so/workflow/schema/v1"
- xmlns:sdncadapter="http://org.onap/workflow/sdnc/adapter/schema/v1">
- <sdncadapter:RequestHeader>
- <sdncadapter:RequestId>${MsoUtils.xmlEscape(uuid)}</sdncadapter:RequestId>
- <sdncadapter:SvcInstanceId>${MsoUtils.xmlEscape(svcInstId)}</sdncadapter:SvcInstanceId>
- <sdncadapter:SvcAction>${MsoUtils.xmlEscape(svcAction)}</sdncadapter:SvcAction>
- <sdncadapter:SvcOperation>vnf-topology-operation</sdncadapter:SvcOperation>
- <sdncadapter:CallbackUrl>${MsoUtils.xmlEscape(callbackURL)}</sdncadapter:CallbackUrl>
- <sdncadapter:MsoAction>generic-resource</sdncadapter:MsoAction>
- </sdncadapter:RequestHeader>
- <sdncadapterworkflow:SDNCRequestData>
- <request-information>
- <request-id>${MsoUtils.xmlEscape(requestId)}</request-id>
- <request-action>${MsoUtils.xmlEscape(reqAction)}</request-action>
- <source>${MsoUtils.xmlEscape(source)}</source>
- <notification-url/>
- <order-number/>
- <order-version/>
- </request-information>
- <service-information>
- <service-id>${MsoUtils.xmlEscape(serviceId)}</service-id>
- <subscription-service-type>${MsoUtils.xmlEscape(subServiceType)}</subscription-service-type>
- ${serviceEcompModelInformation}
- <service-instance-id>${MsoUtils.xmlEscape(svcInstId)}</service-instance-id>
- <global-customer-id>${MsoUtils.xmlEscape(globalSubscriberId)}</global-customer-id>
- </service-information>
- <vnf-information>
- <vnf-id>${MsoUtils.xmlEscape(vnfId)}</vnf-id>
- <vnf-type>${MsoUtils.xmlEscape(vnfType)}</vnf-type>
- ${vnfEcompModelInformation}
- </vnf-information>
- <vnf-request-input>
- ${vnfNameString}
- <tenant>${MsoUtils.xmlEscape(tenantId)}</tenant>
- <aic-cloud-region>${MsoUtils.xmlEscape(cloudSiteId)}</aic-cloud-region>
- ${sdncVNFParamsXml}
- </vnf-request-input>
- </sdncadapterworkflow:SDNCRequestData>
- </sdncadapterworkflow:SDNCAdapterWorkflowRequest>"""
+ """<sdncadapterworkflow:SDNCAdapterWorkflowRequest xmlns:ns5="http://org.onap/so/request/types/v1"
+ xmlns:sdncadapterworkflow="http://org.onap/so/workflow/schema/v1"
+ xmlns:sdncadapter="http://org.onap/workflow/sdnc/adapter/schema/v1">
+ <sdncadapter:RequestHeader>
+ <sdncadapter:RequestId>${MsoUtils.xmlEscape(uuid)}</sdncadapter:RequestId>
+ <sdncadapter:SvcInstanceId>${MsoUtils.xmlEscape(svcInstId)}</sdncadapter:SvcInstanceId>
+ <sdncadapter:SvcAction>${MsoUtils.xmlEscape(svcAction)}</sdncadapter:SvcAction>
+ <sdncadapter:SvcOperation>vnf-topology-operation</sdncadapter:SvcOperation>
+ <sdncadapter:CallbackUrl>${MsoUtils.xmlEscape(callbackURL)}</sdncadapter:CallbackUrl>
+ <sdncadapter:MsoAction>generic-resource</sdncadapter:MsoAction>
+ </sdncadapter:RequestHeader>
+ <sdncadapterworkflow:SDNCRequestData>
+ <request-information>
+ <request-id>${MsoUtils.xmlEscape(requestId)}</request-id>
+ <request-action>${MsoUtils.xmlEscape(reqAction)}</request-action>
+ <source>${MsoUtils.xmlEscape(source)}</source>
+ <notification-url/>
+ <order-number/>
+ <order-version/>
+ </request-information>
+ <service-information>
+ <service-id>${MsoUtils.xmlEscape(serviceId)}</service-id>
+ <subscription-service-type>${MsoUtils.xmlEscape(subServiceType)}</subscription-service-type>
+ ${serviceEcompModelInformation}
+ <service-instance-id>${MsoUtils.xmlEscape(svcInstId)}</service-instance-id>
+ <global-customer-id>${MsoUtils.xmlEscape(globalSubscriberId)}</global-customer-id>
+ </service-information>
+ <vnf-information>
+ <vnf-id>${MsoUtils.xmlEscape(vnfId)}</vnf-id>
+ <vnf-type>${MsoUtils.xmlEscape(vnfType)}</vnf-type>
+ ${vnfEcompModelInformation}
+ </vnf-information>
+ <vnf-request-input>
+ ${vnfNameString}
+ <tenant>${MsoUtils.xmlEscape(tenantId)}</tenant>
+ <aic-cloud-region>${MsoUtils.xmlEscape(cloudSiteId)}</aic-cloud-region>
+ ${sdncVNFParamsXml}
+ </vnf-request-input>
+ </sdncadapterworkflow:SDNCRequestData>
+ </sdncadapterworkflow:SDNCAdapterWorkflowRequest>"""
logger.debug("sdncRequest: " + sdncRequest)
return sdncRequest
}
+
+ String buildDefaultVnfInputParams(String vnfName) {
+ String res =
+ """<vnf-input-parameters>
+ <param>
+ <name>${MsoUtils.xmlEscape(vnfName)}</name>
+ </param>
+ </vnf-input-parameters>"""
+
+ return res
+ }
+
String buildSDNCParamsXml(DelegateExecution execution) {
String params = ""
StringBuilder sb = new StringBuilder()
@@ -241,19 +253,19 @@ class TnNssmfUtils {
}
String getExecutionInputParams(DelegateExecution execution) {
- String res = "msoRequestId=" + execution.getVariable("msoRequestId") +
- ", modelInvariantUuid=" + execution.getVariable("modelInvariantUuid") +
- ", modelUuid=" + execution.getVariable("modelUuid") +
- ", serviceInstanceID=" + execution.getVariable("serviceInstanceID") +
- ", operationType=" + execution.getVariable("operationType") +
- ", globalSubscriberId=" + execution.getVariable("globalSubscriberId") +
- ", dummyServiceId=" + execution.getVariable("dummyServiceId") +
- ", nsiId=" + execution.getVariable("nsiId") +
- ", networkType=" + execution.getVariable("networkType") +
- ", subscriptionServiceType=" + execution.getVariable("subscriptionServiceType") +
- ", jobId=" + execution.getVariable("jobId") +
- ", sliceParams=" + execution.getVariable("sliceParams") +
- ", servicename=" + execution.getVariable("servicename")
+ String res = "\n msoRequestId=" + execution.getVariable("msoRequestId") +
+ "\n modelInvariantUuid=" + execution.getVariable("modelInvariantUuid") +
+ "\n modelUuid=" + execution.getVariable("modelUuid") +
+ "\n serviceInstanceID=" + execution.getVariable("serviceInstanceID") +
+ "\n operationType=" + execution.getVariable("operationType") +
+ "\n globalSubscriberId=" + execution.getVariable("globalSubscriberId") +
+ "\n dummyServiceId=" + execution.getVariable("dummyServiceId") +
+ "\n nsiId=" + execution.getVariable("nsiId") +
+ "\n networkType=" + execution.getVariable("networkType") +
+ "\n subscriptionServiceType=" + execution.getVariable("subscriptionServiceType") +
+ "\n jobId=" + execution.getVariable("jobId") +
+ "\n sliceParams=" + execution.getVariable("sliceParams") +
+ "\n servicename=" + execution.getVariable("servicename")
return res
}
@@ -297,7 +309,6 @@ class TnNssmfUtils {
void attachLogicalLinkToAllottedResource(DelegateExecution execution, String aaiVersion, AAIResourceUri arUri,
String logicalLinkId) {
-
String toLink = "aai/${aaiVersion}/network/logical-links/logical-link/${logicalLinkId}"
Relationship relationship = new Relationship()
@@ -307,4 +318,18 @@ class TnNssmfUtils {
createRelationShipInAAI(execution, arUri, relationship)
}
+
+ void attachNetworkPolicyToAllottedResource(DelegateExecution execution, String aaiVersion,
+ AAIResourceUri aaiResourceUri, String networkPolicyId) {
+
+ String toLink = "aai/${aaiVersion}/network/network-policies/network-policy/${networkPolicyId}"
+
+ Relationship relationship = new Relationship()
+ relationship.setRelatedLink(toLink)
+ relationship.setRelatedTo("network-policy")
+ relationship.setRelationshipLabel("org.onap.relationships.inventory.Uses")
+
+ createRelationShipInAAI(execution, aaiResourceUri, relationship)
+
+ }
}
diff --git a/bpmn/so-bpmn-infrastructure-flows/src/main/resources/subprocess/DoCreateSliceServiceInstance.bpmn b/bpmn/so-bpmn-infrastructure-flows/src/main/resources/subprocess/DoCreateSliceServiceInstance.bpmn
index 2aa7da2cd2..f2d4d7c701 100644
--- a/bpmn/so-bpmn-infrastructure-flows/src/main/resources/subprocess/DoCreateSliceServiceInstance.bpmn
+++ b/bpmn/so-bpmn-infrastructure-flows/src/main/resources/subprocess/DoCreateSliceServiceInstance.bpmn
@@ -44,7 +44,7 @@ dcsi.createAllottedResource(execution)</bpmn:script>
<bpmn:incoming>SequenceFlow_0khtova</bpmn:incoming>
<bpmn:outgoing>SequenceFlow_1wafqwa</bpmn:outgoing>
<bpmn:script>import org.onap.so.bpmn.infrastructure.scripts.*
-def dcsi= new CreateSliceService()
+def dcsi = new DoCreateSliceServiceInstance()
dcsi.prepareDecomposeService(execution)</bpmn:script>
</bpmn:scriptTask>
<bpmn:callActivity id="CallActivity_0svmkxh" name="Call Decompose Service" calledElement="DecomposeService">
@@ -135,4 +135,4 @@ dcsi.prepareDecomposeService(execution)</bpmn:script>
</bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
-</bpmn:definitions> \ No newline at end of file
+</bpmn:definitions>
diff --git a/bpmn/so-bpmn-infrastructure-flows/src/main/resources/subprocess/DoCreateTnNssiInstance.bpmn b/bpmn/so-bpmn-infrastructure-flows/src/main/resources/subprocess/DoCreateTnNssiInstance.bpmn
index 55adbe3698..fefa022bb9 100644
--- a/bpmn/so-bpmn-infrastructure-flows/src/main/resources/subprocess/DoCreateTnNssiInstance.bpmn
+++ b/bpmn/so-bpmn-infrastructure-flows/src/main/resources/subprocess/DoCreateTnNssiInstance.bpmn
@@ -21,9 +21,9 @@ def dcsi = new DoCreateTnNssiInstance()
dcsi.createServiceInstance(execution)</bpmn:script>
</bpmn:scriptTask>
<bpmn:sequenceFlow id="SequenceFlow_1uiz85h" sourceRef="Activity_16luyg1" targetRef="Event_1rsf7yb" />
- <bpmn:sequenceFlow id="SequenceFlow_0g5bwvl" sourceRef="instantiate_NSTask" targetRef="Activity_08tw2di" />
+ <bpmn:sequenceFlow id="SequenceFlow_0g5bwvl" sourceRef="instantiate_NSTask" targetRef="ScriptTask_18rzwzb" />
<bpmn:scriptTask id="ScriptTask_18rzwzb" name="Create Allottedsource in AAI" scriptFormat="groovy">
- <bpmn:incoming>Flow_106ei42</bpmn:incoming>
+ <bpmn:incoming>SequenceFlow_0g5bwvl</bpmn:incoming>
<bpmn:outgoing>SequenceFlow_17u69c4</bpmn:outgoing>
<bpmn:script>import org.onap.so.bpmn.infrastructure.scripts.*
def dcsi = new DoCreateTnNssiInstance()
@@ -74,14 +74,6 @@ dcsi.validateSDNCResponse(execution, response, "allocate")</bpmn:script>
<bpmn:incoming>SequenceFlow_17u69c4</bpmn:incoming>
<bpmn:linkEventDefinition id="LinkEventDefinition_1skl6p7" name="SdncOperation" />
</bpmn:intermediateThrowEvent>
- <bpmn:scriptTask id="Activity_08tw2di" name="create Slice Profile in AAI" scriptFormat="groovy">
- <bpmn:incoming>SequenceFlow_0g5bwvl</bpmn:incoming>
- <bpmn:outgoing>Flow_106ei42</bpmn:outgoing>
- <bpmn:script>import org.onap.so.bpmn.infrastructure.scripts.*
-def dcsi = new DoCreateTnNssiInstance()
-dcsi.createSliceProfile(execution)</bpmn:script>
- </bpmn:scriptTask>
- <bpmn:sequenceFlow id="Flow_106ei42" sourceRef="Activity_08tw2di" targetRef="ScriptTask_18rzwzb" />
</bpmn:process>
<bpmndi:BPMNDiagram id="BPMNDiagram_1">
<bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="DoCreateTnNssiInstance">
@@ -98,12 +90,12 @@ dcsi.createSliceProfile(execution)</bpmn:script>
<di:waypoint x="299" y="375" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_17u69c4_di" bpmnElement="SequenceFlow_17u69c4">
- <di:waypoint x="930" y="129" />
- <di:waypoint x="1102" y="129" />
+ <di:waypoint x="830" y="129" />
+ <di:waypoint x="982" y="129" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_0g5bwvl_di" bpmnElement="SequenceFlow_0g5bwvl">
- <di:waypoint x="574" y="129" />
- <di:waypoint x="650" y="129" />
+ <di:waypoint x="600" y="129" />
+ <di:waypoint x="730" y="129" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_1uiz85h_di" bpmnElement="SequenceFlow_1uiz85h">
<di:waypoint x="840" y="375" />
@@ -113,37 +105,25 @@ dcsi.createSliceProfile(execution)</bpmn:script>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_0khtova_di" bpmnElement="SequenceFlow_0khtova">
- <di:waypoint x="393" y="129" />
- <di:waypoint x="474" y="129" />
+ <di:waypoint x="410" y="129" />
+ <di:waypoint x="500" y="129" />
<bpmndi:BPMNLabel>
<dc:Bounds x="436" y="108" width="0" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_1qo2pln_di" bpmnElement="SequenceFlow_1qo2pln">
<di:waypoint x="211" y="129" />
- <di:waypoint x="251" y="129" />
- <di:waypoint x="251" y="129" />
- <di:waypoint x="293" y="129" />
+ <di:waypoint x="310" y="129" />
<bpmndi:BPMNLabel>
<dc:Bounds x="266" y="123" width="0" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="Flow_106ei42_di" bpmnElement="Flow_106ei42">
- <di:waypoint x="750" y="129" />
- <di:waypoint x="830" y="129" />
- </bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="allocateTnNssi_StartEvent">
<dc:Bounds x="175" y="111" width="36" height="36" />
<bpmndi:BPMNLabel>
<dc:Bounds x="153" y="147" width="86" height="27" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
- <bpmndi:BPMNShape id="ScriptTask_03j6ogo_di" bpmnElement="PreprocessIncomingRequest_task">
- <dc:Bounds x="293" y="89" width="100" height="80" />
- </bpmndi:BPMNShape>
- <bpmndi:BPMNShape id="ScriptTask_1qmmew8_di" bpmnElement="instantiate_NSTask">
- <dc:Bounds x="474" y="89" width="100" height="80" />
- </bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Event_0l9vk9p_di" bpmnElement="Event_0l9vk9p">
<dc:Bounds x="175" y="357" width="36" height="36" />
<bpmndi:BPMNLabel>
@@ -163,16 +143,19 @@ dcsi.createSliceProfile(execution)</bpmn:script>
<dc:Bounds x="972" y="357" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Event_1a9swwa_di" bpmnElement="Event_1a9swwa">
- <dc:Bounds x="1102" y="111" width="36" height="36" />
+ <dc:Bounds x="982" y="111" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1093" y="154" width="59" height="27" />
+ <dc:Bounds x="973" y="154" width="59" height="27" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="ScriptTask_18rzwzb_di" bpmnElement="ScriptTask_18rzwzb">
- <dc:Bounds x="830" y="89" width="100" height="80" />
+ <dc:Bounds x="730" y="89" width="100" height="80" />
</bpmndi:BPMNShape>
- <bpmndi:BPMNShape id="Activity_08tw2di_di" bpmnElement="Activity_08tw2di">
- <dc:Bounds x="650" y="89" width="100" height="80" />
+ <bpmndi:BPMNShape id="ScriptTask_1qmmew8_di" bpmnElement="instantiate_NSTask">
+ <dc:Bounds x="500" y="89" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ScriptTask_03j6ogo_di" bpmnElement="PreprocessIncomingRequest_task">
+ <dc:Bounds x="310" y="89" width="100" height="80" />
</bpmndi:BPMNShape>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
diff --git a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionBBTasks.java b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionBBTasks.java
index 0cb8fb2ccd..43a85051be 100644
--- a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionBBTasks.java
+++ b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionBBTasks.java
@@ -103,6 +103,7 @@ public class WorkflowActionBBTasks {
(List<ExecuteBuildingBlock>) execution.getVariable("flowsToExecute");
execution.setVariable("MacroRollback", false);
+ flowManipulatorListenerRunner.modifyFlows(flowsToExecute, new DelegateExecutionImpl(execution));
int currentSequence = (int) execution.getVariable(G_CURRENT_SEQUENCE);
ExecuteBuildingBlock ebb = flowsToExecute.get(currentSequence);
@@ -113,12 +114,6 @@ public class WorkflowActionBBTasks {
execution.setVariable(G_CURRENT_SEQUENCE, currentSequence);
}
- public void runFlowManipulator(DelegateExecution execution) {
- List<ExecuteBuildingBlock> flowsToExecute =
- (List<ExecuteBuildingBlock>) execution.getVariable("flowsToExecute");
- flowManipulatorListenerRunner.modifyFlows(flowsToExecute, new DelegateExecutionImpl(execution));
- }
-
public void updateFlowStatistics(DelegateExecution execution) {
try {
int currentSequence = (int) execution.getVariable(G_CURRENT_SEQUENCE);
diff --git a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/listeners/SkipCDSBuildingBlockListener.java b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/listeners/SkipCDSBuildingBlockListener.java
index 42aab4c16e..2119ced951 100644
--- a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/listeners/SkipCDSBuildingBlockListener.java
+++ b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/listeners/SkipCDSBuildingBlockListener.java
@@ -52,8 +52,6 @@ public class SkipCDSBuildingBlockListener implements FlowManipulator {
private Set<String> pnfActions =
new HashSet<>(Arrays.asList("config-assign", "config-deploy", "PnfConfigAssign", "PnfConfigDeploy"));
- private static final String COMPLETED = "completed";
-
@Override
public boolean shouldRunFor(String currentBBName, boolean isFirst, BuildingBlockExecution execution) {
@@ -72,7 +70,6 @@ public class SkipCDSBuildingBlockListener implements FlowManipulator {
public void run(List<ExecuteBuildingBlock> flowsToExecute, ExecuteBuildingBlock currentBB,
BuildingBlockExecution execution) {
String customizationUUID = currentBB.getBuildingBlock().getKey();
- int flowsToExecuteSize = flowsToExecute.size();
if (Strings.isEmpty(customizationUUID)) {
return;
@@ -88,7 +85,7 @@ public class SkipCDSBuildingBlockListener implements FlowManipulator {
vnfResourceCustomizations);
if (null != vrc) {
boolean skipConfigVNF = vrc.isSkipPostInstConf();
- currentSequenceSkipCheck(execution, skipConfigVNF, flowsToExecuteSize);
+ currentSequenceSkipCheck(execution, skipConfigVNF);
}
}
@@ -100,7 +97,7 @@ public class SkipCDSBuildingBlockListener implements FlowManipulator {
if (null != vfc) {
boolean skipVfModule = vfc.isSkipPostInstConf();
- currentSequenceSkipCheck(execution, skipVfModule, flowsToExecuteSize);
+ currentSequenceSkipCheck(execution, skipVfModule);
}
} else if (currentBB.getBuildingBlock().getBpmnScope().equalsIgnoreCase("PNF")
@@ -110,7 +107,7 @@ public class SkipCDSBuildingBlockListener implements FlowManipulator {
if (null != pnfResourceCustomization) {
boolean skipConfigPNF = pnfResourceCustomization.isSkipPostInstConf();
- currentSequenceSkipCheck(execution, skipConfigPNF, flowsToExecuteSize);
+ currentSequenceSkipCheck(execution, skipConfigPNF);
}
}
}
@@ -121,16 +118,10 @@ public class SkipCDSBuildingBlockListener implements FlowManipulator {
}
- private void currentSequenceSkipCheck(BuildingBlockExecution execution, boolean skipModule,
- int flowsToExecuteSize) {
+ private void currentSequenceSkipCheck(BuildingBlockExecution execution, boolean skipModule) {
if (skipModule) {
int currentSequence = execution.getVariable(BBConstants.G_CURRENT_SEQUENCE);
- currentSequence++;
- if (currentSequence >= flowsToExecuteSize) {
- execution.setVariable(COMPLETED, true);
- } else {
- execution.setVariable(BBConstants.G_CURRENT_SEQUENCE, currentSequence);
- }
+ execution.setVariable(BBConstants.G_CURRENT_SEQUENCE, currentSequence + 1);
}
}
diff --git a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionBBTasksTest.java b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionBBTasksTest.java
index b0358c51f0..3290bb3dce 100644
--- a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionBBTasksTest.java
+++ b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/WorkflowActionBBTasksTest.java
@@ -41,6 +41,7 @@ import org.onap.aai.domain.yang.ServiceInstance;
import org.onap.aai.domain.yang.VfModule;
import org.onap.aai.domain.yang.VolumeGroup;
import org.onap.so.bpmn.BaseTaskTest;
+import org.onap.so.bpmn.common.listener.flowmanipulator.FlowManipulatorListenerRunner;
import org.onap.so.bpmn.core.WorkflowException;
import org.onap.so.bpmn.servicedecomposition.entities.BuildingBlock;
import org.onap.so.bpmn.servicedecomposition.entities.ConfigurationResourceKeys;
@@ -89,6 +90,9 @@ public class WorkflowActionBBTasksTest extends BaseTaskTest {
@Mock
protected Environment environment;
+ @Mock
+ private FlowManipulatorListenerRunner flowManipulatorListenerRunner;
+
@Rule
public ExpectedException thrown = ExpectedException.none();
diff --git a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/listeners/SkipCDSBuildingBlockListenerTest.java b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/listeners/SkipCDSBuildingBlockListenerTest.java
index 1d68cf0adb..fdf4d36c89 100644
--- a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/listeners/SkipCDSBuildingBlockListenerTest.java
+++ b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/workflow/tasks/listeners/SkipCDSBuildingBlockListenerTest.java
@@ -55,10 +55,10 @@ public class SkipCDSBuildingBlockListenerTest {
private static final String PNFModule_TEST_ACTION = "config-assign";
private static final String MODELCUSTOMIZATIONUUID = "123456789";
private static final String BBNAME = "ControllerExecutionBB";
- private static final String COMPLETED = "completed";
private static final boolean ISFIRST = true;
private int actual;
+ private List<ExecuteBuildingBlock> flowsToExecute = new ArrayList<>();
private List<VnfResourceCustomization> vnfResourceCustomization;
private List<VfModuleCustomization> vfModuleCustomization;
private ExecuteBuildingBlock executeBuildingBlock = new ExecuteBuildingBlock();
@@ -91,9 +91,6 @@ public class SkipCDSBuildingBlockListenerTest {
@Test
public void testProcessForVNFToSkipCDSBB() {
- List<ExecuteBuildingBlock> flowsToExecute = new ArrayList<>();
- flowsToExecute.add(executeBuildingBlock);
- flowsToExecute.add(new ExecuteBuildingBlock());
// given
setBuildingBlockAndCurrentSequence(VNF_SCOPE, VNF_TEST_ACTION, 0);
vnfResourceCustomization = getVnfResourceCustomizationList(true);
@@ -115,9 +112,6 @@ public class SkipCDSBuildingBlockListenerTest {
@Test
public void testProcessForVNFNotToSkipCDSBB() {
- List<ExecuteBuildingBlock> flowsToExecute = new ArrayList<>();
- flowsToExecute.add(executeBuildingBlock);
- flowsToExecute.add(new ExecuteBuildingBlock());
// given
setBuildingBlockAndCurrentSequence(VNF_SCOPE, VNF_TEST_ACTION, 0);
vnfResourceCustomization = getVnfResourceCustomizationList(false);
@@ -140,9 +134,6 @@ public class SkipCDSBuildingBlockListenerTest {
@Test
public void testProcessForVFToSkipCDSBB() {
- List<ExecuteBuildingBlock> flowsToExecute = new ArrayList<>();
- flowsToExecute.add(executeBuildingBlock);
- flowsToExecute.add(new ExecuteBuildingBlock());
// given
setBuildingBlockAndCurrentSequence(VF_SCOPE, VFModule_TEST_ACTION, 0);
vfModuleCustomization = getVfModuleCustomizationList(true);
@@ -162,9 +153,6 @@ public class SkipCDSBuildingBlockListenerTest {
@Test
public void testProcessForVFNotToSkipCDSBB() {
- List<ExecuteBuildingBlock> flowsToExecute = new ArrayList<>();
- flowsToExecute.add(executeBuildingBlock);
- flowsToExecute.add(new ExecuteBuildingBlock());
// given
setBuildingBlockAndCurrentSequence(VF_SCOPE, VFModule_TEST_ACTION, 0);
vfModuleCustomization = getVfModuleCustomizationList(false);
@@ -184,9 +172,6 @@ public class SkipCDSBuildingBlockListenerTest {
@Test
public void testProcessForPNFToSkipCDSBB() {
- List<ExecuteBuildingBlock> flowsToExecute = new ArrayList<>();
- flowsToExecute.add(executeBuildingBlock);
- flowsToExecute.add(new ExecuteBuildingBlock());
// given
setBuildingBlockAndCurrentSequence(PNF_SCOPE, PNFModule_TEST_ACTION, 0);
pnfResourceCustomization = getPnfResourceCustomization(true);
@@ -205,32 +190,7 @@ public class SkipCDSBuildingBlockListenerTest {
}
@Test
- public void testProcessForPNFToSkipCDSBBLastBBInList() {
- List<ExecuteBuildingBlock> flowsToExecute = new ArrayList<>();
- flowsToExecute.add(executeBuildingBlock);
- // given
- setBuildingBlockAndCurrentSequence(PNF_SCOPE, PNFModule_TEST_ACTION, 0);
- pnfResourceCustomization = getPnfResourceCustomization(true);
-
- when(catalogDbClient
- .getPnfResourceCustomizationByModelCustomizationUUID(executeBuildingBlock.getBuildingBlock().getKey()))
- .thenReturn(pnfResourceCustomization);
-
- // when
- skipCDSBuildingBlockListener.run(flowsToExecute, executeBuildingBlock, buildingBlockExecution);
-
- // then
- actual = buildingBlockExecution.getVariable(BBConstants.G_CURRENT_SEQUENCE);
- boolean isCompleted = buildingBlockExecution.getVariable(COMPLETED);
- assertEquals(true, isCompleted);
- assertEquals(0, actual);
- }
-
- @Test
public void testProcessForPNFNotToSkipCDSBB() {
- List<ExecuteBuildingBlock> flowsToExecute = new ArrayList<>();
- flowsToExecute.add(executeBuildingBlock);
- flowsToExecute.add(new ExecuteBuildingBlock());
// given
setBuildingBlockAndCurrentSequence(PNF_SCOPE, PNFModule_TEST_ACTION, 0);
pnfResourceCustomization = getPnfResourceCustomization(false);
diff --git a/common/src/main/java/org/onap/so/beans/nsmf/SliceTaskParamsAdapter.java b/common/src/main/java/org/onap/so/beans/nsmf/SliceTaskParamsAdapter.java
index 8ea0eb6587..e97aa704eb 100644
--- a/common/src/main/java/org/onap/so/beans/nsmf/SliceTaskParamsAdapter.java
+++ b/common/src/main/java/org/onap/so/beans/nsmf/SliceTaskParamsAdapter.java
@@ -48,23 +48,23 @@ public class SliceTaskParamsAdapter implements Serializable {
private String nstName;
- private Map<String, Object> serviceProfile;
+ private Map<String, Object> serviceProfile = new HashMap<>();
private String suggestNsiId;
private String suggestNsiName;
- private TemplateInfo NSTInfo;
+ private TemplateInfo NSTInfo = new TemplateInfo();
- private SliceTaskInfo<TnSliceProfile> tnBHSliceTaskInfo;
+ private SliceTaskInfo<TnSliceProfile> tnBHSliceTaskInfo = new SliceTaskInfo<>();
- private SliceTaskInfo<TnSliceProfile> tnMHSliceTaskInfo;
+ private SliceTaskInfo<TnSliceProfile> tnMHSliceTaskInfo = new SliceTaskInfo<>();
- private SliceTaskInfo<TnSliceProfile> tnFHSliceTaskInfo;
+ private SliceTaskInfo<TnSliceProfile> tnFHSliceTaskInfo = new SliceTaskInfo<>();
- private SliceTaskInfo<CnSliceProfile> cnSliceTaskInfo;
+ private SliceTaskInfo<CnSliceProfile> cnSliceTaskInfo = new SliceTaskInfo<>();
- private SliceTaskInfo<AnSliceProfile> anSliceTaskInfo;
+ private SliceTaskInfo<AnSliceProfile> anSliceTaskInfo = new SliceTaskInfo<>();
@SuppressWarnings("unchecked")
public void convertFromJson(String jsonString) throws IOException {
@@ -226,6 +226,10 @@ public class SliceTaskParamsAdapter implements Serializable {
*/
private <T> Map<String, Object> bean2Map(T t) {
Map<String, Object> resMap = new HashMap<>();
+ if (t == null) {
+ return resMap;
+ }
+
try {
Field[] fields = t.getClass().getDeclaredFields();
for (Field field : fields) {
diff --git a/common/src/main/java/org/onap/so/configuration/rest/HttpClientConnectionConfiguration.java b/common/src/main/java/org/onap/so/configuration/rest/HttpClientConnectionConfiguration.java
index 6c2c76e87c..b17b1fe0fe 100644
--- a/common/src/main/java/org/onap/so/configuration/rest/HttpClientConnectionConfiguration.java
+++ b/common/src/main/java/org/onap/so/configuration/rest/HttpClientConnectionConfiguration.java
@@ -38,15 +38,18 @@ public class HttpClientConnectionConfiguration {
@Value(value = "${rest.http.client.configuration.socketTimeOutInSec:180}")
private int socketTimeOutInSeconds;
- @Value(value = "${rest.http.client.configuration.socketTimeOutInSec:600}")
+ @Value(value = "${rest.http.client.configuration.timeToLiveInSeconds:600}")
private int timeToLiveInSeconds;
- @Value(value = "${rest.http.client.configuration.maxConnections:10}")
+ @Value(value = "${rest.http.client.configuration.maxConnections:100}")
private int maxConnections;
- @Value(value = "${rest.http.client.configuration.maxConnectionsPerRoute:2}")
+ @Value(value = "${rest.http.client.configuration.maxConnectionsPerRoute:20}")
private int maxConnectionsPerRoute;
+ @Value(value = "${rest.http.client.configuration.evictIdleConnectionsTimeInSec:5}")
+ private int evictIdleConnectionsTimeInSec;
+
/**
* @return the socket connection time out in milliseconds
*/
@@ -82,4 +85,8 @@ public class HttpClientConnectionConfiguration {
return (int) TimeUnit.SECONDS.toMinutes(timeToLiveInSeconds);
}
+ public long getEvictIdleConnectionsTimeInSec() {
+ return evictIdleConnectionsTimeInSec;
+ }
+
}
diff --git a/common/src/main/java/org/onap/so/configuration/rest/HttpComponentsClientConfiguration.java b/common/src/main/java/org/onap/so/configuration/rest/HttpComponentsClientConfiguration.java
index 882ed95cfc..aef2ed165e 100644
--- a/common/src/main/java/org/onap/so/configuration/rest/HttpComponentsClientConfiguration.java
+++ b/common/src/main/java/org/onap/so/configuration/rest/HttpComponentsClientConfiguration.java
@@ -22,6 +22,7 @@ package org.onap.so.configuration.rest;
import java.util.concurrent.TimeUnit;
import org.apache.http.client.config.RequestConfig;
+import org.apache.http.impl.NoConnectionReuseStrategy;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.impl.conn.PoolingHttpClientConnectionManager;
@@ -55,7 +56,10 @@ public class HttpComponentsClientConfiguration {
return HttpClientBuilder.create().setConnectionManager(poolingHttpClientConnectionManager())
.setMaxConnPerRoute(clientConnectionConfiguration.getMaxConnectionsPerRoute())
.setMaxConnTotal(clientConnectionConfiguration.getMaxConnections())
- .setDefaultRequestConfig(requestConfig()).build();
+ .setDefaultRequestConfig(requestConfig()).setConnectionReuseStrategy(NoConnectionReuseStrategy.INSTANCE)
+ .evictExpiredConnections().evictIdleConnections(
+ clientConnectionConfiguration.getEvictIdleConnectionsTimeInSec(), TimeUnit.SECONDS)
+ .build();
}
@Bean
diff --git a/releases/1.7.7.yaml b/releases/1.7.7.yaml
new file mode 100644
index 0000000000..d19c9742ef
--- /dev/null
+++ b/releases/1.7.7.yaml
@@ -0,0 +1,33 @@
+---
+distribution_type: 'container'
+container_release_tag: '1.7.7'
+project: 'so'
+log_dir: 'so-maven-docker-stage-master/504/'
+ref: 'deb4f1d1292d661b08f8969a117b7b979551158a'
+containers:
+ - name: 'so/vnfm-adapter'
+ version: '1.7.6-20201027T1345'
+ - name: 'so/catalog-db-adapter'
+ version: '1.7.6-20201027T1345'
+ - name: 'so/request-db-adapter'
+ version: '1.7.6-20201027T1345'
+ - name: 'so/openstack-adapter'
+ version: '1.7.6-20201027T1345'
+ - name: 'so/sdnc-adapter'
+ version: '1.7.6-20201027T1345'
+ - name: 'so/vfc-adapter'
+ version: '1.7.6-20201027T1345'
+ - name: 'so/sdc-controller'
+ version: '1.7.6-20201027T1345'
+ - name: 'so/bpmn-infra'
+ version: '1.7.6-20201027T1345'
+ - name: 'so/so-monitoring'
+ version: '1.7.6-20201027T1345'
+ - name: 'so/api-handler-infra'
+ version: '1.7.6-20201027T1345'
+ - name: 'so/nssmf-adapter'
+ version: '1.7.6-20201027T1345'
+ - name: 'so/mso-cnf-adapter'
+ version: '1.7.6-20201027T1345'
+ - name: 'so/so-oof-adapter'
+ version: '1.7.6-20201027T1345' \ No newline at end of file