aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorElaine_Han <elaine.hanyulian@huawei.com>2018-08-07 18:14:14 +0800
committerElaine_Han <elaine.hanyulian@huawei.com>2018-08-07 18:26:19 +0800
commitc760957cb37ff1867fcad9d22a63364f13544966 (patch)
treead50d9d21b388054a11bf6a59c68eba9979540dd
parent8229a6d82d243f79e993fdd406fc8e9b76fbc8e9 (diff)
Delete SPPaterner resource process
Change-Id: Idaa55084f5ecb0dd3636c232cebc14fa70000003 Issue-ID: SO-683 Signed-off-by: Yulian Han <elaine.hanyulian@huawei.com>
-rw-r--r--bpmn/so-bpmn-infrastructure-flows/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/Create3rdONAPE2EServiceInstance.groovy232
-rw-r--r--bpmn/so-bpmn-infrastructure-flows/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/Delete3rdONAPE2EServiceInstance.groovy517
-rw-r--r--bpmn/so-bpmn-infrastructure-flows/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateResources.groovy1
-rw-r--r--bpmn/so-bpmn-infrastructure-flows/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoDeleteE2EServiceInstance.groovy195
-rw-r--r--bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/Delete3rdONAPE2EServiceInstance.bpmn830
5 files changed, 1233 insertions, 542 deletions
diff --git a/bpmn/so-bpmn-infrastructure-flows/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/Create3rdONAPE2EServiceInstance.groovy b/bpmn/so-bpmn-infrastructure-flows/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/Create3rdONAPE2EServiceInstance.groovy
index a2f4e35df1..fb21574fdd 100644
--- a/bpmn/so-bpmn-infrastructure-flows/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/Create3rdONAPE2EServiceInstance.groovy
+++ b/bpmn/so-bpmn-infrastructure-flows/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/Create3rdONAPE2EServiceInstance.groovy
@@ -4,7 +4,7 @@
* ================================================================================
* Copyright (C) 2018 Huawei Technologies Co., Ltd. All rights reserved.
* ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
+ * Licensed under the Apache License, Version 2.0 (the "License")
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
@@ -18,12 +18,12 @@
* ============LICENSE_END=========================================================
*/
-package org.onap.so.bpmn.infrastructure.scripts;
+package org.onap.so.bpmn.infrastructure.scripts
import org.json.JSONObject
-import org.json.XML;
+import org.json.XML
-import static org.apache.commons.lang3.StringUtils.*;
+import static org.apache.commons.lang3.StringUtils.*
import groovy.xml.XmlUtil
import groovy.json.*
import org.onap.so.bpmn.common.scripts.AbstractServiceTaskProcessor
@@ -31,7 +31,7 @@ import org.onap.so.bpmn.common.scripts.ExceptionUtil
import org.onap.so.bpmn.common.scripts.ExternalAPIUtil
import org.onap.so.bpmn.common.scripts.AaiUtil
import org.onap.so.bpmn.common.scripts.MsoUtils
-import org.onap.so.bpmn.common.recipe.ResourceInput;
+import org.onap.so.bpmn.common.recipe.ResourceInput
import org.onap.so.bpmn.common.resource.ResourceRequestBuilder
import org.onap.so.bpmn.core.WorkflowException
import org.onap.so.bpmn.core.json.JsonUtils
@@ -39,13 +39,14 @@ import org.onap.so.bpmn.infrastructure.workflow.serviceTask.client.builder.Abstr
import org.onap.so.rest.APIResponse
import org.onap.so.bpmn.common.scripts.SDNCAdapterUtils
import org.onap.so.bpmn.infrastructure.workflow.service.ServicePluginFactory
-import java.util.UUID;
+import java.util.UUID
+import org.onap.so.logger.MsoLogger
import org.camunda.bpm.engine.runtime.Execution
import org.camunda.bpm.engine.delegate.BpmnError
import org.camunda.bpm.engine.delegate.DelegateExecution
import org.apache.commons.lang3.*
-import org.apache.commons.codec.binary.Base64;
+import org.apache.commons.codec.binary.Base64
import org.springframework.web.util.UriUtils
import org.onap.so.rest.RESTClient
import org.onap.so.rest.RESTConfig
@@ -56,24 +57,25 @@ import org.onap.so.rest.RESTConfig
*/
public class Create3rdONAPE2EServiceInstance extends AbstractServiceTaskProcessor {
- String Prefix="CRE3rdONAPESI_"
+ String Prefix = "CRE3rdONAPESI_"
ExceptionUtil exceptionUtil = new ExceptionUtil()
JsonUtils jsonUtil = new JsonUtils()
+
+ private static final MsoLogger msoLogger = MsoLogger.getMsoLogger(MsoLogger.Catalog.BPEL, Create3rdONAPE2EServiceInstance.class)
public void checkSPPartnerInfo (DelegateExecution execution) {
- def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
- utils.log("INFO"," ***** Started checkSPPartnerInfo *****", isDebugEnabled)
+ msoLogger.info(" ***** Started checkSPPartnerInfo *****")
try {
//get bpmn inputs from resource request.
String requestId = execution.getVariable("mso-request-id")
String requestAction = execution.getVariable("requestAction")
- utils.log("INFO","The requestAction is: " + requestAction, isDebugEnabled)
+ msoLogger.info("The requestAction is: " + requestAction)
String recipeParamsFromRequest = execution.getVariable("recipeParams")
- utils.log("INFO","The recipeParams is: " + recipeParamsFromRequest, isDebugEnabled)
+ msoLogger.info("The recipeParams is: " + recipeParamsFromRequest)
String resourceInput = execution.getVariable("resourceInput")
- utils.log("INFO","The resourceInput is: " + resourceInput, isDebugEnabled)
+ msoLogger.info("The resourceInput is: " + resourceInput)
//Get ResourceInput Object
ResourceInput resourceInputObj = ResourceRequestBuilder.getJsonObject(resourceInput, ResourceInput.class)
String resourceInputPrameters = resourceInputObj.getResourceParameters()
@@ -81,7 +83,7 @@ public class Create3rdONAPE2EServiceInstance extends AbstractServiceTaskProcesso
JSONObject inputParameters = new JSONObject(customizeResourceParam(inputParametersJson))
// set local resourceInput
- execution.setVariable(Prefix + "resourceInput", resourceInputObj)
+ execution.setVariable(Prefix + "ResourceInput", resourceInputObj)
boolean is3rdONAPExist = false
@@ -93,163 +95,161 @@ public class Create3rdONAPE2EServiceInstance extends AbstractServiceTaskProcesso
{
String sppartnerUrl = inputParameters.get("url")
if(!isBlank(sppartnerUrl)) {
- execution.setVariable(Prefix + "sppartnerUrl", sppartnerUrl)
+ execution.setVariable(Prefix + "SppartnerUrl", sppartnerUrl)
is3rdONAPExist = true
}
else {
is3rdONAPExist = false
String msg = "sppartner Url is blank."
- utils.log("DEBUG", msg, isDebugEnabled)
+ msoLogger.debug(msg)
}
}
if(inputParameters.has("providingServiceInvarianteUuid"))
{
String sppartnerInvarianteUUID = inputParameters.get("providingServiceInvarianteUuid")
- execution.setVariable(Prefix + "sppartnerInvarianteUUID", sppartnerInvarianteUUID)
+ execution.setVariable(Prefix + "SppartnerInvarianteUUID", sppartnerInvarianteUUID)
is3rdONAPExist = true
}
else {
is3rdONAPExist = false
String msg = "sppartner providingServiceInvarianteUuid is blank."
- utils.log("DEBUG", msg, isDebugEnabled)
+ msoLogger.debug(msg)
}
if(inputParameters.has("providingServiceUuid"))
{
String sppartnerUUID = inputParameters.get("providingServiceUuid")
- execution.setVariable(Prefix + "sppartnerUUID", sppartnerUUID)
+ execution.setVariable(Prefix + "SppartnerUUID", sppartnerUUID)
is3rdONAPExist = true
}
else {
is3rdONAPExist = false
String msg = "sppartner providingServiceUuid is blank."
- utils.log("DEBUG", msg, isDebugEnabled)
+ msoLogger.debug(msg)
}
if(inputParameters.has("handoverMode"))
{
String handoverMode = inputParameters.get("handoverMode")
- execution.setVariable(Prefix + "handoverMode", handoverMode)
+ execution.setVariable(Prefix + "HandoverMode", handoverMode)
is3rdONAPExist = true
}
else {
is3rdONAPExist = false
String msg = "sppartner handoverMode is blank."
- utils.log("DEBUG", msg, isDebugEnabled)
+ msoLogger.debug(msg)
}
execution.setVariable("Is3rdONAPExist", is3rdONAPExist)
- execution.setVariable(Prefix + "serviceInstanceId", resourceInputObj.getServiceInstanceId())
+ execution.setVariable(Prefix + "ServiceInstanceId", resourceInputObj.getServiceInstanceId())
execution.setVariable("mso-request-id", requestId)
execution.setVariable("mso-service-instance-id", resourceInputObj.getServiceInstanceId())
} catch (BpmnError e) {
- throw e;
+ throw e
} catch (Exception ex){
String msg = "Exception in checkSPPartnerInfo " + ex.getMessage()
- utils.log("DEBUG", msg, isDebugEnabled)
+ msoLogger.debug(msg)
exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg)
}
}
public void checkLocallCall (DelegateExecution execution) {
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
- utils.log("INFO"," ***** Started checkLocallCall *****", isDebugEnabled)
+ msoLogger.info(" ***** Started checkLocallCall *****")
try {
//Get ResourceInput Object
- ResourceInput resourceInputObj = execution.getVariable(Prefix + "resourceInput")
+ ResourceInput resourceInputObj = execution.getVariable(Prefix + "ResourceInput")
//uuiRequest
String incomingRequest = resourceInputObj.getRequestsInputs()
String serviceParameters = jsonUtil.getJsonValue(incomingRequest, "service.parameters")
JSONObject inputParameters = new JSONObject(customizeResourceParam(serviceParameters))
- execution.setVariable(Prefix + "serviceParameters", inputParameters)
+ execution.setVariable(Prefix + "ServiceParameters", inputParameters)
- // CallSource is added only when ONAP SO calling 3rdONAP SO(Remote call)
+ // CallSource is added only when ONAP SO calling 3rdONAP(External API) SO(Remote call)
boolean isLocalCall = true
+ String callSource = "UUI"
if(inputParameters.has("CallSource"))
{
- String callSource = inputParameters.get("CallSource")
- if("3rdONAP".equalsIgnoreCase(callSource)) {
+ callSource = inputParameters.get("CallSource")
+ if("ExternalAPI".equalsIgnoreCase(callSource)) {
isLocalCall = false
- }
- execution.setVariable(Prefix + "CallSource", callSource)
- utils.log("DEBUG", "callSource is: " + callSource , isDebugEnabled)
- isLocalCall = true
+ }
}
+ execution.setVariable(Prefix + "CallSource", callSource)
+ msoLogger.debug("callSource is: " + callSource )
execution.setVariable("IsLocalCall", isLocalCall)
- } catch (BpmnError e) {
- throw e;
} catch (Exception ex){
String msg = "Exception in checkLocallCall " + ex.getMessage()
- utils.log("DEBUG", msg, isDebugEnabled)
+ msoLogger.debug(msg)
exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg)
}
}
public void preProcessRequest(DelegateExecution execution){
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
- utils.log("INFO"," ***** Started preProcessRequest *****", isDebugEnabled)
+ msoLogger.info(" ***** Started preProcessRequest *****")
try {
- ResourceInput resourceInputObj = execution.getVariable(Prefix + "resourceInput")
+ ResourceInput resourceInputObj = execution.getVariable(Prefix + "ResourceInput")
String msg = ""
String globalSubscriberId = resourceInputObj.getGlobalSubscriberId()
if (isBlank(globalSubscriberId)) {
msg = "Input globalSubscriberId is null"
- utils.log("INFO", msg, isDebugEnabled)
+ msoLogger.info(msg)
exceptionUtil.buildAndThrowWorkflowException(execution, 500, msg)
}
//set local variable
- execution.setVariable("globalSubscriberId", globalSubscriberId);
- utils.log("INFO", "globalSubscriberId:" + globalSubscriberId, isDebugEnabled)
+ execution.setVariable("globalSubscriberId", globalSubscriberId)
+ msoLogger.info("globalSubscriberId:" + globalSubscriberId)
String serviceType = resourceInputObj.getServiceType()
if (isBlank(serviceType)) {
msg = "Input serviceType is null"
- utils.log("INFO", msg, isDebugEnabled)
+ msoLogger.info(msg)
exceptionUtil.buildAndThrowWorkflowException(execution, 500, msg)
}
execution.setVariable("serviceType", serviceType)
- utils.log("INFO", "serviceType:" + serviceType, isDebugEnabled)
+ msoLogger.info("serviceType:" + serviceType)
- String resourceName = resourceInputObj.getResourceInstanceName();
+ String resourceName = resourceInputObj.getResourceInstanceName()
if (isBlank(resourceName)) {
msg = "Input resourceName is null"
- utils.log("INFO", msg, isDebugEnabled)
+ msoLogger.info(msg)
exceptionUtil.buildAndThrowWorkflowException(execution, 500, msg)
}
execution.setVariable("resourceName", resourceName)
- utils.log("INFO", "resourceName:" + resourceName, isDebugEnabled)
+ msoLogger.info("resourceName:" + resourceName)
int beginIndex = resourceName.indexOf("_") + 1
String serviceInstanceName = resourceName.substring(beginIndex)
execution.setVariable("serviceInstanceName", serviceInstanceName)
- String serviceInstanceId = resourceInputObj.getServiceInstanceId();
+ String serviceInstanceId = resourceInputObj.getServiceInstanceId()
if (isBlank(serviceInstanceId)) {
msg = "Input serviceInstanceId is null"
- utils.log("INFO", msg, isDebugEnabled)
+ msoLogger.info(msg)
exceptionUtil.buildAndThrowWorkflowException(execution, 500, msg)
}
execution.setVariable("serviceInstanceId", serviceInstanceId)
- utils.log("INFO", "serviceInstanceId:" + serviceInstanceId, isDebugEnabled)
+ msoLogger.info("serviceInstanceId:" + serviceInstanceId)
} catch (BpmnError e) {
- throw e;
+ throw e
} catch (Exception ex){
String msg = "Exception in preProcessRequest " + ex.getMessage()
- utils.log("DEBUG", msg, isDebugEnabled)
+ msoLogger.debug(msg)
exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg)
}
}
public void prepareUpdateProgress(DelegateExecution execution) {
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
- utils.log("INFO"," ***** Started prepareUpdateProgress *****", isDebugEnabled)
- ResourceInput resourceInputObj = execution.getVariable(Prefix + "resourceInput")
+ msoLogger.info(" ***** Started prepareUpdateProgress *****")
+ ResourceInput resourceInputObj = execution.getVariable(Prefix + "ResourceInput")
String operType = resourceInputObj.getOperationType()
String resourceCustomizationUuid = resourceInputObj.getResourceModelInfo().getModelCustomizationUuid()
String ServiceInstanceId = resourceInputObj.getServiceInstanceId()
@@ -274,18 +274,18 @@ public class Create3rdONAPE2EServiceInstance extends AbstractServiceTaskProcesso
<statusDescription>${statusDescription}</statusDescription>
</ns:updateResourceOperationStatus>
</soapenv:Body>
- </soapenv:Envelope>""";
+ </soapenv:Envelope>"""
setProgressUpdateVariables(execution, body)
- utils.log("INFO"," ***** End prepareUpdateProgress *****", isDebugEnabled)
+ msoLogger.info(" ***** Exit prepareUpdateProgress *****")
}
public void allocateCrossONAPResource(DelegateExecution execution) {
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
- utils.log("INFO"," ***** Started allocateCrossONAPResource *****", isDebugEnabled)
+ msoLogger.info(" ***** Started allocateCrossONAPResource *****")
//get TP links from AAI for SOTN handoverMode only
- String handoverMode = execution.getVariable(Prefix + "handoverMode")
+ String handoverMode = execution.getVariable(Prefix + "HandoverMode")
if("SOTN".equalsIgnoreCase(handoverMode)) {
//to do get tp link in AAI
@@ -296,29 +296,29 @@ public class Create3rdONAPE2EServiceInstance extends AbstractServiceTaskProcesso
String accessTopologyId = ""
String accessNodeId = ""
String accessLtpId = ""
- JSONObject inputParameters = execution.getVariable(Prefix + "serviceParameters")
+ JSONObject inputParameters = execution.getVariable(Prefix + "ServiceParameters")
inputParameters.put("access-provider-id", accessProviderId)
inputParameters.put("access-client-id", accessClientId)
inputParameters.put("access-topology-id", accessTopologyId)
inputParameters.put("access-node-id", accessNodeId)
inputParameters.put("access-ltp-id", accessLtpId)
- execution.setVariable(Prefix + "serviceParameters", inputParameters)
+ execution.setVariable(Prefix + "ServiceParameters", inputParameters)
}
- utils.log("INFO", "Exited " + allocateCrossONAPResource, isDebugEnabled)
+ msoLogger.info("Exit " + allocateCrossONAPResource)
}
public void prepare3rdONAPRequest(DelegateExecution execution) {
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
- utils.log("INFO"," ***** Started prepare3rdONAPRequest *****", isDebugEnabled)
+ msoLogger.info(" ***** Started prepare3rdONAPRequest *****")
- String sppartnerUrl = execution.getVariable(Prefix + "sppartnerUrl")
+ String sppartnerUrl = execution.getVariable(Prefix + "SppartnerUrl")
String extAPIPath = sppartnerUrl + 'serviceOrder'
execution.setVariable("ExternalAPIURL", extAPIPath)
// ExternalAPI message format
String externalId = execution.getVariable("resourceName")
- String category = "Network Service"
+ String category = "E2E Service"
String description = "Service Order from SPPartner"
String requestedStartDate = utils.generateCurrentTimeInUtc()
String requestedCompletionDate = utils.generateCurrentTimeInUtc()
@@ -352,17 +352,17 @@ public class Create3rdONAPE2EServiceInstance extends AbstractServiceTaskProcesso
ExternalAPIUtil externalAPIUtil = new ExternalAPIUtil(this)
- // insert CallSource='3rdONAP' to uuiRequest
+ // insert CallSource='ExternalAPI' to uuiRequest
Map<String, String> callSourceMap = new HashMap<>()
callSourceMap.put("inputName", "CallSource")
- callSourceMap.put("inputValue", "3rdONAP")
+ callSourceMap.put("inputValue", "ExternalAPI")
String _requestInputs_ = externalAPIUtil.setTemplate(ExternalAPIUtil.RequestInputsTemplate, callSourceMap)
// Transfer all uuiRequest incomeParameters to ExternalAPI format
- JSONObject inputParameters = execution.getVariable(Prefix + "serviceParameters")
+ JSONObject inputParameters = execution.getVariable(Prefix + "ServiceParameters")
for(String key : inputParameters.keySet()) {
- String inputName = key;
- String inputValue = inputParameters.opt(key);
+ String inputName = key
+ String inputValue = inputParameters.opt(key)
Map<String, String> requestInputsMap = new HashMap<>()
requestInputsMap.put("inputName", '"' + inputName+ '"')
requestInputsMap.put("inputValue", '"' + inputValue + '"')
@@ -371,49 +371,49 @@ public class Create3rdONAPE2EServiceInstance extends AbstractServiceTaskProcesso
valueMap.put("_requestInputs_", _requestInputs_)
String payload = externalAPIUtil.setTemplate(ExternalAPIUtil.PostServiceOrderRequestsTemplate, valueMap)
- execution.setVariable(Prefix + "payload", payload)
- utils.log("INFO", "Exited " + prepare3rdONAPRequest, isDebugEnabled)
+ execution.setVariable(Prefix + "Payload", payload)
+ msoLogger.info("Exit " + prepare3rdONAPRequest)
}
public void doCreateE2ESIin3rdONAP(DelegateExecution execution) {
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
- utils.log("INFO"," ***** Started doCreateE2ESIin3rdONAP *****", isDebugEnabled)
+ msoLogger.info(" ***** Started doCreateE2ESIin3rdONAP *****")
String extAPIPath = execution.getVariable("ExternalAPIURL")
- String payload = execution.getVariable(Prefix + "payload")
+ String payload = execution.getVariable(Prefix + "Payload")
ExternalAPIUtil externalAPIUtil = new ExternalAPIUtil(this)
APIResponse response = externalAPIUtil.executeExternalAPIPostCall(execution, extAPIPath, payload)
int responseCode = response.getStatusCode()
- execution.setVariable(Prefix + "postServiceOrderResponseCode", responseCode)
- utils.log("DEBUG", "Post ServiceOrder response code is: " + responseCode, isDebugEnabled)
+ execution.setVariable(Prefix + "PostServiceOrderResponseCode", responseCode)
+ msoLogger.debug("Post ServiceOrder response code is: " + responseCode)
String extApiResponse = response.getResponseBodyAsString()
JSONObject responseObj = new JSONObject(extApiResponse)
- execution.setVariable(Prefix + "postServiceOrderResponse", extApiResponse)
+ execution.setVariable(Prefix + "PostServiceOrderResponse", extApiResponse)
//Process Response
if(responseCode == 200 || responseCode == 201 || responseCode == 202 )
//200 OK 201 CREATED 202 ACCEPTED
{
- utils.log("DEBUG", "Post ServiceOrder Received a Good Response", isDebugEnabled)
+ msoLogger.debug("Post ServiceOrder Received a Good Response")
String serviceOrderId = responseObj.get("ServiceOrderId")
execution.setVariable(Prefix + "SuccessIndicator", true)
execution.setVariable("serviceOrderId", serviceOrderId)
}
else{
- utils.log("DEBUG", "Post ServiceOrder Received a Bad Response Code. Response Code is: " + responseCode, isDebugEnabled)
+ msoLogger.debug("Post ServiceOrder Received a Bad Response Code. Response Code is: " + responseCode)
exceptionUtil.buildAndThrowWorkflowException(execution, 500, "Post ServiceOrder Received a bad response from 3rdONAP External API")
}
- utils.log("INFO", "Exited " + doCreateE2ESIin3rdONAP, isDebugEnabled)
+ msoLogger.info("Exit " + doCreateE2ESIin3rdONAP)
}
public void getE2ESIProgressin3rdONAP(DelegateExecution execution) {
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
- utils.log("INFO"," ***** Started getE2ESIProgressin3rdONAP *****", isDebugEnabled)
+ msoLogger.info(" ***** Started getE2ESIProgressin3rdONAP *****")
String extAPIPath = execution.getVariable("ExternalAPIURL")
extAPIPath += "/" + execution.getVariable("ServiceOrderId")
@@ -423,17 +423,17 @@ public class Create3rdONAPE2EServiceInstance extends AbstractServiceTaskProcesso
APIResponse response = externalAPIUtil.executeExternalAPIGetCall(execution, extAPIPath)
int responseCode = response.getStatusCode()
- execution.setVariable(Prefix + "getServiceOrderResponseCode", responseCode)
- utils.log("DEBUG", "Get ServiceOrder response code is: " + responseCode, isDebugEnabled)
+ execution.setVariable(Prefix + "GetServiceOrderResponseCode", responseCode)
+ msoLogger.debug("Get ServiceOrder response code is: " + responseCode)
String extApiResponse = response.getResponseBodyAsString()
JSONObject responseObj = new JSONObject(extApiResponse)
- execution.setVariable(Prefix + "getServiceOrderResponse", extApiResponse)
+ execution.setVariable(Prefix + "GetServiceOrderResponse", extApiResponse)
//Process Response //200 OK 201 CREATED 202 ACCEPTED
if(responseCode == 200 || responseCode == 201 || responseCode == 202 )
{
- utils.log("DEBUG", "Get ServiceOrder Received a Good Response", isDebugEnabled)
+ msoLogger.debug("Get ServiceOrder Received a Good Response")
String serviceOrderState = responseObj.get("State")
execution.setVariable(Prefix + "SuccessIndicator", true)
execution.setVariable("serviceOrderState", serviceOrderState)
@@ -463,14 +463,14 @@ public class Create3rdONAPE2EServiceInstance extends AbstractServiceTaskProcesso
execution.setVariable("statusDescription", "Create Service Order Status is " + serviceOrderState)
}
else{
- utils.log("DEBUG", "Get ServiceOrder Received a Bad Response Code. Response Code is: " + responseCode, isDebugEnabled)
+ msoLogger.debug("Get ServiceOrder Received a Bad Response Code. Response Code is: " + responseCode)
execution.setVariable("progress", 100)
execution.setVariable("status", "error")
execution.setVariable("statusDescription", "Get ServiceOrder Received a bad response")
exceptionUtil.buildAndThrowWorkflowException(execution, 500, "Get ServiceOrder Received a bad response from 3rdONAP External API")
}
- utils.log("INFO", "Exited " + getE2ESIProgressin3rdONAP, isDebugEnabled)
+ msoLogger.info("Exit " + getE2ESIProgressin3rdONAP)
}
/**
@@ -479,18 +479,19 @@ public class Create3rdONAPE2EServiceInstance extends AbstractServiceTaskProcesso
public void timeDelay(DelegateExecution execution) {
def isDebugEnabled= execution.getVariable("isDebugLogEnabled")
try {
- Thread.sleep(5000);
+ Thread.sleep(5000)
} catch(InterruptedException e) {
- utils.log("ERROR", "Time Delay exception" + e , isDebugEnabled)
+ utils.log("ERROR", "Time Delay exception" + e )
}
}
public void saveSPPartnerInAAI(DelegateExecution execution) {
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
- utils.log("INFO"," ***** Started postCreateE2ESIin3rdONAP *****", isDebugEnabled)
+ msoLogger.info(" ***** Started postCreateE2ESIin3rdONAP *****")
String sppartnerId = UUID.randomUUID().toString()
- String sppartnerUrl = execution.getVariable(Prefix + "sppartnerUrl")
+ String sppartnerUrl = execution.getVariable(Prefix + "SppartnerUrl")
+ String callSource = execution.getVariable(Prefix + "CallSource")
String serviceInstanceId = execution.getVariable("serviceInstanceId")
AaiUtil aaiUriUtil = new AaiUtil(this)
@@ -501,6 +502,7 @@ public class Create3rdONAPE2EServiceInstance extends AbstractServiceTaskProcesso
"""<sp-partner xmlns=\"${namespace}\">
<id>${sppartnerId}</id>
<url>${sppartnerUrl}</url>
+ <callSource>${callSource}</callSource>
<service-instance>
<service-instance-id>${serviceInstanceId}</service-instance-id>
</service-instance>
@@ -512,28 +514,28 @@ public class Create3rdONAPE2EServiceInstance extends AbstractServiceTaskProcesso
APIResponse response = aaiUriUtil.executeAAIPutCall(execution, serviceAaiPath, payload)
int responseCode = response.getStatusCode()
- execution.setVariable(Prefix + "putSppartnerResponseCode", responseCode)
- utils.log("DEBUG", " Put sppartner response code is: " + responseCode, isDebugEnabled)
+ execution.setVariable(Prefix + "PutSppartnerResponseCode", responseCode)
+ msoLogger.debug(" Put sppartner response code is: " + responseCode)
String aaiResponse = response.getResponseBodyAsString()
aaiResponse = StringEscapeUtils.unescapeXml(aaiResponse)
- execution.setVariable(Prefix + "putSppartnerResponse", aaiResponse)
+ execution.setVariable(Prefix + "PutSppartnerResponse", aaiResponse)
//Process Response
if(responseCode == 200 || responseCode == 201 || responseCode == 202 )
//200 OK 201 CREATED 202 ACCEPTED
{
- utils.log("DEBUG", "PUT sppartner Received a Good Response", isDebugEnabled)
+ msoLogger.debug("PUT sppartner Received a Good Response")
execution.setVariable(Prefix + "SuccessIndicator", true)
}
else
{
- utils.log("DEBUG", "Put sppartner Received a Bad Response Code. Response Code is: " + responseCode, isDebugEnabled)
+ msoLogger.debug("Put sppartner Received a Bad Response Code. Response Code is: " + responseCode)
exceptionUtil.MapAAIExceptionToWorkflowExceptionGeneric(execution, aaiResponse, responseCode)
throw new BpmnError("MSOWorkflowException")
}
- utils.log("INFO", "Exited " + saveSPPartnerInAAI, isDebugEnabled)
+ msoLogger.info("Exit " + saveSPPartnerInAAI)
}
private void setProgressUpdateVariables(DelegateExecution execution, String body) {
@@ -544,48 +546,48 @@ public class Create3rdONAPE2EServiceInstance extends AbstractServiceTaskProcesso
public void postProcess(DelegateExecution execution){
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
- utils.log("INFO"," ***** Started postProcess *****", isDebugEnabled)
- String responseCode = execution.getVariable(Prefix + "putSppartnerResponseCode")
- String responseObj = execution.getVariable(Prefix + "putSppartnerResponse")
+ msoLogger.info(" ***** Started postProcess *****")
+ String responseCode = execution.getVariable(Prefix + "PutSppartnerResponseCode")
+ String responseObj = execution.getVariable(Prefix + "PutSppartnerResponse")
- utils.log("INFO","response from AAI for put sppartner, response code :" + responseCode + " response object :" + responseObj, isDebugEnabled)
- utils.log("INFO"," ***** Exit postProcess *****", isDebugEnabled)
+ msoLogger.info("response from AAI for put sppartner, response code :" + responseCode + " response object :" + responseObj)
+ msoLogger.info(" ***** Exit postProcess *****")
}
public void sendSyncResponse (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
- utils.log("DEBUG", " *** sendSyncResponse *** ", isDebugEnabled)
+ msoLogger.debug(" *** sendSyncResponse *** ")
try {
String operationStatus = "finished"
// RESTResponse for main flow
String resourceOperationResp = """{"operationStatus":"${operationStatus}"}""".trim()
- utils.log("DEBUG", " sendSyncResponse to APIH:" + "\n" + resourceOperationResp, isDebugEnabled)
+ msoLogger.debug(" sendSyncResponse to APIH:" + "\n" + resourceOperationResp)
sendWorkflowResponse(execution, 202, resourceOperationResp)
execution.setVariable("sentSyncResponse", true)
} catch (Exception ex) {
String msg = "Exceptuion in sendSyncResponse:" + ex.getMessage()
- utils.log("DEBUG", msg, isDebugEnabled)
+ msoLogger.debug(msg)
exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg)
}
- utils.log("DEBUG"," ***** Exit sendSyncResopnse *****", isDebugEnabled)
+ msoLogger.debug(" ***** Exit sendSyncResopnse *****")
}
String customizeResourceParam(String inputParametersJson) {
- List<Map<String, Object>> paramList = new ArrayList();
- JSONObject jsonObject = new JSONObject(inputParametersJson);
- Iterator iterator = jsonObject.keys();
+ List<Map<String, Object>> paramList = new ArrayList()
+ JSONObject jsonObject = new JSONObject(inputParametersJson)
+ Iterator iterator = jsonObject.keys()
while (iterator.hasNext()) {
- String key = iterator.next();
- HashMap<String, String> hashMap = new HashMap();
- hashMap.put("name", key);
+ String key = iterator.next()
+ HashMap<String, String> hashMap = new HashMap()
+ hashMap.put("name", key)
hashMap.put("value", jsonObject.get(key))
paramList.add(hashMap)
}
- Map<String, List<Map<String, Object>>> paramMap = new HashMap();
- paramMap.put("param", paramList);
+ Map<String, List<Map<String, Object>>> paramMap = new HashMap()
+ paramMap.put("param", paramList)
- return new JSONObject(paramMap).toString();
+ return new JSONObject(paramMap).toString()
}
}
diff --git a/bpmn/so-bpmn-infrastructure-flows/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/Delete3rdONAPE2EServiceInstance.groovy b/bpmn/so-bpmn-infrastructure-flows/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/Delete3rdONAPE2EServiceInstance.groovy
new file mode 100644
index 0000000000..122fd50d61
--- /dev/null
+++ b/bpmn/so-bpmn-infrastructure-flows/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/Delete3rdONAPE2EServiceInstance.groovy
@@ -0,0 +1,517 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * OPENECOMP - SO
+ * ================================================================================
+ * Copyright (C) 2018 Huawei Technologies Co., Ltd. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License")
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.so.bpmn.infrastructure.scripts
+
+import org.json.JSONObject
+import org.json.XML
+
+import static org.apache.commons.lang3.StringUtils.*
+import groovy.xml.XmlUtil
+import groovy.json.*
+import org.onap.so.bpmn.common.scripts.AbstractServiceTaskProcessor
+import org.onap.so.bpmn.common.scripts.ExceptionUtil
+import org.onap.so.bpmn.common.scripts.ExternalAPIUtil
+import org.onap.so.bpmn.common.scripts.AaiUtil
+import org.onap.so.bpmn.common.scripts.MsoUtils
+import org.onap.so.bpmn.common.recipe.ResourceInput
+import org.onap.so.bpmn.common.resource.ResourceRequestBuilder
+import org.onap.so.bpmn.core.WorkflowException
+import org.onap.so.bpmn.core.json.JsonUtils
+import org.onap.so.bpmn.infrastructure.workflow.serviceTask.client.builder.AbstractBuilder
+import org.onap.so.rest.APIResponse
+import org.onap.so.bpmn.common.scripts.SDNCAdapterUtils
+import org.onap.so.bpmn.infrastructure.workflow.service.ServicePluginFactory
+import java.util.UUID
+
+import org.camunda.bpm.engine.runtime.Execution
+import org.camunda.bpm.engine.delegate.BpmnError
+import org.camunda.bpm.engine.delegate.DelegateExecution
+import org.apache.commons.lang3.*
+import org.apache.commons.codec.binary.Base64
+import org.springframework.web.util.UriUtils
+import org.onap.so.rest.RESTClient
+import org.onap.so.rest.RESTConfig
+
+/**
+ * This groovy class supports the <class>Delete3rdONAPE2EServiceInstance.bpmn</class> process.
+ * flow for Delete E2EServiceInstance in 3rdONAP
+ */
+public class Delete3rdONAPE2EServiceInstance extends AbstractServiceTaskProcessor {
+
+ String Prefix="CRE3rdONAPESI_"
+
+ ExceptionUtil exceptionUtil = new ExceptionUtil()
+
+ JsonUtils jsonUtil = new JsonUtils()
+
+ public void checkSPPartnerInfoFromAAI (DelegateExecution execution) {
+ def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
+ utils.log("INFO"," ***** Started checkSPPartnerInfo *****", isDebugEnabled)
+ try {
+ //get bpmn inputs from resource request.
+ String requestId = execution.getVariable("mso-request-id")
+ String requestAction = execution.getVariable("requestAction")
+ utils.log("INFO","The requestAction is: " + requestAction, isDebugEnabled)
+ String recipeParamsFromRequest = execution.getVariable("recipeParams")
+ utils.log("INFO","The recipeParams is: " + recipeParamsFromRequest, isDebugEnabled)
+ String resourceInput = execution.getVariable("resourceInput")
+ utils.log("INFO","The resourceInput is: " + resourceInput, isDebugEnabled)
+ //Get ResourceInput Object
+ ResourceInput resourceInputObj = ResourceRequestBuilder.getJsonObject(resourceInput, ResourceInput.class)
+ // set local resourceInput
+ execution.setVariable(Prefix + "ResourceInput", resourceInputObj)
+
+ String resourceInstanceId = resourceInputObj.getResourceInstancenUuid()
+ String sppartnerId = resourceInstanceId
+ execution.setVariable(Prefix + "SppartnerId", sppartnerId)
+ utils.log("INFO", "sppartnerId:" + sppartnerId, isDebugEnabled)
+
+ // Get Sppartner from AAI
+ AaiUtil aaiUriUtil = new AaiUtil(this)
+ String aai_uri = aaiUriUtil.getBusinessSPPartnerUri(execution)
+ String namespace = aaiUriUtil.getNamespaceFromUri(aai_uri)
+ String aai_endpoint = execution.getVariable("URN_aai_endpoint")
+ String serviceAaiPath = "${aai_endpoint}${aai_uri}/" + UriUtils.encode(sppartnerId,"UTF-8")
+ execution.setVariable(Prefix + "serviceAaiPath", serviceAaiPath)
+
+ getSPPartnerInAAI(execution)
+
+ String callSource = "UUI"
+ String sppartnerUrl = ""
+ String sppartnerVersion = ""
+ if(execution.getVariable(Prefix + "SuccessIndicator")) {
+ callSource = execution.getVariable(Prefix + "CallSource")
+ sppartnerId = execution.getVariable(Prefix + "SppartnerId")
+ sppartnerUrl = execution.getVariable(Prefix + "SppartnerUrl")
+ sppartnerVersion = execution.getVariable(Prefix + "SppartnerVersion")
+ }
+
+ boolean is3rdONAPExist = false
+ if(!isBlank(sppartnerUrl)) {
+ is3rdONAPExist = true
+ }
+
+ execution.setVariable("Is3rdONAPExist", is3rdONAPExist)
+ execution.setVariable(Prefix + "ServiceInstanceId", resourceInputObj.getServiceInstanceId())
+ execution.setVariable("mso-request-id", requestId)
+ execution.setVariable("mso-service-instance-id", resourceInputObj.getServiceInstanceId())
+
+ } catch (BpmnError e) {
+ throw e
+ } catch (Exception ex){
+ String msg = "Exception in checkSPPartnerInfoFromAAI " + ex.getMessage()
+ utils.log("DEBUG", msg, isDebugEnabled)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg)
+ }
+ }
+
+ public void checkLocallCall (DelegateExecution execution) {
+ def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
+ utils.log("INFO"," ***** Started checkLocallCall *****", isDebugEnabled)
+
+ boolean isLocalCall = true
+ String callSource = execution.getVariable(Prefix + "CallSource")
+ if("ExternalAPI".equalsIgnoreCase(callSource)) {
+ isLocalCall = false
+ }
+ execution.setVariable("IsLocalCall", isLocalCall)
+ }
+
+ public void preProcessRequest(DelegateExecution execution){
+ def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
+ utils.log("INFO"," ***** Started preProcessRequest *****", isDebugEnabled)
+ try {
+ ResourceInput resourceInputObj = execution.getVariable(Prefix + "resourceInput")
+ String msg = ""
+
+ String globalSubscriberId = resourceInputObj.getGlobalSubscriberId()
+ if (isBlank(globalSubscriberId)) {
+ msg = "Input globalSubscriberId is null"
+ utils.log("INFO", msg, isDebugEnabled)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 500, msg)
+ }
+ //set local variable
+ execution.setVariable("globalSubscriberId", globalSubscriberId)
+ utils.log("INFO", "globalSubscriberId:" + globalSubscriberId, isDebugEnabled)
+
+ String serviceType = resourceInputObj.getServiceType()
+ if (isBlank(serviceType)) {
+ msg = "Input serviceType is null"
+ utils.log("INFO", msg, isDebugEnabled)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 500, msg)
+ }
+ execution.setVariable("serviceType", serviceType)
+ utils.log("INFO", "serviceType:" + serviceType, isDebugEnabled)
+
+ String operationId = resourceInputObj.getOperationId()
+ if (isBlank(operationId)) {
+ msg = "Input operationId is null"
+ utils.log("INFO", msg, isDebugEnabled)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 500, msg)
+ }
+ execution.setVariable("operationId", operationId)
+ utils.log("INFO", "operationId:" + operationId, isDebugEnabled)
+
+ String resourceName = resourceInputObj.getResourceInstanceName()
+ if (isBlank(resourceName)) {
+ msg = "Input resourceName is null"
+ utils.log("INFO", msg, isDebugEnabled)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 500, msg)
+ }
+ execution.setVariable("resourceName", resourceName)
+ utils.log("INFO", "resourceInstanceId:" + resourceName, isDebugEnabled)
+
+ String resourceTemplateId = resourceInputObj.getResourceModelInfo().getModelCustomizationUuid()
+ if (isBlank(resourceTemplateId)) {
+ msg = "Input resourceTemplateId is null"
+ utils.log("INFO", msg, isDebugEnabled)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 500, msg)
+ }
+ execution.setVariable("resourceTemplateId", resourceTemplateId)
+ utils.log("INFO", "resourceTemplateId:" + resourceTemplateId, isDebugEnabled)
+
+ } catch (BpmnError e) {
+ throw e
+ } catch (Exception ex){
+ String msg = "Exception in preProcessRequest " + ex.getMessage()
+ utils.log("DEBUG", msg, isDebugEnabled)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg)
+ }
+ }
+
+ public void prepareUpdateProgress(DelegateExecution execution) {
+ def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
+ utils.log("INFO"," ***** Started prepareUpdateProgress *****", isDebugEnabled)
+ ResourceInput resourceInputObj = execution.getVariable(Prefix + "ResourceInput")
+ String operType = resourceInputObj.getOperationType()
+ String resourceCustomizationUuid = resourceInputObj.getResourceModelInfo().getModelCustomizationUuid()
+ String ServiceInstanceId = resourceInputObj.getServiceInstanceId()
+ String modelName = resourceInputObj.getResourceModelInfo().getModelName()
+ String operationId = resourceInputObj.getOperationId()
+ String progress = execution.getVariable("progress")
+ String status = execution.getVariable("status")
+ String statusDescription = execution.getVariable("statusDescription")
+
+ String body = """
+ <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:ns="http://org.openecomp.mso/requestsdb">
+ <soapenv:Header/>
+ <soapenv:Body>
+ <ns:updateResourceOperationStatus>
+ <operType>${operType}</operType>
+ <operationId>${operationId}</operationId>
+ <progress>${progress}</progress>
+ <resourceTemplateUUID>${resourceCustomizationUuid}</resourceTemplateUUID>
+ <serviceId>${ServiceInstanceId}</serviceId>
+ <status>${status}</status>
+ <statusDescription>${statusDescription}</statusDescription>
+ </ns:updateResourceOperationStatus>
+ </soapenv:Body>
+ </soapenv:Envelope>"""
+
+ setProgressUpdateVariables(execution, body)
+ utils.log("INFO"," ***** End prepareUpdateProgress *****", isDebugEnabled)
+ }
+
+ public void prepare3rdONAPRequest(DelegateExecution execution) {
+ def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
+ utils.log("INFO"," ***** Started prepare3rdONAPRequest *****", isDebugEnabled)
+
+ String sppartnerUrl = execution.getVariable(Prefix + "SppartnerUrl")
+ String extAPIPath = sppartnerUrl + 'serviceOrder'
+ execution.setVariable("ExternalAPIURL", extAPIPath)
+
+ // ExternalAPI message format
+ String externalId = execution.getVariable("resourceName")
+ String category = "E2E Service"
+ String description = "Service Order from SPPartner"
+ String requestedStartDate = utils.generateCurrentTimeInUtc()
+ String requestedCompletionDate = utils.generateCurrentTimeInUtc()
+ String priority = "1" // 0-4 0:highest
+ String subscriberId = execution.getVariable("globalSubscriberId")
+ String customerRole = ""
+ String subscriberName = ""
+ String referredType = execution.getVariable("serviceType")
+ String orderItemId = "1"
+ String action = "delete" //for delete
+ String serviceState = "active"
+ String serviceName = ""
+ String serviceId = execution.getVariable(Prefix + "ServiceInstanceId")
+
+ Map<String, String> valueMap = new HashMap<>()
+ valueMap.put("externalId", '"' + externalId + '"')
+ valueMap.put("category", '"' + category + '"')
+ valueMap.put("description", '"' + description + '"')
+ valueMap.put("requestedStartDate", '"' + requestedStartDate + '"')
+ valueMap.put("requestedCompletionDate", '"' + requestedCompletionDate + '"')
+ valueMap.put("priority", '"'+ priority + '"')
+ valueMap.put("subscriberId", '"' + subscriberId + '"')
+ valueMap.put("customerRole", '"' + customerRole + '"')
+ valueMap.put("subscriberName", '"' + subscriberName + '"')
+ valueMap.put("referredType", '"' + referredType + '"')
+ valueMap.put("orderItemId", '"' + orderItemId + '"')
+ valueMap.put("action", '"' + action + '"')
+ valueMap.put("serviceState", '"' + serviceState + '"')
+ valueMap.put("serviceName", '"' + serviceName + '"')
+ valueMap.put("serviceId", '"' + serviceId + '"')
+
+ ExternalAPIUtil externalAPIUtil = new ExternalAPIUtil(this)
+
+ valueMap.put("_requestInputs_", "")
+
+ String payload = externalAPIUtil.setTemplate(ExternalAPIUtil.PostServiceOrderRequestsTemplate, valueMap)
+ execution.setVariable(Prefix + "Payload", payload)
+ utils.log("INFO", "Exit " + prepare3rdONAPRequest, isDebugEnabled)
+ }
+
+ public void doDeleteE2ESIin3rdONAP(DelegateExecution execution) {
+ def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
+ utils.log("INFO"," ***** Started doDeleteE2ESIin3rdONAP *****", isDebugEnabled)
+
+ String extAPIPath = execution.getVariable("ExternalAPIURL")
+ String payload = execution.getVariable(Prefix + "Payload")
+
+ ExternalAPIUtil externalAPIUtil = new ExternalAPIUtil(this)
+
+ APIResponse response = externalAPIUtil.executeExternalAPIPostCall(execution, extAPIPath, payload)
+
+ int responseCode = response.getStatusCode()
+ execution.setVariable(Prefix + "postServiceOrderResponseCode", responseCode)
+ utils.log("DEBUG", "Post ServiceOrder response code is: " + responseCode, isDebugEnabled)
+
+ String extApiResponse = response.getResponseBodyAsString()
+ JSONObject responseObj = new JSONObject(extApiResponse)
+ execution.setVariable(Prefix + "postServiceOrderResponse", extApiResponse)
+ //Process Response
+ if(responseCode == 200 || responseCode == 201 || responseCode == 202 )
+ //200 OK 201 CREATED 202 ACCEPTED
+ {
+ utils.log("DEBUG", "Post ServiceOrder Received a Good Response", isDebugEnabled)
+ String serviceOrderId = responseObj.get("ServiceOrderId")
+ execution.setVariable(Prefix + "SuccessIndicator", true)
+ execution.setVariable("serviceOrderId", serviceOrderId)
+ }
+ else{
+ utils.log("DEBUG", "Post ServiceOrder Received a Bad Response Code. Response Code is: " + responseCode, isDebugEnabled)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 500, "Post ServiceOrder Received a bad response from 3rdONAP External API")
+ }
+
+ utils.log("INFO", "Exit " + doDeleteE2ESIin3rdONAP, isDebugEnabled)
+ }
+
+
+ public void getE2ESIProgressin3rdONAP(DelegateExecution execution) {
+ def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
+ utils.log("INFO"," ***** Started getE2ESIProgressin3rdONAP *****", isDebugEnabled)
+
+ String extAPIPath = execution.getVariable("ExternalAPIURL")
+ extAPIPath += "/" + execution.getVariable("ServiceOrderId")
+
+ ExternalAPIUtil externalAPIUtil = new ExternalAPIUtil(this)
+
+ APIResponse response = externalAPIUtil.executeExternalAPIGetCall(execution, extAPIPath)
+
+ int responseCode = response.getStatusCode()
+ execution.setVariable(Prefix + "getServiceOrderResponseCode", responseCode)
+ utils.log("DEBUG", "Get ServiceOrder response code is: " + responseCode, isDebugEnabled)
+
+ String extApiResponse = response.getResponseBodyAsString()
+ JSONObject responseObj = new JSONObject(extApiResponse)
+ execution.setVariable(Prefix + "getServiceOrderResponse", extApiResponse)
+
+ //Process Response //200 OK 201 CREATED 202 ACCEPTED
+ if(responseCode == 200 || responseCode == 201 || responseCode == 202 )
+ {
+ utils.log("DEBUG", "Get ServiceOrder Received a Good Response", isDebugEnabled)
+ String serviceOrderState = responseObj.get("State")
+ execution.setVariable(Prefix + "SuccessIndicator", true)
+ execution.setVariable("serviceOrderState", serviceOrderState)
+
+ // Get serviceOrder State and process progress
+ if("ACKNOWLEDGED".equalsIgnoreCase(serviceOrderState)) {
+ execution.setVariable("progress", 15)
+ execution.setVariable("status", "processing")
+ }
+ if("INPROGRESS".equalsIgnoreCase(serviceOrderState)) {
+ execution.setVariable("progress", 40)
+ execution.setVariable("status", "processing")
+ }
+ if("COMPLETED".equalsIgnoreCase(serviceOrderState)) {
+ execution.setVariable("progress", 100)
+ execution.setVariable("status", "finished")
+ }
+ if("FAILED".equalsIgnoreCase(serviceOrderState)) {
+ execution.setVariable("progress", 100)
+ execution.setVariable("status", "error")
+ }
+ else {
+ execution.setVariable("progress", 100)
+ execution.setVariable("status", "error")
+ execution.setVariable("statusDescription", "Delete Service Order Status is unknown")
+ }
+ execution.setVariable("statusDescription", "Delete Service Order Status is " + serviceOrderState)
+ }
+ else{
+ utils.log("DEBUG", "Get ServiceOrder Received a Bad Response Code. Response Code is: " + responseCode, isDebugEnabled)
+ execution.setVariable("progress", 100)
+ execution.setVariable("status", "error")
+ execution.setVariable("statusDescription", "Get ServiceOrder Received a bad response")
+ exceptionUtil.buildAndThrowWorkflowException(execution, 500, "Get ServiceOrder Received a bad response from 3rdONAP External API")
+ }
+
+ utils.log("INFO", "Exit " + getE2ESIProgressin3rdONAP, isDebugEnabled)
+ }
+
+ /**
+ * delay 5 sec
+ */
+ public void timeDelay(DelegateExecution execution) {
+ def isDebugEnabled= execution.getVariable("isDebugLogEnabled")
+ try {
+ Thread.sleep(5000)
+ } catch(InterruptedException e) {
+ utils.log("ERROR", "Time Delay exception" + e , isDebugEnabled)
+ }
+ }
+
+ private void getSPPartnerInAAI(DelegateExecution execution) {
+ def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
+ utils.log("INFO"," ***** Started postDeleteE2ESIin3rdONAP *****", isDebugEnabled)
+
+ AaiUtil aaiUriUtil = new AaiUtil(this)
+ String serviceAaiPath = execution.getVariable(Prefix + "serviceAaiPath")
+ APIResponse response = aaiUriUtil.executeAAIGetCall(execution, serviceAaiPath)
+ int responseCode = response.getStatusCode()
+ execution.setVariable(Prefix + "GetSppartnerResponseCode", responseCode)
+ utils.log("DEBUG", " Get sppartner response code is: " + responseCode, isDebugEnabled)
+
+ String aaiResponse = response.getResponseBodyAsString()
+ aaiResponse = StringEscapeUtils.unescapeXml(aaiResponse)
+ aaiResponse = aaiResponse.replaceAll("&", "&amp;")
+ execution.setVariable(Prefix + "GetSppartnerResponse", aaiResponse)
+
+ //Process Response
+ if(responseCode == 200 || responseCode == 201 || responseCode == 202 )
+ //200 OK 201 CREATED 202 ACCEPTED
+ {
+ utils.log("DEBUG", "GET sppartner Received a Good Response", isDebugEnabled)
+ execution.setVariable(Prefix + "SuccessIndicator", true)
+ execution.setVariable(Prefix + "FoundIndicator", true)
+
+ String sppartnerId = utils.getNodeText1(aaiResponse, "sppartner-id")
+ execution.setVariable(Prefix + "SppartnerId", sppartnerId)
+ utils.log("DEBUG", " SppartnerId is: " + sppartnerId, isDebugEnabled)
+ String sppartnerUrl = utils.getNodeText1(aaiResponse, "sppartner-url")
+ execution.setVariable(Prefix + "SppartnerUrl", sppartnerUrl)
+ utils.log("DEBUG", " SppartnerUrl is: " + sppartnerUrl, isDebugEnabled)
+ String callSource = utils.getNodeText1(aaiResponse, "sppartner-callsource")
+ execution.setVariable(Prefix + "CallSource", callSource)
+ utils.log("DEBUG", " CallSource is: " + callSource, isDebugEnabled)
+ String sppartnerVersion = utils.getNodeText1(aaiResponse, "resource-version")
+ execution.setVariable(Prefix + "SppartnerVersion", sppartnerVersion)
+ utils.log("DEBUG", " Resource Version is: " + sppartnerVersion, isDebugEnabled)
+ }
+ else
+ {
+ utils.log("DEBUG", "Get sppartner Received a Bad Response Code. Response Code is: " + responseCode, isDebugEnabled)
+ exceptionUtil.MapAAIExceptionToWorkflowExceptionGeneric(execution, aaiResponse, responseCode)
+ throw new BpmnError("MSOWorkflowException")
+ }
+
+ utils.log("INFO", "Exit " + deleteSPPartnerInAAI, isDebugEnabled)
+ }
+
+ public void deleteSPPartnerInAAI(DelegateExecution execution) {
+ def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
+ utils.log("INFO"," ***** Started postDeleteE2ESIin3rdONAP *****", isDebugEnabled)
+
+ String sppartnerId = execution.getVariable(Prefix + "SppartnerId")
+ String sppartnerUrl = execution.getVariable(Prefix + "sppartnerUrl")
+ String sppartnerVersion = execution.getVariable(Prefix + "sppartnerVersion")
+
+ AaiUtil aaiUriUtil = new AaiUtil(this)
+ String serviceAaiPath = execution.getVariable(Prefix + "serviceAaiPath") + "/${sppartnerVersion}"
+ APIResponse response = aaiUriUtil.executeAAIDeleteCall(execution, serviceAaiPath)
+ int responseCode = response.getStatusCode()
+ execution.setVariable(Prefix + "DeleteSppartnerResponseCode", responseCode)
+ utils.log("DEBUG", " Get sppartner response code is: " + responseCode, isDebugEnabled)
+
+ String aaiResponse = response.getResponseBodyAsString()
+ aaiResponse = StringEscapeUtils.unescapeXml(aaiResponse)
+ execution.setVariable(Prefix + "DeleteSppartnerResponse", aaiResponse)
+
+ //Process Response
+ if(responseCode == 200 || responseCode == 201 || responseCode == 202 )
+ //200 OK 201 CREATED 202 ACCEPTED
+ {
+ utils.log("DEBUG", "Delete sppartner Received a Good Response", isDebugEnabled)
+ execution.setVariable(Prefix + "SuccessIndicator", true)
+ }
+ else if(responseCode == 404){
+ utils.log("DEBUG", " Delete sppartner Received a Not Found (404) Response", isDebugEnabled)
+ execution.setVariable(Prefix + "FoundIndicator", false)
+ }
+ else
+ {
+ utils.log("DEBUG", "Delete sppartner Received a Bad Response Code. Response Code is: " + responseCode, isDebugEnabled)
+ exceptionUtil.MapAAIExceptionToWorkflowExceptionGeneric(execution, aaiResponse, responseCode)
+ throw new BpmnError("MSOWorkflowException")
+ }
+
+ utils.log("INFO", "Exit " + deleteSPPartnerInAAI, isDebugEnabled)
+ }
+
+ private void setProgressUpdateVariables(DelegateExecution execution, String body) {
+ def dbAdapterEndpoint = execution.getVariable("URN_mso_adapters_openecomp_db_endpoint")
+ execution.setVariable("CVFMI_dbAdapterEndpoint", dbAdapterEndpoint)
+ execution.setVariable("CVFMI_updateResOperStatusRequest", body)
+ }
+
+ public void postProcess(DelegateExecution execution){
+ def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
+ utils.log("INFO"," ***** Started postProcess *****", isDebugEnabled)
+ String responseCode = execution.getVariable(Prefix + "putSppartnerResponseCode")
+ String responseObj = execution.getVariable(Prefix + "putSppartnerResponse")
+
+ utils.log("INFO","response from AAI for put sppartner, response code :" + responseCode + " response object :" + responseObj, isDebugEnabled)
+ utils.log("INFO"," ***** Exit postProcess *****", isDebugEnabled)
+ }
+
+ public void sendSyncResponse (DelegateExecution execution) {
+ def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
+ utils.log("DEBUG", " *** sendSyncResponse *** ", isDebugEnabled)
+
+ try {
+ String operationStatus = "finished"
+ // RESTResponse for main flow
+ String resourceOperationResp = """{"operationStatus":"${operationStatus}"}""".trim()
+ utils.log("DEBUG", " sendSyncResponse to APIH:" + "\n" + resourceOperationResp, isDebugEnabled)
+ sendWorkflowResponse(execution, 202, resourceOperationResp)
+ execution.setVariable("sentSyncResponse", true)
+
+ } catch (Exception ex) {
+ String msg = "Exceptuion in sendSyncResponse:" + ex.getMessage()
+ utils.log("DEBUG", msg, isDebugEnabled)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg)
+ }
+ utils.log("DEBUG"," ***** Exit sendSyncResopnse *****", isDebugEnabled)
+ }
+}
diff --git a/bpmn/so-bpmn-infrastructure-flows/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateResources.groovy b/bpmn/so-bpmn-infrastructure-flows/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateResources.groovy
index 9da8a90ca7..9591898ed0 100644
--- a/bpmn/so-bpmn-infrastructure-flows/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateResources.groovy
+++ b/bpmn/so-bpmn-infrastructure-flows/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoCreateResources.groovy
@@ -226,6 +226,7 @@ public class DoCreateResources extends AbstractServiceTaskProcessor{
resourceInput.setResourceModelInfo(currentResource.getModelInfo());
ServiceDecomposition serviceDecomposition = execution.getVariable("serviceDecomposition")
resourceInput.setServiceModelInfo(serviceDecomposition.getModelInfo());
+ def String resourceCustomizationUuid = currentResource.getModelInfo().getModelCustomizationUuid();
String incomingRequest = execution.getVariable("uuiRequest")
//set the requestInputs from tempalte To Be Done
diff --git a/bpmn/so-bpmn-infrastructure-flows/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoDeleteE2EServiceInstance.groovy b/bpmn/so-bpmn-infrastructure-flows/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoDeleteE2EServiceInstance.groovy
index 54dfae3760..6d23ae7c65 100644
--- a/bpmn/so-bpmn-infrastructure-flows/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoDeleteE2EServiceInstance.groovy
+++ b/bpmn/so-bpmn-infrastructure-flows/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoDeleteE2EServiceInstance.groovy
@@ -192,76 +192,93 @@ public class DoDeleteE2EServiceInstance extends AbstractServiceTaskProcessor {
//Confirm there are no related service instances (vnf/network or volume)
if (utils.nodeExists(siData, "relationship-list")) {
utils.log("INFO", "SI Data relationship-list exists:", isDebugEnabled)
- //test(siData)
- NodeList nodeList = serviceXml.getElementsByTagName("relationship")
JSONArray jArray = new JSONArray()
- for (int x = 0; x < nodeList.getLength(); x++) {
- Node node = nodeList.item(x)
- if (node.getNodeType() == Node.ELEMENT_NODE) {
- Element eElement = (Element) node
- def e = eElement.getElementsByTagName("related-to").item(0).getTextContent() //for ns
- if(e.equals("service-instance")){
- def relatedObject = eElement.getElementsByTagName("related-link").item(0).getTextContent()
- utils.log("INFO", "ServiceInstance Related NS :" + relatedObject, isDebugEnabled)
- NodeList dataList = node.getChildNodes()
- if(null != dataList) {
- JSONObject jObj = new JSONObject()
- for (int i = 0; i < dataList.getLength(); i++) {
- Node dNode = dataList.item(i)
- if(dNode.getNodeName() == "relationship-data") {
- Element rDataEle = (Element)dNode
- def eKey = rDataEle.getElementsByTagName("relationship-key").item(0).getTextContent()
- def eValue = rDataEle.getElementsByTagName("relationship-value").item(0).getTextContent()
- if(eKey.equals("service-instance.service-instance-id")){
- jObj.put("resourceInstanceId", eValue)
- }
-
- }
- else if(dNode.getNodeName() == "related-to-property"){
- Element rDataEle = (Element)dNode
- def eKey = rDataEle.getElementsByTagName("property-key").item(0).getTextContent()
- def eValue = rDataEle.getElementsByTagName("property-value").item(0).getTextContent()
- if(eKey.equals("service-instance.service-instance-name")){
- jObj.put("resourceType", eValue)
- }
- }
- }
- utils.log("INFO", "Relationship related to Resource:" + jObj.toString(), isDebugEnabled)
- jArray.put(jObj)
- }
- //for overlay/underlay
- }else if (e.equals("configuration")){
- def relatedObject = eElement.getElementsByTagName("related-link").item(0).getTextContent()
- utils.log("INFO", "ServiceInstance Related Configuration :" + relatedObject, isDebugEnabled)
- NodeList dataList = node.getChildNodes()
- if(null != dataList) {
- JSONObject jObj = new JSONObject()
- for (int i = 0; i < dataList.getLength(); i++) {
- Node dNode = dataList.item(i)
- if(dNode.getNodeName() == "relationship-data") {
- Element rDataEle = (Element)dNode
- def eKey = rDataEle.getElementsByTagName("relationship-key").item(0).getTextContent()
- def eValue = rDataEle.getElementsByTagName("relationship-value").item(0).getTextContent()
- if(eKey.equals("configuration.configuration-id")){
- jObj.put("resourceInstanceId", eValue)
- }
- }
- else if(dNode.getNodeName() == "related-to-property"){
- Element rDataEle = (Element)dNode
- def eKey = rDataEle.getElementsByTagName("property-key").item(0).getTextContent()
- def eValue = rDataEle.getElementsByTagName("property-value").item(0).getTextContent()
- if(eKey.equals("configuration.configuration-type")){
- jObj.put("resourceType", eValue)
- }
- }
- }
- utils.log("INFO", "Relationship related to Resource:" + jObj.toString(), isDebugEnabled)
- jArray.put(jObj)
- }
- }
- }
+
+ XmlParser xmlParser = new XmlParser()
+ Node root = xmlParser.parseText(siData)
+ def relation_list = utils.getChildNode(root, 'relationship-list')
+ def relationships = utils.getIdenticalChildren(relation_list, 'relationship')
+
+ for (def relation: relationships) {
+ def jObj = getRelationShipData(relation, isDebugEnabled)
+ jArray.put(jObj)
}
+
execution.setVariable("serviceRelationShip", jArray.toString())
+
+// //test(siData)
+// NodeList nodeList = serviceXml.getElementsByTagName("relationship")
+// JSONArray jArray = new JSONArray()
+// for (int x = 0; x < nodeList.getLength(); x++) {
+// Node node = nodeList.item(x)
+// if (node.getNodeType() == Node.ELEMENT_NODE) {
+// Element eElement = (Element) node
+// def e = eElement.getElementsByTagName("related-to").item(0).getTextContent() //for ns
+// if(e.equals("service-instance")){
+// def relatedObject = eElement.getElementsByTagName("related-link").item(0).getTextContent()
+// utils.log("INFO", "ServiceInstance Related NS :" + relatedObject, isDebugEnabled)
+// NodeList dataList = node.getChildNodes()
+// if(null != dataList) {
+// JSONObject jObj = new JSONObject()
+// for (int i = 0; i < dataList.getLength(); i++) {
+// Node dNode = dataList.item(i)
+// if(dNode.getNodeName() == "relationship-data") {
+// Element rDataEle = (Element)dNode
+// def eKey = rDataEle.getElementsByTagName("relationship-key").item(0).getTextContent()
+// def eValue = rDataEle.getElementsByTagName("relationship-value").item(0).getTextContent()
+// if(eKey.equals("service-instance.service-instance-id")){
+// jObj.put("resourceInstanceId", eValue)
+// }
+//
+// }
+// else if(dNode.getNodeName() == "related-to-property"){
+// Element rDataEle = (Element)dNode
+// def eKey = rDataEle.getElementsByTagName("property-key").item(0).getTextContent()
+// def eValue = rDataEle.getElementsByTagName("property-value").item(0).getTextContent()
+// if(eKey.equals("service-instance.service-instance-name")){
+// jObj.put("resourceType", eValue)
+// }
+// }
+// }
+// utils.log("INFO", "Relationship related to Resource:" + jObj.toString(), isDebugEnabled)
+// jArray.put(jObj)
+// }
+// //for overlay/underlay
+// }else if (e.equals("configuration")){
+// def relatedObject = eElement.getElementsByTagName("related-link").item(0).getTextContent()
+// utils.log("INFO", "ServiceInstance Related Configuration :" + relatedObject, isDebugEnabled)
+// NodeList dataList = node.getChildNodes()
+// if(null != dataList) {
+// JSONObject jObj = new JSONObject()
+// for (int i = 0; i < dataList.getLength(); i++) {
+// Node dNode = dataList.item(i)
+// if(dNode.getNodeName() == "relationship-data") {
+// Element rDataEle = (Element)dNode
+// def eKey = rDataEle.getElementsByTagName("relationship-key").item(0).getTextContent()
+// def eValue = rDataEle.getElementsByTagName("relationship-value").item(0).getTextContent()
+// if(eKey.equals("configuration.configuration-id")){
+// jObj.put("resourceInstanceId", eValue)
+// }
+// }
+// else if(dNode.getNodeName() == "related-to-property"){
+// Element rDataEle = (Element)dNode
+// def eKey = rDataEle.getElementsByTagName("property-key").item(0).getTextContent()
+// def eValue = rDataEle.getElementsByTagName("property-value").item(0).getTextContent()
+// if(eKey.equals("configuration.configuration-type")){
+// jObj.put("resourceType", eValue)
+// }
+// }
+// }
+// utils.log("INFO", "Relationship related to Resource:" + jObj.toString(), isDebugEnabled)
+// jArray.put(jObj)
+// }
+// // for SP-Partner
+// }else if (e.equals("sp-partner")){
+//
+// }
+// }
+// }
+// execution.setVariable("serviceRelationShip", jArray.toString())
}
}
}else{
@@ -292,6 +309,50 @@ public class DoDeleteE2EServiceInstance extends AbstractServiceTaskProcessor {
}
utils.log("INFO"," *** Exit postProcessAAIGET *** ", isDebugEnabled)
}
+
+ private JSONObject getRelationShipData(node, isDebugEnabled){
+ JSONObject jObj = new JSONObject()
+
+ def relation = utils.nodeToString(node)
+ def rt = utils.getNodeText1(relation, "related-to")
+
+ def rl = utils.getNodeText1(relation, "related-link")
+ utils.log("INFO", "ServiceInstance Related NS/Configuration :" + rl, isDebugEnabled)
+
+ def rl_datas = utils.getIdenticalChildren(node, "relationship-data")
+ for(def rl_data : rl_datas) {
+ def eKey = utils.getChildNodeText(rl_data, "relationship-key")
+ def eValue = utils.getChildNodeText(rl_data, "relationship-value")
+
+ if ((rt == "service-instance" && eKey.equals("service-instance.service-instance-id"))
+ //for overlay/underlay
+ || (rt == "configuration" && eKey.equals("configuration.configuration-id")
+ )){
+ jObj.put("resourceInstanceId", eValue)
+ }
+ // for sp-partner
+ if(rt == "sp-partner" && eKey.equals("sp-partner.id")) {
+ jObj.put("resourceInstanceId", eValue)
+ String sppartnerName = "sp-partner" + eValue
+ jObj.put("resourceType", sppartnerName)
+ }
+ }
+
+ def rl_props = utils.getIdenticalChildren(node, "related-to-property")
+ for(def rl_prop : rl_props) {
+ def eKey = utils.getChildNodeText(rl_prop, "property-key")
+ def eValue = utils.getChildNodeText(rl_prop, "property-value")
+ if((rt == "service-instance" && eKey.equals("service-instance.service-instance-name"))
+ //for overlay/underlay
+ || (rt == "configuration" && eKey.equals("configuration.configuration-type"))){
+ jObj.put("resourceType", eValue)
+ }
+ }
+
+ utils.log("INFO", "Relationship related to Resource:" + jObj.toString(), isDebugEnabled)
+
+ return jObj
+ }
public void getCurrentNS(DelegateExecution execution){
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
diff --git a/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/Delete3rdONAPE2EServiceInstance.bpmn b/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/Delete3rdONAPE2EServiceInstance.bpmn
index 116a8a6fb6..0c1fb77639 100644
--- a/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/Delete3rdONAPE2EServiceInstance.bpmn
+++ b/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/Delete3rdONAPE2EServiceInstance.bpmn
@@ -1,41 +1,44 @@
<?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:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" id="Definitions_1" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="1.11.3">
<bpmn:process id="Delete3rdONAPE2EServiceInstance" name="Delete3rdONAPE2EServiceInstance" isExecutable="true">
- <bpmn:startEvent id="StartEvent_01a6g9a" name="Delete3rdONAPRES_Start">
- <bpmn:outgoing>SequenceFlow_0ecyqjf</bpmn:outgoing>
+ <bpmn:startEvent id="StartEvent_0hj12gh" name="Delete3rdONAPRES_Start">
+ <bpmn:outgoing>SequenceFlow_190fewc</bpmn:outgoing>
</bpmn:startEvent>
- <bpmn:scriptTask id="ScriptTask_0viqs1u" name="prepare 3rdONAP Delete Request" scriptFormat="groovy">
- <bpmn:incoming>SequenceFlow_1sql6c3</bpmn:incoming>
- <bpmn:outgoing>SequenceFlow_1soxbjk</bpmn:outgoing>
+ <bpmn:scriptTask id="ScriptTask_0rs5t7w" name="prepare 3rdONAP Delete Request" scriptFormat="groovy">
+ <bpmn:incoming>SequenceFlow_1suwdgi</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_15mvx68</bpmn:outgoing>
<bpmn:script><![CDATA[import org.onap.so.bpmn.infrastructure.scripts.*
def dcsi = new Delete3rdONAPE2EServiceInstance()
-dcsi.prepareSDNCRequest(execution)]]></bpmn:script>
+dcsi.prepare3rdONAPRequest(execution)]]></bpmn:script>
</bpmn:scriptTask>
- <bpmn:endEvent id="EndEvent_1993lyd" name="Delete3rdONAPRES_End">
- <bpmn:incoming>SequenceFlow_170nvzi</bpmn:incoming>
+ <bpmn:endEvent id="EndEvent_013449q" name="Delete3rdONAPRES_End">
+ <bpmn:incoming>SequenceFlow_0a8k9xi</bpmn:incoming>
</bpmn:endEvent>
- <bpmn:scriptTask id="ScriptTask_093lzuq" name="Save SPPartner In AAI">
- <bpmn:incoming>SequenceFlow_1tlym3z</bpmn:incoming>
- <bpmn:outgoing>SequenceFlow_0z0u7x1</bpmn:outgoing>
+ <bpmn:scriptTask id="ScriptTask_1b88nnk" name="Delete SPPartner In AAI">
+ <bpmn:incoming>SequenceFlow_0y2g8mr</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_0znwu8z</bpmn:outgoing>
<bpmn:script><![CDATA[import org.onap.so.bpmn.infrastructure.scripts.*
def dcsi = new Delete3rdONAPE2EServiceInstance()
-dcsi.saveSPPartnerInAAI(execution)]]></bpmn:script>
+dcsi.deleteSPPartnerInAAI(execution)]]></bpmn:script>
</bpmn:scriptTask>
- <bpmn:scriptTask id="ScriptTask_02oc89f" name="Pre Process Request" scriptFormat="groovy">
- <bpmn:incoming>SequenceFlow_114wjuf</bpmn:incoming>
- <bpmn:outgoing>SequenceFlow_1sql6c3</bpmn:outgoing>
+ <bpmn:scriptTask id="ScriptTask_16rcjl3" name="Pre Process Request" scriptFormat="groovy">
+ <bpmn:incoming>SequenceFlow_1ttrqml</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_0brxjic</bpmn:outgoing>
<bpmn:script><![CDATA[import org.onap.so.bpmn.infrastructure.scripts.*
def dcsi = new Delete3rdONAPE2EServiceInstance()
dcsi.preProcessRequest(execution)]]></bpmn:script>
</bpmn:scriptTask>
- <bpmn:scriptTask id="ScriptTask_1e4pgbj" name="Delete progress update parameters before delete" scriptFormat="groovy">
- <bpmn:incoming>SequenceFlow_1soxbjk</bpmn:incoming>
- <bpmn:outgoing>SequenceFlow_000q9m3</bpmn:outgoing>
+ <bpmn:scriptTask id="ScriptTask_10n1tb6" name="Init Delete resource progress" scriptFormat="groovy">
+ <bpmn:incoming>SequenceFlow_0brxjic</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_0ezt5f0</bpmn:outgoing>
<bpmn:script><![CDATA[import org.onap.so.bpmn.infrastructure.scripts.*
+execution.setVariable("progress", "5")
+execution.setVariable("status", "processing")
+execution.setVariable("statusDescription", "Start Creating")
def dcsi = new Delete3rdONAPE2EServiceInstance()
-dcsi.prepareUpdateBeforeDeleteSDNCResource(execution)]]></bpmn:script>
+dcsi.prepareUpdateProgress(execution)]]></bpmn:script>
</bpmn:scriptTask>
- <bpmn:serviceTask id="ServiceTask_0r6g690" name="update progress update">
+ <bpmn:serviceTask id="ServiceTask_039ju3f" name="resource progress update">
<bpmn:extensionElements>
<camunda:connector>
<camunda:inputOutput>
@@ -54,24 +57,24 @@ dcsi.prepareUpdateBeforeDeleteSDNCResource(execution)]]></bpmn:script>
<camunda:connectorId>http-connector</camunda:connectorId>
</camunda:connector>
</bpmn:extensionElements>
- <bpmn:incoming>SequenceFlow_000q9m3</bpmn:incoming>
- <bpmn:outgoing>SequenceFlow_1lhdwv6</bpmn:outgoing>
+ <bpmn:incoming>SequenceFlow_0ezt5f0</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_1suwdgi</bpmn:outgoing>
</bpmn:serviceTask>
- <bpmn:scriptTask id="ScriptTask_1e5o8dz" name="Post process" scriptFormat="groovy">
- <bpmn:incoming>SequenceFlow_0z0u7x1</bpmn:incoming>
- <bpmn:outgoing>SequenceFlow_1bo3fu4</bpmn:outgoing>
+ <bpmn:scriptTask id="ScriptTask_1aj6okk" name="Post process" scriptFormat="groovy">
+ <bpmn:incoming>SequenceFlow_0znwu8z</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_04hwfll</bpmn:outgoing>
<bpmn:script><![CDATA[import org.onap.so.bpmn.infrastructure.scripts.*
def csi = new Delete3rdONAPE2EServiceInstance()
csi.postProcess(execution)]]></bpmn:script>
</bpmn:scriptTask>
- <bpmn:scriptTask id="ScriptTask_0ombt1l" name="Delete E2ESI in 3rdONAP" scriptFormat="groovy">
- <bpmn:incoming>SequenceFlow_0t0jlzs</bpmn:incoming>
- <bpmn:outgoing>SequenceFlow_06fak6j</bpmn:outgoing>
+ <bpmn:scriptTask id="ScriptTask_0r2cxvb" name="Delete E2ESI in 3rdONAP" scriptFormat="groovy">
+ <bpmn:incoming>SequenceFlow_15mvx68</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_0wp73cw</bpmn:outgoing>
<bpmn:script><![CDATA[import org.onap.so.bpmn.infrastructure.scripts.*
def dcsi = new Delete3rdONAPE2EServiceInstance()
dcsi.doDeleteE2ESIin3rdONAP(execution)]]></bpmn:script>
</bpmn:scriptTask>
- <bpmn:serviceTask id="ServiceTask_0lgqtdm" name="update progress update">
+ <bpmn:serviceTask id="ServiceTask_0p5029r" name="resource progress update">
<bpmn:extensionElements>
<camunda:connector>
<camunda:inputOutput>
@@ -90,99 +93,98 @@ dcsi.doDeleteE2ESIin3rdONAP(execution)]]></bpmn:script>
<camunda:connectorId>http-connector</camunda:connectorId>
</camunda:connector>
</bpmn:extensionElements>
- <bpmn:incoming>SequenceFlow_0lpbqkc</bpmn:incoming>
- <bpmn:outgoing>SequenceFlow_1tlym3z</bpmn:outgoing>
+ <bpmn:incoming>SequenceFlow_0fkfn70</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_1luhljs</bpmn:outgoing>
</bpmn:serviceTask>
- <bpmn:scriptTask id="ScriptTask_0blh9n0" name="Allocate connection resources for cross ONAP" scriptFormat="groovy">
- <bpmn:incoming>SequenceFlow_1lhdwv6</bpmn:incoming>
- <bpmn:outgoing>SequenceFlow_0t0jlzs</bpmn:outgoing>
- <bpmn:script><![CDATA[import org.onap.so.bpmn.infrastructure.scripts.*
-def dcsi = new Delete3rdONAPE2EServiceInstance()
-dcsi.postActivateSDNC(execution)]]></bpmn:script>
- </bpmn:scriptTask>
- <bpmn:scriptTask id="ScriptTask_1vlm2lw" name="Check SPPartner Info" scriptFormat="groovy">
- <bpmn:incoming>SequenceFlow_0ecyqjf</bpmn:incoming>
- <bpmn:outgoing>SequenceFlow_1jgurvk</bpmn:outgoing>
+ <bpmn:sequenceFlow id="SequenceFlow_190fewc" sourceRef="StartEvent_0hj12gh" targetRef="ScriptTask_160sboy" />
+ <bpmn:sequenceFlow id="SequenceFlow_0brxjic" sourceRef="ScriptTask_16rcjl3" targetRef="ScriptTask_10n1tb6" />
+ <bpmn:sequenceFlow id="SequenceFlow_0znwu8z" sourceRef="ScriptTask_1b88nnk" targetRef="ScriptTask_1aj6okk" />
+ <bpmn:sequenceFlow id="SequenceFlow_0ezt5f0" sourceRef="ScriptTask_10n1tb6" targetRef="ServiceTask_039ju3f" />
+ <bpmn:scriptTask id="ScriptTask_160sboy" name="Check SPPartner Info from AAI" scriptFormat="groovy">
+ <bpmn:incoming>SequenceFlow_190fewc</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_1f71u71</bpmn:outgoing>
<bpmn:script><![CDATA[import org.onap.so.bpmn.infrastructure.scripts.*
def dcsi = new Delete3rdONAPE2EServiceInstance()
-dcsi.checkSPPartnerand LocallCall(execution)]]></bpmn:script>
+dcsi.checkSPPartnerInfoFromAAI(execution)]]></bpmn:script>
</bpmn:scriptTask>
- <bpmn:exclusiveGateway id="ExclusiveGateway_0d7a4pw" name="Is 3rdONAP Existing" default="SequenceFlow_0u3tca8">
- <bpmn:incoming>SequenceFlow_1jgurvk</bpmn:incoming>
- <bpmn:outgoing>SequenceFlow_0u3tca8</bpmn:outgoing>
- <bpmn:outgoing>SequenceFlow_11pvz8i</bpmn:outgoing>
+ <bpmn:exclusiveGateway id="ExclusiveGateway_01c0nhq" name="Is 3rdONAP SPPartner Existing" default="SequenceFlow_0h1rnsw">
+ <bpmn:incoming>SequenceFlow_1f71u71</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_0h1rnsw</bpmn:outgoing>
+ <bpmn:outgoing>SequenceFlow_1msw3xo</bpmn:outgoing>
</bpmn:exclusiveGateway>
- <bpmn:intermediateCatchEvent id="IntermediateCatchEvent_14mk5it" name="Start3rdONAPDeleteE2ESI">
- <bpmn:outgoing>SequenceFlow_114wjuf</bpmn:outgoing>
+ <bpmn:sequenceFlow id="SequenceFlow_0h1rnsw" name="no" sourceRef="ExclusiveGateway_01c0nhq" targetRef="IntermediateThrowEvent_1y4vypx" />
+ <bpmn:sequenceFlow id="SequenceFlow_1msw3xo" name="yes" sourceRef="ExclusiveGateway_01c0nhq" targetRef="ScriptTask_1y8kdt3">
+ <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[#{(execution.getVariable("Is3rdONAPExist" ) == "true" )}]]></bpmn:conditionExpression>
+ </bpmn:sequenceFlow>
+ <bpmn:intermediateCatchEvent id="IntermediateCatchEvent_0cql41g" name="Start3rdONAPDeleteE2ESI">
+ <bpmn:outgoing>SequenceFlow_1ttrqml</bpmn:outgoing>
<bpmn:linkEventDefinition name="Start3rdONAPDeleteE2ESI" />
</bpmn:intermediateCatchEvent>
- <bpmn:intermediateThrowEvent id="IntermediateThrowEvent_0bqnalt" name="GoTo Start3rdONAPDeleteE2ESI">
- <bpmn:incoming>SequenceFlow_06avdut</bpmn:incoming>
+ <bpmn:sequenceFlow id="SequenceFlow_1f71u71" sourceRef="ScriptTask_160sboy" targetRef="ExclusiveGateway_01c0nhq" />
+ <bpmn:sequenceFlow id="SequenceFlow_1ttrqml" sourceRef="IntermediateCatchEvent_0cql41g" targetRef="ScriptTask_16rcjl3" />
+ <bpmn:intermediateThrowEvent id="IntermediateThrowEvent_0wbo4nq" name="GoTo Start3rdONAPDeleteE2ESI">
+ <bpmn:incoming>SequenceFlow_0o376do</bpmn:incoming>
<bpmn:linkEventDefinition name="Start3rdONAPDeleteE2ESI" />
</bpmn:intermediateThrowEvent>
- <bpmn:scriptTask id="ScriptTask_1trt7oc" name="post Delete E2ESI in 3rdONAP" scriptFormat="groovy">
- <bpmn:incoming>SequenceFlow_06fak6j</bpmn:incoming>
- <bpmn:outgoing>SequenceFlow_0cuvrsr</bpmn:outgoing>
- <bpmn:script><![CDATA[import org.onap.so.bpmn.infrastructure.scripts.*
-def dcsi = new Delete3rdONAPE2EServiceInstance()
-dcsi.doDeleteE2ESIin3rdONAP(execution)]]></bpmn:script>
- </bpmn:scriptTask>
- <bpmn:scriptTask id="ScriptTask_01s6c7j" name="Query E2ESI progress in 3rdONAP" scriptFormat="groovy">
- <bpmn:incoming>SequenceFlow_0cuvrsr</bpmn:incoming>
- <bpmn:outgoing>SequenceFlow_0lpbqkc</bpmn:outgoing>
+ <bpmn:scriptTask id="ScriptTask_0yz8d8c" name="Query E2ESI progress in 3rdONAP" scriptFormat="groovy">
+ <bpmn:incoming>SequenceFlow_13s0mg5</bpmn:incoming>
+ <bpmn:incoming>SequenceFlow_0kkou66</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_0fkfn70</bpmn:outgoing>
<bpmn:script><![CDATA[import org.onap.so.bpmn.infrastructure.scripts.*
def dcsi = new Delete3rdONAPE2EServiceInstance()
dcsi.getE2ESIProgressin3rdONAP(execution)]]></bpmn:script>
</bpmn:scriptTask>
- <bpmn:scriptTask id="ScriptTask_1ri59nm" name="Send Sync Ack Response" scriptFormat="groovy">
- <bpmn:incoming>SequenceFlow_1bo3fu4</bpmn:incoming>
- <bpmn:outgoing>SequenceFlow_170nvzi</bpmn:outgoing>
- <bpmn:script><![CDATA[import org.onap.so.bpmn.infrastructure.scripts.*
-def csi = new Delete3rdONAPE2EServiceInstance()
-csi.sendSyncResponse(execution)]]></bpmn:script>
- </bpmn:scriptTask>
- <bpmn:scriptTask id="ScriptTask_0d7cawc" name="Check Locall Call" scriptFormat="groovy">
- <bpmn:incoming>SequenceFlow_11pvz8i</bpmn:incoming>
- <bpmn:outgoing>SequenceFlow_1lqmzex</bpmn:outgoing>
+ <bpmn:sequenceFlow id="SequenceFlow_04hwfll" sourceRef="ScriptTask_1aj6okk" targetRef="ScriptTask_18auy29" />
+ <bpmn:scriptTask id="ScriptTask_1y8kdt3" name="Check Locall Call" scriptFormat="groovy">
+ <bpmn:incoming>SequenceFlow_1msw3xo</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_1kcu53z</bpmn:outgoing>
<bpmn:script><![CDATA[import org.onap.so.bpmn.infrastructure.scripts.*
def dcsi = new Delete3rdONAPE2EServiceInstance()
-dcsi.checkSPPartnerand LocallCall(execution)]]></bpmn:script>
+dcsi.checkLocallCall(execution)]]></bpmn:script>
</bpmn:scriptTask>
- <bpmn:exclusiveGateway id="ExclusiveGateway_0j2ccax" name="Is Called from Local">
- <bpmn:incoming>SequenceFlow_1lqmzex</bpmn:incoming>
- <bpmn:outgoing>SequenceFlow_06avdut</bpmn:outgoing>
- <bpmn:outgoing>SequenceFlow_1pwflny</bpmn:outgoing>
+ <bpmn:sequenceFlow id="SequenceFlow_1kcu53z" sourceRef="ScriptTask_1y8kdt3" targetRef="ExclusiveGateway_0pj14lp" />
+ <bpmn:exclusiveGateway id="ExclusiveGateway_0pj14lp" name="Is Called from Local">
+ <bpmn:incoming>SequenceFlow_1kcu53z</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_0o376do</bpmn:outgoing>
+ <bpmn:outgoing>SequenceFlow_1y8xkzy</bpmn:outgoing>
</bpmn:exclusiveGateway>
- <bpmn:intermediateThrowEvent id="IntermediateThrowEvent_0bmqdpg" name="GoTo StartLocalONAPDeleteE2ESI">
- <bpmn:incoming>SequenceFlow_0u3tca8</bpmn:incoming>
- <bpmn:incoming>SequenceFlow_1pwflny</bpmn:incoming>
- <bpmn:linkEventDefinition name="StartLocalONAPDeleteE2ESI" />
+ <bpmn:sequenceFlow id="SequenceFlow_0o376do" name="yes" sourceRef="ExclusiveGateway_0pj14lp" targetRef="IntermediateThrowEvent_0wbo4nq">
+ <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[#{(execution.getVariable("IsLocalCall" ) == "true" )}]]></bpmn:conditionExpression>
+ </bpmn:sequenceFlow>
+ <bpmn:sequenceFlow id="SequenceFlow_1y8xkzy" name="no" sourceRef="ExclusiveGateway_0pj14lp" targetRef="IntermediateThrowEvent_1y4vypx" />
+ <bpmn:intermediateThrowEvent id="IntermediateThrowEvent_1y4vypx" name="GoTo StartLocalONAPDeleteE2ESI">
+ <bpmn:incoming>SequenceFlow_1y8xkzy</bpmn:incoming>
+ <bpmn:incoming>SequenceFlow_0h1rnsw</bpmn:incoming>
+ <bpmn:linkEventDefinition name=" StartLocalONAPDeleteE2ESI" />
</bpmn:intermediateThrowEvent>
- <bpmn:endEvent id="EndEvent_1itzq8n" name="Delete3rdONAPRES_End">
- <bpmn:incoming>SequenceFlow_0vhbw8y</bpmn:incoming>
+ <bpmn:endEvent id="EndEvent_0o0n3fa" name="Delete3rdONAPRES_End">
+ <bpmn:incoming>SequenceFlow_131f1jj</bpmn:incoming>
</bpmn:endEvent>
- <bpmn:scriptTask id="ScriptTask_1aigzk8" name="Delete SPPartner In AAI">
- <bpmn:incoming>SequenceFlow_03mc2qq</bpmn:incoming>
- <bpmn:outgoing>SequenceFlow_03ngo7h</bpmn:outgoing>
+ <bpmn:scriptTask id="ScriptTask_1lazb8l" name="Delete SPPartner In AAI">
+ <bpmn:incoming>SequenceFlow_1wq9f5k</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_18gb81f</bpmn:outgoing>
<bpmn:script><![CDATA[import org.onap.so.bpmn.infrastructure.scripts.*
def dcsi = new Delete3rdONAPE2EServiceInstance()
dcsi.deleteSPPartnerInAAI(execution)]]></bpmn:script>
</bpmn:scriptTask>
- <bpmn:scriptTask id="ScriptTask_0cpsjwl" name="Pre Process Request" scriptFormat="groovy">
- <bpmn:incoming>SequenceFlow_1x1sk3t</bpmn:incoming>
- <bpmn:outgoing>SequenceFlow_02l74nc</bpmn:outgoing>
+ <bpmn:scriptTask id="ScriptTask_0buj724" name="Pre Process Request" scriptFormat="groovy">
+ <bpmn:incoming>SequenceFlow_0wnyy50</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_0z9axn6</bpmn:outgoing>
<bpmn:script><![CDATA[import org.onap.so.bpmn.infrastructure.scripts.*
def dcsi = new Delete3rdONAPE2EServiceInstance()
dcsi.preProcessRequest(execution)]]></bpmn:script>
</bpmn:scriptTask>
- <bpmn:scriptTask id="ScriptTask_01cer09" name="Delete progress update parameters before delete" scriptFormat="groovy">
- <bpmn:incoming>SequenceFlow_02l74nc</bpmn:incoming>
- <bpmn:outgoing>SequenceFlow_0ff0jf2</bpmn:outgoing>
+ <bpmn:scriptTask id="ScriptTask_0rixvgj" name="Prepare Delete resource progress" scriptFormat="groovy">
+ <bpmn:incoming>SequenceFlow_0z9axn6</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_04l4to1</bpmn:outgoing>
<bpmn:script><![CDATA[import org.onap.so.bpmn.infrastructure.scripts.*
+execution.setVariable("progress", "100")
+execution.setVariable("status", "finished")
+execution.setVariable("statusDescription", "Local Creation Only")
def dcsi = new Delete3rdONAPE2EServiceInstance()
-dcsi.prepareUpdate(execution)]]></bpmn:script>
+dcsi.prepareUpdateProgress(execution)]]></bpmn:script>
</bpmn:scriptTask>
- <bpmn:serviceTask id="ServiceTask_1go9g1i" name="update progress update">
+ <bpmn:serviceTask id="ServiceTask_1kgvq5e" name="update progress update">
<bpmn:extensionElements>
<camunda:connector>
<camunda:inputOutput>
@@ -201,411 +203,519 @@ dcsi.prepareUpdate(execution)]]></bpmn:script>
<camunda:connectorId>http-connector</camunda:connectorId>
</camunda:connector>
</bpmn:extensionElements>
- <bpmn:incoming>SequenceFlow_03ngo7h</bpmn:incoming>
- <bpmn:incoming>SequenceFlow_177yb27</bpmn:incoming>
- <bpmn:outgoing>SequenceFlow_1784pcx</bpmn:outgoing>
+ <bpmn:incoming>SequenceFlow_18gb81f</bpmn:incoming>
+ <bpmn:incoming>SequenceFlow_1swgag2</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_0dkbe3r</bpmn:outgoing>
</bpmn:serviceTask>
- <bpmn:scriptTask id="ScriptTask_0ywn2ec" name="Post process" scriptFormat="groovy">
- <bpmn:incoming>SequenceFlow_1784pcx</bpmn:incoming>
- <bpmn:outgoing>SequenceFlow_1xhcwoo</bpmn:outgoing>
+ <bpmn:scriptTask id="ScriptTask_17s3yrn" name="Post process" scriptFormat="groovy">
+ <bpmn:incoming>SequenceFlow_0dkbe3r</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_1wn6y9u</bpmn:outgoing>
<bpmn:script><![CDATA[import org.onap.so.bpmn.infrastructure.scripts.*
def csi = new Delete3rdONAPE2EServiceInstance()
csi.postProcess(execution)]]></bpmn:script>
</bpmn:scriptTask>
- <bpmn:intermediateCatchEvent id="IntermediateCatchEvent_0ui7e2m" name="StartLocalONAPDeleteE2ESI">
- <bpmn:outgoing>SequenceFlow_1x1sk3t</bpmn:outgoing>
+ <bpmn:intermediateCatchEvent id="IntermediateCatchEvent_18h4prx" name="StartLocalONAPDeleteE2ESI">
+ <bpmn:outgoing>SequenceFlow_0wnyy50</bpmn:outgoing>
<bpmn:linkEventDefinition name="StartLocalONAPDeleteE2ESI" />
</bpmn:intermediateCatchEvent>
- <bpmn:scriptTask id="ScriptTask_0y6ox5c" name="Send Sync Ack Response" scriptFormat="groovy">
- <bpmn:incoming>SequenceFlow_1xhcwoo</bpmn:incoming>
- <bpmn:outgoing>SequenceFlow_0vhbw8y</bpmn:outgoing>
+ <bpmn:scriptTask id="ScriptTask_03gddkg" name="Send Sync Ack Response" scriptFormat="groovy">
+ <bpmn:incoming>SequenceFlow_1wn6y9u</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_131f1jj</bpmn:outgoing>
<bpmn:script><![CDATA[import org.onap.so.bpmn.infrastructure.scripts.*
def csi = new Delete3rdONAPE2EServiceInstance()
csi.sendSyncResponse(execution)]]></bpmn:script>
</bpmn:scriptTask>
- <bpmn:exclusiveGateway id="ExclusiveGateway_02l57i8" name="Is 3rdONAP Existing" default="SequenceFlow_177yb27">
- <bpmn:incoming>SequenceFlow_0ff0jf2</bpmn:incoming>
- <bpmn:outgoing>SequenceFlow_03mc2qq</bpmn:outgoing>
- <bpmn:outgoing>SequenceFlow_177yb27</bpmn:outgoing>
+ <bpmn:sequenceFlow id="SequenceFlow_0z9axn6" sourceRef="ScriptTask_0buj724" targetRef="ScriptTask_0rixvgj" />
+ <bpmn:sequenceFlow id="SequenceFlow_131f1jj" sourceRef="ScriptTask_03gddkg" targetRef="EndEvent_0o0n3fa" />
+ <bpmn:sequenceFlow id="SequenceFlow_18gb81f" sourceRef="ScriptTask_1lazb8l" targetRef="ServiceTask_1kgvq5e" />
+ <bpmn:sequenceFlow id="SequenceFlow_0wnyy50" sourceRef="IntermediateCatchEvent_18h4prx" targetRef="ScriptTask_0buj724" />
+ <bpmn:sequenceFlow id="SequenceFlow_04l4to1" sourceRef="ScriptTask_0rixvgj" targetRef="ExclusiveGateway_1cz6dwq" />
+ <bpmn:sequenceFlow id="SequenceFlow_1wn6y9u" sourceRef="ScriptTask_17s3yrn" targetRef="ScriptTask_03gddkg" />
+ <bpmn:exclusiveGateway id="ExclusiveGateway_1cz6dwq" name="Is 3rdONAP SPPartner Existing" default="SequenceFlow_1swgag2">
+ <bpmn:incoming>SequenceFlow_04l4to1</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_1wq9f5k</bpmn:outgoing>
+ <bpmn:outgoing>SequenceFlow_1swgag2</bpmn:outgoing>
</bpmn:exclusiveGateway>
- <bpmn:sequenceFlow id="SequenceFlow_0ecyqjf" sourceRef="StartEvent_01a6g9a" targetRef="ScriptTask_1vlm2lw" />
- <bpmn:sequenceFlow id="SequenceFlow_1sql6c3" sourceRef="ScriptTask_02oc89f" targetRef="ScriptTask_0viqs1u" />
- <bpmn:sequenceFlow id="SequenceFlow_1soxbjk" sourceRef="ScriptTask_0viqs1u" targetRef="ScriptTask_1e4pgbj" />
- <bpmn:sequenceFlow id="SequenceFlow_170nvzi" sourceRef="ScriptTask_1ri59nm" targetRef="EndEvent_1993lyd" />
- <bpmn:sequenceFlow id="SequenceFlow_1tlym3z" sourceRef="ServiceTask_0lgqtdm" targetRef="ScriptTask_093lzuq" />
- <bpmn:sequenceFlow id="SequenceFlow_0z0u7x1" sourceRef="ScriptTask_093lzuq" targetRef="ScriptTask_1e5o8dz" />
- <bpmn:sequenceFlow id="SequenceFlow_114wjuf" sourceRef="IntermediateCatchEvent_14mk5it" targetRef="ScriptTask_02oc89f" />
- <bpmn:sequenceFlow id="SequenceFlow_000q9m3" sourceRef="ScriptTask_1e4pgbj" targetRef="ServiceTask_0r6g690" />
- <bpmn:sequenceFlow id="SequenceFlow_1lhdwv6" sourceRef="ServiceTask_0r6g690" targetRef="ScriptTask_0blh9n0" />
- <bpmn:sequenceFlow id="SequenceFlow_1bo3fu4" sourceRef="ScriptTask_1e5o8dz" targetRef="ScriptTask_1ri59nm" />
- <bpmn:sequenceFlow id="SequenceFlow_0t0jlzs" sourceRef="ScriptTask_0blh9n0" targetRef="ScriptTask_0ombt1l" />
- <bpmn:sequenceFlow id="SequenceFlow_06fak6j" sourceRef="ScriptTask_0ombt1l" targetRef="ScriptTask_1trt7oc" />
- <bpmn:sequenceFlow id="SequenceFlow_0lpbqkc" sourceRef="ScriptTask_01s6c7j" targetRef="ServiceTask_0lgqtdm" />
- <bpmn:sequenceFlow id="SequenceFlow_1jgurvk" sourceRef="ScriptTask_1vlm2lw" targetRef="ExclusiveGateway_0d7a4pw" />
- <bpmn:sequenceFlow id="SequenceFlow_0u3tca8" name="no" sourceRef="ExclusiveGateway_0d7a4pw" targetRef="IntermediateThrowEvent_0bmqdpg" />
- <bpmn:sequenceFlow id="SequenceFlow_11pvz8i" name="yes" sourceRef="ExclusiveGateway_0d7a4pw" targetRef="ScriptTask_0d7cawc">
+ <bpmn:sequenceFlow id="SequenceFlow_0dkbe3r" sourceRef="ServiceTask_1kgvq5e" targetRef="ScriptTask_17s3yrn" />
+ <bpmn:sequenceFlow id="SequenceFlow_1wq9f5k" name="yes" sourceRef="ExclusiveGateway_1cz6dwq" targetRef="ScriptTask_1lazb8l">
<bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[#{(execution.getVariable("Is3rdONAPExist" ) == "true" )}]]></bpmn:conditionExpression>
</bpmn:sequenceFlow>
- <bpmn:sequenceFlow id="SequenceFlow_06avdut" name="yes" sourceRef="ExclusiveGateway_0j2ccax" targetRef="IntermediateThrowEvent_0bqnalt">
- <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[#{(execution.getVariable("IsLocalCall" ) == "true" )}]]></bpmn:conditionExpression>
+ <bpmn:sequenceFlow id="SequenceFlow_1swgag2" name="No" sourceRef="ExclusiveGateway_1cz6dwq" targetRef="ServiceTask_1kgvq5e" />
+ <bpmn:scriptTask id="ScriptTask_1pdhttw" name="timeDelay" scriptFormat="groovy">
+ <bpmn:incoming>SequenceFlow_1udji9x</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_0kkou66</bpmn:outgoing>
+ <bpmn:script><![CDATA[import org.onap.so.bpmn.infrastructure.scripts.*
+def dcsi = new Delete3rdONAPE2EServiceInstance()
+dcsi.timeDelay(execution)]]></bpmn:script>
+ </bpmn:scriptTask>
+ <bpmn:exclusiveGateway id="ExclusiveGateway_1662gjm" name="Delete SI in 3rdONAP Success?" default="SequenceFlow_12seu6n">
+ <bpmn:incoming>SequenceFlow_0wp73cw</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_13s0mg5</bpmn:outgoing>
+ <bpmn:outgoing>SequenceFlow_12seu6n</bpmn:outgoing>
+ </bpmn:exclusiveGateway>
+ <bpmn:exclusiveGateway id="ExclusiveGateway_1we7izu" name="Delete SI in 3rdONAP Finished?">
+ <bpmn:incoming>SequenceFlow_1luhljs</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_1udji9x</bpmn:outgoing>
+ <bpmn:outgoing>SequenceFlow_0y2g8mr</bpmn:outgoing>
+ </bpmn:exclusiveGateway>
+ <bpmn:scriptTask id="ScriptTask_18auy29" name="Send Sync Ack Response" scriptFormat="groovy">
+ <bpmn:incoming>SequenceFlow_04hwfll</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_0a8k9xi</bpmn:outgoing>
+ <bpmn:script><![CDATA[import org.onap.so.bpmn.infrastructure.scripts.*
+def csi = new Delete3rdONAPE2EServiceInstance()
+csi.sendSyncResponse(execution)]]></bpmn:script>
+ </bpmn:scriptTask>
+ <bpmn:sequenceFlow id="SequenceFlow_0a8k9xi" sourceRef="ScriptTask_18auy29" targetRef="EndEvent_013449q" />
+ <bpmn:sequenceFlow id="SequenceFlow_15mvx68" sourceRef="ScriptTask_0rs5t7w" targetRef="ScriptTask_0r2cxvb" />
+ <bpmn:sequenceFlow id="SequenceFlow_0wp73cw" sourceRef="ScriptTask_0r2cxvb" targetRef="ExclusiveGateway_1662gjm" />
+ <bpmn:sequenceFlow id="SequenceFlow_13s0mg5" name="yes" sourceRef="ExclusiveGateway_1662gjm" targetRef="ScriptTask_0yz8d8c">
+ <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[#{(execution.getVariable("serviceOrderId" ) != null && execution.getVariable("serviceOrderId" ) != "" )}]]></bpmn:conditionExpression>
</bpmn:sequenceFlow>
- <bpmn:sequenceFlow id="SequenceFlow_0cuvrsr" sourceRef="ScriptTask_1trt7oc" targetRef="ScriptTask_01s6c7j" />
- <bpmn:sequenceFlow id="SequenceFlow_1lqmzex" sourceRef="ScriptTask_0d7cawc" targetRef="ExclusiveGateway_0j2ccax" />
- <bpmn:sequenceFlow id="SequenceFlow_1pwflny" name="no" sourceRef="ExclusiveGateway_0j2ccax" targetRef="IntermediateThrowEvent_0bmqdpg" />
- <bpmn:sequenceFlow id="SequenceFlow_0vhbw8y" sourceRef="ScriptTask_0y6ox5c" targetRef="EndEvent_1itzq8n" />
- <bpmn:sequenceFlow id="SequenceFlow_03mc2qq" name="yes" sourceRef="ExclusiveGateway_02l57i8" targetRef="ScriptTask_1aigzk8">
- <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[#{(execution.getVariable("Is3rdONAPExist" ) == "true" )}]]></bpmn:conditionExpression>
+ <bpmn:sequenceFlow id="SequenceFlow_0fkfn70" sourceRef="ScriptTask_0yz8d8c" targetRef="ServiceTask_0p5029r" />
+ <bpmn:sequenceFlow id="SequenceFlow_1suwdgi" sourceRef="ServiceTask_039ju3f" targetRef="ScriptTask_0rs5t7w" />
+ <bpmn:sequenceFlow id="SequenceFlow_0kkou66" sourceRef="ScriptTask_1pdhttw" targetRef="ScriptTask_0yz8d8c" />
+ <bpmn:sequenceFlow id="SequenceFlow_1luhljs" sourceRef="ServiceTask_0p5029r" targetRef="ExclusiveGateway_1we7izu" />
+ <bpmn:sequenceFlow id="SequenceFlow_1udji9x" name="no" sourceRef="ExclusiveGateway_1we7izu" targetRef="ScriptTask_1pdhttw">
+ <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[ #{(execution.getVariable("status" ) == "processing" )}]]></bpmn:conditionExpression>
</bpmn:sequenceFlow>
- <bpmn:sequenceFlow id="SequenceFlow_03ngo7h" sourceRef="ScriptTask_1aigzk8" targetRef="ServiceTask_1go9g1i" />
- <bpmn:sequenceFlow id="SequenceFlow_1x1sk3t" sourceRef="IntermediateCatchEvent_0ui7e2m" targetRef="ScriptTask_0cpsjwl" />
- <bpmn:sequenceFlow id="SequenceFlow_02l74nc" sourceRef="ScriptTask_0cpsjwl" targetRef="ScriptTask_01cer09" />
- <bpmn:sequenceFlow id="SequenceFlow_0ff0jf2" sourceRef="ScriptTask_01cer09" targetRef="ExclusiveGateway_02l57i8" />
- <bpmn:sequenceFlow id="SequenceFlow_177yb27" name="No" sourceRef="ExclusiveGateway_02l57i8" targetRef="ServiceTask_1go9g1i" />
- <bpmn:sequenceFlow id="SequenceFlow_1784pcx" sourceRef="ServiceTask_1go9g1i" targetRef="ScriptTask_0ywn2ec" />
- <bpmn:sequenceFlow id="SequenceFlow_1xhcwoo" sourceRef="ScriptTask_0ywn2ec" targetRef="ScriptTask_0y6ox5c" />
+ <bpmn:endEvent id="EndEvent_19joonf">
+ <bpmn:incoming>SequenceFlow_1mei7hu</bpmn:incoming>
+ </bpmn:endEvent>
+ <bpmn:sequenceFlow id="SequenceFlow_12seu6n" name="no" sourceRef="ExclusiveGateway_1662gjm" targetRef="ScriptTask_07cq0pw" />
+ <bpmn:sequenceFlow id="SequenceFlow_0y2g8mr" name="yes" sourceRef="ExclusiveGateway_1we7izu" targetRef="ScriptTask_1b88nnk">
+ <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[ #{(execution.getVariable("status" ) != "processing" )}]]></bpmn:conditionExpression>
+ </bpmn:sequenceFlow>
+ <bpmn:scriptTask id="ScriptTask_07cq0pw" name="update resource progress failed" scriptFormat="groovy">
+ <bpmn:incoming>SequenceFlow_12seu6n</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_0i9iiuo</bpmn:outgoing>
+ <bpmn:script><![CDATA[import org.onap.so.bpmn.infrastructure.scripts.*
+execution.setVariable("progress", "100")
+execution.setVariable("status", "error")
+execution.setVariable("statusDescription", "Delete Service Order failed ")
+def dcsi = new Delete3rdONAPE2EServiceInstance()
+dcsi.prepareUpdateProgress(execution)]]></bpmn:script>
+ </bpmn:scriptTask>
+ <bpmn:serviceTask id="ServiceTask_1ixmamy" name="resource progress update">
+ <bpmn:extensionElements>
+ <camunda:connector>
+ <camunda:inputOutput>
+ <camunda:inputParameter name="url">${CVFMI_dbAdapterEndpoint}</camunda:inputParameter>
+ <camunda:inputParameter name="headers">
+ <camunda:map>
+ <camunda:entry key="content-type">application/soap+xml</camunda:entry>
+ <camunda:entry key="Authorization">Basic QlBFTENsaWVudDpwYXNzd29yZDEk</camunda:entry>
+ </camunda:map>
+ </camunda:inputParameter>
+ <camunda:inputParameter name="payload">${CVFMI_updateResOperStatusRequest}</camunda:inputParameter>
+ <camunda:inputParameter name="method">POST</camunda:inputParameter>
+ <camunda:outputParameter name="CVFMI_dbResponseCode">${statusCode}</camunda:outputParameter>
+ <camunda:outputParameter name="CVFMI_dbResponse">${response}</camunda:outputParameter>
+ </camunda:inputOutput>
+ <camunda:connectorId>http-connector</camunda:connectorId>
+ </camunda:connector>
+ </bpmn:extensionElements>
+ <bpmn:incoming>SequenceFlow_0i9iiuo</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_1mei7hu</bpmn:outgoing>
+ </bpmn:serviceTask>
+ <bpmn:sequenceFlow id="SequenceFlow_0i9iiuo" sourceRef="ScriptTask_07cq0pw" targetRef="ServiceTask_1ixmamy" />
+ <bpmn:sequenceFlow id="SequenceFlow_1mei7hu" sourceRef="ServiceTask_1ixmamy" targetRef="EndEvent_19joonf" />
</bpmn:process>
<bpmn:error id="Error_0nbdy47" name="MSOWorkflowException" errorCode="MSOWorkflowException" />
<bpmndi:BPMNDiagram id="BPMNDiagram_1">
<bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="Delete3rdONAPE2EServiceInstance">
- <bpmndi:BPMNShape id="StartEvent_01a6g9a_di" bpmnElement="StartEvent_01a6g9a">
- <dc:Bounds x="870" y="-707" width="36" height="36" />
+ <bpmndi:BPMNShape id="StartEvent_0hj12gh_di" bpmnElement="StartEvent_0hj12gh">
+ <dc:Bounds x="-9" y="-418" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="849" y="-671" width="84" height="28" />
+ <dc:Bounds x="-30" y="-382" width="84" height="28" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
- <bpmndi:BPMNShape id="ScriptTask_0viqs1u_di" bpmnElement="ScriptTask_0viqs1u">
- <dc:Bounds x="1245" y="-442" width="100" height="80" />
+ <bpmndi:BPMNShape id="ScriptTask_0rs5t7w_di" bpmnElement="ScriptTask_0rs5t7w">
+ <dc:Bounds x="-41" y="12" width="100" height="80" />
</bpmndi:BPMNShape>
- <bpmndi:BPMNShape id="EndEvent_1993lyd_di" bpmnElement="EndEvent_1993lyd">
- <dc:Bounds x="1848" y="-46" width="36" height="36" />
+ <bpmndi:BPMNShape id="EndEvent_013449q_di" bpmnElement="EndEvent_013449q">
+ <dc:Bounds x="799" y="393" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1812" y="-4" width="84" height="28" />
+ <dc:Bounds x="763" y="435" width="84" height="28" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
- <bpmndi:BPMNShape id="ScriptTask_093lzuq_di" bpmnElement="ScriptTask_093lzuq">
- <dc:Bounds x="1245" y="-68" width="100" height="80" />
- </bpmndi:BPMNShape>
- <bpmndi:BPMNShape id="ScriptTask_02oc89f_di" bpmnElement="ScriptTask_02oc89f">
- <dc:Bounds x="1042" y="-442" width="100" height="80" />
- </bpmndi:BPMNShape>
- <bpmndi:BPMNShape id="ScriptTask_1e4pgbj_di" bpmnElement="ScriptTask_1e4pgbj">
- <dc:Bounds x="1442" y="-442" width="100" height="80" />
+ <bpmndi:BPMNShape id="ScriptTask_1b88nnk_di" bpmnElement="ScriptTask_1b88nnk">
+ <dc:Bounds x="-41" y="371" width="100" height="80" />
</bpmndi:BPMNShape>
- <bpmndi:BPMNShape id="ServiceTask_0r6g690_di" bpmnElement="ServiceTask_0r6g690">
- <dc:Bounds x="1678" y="-442" width="100" height="80" />
+ <bpmndi:BPMNShape id="ScriptTask_16rcjl3_di" bpmnElement="ScriptTask_16rcjl3">
+ <dc:Bounds x="163" y="-153" width="100" height="80" />
</bpmndi:BPMNShape>
- <bpmndi:BPMNShape id="ScriptTask_1e5o8dz_di" bpmnElement="ScriptTask_1e5o8dz">
- <dc:Bounds x="1442" y="-68" width="100" height="80" />
+ <bpmndi:BPMNShape id="ScriptTask_10n1tb6_di" bpmnElement="ScriptTask_10n1tb6">
+ <dc:Bounds x="366" y="-153" width="100" height="80" />
</bpmndi:BPMNShape>
- <bpmndi:BPMNShape id="ScriptTask_0ombt1l_di" bpmnElement="ScriptTask_0ombt1l">
- <dc:Bounds x="1245" y="-271" width="100" height="80" />
+ <bpmndi:BPMNShape id="ServiceTask_039ju3f_di" bpmnElement="ServiceTask_039ju3f">
+ <dc:Bounds x="573" y="-153" width="100" height="80" />
</bpmndi:BPMNShape>
- <bpmndi:BPMNShape id="ServiceTask_0lgqtdm_di" bpmnElement="ServiceTask_0lgqtdm">
- <dc:Bounds x="1042" y="-68" width="100" height="80" />
+ <bpmndi:BPMNShape id="ScriptTask_1aj6okk_di" bpmnElement="ScriptTask_1aj6okk">
+ <dc:Bounds x="231" y="371" width="100" height="80" />
</bpmndi:BPMNShape>
- <bpmndi:BPMNShape id="ScriptTask_0blh9n0_di" bpmnElement="ScriptTask_0blh9n0">
- <dc:Bounds x="1042" y="-271" width="100" height="80" />
+ <bpmndi:BPMNShape id="ScriptTask_0r2cxvb_di" bpmnElement="ScriptTask_0r2cxvb">
+ <dc:Bounds x="163" y="12" width="100" height="80" />
</bpmndi:BPMNShape>
- <bpmndi:BPMNShape id="ScriptTask_1vlm2lw_di" bpmnElement="ScriptTask_1vlm2lw">
- <dc:Bounds x="1042" y="-729" width="100" height="80" />
+ <bpmndi:BPMNShape id="ServiceTask_0p5029r_di" bpmnElement="ServiceTask_0p5029r">
+ <dc:Bounds x="798" y="12" width="100" height="80" />
</bpmndi:BPMNShape>
- <bpmndi:BPMNShape id="ExclusiveGateway_0d7a4pw_di" bpmnElement="ExclusiveGateway_0d7a4pw" isMarkerVisible="true">
- <dc:Bounds x="1259" y="-715" width="50" height="50" />
+ <bpmndi:BPMNEdge id="SequenceFlow_190fewc_di" bpmnElement="SequenceFlow_190fewc">
+ <di:waypoint xsi:type="dc:Point" x="27" y="-400" />
+ <di:waypoint xsi:type="dc:Point" x="163" y="-400" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1243" y="-747" width="56" height="28" />
+ <dc:Bounds x="95" y="-422" width="0" height="14" />
</bpmndi:BPMNLabel>
- </bpmndi:BPMNShape>
- <bpmndi:BPMNShape id="IntermediateCatchEvent_14mk5it_di" bpmnElement="IntermediateCatchEvent_14mk5it">
- <dc:Bounds x="870" y="-420" width="36" height="36" />
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0brxjic_di" bpmnElement="SequenceFlow_0brxjic">
+ <di:waypoint xsi:type="dc:Point" x="263" y="-113" />
+ <di:waypoint xsi:type="dc:Point" x="366" y="-113" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="850" y="-384" width="85" height="28" />
+ <dc:Bounds x="269.5" y="-135" width="90" height="14" />
</bpmndi:BPMNLabel>
- </bpmndi:BPMNShape>
- <bpmndi:BPMNShape id="IntermediateThrowEvent_0bqnalt_di" bpmnElement="IntermediateThrowEvent_0bqnalt">
- <dc:Bounds x="1835" y="-707" width="36" height="36" />
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0znwu8z_di" bpmnElement="SequenceFlow_0znwu8z">
+ <di:waypoint xsi:type="dc:Point" x="59" y="411" />
+ <di:waypoint xsi:type="dc:Point" x="231" y="411" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1813" y="-666" width="85" height="42" />
+ <dc:Bounds x="100" y="389" width="90" height="14" />
</bpmndi:BPMNLabel>
- </bpmndi:BPMNShape>
- <bpmndi:BPMNShape id="ScriptTask_1trt7oc_di" bpmnElement="ScriptTask_1trt7oc">
- <dc:Bounds x="1442" y="-271" width="100" height="80" />
- </bpmndi:BPMNShape>
- <bpmndi:BPMNShape id="ScriptTask_01s6c7j_di" bpmnElement="ScriptTask_01s6c7j">
- <dc:Bounds x="1678" y="-271" width="100" height="80" />
- </bpmndi:BPMNShape>
- <bpmndi:BPMNShape id="ScriptTask_1ri59nm_di" bpmnElement="ScriptTask_1ri59nm">
- <dc:Bounds x="1678" y="-68" width="100" height="80" />
- </bpmndi:BPMNShape>
- <bpmndi:BPMNShape id="ScriptTask_0d7cawc_di" bpmnElement="ScriptTask_0d7cawc">
- <dc:Bounds x="1442" y="-729" width="100" height="80" />
- </bpmndi:BPMNShape>
- <bpmndi:BPMNShape id="ExclusiveGateway_0j2ccax_di" bpmnElement="ExclusiveGateway_0j2ccax" isMarkerVisible="true">
- <dc:Bounds x="1671" y="-715" width="50" height="50" />
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0ezt5f0_di" bpmnElement="SequenceFlow_0ezt5f0">
+ <di:waypoint xsi:type="dc:Point" x="466" y="-113" />
+ <di:waypoint xsi:type="dc:Point" x="573" y="-113" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1655" y="-747" width="65" height="28" />
+ <dc:Bounds x="474.5" y="-135" width="90" height="14" />
</bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ScriptTask_160sboy_di" bpmnElement="ScriptTask_160sboy">
+ <dc:Bounds x="163" y="-440" width="100" height="80" />
</bpmndi:BPMNShape>
- <bpmndi:BPMNShape id="IntermediateThrowEvent_0bmqdpg_di" bpmnElement="IntermediateThrowEvent_0bmqdpg">
- <dc:Bounds x="1678" y="-589" width="36" height="36" />
+ <bpmndi:BPMNShape id="ExclusiveGateway_01c0nhq_di" bpmnElement="ExclusiveGateway_01c0nhq" isMarkerVisible="true">
+ <dc:Bounds x="380" y="-426" width="50" height="50" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1656" y="-548" width="85" height="42" />
+ <dc:Bounds x="378" y="-458" width="56" height="28" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
- <bpmndi:BPMNShape id="EndEvent_1itzq8n_di" bpmnElement="EndEvent_1itzq8n">
- <dc:Bounds x="1848" y="288" width="36" height="36" />
+ <bpmndi:BPMNEdge id="SequenceFlow_0h1rnsw_di" bpmnElement="SequenceFlow_0h1rnsw">
+ <di:waypoint xsi:type="dc:Point" x="405" y="-376" />
+ <di:waypoint xsi:type="dc:Point" x="405" y="-282" />
+ <di:waypoint xsi:type="dc:Point" x="525" y="-282" />
+ <di:waypoint xsi:type="dc:Point" x="525" y="-282" />
+ <di:waypoint xsi:type="dc:Point" x="799" y="-282" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1812" y="330" width="84" height="28" />
+ <dc:Bounds x="389" y="-368.53991291727147" width="12" height="14" />
</bpmndi:BPMNLabel>
- </bpmndi:BPMNShape>
- <bpmndi:BPMNShape id="ScriptTask_1aigzk8_di" bpmnElement="ScriptTask_1aigzk8">
- <dc:Bounds x="1665" y="67" width="100" height="80" />
- </bpmndi:BPMNShape>
- <bpmndi:BPMNShape id="ScriptTask_0cpsjwl_di" bpmnElement="ScriptTask_0cpsjwl">
- <dc:Bounds x="1042" y="67" width="100" height="80" />
- </bpmndi:BPMNShape>
- <bpmndi:BPMNShape id="ScriptTask_01cer09_di" bpmnElement="ScriptTask_01cer09">
- <dc:Bounds x="1245" y="67" width="100" height="80" />
- </bpmndi:BPMNShape>
- <bpmndi:BPMNShape id="ServiceTask_1go9g1i_di" bpmnElement="ServiceTask_1go9g1i">
- <dc:Bounds x="1042" y="266" width="100" height="80" />
- </bpmndi:BPMNShape>
- <bpmndi:BPMNShape id="ScriptTask_0ywn2ec_di" bpmnElement="ScriptTask_0ywn2ec">
- <dc:Bounds x="1245" y="266" width="100" height="80" />
- </bpmndi:BPMNShape>
- <bpmndi:BPMNShape id="IntermediateCatchEvent_0ui7e2m_di" bpmnElement="IntermediateCatchEvent_0ui7e2m">
- <dc:Bounds x="870" y="89" width="36" height="36" />
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_1msw3xo_di" bpmnElement="SequenceFlow_1msw3xo">
+ <di:waypoint xsi:type="dc:Point" x="430" y="-401" />
+ <di:waypoint xsi:type="dc:Point" x="563" y="-400" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="850" y="125" width="85" height="28" />
+ <dc:Bounds x="499.95320010152244" y="-422.3646305622811" width="18" height="14" />
</bpmndi:BPMNLabel>
- </bpmndi:BPMNShape>
- <bpmndi:BPMNShape id="ScriptTask_0y6ox5c_di" bpmnElement="ScriptTask_0y6ox5c">
- <dc:Bounds x="1442" y="266" width="100" height="80" />
- </bpmndi:BPMNShape>
- <bpmndi:BPMNShape id="ExclusiveGateway_02l57i8_di" bpmnElement="ExclusiveGateway_02l57i8" isMarkerVisible="true">
- <dc:Bounds x="1467" y="82" width="50" height="50" />
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="IntermediateCatchEvent_0cql41g_di" bpmnElement="IntermediateCatchEvent_0cql41g">
+ <dc:Bounds x="-9" y="-131" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1461" y="50" width="56" height="28" />
+ <dc:Bounds x="-29" y="-95" width="85" height="28" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
- <bpmndi:BPMNEdge id="SequenceFlow_0ecyqjf_di" bpmnElement="SequenceFlow_0ecyqjf">
- <di:waypoint xsi:type="dc:Point" x="906" y="-689" />
- <di:waypoint xsi:type="dc:Point" x="1042" y="-689" />
+ <bpmndi:BPMNEdge id="SequenceFlow_1f71u71_di" bpmnElement="SequenceFlow_1f71u71">
+ <di:waypoint xsi:type="dc:Point" x="263" y="-400" />
+ <di:waypoint xsi:type="dc:Point" x="380" y="-401" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="929" y="-711" width="0" height="14" />
+ <dc:Bounds x="321.5" y="-422.5" width="0" height="14" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_1sql6c3_di" bpmnElement="SequenceFlow_1sql6c3">
- <di:waypoint xsi:type="dc:Point" x="1142" y="-402" />
- <di:waypoint xsi:type="dc:Point" x="1245" y="-402" />
+ <bpmndi:BPMNEdge id="SequenceFlow_1ttrqml_di" bpmnElement="SequenceFlow_1ttrqml">
+ <di:waypoint xsi:type="dc:Point" x="27" y="-113" />
+ <di:waypoint xsi:type="dc:Point" x="163" y="-113" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1149.5" y="-424" width="0" height="14" />
+ <dc:Bounds x="50" y="-135" width="90" height="14" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_1soxbjk_di" bpmnElement="SequenceFlow_1soxbjk">
- <di:waypoint xsi:type="dc:Point" x="1345" y="-402" />
- <di:waypoint xsi:type="dc:Point" x="1442" y="-402" />
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_0wbo4nq_di" bpmnElement="IntermediateThrowEvent_0wbo4nq">
+ <dc:Bounds x="1026" y="-418" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1349.5" y="-424" width="0" height="14" />
+ <dc:Bounds x="1004" y="-377" width="85" height="42" />
</bpmndi:BPMNLabel>
- </bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_170nvzi_di" bpmnElement="SequenceFlow_170nvzi">
- <di:waypoint xsi:type="dc:Point" x="1778" y="-28" />
- <di:waypoint xsi:type="dc:Point" x="1848" y="-28" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ScriptTask_0yz8d8c_di" bpmnElement="ScriptTask_0yz8d8c">
+ <dc:Bounds x="573" y="12" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_04hwfll_di" bpmnElement="SequenceFlow_04hwfll">
+ <di:waypoint xsi:type="dc:Point" x="331" y="411" />
+ <di:waypoint xsi:type="dc:Point" x="509" y="411" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1768" y="-50" width="0" height="14" />
+ <dc:Bounds x="375" y="389" width="90" height="14" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_1tlym3z_di" bpmnElement="SequenceFlow_1tlym3z">
- <di:waypoint xsi:type="dc:Point" x="1142" y="-28" />
- <di:waypoint xsi:type="dc:Point" x="1194" y="-28" />
- <di:waypoint xsi:type="dc:Point" x="1194" y="-28" />
- <di:waypoint xsi:type="dc:Point" x="1245" y="-28" />
+ <bpmndi:BPMNShape id="ScriptTask_1y8kdt3_di" bpmnElement="ScriptTask_1y8kdt3">
+ <dc:Bounds x="563" y="-440" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_1kcu53z_di" bpmnElement="SequenceFlow_1kcu53z">
+ <di:waypoint xsi:type="dc:Point" x="663" y="-400" />
+ <di:waypoint xsi:type="dc:Point" x="792" y="-401" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1164" y="-35" width="0" height="14" />
+ <dc:Bounds x="727.5" y="-422.5" width="0" height="14" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_0z0u7x1_di" bpmnElement="SequenceFlow_0z0u7x1">
- <di:waypoint xsi:type="dc:Point" x="1345" y="-28" />
- <di:waypoint xsi:type="dc:Point" x="1394" y="-28" />
- <di:waypoint xsi:type="dc:Point" x="1394" y="-28" />
- <di:waypoint xsi:type="dc:Point" x="1442" y="-28" />
+ <bpmndi:BPMNShape id="ExclusiveGateway_0pj14lp_di" bpmnElement="ExclusiveGateway_0pj14lp" isMarkerVisible="true">
+ <dc:Bounds x="792" y="-426" width="50" height="50" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="776" y="-458" width="83" height="28" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0o376do_di" bpmnElement="SequenceFlow_0o376do">
+ <di:waypoint xsi:type="dc:Point" x="842" y="-401" />
+ <di:waypoint xsi:type="dc:Point" x="1026" y="-400" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1364" y="-35" width="0" height="14" />
+ <dc:Bounds x="924.8735220112762" y="-422.0003436810377" width="18" height="14" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_114wjuf_di" bpmnElement="SequenceFlow_114wjuf">
- <di:waypoint xsi:type="dc:Point" x="906" y="-402" />
- <di:waypoint xsi:type="dc:Point" x="1042" y="-402" />
+ <bpmndi:BPMNEdge id="SequenceFlow_1y8xkzy_di" bpmnElement="SequenceFlow_1y8xkzy">
+ <di:waypoint xsi:type="dc:Point" x="817" y="-376" />
+ <di:waypoint xsi:type="dc:Point" x="817" y="-300" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="929" y="-424" width="0" height="14" />
+ <dc:Bounds x="827" y="-357" width="12" height="14" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_000q9m3_di" bpmnElement="SequenceFlow_000q9m3">
- <di:waypoint xsi:type="dc:Point" x="1545" y="-402" />
- <di:waypoint xsi:type="dc:Point" x="1678" y="-402" />
+ <bpmndi:BPMNShape id="IntermediateThrowEvent_1y4vypx_di" bpmnElement="IntermediateThrowEvent_1y4vypx">
+ <dc:Bounds x="799" y="-300" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="777" y="-259" width="85" height="42" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="EndEvent_0o0n3fa_di" bpmnElement="EndEvent_0o0n3fa">
+ <dc:Bounds x="794" y="733" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1567.5" y="-424" width="0" height="14" />
+ <dc:Bounds x="758" y="775" width="84" height="28" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ScriptTask_1lazb8l_di" bpmnElement="ScriptTask_1lazb8l">
+ <dc:Bounds x="762" y="512" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ScriptTask_0buj724_di" bpmnElement="ScriptTask_0buj724">
+ <dc:Bounds x="139" y="512" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ScriptTask_0rixvgj_di" bpmnElement="ScriptTask_0rixvgj">
+ <dc:Bounds x="342" y="512" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ServiceTask_1kgvq5e_di" bpmnElement="ServiceTask_1kgvq5e">
+ <dc:Bounds x="-41" y="711" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ScriptTask_17s3yrn_di" bpmnElement="ScriptTask_17s3yrn">
+ <dc:Bounds x="231" y="711" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="IntermediateCatchEvent_18h4prx_di" bpmnElement="IntermediateCatchEvent_18h4prx">
+ <dc:Bounds x="-9" y="534" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="-29" y="570" width="85" height="28" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ScriptTask_03gddkg_di" bpmnElement="ScriptTask_03gddkg">
+ <dc:Bounds x="496" y="711" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0z9axn6_di" bpmnElement="SequenceFlow_0z9axn6">
+ <di:waypoint xsi:type="dc:Point" x="239" y="552" />
+ <di:waypoint xsi:type="dc:Point" x="342" y="552" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="246" y="530" width="90" height="14" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_1lhdwv6_di" bpmnElement="SequenceFlow_1lhdwv6">
- <di:waypoint xsi:type="dc:Point" x="1728" y="-362" />
- <di:waypoint xsi:type="dc:Point" x="1728" y="-316" />
- <di:waypoint xsi:type="dc:Point" x="1092" y="-316" />
- <di:waypoint xsi:type="dc:Point" x="1092" y="-271" />
+ <bpmndi:BPMNEdge id="SequenceFlow_131f1jj_di" bpmnElement="SequenceFlow_131f1jj">
+ <di:waypoint xsi:type="dc:Point" x="596" y="751" />
+ <di:waypoint xsi:type="dc:Point" x="794" y="751" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1365" y="-338" width="0" height="14" />
+ <dc:Bounds x="650" y="729" width="90" height="14" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_1bo3fu4_di" bpmnElement="SequenceFlow_1bo3fu4">
- <di:waypoint xsi:type="dc:Point" x="1542" y="-28" />
- <di:waypoint xsi:type="dc:Point" x="1678" y="-28" />
+ <bpmndi:BPMNEdge id="SequenceFlow_18gb81f_di" bpmnElement="SequenceFlow_18gb81f">
+ <di:waypoint xsi:type="dc:Point" x="812" y="592" />
+ <di:waypoint xsi:type="dc:Point" x="812" y="641" />
+ <di:waypoint xsi:type="dc:Point" x="9" y="641" />
+ <di:waypoint xsi:type="dc:Point" x="9" y="711" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1565" y="-50" width="0" height="14" />
+ <dc:Bounds x="365.5" y="619" width="90" height="14" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_0t0jlzs_di" bpmnElement="SequenceFlow_0t0jlzs">
- <di:waypoint xsi:type="dc:Point" x="1142" y="-231" />
- <di:waypoint xsi:type="dc:Point" x="1245" y="-231" />
+ <bpmndi:BPMNEdge id="SequenceFlow_0wnyy50_di" bpmnElement="SequenceFlow_0wnyy50">
+ <di:waypoint xsi:type="dc:Point" x="27" y="552" />
+ <di:waypoint xsi:type="dc:Point" x="139" y="552" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1148.5" y="-253" width="0" height="14" />
+ <dc:Bounds x="38" y="530" width="90" height="14" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_06fak6j_di" bpmnElement="SequenceFlow_06fak6j">
- <di:waypoint xsi:type="dc:Point" x="1345" y="-231" />
- <di:waypoint xsi:type="dc:Point" x="1442" y="-231" />
+ <bpmndi:BPMNEdge id="SequenceFlow_04l4to1_di" bpmnElement="SequenceFlow_04l4to1">
+ <di:waypoint xsi:type="dc:Point" x="442" y="552" />
+ <di:waypoint xsi:type="dc:Point" x="564" y="552" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1348.5" y="-253" width="0" height="14" />
+ <dc:Bounds x="458" y="530" width="90" height="14" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_0lpbqkc_di" bpmnElement="SequenceFlow_0lpbqkc">
- <di:waypoint xsi:type="dc:Point" x="1728" y="-191" />
- <di:waypoint xsi:type="dc:Point" x="1728" y="-137" />
- <di:waypoint xsi:type="dc:Point" x="1092" y="-137" />
- <di:waypoint xsi:type="dc:Point" x="1092" y="-68" />
+ <bpmndi:BPMNEdge id="SequenceFlow_1wn6y9u_di" bpmnElement="SequenceFlow_1wn6y9u">
+ <di:waypoint xsi:type="dc:Point" x="331" y="751" />
+ <di:waypoint xsi:type="dc:Point" x="496" y="751" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1365" y="-159" width="0" height="14" />
+ <dc:Bounds x="368.5" y="729" width="90" height="14" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_1jgurvk_di" bpmnElement="SequenceFlow_1jgurvk">
- <di:waypoint xsi:type="dc:Point" x="1142" y="-689" />
- <di:waypoint xsi:type="dc:Point" x="1259" y="-690" />
+ <bpmndi:BPMNShape id="ExclusiveGateway_1cz6dwq_di" bpmnElement="ExclusiveGateway_1cz6dwq" isMarkerVisible="true">
+ <dc:Bounds x="564" y="527" width="50" height="50" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="558" y="495" width="56" height="28" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0dkbe3r_di" bpmnElement="SequenceFlow_0dkbe3r">
+ <di:waypoint xsi:type="dc:Point" x="59" y="751" />
+ <di:waypoint xsi:type="dc:Point" x="231" y="751" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1156.5" y="-710.5" width="0" height="14" />
+ <dc:Bounds x="100" y="729" width="90" height="14" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_0u3tca8_di" bpmnElement="SequenceFlow_0u3tca8">
- <di:waypoint xsi:type="dc:Point" x="1284" y="-665" />
- <di:waypoint xsi:type="dc:Point" x="1284" y="-571" />
- <di:waypoint xsi:type="dc:Point" x="1404" y="-571" />
- <di:waypoint xsi:type="dc:Point" x="1404" y="-571" />
- <di:waypoint xsi:type="dc:Point" x="1678" y="-571" />
+ <bpmndi:BPMNEdge id="SequenceFlow_1wq9f5k_di" bpmnElement="SequenceFlow_1wq9f5k">
+ <di:waypoint xsi:type="dc:Point" x="614" y="552" />
+ <di:waypoint xsi:type="dc:Point" x="762" y="552" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1268" y="-658" width="12" height="14" />
+ <dc:Bounds x="679" y="530" width="18" height="14" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_11pvz8i_di" bpmnElement="SequenceFlow_11pvz8i">
- <di:waypoint xsi:type="dc:Point" x="1309" y="-690" />
- <di:waypoint xsi:type="dc:Point" x="1442" y="-689" />
+ <bpmndi:BPMNEdge id="SequenceFlow_1swgag2_di" bpmnElement="SequenceFlow_1swgag2">
+ <di:waypoint xsi:type="dc:Point" x="589" y="577" />
+ <di:waypoint xsi:type="dc:Point" x="589" y="641" />
+ <di:waypoint xsi:type="dc:Point" x="9" y="641" />
+ <di:waypoint xsi:type="dc:Point" x="9" y="711" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1378.5" y="-711.5" width="18" height="14" />
+ <dc:Bounds x="293.22499999999997" y="619" width="13" height="14" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_06avdut_di" bpmnElement="SequenceFlow_06avdut">
- <di:waypoint xsi:type="dc:Point" x="1721" y="-690" />
- <di:waypoint xsi:type="dc:Point" x="1835" y="-689" />
+ <bpmndi:BPMNShape id="ScriptTask_1pdhttw_di" bpmnElement="ScriptTask_1pdhttw">
+ <dc:Bounds x="573" y="187" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ExclusiveGateway_1662gjm_di" bpmnElement="ExclusiveGateway_1662gjm" isMarkerVisible="true">
+ <dc:Bounds x="386" y="27" width="50" height="50" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="384" y="-25" width="55" height="42" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ExclusiveGateway_1we7izu_di" bpmnElement="ExclusiveGateway_1we7izu" isMarkerVisible="true">
+ <dc:Bounds x="823" y="202" width="50" height="50" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="880" y="206" width="68" height="42" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ScriptTask_18auy29_di" bpmnElement="ScriptTask_18auy29">
+ <dc:Bounds x="509" y="371" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0a8k9xi_di" bpmnElement="SequenceFlow_0a8k9xi">
+ <di:waypoint xsi:type="dc:Point" x="609" y="411" />
+ <di:waypoint xsi:type="dc:Point" x="704" y="411" />
+ <di:waypoint xsi:type="dc:Point" x="704" y="411" />
+ <di:waypoint xsi:type="dc:Point" x="799" y="411" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1769" y="-710.5" width="18" height="14" />
+ <dc:Bounds x="674" y="404" width="90" height="14" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_0cuvrsr_di" bpmnElement="SequenceFlow_0cuvrsr">
- <di:waypoint xsi:type="dc:Point" x="1542" y="-231" />
- <di:waypoint xsi:type="dc:Point" x="1678" y="-231" />
+ <bpmndi:BPMNEdge id="SequenceFlow_15mvx68_di" bpmnElement="SequenceFlow_15mvx68">
+ <di:waypoint xsi:type="dc:Point" x="59" y="52" />
+ <di:waypoint xsi:type="dc:Point" x="163" y="52" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1565" y="-253" width="0" height="14" />
+ <dc:Bounds x="66" y="30" width="90" height="14" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_1lqmzex_di" bpmnElement="SequenceFlow_1lqmzex">
- <di:waypoint xsi:type="dc:Point" x="1542" y="-689" />
- <di:waypoint xsi:type="dc:Point" x="1671" y="-690" />
+ <bpmndi:BPMNEdge id="SequenceFlow_0wp73cw_di" bpmnElement="SequenceFlow_0wp73cw">
+ <di:waypoint xsi:type="dc:Point" x="263" y="52" />
+ <di:waypoint xsi:type="dc:Point" x="386" y="52" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1606.5" y="-711.5" width="0" height="14" />
+ <dc:Bounds x="279.5" y="30" width="90" height="14" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_1pwflny_di" bpmnElement="SequenceFlow_1pwflny">
- <di:waypoint xsi:type="dc:Point" x="1696" y="-665" />
- <di:waypoint xsi:type="dc:Point" x="1696" y="-589" />
+ <bpmndi:BPMNEdge id="SequenceFlow_13s0mg5_di" bpmnElement="SequenceFlow_13s0mg5">
+ <di:waypoint xsi:type="dc:Point" x="436" y="52" />
+ <di:waypoint xsi:type="dc:Point" x="573" y="52" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1706" y="-646" width="12" height="14" />
+ <dc:Bounds x="496" y="30" width="18" height="14" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_0vhbw8y_di" bpmnElement="SequenceFlow_0vhbw8y">
- <di:waypoint xsi:type="dc:Point" x="1542" y="306" />
- <di:waypoint xsi:type="dc:Point" x="1848" y="306" />
+ <bpmndi:BPMNEdge id="SequenceFlow_0fkfn70_di" bpmnElement="SequenceFlow_0fkfn70">
+ <di:waypoint xsi:type="dc:Point" x="673" y="52" />
+ <di:waypoint xsi:type="dc:Point" x="798" y="52" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1695" y="284" width="0" height="14" />
+ <dc:Bounds x="690.5" y="30" width="90" height="14" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_03mc2qq_di" bpmnElement="SequenceFlow_03mc2qq">
- <di:waypoint xsi:type="dc:Point" x="1517" y="107" />
- <di:waypoint xsi:type="dc:Point" x="1665" y="107" />
+ <bpmndi:BPMNEdge id="SequenceFlow_1suwdgi_di" bpmnElement="SequenceFlow_1suwdgi">
+ <di:waypoint xsi:type="dc:Point" x="673" y="-113" />
+ <di:waypoint xsi:type="dc:Point" x="848" y="-113" />
+ <di:waypoint xsi:type="dc:Point" x="848" y="-39" />
+ <di:waypoint xsi:type="dc:Point" x="9" y="-39" />
+ <di:waypoint xsi:type="dc:Point" x="9" y="12" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1582" y="85" width="18" height="14" />
+ <dc:Bounds x="818" y="-83" width="90" height="14" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_03ngo7h_di" bpmnElement="SequenceFlow_03ngo7h">
- <di:waypoint xsi:type="dc:Point" x="1715" y="147" />
- <di:waypoint xsi:type="dc:Point" x="1715" y="196" />
- <di:waypoint xsi:type="dc:Point" x="1092" y="196" />
- <di:waypoint xsi:type="dc:Point" x="1092" y="266" />
+ <bpmndi:BPMNEdge id="SequenceFlow_0kkou66_di" bpmnElement="SequenceFlow_0kkou66">
+ <di:waypoint xsi:type="dc:Point" x="623" y="187" />
+ <di:waypoint xsi:type="dc:Point" x="623" y="92" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1403.5" y="174" width="0" height="14" />
+ <dc:Bounds x="593" y="132.5" width="90" height="14" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_1x1sk3t_di" bpmnElement="SequenceFlow_1x1sk3t">
- <di:waypoint xsi:type="dc:Point" x="906" y="107" />
- <di:waypoint xsi:type="dc:Point" x="1042" y="107" />
+ <bpmndi:BPMNEdge id="SequenceFlow_1luhljs_di" bpmnElement="SequenceFlow_1luhljs">
+ <di:waypoint xsi:type="dc:Point" x="848" y="92" />
+ <di:waypoint xsi:type="dc:Point" x="848" y="202" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="929" y="85" width="0" height="14" />
+ <dc:Bounds x="818" y="140" width="90" height="14" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_02l74nc_di" bpmnElement="SequenceFlow_02l74nc">
- <di:waypoint xsi:type="dc:Point" x="1142" y="107" />
- <di:waypoint xsi:type="dc:Point" x="1245" y="107" />
+ <bpmndi:BPMNEdge id="SequenceFlow_1udji9x_di" bpmnElement="SequenceFlow_1udji9x">
+ <di:waypoint xsi:type="dc:Point" x="823" y="227" />
+ <di:waypoint xsi:type="dc:Point" x="673" y="227" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1193.5" y="85" width="0" height="14" />
+ <dc:Bounds x="746" y="208" width="12" height="14" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_0ff0jf2_di" bpmnElement="SequenceFlow_0ff0jf2">
- <di:waypoint xsi:type="dc:Point" x="1345" y="107" />
- <di:waypoint xsi:type="dc:Point" x="1467" y="107" />
+ <bpmndi:BPMNShape id="EndEvent_19joonf_di" bpmnElement="EndEvent_19joonf">
+ <dc:Bounds x="387" y="197" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1406" y="85" width="0" height="14" />
+ <dc:Bounds x="360" y="236" width="90" height="14" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_12seu6n_di" bpmnElement="SequenceFlow_12seu6n">
+ <di:waypoint xsi:type="dc:Point" x="411" y="77" />
+ <di:waypoint xsi:type="dc:Point" x="411" y="137" />
+ <di:waypoint xsi:type="dc:Point" x="9" y="137" />
+ <di:waypoint xsi:type="dc:Point" x="9" y="175" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="183.26272082138004" y="113.00000000000001" width="12" height="14" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_177yb27_di" bpmnElement="SequenceFlow_177yb27">
- <di:waypoint xsi:type="dc:Point" x="1492" y="132" />
- <di:waypoint xsi:type="dc:Point" x="1492" y="196" />
- <di:waypoint xsi:type="dc:Point" x="1092" y="196" />
- <di:waypoint xsi:type="dc:Point" x="1092" y="266" />
+ <bpmndi:BPMNEdge id="SequenceFlow_0y2g8mr_di" bpmnElement="SequenceFlow_0y2g8mr">
+ <di:waypoint xsi:type="dc:Point" x="848" y="252" />
+ <di:waypoint xsi:type="dc:Point" x="848" y="324" />
+ <di:waypoint xsi:type="dc:Point" x="9" y="324" />
+ <di:waypoint xsi:type="dc:Point" x="9" y="371" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1286" y="174" width="13" height="14" />
+ <dc:Bounds x="419.8991436726927" y="302" width="18" height="14" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_1784pcx_di" bpmnElement="SequenceFlow_1784pcx">
- <di:waypoint xsi:type="dc:Point" x="1142" y="306" />
- <di:waypoint xsi:type="dc:Point" x="1176" y="306" />
- <di:waypoint xsi:type="dc:Point" x="1241" y="306" />
+ <bpmndi:BPMNShape id="ScriptTask_07cq0pw_di" bpmnElement="ScriptTask_07cq0pw">
+ <dc:Bounds x="-41" y="175" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ServiceTask_1ixmamy_di" bpmnElement="ServiceTask_1ixmamy">
+ <dc:Bounds x="166" y="175" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0i9iiuo_di" bpmnElement="SequenceFlow_0i9iiuo">
+ <di:waypoint xsi:type="dc:Point" x="59" y="215" />
+ <di:waypoint xsi:type="dc:Point" x="166" y="215" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1159" y="284" width="0" height="14" />
+ <dc:Bounds x="68.5" y="193" width="0" height="14" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
- <bpmndi:BPMNEdge id="SequenceFlow_1xhcwoo_di" bpmnElement="SequenceFlow_1xhcwoo">
- <di:waypoint xsi:type="dc:Point" x="1345" y="306" />
- <di:waypoint xsi:type="dc:Point" x="1400" y="306" />
- <di:waypoint xsi:type="dc:Point" x="1400" y="306" />
- <di:waypoint xsi:type="dc:Point" x="1442" y="306" />
+ <bpmndi:BPMNEdge id="SequenceFlow_1mei7hu_di" bpmnElement="SequenceFlow_1mei7hu">
+ <di:waypoint xsi:type="dc:Point" x="266" y="215" />
+ <di:waypoint xsi:type="dc:Point" x="387" y="215" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1415" y="299" width="0" height="14" />
+ <dc:Bounds x="326.5" y="193" width="0" height="14" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>