diff options
Diffstat (limited to 'bpmn')
10 files changed, 1798 insertions, 22 deletions
diff --git a/bpmn/MSOCommonBPMN/pom.xml b/bpmn/MSOCommonBPMN/pom.xml index 6067982b99..a0a5a24e3f 100644 --- a/bpmn/MSOCommonBPMN/pom.xml +++ b/bpmn/MSOCommonBPMN/pom.xml @@ -348,7 +348,7 @@ <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> - <version>${spring.version}</version> + <version>4.3.14.RELEASE</version> </dependency> <dependency> <groupId>org.openecomp.sdc.sdc-tosca</groupId> diff --git a/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/client/adapter/requests/db/MsoRequestsDbAdapterClient.java b/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/client/adapter/requests/db/MsoRequestsDbAdapterClient.java index 109da17ea2..2443169151 100644 --- a/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/client/adapter/requests/db/MsoRequestsDbAdapterClient.java +++ b/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/client/adapter/requests/db/MsoRequestsDbAdapterClient.java @@ -51,7 +51,7 @@ public class MsoRequestsDbAdapterClient implements MsoRequestsDbAdapter { MsoLogger.setLogContext(request.getRequestId(), null);
try {
session.beginTransaction();
- String queryString = "update InfraActiveRequests set ";
+ StringBuilder queryString = new StringBuilder("update InfraActiveRequests set ");
String statusMessage = null;
String responseBody = null;
RequestStatusType requestStatus = null;
@@ -67,72 +67,72 @@ public class MsoRequestsDbAdapterClient implements MsoRequestsDbAdapter { String configurationId = null;
String configurationName = null;
if (request.getStatusMessage() != null) {
- queryString += "statusMessage = :statusMessage, ";
+ queryString.append("statusMessage = :statusMessage, ");
statusMessage = request.getStatusMessage();
}
if (request.getResponseBody() != null) {
- queryString += "responseBody = :responseBody, ";
+ queryString.append("responseBody = :responseBody, ");
responseBody = request.getResponseBody();
}
if (request.getRequestStatus() != null) {
- queryString += "requestStatus = :requestStatus, ";
+ queryString.append("requestStatus = :requestStatus, ");
requestStatus = request.getRequestStatus();
}
if (request.getProgress() != null) {
- queryString += "progress = :progress, ";
+ queryString.append("progress = :progress, ");
progress = request.getProgress();
}
if (request.getVnfOutputs() != null) {
- queryString += "vnfOutputs = :vnfOutputs, ";
+ queryString.append("vnfOutputs = :vnfOutputs, ");
vnfOutputs = request.getVnfOutputs();
}
if (request.getServiceInstanceId() != null) {
- queryString += "serviceInstanceId = :serviceInstanceId, ";
+ queryString.append("serviceInstanceId = :serviceInstanceId, ");
serviceInstanceId = request.getServiceInstanceId();
}
if (request.getNetworkId() != null) {
- queryString += "networkId = :networkId, ";
+ queryString.append("networkId = :networkId, ");
networkId = request.getNetworkId();
}
if (request.getVnfId() != null) {
- queryString += "vnfId = :vnfId, ";
+ queryString.append("vnfId = :vnfId, ");
vnfId = request.getVnfId();
}
if (request.getVfModuleId() != null) {
- queryString += "vfModuleId = :vfModuleId, ";
+ queryString.append("vfModuleId = :vfModuleId, ");
vfModuleId = request.getVfModuleId();
}
if (request.getVolumeGroupId() != null) {
- queryString += "volumeGroupId = :volumeGroupId, ";
+ queryString.append("volumeGroupId = :volumeGroupId, ");
volumeGroupId = request.getVolumeGroupId();
}
if (request.getServiceInstanceName() != null) {
- queryString += "serviceInstanceName = :serviceInstanceName, ";
+ queryString.append("serviceInstanceName = :serviceInstanceName, ");
serviceInstanceName = request.getServiceInstanceName();
}
if (request.getVfModuleName() != null) {
- queryString += "vfModuleName = :vfModuleName, ";
+ queryString.append("vfModuleName = :vfModuleName, ");
vfModuleName = request.getVfModuleName();
}
if (request.getConfigurationId() != null) {
- queryString += "configurationId = :configurationId, ";
+ queryString.append("configurationId = :configurationId, ");
configurationId = request.getConfigurationId();
}
if (request.getConfigurationName() != null) {
- queryString += "configurationName = :configurationName, ";
+ queryString.append("configurationName = :configurationName, ");
configurationName = request.getConfigurationName();
}
if (request.getRequestStatus() == RequestStatusType.COMPLETE
|| request.getRequestStatus() == RequestStatusType.FAILED) {
- queryString += "endTime = :endTime, ";
+ queryString.append("endTime = :endTime, ");
} else {
- queryString += "modifyTime = :modifyTime, ";
+ queryString.append("modifyTime = :modifyTime, ");
}
- queryString += "lastModifiedBy = :lastModifiedBy where requestId = :requestId OR clientRequestId = :requestId";
+ queryString.append("lastModifiedBy = :lastModifiedBy where requestId = :requestId OR clientRequestId = :requestId");
- LOGGER.debug("Executing update: " + queryString);
+ LOGGER.debug("Executing update: " + queryString.toString());
- Query query = session.createQuery(queryString);
+ Query query = session.createQuery(queryString.toString());
query.setParameter("requestId", request.getRequestId());
if (statusMessage != null) {
query.setParameter("statusMessage", statusMessage);
diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/client/adapter/requests/db/entities/MsoRequestsDbExceptionBeanTest.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/client/adapter/requests/db/entities/MsoRequestsDbExceptionBeanTest.java new file mode 100644 index 0000000000..f0c6e7ec52 --- /dev/null +++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/client/adapter/requests/db/entities/MsoRequestsDbExceptionBeanTest.java @@ -0,0 +1,33 @@ +/* +* ============LICENSE_START======================================================= +* ONAP : SO +* ================================================================================ +* Copyright 2018 TechMahindra +*================================================================================= +* 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.openecomp.mso.client.adapter.requests.db.entities; + +import org.junit.Test; + +public class MsoRequestsDbExceptionBeanTest { + + @Test + public void test() { + MsoRequestsDbExceptionBean mrde=new MsoRequestsDbExceptionBean("msg"); + mrde.setMessage("msg"); + assert(mrde.getMessage().equals("msg")); + } +} diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/client/adapter/requests/db/entities/MsoRequestsDbExceptionTest.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/client/adapter/requests/db/entities/MsoRequestsDbExceptionTest.java new file mode 100644 index 0000000000..28b8cc991f --- /dev/null +++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/client/adapter/requests/db/entities/MsoRequestsDbExceptionTest.java @@ -0,0 +1,37 @@ +/* +* ============LICENSE_START======================================================= +* ONAP : SO +* ================================================================================ +* Copyright 2018 TechMahindra +*================================================================================= +* 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.openecomp.mso.client.adapter.requests.db.entities; + +import org.junit.Test; + +public class MsoRequestsDbExceptionTest { + + @Test + public void test() { + Throwable e = new Throwable(); + MsoRequestsDbExceptionBean mredb=new MsoRequestsDbExceptionBean(); + MsoRequestsDbException mrde=new MsoRequestsDbException("msg",e); + MsoRequestsDbException mrd=new MsoRequestsDbException("msg"); + MsoRequestsDbException mrd1=new MsoRequestsDbException(e); + mrde.setFaultInfo(mredb); + assert(mrde.getFaultInfo().equals(mredb)); + } +} diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/client/adapter/requests/db/entities/UpdateInfraRequestTest.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/client/adapter/requests/db/entities/UpdateInfraRequestTest.java new file mode 100644 index 0000000000..d01c11948b --- /dev/null +++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/client/adapter/requests/db/entities/UpdateInfraRequestTest.java @@ -0,0 +1,64 @@ +/* +* ============LICENSE_START======================================================= +* ONAP : SO +* ================================================================================ +* Copyright 2018 TechMahindra +*================================================================================= +* 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.openecomp.mso.client.adapter.requests.db.entities; + +import org.junit.Test; + +public class UpdateInfraRequestTest { + + @Test + public void test() { + UpdateInfraRequest uir=new UpdateInfraRequest(); + RequestStatusType requestStatus=RequestStatusType.COMPLETE; + uir.setConfigurationId("configurationId"); + uir.setConfigurationName("configurationName"); + uir.setLastModifiedBy("lastModifiedBy"); + uir.setNetworkId("networkId"); + uir.setProgress("progress"); + uir.setRequestId("requestId"); + uir.setRequestStatus(requestStatus); + uir.setResponseBody("responseBody"); + uir.setServiceInstanceId("serviceInstanceId"); + uir.setServiceInstanceName("serviceInstanceName"); + uir.setStatusMessage("statusMessage"); + uir.setVfModuleId("vfModuleId"); + uir.setVfModuleName("vfModuleName"); + uir.setVnfId("vnfId"); + uir.setVnfOutputs("vnfOutputs"); + uir.setVolumeGroupId("volumeGroupId"); + assert(uir.getConfigurationId().equals("configurationId")); + assert(uir.getConfigurationName().equals("configurationName")); + assert(uir.getLastModifiedBy().equals("lastModifiedBy")); + assert(uir.getNetworkId().equals("networkId")); + assert(uir.getProgress().equals("progress")); + assert(uir.getRequestId().equals("requestId")); + assert(uir.getRequestStatus().equals(requestStatus)); + assert(uir.getResponseBody().equals("responseBody")); + assert(uir.getServiceInstanceId().equals("serviceInstanceId")); + assert(uir.getServiceInstanceName().equals("serviceInstanceName")); + assert(uir.getStatusMessage().equals("statusMessage")); + assert(uir.getVfModuleId().equals("vfModuleId")); + assert(uir.getVnfOutputs().equals("vnfOutputs")); + assert(uir.getVolumeGroupId().equals("volumeGroupId")); + assert(uir.getVfModuleName().equals("vfModuleName")); + assert(uir.getVnfId().equals("vnfId")); + } +} diff --git a/bpmn/MSOCoreBPMN/pom.xml b/bpmn/MSOCoreBPMN/pom.xml index 690dd5414a..2f9d574ae1 100644 --- a/bpmn/MSOCoreBPMN/pom.xml +++ b/bpmn/MSOCoreBPMN/pom.xml @@ -73,7 +73,7 @@ <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> - <version>1.3.2</version> + <version>1.3.3</version> </dependency> <dependency> <groupId>javax.servlet</groupId> diff --git a/bpmn/MSOInfrastructureBPMN/pom.xml b/bpmn/MSOInfrastructureBPMN/pom.xml index 79d3c4fa72..f7170ff231 100644 --- a/bpmn/MSOInfrastructureBPMN/pom.xml +++ b/bpmn/MSOInfrastructureBPMN/pom.xml @@ -342,6 +342,31 @@ </exclusions>
</dependency>
+ <!-- bwj add; Jetty-util -->
+ <dependency>
+ <groupId>org.eclipse.jetty</groupId>
+ <artifactId>jetty-util</artifactId>
+ <version>9.4.8.v20171121</version>
+ </dependency>
+ <!-- bwj add; hibernate-validator -->
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-validator</artifactId>
+ <version>5.4.2.Final</version>
+ </dependency>
+ <!-- bwj add; spring-test -->
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-test</artifactId>
+ <version>4.3.14.RELEASE</version>
+ </dependency>
+ <!-- bwj add; libphonenumber -->
+ <dependency>
+ <groupId>com.googlecode.libphonenumber</groupId>
+ <artifactId>libphonenumber</artifactId>
+ <version>8.9.1</version>
+ </dependency>
+
<!--for yang tools-->
<!-- <dependency>
<groupId>org.onap.so</groupId>
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoUpdateE2EServiceInstanceRollback.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoUpdateE2EServiceInstanceRollback.groovy new file mode 100644 index 0000000000..2891855e8f --- /dev/null +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoUpdateE2EServiceInstanceRollback.groovy @@ -0,0 +1,341 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP - 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.openecomp.mso.bpmn.infrastructure.scripts + + +import static org.apache.commons.lang3.StringUtils.*; +import groovy.xml.XmlUtil +import groovy.json.* + +import org.openecomp.mso.bpmn.core.json.JsonUtils +import org.openecomp.mso.bpmn.common.scripts.AbstractServiceTaskProcessor +import org.openecomp.mso.bpmn.common.scripts.SDNCAdapterUtils +import org.openecomp.mso.bpmn.core.RollbackData +import org.openecomp.mso.bpmn.core.WorkflowException +import org.openecomp.mso.rest.APIResponse; +import org.openecomp.mso.rest.RESTClient +import org.openecomp.mso.rest.RESTConfig + +import java.util.UUID; + +import org.camunda.bpm.engine.delegate.BpmnError +import org.camunda.bpm.engine.delegate.DelegateExecution +import org.json.JSONObject; +import org.apache.commons.lang3.* +import org.apache.commons.codec.binary.Base64; +import org.springframework.web.util.UriUtils; +/** + * This groovy class supports the <class>DoUpdateE2EServiceInstanceRollback.bpmn</class> process. + * + * Inputs: + * @param - msoRequestId + * @param - rollbackData with + * globalCustomerId + * subscriptionServiceType + * serviceInstanceId + * disableRollback + * rollbackAAI + * rollbackAdded + * rollbackDeleted + * + * + * Outputs: + * @param - rollbackError + * @param - rolledBack (no localRB->null, localRB F->false, localRB S->true) + * + */ +public class DoUpdateE2EServiceInstanceRollback extends AbstractServiceTaskProcessor{ + + String Prefix="DUPDSIRB_" + + public void preProcessRequest(DelegateExecution execution) { + def isDebugEnabled = execution.getVariable("isDebugLogEnabled") + execution.setVariable("prefix",Prefix) + String msg = "" + utils.log("DEBUG"," ***** preProcessRequest *****", isDebugEnabled) + execution.setVariable("rollbackAAI",false) + execution.setVariable("rollbackAdded",false) + execution.setVariable("rollbackDeleted",false) + + List addResourceList = execution.getVariable("addResourceList") + List delResourceList = execution.getVariable("delResourceList") + execution.setVariable("addResourceList_o", addResourceList) + execution.setVariable("addResourceList", delResourceList) + execution.setVariable("delResourceList_o", delResourceList) + execution.setVariable("delResourceList", addResourceList) + + try { + def rollbackData = execution.getVariable("rollbackData") + utils.log("DEBUG", "RollbackData:" + rollbackData, isDebugEnabled) + + if (rollbackData != null) { + if (rollbackData.hasType("SERVICEINSTANCE")) { + + def serviceInstanceId = rollbackData.get("SERVICEINSTANCE", "serviceInstanceId") + execution.setVariable("serviceInstanceId", serviceInstanceId) + + def subscriptionServiceType = rollbackData.get("SERVICEINSTANCE", "subscriptionServiceType") + execution.setVariable("subscriptionServiceType", subscriptionServiceType) + + def globalSubscriberId = rollbackData.get("SERVICEINSTANCE", "globalSubscriberId") + execution.setVariable("globalSubscriberId", globalSubscriberId) + + def rollbackAAI = rollbackData.get("SERVICEINSTANCE", "rollbackAAI") + if ("true".equals(rollbackAAI)) + { + execution.setVariable("rollbackAAI",true) + } + + def rollbackAdded = rollbackData.get("SERVICEINSTANCE", "rollbackAdded") + if ("true".equals(rollbackAdded)) + { + execution.setVariable("rollbackAdded", true) + } + + def rollbackDeleted = rollbackData.get("SERVICEINSTANCE", "rollbackDeleted") + if ("true".equals(rollbackDeleted)) + { + execution.setVariable("rollbackDeleted", true) + } + + if (execution.getVariable("rollbackAAI") != true && execution.getVariable("rollbackAdded") != true + && execution.getVariable("rollbackDeleted") != true) + { + execution.setVariable("skipRollback", true) + } + + } + else { + execution.setVariable("skipRollback", true) + } + } + else { + execution.setVariable("skipRollback", true) + } + if (execution.getVariable("disableRollback").equals("true" )) + { + execution.setVariable("skipRollback", true) + } + + } catch (BpmnError e) { + throw e; + } catch (Exception ex){ + msg = "Exception in Update ServiceInstance Rollback preProcessRequest " + ex.getMessage() + utils.log("DEBUG", msg, isDebugEnabled) + exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg) + } + utils.log("DEBUG"," ***** Exit preProcessRequest *****", isDebugEnabled) + } + + public void postProcessRequest(DelegateExecution execution) { + def isDebugEnabled=execution.getVariable("isDebugLogEnabled") + utils.log("DEBUG"," ***** postProcessRequest ***** ", isDebugEnabled) + String msg = "" + try { + execution.setVariable("rollbackData", null) + String serviceInstanceId = execution.getVariable("serviceInstanceId") + boolean rollbackAAI = execution.getVariable("rollbackAAI") + boolean rollbackAdded = execution.getVariable("rollbackAdded") + boolean rollbackDeleted = execution.getVariable("rollbackDeleted") + + List addResourceList = execution.getVariable("addResourceList_o") + List delResourceList = execution.getVariable("delResourceList_o") + execution.setVariable("addResourceList", addResourceList) + execution.setVariable("delResourceList", delResourceList) + + if (rollbackAAI || rollbackAdded || rollbackDeleted) + { + execution.setVariable("rolledBack", true) + } + if (rollbackAAI) + { + boolean succInAAI = execution.getVariable("GENDS_SuccessIndicator") + if(!succInAAI){ + execution.setVariable("rolledBack", false) //both sdnc and aai must be successful to declare rollback Succesful + execution.setVariable("rollbackError", "Error deleting service-instance in AAI for rollback") + utils.log("DEBUG","Error deleting service-instance in AAI for rollback", + serviceInstanceId, isDebugEnabled) + } + } + utils.log("DEBUG","*** Exit postProcessRequest ***", isDebugEnabled) + + } catch (BpmnError e) { + msg = "Exception in Create ServiceInstance Rollback postProcessRequest. " + e.getMessage() + utils.log("DEBUG", msg, isDebugEnabled) + } catch (Exception ex) { + msg = "Exception in Create ServiceInstance Rollback postProcessRequest. " + ex.getMessage() + utils.log("DEBUG", msg, isDebugEnabled) + } + } + + + public void preProcessForAddResource(DelegateExecution execution) { + def isDebugEnabled=execution.getVariable("isDebugLogEnabled") + } + + public void postProcessForAddResource(DelegateExecution execution) { + def isDebugEnabled=execution.getVariable("isDebugLogEnabled") + + } + + public void preProcessForDeleteResource(DelegateExecution execution) { + def isDebugEnabled=execution.getVariable("isDebugLogEnabled") + + } + + public void postProcessForDeleteResource(DelegateExecution execution) { + def isDebugEnabled=execution.getVariable("isDebugLogEnabled") + + } + + public void preProcessAAIGET2(DelegateExecution execution) { + def isDebugEnabled=execution.getVariable("isDebugLogEnabled") + } + + public void postProcessAAIGET(DelegateExecution execution) { + def isDebugEnabled=execution.getVariable("isDebugLogEnabled") + utils.log("INFO"," ***** postProcessAAIGET ***** ", isDebugEnabled) + String msg = "" + + try { + String serviceInstanceName = execution.getVariable("serviceInstanceName") + boolean succInAAI = execution.getVariable("GENGS_SuccessIndicator") + if(!succInAAI){ + utils.log("INFO","Error getting Service-instance from AAI in postProcessAAIGET", + serviceInstanceName, isDebugEnabled) + WorkflowException workflowException = execution.getVariable("WorkflowException") + utils.logAudit("workflowException: " + workflowException) + if(workflowException != null){ + exceptionUtil.buildAndThrowWorkflowException(execution, workflowException.getErrorCode(), workflowException.getErrorMessage()) + } + else + { + msg = "Failure in postProcessAAIGET GENGS_SuccessIndicator:" + succInAAI + utils.log("INFO", msg, isDebugEnabled) + exceptionUtil.buildAndThrowWorkflowException(execution, 2500, msg) + } + } + else + { + boolean foundInAAI = execution.getVariable("GENGS_FoundIndicator") + if(foundInAAI){ + String aaiService = execution.getVariable("GENGS_service") + if (!isBlank(aaiService) && (utils.nodeExists(aaiService, "resource-version"))) { + execution.setVariable("serviceInstanceVersion_n", utils.getNodeText1(aaiService, "resource-version")) + utils.log("INFO","Found Service-instance in AAI.serviceInstanceName:" + execution.getVariable("serviceInstanceName"), isDebugEnabled) + } + } + } + } catch (BpmnError e) { + throw e; + } catch (Exception ex) { + msg = "Exception in DoCreateServiceInstance.postProcessAAIGET " + ex.getMessage() + utils.log("INFO", msg, isDebugEnabled) + exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg) + } + utils.log("INFO"," *** Exit postProcessAAIGET *** ", isDebugEnabled) + } + + public void preProcessAAIPUT(DelegateExecution execution) { + def method = getClass().getSimpleName() + '.preProcessRequest(' +'execution=' + execution.getId() +')' + def isDebugEnabled = execution.getVariable("isDebugLogEnabled") + utils.log("INFO","Entered " + method, isDebugEnabled) + String msg = "" + utils.log("INFO"," ***** preProcessAAIPUT *****", isDebugEnabled) + + String modelUuid = execution.getVariable("model-version-id-original") + String serviceInstanceVersion = execution.getVariable("serviceInstanceVersion_n") + execution.setVariable("GENPS_serviceResourceVersion", serviceInstanceVersion) + + String serviceInstanceData = + """<service-instance xmlns=\"${namespace}\"> + <resource-version">${serviceInstanceVersion}</resource-version> + </service-instance>""".trim() + + execution.setVariable("serviceInstanceData", serviceInstanceData) + utils.log("INFO","serviceInstanceData: " + serviceInstanceData, isDebugEnabled) + utils.logAudit(serviceInstanceData) + utils.log("INFO", " aai_uri " + aai_uri + " namespace:" + namespace, isDebugEnabled) + utils.log("INFO", " 'payload' to update Service Instance in AAI - " + "\n" + serviceInstanceData, isDebugEnabled) + + utils.log("INFO", "Exited " + method, isDebugEnabled) + } + + public void postProcessAAIPUT(DelegateExecution execution) { + def isDebugEnabled=execution.getVariable("isDebugLogEnabled") + utils.log("INFO"," ***** postProcessAAIPUT ***** ", isDebugEnabled) + String msg = "" + try { + String serviceInstanceId = execution.getVariable("serviceInstanceId") + boolean succInAAI = execution.getVariable("GENPS_SuccessIndicator") + if(!succInAAI){ + utils.log("INFO","Error putting Service-instance in AAI", + serviceInstanceId, isDebugEnabled) + WorkflowException workflowException = execution.getVariable("WorkflowException") + utils.logAudit("workflowException: " + workflowException) + if(workflowException != null){ + exceptionUtil.buildAndThrowWorkflowException(execution, workflowException.getErrorCode(), workflowException.getErrorMessage()) + } + } + else + { + + } + + } catch (BpmnError e) { + throw e; + } catch (Exception ex) { + msg = "Exception in DoCreateServiceInstance.postProcessAAIDEL. " + ex.getMessage() + utils.log("INFO", msg, isDebugEnabled) + exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg) + } + utils.log("INFO"," *** Exit postProcessAAIPUT *** ", isDebugEnabled) + } + + public void processRollbackException(DelegateExecution execution){ + def isDebugEnabled=execution.getVariable("isDebugLogEnabled") + utils.log("DEBUG"," ***** processRollbackException ***** ", isDebugEnabled) + try{ + utils.log("DEBUG", "Caught an Exception in DoCreateServiceInstanceRollback", isDebugEnabled) + execution.setVariable("rollbackData", null) + execution.setVariable("rollbackError", "Caught exception in ServiceInstance Update Rollback") + execution.setVariable("WorkflowException", null) + + }catch(BpmnError b){ + utils.log("DEBUG", "BPMN Error during processRollbackExceptions Method: ", isDebugEnabled) + }catch(Exception e){ + utils.log("DEBUG", "Caught Exception during processRollbackExceptions Method: " + e.getMessage(), isDebugEnabled) + } + + utils.log("DEBUG", " Exit processRollbackException", isDebugEnabled) + } + + public void processRollbackJavaException(DelegateExecution execution){ + def isDebugEnabled=execution.getVariable("isDebugLogEnabled") + utils.log("DEBUG"," ***** processRollbackJavaException ***** ", isDebugEnabled) + try{ + execution.setVariable("rollbackData", null) + execution.setVariable("rollbackError", "Caught Java exception in ServiceInstance Update Rollback") + utils.log("DEBUG", "Caught Exception in processRollbackJavaException", isDebugEnabled) + + }catch(Exception e){ + utils.log("DEBUG", "Caught Exception in processRollbackJavaException " + e.getMessage(), isDebugEnabled) + } + utils.log("DEBUG", "***** Exit processRollbackJavaException *****", isDebugEnabled) + } + +} diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoDeleteResources.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoDeleteResources.bpmn new file mode 100644 index 0000000000..8f0cafa03e --- /dev/null +++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoDeleteResources.bpmn @@ -0,0 +1,481 @@ +<?xml version="1.0" encoding="UTF-8"?> +<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="Definitions_1" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="1.11.3"> + <bpmn:process id="DoDeleteResources" name="All Resources Deleted" isExecutable="true"> + <bpmn:startEvent id="StartEvent_0212h2r" name="Start Flow"> + <bpmn:outgoing>SequenceFlow_0vz7cd9</bpmn:outgoing> + </bpmn:startEvent> + <bpmn:endEvent id="EndEvent_1uqzt26"> + <bpmn:incoming>SequenceFlow_1r5306k</bpmn:incoming> + </bpmn:endEvent> + <bpmn:subProcess id="SubProcess_1u8zt9i" name="Sub-process for UnexpectedErrors" triggeredByEvent="true"> + <bpmn:startEvent id="StartEvent_0sf5lpt"> + <bpmn:outgoing>SequenceFlow_1921mo3</bpmn:outgoing> + <bpmn:errorEventDefinition /> + </bpmn:startEvent> + <bpmn:endEvent id="EndEvent_06utmg4"> + <bpmn:incoming>SequenceFlow_18vlzfo</bpmn:incoming> + </bpmn:endEvent> + <bpmn:scriptTask id="ScriptTask_0nha3pr" name="Log / Print Unexpected Error" scriptFormat="groovy"> + <bpmn:incoming>SequenceFlow_1921mo3</bpmn:incoming> + <bpmn:outgoing>SequenceFlow_18vlzfo</bpmn:outgoing> + <bpmn:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +ExceptionUtil ex = new ExceptionUtil() +ex.processJavaException(execution)]]></bpmn:script> + </bpmn:scriptTask> + <bpmn:sequenceFlow id="SequenceFlow_1921mo3" name="" sourceRef="StartEvent_0sf5lpt" targetRef="ScriptTask_0nha3pr" /> + <bpmn:sequenceFlow id="SequenceFlow_18vlzfo" name="" sourceRef="ScriptTask_0nha3pr" targetRef="EndEvent_06utmg4" /> + </bpmn:subProcess> + <bpmn:sequenceFlow id="SequenceFlow_0vz7cd9" sourceRef="StartEvent_0212h2r" targetRef="ScriptTask_14bl5a0" /> + <bpmn:scriptTask id="ScriptTask_0z30dax" name="Prepare Resource Delele For WAN" scriptFormat="groovy"> + <bpmn:incoming>SequenceFlow_1ubor5z</bpmn:incoming> + <bpmn:outgoing>SequenceFlow_1dza4q4</bpmn:outgoing> + <bpmn:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +String resourceName = execution.getVariable("resourceType") +def ddsi = new DoDeleteResources() +ddsi.preResourceDelete(execution, resourceName )]]></bpmn:script> + </bpmn:scriptTask> + <bpmn:sequenceFlow id="SequenceFlow_1dza4q4" sourceRef="ScriptTask_0z30dax" targetRef="CallActivity_Del_SDNC_cust" /> + <bpmn:sequenceFlow id="SequenceFlow_1wnkgpx" sourceRef="Task_0z1x3sg" targetRef="Task_0963dho" /> + <bpmn:scriptTask id="Task_0z1x3sg" name="Prepare Resource Delele For NS" scriptFormat="groovy"> + <bpmn:incoming>SequenceFlow_1x3lehs</bpmn:incoming> + <bpmn:outgoing>SequenceFlow_1wnkgpx</bpmn:outgoing> + <bpmn:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +String resourceName = execution.getVariable("resourceType") +def ddsi = new DoDeleteResources() +ddsi.preResourceDelete(execution, resourceName )]]></bpmn:script> + </bpmn:scriptTask> + <bpmn:callActivity id="Task_0963dho" name="Call Network Service Delete for NS" calledElement="DoDeleteVFCNetworkServiceInstance"> + <bpmn:extensionElements> + <camunda:in source="globalSubscriberId" target="globalSubscriberId" /> + <camunda:in source="serviceType" target="serviceType" /> + <camunda:in source="serviceInstanceId" target="serviceId" /> + <camunda:in source="operationId" target="operationId" /> + <camunda:in source="resourceTemplateId" target="resourceTemplateId" /> + <camunda:in source="resourceInstanceId" target="resourceInstanceId" /> + <camunda:in source="resourceType" target="resourceType" /> + <camunda:in source="operationType" target="operationType" /> + </bpmn:extensionElements> + <bpmn:incoming>SequenceFlow_1wnkgpx</bpmn:incoming> + <bpmn:outgoing>SequenceFlow_0phwem2</bpmn:outgoing> + </bpmn:callActivity> + <bpmn:serviceTask id="CallActivity_Del_SDNC_cust" name="Call Custom Delete SDNC Overlay" camunda:class="org.openecomp.mso.bpmn.infrastructure.workflow.serviceTask.SdncNetworkTopologyOperationTask"> + <bpmn:incoming>SequenceFlow_1dza4q4</bpmn:incoming> + <bpmn:outgoing>SequenceFlow_1lxqjmp</bpmn:outgoing> + </bpmn:serviceTask> + <bpmn:serviceTask id="Task_0edkv0m" name="Call Delete SDNC Service Topology" camunda:class="org.openecomp.mso.bpmn.infrastructure.workflow.serviceTask.SdncServiceTopologyOperationTask"> + <bpmn:incoming>SequenceFlow_1icwpye</bpmn:incoming> + <bpmn:outgoing>SequenceFlow_1yujjwx</bpmn:outgoing> + </bpmn:serviceTask> + <bpmn:scriptTask id="ScriptTask_0o5bglz" name="Sequense Resources" scriptFormat="groovy"> + <bpmn:incoming>SequenceFlow_0xqdf1z</bpmn:incoming> + <bpmn:outgoing>SequenceFlow_03c0zlq</bpmn:outgoing> + <bpmn:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def ddsi = new DoDeleteResources() +ddsi.sequenceResource(execution)]]></bpmn:script> + </bpmn:scriptTask> + <bpmn:exclusiveGateway id="ExclusiveGateway_07toixi" name="Check Current Resource"> + <bpmn:incoming>SequenceFlow_1htjmkv</bpmn:incoming> + <bpmn:outgoing>SequenceFlow_1ubor5z</bpmn:outgoing> + <bpmn:outgoing>SequenceFlow_1x3lehs</bpmn:outgoing> + </bpmn:exclusiveGateway> + <bpmn:scriptTask id="ScriptTask_12q6a51" name="Get Current Resource" scriptFormat="groovy"> + <bpmn:incoming>SequenceFlow_03c0zlq</bpmn:incoming> + <bpmn:incoming>SequenceFlow_0s1lswk</bpmn:incoming> + <bpmn:outgoing>SequenceFlow_1htjmkv</bpmn:outgoing> + <bpmn:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def ddsi = new DoDeleteResources() +ddsi.getCurrentResource(execution)]]></bpmn:script> + </bpmn:scriptTask> + <bpmn:sequenceFlow id="SequenceFlow_03c0zlq" sourceRef="ScriptTask_0o5bglz" targetRef="ScriptTask_12q6a51" /> + <bpmn:sequenceFlow id="SequenceFlow_1htjmkv" sourceRef="ScriptTask_12q6a51" targetRef="ExclusiveGateway_07toixi" /> + <bpmn:sequenceFlow id="SequenceFlow_1ubor5z" name="SDN-C" sourceRef="ExclusiveGateway_07toixi" targetRef="ScriptTask_0z30dax"> + <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[#{(execution.getVariable("controllerInfo" ) == "SDN-C" )}]]></bpmn:conditionExpression> + </bpmn:sequenceFlow> + <bpmn:sequenceFlow id="SequenceFlow_1x3lehs" name="VF-C" sourceRef="ExclusiveGateway_07toixi" targetRef="Task_0z1x3sg"> + <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[#{(execution.getVariable("controllerInfo" ) == "VF-C" )}]]></bpmn:conditionExpression> + </bpmn:sequenceFlow> + <bpmn:scriptTask id="ScriptTask_0w46sge" name="Parse Next Resource" scriptFormat="groovy"> + <bpmn:incoming>SequenceFlow_1lxqjmp</bpmn:incoming> + <bpmn:incoming>SequenceFlow_0phwem2</bpmn:incoming> + <bpmn:outgoing>SequenceFlow_0l5r96s</bpmn:outgoing> + <bpmn:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def ddsi = new DoDeleteResources() +ddsi.parseNextResource(execution)]]></bpmn:script> + </bpmn:scriptTask> + <bpmn:sequenceFlow id="SequenceFlow_1lxqjmp" sourceRef="CallActivity_Del_SDNC_cust" targetRef="ScriptTask_0w46sge" /> + <bpmn:sequenceFlow id="SequenceFlow_0phwem2" sourceRef="Task_0963dho" targetRef="ScriptTask_0w46sge" /> + <bpmn:exclusiveGateway id="ExclusiveGateway_1hgjg3u" name="Is All Resource Deleted"> + <bpmn:incoming>SequenceFlow_0l5r96s</bpmn:incoming> + <bpmn:outgoing>SequenceFlow_0talboa</bpmn:outgoing> + <bpmn:outgoing>SequenceFlow_0s1lswk</bpmn:outgoing> + </bpmn:exclusiveGateway> + <bpmn:sequenceFlow id="SequenceFlow_0l5r96s" sourceRef="ScriptTask_0w46sge" targetRef="ExclusiveGateway_1hgjg3u" /> + <bpmn:exclusiveGateway id="ExclusiveGateway_16046vb" name="Is SDNC Service Contained"> + <bpmn:incoming>SequenceFlow_0talboa</bpmn:incoming> + <bpmn:outgoing>SequenceFlow_1icwpye</bpmn:outgoing> + </bpmn:exclusiveGateway> + <bpmn:sequenceFlow id="SequenceFlow_1icwpye" name="yes" sourceRef="ExclusiveGateway_16046vb" targetRef="Task_0edkv0m"> + <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[#{(execution.getVariable("isContainsWanResource" ) == "true" )}]]></bpmn:conditionExpression> + </bpmn:sequenceFlow> + <bpmn:sequenceFlow id="SequenceFlow_0talboa" name="yes" sourceRef="ExclusiveGateway_1hgjg3u" targetRef="ExclusiveGateway_16046vb"> + <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[#{(execution.getVariable("allResourceFinished" ) == "true" )}]]></bpmn:conditionExpression> + </bpmn:sequenceFlow> + <bpmn:sequenceFlow id="SequenceFlow_0s1lswk" name="no" sourceRef="ExclusiveGateway_1hgjg3u" targetRef="ScriptTask_12q6a51"> + <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[#{(execution.getVariable("allResourceFinished" ) == "false" )}]]></bpmn:conditionExpression> + </bpmn:sequenceFlow> + <bpmn:sequenceFlow id="SequenceFlow_1yujjwx" sourceRef="Task_0edkv0m" targetRef="ScriptTask_14pmqni" /> + <bpmn:scriptTask id="ScriptTask_14pmqni" name="Post Config Service Instance Creation" scriptFormat="groovy"> + <bpmn:incoming>SequenceFlow_1yujjwx</bpmn:incoming> + <bpmn:outgoing>SequenceFlow_1r5306k</bpmn:outgoing> + <bpmn:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def csi = new DoCreateResources() +csi.postConfigRequest(execution)]]></bpmn:script> + </bpmn:scriptTask> + <bpmn:sequenceFlow id="SequenceFlow_1r5306k" sourceRef="ScriptTask_14pmqni" targetRef="EndEvent_1uqzt26" /> + <bpmn:scriptTask id="ScriptTask_0ib77as" name="GET Current NS " scriptFormat="groovy"> + <bpmn:incoming>SequenceFlow_042d7oc</bpmn:incoming> + <bpmn:incoming>SequenceFlow_1t2hfv0</bpmn:incoming> + <bpmn:outgoing>SequenceFlow_1t8hf8m</bpmn:outgoing> + <bpmn:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def ddsi = new DoDeleteResources() +ddsi.getCurrentNS(execution)]]></bpmn:script> + </bpmn:scriptTask> + <bpmn:callActivity id="CallActivity_0kf50as" name="GET NS Info from AAI" calledElement="GenericGetService"> + <bpmn:extensionElements> + <camunda:in source="serviceInstanceId" target="GENGS_serviceInstanceId" /> + <camunda:in sourceExpression="service-instance" target="GENGS_type" /> + <camunda:out source="GENGS_FoundIndicator" target="GENGS_FoundIndicator" /> + <camunda:out source="GENGS_SuccessIndicator" target="GENGS_SuccessIndicator" /> + <camunda:out source="WorkflowException" target="WorkflowException" /> + <camunda:out source="GENGS_siResourceLink" target="GENGS_siResourceLink" /> + <camunda:out source="GENGS_service" target="GENGS_service" /> + <camunda:in source="globalSubscriberId" target="GENGS_globalCustomerId" /> + <camunda:in source="serviceType" target="GENGS_serviceType" /> + </bpmn:extensionElements> + <bpmn:incoming>SequenceFlow_1t8hf8m</bpmn:incoming> + <bpmn:outgoing>SequenceFlow_0p5gr4z</bpmn:outgoing> + </bpmn:callActivity> + <bpmn:scriptTask id="ScriptTask_1lqjyj9" name="Post Process GET NS Info from AAI" scriptFormat="groovy"> + <bpmn:incoming>SequenceFlow_0p5gr4z</bpmn:incoming> + <bpmn:outgoing>SequenceFlow_131imj8</bpmn:outgoing> + <bpmn:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def ddsi = new DoDeleteResources() +ddsi.postProcessAAIGET(execution)]]></bpmn:script> + </bpmn:scriptTask> + <bpmn:sequenceFlow id="SequenceFlow_1t8hf8m" sourceRef="ScriptTask_0ib77as" targetRef="CallActivity_0kf50as" /> + <bpmn:sequenceFlow id="SequenceFlow_0p5gr4z" sourceRef="CallActivity_0kf50as" targetRef="ScriptTask_1lqjyj9" /> + <bpmn:sequenceFlow id="SequenceFlow_1n85wxv" sourceRef="ScriptTask_197fr01" targetRef="ExclusiveGateway_1lt9ijz" /> + <bpmn:exclusiveGateway id="ExclusiveGateway_1lt9ijz" name="Is All Resource Info OK"> + <bpmn:extensionElements> + <camunda:properties> + <camunda:property /> + </camunda:properties> + </bpmn:extensionElements> + <bpmn:incoming>SequenceFlow_1n85wxv</bpmn:incoming> + <bpmn:outgoing>SequenceFlow_0xqdf1z</bpmn:outgoing> + <bpmn:outgoing>SequenceFlow_042d7oc</bpmn:outgoing> + </bpmn:exclusiveGateway> + <bpmn:sequenceFlow id="SequenceFlow_0xqdf1z" sourceRef="ExclusiveGateway_1lt9ijz" targetRef="ScriptTask_0o5bglz"> + <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[#{(execution.getVariable("allNsFinished" ) == "true" )}]]></bpmn:conditionExpression> + </bpmn:sequenceFlow> + <bpmn:sequenceFlow id="SequenceFlow_042d7oc" sourceRef="ExclusiveGateway_1lt9ijz" targetRef="ScriptTask_0ib77as"> + <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[#{(execution.getVariable("allNsFinished" ) == "false" )}]]></bpmn:conditionExpression> + </bpmn:sequenceFlow> + <bpmn:scriptTask id="ScriptTask_14bl5a0" name="PreProcess Incoming Request" scriptFormat="groovy"> + <bpmn:incoming>SequenceFlow_0vz7cd9</bpmn:incoming> + <bpmn:outgoing>SequenceFlow_1t2hfv0</bpmn:outgoing> + <bpmn:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def ddsi = new DoDeleteResources() +ddsi.preProcessRequest(execution) +]]></bpmn:script> + </bpmn:scriptTask> + <bpmn:sequenceFlow id="SequenceFlow_1t2hfv0" sourceRef="ScriptTask_14bl5a0" targetRef="ScriptTask_0ib77as" /> + <bpmn:scriptTask id="ScriptTask_197fr01" name="Parse Next NS" scriptFormat="groovy"> + <bpmn:incoming>SequenceFlow_131imj8</bpmn:incoming> + <bpmn:outgoing>SequenceFlow_1n85wxv</bpmn:outgoing> + <bpmn:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def ddsi = new DoDeleteResources() +ddsi.parseNextNS(execution)]]></bpmn:script> + </bpmn:scriptTask> + <bpmn:sequenceFlow id="SequenceFlow_131imj8" sourceRef="ScriptTask_1lqjyj9" targetRef="ScriptTask_197fr01" /> + </bpmn:process> + <bpmndi:BPMNDiagram id="BPMNDiagram_1"> + <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="DoDeleteResources"> + <bpmndi:BPMNShape id="StartEvent_0212h2r_di" bpmnElement="StartEvent_0212h2r"> + <dc:Bounds x="-214" y="-319" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="-220" y="-278" width="50" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="EndEvent_1uqzt26_di" bpmnElement="EndEvent_1uqzt26"> + <dc:Bounds x="1388" y="725" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1316" y="766" width="90" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="SubProcess_1u8zt9i_di" bpmnElement="SubProcess_1u8zt9i" isExpanded="true"> + <dc:Bounds x="292" y="675" width="467" height="193" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_0vz7cd9_di" bpmnElement="SequenceFlow_0vz7cd9"> + <di:waypoint xsi:type="dc:Point" x="-196" y="-283" /> + <di:waypoint xsi:type="dc:Point" x="-196" y="-220" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="-226" y="-257.5" width="90" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="StartEvent_0sf5lpt_di" bpmnElement="StartEvent_0sf5lpt"> + <dc:Bounds x="360" y="742" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="288" y="783" width="90" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="EndEvent_06utmg4_di" bpmnElement="EndEvent_06utmg4"> + <dc:Bounds x="653" y="742" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="581" y="783" width="90" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ScriptTask_0nha3pr_di" bpmnElement="ScriptTask_0nha3pr"> + <dc:Bounds x="464" y="720" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1921mo3_di" bpmnElement="SequenceFlow_1921mo3"> + <di:waypoint xsi:type="dc:Point" x="396" y="760" /> + <di:waypoint xsi:type="dc:Point" x="464" y="760" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="340" y="745" width="90" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_18vlzfo_di" bpmnElement="SequenceFlow_18vlzfo"> + <di:waypoint xsi:type="dc:Point" x="564" y="760" /> + <di:waypoint xsi:type="dc:Point" x="653" y="760" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="520" y="745" width="90" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ScriptTask_0z30dax_di" bpmnElement="ScriptTask_0z30dax"> + <dc:Bounds x="470" y="111" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1dza4q4_di" bpmnElement="SequenceFlow_1dza4q4"> + <di:waypoint xsi:type="dc:Point" x="570" y="151" /> + <di:waypoint xsi:type="dc:Point" x="688" y="152" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="584" y="130.5" width="90" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_1wnkgpx_di" bpmnElement="SequenceFlow_1wnkgpx"> + <di:waypoint xsi:type="dc:Point" x="576" y="378" /> + <di:waypoint xsi:type="dc:Point" x="688" y="378" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="587" y="357" width="90" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ScriptTask_00301ai_di" bpmnElement="Task_0z1x3sg"> + <dc:Bounds x="476" y="338" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="CallActivity_1mwacgl_di" bpmnElement="Task_0963dho"> + <dc:Bounds x="688" y="338" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ServiceTask_0v9q75y_di" bpmnElement="CallActivity_Del_SDNC_cust"> + <dc:Bounds x="688" y="112" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ServiceTask_0p4b7e1_di" bpmnElement="Task_0edkv0m"> + <dc:Bounds x="1356" y="233" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ScriptTask_0o5bglz_di" bpmnElement="ScriptTask_0o5bglz"> + <dc:Bounds x="-26" y="233" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ExclusiveGateway_07toixi_di" bpmnElement="ExclusiveGateway_07toixi" isMarkerVisible="true"> + <dc:Bounds x="342.56962025316454" y="248" width="50" height="50" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="332" y="302" width="73" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ScriptTask_12q6a51_di" bpmnElement="ScriptTask_12q6a51"> + <dc:Bounds x="159" y="450" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_03c0zlq_di" bpmnElement="SequenceFlow_03c0zlq"> + <di:waypoint xsi:type="dc:Point" x="24" y="313" /> + <di:waypoint xsi:type="dc:Point" x="24" y="494" /> + <di:waypoint xsi:type="dc:Point" x="159" y="490" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="39" y="397.5" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_1htjmkv_di" bpmnElement="SequenceFlow_1htjmkv"> + <di:waypoint xsi:type="dc:Point" x="209" y="450" /> + <di:waypoint xsi:type="dc:Point" x="209" y="273" /> + <di:waypoint xsi:type="dc:Point" x="343" y="273" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="224" y="355.5" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_1ubor5z_di" bpmnElement="SequenceFlow_1ubor5z"> + <di:waypoint xsi:type="dc:Point" x="368" y="248" /> + <di:waypoint xsi:type="dc:Point" x="368" y="151" /> + <di:waypoint xsi:type="dc:Point" x="470" y="151" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="366" y="193.5" width="35" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_1x3lehs_di" bpmnElement="SequenceFlow_1x3lehs"> + <di:waypoint xsi:type="dc:Point" x="368" y="298" /> + <di:waypoint xsi:type="dc:Point" x="368" y="378" /> + <di:waypoint xsi:type="dc:Point" x="476" y="378" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="379" y="353" width="27" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ScriptTask_0w46sge_di" bpmnElement="ScriptTask_0w46sge"> + <dc:Bounds x="865" y="233" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1lxqjmp_di" bpmnElement="SequenceFlow_1lxqjmp"> + <di:waypoint xsi:type="dc:Point" x="788" y="152" /> + <di:waypoint xsi:type="dc:Point" x="827" y="152" /> + <di:waypoint xsi:type="dc:Point" x="827" y="273" /> + <di:waypoint xsi:type="dc:Point" x="865" y="273" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="842" y="206.5" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_0phwem2_di" bpmnElement="SequenceFlow_0phwem2"> + <di:waypoint xsi:type="dc:Point" x="788" y="378" /> + <di:waypoint xsi:type="dc:Point" x="827" y="378" /> + <di:waypoint xsi:type="dc:Point" x="827" y="273" /> + <di:waypoint xsi:type="dc:Point" x="865" y="273" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="842" y="319.5" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ExclusiveGateway_1hgjg3u_di" bpmnElement="ExclusiveGateway_1hgjg3u" isMarkerVisible="true"> + <dc:Bounds x="1040.9252217997464" y="248" width="50" height="50" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1029" y="302" width="74" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_0l5r96s_di" bpmnElement="SequenceFlow_0l5r96s"> + <di:waypoint xsi:type="dc:Point" x="965" y="273" /> + <di:waypoint xsi:type="dc:Point" x="1041" y="273" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1003" y="252" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ExclusiveGateway_16046vb_di" bpmnElement="ExclusiveGateway_16046vb" isMarkerVisible="true"> + <dc:Bounds x="1203.8174904942966" y="248.28010139416983" width="50" height="50" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1187" y="302" width="83" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1icwpye_di" bpmnElement="SequenceFlow_1icwpye"> + <di:waypoint xsi:type="dc:Point" x="1254" y="273" /> + <di:waypoint xsi:type="dc:Point" x="1356" y="273" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1297" y="252" width="19" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_0talboa_di" bpmnElement="SequenceFlow_0talboa"> + <di:waypoint xsi:type="dc:Point" x="1091" y="273" /> + <di:waypoint xsi:type="dc:Point" x="1204" y="273" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1138" y="252" width="19" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_0s1lswk_di" bpmnElement="SequenceFlow_0s1lswk"> + <di:waypoint xsi:type="dc:Point" x="1066" y="298" /> + <di:waypoint xsi:type="dc:Point" x="1066" y="490" /> + <di:waypoint xsi:type="dc:Point" x="259" y="490" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1075" y="388" width="12" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_1yujjwx_di" bpmnElement="SequenceFlow_1yujjwx"> + <di:waypoint xsi:type="dc:Point" x="1406" y="313" /> + <di:waypoint xsi:type="dc:Point" x="1406" y="523" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1421" y="412" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ScriptTask_14pmqni_di" bpmnElement="ScriptTask_14pmqni"> + <dc:Bounds x="1356" y="523" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1r5306k_di" bpmnElement="SequenceFlow_1r5306k"> + <di:waypoint xsi:type="dc:Point" x="1406" y="603" /> + <di:waypoint xsi:type="dc:Point" x="1406" y="725" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1421" y="658" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ScriptTask_0ib77as_di" bpmnElement="ScriptTask_0ib77as"> + <dc:Bounds x="-246" y="-84" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="CallActivity_0kf50as_di" bpmnElement="CallActivity_0kf50as"> + <dc:Bounds x="-84" y="-84" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ScriptTask_1lqjyj9_di" bpmnElement="ScriptTask_1lqjyj9"> + <dc:Bounds x="80" y="-84" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1t8hf8m_di" bpmnElement="SequenceFlow_1t8hf8m"> + <di:waypoint xsi:type="dc:Point" x="-146" y="-44" /> + <di:waypoint xsi:type="dc:Point" x="-84" y="-44" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="-160" y="-65" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_0p5gr4z_di" bpmnElement="SequenceFlow_0p5gr4z"> + <di:waypoint xsi:type="dc:Point" x="16" y="-44" /> + <di:waypoint xsi:type="dc:Point" x="80" y="-44" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="3" y="-65" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_1n85wxv_di" bpmnElement="SequenceFlow_1n85wxv"> + <di:waypoint xsi:type="dc:Point" x="290" y="-4" /> + <di:waypoint xsi:type="dc:Point" x="290" y="106" /> + <di:waypoint xsi:type="dc:Point" x="49" y="106" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="305" y="45" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ExclusiveGateway_1lt9ijz_di" bpmnElement="ExclusiveGateway_1lt9ijz" isMarkerVisible="true"> + <dc:Bounds x="-1" y="81" width="50" height="50" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="-13" y="135" width="74" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_0xqdf1z_di" bpmnElement="SequenceFlow_0xqdf1z"> + <di:waypoint xsi:type="dc:Point" x="24" y="131" /> + <di:waypoint xsi:type="dc:Point" x="24" y="233" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="39" y="176" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_042d7oc_di" bpmnElement="SequenceFlow_042d7oc"> + <di:waypoint xsi:type="dc:Point" x="-1" y="106" /> + <di:waypoint xsi:type="dc:Point" x="-196" y="106" /> + <di:waypoint xsi:type="dc:Point" x="-196" y="-4" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="-98.5" y="85" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ScriptTask_14bl5a0_di" bpmnElement="ScriptTask_14bl5a0"> + <dc:Bounds x="-246" y="-220" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1t2hfv0_di" bpmnElement="SequenceFlow_1t2hfv0"> + <di:waypoint xsi:type="dc:Point" x="-196" y="-140" /> + <di:waypoint xsi:type="dc:Point" x="-196" y="-84" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="-181" y="-118" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ScriptTask_197fr01_di" bpmnElement="ScriptTask_197fr01"> + <dc:Bounds x="240" y="-84" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_131imj8_di" bpmnElement="SequenceFlow_131imj8"> + <di:waypoint xsi:type="dc:Point" x="180" y="-44" /> + <di:waypoint xsi:type="dc:Point" x="240" y="-44" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="210" y="-65" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + </bpmndi:BPMNPlane> + </bpmndi:BPMNDiagram> +</bpmn:definitions> diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoUpdateE2EServiceInstanceRollback.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoUpdateE2EServiceInstanceRollback.bpmn new file mode 100644 index 0000000000..2b9e79615e --- /dev/null +++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoUpdateE2EServiceInstanceRollback.bpmn @@ -0,0 +1,795 @@ +<?xml version="1.0" encoding="UTF-8"?> +<bpmn2:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" id="_MagIIMOUEeW8asg-vCEgWQ" targetNamespace="http://camunda.org/schema/1.0/bpmn" exporter="Camunda Modeler" exporterVersion="1.11.3" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd"> + <bpmn2:process id="DoCreateE2EServiceInstanceRollback" name="DoCreateE2EServiceInstanceRollback" isExecutable="true"> + <bpmn2:startEvent id="createSIRollback_startEvent" name="Start Flow"> + <bpmn2:outgoing>SequenceFlow_1</bpmn2:outgoing> + </bpmn2:startEvent> + <bpmn2:sequenceFlow id="SequenceFlow_1" name="" sourceRef="createSIRollback_startEvent" targetRef="preProcessRequest_ScriptTask" /> + <bpmn2:scriptTask id="preProcessRequest_ScriptTask" name="PreProcess Incoming Request" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_1</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_2</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def rbk = new DoCreateE2EServiceInstanceRollback() +rbk.preProcessRequest(execution) +]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:endEvent id="EndEvent_3"> + <bpmn2:incoming>SequenceFlow_01l4ssl</bpmn2:incoming> + </bpmn2:endEvent> + <bpmn2:subProcess id="UnexpectedError_SubProcess_1" name="Sub-process for Errors" triggeredByEvent="true"> + <bpmn2:startEvent id="StartEvent_1"> + <bpmn2:outgoing>SequenceFlow_8</bpmn2:outgoing> + <bpmn2:errorEventDefinition id="_ErrorEventDefinition_92" /> + </bpmn2:startEvent> + <bpmn2:endEvent id="EndEvent_1"> + <bpmn2:incoming>SequenceFlow_7</bpmn2:incoming> + </bpmn2:endEvent> + <bpmn2:sequenceFlow id="SequenceFlow_8" name="" sourceRef="StartEvent_1" targetRef="ScriptTask_1" /> + <bpmn2:scriptTask id="ScriptTask_1" name="Handle Errors" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_8</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_7</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def rbk= new DoCreateE2EServiceInstanceRollback() +rbk.processRollbackException(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_7" name="" sourceRef="ScriptTask_1" targetRef="EndEvent_1" /> + </bpmn2:subProcess> + <bpmn2:sequenceFlow id="SequenceFlow_2" name="" sourceRef="preProcessRequest_ScriptTask" targetRef="ExclusiveGateway_19tbjgn" /> + <bpmn2:scriptTask id="PostProcess_ScriptTask" name="Post Process Request" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_1rzlaoy</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_0a83f6m</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_01l4ssl</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def rbk = new DoCreateE2EServiceInstanceRollback() +rbk.postProcessRequest(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_01l4ssl" sourceRef="PostProcess_ScriptTask" targetRef="EndEvent_3" /> + <bpmn2:subProcess id="SubProcess_11bi8mc" name="Java Exception Handling Sub Process" triggeredByEvent="true"> + <bpmn2:startEvent id="StartEvent_1gxe17c"> + <bpmn2:outgoing>SequenceFlow_1ch4xrf</bpmn2:outgoing> + <bpmn2:errorEventDefinition errorRef="Error_1" /> + </bpmn2:startEvent> + <bpmn2:scriptTask id="ScriptTask_15yddb0" name="Process Java Error" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_1ch4xrf</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_1pjk2ff</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def rbk= new DoCreateE2EServiceInstanceRollback() +rbk.processRollbackJavaException(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:endEvent id="EndEvent_12e3h6k"> + <bpmn2:incoming>SequenceFlow_1pjk2ff</bpmn2:incoming> + <bpmn2:terminateEventDefinition /> + </bpmn2:endEvent> + <bpmn2:sequenceFlow id="SequenceFlow_1ch4xrf" name="" sourceRef="StartEvent_1gxe17c" targetRef="ScriptTask_15yddb0" /> + <bpmn2:sequenceFlow id="SequenceFlow_1pjk2ff" name="" sourceRef="ScriptTask_15yddb0" targetRef="EndEvent_12e3h6k" /> + </bpmn2:subProcess> + <bpmn2:exclusiveGateway id="ExclusiveGateway_19tbjgn" name="skip Rollback" default="SequenceFlow_06aasqh"> + <bpmn2:incoming>SequenceFlow_2</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_1rzlaoy</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_06aasqh</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:sequenceFlow id="SequenceFlow_1rzlaoy" name="yes" sourceRef="ExclusiveGateway_19tbjgn" targetRef="PostProcess_ScriptTask"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("skipRollback" ) == true}]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:exclusiveGateway id="ExclusiveGateway_0ii31dq" name="RollBack Deleted Resources?"> + <bpmn2:documentation>rollback Deleted Resources</bpmn2:documentation> + <bpmn2:incoming>SequenceFlow_1uw2p9a</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_0drjj7b</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_055b52t</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:exclusiveGateway id="ExclusiveGateway_09wkav2" name="Rollback Added Resources?" default="SequenceFlow_1uw2p9a"> + <bpmn2:incoming>SequenceFlow_06aasqh</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_1uw2p9a</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_11fnnkb</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:sequenceFlow id="SequenceFlow_1uw2p9a" name="no" sourceRef="ExclusiveGateway_09wkav2" targetRef="ExclusiveGateway_0ii31dq" /> + <bpmn2:sequenceFlow id="SequenceFlow_11fnnkb" name="yes" sourceRef="ExclusiveGateway_09wkav2" targetRef="IntermediateThrowEvent_11l0okn"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{(execution.getVariable("RollbackAdded" ) == "true" )}]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_06aasqh" name="no" sourceRef="ExclusiveGateway_19tbjgn" targetRef="ExclusiveGateway_09wkav2" /> + <bpmn2:callActivity id="CallActivity_05jnyuq" name="Call DoDeleteResources" calledElement="DoDeleteResources"> + <bpmn2:extensionElements> + <camunda:in source="nsServiceName" target="nsServiceName" /> + <camunda:in source="nsServiceDescription" target="nsServiceDescription" /> + <camunda:in source="globalSubscriberId" target="globalSubscriberId" /> + <camunda:in source="serviceType" target="serviceType" /> + <camunda:in source="serviceId" target="serviceId" /> + <camunda:in source="operationId" target="operationId" /> + <camunda:in source="resourceType" target="resourceType" /> + <camunda:in source="resourceUUID" target="resourceUUID" /> + <camunda:in source="resourceParameters" target="resourceParameters" /> + <camunda:in source="operationType" target="operationType" /> + </bpmn2:extensionElements> + <bpmn2:incoming>SequenceFlow_1fih4h0</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_0pwixhh</bpmn2:outgoing> + </bpmn2:callActivity> + <bpmn2:sequenceFlow id="SequenceFlow_0pwixhh" sourceRef="CallActivity_05jnyuq" targetRef="ScriptTask_0ngehrz" /> + <bpmn2:scriptTask id="ScriptTask_1i1ova8" name="PreProcess for Add Resources" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_06xv7b2</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_0b73i9r</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def csi = new DoUpdateE2EServiceInstanceRollback() +csi.preProcessForAddResource(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:scriptTask id="ScriptTask_0ngehrz" name="PostProcess for Add Resource" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_0pwixhh</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_08p4pkv</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def csi = new DoUpdateE2EServiceInstanceRollback() +csi.postProcessForAddResource(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:scriptTask id="ScriptTask_01beerv" name="PreProcess for Delete Resources" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_1g4qm2l</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_1fih4h0</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def csi = new DoUpdateE2EServiceInstanceRollback() +csi.preProcessForDeleteResource(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:callActivity id="CallActivity_0l7jjb1" name="Call DoCreateResources" calledElement="DoCreateResources"> + <bpmn2:extensionElements> + <camunda:in source="nsServiceName" target="nsServiceName" /> + <camunda:in source="nsServiceDescription" target="nsServiceDescription" /> + <camunda:in source="globalSubscriberId" target="globalSubscriberId" /> + <camunda:in source="serviceType" target="serviceType" /> + <camunda:in source="serviceId" target="serviceId" /> + <camunda:in source="operationId" target="operationId" /> + <camunda:in source="resourceType" target="resourceType" /> + <camunda:in source="resourceUUID" target="resourceUUID" /> + <camunda:in source="resourceParameters" target="resourceParameters" /> + <camunda:in source="operationType" target="operationType" /> + </bpmn2:extensionElements> + <bpmn2:incoming>SequenceFlow_0b73i9r</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_0q9ws1s</bpmn2:outgoing> + </bpmn2:callActivity> + <bpmn2:scriptTask id="ScriptTask_1afo620" name="PostProcess for Add Resource" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_0q9ws1s</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_1bp5oce</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def csi = new DoUpdateE2EServiceInstanceRollback() +csi.postProcessForAddResource(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:exclusiveGateway id="ExclusiveGateway_0ybxh3b" name="RollBackAAI?"> + <bpmn2:documentation>rollback AAI</bpmn2:documentation> + <bpmn2:incoming>SequenceFlow_055b52t</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_0a83f6m</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_0zijz16</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:sequenceFlow id="SequenceFlow_0drjj7b" name="yes" sourceRef="ExclusiveGateway_0ii31dq" targetRef="IntermediateThrowEvent_14ed07u"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{(execution.getVariable("RollbackDeleted" ) == "true" )}]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:intermediateCatchEvent id="IntermediateCatchEvent_05uesi2" name="StartAddResources"> + <bpmn2:outgoing>SequenceFlow_06xv7b2</bpmn2:outgoing> + <bpmn2:linkEventDefinition name="StartAddResource" /> + </bpmn2:intermediateCatchEvent> + <bpmn2:intermediateCatchEvent id="IntermediateCatchEvent_1qn9srt" name="StartDeleteResources"> + <bpmn2:outgoing>SequenceFlow_1g4qm2l</bpmn2:outgoing> + <bpmn2:linkEventDefinition name="StartDeleteResources" /> + </bpmn2:intermediateCatchEvent> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_11l0okn" name="GoTo StartDeleteResources"> + <bpmn2:incoming>SequenceFlow_11fnnkb</bpmn2:incoming> + <bpmn2:linkEventDefinition name="StartDeleteResources" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_14ed07u" name="GoTo StartAddResources"> + <bpmn2:incoming>SequenceFlow_0drjj7b</bpmn2:incoming> + <bpmn2:linkEventDefinition name="StartAddResource" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:sequenceFlow id="SequenceFlow_0a83f6m" name="no" sourceRef="ExclusiveGateway_0ybxh3b" targetRef="PostProcess_ScriptTask" /> + <bpmn2:sequenceFlow id="SequenceFlow_1fih4h0" sourceRef="ScriptTask_01beerv" targetRef="CallActivity_05jnyuq" /> + <bpmn2:sequenceFlow id="SequenceFlow_1g4qm2l" sourceRef="IntermediateCatchEvent_1qn9srt" targetRef="ScriptTask_01beerv" /> + <bpmn2:sequenceFlow id="SequenceFlow_06xv7b2" sourceRef="IntermediateCatchEvent_05uesi2" targetRef="ScriptTask_1i1ova8" /> + <bpmn2:sequenceFlow id="SequenceFlow_0b73i9r" sourceRef="ScriptTask_1i1ova8" targetRef="CallActivity_0l7jjb1" /> + <bpmn2:sequenceFlow id="SequenceFlow_0q9ws1s" sourceRef="CallActivity_0l7jjb1" targetRef="ScriptTask_1afo620" /> + <bpmn2:intermediateCatchEvent id="IntermediateCatchEvent_0546q5i" name="UpdateAAI"> + <bpmn2:outgoing>SequenceFlow_1a65s3k</bpmn2:outgoing> + <bpmn2:linkEventDefinition name="UpdateAAI" /> + </bpmn2:intermediateCatchEvent> + <bpmn2:scriptTask id="ScriptTask_0gj4dj5" name="Pre Process AAI PUT" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_1ixphei</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_1lppnhy</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def dcsi = new DoUpdateE2EServiceInstanceRollback() +dcsi.preProcessAAIPUT(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:callActivity id="CallActivity_0zs5y0x" name="Call Custom E2E Put Service" calledElement="CustomE2EPutService"> + <bpmn2:extensionElements> + <camunda:in source="serviceInstanceId" target="GENGS_serviceInstanceId" /> + <camunda:in sourceExpression="service-instance" target="GENGS_type" /> + <camunda:out source="GENGS_FoundIndicator" target="GENGS_FoundIndicator" /> + <camunda:out source="GENGS_SuccessIndicator" target="GENGS_SuccessIndicator" /> + <camunda:out source="WorkflowException" target="WorkflowException" /> + <camunda:out source="GENGS_siResourceLink" target="GENGS_siResourceLink" /> + <camunda:out source="GENGS_service" target="GENGS_service" /> + <camunda:in source="globalSubscriberId" target="GENGS_globalCustomerId" /> + <camunda:in source="serviceType" target="GENGS_serviceType" /> + </bpmn2:extensionElements> + <bpmn2:incoming>SequenceFlow_1lppnhy</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_0kbisn8</bpmn2:outgoing> + </bpmn2:callActivity> + <bpmn2:scriptTask id="ScriptTask_1p96syr" name="Post Process AAI PUT" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_0kbisn8</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_1azhgda</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def dcsi = new DoUpdateE2EServiceInstanceRollback() +dcsi.postProcessAAIPUT(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_1a65s3k" sourceRef="IntermediateCatchEvent_0546q5i" targetRef="ScriptTask_13h2onn" /> + <bpmn2:sequenceFlow id="SequenceFlow_1lppnhy" sourceRef="ScriptTask_0gj4dj5" targetRef="CallActivity_0zs5y0x" /> + <bpmn2:sequenceFlow id="SequenceFlow_0kbisn8" sourceRef="CallActivity_0zs5y0x" targetRef="ScriptTask_1p96syr" /> + <bpmn2:exclusiveGateway id="ExclusiveGateway_1k16vgh" name="RollBackAAI?"> + <bpmn2:documentation>rollback AAI</bpmn2:documentation> + <bpmn2:incoming>SequenceFlow_08p4pkv</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_0cbnwwi</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_161uzhj</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:sequenceFlow id="SequenceFlow_08p4pkv" sourceRef="ScriptTask_0ngehrz" targetRef="ExclusiveGateway_1k16vgh" /> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0x32fw8" name="GoTo UpdateAAI"> + <bpmn2:incoming>SequenceFlow_0cbnwwi</bpmn2:incoming> + <bpmn2:linkEventDefinition name="UpdateAAI" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:sequenceFlow id="SequenceFlow_0cbnwwi" sourceRef="ExclusiveGateway_1k16vgh" targetRef="IntermediateThrowEvent_0x32fw8" /> + <bpmn2:scriptTask id="ScriptTask_1c3q8hc" name="Post Process Request" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_161uzhj</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_13r4lij</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def rbk = new DoCreateE2EServiceInstanceRollback() +rbk.postProcessRequest(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_161uzhj" sourceRef="ExclusiveGateway_1k16vgh" targetRef="ScriptTask_1c3q8hc" /> + <bpmn2:endEvent id="EndEvent_0knjkkx"> + <bpmn2:incoming>SequenceFlow_13r4lij</bpmn2:incoming> + </bpmn2:endEvent> + <bpmn2:sequenceFlow id="SequenceFlow_13r4lij" sourceRef="ScriptTask_1c3q8hc" targetRef="EndEvent_0knjkkx" /> + <bpmn2:exclusiveGateway id="ExclusiveGateway_0g7wcmb" name="RollBackAAI?"> + <bpmn2:documentation>rollback AAI</bpmn2:documentation> + <bpmn2:incoming>SequenceFlow_1bp5oce</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_0bkvqao</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_1isdxh1</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0q76lxg" name="GoTo UpdateAAI"> + <bpmn2:incoming>SequenceFlow_0bkvqao</bpmn2:incoming> + <bpmn2:linkEventDefinition name="UpdateAAI" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:scriptTask id="ScriptTask_1y4us3g" name="Post Process Request" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_1isdxh1</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_0a9xori</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def rbk = new DoCreateE2EServiceInstanceRollback() +rbk.postProcessRequest(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:endEvent id="EndEvent_0yzh2qs"> + <bpmn2:incoming>SequenceFlow_0a9xori</bpmn2:incoming> + </bpmn2:endEvent> + <bpmn2:sequenceFlow id="SequenceFlow_0bkvqao" sourceRef="ExclusiveGateway_0g7wcmb" targetRef="IntermediateThrowEvent_0q76lxg" /> + <bpmn2:sequenceFlow id="SequenceFlow_1isdxh1" sourceRef="ExclusiveGateway_0g7wcmb" targetRef="ScriptTask_1y4us3g" /> + <bpmn2:sequenceFlow id="SequenceFlow_0a9xori" sourceRef="ScriptTask_1y4us3g" targetRef="EndEvent_0yzh2qs" /> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1et42wh" name="GoTo UpdateAAI"> + <bpmn2:incoming>SequenceFlow_0zijz16</bpmn2:incoming> + <bpmn2:linkEventDefinition name="UpdateAAI" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:sequenceFlow id="SequenceFlow_0zijz16" name="yes" sourceRef="ExclusiveGateway_0ybxh3b" targetRef="IntermediateThrowEvent_1et42wh"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{(execution.getVariable("RollbackAAI" ) == "true" )}]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_1bp5oce" sourceRef="ScriptTask_1afo620" targetRef="ExclusiveGateway_0g7wcmb" /> + <bpmn2:scriptTask id="ScriptTask_17k4l6y" name="Post Process Request" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_1azhgda</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_1n6foyw</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def rbk = new DoCreateE2EServiceInstanceRollback() +rbk.postProcessRequest(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:endEvent id="EndEvent_193e9tt"> + <bpmn2:incoming>SequenceFlow_1n6foyw</bpmn2:incoming> + </bpmn2:endEvent> + <bpmn2:sequenceFlow id="SequenceFlow_1n6foyw" sourceRef="ScriptTask_17k4l6y" targetRef="EndEvent_193e9tt" /> + <bpmn2:sequenceFlow id="SequenceFlow_1azhgda" sourceRef="ScriptTask_1p96syr" targetRef="ScriptTask_17k4l6y" /> + <bpmn2:sequenceFlow id="SequenceFlow_055b52t" name="no" sourceRef="ExclusiveGateway_0ii31dq" targetRef="ExclusiveGateway_0ybxh3b" /> + <bpmn2:scriptTask id="ScriptTask_13h2onn" name="Pre Process AAI GET" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_1a65s3k</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_0870pzc</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def dcsi = new DoUpdateE2EServiceInstanceRollback() +dcsi.preProcessAAIGET(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:callActivity id="CallActivity_1527zgc" name="Call AAI Generic GetService" calledElement="GenericGetService"> + <bpmn2:extensionElements> + <camunda:in source="serviceInstanceId" target="GENGS_serviceInstanceId" /> + <camunda:in sourceExpression="service-instance" target="GENGS_type" /> + <camunda:out source="GENGS_FoundIndicator" target="GENGS_FoundIndicator" /> + <camunda:out source="GENGS_SuccessIndicator" target="GENGS_SuccessIndicator" /> + <camunda:out source="WorkflowException" target="WorkflowException" /> + <camunda:out source="GENGS_siResourceLink" target="GENGS_siResourceLink" /> + <camunda:out source="GENGS_service" target="GENGS_service" /> + <camunda:in source="globalSubscriberId" target="GENGS_globalCustomerId" /> + <camunda:in source="serviceType" target="GENGS_serviceType" /> + </bpmn2:extensionElements> + <bpmn2:incoming>SequenceFlow_0870pzc</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_1f31l5s</bpmn2:outgoing> + </bpmn2:callActivity> + <bpmn2:sequenceFlow id="SequenceFlow_0870pzc" sourceRef="ScriptTask_13h2onn" targetRef="CallActivity_1527zgc" /> + <bpmn2:scriptTask id="ScriptTask_0td1f55" name="Post Process AAI GET" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_1f31l5s</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_1ixphei</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def dcsi = new DoUpdateE2EServiceInstanceRollback() +dcsi.postProcessAAIGET(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_1f31l5s" sourceRef="CallActivity_1527zgc" targetRef="ScriptTask_0td1f55" /> + <bpmn2:sequenceFlow id="SequenceFlow_1ixphei" sourceRef="ScriptTask_0td1f55" targetRef="ScriptTask_0gj4dj5" /> + </bpmn2:process> + <bpmn2:error id="Error_2" name="MSOWorkflowException" errorCode="MSOWorkflowException" /> + <bpmn2:error id="Error_1" name="java.lang.Exception" errorCode="java.lang.Exception" /> + <bpmndi:BPMNDiagram id="BPMNDiagram_1"> + <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="DoCreateE2EServiceInstanceRollback"> + <bpmndi:BPMNShape id="_BPMNShape_StartEvent_47" bpmnElement="createSIRollback_startEvent"> + <dc:Bounds x="151" y="79" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="146" y="120" width="48" height="14" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_61" bpmnElement="preProcessRequest_ScriptTask"> + <dc:Bounds x="234" y="57" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_1" bpmnElement="SequenceFlow_1" sourceElement="_BPMNShape_StartEvent_47" targetElement="_BPMNShape_ScriptTask_61"> + <di:waypoint xsi:type="dc:Point" x="187" y="97" /> + <di:waypoint xsi:type="dc:Point" x="234" y="97" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="211" y="82" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_EndEvent_177" bpmnElement="EndEvent_3"> + <dc:Bounds x="626" y="326" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="599" y="367" width="90" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_SubProcess_27" bpmnElement="UnexpectedError_SubProcess_1" isExpanded="true"> + <dc:Bounds x="122" y="981" width="466" height="156" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_StartEvent_70" bpmnElement="StartEvent_1"> + <dc:Bounds x="190" y="1047" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="163" y="1088" width="90" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_EndEvent_219" bpmnElement="EndEvent_1"> + <dc:Bounds x="483" y="1047" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="456" y="1088" width="90" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_4" bpmnElement="SequenceFlow_8" sourceElement="_BPMNShape_StartEvent_70" targetElement="_BPMNShape_ScriptTask_269"> + <di:waypoint xsi:type="dc:Point" x="226" y="1065" /> + <di:waypoint xsi:type="dc:Point" x="294" y="1065" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="216" y="1050" width="90" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_3" bpmnElement="SequenceFlow_2" sourceElement="_BPMNShape_ScriptTask_61"> + <di:waypoint xsi:type="dc:Point" x="334" y="97" /> + <di:waypoint xsi:type="dc:Point" x="391" y="97" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="342.5" y="82" width="90" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_269" bpmnElement="ScriptTask_1"> + <dc:Bounds x="294" y="1025" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_5" bpmnElement="SequenceFlow_7" sourceElement="_BPMNShape_ScriptTask_269" targetElement="_BPMNShape_EndEvent_219"> + <di:waypoint xsi:type="dc:Point" x="394" y="1065" /> + <di:waypoint xsi:type="dc:Point" x="483" y="1065" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="394" y="1050" width="90" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ScriptTask_1wk55es_di" bpmnElement="PostProcess_ScriptTask"> + <dc:Bounds x="594" y="202" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_01l4ssl_di" bpmnElement="SequenceFlow_01l4ssl"> + <di:waypoint xsi:type="dc:Point" x="644" y="282" /> + <di:waypoint xsi:type="dc:Point" x="644" y="326" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="614" y="304" width="90" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="SubProcess_11bi8mc_di" bpmnElement="SubProcess_11bi8mc" isExpanded="true"> + <dc:Bounds x="612" y="982" width="463" height="152" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="StartEvent_1gxe17c_di" bpmnElement="StartEvent_1gxe17c"> + <dc:Bounds x="647" y="1034" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="620" y="1075" width="90" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ScriptTask_15yddb0_di" bpmnElement="ScriptTask_15yddb0"> + <dc:Bounds x="755" y="1012" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="EndEvent_12e3h6k_di" bpmnElement="EndEvent_12e3h6k"> + <dc:Bounds x="905" y="1034" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="878" y="1075" width="90" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1ch4xrf_di" bpmnElement="SequenceFlow_1ch4xrf"> + <di:waypoint xsi:type="dc:Point" x="683" y="1052" /> + <di:waypoint xsi:type="dc:Point" x="755" y="1052" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="663" y="1052" width="90" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_1pjk2ff_di" bpmnElement="SequenceFlow_1pjk2ff"> + <di:waypoint xsi:type="dc:Point" x="855" y="1052" /> + <di:waypoint xsi:type="dc:Point" x="905" y="1052" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="835" y="1052" width="90" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ExclusiveGateway_19tbjgn_di" bpmnElement="ExclusiveGateway_19tbjgn" isMarkerVisible="true"> + <dc:Bounds x="391" y="72" width="50" height="50" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="383" y="54" width="65" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1rzlaoy_di" bpmnElement="SequenceFlow_1rzlaoy"> + <di:waypoint xsi:type="dc:Point" x="416" y="122" /> + <di:waypoint xsi:type="dc:Point" x="416" y="242" /> + <di:waypoint xsi:type="dc:Point" x="594" y="242" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="460.4906587831245" y="224.5" width="19" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ExclusiveGateway_0ii31dq_di" bpmnElement="ExclusiveGateway_0ii31dq" isMarkerVisible="true"> + <dc:Bounds x="687" y="72" width="50" height="50" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="670" y="131" width="83" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ExclusiveGateway_09wkav2_di" bpmnElement="ExclusiveGateway_09wkav2" isMarkerVisible="true"> + <dc:Bounds x="520" y="72" width="50" height="50" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="507" y="127" width="76" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1uw2p9a_di" bpmnElement="SequenceFlow_1uw2p9a"> + <di:waypoint xsi:type="dc:Point" x="570" y="97" /> + <di:waypoint xsi:type="dc:Point" x="687" y="97" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="592.125" y="107.5" width="12" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_11fnnkb_di" bpmnElement="SequenceFlow_11fnnkb"> + <di:waypoint xsi:type="dc:Point" x="545" y="72" /> + <di:waypoint xsi:type="dc:Point" x="545" y="-33" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="560.5" y="44.98780487804885" width="19" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_06aasqh_di" bpmnElement="SequenceFlow_06aasqh"> + <di:waypoint xsi:type="dc:Point" x="441" y="97" /> + <di:waypoint xsi:type="dc:Point" x="520" y="97" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="460.5" y="104" width="12" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="CallActivity_05jnyuq_di" bpmnElement="CallActivity_05jnyuq"> + <dc:Bounds x="417" y="454" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_0pwixhh_di" bpmnElement="SequenceFlow_0pwixhh"> + <di:waypoint xsi:type="dc:Point" x="517" y="494" /> + <di:waypoint xsi:type="dc:Point" x="594" y="494" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="555.5" y="473" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ScriptTask_1i1ova8_di" bpmnElement="ScriptTask_1i1ova8"> + <dc:Bounds x="230" y="632" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ScriptTask_0ngehrz_di" bpmnElement="ScriptTask_0ngehrz"> + <dc:Bounds x="594" y="454" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ScriptTask_01beerv_di" bpmnElement="ScriptTask_01beerv"> + <dc:Bounds x="230" y="454" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="CallActivity_0l7jjb1_di" bpmnElement="CallActivity_0l7jjb1"> + <dc:Bounds x="417" y="632" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ScriptTask_1afo620_di" bpmnElement="ScriptTask_1afo620"> + <dc:Bounds x="594" y="632" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ExclusiveGateway_0ybxh3b_di" bpmnElement="ExclusiveGateway_0ybxh3b" isMarkerVisible="true"> + <dc:Bounds x="864" y="72" width="50" height="50" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="856" y="130" width="66" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_0drjj7b_di" bpmnElement="SequenceFlow_0drjj7b"> + <di:waypoint xsi:type="dc:Point" x="712" y="72" /> + <di:waypoint xsi:type="dc:Point" x="712" y="-33" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="717.5" y="38.190140845070424" width="19" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="IntermediateCatchEvent_05uesi2_di" bpmnElement="IntermediateCatchEvent_05uesi2"> + <dc:Bounds x="159" y="654" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="135" y="699" width="84" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateCatchEvent_1qn9srt_di" bpmnElement="IntermediateCatchEvent_1qn9srt"> + <dc:Bounds x="159" y="476" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="135" y="516" width="86" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateThrowEvent_11l0okn_di" bpmnElement="IntermediateThrowEvent_11l0okn"> + <dc:Bounds x="527" y="-69" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="502" y="-112" width="86" height="36" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateThrowEvent_14ed07u_di" bpmnElement="IntermediateThrowEvent_14ed07u"> + <dc:Bounds x="694" y="-69" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="670" y="-108" width="84" height="36" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_0a83f6m_di" bpmnElement="SequenceFlow_0a83f6m"> + <di:waypoint xsi:type="dc:Point" x="889" y="122" /> + <di:waypoint xsi:type="dc:Point" x="889" y="242" /> + <di:waypoint xsi:type="dc:Point" x="694" y="242" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="928" y="176" width="12" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_1fih4h0_di" bpmnElement="SequenceFlow_1fih4h0"> + <di:waypoint xsi:type="dc:Point" x="330" y="494" /> + <di:waypoint xsi:type="dc:Point" x="417" y="494" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="373.5" y="473" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_1g4qm2l_di" bpmnElement="SequenceFlow_1g4qm2l"> + <di:waypoint xsi:type="dc:Point" x="195" y="494" /> + <di:waypoint xsi:type="dc:Point" x="230" y="494" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="212.5" y="473" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_06xv7b2_di" bpmnElement="SequenceFlow_06xv7b2"> + <di:waypoint xsi:type="dc:Point" x="195" y="672" /> + <di:waypoint xsi:type="dc:Point" x="230" y="672" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="212.5" y="651" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_0b73i9r_di" bpmnElement="SequenceFlow_0b73i9r"> + <di:waypoint xsi:type="dc:Point" x="330" y="672" /> + <di:waypoint xsi:type="dc:Point" x="363" y="672" /> + <di:waypoint xsi:type="dc:Point" x="363" y="672" /> + <di:waypoint xsi:type="dc:Point" x="417" y="672" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="378" y="666" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_0q9ws1s_di" bpmnElement="SequenceFlow_0q9ws1s"> + <di:waypoint xsi:type="dc:Point" x="517" y="672" /> + <di:waypoint xsi:type="dc:Point" x="545" y="672" /> + <di:waypoint xsi:type="dc:Point" x="545" y="672" /> + <di:waypoint xsi:type="dc:Point" x="594" y="672" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="560" y="666" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="IntermediateCatchEvent_0546q5i_di" bpmnElement="IntermediateCatchEvent_0546q5i"> + <dc:Bounds x="156" y="820" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="151" y="856" width="52" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ScriptTask_0gj4dj5_di" bpmnElement="ScriptTask_0gj4dj5"> + <dc:Bounds x="687" y="798" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="CallActivity_0zs5y0x_di" bpmnElement="CallActivity_0zs5y0x"> + <dc:Bounds x="841" y="798" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ScriptTask_1p96syr_di" bpmnElement="ScriptTask_1p96syr"> + <dc:Bounds x="1014" y="798" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1a65s3k_di" bpmnElement="SequenceFlow_1a65s3k"> + <di:waypoint xsi:type="dc:Point" x="192" y="838" /> + <di:waypoint xsi:type="dc:Point" x="234" y="838" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="168" y="817" width="90" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_1lppnhy_di" bpmnElement="SequenceFlow_1lppnhy"> + <di:waypoint xsi:type="dc:Point" x="787" y="838" /> + <di:waypoint xsi:type="dc:Point" x="841" y="838" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="769" y="817" width="90" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_0kbisn8_di" bpmnElement="SequenceFlow_0kbisn8"> + <di:waypoint xsi:type="dc:Point" x="941" y="838" /> + <di:waypoint xsi:type="dc:Point" x="978" y="838" /> + <di:waypoint xsi:type="dc:Point" x="978" y="838" /> + <di:waypoint xsi:type="dc:Point" x="1014" y="838" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="948" y="832" width="90" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ExclusiveGateway_1k16vgh_di" bpmnElement="ExclusiveGateway_1k16vgh" isMarkerVisible="true"> + <dc:Bounds x="778" y="469" width="50" height="50" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="721" y="467" width="66" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_08p4pkv_di" bpmnElement="SequenceFlow_08p4pkv"> + <di:waypoint xsi:type="dc:Point" x="694" y="494" /> + <di:waypoint xsi:type="dc:Point" x="778" y="494" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="736" y="473" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="IntermediateThrowEvent_0x32fw8_di" bpmnElement="IntermediateThrowEvent_0x32fw8"> + <dc:Bounds x="785" y="383" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="762" y="363" width="82" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_0cbnwwi_di" bpmnElement="SequenceFlow_0cbnwwi"> + <di:waypoint xsi:type="dc:Point" x="803" y="469" /> + <di:waypoint xsi:type="dc:Point" x="803" y="419" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="818" y="438" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ScriptTask_1c3q8hc_di" bpmnElement="ScriptTask_1c3q8hc"> + <dc:Bounds x="879" y="454" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_161uzhj_di" bpmnElement="SequenceFlow_161uzhj"> + <di:waypoint xsi:type="dc:Point" x="828" y="494" /> + <di:waypoint xsi:type="dc:Point" x="879" y="494" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="853.5" y="473" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="EndEvent_0knjkkx_di" bpmnElement="EndEvent_0knjkkx"> + <dc:Bounds x="1040.4" y="476" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1058.4" y="516" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_13r4lij_di" bpmnElement="SequenceFlow_13r4lij"> + <di:waypoint xsi:type="dc:Point" x="979" y="494" /> + <di:waypoint xsi:type="dc:Point" x="1040" y="494" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1009.5" y="473" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ExclusiveGateway_0g7wcmb_di" bpmnElement="ExclusiveGateway_0g7wcmb" isMarkerVisible="true"> + <dc:Bounds x="778" y="647" width="50" height="50" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="721" y="645" width="66" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateThrowEvent_0q76lxg_di" bpmnElement="IntermediateThrowEvent_0q76lxg"> + <dc:Bounds x="785" y="589" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="762" y="566" width="82" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ScriptTask_1y4us3g_di" bpmnElement="ScriptTask_1y4us3g"> + <dc:Bounds x="879" y="632" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="EndEvent_0yzh2qs_di" bpmnElement="EndEvent_0yzh2qs"> + <dc:Bounds x="1040" y="654" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1058" y="694" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_0bkvqao_di" bpmnElement="SequenceFlow_0bkvqao"> + <di:waypoint xsi:type="dc:Point" x="803" y="647" /> + <di:waypoint xsi:type="dc:Point" x="803" y="625" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="818" y="630" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_1isdxh1_di" bpmnElement="SequenceFlow_1isdxh1"> + <di:waypoint xsi:type="dc:Point" x="828" y="672" /> + <di:waypoint xsi:type="dc:Point" x="879" y="672" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="853.5" y="651" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_0a9xori_di" bpmnElement="SequenceFlow_0a9xori"> + <di:waypoint xsi:type="dc:Point" x="979" y="672" /> + <di:waypoint xsi:type="dc:Point" x="1040" y="672" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1009.5" y="651" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="IntermediateThrowEvent_1et42wh_di" bpmnElement="IntermediateThrowEvent_1et42wh"> + <dc:Bounds x="871" y="-69" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="848" y="-91" width="82" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_0zijz16_di" bpmnElement="SequenceFlow_0zijz16"> + <di:waypoint xsi:type="dc:Point" x="889" y="72" /> + <di:waypoint xsi:type="dc:Point" x="889" y="20" /> + <di:waypoint xsi:type="dc:Point" x="889" y="20" /> + <di:waypoint xsi:type="dc:Point" x="889" y="-33" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="895" y="14" width="19" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_1bp5oce_di" bpmnElement="SequenceFlow_1bp5oce"> + <di:waypoint xsi:type="dc:Point" x="694" y="672" /> + <di:waypoint xsi:type="dc:Point" x="778" y="672" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="736" y="651" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ScriptTask_17k4l6y_di" bpmnElement="ScriptTask_17k4l6y"> + <dc:Bounds x="1171" y="798" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="EndEvent_193e9tt_di" bpmnElement="EndEvent_193e9tt"> + <dc:Bounds x="1327" y="820" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1300" y="860" width="90" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1n6foyw_di" bpmnElement="SequenceFlow_1n6foyw"> + <di:waypoint xsi:type="dc:Point" x="1271" y="838" /> + <di:waypoint xsi:type="dc:Point" x="1327" y="838" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1254" y="817" width="90" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_1azhgda_di" bpmnElement="SequenceFlow_1azhgda"> + <di:waypoint xsi:type="dc:Point" x="1114" y="838" /> + <di:waypoint xsi:type="dc:Point" x="1171" y="838" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1097.5" y="817" width="90" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_055b52t_di" bpmnElement="SequenceFlow_055b52t"> + <di:waypoint xsi:type="dc:Point" x="737" y="97" /> + <di:waypoint xsi:type="dc:Point" x="864" y="97" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="770" y="106" width="12" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ScriptTask_13h2onn_di" bpmnElement="ScriptTask_13h2onn"> + <dc:Bounds x="234" y="798" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="CallActivity_1527zgc_di" bpmnElement="CallActivity_1527zgc"> + <dc:Bounds x="391" y="798" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_0870pzc_di" bpmnElement="SequenceFlow_0870pzc"> + <di:waypoint xsi:type="dc:Point" x="334" y="838" /> + <di:waypoint xsi:type="dc:Point" x="391" y="838" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="362.5" y="817" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ScriptTask_0td1f55_di" bpmnElement="ScriptTask_0td1f55"> + <dc:Bounds x="543" y="798" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1f31l5s_di" bpmnElement="SequenceFlow_1f31l5s"> + <di:waypoint xsi:type="dc:Point" x="491" y="838" /> + <di:waypoint xsi:type="dc:Point" x="543" y="838" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="517" y="817" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_1ixphei_di" bpmnElement="SequenceFlow_1ixphei"> + <di:waypoint xsi:type="dc:Point" x="643" y="838" /> + <di:waypoint xsi:type="dc:Point" x="687" y="838" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="665" y="817" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + </bpmndi:BPMNPlane> + </bpmndi:BPMNDiagram> +</bpmn2:definitions> |