diff options
Diffstat (limited to 'bpmn/MSOInfrastructureBPMN/src/main')
121 files changed, 16685 insertions, 4422 deletions
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateCustomE2EServiceInstance.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateCustomE2EServiceInstance.groovy index 450c5b1147..1464aedc5c 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateCustomE2EServiceInstance.groovy +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateCustomE2EServiceInstance.groovy @@ -1,321 +1,341 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP - SO - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * Copyright (C) 2017 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.common.scripts.AbstractServiceTaskProcessor -import org.openecomp.mso.bpmn.common.scripts.ExceptionUtil - -import org.openecomp.mso.bpmn.core.WorkflowException -import org.openecomp.mso.bpmn.core.json.JsonUtils -import org.openecomp.mso.rest.APIResponse - -import java.util.List; -import java.util.UUID; - -import org.camunda.bpm.engine.delegate.BpmnError -import org.camunda.bpm.engine.runtime.Execution -import org.apache.commons.lang3.* -import org.apache.commons.codec.binary.Base64; -import org.springframework.web.util.UriUtils - -/** - * This groovy class supports the <class>CreateServiceInstance.bpmn</class> process. - * AlaCarte flow for 1702 ServiceInstance Create - * - */ -public class CreateCustomE2EServiceInstance extends AbstractServiceTaskProcessor { - String Prefix="CRESI_" - ExceptionUtil exceptionUtil = new ExceptionUtil() - JsonUtils jsonUtil = new JsonUtils() - - - public void preProcessRequest (Execution execution) { - def isDebugEnabled=execution.getVariable("isDebugLogEnabled") - execution.setVariable("prefix",Prefix) - String msg = "" - utils.log("INFO", " *** preProcessRequest() *** ", isDebugEnabled) - - try { - - String siRequest = execution.getVariable("bpmnRequest") - utils.logAudit(siRequest) - - String requestId = execution.getVariable("mso-request-id") - execution.setVariable("msoRequestId", requestId) - utils.log("INFO", "Input Request:" + siRequest + " reqId:" + requestId, isDebugEnabled) - - String serviceInstanceId = execution.getVariable("serviceInstanceId") - if (isBlank(serviceInstanceId)) { - serviceInstanceId = UUID.randomUUID().toString() - } - utils.log("INFO", "Generated new Service Instance:" + serviceInstanceId, isDebugEnabled) - serviceInstanceId = UriUtils.encode(serviceInstanceId,"UTF-8") - execution.setVariable("serviceInstanceId", serviceInstanceId) - - //subscriberInfo - String globalSubscriberId = jsonUtil.getJsonValue(siRequest, "requestDetails.subscriberInfo.globalSubscriberId") - if (isBlank(globalSubscriberId)) { - msg = "Input globalSubscriberId' is null" - exceptionUtil.buildAndThrowWorkflowException(execution, 500, msg) - } else { - execution.setVariable("globalSubscriberId", globalSubscriberId) - } - - //requestInfo - execution.setVariable("source", jsonUtil.getJsonValue(siRequest, "requestDetails.requestInfo.source")) - execution.setVariable("serviceInstanceName", jsonUtil.getJsonValue(siRequest, "requestDetails.requestInfo.instanceName")) - execution.setVariable("disableRollback", jsonUtil.getJsonValue(siRequest, "requestDetails.requestInfo.suppressRollback")) - String productFamilyId = jsonUtil.getJsonValue(siRequest, "requestDetails.requestInfo.productFamilyId") - if (isBlank(productFamilyId)) - { - msg = "Input productFamilyId is null" - utils.log("INFO", msg, isDebugEnabled) - //exceptionUtil.buildAndThrowWorkflowException(execution, 500, msg) - } else { - execution.setVariable("productFamilyId", productFamilyId) - } - String userParams = jsonUtil.getJsonValue(siRequest, "requestDetails.requestParameters.userParams") - utils.log("INFO", "userParams:" + userParams, isDebugEnabled) - List<String> paramList = jsonUtil.StringArrayToList(execution, userParams) - String uuiRequest = jsonUtil.getJsonValue(paramList.get(0), "UUIRequest") - //modelInfo - if (isBlank(uuiRequest)) { - msg = "Input uuiRequest is null" - utils.log("INFO", msg, isDebugEnabled) - exceptionUtil.buildAndThrowWorkflowException(execution, 500, msg) - } else - { - execution.setVariable("uuiRequest", uuiRequest) - } - - utils.log("INFO", "uuiRequest:\n" + uuiRequest, isDebugEnabled) - - //requestParameters - String serviceType = jsonUtil.getJsonValue(uuiRequest, "service.parameters.serviceType") - if (isBlank(serviceType)) { - msg = "Input serviceType is null" - utils.log("INFO", msg, isDebugEnabled) - exceptionUtil.buildAndThrowWorkflowException(execution, 500, msg) - } else { - execution.setVariable("serviceType", serviceType) - } - execution.setVariable("URN_mso_adapters_openecomp_db_endpoint","http://mso.mso.testlab.openecomp.org:8080/dbadapters/RequestsDbAdapter") - - } catch (BpmnError e) { - throw e; - } catch (Exception ex){ - msg = "Exception in preProcessRequest " + ex.getMessage() - utils.log("INFO", msg, isDebugEnabled) - exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg) - } - utils.log("INFO"," ***** Exit preProcessRequest *****", isDebugEnabled) - } - - public void sendSyncResponse (Execution execution) { - def isDebugEnabled=execution.getVariable("isDebugLogEnabled") - utils.log("INFO", " *** sendSyncResponse *** ", isDebugEnabled) - - try { - String operationId = execution.getVariable("operationId") - String serviceInstanceId = execution.getVariable("serviceInstanceId") - // RESTResponse for API Handler (APIH) Reply Task - String createServiceRestRequest = """{"service":{"serviceId":"${serviceInstanceId}","operationId":"${operationId}"}}""".trim() - utils.log("INFO", " sendSyncResponse to APIH:" + "\n" + createServiceRestRequest, isDebugEnabled) - sendWorkflowResponse(execution, 202, createServiceRestRequest) - execution.setVariable("sentSyncResponse", true) - - } catch (Exception ex) { - String msg = "Exceptuion in sendSyncResponse:" + ex.getMessage() - utils.log("INFO", msg, isDebugEnabled) - exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg) - } - utils.log("INFO"," ***** Exit sendSyncResopnse *****", isDebugEnabled) - } - - - public void sendSyncError (Execution execution) { - def isDebugEnabled=execution.getVariable("isDebugLogEnabled") - utils.log("INFO", " *** sendSyncError *** ", isDebugEnabled) - - try { - String errorMessage = "" - if (execution.getVariable("WorkflowException") instanceof WorkflowException) { - WorkflowException wfe = execution.getVariable("WorkflowException") - errorMessage = wfe.getErrorMessage() - } else { - errorMessage = "Sending Sync Error." - } - - String buildworkflowException = +/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017 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.common.scripts.AbstractServiceTaskProcessor
+import org.openecomp.mso.bpmn.common.scripts.ExceptionUtil
+
+import org.openecomp.mso.bpmn.core.WorkflowException
+import org.openecomp.mso.bpmn.core.json.JsonUtils
+import org.openecomp.mso.rest.APIResponse
+
+import java.util.UUID;
+
+import org.camunda.bpm.engine.delegate.BpmnError
+import org.camunda.bpm.engine.delegate.DelegateExecution
+import org.apache.commons.lang3.*
+import org.apache.commons.codec.binary.Base64;
+import org.springframework.web.util.UriUtils
+
+/**
+ * This groovy class supports the <class>CreateServiceInstance.bpmn</class> process.
+ * AlaCarte flow for 1702 ServiceInstance Create
+ *
+ */
+public class CreateCustomE2EServiceInstance extends AbstractServiceTaskProcessor {
+ String Prefix="CRESI_"
+ ExceptionUtil exceptionUtil = new ExceptionUtil()
+ JsonUtils jsonUtil = new JsonUtils()
+
+
+ public void preProcessRequest (DelegateExecution execution) {
+ def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
+ execution.setVariable("prefix",Prefix)
+ String msg = ""
+ utils.log("DEBUG", " *** preProcessRequest() *** ", isDebugEnabled)
+
+ try {
+
+ String siRequest = execution.getVariable("bpmnRequest")
+ utils.logAudit(siRequest)
+
+ String requestId = execution.getVariable("mso-request-id")
+ execution.setVariable("msoRequestId", requestId)
+ utils.log("DEBUG", "Input Request:" + siRequest + " reqId:" + requestId, isDebugEnabled)
+
+ String serviceInstanceId = execution.getVariable("serviceInstanceId")
+ if (isBlank(serviceInstanceId)) {
+ serviceInstanceId = UUID.randomUUID().toString()
+ }
+ utils.log("DEBUG", "Generated new Service Instance:" + serviceInstanceId, isDebugEnabled)
+ serviceInstanceId = UriUtils.encode(serviceInstanceId,"UTF-8")
+ execution.setVariable("serviceInstanceId", serviceInstanceId)
+
+ //subscriberInfo
+ String globalSubscriberId = jsonUtil.getJsonValue(siRequest, "requestDetails.subscriberInfo.globalSubscriberId")
+ if (isBlank(globalSubscriberId)) {
+ msg = "Input globalSubscriberId' is null"
+ exceptionUtil.buildAndThrowWorkflowException(execution, 500, msg)
+ } else {
+ execution.setVariable("globalSubscriberId", globalSubscriberId)
+ }
+
+ //requestInfo
+ execution.setVariable("source", jsonUtil.getJsonValue(siRequest, "requestDetails.requestInfo.source"))
+ execution.setVariable("serviceInstanceName", jsonUtil.getJsonValue(siRequest, "requestDetails.requestInfo.instanceName"))
+ execution.setVariable("disableRollback", jsonUtil.getJsonValue(siRequest, "requestDetails.requestInfo.suppressRollback"))
+ String productFamilyId = jsonUtil.getJsonValue(siRequest, "requestDetails.requestInfo.productFamilyId")
+ if (isBlank(productFamilyId))
+ {
+ msg = "Input productFamilyId is null"
+ utils.log("DEBUG", msg, isDebugEnabled)
+ //exceptionUtil.buildAndThrowWorkflowException(execution, 500, msg)
+ } else {
+ execution.setVariable("productFamilyId", productFamilyId)
+ }
+
+ //modelInfo
+ String serviceModelInfo = jsonUtil.getJsonValue(siRequest, "requestDetails.modelInfo")
+ if (isBlank(serviceModelInfo)) {
+ msg = "Input serviceModelInfo is null"
+ utils.log("DEBUG", msg, isDebugEnabled)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 500, msg)
+ } else
+ {
+ execution.setVariable("serviceModelInfo", serviceModelInfo)
+ }
+
+ utils.log("DEBUG", "modelInfo" + serviceModelInfo, isDebugEnabled)
+
+ //requestParameters
+ String subscriptionServiceType = jsonUtil.getJsonValue(siRequest, "requestDetails.requestParameters.subscriptionServiceType")
+ if (isBlank(subscriptionServiceType)) {
+ msg = "Input subscriptionServiceType is null"
+ utils.log("DEBUG", msg, isDebugEnabled)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 500, msg)
+ } else {
+ execution.setVariable("subscriptionServiceType", subscriptionServiceType)
+ }
+
+
+ /*
+ * Extracting User Parameters from incoming Request and converting into a Map
+ */
+ def jsonSlurper = new JsonSlurper()
+ def jsonOutput = new JsonOutput()
+
+ Map reqMap = jsonSlurper.parseText(siRequest)
+
+ //InputParams
+ def userParams = reqMap.requestDetails?.requestParameters?.userParams
+
+ Map<String, String> inputMap = [:]
+ if (userParams) {
+ userParams.each {
+ userParam -> inputMap.put(userParam.name, userParam.value.toString())
+ }
+ }
+
+ utils.log("DEBUG", "User Input Parameters map: " + userParams.toString(), isDebugEnabled)
+ execution.setVariable("serviceInputParams", inputMap)
+ execution.setVariable("URN_mso_adapters_openecomp_db_endpoint","http://mso.mso.testlab.openecomp.org:8080/dbadapters/RequestsDbAdapter")
+ //TODO
+ //execution.setVariable("serviceInputParams", jsonUtil.getJsonValue(siRequest, "requestDetails.requestParameters.userParams"))
+ //execution.setVariable("failExists", true)
+
+ } catch (BpmnError e) {
+ throw e;
+ } catch (Exception ex){
+ msg = "Exception in preProcessRequest " + ex.getMessage()
+ utils.log("DEBUG", msg, isDebugEnabled)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg)
+ }
+ utils.log("DEBUG"," ***** Exit preProcessRequest *****", isDebugEnabled)
+ }
+
+ public void sendSyncResponse (DelegateExecution execution) {
+ def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
+ utils.log("DEBUG", " *** sendSyncResponse *** ", isDebugEnabled)
+
+ try {
+ String operationId = execution.getVariable("operationId")
+ String serviceInstanceId = execution.getVariable("serviceInstanceId")
+ // RESTResponse for API Handler (APIH) Reply Task
+ String createServiceRestRequest = """{"service":{"serviceId":"${serviceInstanceId}","operationId":"${operationId}"}}""".trim()
+ utils.log("DEBUG", " sendSyncResponse to APIH:" + "\n" + createServiceRestRequest, isDebugEnabled)
+ sendWorkflowResponse(execution, 202, createServiceRestRequest)
+ execution.setVariable("sentSyncResponse", true)
+
+ } catch (Exception ex) {
+ String msg = "Exceptuion in sendSyncResponse:" + ex.getMessage()
+ utils.log("DEBUG", msg, isDebugEnabled)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg)
+ }
+ utils.log("DEBUG"," ***** Exit sendSyncResopnse *****", isDebugEnabled)
+ }
+
+
+ public void sendSyncError (DelegateExecution execution) {
+ def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
+ utils.log("DEBUG", " *** sendSyncError *** ", isDebugEnabled)
+
+ try {
+ String errorMessage = ""
+ if (execution.getVariable("WorkflowException") instanceof WorkflowException) {
+ WorkflowException wfe = execution.getVariable("WorkflowException")
+ errorMessage = wfe.getErrorMessage()
+ } else {
+ errorMessage = "Sending Sync Error."
+ }
+
+ String buildworkflowException =
"""<aetgt:WorkflowException xmlns:aetgt="http://org.openecomp/mso/workflow/schema/v1">
- <aetgt:ErrorMessage>${errorMessage}</aetgt:ErrorMessage> - <aetgt:ErrorCode>7000</aetgt:ErrorCode> - </aetgt:WorkflowException>""" - - utils.logAudit(buildworkflowException) - sendWorkflowResponse(execution, 500, buildworkflowException) - - } catch (Exception ex) { - utils.log("INFO", " Sending Sync Error Activity Failed. " + "\n" + ex.getMessage(), isDebugEnabled) - } - - } - - public void prepareCompletionRequest (Execution execution) { - def isDebugEnabled=execution.getVariable("isDebugLogEnabled") - utils.log("INFO", " *** prepareCompletion *** ", isDebugEnabled) - - try { - String requestId = execution.getVariable("msoRequestId") - String serviceInstanceId = execution.getVariable("serviceInstanceId") - String source = execution.getVariable("source") - - String msoCompletionRequest = + <aetgt:ErrorMessage>${errorMessage}</aetgt:ErrorMessage>
+ <aetgt:ErrorCode>7000</aetgt:ErrorCode>
+ </aetgt:WorkflowException>"""
+
+ utils.logAudit(buildworkflowException)
+ sendWorkflowResponse(execution, 500, buildworkflowException)
+
+ } catch (Exception ex) {
+ utils.log("DEBUG", " Sending Sync Error Activity Failed. " + "\n" + ex.getMessage(), isDebugEnabled)
+ }
+
+ }
+
+ public void prepareCompletionRequest (DelegateExecution execution) {
+ def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
+ utils.log("DEBUG", " *** prepareCompletion *** ", isDebugEnabled)
+
+ try {
+ String requestId = execution.getVariable("msoRequestId")
+ String serviceInstanceId = execution.getVariable("serviceInstanceId")
+ String source = execution.getVariable("source")
+
+ String msoCompletionRequest =
"""<aetgt:MsoCompletionRequest xmlns:aetgt="http://org.openecomp/mso/workflow/schema/v1"
xmlns:ns="http://org.openecomp/mso/request/types/v1">
<request-info xmlns="http://org.openecomp/mso/infra/vnf-request/v1">
- <request-id>${requestId}</request-id> - <action>CREATE</action> - <source>${source}</source> - </request-info> - <status-message>Service Instance was created successfully.</status-message> - <serviceInstanceId>${serviceInstanceId}</serviceInstanceId> - <mso-bpel-name>CreateGenericALaCarteServiceInstance</mso-bpel-name> - </aetgt:MsoCompletionRequest>""" - - // Format Response - String xmlMsoCompletionRequest = utils.formatXml(msoCompletionRequest) - - execution.setVariable("completionRequest", xmlMsoCompletionRequest) - utils.log("INFO", " Overall SUCCESS Response going to CompleteMsoProcess - " + "\n" + xmlMsoCompletionRequest, isDebugEnabled) - - } catch (Exception ex) { - String msg = " Exception in prepareCompletion:" + ex.getMessage() - utils.log("INFO", msg, isDebugEnabled) - exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg) - } - utils.log("INFO", "*** Exit prepareCompletionRequest ***", isDebugEnabled) - } - - public void prepareFalloutRequest(Execution execution){ - def isDebugEnabled=execution.getVariable("isDebugLogEnabled") - utils.log("INFO", " *** prepareFalloutRequest *** ", isDebugEnabled) - - try { - WorkflowException wfex = execution.getVariable("WorkflowException") - utils.log("INFO", " Input Workflow Exception: " + wfex.toString(), isDebugEnabled) - String requestId = execution.getVariable("msoRequestId") - String source = execution.getVariable("source") - String requestInfo = + <request-id>${requestId}</request-id>
+ <action>CREATE</action>
+ <source>${source}</source>
+ </request-info>
+ <status-message>Service Instance was created successfully.</status-message>
+ <serviceInstanceId>${serviceInstanceId}</serviceInstanceId>
+ <mso-bpel-name>CreateGenericALaCarteServiceInstance</mso-bpel-name>
+ </aetgt:MsoCompletionRequest>"""
+
+ // Format Response
+ String xmlMsoCompletionRequest = utils.formatXml(msoCompletionRequest)
+
+ execution.setVariable("completionRequest", xmlMsoCompletionRequest)
+ utils.log("DEBUG", " Overall SUCCESS Response going to CompleteMsoProcess - " + "\n" + xmlMsoCompletionRequest, isDebugEnabled)
+
+ } catch (Exception ex) {
+ String msg = " Exception in prepareCompletion:" + ex.getMessage()
+ utils.log("DEBUG", msg, isDebugEnabled)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg)
+ }
+ utils.log("DEBUG", "*** Exit prepareCompletionRequest ***", isDebugEnabled)
+ }
+
+ public void prepareFalloutRequest(DelegateExecution execution){
+ def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
+ utils.log("DEBUG", " *** prepareFalloutRequest *** ", isDebugEnabled)
+
+ try {
+ WorkflowException wfex = execution.getVariable("WorkflowException")
+ utils.log("DEBUG", " Input Workflow Exception: " + wfex.toString(), isDebugEnabled)
+ String requestId = execution.getVariable("msoRequestId")
+ String source = execution.getVariable("source")
+ String requestInfo =
"""<request-info xmlns="http://org.openecomp/mso/infra/vnf-request/v1">
- <request-id>${requestId}</request-id> - <action>CREATE</action> - <source>${source}</source> - </request-info>""" - - String falloutRequest = exceptionUtil.processMainflowsBPMNException(execution, requestInfo) - execution.setVariable("falloutRequest", falloutRequest) - } catch (Exception ex) { - utils.log("INFO", "Exception prepareFalloutRequest:" + ex.getMessage(), isDebugEnabled) - String errorException = " Bpmn error encountered in CreateGenericALaCarteServiceInstance flow. FalloutHandlerRequest, buildErrorResponse() - " + ex.getMessage() - String requestId = execution.getVariable("msoRequestId") - String falloutRequest = + <request-id>${requestId}</request-id>
+ <action>CREATE</action>
+ <source>${source}</source>
+ </request-info>"""
+
+ String falloutRequest = exceptionUtil.processMainflowsBPMNException(execution, requestInfo)
+ execution.setVariable("falloutRequest", falloutRequest)
+ } catch (Exception ex) {
+ utils.log("DEBUG", "Exception prepareFalloutRequest:" + ex.getMessage(), isDebugEnabled)
+ String errorException = " Bpmn error encountered in CreateGenericALaCarteServiceInstance flow. FalloutHandlerRequest, buildErrorResponse() - " + ex.getMessage()
+ String requestId = execution.getVariable("msoRequestId")
+ String falloutRequest =
"""<aetgt:FalloutHandlerRequest xmlns:aetgt="http://org.openecomp/mso/workflow/schema/v1"
xmlns:ns="http://org.openecomp/mso/request/types/v1"
xmlns:wfsch="http://org.openecomp/mso/workflow/schema/v1">
<request-info xmlns="http://org.openecomp/mso/infra/vnf-request/v1">
- <request-id>${requestId}</request-id> - <action>CREATE</action> - <source>UUI</source> - </request-info> + <request-id>${requestId}</request-id>
+ <action>CREATE</action>
+ <source>UUI</source>
+ </request-info>
<aetgt:WorkflowException xmlns:aetgt="http://org.openecomp/mso/workflow/schema/v1">
- <aetgt:ErrorMessage>${errorException}</aetgt:ErrorMessage> - <aetgt:ErrorCode>7000</aetgt:ErrorCode> - </aetgt:WorkflowException> - </aetgt:FalloutHandlerRequest>""" - - execution.setVariable("falloutRequest", falloutRequest) - } - utils.log("INFO", "*** Exit prepareFalloutRequest ***", isDebugEnabled) - } - - /** - * Init the service Operation Status - */ - public void prepareInitServiceOperationStatus(Execution execution){ - def isDebugEnabled = execution.getVariable("isDebugLogEnabled") - utils.log("INFO", " ======== STARTED prepareInitServiceOperationStatus Process ======== ", isDebugEnabled) - try{ - String serviceId = execution.getVariable("serviceInstanceId") - String operationId = UUID.randomUUID().toString() - String serviceName = execution.getVariable("serviceInstanceName") - String operationType = "CREATE" - String userId = "" - String result = "processing" - String progress = "0" - String reason = "" - String operationContent = "Prepare service creation" - utils.log("INFO", "Generated new operation for Service Instance serviceId:" + serviceId + " operationId:" + operationId, isDebugEnabled) - serviceId = UriUtils.encode(serviceId,"UTF-8") - execution.setVariable("serviceInstanceId", serviceId) - execution.setVariable("operationId", operationId) - execution.setVariable("operationType", operationType) - - def dbAdapterEndpoint = execution.getVariable("URN_mso_adapters_openecomp_db_endpoint") - execution.setVariable("CVFMI_dbAdapterEndpoint", dbAdapterEndpoint) - utils.log("INFO", "DB Adapter Endpoint is: " + dbAdapterEndpoint, isDebugEnabled) - - String payload = - """<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" - xmlns:ns="http://org.openecomp.mso/requestsdb"> - <soapenv:Header/> - <soapenv:Body> - <ns:updateServiceOperationStatus xmlns:ns="http://org.openecomp.mso/requestsdb"> - <serviceId>${serviceId}</serviceId> - <operationId>${operationId}</operationId> - <serviceName>${serviceName}</serviceName> - <operationType>${operationType}</operationType> - <userId>${userId}</userId> - <result>${result}</result> - <operationContent>${operationContent}</operationContent> - <progress>${progress}</progress> - <reason>${reason}</reason> - </ns:updateServiceOperationStatus> - </soapenv:Body> - </soapenv:Envelope>""" - - payload = utils.formatXml(payload) - execution.setVariable("CVFMI_updateServiceOperStatusRequest", payload) - utils.log("INFO", "Outgoing updateServiceOperStatusRequest: \n" + payload, isDebugEnabled) - utils.logAudit("CreateVfModuleInfra Outgoing updateServiceOperStatusRequest Request: " + payload) - - }catch(Exception e){ - utils.log("ERROR", "Exception Occured Processing prepareInitServiceOperationStatus. Exception is:\n" + e, isDebugEnabled) - execution.setVariable("CVFMI_ErrorResponse", "Error Occurred during prepareInitServiceOperationStatus Method:\n" + e.getMessage()) - } - utils.log("INFO", "======== COMPLETED prepareInitServiceOperationStatus Process ======== ", isDebugEnabled) - } - -} + <aetgt:ErrorMessage>${errorException}</aetgt:ErrorMessage>
+ <aetgt:ErrorCode>7000</aetgt:ErrorCode>
+ </aetgt:WorkflowException>
+ </aetgt:FalloutHandlerRequest>"""
+
+ execution.setVariable("falloutRequest", falloutRequest)
+ }
+ utils.log("DEBUG", "*** Exit prepareFalloutRequest ***", isDebugEnabled)
+ }
+
+ /**
+ * Init the service Operation Status
+ */
+ public void prepareInitServiceOperationStatus(DelegateExecution execution){
+ def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
+ utils.log("DEBUG", " ======== STARTED prepareInitServiceOperationStatus Process ======== ", isDebugEnabled)
+ try{
+ String serviceId = execution.getVariable("serviceInstanceId")
+ String operationId = UUID.randomUUID().toString()
+ String operationType = "CREATE"
+ String userId = ""
+ String result = "processing"
+ String progress = "0"
+ String reason = ""
+ String operationContent = "Prepare service creation"
+ utils.log("DEBUG", "Generated new operation for Service Instance serviceId:" + serviceId + " operationId:" + operationId, isDebugEnabled)
+ serviceId = UriUtils.encode(serviceId,"UTF-8")
+ execution.setVariable("serviceInstanceId", serviceId)
+ execution.setVariable("operationId", operationId)
+ execution.setVariable("operationType", operationType)
+
+ def dbAdapterEndpoint = execution.getVariable("URN_mso_adapters_openecomp_db_endpoint")
+ execution.setVariable("CVFMI_dbAdapterEndpoint", dbAdapterEndpoint)
+ utils.log("DEBUG", "DB Adapter Endpoint is: " + dbAdapterEndpoint, isDebugEnabled)
+
+ String payload =
+ """<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:ns="http://org.openecomp.mso/requestsdb">
+ <soapenv:Header/>
+ <soapenv:Body>
+ <ns:updateServiceOperationStatus xmlns:ns="http://org.openecomp.mso/requestsdb">
+ <serviceId>${serviceId}</serviceId>
+ <operationId>${operationId}</operationId>
+ <operationType>${operationType}</operationType>
+ <userId>${userId}</userId>
+ <result>${result}</result>
+ <operationContent>${operationContent}</operationContent>
+ <progress>${progress}</progress>
+ <reason>${reason}</reason>
+ </ns:updateServiceOperationStatus>
+ </soapenv:Body>
+ </soapenv:Envelope>"""
+
+ payload = utils.formatXml(payload)
+ execution.setVariable("CVFMI_updateServiceOperStatusRequest", payload)
+ utils.log("DEBUG", "Outgoing updateServiceOperStatusRequest: \n" + payload, isDebugEnabled)
+ utils.logAudit("CreateVfModuleInfra Outgoing updateServiceOperStatusRequest Request: " + payload)
+
+ }catch(Exception e){
+ utils.log("ERROR", "Exception Occured Processing prepareInitServiceOperationStatus. Exception is:\n" + e, isDebugEnabled)
+ execution.setVariable("CVFMI_ErrorResponse", "Error Occurred during prepareInitServiceOperationStatus Method:\n" + e.getMessage())
+ }
+ utils.log("DEBUG", "======== COMPLETED prepareInitServiceOperationStatus Process ======== ", isDebugEnabled)
+ }
+
+}
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateGenericALaCarteServiceInstance.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateGenericALaCarteServiceInstance.groovy index 80d714893d..0de28f77ce 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateGenericALaCarteServiceInstance.groovy +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateGenericALaCarteServiceInstance.groovy @@ -25,7 +25,7 @@ import groovy.xml.XmlUtil import groovy.json.* import org.openecomp.mso.bpmn.common.scripts.AbstractServiceTaskProcessor import org.openecomp.mso.bpmn.common.scripts.ExceptionUtil -import org.openecomp.mso.bpmn.common.scripts.VidUtils +import org.openecomp.mso.bpmn.core.domain.ServiceDecomposition import org.openecomp.mso.bpmn.core.WorkflowException import org.openecomp.mso.bpmn.core.json.JsonUtils import org.openecomp.mso.rest.APIResponse @@ -33,7 +33,7 @@ import org.openecomp.mso.rest.APIResponse import java.util.UUID; import org.camunda.bpm.engine.delegate.BpmnError -import org.camunda.bpm.engine.runtime.Execution +import org.camunda.bpm.engine.delegate.DelegateExecution import org.apache.commons.lang3.* import org.apache.commons.codec.binary.Base64; import org.springframework.web.util.UriUtils @@ -48,13 +48,12 @@ public class CreateGenericALaCarteServiceInstance extends AbstractServiceTaskPro String Prefix="CRESI_" ExceptionUtil exceptionUtil = new ExceptionUtil() JsonUtils jsonUtil = new JsonUtils() - VidUtils vidUtils = new VidUtils() - public void preProcessRequest (Execution execution) { + public void preProcessRequest (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix",Prefix) String msg = "" - utils.log("DEBUG", " *** preProcessRequest() *** ", isDebugEnabled) + utils.log("DEBUG", " *** preProcessRequest() of CreateGenericALaCarteServiceInstance *** ", isDebugEnabled) try { @@ -68,8 +67,11 @@ public class CreateGenericALaCarteServiceInstance extends AbstractServiceTaskPro String serviceInstanceId = execution.getVariable("serviceInstanceId") if (isBlank(serviceInstanceId)) { serviceInstanceId = UUID.randomUUID().toString() + utils.log("DEBUG", "Generated new Service Instance ID:" + serviceInstanceId, isDebugEnabled) + } else { + utils.log("DEBUG", "Using provided Service Instance ID:" + serviceInstanceId, isDebugEnabled) } - utils.log("DEBUG", "Generated new Service Instance:" + serviceInstanceId, isDebugEnabled) + serviceInstanceId = UriUtils.encode(serviceInstanceId,"UTF-8") execution.setVariable("serviceInstanceId", serviceInstanceId) @@ -113,7 +115,7 @@ public class CreateGenericALaCarteServiceInstance extends AbstractServiceTaskPro } utils.log("DEBUG", "modelInfo" + serviceModelInfo, isDebugEnabled) - + //requestParameters String subscriptionServiceType = jsonUtil.getJsonValue(siRequest, "requestDetails.requestParameters.subscriptionServiceType") if (isBlank(subscriptionServiceType)) { @@ -139,7 +141,7 @@ public class CreateGenericALaCarteServiceInstance extends AbstractServiceTaskPro Map<String, String> inputMap = [:] if (userParams) { userParams.each { - userParam -> inputMap.put(userParam.name, userParam.value) + userParam -> inputMap.put(userParam.name, userParam.value.toString()) } } @@ -156,10 +158,10 @@ public class CreateGenericALaCarteServiceInstance extends AbstractServiceTaskPro utils.log("DEBUG", msg, isDebugEnabled) exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg) } - utils.log("DEBUG"," ***** Exit preProcessRequest *****", isDebugEnabled) + utils.log("DEBUG"," ***** Exit preProcessRequest of CreateGenericALaCarteServiceInstance *****", isDebugEnabled) } - public void sendSyncResponse (Execution execution) { + public void sendSyncResponse (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") utils.log("DEBUG", " *** sendSyncResponse *** ", isDebugEnabled) @@ -181,7 +183,7 @@ public class CreateGenericALaCarteServiceInstance extends AbstractServiceTaskPro } - public void sendSyncError (Execution execution) { + public void sendSyncError (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") utils.log("DEBUG", " *** sendSyncError *** ", isDebugEnabled) @@ -209,7 +211,75 @@ public class CreateGenericALaCarteServiceInstance extends AbstractServiceTaskPro } - public void prepareCompletionRequest (Execution execution) { + // ******************************* + // + // ******************************* + public void prepareDecomposeService(DelegateExecution execution) { + def isDebugEnabled=execution.getVariable("isDebugLogEnabled") + utils.log("DEBUG", " ***** Inside prepareDecomposeService of CreateGenericALaCarteServiceInstance ***** ", isDebugEnabled) + try { + String siRequest = execution.getVariable("bpmnRequest") + String serviceModelInfo = jsonUtil.getJsonValue(siRequest, "requestDetails.modelInfo") + execution.setVariable("serviceModelInfo", serviceModelInfo) + } catch (Exception ex) { + // try error in method block + String exceptionMessage = "Bpmn error encountered in CreateGenericALaCarteServiceInstance flow. Unexpected Error from method prepareDecomposeService() - " + ex.getMessage() + exceptionUtil.buildAndThrowWorkflowException(execution, 7000, exceptionMessage) + } + utils.log("DEBUG", " ***** Completed prepareDecomposeService of CreateGenericALaCarteServiceInstance ***** ", isDebugEnabled) + } + + + // ******************************* + // + // ******************************* + public void prepareCreateServiceInstance(DelegateExecution execution) { + def isDebugEnabled=execution.getVariable("isDebugLogEnabled") + + try { + utils.log("DEBUG", " ***** Inside prepareCreateServiceInstance of CreateGenericALaCarteServiceInstance ***** ", isDebugEnabled) + + /* + * Extracting User Parameters from incoming Request and converting into a Map + */ + def jsonSlurper = new JsonSlurper() + def jsonOutput = new JsonOutput() + def siRequest = execution.getVariable("bpmnRequest") + Map reqMap = jsonSlurper.parseText(siRequest) + //InputParams + def userParams = reqMap.requestDetails?.requestParameters?.userParams + Map<String, String> inputMap = [:] + if (userParams != null) { + userParams.each { + userParam -> inputMap.put(userParam.name, userParam.value) + } + } + + utils.log("DEBUG", "User Input Parameters map: " + userParams.toString(), isDebugEnabled) + execution.setVariable("serviceInputParams", inputMap) + + ServiceDecomposition serviceDecomposition = execution.getVariable("serviceDecomposition") + + String serviceInstanceId = execution.getVariable("serviceInstanceId") + serviceDecomposition.getServiceInstance().setInstanceId(serviceInstanceId) + + String serviceInstanceName = jsonUtil.getJsonValue(siRequest, "requestDetails.requestInfo.instanceName") + serviceDecomposition.getServiceInstance().setInstanceName(serviceInstanceName) + execution.setVariable("serviceInstanceName", serviceInstanceName) + execution.setVariable("serviceDecomposition", serviceDecomposition) + execution.setVariable("serviceDecompositionString", serviceDecomposition.toJsonString()) + utils.log("DEBUG", "serviceDecomposition.serviceInstanceName: " + serviceDecomposition.getServiceInstance().getInstanceName(), isDebugEnabled) + + utils.log("DEBUG", " ***** Completed prepareCreateServiceInstance of CreateGenericALaCarteServiceInstance ***** ", isDebugEnabled) + } catch (Exception ex) { + // try error in method block + String exceptionMessage = "Bpmn error encountered in CreateGenericALaCarteServiceInstance flow. Unexpected Error from method prepareCreateServiceInstance() - " + ex.getMessage() + exceptionUtil.buildAndThrowWorkflowException(execution, 7000, exceptionMessage) + } + } + + + public void prepareCompletionRequest (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") utils.log("DEBUG", " *** prepareCompletion *** ", isDebugEnabled) @@ -245,7 +315,7 @@ public class CreateGenericALaCarteServiceInstance extends AbstractServiceTaskPro utils.log("DEBUG", "*** Exit prepareCompletionRequest ***", isDebugEnabled) } - public void prepareFalloutRequest(Execution execution){ + public void prepareFalloutRequest(DelegateExecution execution){ def isDebugEnabled=execution.getVariable("isDebugLogEnabled") utils.log("DEBUG", " *** prepareFalloutRequest *** ", isDebugEnabled) diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateNetworkInstance.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateNetworkInstance.groovy index c37355ef3d..5f7d1e3452 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateNetworkInstance.groovy +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateNetworkInstance.groovy @@ -31,7 +31,7 @@ import org.openecomp.mso.rest.APIResponse import java.util.UUID; import org.camunda.bpm.engine.delegate.BpmnError -import org.camunda.bpm.engine.runtime.Execution +import org.camunda.bpm.engine.delegate.DelegateExecution import org.apache.commons.lang3.* import org.apache.commons.codec.binary.Base64; import org.springframework.web.util.UriUtils @@ -45,7 +45,7 @@ public class CreateNetworkInstance extends AbstractServiceTaskProcessor { ExceptionUtil exceptionUtil = new ExceptionUtil() JsonUtils jsonUtil = new JsonUtils() - public InitializeProcessVariables(Execution execution){ + public InitializeProcessVariables(DelegateExecution execution){ execution.setVariable(Prefix + "source", "") execution.setVariable(Prefix + "Success", false) @@ -69,7 +69,7 @@ public class CreateNetworkInstance extends AbstractServiceTaskProcessor { * This method is executed during the preProcessRequest task of the <class>CreateNetworkInstance.bpmn</class> process. * @param execution */ - public void preProcessRequest (Execution execution) { + public void preProcessRequest (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix",Prefix) @@ -154,7 +154,7 @@ public class CreateNetworkInstance extends AbstractServiceTaskProcessor { } } - public void sendSyncResponse (Execution execution) { + public void sendSyncResponse (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix",Prefix) @@ -178,7 +178,7 @@ public class CreateNetworkInstance extends AbstractServiceTaskProcessor { } - public void getNetworkModelInfo (Execution execution) { + public void getNetworkModelInfo (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix", Prefix) @@ -203,7 +203,7 @@ public class CreateNetworkInstance extends AbstractServiceTaskProcessor { } - public void sendSyncError (Execution execution) { + public void sendSyncError (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix", Prefix) @@ -224,7 +224,7 @@ public class CreateNetworkInstance extends AbstractServiceTaskProcessor { } - public void prepareDBRequestError (Execution execution) { + public void prepareDBRequestError (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix",Prefix) @@ -272,7 +272,7 @@ public class CreateNetworkInstance extends AbstractServiceTaskProcessor { } - public void prepareCompletion (Execution execution) { + public void prepareCompletion (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix",Prefix) @@ -320,7 +320,7 @@ public class CreateNetworkInstance extends AbstractServiceTaskProcessor { // Post or Validate Response Section // ************************************************** - public void postProcessResponse (Execution execution) { + public void postProcessResponse (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix", Prefix) @@ -354,7 +354,7 @@ public class CreateNetworkInstance extends AbstractServiceTaskProcessor { // Build Error Section // ******************************* - public void processRollbackData (Execution execution) { + public void processRollbackData (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix", Prefix) @@ -375,7 +375,7 @@ public class CreateNetworkInstance extends AbstractServiceTaskProcessor { } // Prepare for FalloutHandler - public void buildErrorResponse (Execution execution) { + public void buildErrorResponse (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix", Prefix) @@ -436,7 +436,7 @@ public class CreateNetworkInstance extends AbstractServiceTaskProcessor { } - public void processJavaException(Execution execution){ + public void processJavaException(DelegateExecution execution){ def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix",Prefix) try{ diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateSDNCNetworkResource.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateSDNCNetworkResource.groovy new file mode 100644 index 0000000000..d2d93d5568 --- /dev/null +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateSDNCNetworkResource.groovy @@ -0,0 +1,144 @@ +/*-
+ * ============LICENSE_START=======================================================
+ * OPENECOMP - SO
+ * ================================================================================
+ * Copyright (C) 2018 Huawei Technologies Co., Ltd. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.mso.bpmn.infrastructure.scripts;
+
+import static org.apache.commons.lang3.StringUtils.*;
+import groovy.xml.XmlUtil
+import groovy.json.*
+import org.openecomp.mso.bpmn.common.scripts.AbstractServiceTaskProcessor
+import org.openecomp.mso.bpmn.common.scripts.ExceptionUtil
+import org.openecomp.mso.bpmn.core.WorkflowException
+import org.openecomp.mso.bpmn.core.json.JsonUtils
+import org.openecomp.mso.rest.APIResponse
+
+import java.util.UUID;
+
+import org.camunda.bpm.engine.delegate.BpmnError
+import org.camunda.bpm.engine.delegate.DelegateExecution
+import org.apache.commons.lang3.*
+import org.apache.commons.codec.binary.Base64;
+import org.springframework.web.util.UriUtils
+import org.openecomp.mso.rest.RESTClient
+import org.openecomp.mso.rest.RESTConfig
+import org.openecomp.mso.rest.APIResponse;
+
+/**
+ * This groovy class supports the <class>CreateSDNCCNetworkResource.bpmn</class> process.
+ * flow for SDNC Network Resource Create
+ */
+public class CreateSDNCCNetworkResource extends AbstractServiceTaskProcessor {
+
+ String vfcUrl = "/vfc/rest/v1/vfcadapter"
+
+ String host = "http://mso.mso.testlab.openecomp.org:8080"
+
+ ExceptionUtil exceptionUtil = new ExceptionUtil()
+
+ JsonUtils jsonUtil = new JsonUtils()
+
+ /**
+ * Pre Process the BPMN Flow Request
+ * Inclouds:
+ * generate the nsOperationKey
+ * generate the nsParameters
+ */
+ public void preProcessRequest (DelegateExecution execution) {
+ def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
+ String msg = ""
+ utils.log("INFO", " *** preProcessRequest() *** ", isDebugEnabled)
+ try {
+ //deal with nsName and Description
+ String nsServiceName = execution.getVariable("nsServiceName")
+ String nsServiceDescription = execution.getVariable("nsServiceDescription")
+ utils.log("INFO", "nsServiceName:" + nsServiceName + " nsServiceDescription:" + nsServiceDescription, isDebugEnabled)
+ //deal with operation key
+ String globalSubscriberId = execution.getVariable("globalSubscriberId")
+ utils.log("INFO", "globalSubscriberId:" + globalSubscriberId, isDebugEnabled)
+ String serviceType = execution.getVariable("serviceType")
+ utils.log("INFO", "serviceType:" + serviceType, isDebugEnabled)
+ String serviceId = execution.getVariable("serviceId")
+ utils.log("INFO", "serviceId:" + serviceId, isDebugEnabled)
+ String operationId = execution.getVariable("operationId")
+ utils.log("INFO", "serviceType:" + serviceType, isDebugEnabled)
+ String nodeTemplateUUID = execution.getVariable("resourceUUID")
+ utils.log("INFO", "nodeTemplateUUID:" + nodeTemplateUUID, isDebugEnabled)
+ /*
+ * segmentInformation needed as a object of segment
+ * {
+ * "domain":"",
+ * "nodeTemplateName":"",
+ * "nodeType":"",
+ * "nsParameters":{
+ * //this is the nsParameters sent to VF-C
+ * }
+ * }
+ */
+ String nsParameters = execution.getVariable("resourceParameters")
+ utils.log("INFO", "nsParameters:" + nsParameters, isDebugEnabled)
+ String nsOperationKey = """{
+ "globalSubscriberId":"${globalSubscriberId}",
+ "serviceType":"${serviceType}",
+ "serviceId":"${serviceId}",
+ "operationId":"${operationId}",
+ "nodeTemplateUUID":"${nodeTemplateUUID}"
+ }"""
+ execution.setVariable("nsOperationKey", nsOperationKey);
+ execution.setVariable("nsParameters", nsParameters)
+
+
+ } catch (BpmnError e) {
+ throw e;
+ } catch (Exception ex){
+ msg = "Exception in preProcessRequest " + ex.getMessage()
+ utils.log("INFO", msg, isDebugEnabled)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg)
+ }
+ utils.log("INFO"," ***** Exit preProcessRequest *****", isDebugEnabled)
+ }
+
+
+ /**
+ * post request
+ * url: the url of the request
+ * requestBody: the body of the request
+ */
+ private APIResponse postRequest(DelegateExecution execution, String url, String requestBody){
+ def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
+ utils.log("INFO"," ***** Started Execute VFC adapter Post Process *****", isDebugEnabled)
+ utils.log("INFO","url:"+url +"\nrequestBody:"+ requestBody, isDebugEnabled)
+ APIResponse apiResponse = null
+ try{
+ RESTConfig config = new RESTConfig(url);
+ RESTClient client = new RESTClient(config).addHeader("Content-Type", "application/json").addHeader("Accept","application/json").addHeader("Authorization","Basic QlBFTENsaWVudDpwYXNzd29yZDEk");
+ apiResponse = client.httpPost(requestBody)
+ utils.log("INFO","response code:"+ apiResponse.getStatusCode() +"\nresponse body:"+ apiResponse.getResponseBodyAsString(), isDebugEnabled)
+ utils.log("INFO","======== Completed Execute VF-C adapter Post Process ======== ", isDebugEnabled)
+ }catch(Exception e){
+ utils.log("ERROR","Exception occured while executing AAI Post Call. Exception is: \n" + e, isDebugEnabled)
+ throw new BpmnError("MSOWorkflowException")
+ }
+ return apiResponse
+ }
+
+ public void postCreateSDNCCall(DelegateExecution execution){
+
+ }
+}
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateVFCNetworkServiceInstance.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateVFCNSResource.groovy index 06cf8c3cd1..0279c2cbc8 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateVFCNetworkServiceInstance.groovy +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateVFCNSResource.groovy @@ -32,7 +32,7 @@ import org.openecomp.mso.rest.APIResponse import java.util.UUID;
import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.runtime.Execution
+import org.camunda.bpm.engine.delegate.DelegateExecution
import org.apache.commons.lang3.*
import org.apache.commons.codec.binary.Base64;
import org.springframework.web.util.UriUtils
@@ -44,23 +44,24 @@ import org.openecomp.mso.rest.APIResponse; * This groovy class supports the <class>DoCreateVFCNetworkServiceInstance.bpmn</class> process.
* flow for VFC Network Service Create
*/
-public class DoCreateVFCNetworkServiceInstance extends AbstractServiceTaskProcessor {
+public class CreateVFCNSResource extends AbstractServiceTaskProcessor {
String vfcUrl = "/vfc/rest/v1/vfcadapter"
-
+
String host = "http://mso.mso.testlab.openecomp.org:8080"
ExceptionUtil exceptionUtil = new ExceptionUtil()
JsonUtils jsonUtil = new JsonUtils()
-
+
/**
+ * CreateVFCNSResource
* Pre Process the BPMN Flow Request
* Inclouds:
* generate the nsOperationKey
* generate the nsParameters
*/
- public void preProcessRequest (Execution execution) {
+ public void preProcessRequest (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
String msg = ""
utils.log("INFO", " *** preProcessRequest() *** ", isDebugEnabled)
@@ -117,7 +118,7 @@ public class DoCreateVFCNetworkServiceInstance extends AbstractServiceTaskProces /**
* create NS task
*/
- public void createNetworkService(Execution execution) {
+ public void createNetworkService(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
utils.log("INFO"," ***** createNetworkService *****", isDebugEnabled)
String nsOperationKey = execution.getVariable("nsOperationKey");
@@ -144,8 +145,8 @@ public class DoCreateVFCNetworkServiceInstance extends AbstractServiceTaskProces /**
* instantiate NS task
*/
- public void instantiateNetworkService(Execution execution) {
- def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
+ public void instantiateNetworkService(DelegateExecution execution) {
+ def isDebugEnabled= execution.getVariable("isDebugLogEnabled")
utils.log("INFO"," ***** instantiateNetworkService *****", isDebugEnabled)
String nsOperationKey = execution.getVariable("nsOperationKey");
String nsParameters = execution.getVariable("nsParameters");
@@ -173,7 +174,7 @@ public class DoCreateVFCNetworkServiceInstance extends AbstractServiceTaskProces /**
* query NS task
*/
- public void queryNSProgress(Execution execution) {
+ public void queryNSProgress(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
utils.log("INFO"," ***** queryNSProgress *****", isDebugEnabled)
String jobId = execution.getVariable("jobId")
@@ -193,8 +194,8 @@ public class DoCreateVFCNetworkServiceInstance extends AbstractServiceTaskProces /**
* delay 5 sec
*/
- public void timeDelay(Execution execution) {
- def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
+ public void timeDelay(DelegateExecution execution) {
+ def isDebugEnabled= execution.getVariable("isDebugLogEnabled")
try {
Thread.sleep(5000);
} catch(InterruptedException e) {
@@ -205,7 +206,7 @@ public class DoCreateVFCNetworkServiceInstance extends AbstractServiceTaskProces /**
* finish NS task
*/
- public void addNSRelationship(Execution execution) {
+ public void addNSRelationship(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
utils.log("INFO"," ***** addNSRelationship *****", isDebugEnabled)
String nsInstanceId = execution.getVariable("nsInstanceId")
@@ -241,7 +242,7 @@ public class DoCreateVFCNetworkServiceInstance extends AbstractServiceTaskProces utils.log("INFO"," *****Exit addNSRelationship *****", isDebugEnabled)
}
- public APIResponse executeAAIPutCall(Execution execution, String url, String payload){
+ public APIResponse executeAAIPutCall(DelegateExecution execution, String url, String payload){
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
utils.log("INFO", " ======== Started Execute AAI Put Process ======== ", isDebugEnabled)
APIResponse apiResponse = null
@@ -265,13 +266,13 @@ public class DoCreateVFCNetworkServiceInstance extends AbstractServiceTaskProces }
return apiResponse
}
-
+
/**
* post request
* url: the url of the request
* requestBody: the body of the request
*/
- private APIResponse postRequest(Execution execution, String url, String requestBody){
+ private APIResponse postRequest(DelegateExecution execution, String url, String requestBody){
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
utils.log("INFO"," ***** Started Execute VFC adapter Post Process *****", isDebugEnabled)
utils.log("INFO","url:"+url +"\nrequestBody:"+ requestBody, isDebugEnabled)
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateVfModuleInfra.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateVfModuleInfra.groovy index 37ff4944ff..3b2c4ea2f8 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateVfModuleInfra.groovy +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateVfModuleInfra.groovy @@ -24,7 +24,7 @@ import groovy.json.JsonSlurper import groovy.json.JsonOutput import org.camunda.bpm.engine.delegate.BpmnError -import org.camunda.bpm.engine.runtime.Execution +import org.camunda.bpm.engine.delegate.DelegateExecution import org.apache.commons.lang3.* import org.openecomp.mso.bpmn.common.scripts.AbstractServiceTaskProcessor; import org.openecomp.mso.bpmn.common.scripts.ExceptionUtil; @@ -44,7 +44,7 @@ public class CreateVfModuleInfra extends AbstractServiceTaskProcessor { * Validates the request message and sets up the workflow. * @param execution the execution */ - public void preProcessRequest(Execution execution) { + public void preProcessRequest(DelegateExecution execution) { def method = getClass().getSimpleName() + '.preProcessRequest(' + 'execution=' + execution.getId() + ')' @@ -127,7 +127,7 @@ public class CreateVfModuleInfra extends AbstractServiceTaskProcessor { Map<String, String> userParamsMap = [:] if (userParams != null) { userParams.each { userParam -> - userParamsMap.put(userParam.name, userParam.value) + userParamsMap.put(userParam.name, jsonOutput.toJson(userParam.value).toString()) } } @@ -171,6 +171,9 @@ public class CreateVfModuleInfra extends AbstractServiceTaskProcessor { def usePreload = reqMap.requestDetails?.requestParameters?.usePreload execution.setVariable(prefix + 'usePreload', usePreload) + // This is aLaCarte flow, so aLaCarte flag is always on + execution.setVariable(prefix + 'aLaCarte', true) + def cloudConfiguration = reqMap.requestDetails?.cloudConfiguration def lcpCloudRegionId = cloudConfiguration.lcpCloudRegionId execution.setVariable(prefix + 'lcpCloudRegionId', lcpCloudRegionId) @@ -239,7 +242,7 @@ public class CreateVfModuleInfra extends AbstractServiceTaskProcessor { * @param responseCodeVar the execution variable in which the response code is stored * @param errorResponseVar the execution variable in which the error response is stored */ - public void validateWorkflowResponse(Execution execution, String responseVar, + public void validateWorkflowResponse(DelegateExecution execution, String responseVar, String responseCodeVar, String errorResponseVar) { SDNCAdapterUtils sdncAdapterUtils = new SDNCAdapterUtils(this) sdncAdapterUtils.validateSDNCResponse(execution, responseVar, responseCodeVar, errorResponseVar) @@ -250,7 +253,7 @@ public class CreateVfModuleInfra extends AbstractServiceTaskProcessor { * Sends the empty, synchronous response back to the API Handler. * @param execution the execution */ - public void sendResponse(Execution execution) { + public void sendResponse(DelegateExecution execution) { def method = getClass().getSimpleName() + '.sendResponse(' + 'execution=' + execution.getId() + ')' @@ -283,7 +286,7 @@ public class CreateVfModuleInfra extends AbstractServiceTaskProcessor { * * @param execution the execution */ - public void postProcessResponse(Execution execution){ + public void postProcessResponse(DelegateExecution execution){ def isDebugEnabled = execution.getVariable("isDebugLogEnabled") utils.log("DEBUG", " ======== STARTED PostProcessResponse Process ======== ", isDebugEnabled) @@ -329,7 +332,7 @@ public class CreateVfModuleInfra extends AbstractServiceTaskProcessor { * @param execution the execution * @return the validated request */ - public String validateInfraRequest(Execution execution) { + public String validateInfraRequest(DelegateExecution execution) { def method = getClass().getSimpleName() + '.validateInfraRequest(' + 'execution=' + execution.getId() + ')' @@ -392,7 +395,7 @@ public class CreateVfModuleInfra extends AbstractServiceTaskProcessor { } } - public void prepareUpdateInfraRequest(Execution execution){ + public void prepareUpdateInfraRequest(DelegateExecution execution){ def isDebugEnabled = execution.getVariable("isDebugLogEnabled") utils.log("DEBUG", " ======== STARTED prepareUpdateInfraRequest Process ======== ", isDebugEnabled) @@ -449,7 +452,7 @@ public class CreateVfModuleInfra extends AbstractServiceTaskProcessor { * @param execution the execution * @param resultVar the execution variable in which the result will be stored */ - public void falloutHandlerPrep(Execution execution, String resultVar) { + public void falloutHandlerPrep(DelegateExecution execution, String resultVar) { def method = getClass().getSimpleName() + '.falloutHandlerPrep(' + 'execution=' + execution.getId() + ', resultVar=' + resultVar + @@ -496,7 +499,7 @@ public class CreateVfModuleInfra extends AbstractServiceTaskProcessor { } } - public void logAndSaveOriginalException(Execution execution) { + public void logAndSaveOriginalException(DelegateExecution execution) { def method = getClass().getSimpleName() + '.validateRollbackResponse(' + 'execution=' + execution.getId() + ')' @@ -507,7 +510,7 @@ public class CreateVfModuleInfra extends AbstractServiceTaskProcessor { saveWorkflowException(execution, 'CVFMI_originalWorkflowException') } - public void validateRollbackResponse(Execution execution) { + public void validateRollbackResponse(DelegateExecution execution) { def method = getClass().getSimpleName() + '.validateRollbackResponse(' + 'execution=' + execution.getId() + ')' @@ -521,7 +524,7 @@ public class CreateVfModuleInfra extends AbstractServiceTaskProcessor { } - public void sendErrorResponse(Execution execution){ + public void sendErrorResponse(DelegateExecution execution){ def isDebugEnabled=execution.getVariable("isDebugLogEnabled") utils.log("DEBUG", " *** STARTED CreateVfModulenfra sendErrorResponse Process *** ", isDebugEnabled) diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateVfModuleVolumeInfraV1.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateVfModuleVolumeInfraV1.groovy index a881ed228b..49d67cb097 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateVfModuleVolumeInfraV1.groovy +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateVfModuleVolumeInfraV1.groovy @@ -32,7 +32,7 @@ import groovy.json.JsonOutput import groovy.json.JsonSlurper import org.camunda.bpm.engine.delegate.BpmnError -import org.camunda.bpm.engine.runtime.Execution; +import org.camunda.bpm.engine.delegate.DelegateExecution; import org.apache.commons.lang3.* class CreateVfModuleVolumeInfraV1 extends AbstractServiceTaskProcessor { @@ -43,7 +43,7 @@ class CreateVfModuleVolumeInfraV1 extends AbstractServiceTaskProcessor { * Perform initial processing, such as request validation, initialization of variables, etc. * * @param execution */ - public void preProcessRequest (Execution execution) { + public void preProcessRequest (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") setBasicDBAuthHeader(execution, isDebugEnabled) preProcessRequest(execution, isDebugEnabled) @@ -55,7 +55,7 @@ class CreateVfModuleVolumeInfraV1 extends AbstractServiceTaskProcessor { * @param execution * @param isDebugEnabled */ - public void preProcessRequest (Execution execution, isDebugEnabled) { + public void preProcessRequest (DelegateExecution execution, isDebugEnabled) { execution.setVariable("prefix",prefix) setSuccessIndicator(execution, false) @@ -87,7 +87,7 @@ class CreateVfModuleVolumeInfraV1 extends AbstractServiceTaskProcessor { * @param serviceInstanceId * @param isDebugLogEnabled */ - public void setupVariables(Execution execution, Map requestMap, isDebugLogEnabled) { + public void setupVariables(DelegateExecution execution, Map requestMap, isDebugLogEnabled) { def jsonOutput = new JsonOutput() @@ -142,7 +142,7 @@ class CreateVfModuleVolumeInfraV1 extends AbstractServiceTaskProcessor { Map<String, String> vfModuleInputMap = [:] userParams.each { userParam -> - vfModuleInputMap.put(userParam.name, userParam.value) + vfModuleInputMap.put(userParam.name, userParam.value.toString()) } execution.setVariable('vfModuleInputParams', vfModuleInputMap) @@ -155,7 +155,7 @@ class CreateVfModuleVolumeInfraV1 extends AbstractServiceTaskProcessor { - public void sendSyncResponse (Execution execution, isDebugEnabled) { + public void sendSyncResponse (DelegateExecution execution, isDebugEnabled) { def volumeGroupId = execution.getVariable('volumeGroupId') def requestId = execution.getVariable("mso-request-id") def serviceInstanceId = execution.getVariable("serviceInstanceId") @@ -169,7 +169,7 @@ class CreateVfModuleVolumeInfraV1 extends AbstractServiceTaskProcessor { } - public void sendSyncError (Execution execution, isDebugEnabled) { + public void sendSyncError (DelegateExecution execution, isDebugEnabled) { WorkflowException we = execution.getVariable('WorkflowException') def errorCode = we?.getErrorCode() def errorMessage = we?.getErrorMessage() @@ -183,7 +183,7 @@ class CreateVfModuleVolumeInfraV1 extends AbstractServiceTaskProcessor { * @param execution * @param isDebugEnabled */ - public void buildWorkflowException(Execution execution, int errorCode, errorMessage, isDebugEnabled) { + public void buildWorkflowException(DelegateExecution execution, int errorCode, errorMessage, isDebugEnabled) { utils.log("DEBUG", errorMessage, isDebugEnabled) (new ExceptionUtil()).buildWorkflowException(execution, 2500, errorMessage) } @@ -194,7 +194,7 @@ class CreateVfModuleVolumeInfraV1 extends AbstractServiceTaskProcessor { * @param execution * @param isDebugEnabled */ - public void prepareDbInfraSuccessRequest(Execution execution, isDebugEnabled) { + public void prepareDbInfraSuccessRequest(DelegateExecution execution, isDebugEnabled) { def dbVnfOutputs = execution.getVariable(prefix+'volumeOutputs') def requestId = execution.getVariable('mso-request-id') def statusMessage = "VolumeGroup successfully created." @@ -237,7 +237,7 @@ class CreateVfModuleVolumeInfraV1 extends AbstractServiceTaskProcessor { * @param execution * @param isDebugEnabled */ - public void postProcessResponse (Execution execution, isDebugEnabled) { + public void postProcessResponse (DelegateExecution execution, isDebugEnabled) { def dbReturnCode = execution.getVariable(prefix+'dbReturnCode') def createDBResponse = execution.getVariable(prefix+'createDBResponse') @@ -270,7 +270,7 @@ class CreateVfModuleVolumeInfraV1 extends AbstractServiceTaskProcessor { } - public void prepareFalloutHandlerRequest(Execution execution, isDebugEnabled) { + public void prepareFalloutHandlerRequest(DelegateExecution execution, isDebugEnabled) { WorkflowException we = execution.getVariable('WorkflowException') def errorCode = we?.getErrorCode() @@ -309,7 +309,7 @@ class CreateVfModuleVolumeInfraV1 extends AbstractServiceTaskProcessor { * @param execution * @param isDebugEnabled */ - public void callRESTQueryAAIServiceInstance(Execution execution, isDebugEnabled) { + public void callRESTQueryAAIServiceInstance(DelegateExecution execution, isDebugEnabled) { def request = execution.getVariable(prefix+"Request") def serviceInstanceId = utils.getNodeText1(request, "service-instance-id") @@ -348,12 +348,12 @@ class CreateVfModuleVolumeInfraV1 extends AbstractServiceTaskProcessor { } } - public void logAndSaveOriginalException(Execution execution, isDebugLogEnabled) { + public void logAndSaveOriginalException(DelegateExecution execution, isDebugLogEnabled) { logWorkflowException(execution, 'CreateVfModuleVolumeInfraV1 caught an event') saveWorkflowException(execution, 'CVMVINFRAV1_originalWorkflowException') } - public void validateRollbackResponse(Execution execution, isDebugLogEnabled) { + public void validateRollbackResponse(DelegateExecution execution, isDebugLogEnabled) { def originalException = execution.getVariable("CVMVINFRAV1_originalWorkflowException") execution.setVariable("WorkflowException", originalException) diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateVnfInfra.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateVnfInfra.groovy index 1c98b87027..24487d5013 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateVnfInfra.groovy +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/CreateVnfInfra.groovy @@ -23,7 +23,7 @@ package org.openecomp.mso.bpmn.infrastructure.scripts import java.util.UUID; import org.camunda.bpm.engine.delegate.BpmnError -import org.camunda.bpm.engine.runtime.Execution; +import org.camunda.bpm.engine.delegate.DelegateExecution; import static org.apache.commons.lang3.StringUtils.*; import org.openecomp.mso.bpmn.common.scripts.CatalogDbUtils; @@ -38,6 +38,7 @@ import org.openecomp.mso.bpmn.common.scripts.VidUtils; import org.openecomp.mso.bpmn.core.WorkflowException import org.openecomp.mso.bpmn.core.domain.VnfResource import org.openecomp.mso.bpmn.core.json.JsonUtils; +import org.openecomp.mso.bpmn.infrastructure.aai.AAICreateResources; /** @@ -52,6 +53,7 @@ class CreateVnfInfra extends AbstractServiceTaskProcessor { JsonUtils jsonUtil = new JsonUtils() VidUtils vidUtils = new VidUtils(this) CatalogDbUtils cutils = new CatalogDbUtils() + AAICreateResources aaiCR = new AAICreateResources() /** * This method gets and validates the incoming @@ -60,7 +62,7 @@ class CreateVnfInfra extends AbstractServiceTaskProcessor { * @param - execution * */ - public void preProcessRequest(Execution execution) { + public void preProcessRequest(DelegateExecution execution) { def isDebugEnabled = execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix",Prefix) utils.log("DEBUG", " *** STARTED CreateVnfInfra PreProcessRequest Process*** ", isDebugEnabled) @@ -191,7 +193,7 @@ class CreateVnfInfra extends AbstractServiceTaskProcessor { utils.log("DEBUG", "*** COMPLETED CreateVnfInfra PreProcessRequest Process ***", isDebugEnabled) } - public void sendSyncResponse (Execution execution) { + public void sendSyncResponse (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix",Prefix) @@ -218,7 +220,7 @@ class CreateVnfInfra extends AbstractServiceTaskProcessor { } - public void preProcessSDNCAssignRequest(Execution execution){ + public void preProcessSDNCAssignRequest(DelegateExecution execution){ def isDebugLogEnabled = execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix", Prefix) logDebug(" ======== STARTED preProcessSDNCAssignRequest ======== ", isDebugLogEnabled) @@ -244,7 +246,7 @@ class CreateVnfInfra extends AbstractServiceTaskProcessor { logDebug("======== COMPLETED preProcessSDNCAssignRequest ======== ", isDebugLogEnabled) } - public void preProcessSDNCActivateRequest(Execution execution) { + public void preProcessSDNCActivateRequest(DelegateExecution execution) { def method = getClass().getSimpleName() + '.preProcessSDNCActivateRequest(' + 'execution=' + execution.getId() + ')' @@ -269,7 +271,7 @@ class CreateVnfInfra extends AbstractServiceTaskProcessor { logDebug("======== COMPLETED preProcessSDNCActivateRequest Process ======== ", isDebugLogEnabled) } - public String buildSDNCRequest(Execution execution, String svcInstId, String action){ + public String buildSDNCRequest(DelegateExecution execution, String svcInstId, String action){ String uuid = execution.getVariable('testReqId') // for junits if(uuid==null){ @@ -332,7 +334,7 @@ class CreateVnfInfra extends AbstractServiceTaskProcessor { return sdncRequest } - public void validateSDNCResponse(Execution execution, String response, String method){ + public void validateSDNCResponse(DelegateExecution execution, String response, String method){ def isDebugLogEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix",Prefix) logDebug(" *** STARTED ValidateSDNCResponse Process*** ", isDebugLogEnabled) @@ -358,7 +360,7 @@ class CreateVnfInfra extends AbstractServiceTaskProcessor { logDebug(" *** COMPLETED ValidateSDNCResponse Process*** ", isDebugLogEnabled) } - public void prepareCompletionHandlerRequest(Execution execution){ + public void prepareCompletionHandlerRequest(DelegateExecution execution){ def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix",Prefix) @@ -391,7 +393,7 @@ class CreateVnfInfra extends AbstractServiceTaskProcessor { utils.log("DEBUG", "*** COMPLETED CreateVnfInfra PrepareCompletionHandlerRequest Process ***", isDebugEnabled) } - public void sendErrorResponse(Execution execution){ + public void sendErrorResponse(DelegateExecution execution){ def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix",Prefix) @@ -416,7 +418,7 @@ class CreateVnfInfra extends AbstractServiceTaskProcessor { utils.log("DEBUG", "*** COMPLETED CreateVnfInfra sendErrorResponse Process ***", isDebugEnabled) } - public void prepareFalloutRequest(Execution execution){ + public void prepareFalloutRequest(DelegateExecution execution){ def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix",Prefix) @@ -442,7 +444,7 @@ class CreateVnfInfra extends AbstractServiceTaskProcessor { } - public void queryCatalogDB (Execution execution) { + public void queryCatalogDB (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix",Prefix) @@ -455,8 +457,7 @@ class CreateVnfInfra extends AbstractServiceTaskProcessor { JSONArray vnfs = cutils.getAllVnfsByVnfModelCustomizationUuid(execution, vnfModelCustomizationUuid, "v2") - utils.log("DEBUG", "obtained VNF list: " + vnfs, isDebugEnabled) - execution.setVariable("CREVI_vnfs", vnfs) + utils.log("DEBUG", "obtained VNF list: " + vnfs, isDebugEnabled) if (vnfs == null) { utils.log("ERROR", "No matching VNFs in Catalog DB for vnfModelCustomizationUuid=" + vnfModelCustomizationUuid, isDebugEnabled) @@ -493,4 +494,58 @@ class CreateVnfInfra extends AbstractServiceTaskProcessor { utils.log("DEBUG", "*** COMPLETED CreateVnfInfra QueryCatalogDb Process ***", isDebugEnabled) } + public void createPlatform (DelegateExecution execution) { + def isDebugEnabled=execution.getVariable("isDebugLogEnabled") + utils.log("DEBUG"," ***** START createPlatform *****", isDebugEnabled) + + String request = execution.getVariable("bpmnRequest") + String platformName = jsonUtil.getJsonValue(request, "requestDetails.platform.platformName") + String vnfId = execution.getVariable("CREVI_vnfId") + + utils.log("DEBUG","Platform NAME: " + platformName, isDebugEnabled) + utils.log("DEBUG","VnfID: " + vnfId, isDebugEnabled) + + if(platformName == null||platformName.equals("")){ + String msg = "Exception in createPlatform. platformName was not found in the request."; + utils.log("DEBUG", msg, isDebugEnabled) + exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg) + }else{ + utils.log("DEBUG", "platformName was found.", isDebugEnabled) + try{ + AAICreateResources aaiCR = new AAICreateResources() + aaiCR.createAAIPlatform(platformName, vnfId) + }catch(Exception ex){ + String msg = "Exception in createPlatform. " + ex.getMessage(); + utils.log("DEBUG", msg, isDebugEnabled) + exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg) + } + } + utils.log("DEBUG"," *** Exit createPlatform *** ", isDebugEnabled) + } + public void createLineOfBusiness (DelegateExecution execution) { + def isDebugEnabled=execution.getVariable("isDebugLogEnabled") + utils.log("DEBUG"," ***** START createLineOfBusiness *****", isDebugEnabled) + + String request = execution.getVariable("bpmnRequest") + String lineOfBusiness = jsonUtil.getJsonValue(request, "requestDetails.lineOfBusiness.lineOfBusinessName") + String vnfId = execution.getVariable("CREVI_vnfId") + + utils.log("DEBUG","LineOfBusiness NAME: " + lineOfBusiness, isDebugEnabled) + utils.log("DEBUG","VnfID: " + vnfId, isDebugEnabled) + + if(lineOfBusiness == null || lineOfBusiness.equals("")){ + utils.log("DEBUG", "LineOfBusiness was not found. Continuing on with flow...", isDebugEnabled) + }else{ + utils.log("DEBUG", "LineOfBusiness was found.", isDebugEnabled) + try{ + AAICreateResources aaiCR = new AAICreateResources() + aaiCR.createAAILineOfBusiness(lineOfBusiness, vnfId) + }catch(Exception ex){ + String msg = "Exception in LineOfBusiness. " + ex.getMessage(); + utils.log("DEBUG", msg, isDebugEnabled) + exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg) + } + } + utils.log("DEBUG"," *** Exit createLineOfBusiness *** ", isDebugEnabled) + } } diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DeleteCustomE2EServiceInstance.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DeleteCustomE2EServiceInstance.groovy index 49e4cc9257..d4b853179c 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DeleteCustomE2EServiceInstance.groovy +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DeleteCustomE2EServiceInstance.groovy @@ -35,7 +35,7 @@ import javax.xml.parsers.DocumentBuilder import javax.xml.parsers.DocumentBuilderFactory
import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.runtime.Execution
+import org.camunda.bpm.engine.delegate.DelegateExecution
import org.json.JSONObject;
import org.apache.commons.lang3.*
import org.apache.commons.codec.binary.Base64;
@@ -59,7 +59,7 @@ public class DeleteCustomE2EServiceInstance extends AbstractServiceTaskProcessor JsonUtils jsonUtil = new JsonUtils()
VidUtils vidUtils = new VidUtils()
- public void preProcessRequest (Execution execution) {
+ public void preProcessRequest (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
String msg = ""
@@ -81,17 +81,36 @@ public class DeleteCustomE2EServiceInstance extends AbstractServiceTaskProcessor msg = "Input serviceInstanceId' is null"
exceptionUtil.buildAndThrowWorkflowException(execution, 500, msg)
}
-
- String serviceType = execution.getVariable("serviceType")
- if (isBlank(serviceType)) {
- msg = "Input serviceType' is null"
+
+ //String xmlRequestDetails = vidUtils.getJsonRequestDetailstoXml(siRequest)
+ //execution.setVariable("requestDetails", xmlRequestDetails)
+
+ //modelInfo
+ String serviceModelInfo = jsonUtil.getJsonValue(siRequest, "requestDetails.modelInfo")
+ if (isBlank(serviceModelInfo)) {
+ msg = "Input serviceModelInfo is null"
+ utils.log("DEBUG", msg, isDebugEnabled)
+ } else
+ {
+ execution.setVariable("serviceModelInfo", serviceModelInfo)
+ //utils.log("DEBUG", "modelInfo" + serviceModelInfo, isDebugEnabled)
+ }
+
+ //requestInfo
+ String productFamilyId = jsonUtil.getJsonValue(siRequest, "requestDetails.requestInfo.productFamilyId")
+ if (isBlank(productFamilyId))
+ {
+ msg = "Input productFamilyId is null"
utils.log("INFO", msg, isDebugEnabled)
+ //exceptionUtil.buildAndThrowWorkflowException(execution, 500, msg)
} else {
- execution.setVariable("serviceType", serviceType)
+ execution.setVariable("productFamilyId", productFamilyId)
}
+ String source = jsonUtil.getJsonValue(siRequest, "requestDetails.requestInfo.source")
+ execution.setVariable("source", source)
//subscriberInfo
- String globalSubscriberId = jsonUtil.getJsonValue(siRequest, "globalSubscriberId")
+ String globalSubscriberId = jsonUtil.getJsonValue(siRequest, "requestDetails.subscriberInfo.globalSubscriberId")
if (isBlank(globalSubscriberId)) {
msg = "Input globalSubscriberId' is null"
utils.log("INFO", msg, isDebugEnabled)
@@ -99,16 +118,38 @@ public class DeleteCustomE2EServiceInstance extends AbstractServiceTaskProcessor execution.setVariable("globalSubscriberId", globalSubscriberId)
}
- //operationId
- String operationId = jsonUtil.getJsonValue(siRequest, "operationId")
- if (isBlank(operationId)) {
- operationId = UUID.randomUUID().toString()
- }
- execution.setVariable("operationId", operationId)
- execution.setVariable("operationType", "DELETE")
+ //requestParameters
+ String subscriptionServiceType = jsonUtil.getJsonValue(siRequest, "requestDetails.requestParameters.subscriptionServiceType")
+ if (isBlank(subscriptionServiceType)) {
+ msg = "Input subscriptionServiceType is null"
+ utils.log("DEBUG", msg, isDebugEnabled)
+ //exceptionUtil.buildAndThrowWorkflowException(execution, 500, msg)
+ } else {
+ execution.setVariable("subscriptionServiceType", subscriptionServiceType)
+ }
- execution.setVariable("URN_mso_adapters_openecomp_db_endpoint","http://mso.mso.testlab.openecomp.org:8080/dbadapters/RequestsDbAdapter")
+ /*
+ * Extracting User Parameters from incoming Request and converting into a Map
+ */
+ def jsonSlurper = new JsonSlurper()
+ def jsonOutput = new JsonOutput()
+
+ Map reqMap = jsonSlurper.parseText(siRequest)
+
+ //InputParams
+ def userParams = reqMap.requestDetails?.requestParameters?.userParams
+
+ Map<String, String> inputMap = [:]
+ if (userParams) {
+ userParams.each {
+ userParam -> inputMap.put(userParam.name, userParam.value.toString())
+ }
+ }
+ execution.setVariable("operationType", "DELETE")
+ utils.log("DEBUG", "User Input Parameters map: " + userParams.toString(), isDebugEnabled)
+ execution.setVariable("serviceInputParams", inputMap)
+
} catch (BpmnError e) {
throw e;
} catch (Exception ex){
@@ -119,15 +160,16 @@ public class DeleteCustomE2EServiceInstance extends AbstractServiceTaskProcessor utils.log("INFO"," ***** Exit preProcessRequest *****", isDebugEnabled)
}
- public void sendSyncResponse (Execution execution) {
+ public void sendSyncResponse (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
utils.log("INFO", " *** sendSyncResponse *** ", isDebugEnabled)
try {
- String operationId = execution.getVariable("operationId")
-
- // RESTResponse (for API Handler (APIH) Reply Task) : :
- String syncResponse = """{"operationId":"${operationId}"}""".trim()
+ String requestId = execution.getVariable("msoRequestId")
+ String serviceInstanceId = execution.getVariable("serviceInstanceId")
+
+ // RESTResponse (for API Handler (APIH) Reply Task)
+ String syncResponse = """{"requestReferences":{"instanceId":"${serviceInstanceId}","requestId":"${requestId}"}}""".trim()
utils.log("INFO", " sendSynchResponse: xmlSyncResponse - " + "\n" + syncResponse, isDebugEnabled)
sendWorkflowResponse(execution, 202, syncResponse)
@@ -138,7 +180,7 @@ public class DeleteCustomE2EServiceInstance extends AbstractServiceTaskProcessor utils.log("INFO"," ***** Exit sendSyncResopnse *****", isDebugEnabled)
}
- public void sendSyncError (Execution execution) {
+ public void sendSyncError (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
utils.log("INFO", " *** sendSyncError *** ", isDebugEnabled)
@@ -166,7 +208,7 @@ public class DeleteCustomE2EServiceInstance extends AbstractServiceTaskProcessor }
- public void prepareCompletionRequest (Execution execution) {
+ public void prepareCompletionRequest (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
utils.log("INFO", " *** prepareCompletion *** ", isDebugEnabled)
@@ -199,7 +241,7 @@ public class DeleteCustomE2EServiceInstance extends AbstractServiceTaskProcessor utils.log("INFO", "*** Exit prepareCompletionRequest ***", isDebugEnabled)
}
- public void prepareFalloutRequest(Execution execution){
+ public void prepareFalloutRequest(DelegateExecution execution){
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
utils.log("INFO", " *** prepareFalloutRequest *** ", isDebugEnabled)
@@ -245,7 +287,7 @@ public class DeleteCustomE2EServiceInstance extends AbstractServiceTaskProcessor // *******************************
// Build DB request Section
// *******************************
- public void prepareDBRequest (Execution execution) {
+ public void prepareDBRequest (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix", Prefix)
@@ -287,7 +329,7 @@ public class DeleteCustomE2EServiceInstance extends AbstractServiceTaskProcessor // *******************************
// Build Error Section
// *******************************
- public void prepareDBRequestError (Execution execution) {
+ public void prepareDBRequestError (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix", Prefix)
@@ -332,7 +374,7 @@ public class DeleteCustomE2EServiceInstance extends AbstractServiceTaskProcessor }
- public void processJavaException(Execution execution) {
+ public void processJavaException(DelegateExecution execution) {
//TODO:
}
}
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DeleteGenericALaCarteServiceInstance.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DeleteGenericALaCarteServiceInstance.groovy index abf949e8e8..c731a613cc 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DeleteGenericALaCarteServiceInstance.groovy +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DeleteGenericALaCarteServiceInstance.groovy @@ -34,7 +34,7 @@ import javax.xml.parsers.DocumentBuilder import javax.xml.parsers.DocumentBuilderFactory import org.camunda.bpm.engine.delegate.BpmnError -import org.camunda.bpm.engine.runtime.Execution +import org.camunda.bpm.engine.delegate.DelegateExecution import org.json.JSONObject; import org.apache.commons.lang3.* import org.apache.commons.codec.binary.Base64; @@ -58,7 +58,7 @@ public class DeleteGenericALaCarteServiceInstance extends AbstractServiceTaskPro JsonUtils jsonUtil = new JsonUtils() VidUtils vidUtils = new VidUtils() - public void preProcessRequest (Execution execution) { + public void preProcessRequest (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix",Prefix) String msg = "" @@ -141,7 +141,7 @@ public class DeleteGenericALaCarteServiceInstance extends AbstractServiceTaskPro Map<String, String> inputMap = [:] if (userParams) { userParams.each { - userParam -> inputMap.put(userParam.name, userParam.value) + userParam -> inputMap.put(userParam.name, userParam.value.toString()) } } @@ -158,7 +158,7 @@ public class DeleteGenericALaCarteServiceInstance extends AbstractServiceTaskPro utils.log("DEBUG"," ***** Exit preProcessRequest *****", isDebugEnabled) } - public void sendSyncResponse (Execution execution) { + public void sendSyncResponse (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") utils.log("DEBUG", " *** sendSyncResponse *** ", isDebugEnabled) @@ -178,7 +178,7 @@ public class DeleteGenericALaCarteServiceInstance extends AbstractServiceTaskPro utils.log("DEBUG"," ***** Exit sendSyncResopnse *****", isDebugEnabled) } - public void sendSyncError (Execution execution) { + public void sendSyncError (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") utils.log("DEBUG", " *** sendSyncError *** ", isDebugEnabled) @@ -206,7 +206,7 @@ public class DeleteGenericALaCarteServiceInstance extends AbstractServiceTaskPro } - public void prepareCompletionRequest (Execution execution) { + public void prepareCompletionRequest (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") utils.log("DEBUG", " *** prepareCompletion *** ", isDebugEnabled) @@ -239,7 +239,7 @@ public class DeleteGenericALaCarteServiceInstance extends AbstractServiceTaskPro utils.log("DEBUG", "*** Exit prepareCompletionRequest ***", isDebugEnabled) } - public void prepareFalloutRequest(Execution execution){ + public void prepareFalloutRequest(DelegateExecution execution){ def isDebugEnabled=execution.getVariable("isDebugLogEnabled") utils.log("DEBUG", " *** prepareFalloutRequest *** ", isDebugEnabled) @@ -285,7 +285,7 @@ public class DeleteGenericALaCarteServiceInstance extends AbstractServiceTaskPro // ******************************* // Build DB request Section // ******************************* - public void prepareDBRequest (Execution execution) { + public void prepareDBRequest (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix", Prefix) @@ -327,7 +327,7 @@ public class DeleteGenericALaCarteServiceInstance extends AbstractServiceTaskPro // ******************************* // Build Error Section // ******************************* - public void prepareDBRequestError (Execution execution) { + public void prepareDBRequestError (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix", Prefix) diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DeleteNetworkInstance.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DeleteNetworkInstance.groovy index dab189241c..a9aef7f3ee 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DeleteNetworkInstance.groovy +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DeleteNetworkInstance.groovy @@ -29,7 +29,7 @@ import org.openecomp.mso.bpmn.core.json.JsonUtils; import org.openecomp.mso.rest.APIResponse import java.util.UUID; import org.camunda.bpm.engine.delegate.BpmnError -import org.camunda.bpm.engine.runtime.Execution +import org.camunda.bpm.engine.delegate.DelegateExecution import org.apache.commons.lang3.* import org.apache.commons.codec.binary.Base64; import org.springframework.web.util.UriUtils @@ -45,7 +45,7 @@ public class DeleteNetworkInstance extends AbstractServiceTaskProcessor { NetworkUtils networkUtils = new NetworkUtils() - public InitializeProcessVariables(Execution execution){ + public InitializeProcessVariables(DelegateExecution execution){ execution.setVariable(Prefix + "Success", false) @@ -59,7 +59,7 @@ public class DeleteNetworkInstance extends AbstractServiceTaskProcessor { // Pre or Prepare Request Section // ************************************************** - public void preProcessRequest (Execution execution) { + public void preProcessRequest (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix",Prefix) @@ -145,7 +145,7 @@ public class DeleteNetworkInstance extends AbstractServiceTaskProcessor { } - public void getNetworkModelInfo (Execution execution) { + public void getNetworkModelInfo (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix", Prefix) @@ -169,7 +169,7 @@ public class DeleteNetworkInstance extends AbstractServiceTaskProcessor { } - public void sendSyncResponse (Execution execution) { + public void sendSyncResponse (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix",Prefix) @@ -196,7 +196,7 @@ public class DeleteNetworkInstance extends AbstractServiceTaskProcessor { } - public void prepareCompletion (Execution execution) { + public void prepareCompletion (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix",Prefix) @@ -236,7 +236,7 @@ public class DeleteNetworkInstance extends AbstractServiceTaskProcessor { } - public void prepareDBRequestError (Execution execution) { + public void prepareDBRequestError (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix", Prefix) @@ -284,7 +284,7 @@ public class DeleteNetworkInstance extends AbstractServiceTaskProcessor { // Post or Validate Response Section // ************************************************** - public void postProcessResponse (Execution execution) { + public void postProcessResponse (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix", Prefix) @@ -318,7 +318,7 @@ public class DeleteNetworkInstance extends AbstractServiceTaskProcessor { // ******************************* // Prepare for FalloutHandler - public void buildErrorResponse (Execution execution) { + public void buildErrorResponse (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix", Prefix) @@ -380,7 +380,7 @@ public class DeleteNetworkInstance extends AbstractServiceTaskProcessor { } - public void sendSyncError (Execution execution) { + public void sendSyncError (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix", Prefix) @@ -400,7 +400,7 @@ public class DeleteNetworkInstance extends AbstractServiceTaskProcessor { } } - public void processJavaException(Execution execution){ + public void processJavaException(DelegateExecution execution){ def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix",Prefix) try{ diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DeleteVfModuleInfra.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DeleteVfModuleInfra.groovy index c4c151f01f..0aef81770f 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DeleteVfModuleInfra.groovy +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DeleteVfModuleInfra.groovy @@ -27,7 +27,7 @@ import groovy.xml.QName import java.io.Serializable; import org.camunda.bpm.engine.delegate.BpmnError -import org.camunda.bpm.engine.runtime.Execution +import org.camunda.bpm.engine.delegate.DelegateExecution import groovy.json.JsonSlurper @@ -49,7 +49,7 @@ public class DeleteVfModuleInfra extends AbstractServiceTaskProcessor { * * @param execution The flow's execution instance. */ - public void initProcessVariables(Execution execution) { + public void initProcessVariables(DelegateExecution execution) { execution.setVariable('prefix', 'DELVfModI_') execution.setVariable('DELVfModI_requestInfo', null) execution.setVariable('DELVfModI_requestId', null) @@ -70,7 +70,7 @@ public class DeleteVfModuleInfra extends AbstractServiceTaskProcessor { * * @param execution The flow's execution instance. */ - public void preProcessRequest(Execution execution) { + public void preProcessRequest(DelegateExecution execution) { def method = getClass().getSimpleName() + '.preProcessRequest(' + 'execution=' + execution.getId() + ')' @@ -103,7 +103,10 @@ public class DeleteVfModuleInfra extends AbstractServiceTaskProcessor { execution.setVariable("vfModuleModelInfo", vfModuleModelInfo) utils.log("DEBUG", "VfModuleModelInfo is: " + vfModuleModelInfo, isDebugLogEnabled) - + + // This is aLaCarte flow, so aLaCarte flag is always on + execution.setVariable('aLaCarte', true) + def vidUtils = new VidUtils(this) String requestInXmlFormat = vidUtils.createXmlVfModuleRequest(execution, reqMap, 'DELETE_VF_MODULE', serviceInstanceId) @@ -165,7 +168,7 @@ public class DeleteVfModuleInfra extends AbstractServiceTaskProcessor { * * @param execution The flow's execution instance. */ - public void sendSynchResponse(Execution execution) { + public void sendSynchResponse(DelegateExecution execution) { def method = getClass().getSimpleName() + '.sendResponse(' + 'execution=' + execution.getId() + ')' @@ -208,7 +211,7 @@ public class DeleteVfModuleInfra extends AbstractServiceTaskProcessor { * * @param execution The flow's execution instance. */ - public void prepDoDeleteVfModule(Execution execution) { + public void prepDoDeleteVfModule(DelegateExecution execution) { def method = getClass().getSimpleName() + '.prepDoDeleteVfModule(' + 'execution=' + execution.getId() + ')' @@ -231,7 +234,7 @@ public class DeleteVfModuleInfra extends AbstractServiceTaskProcessor { * * @param execution The flow's execution instance. */ - public void prepUpdateInfraRequest(Execution execution) { + public void prepUpdateInfraRequest(DelegateExecution execution) { def method = getClass().getSimpleName() + '.prepUpdateInfraRequest(' + 'execution=' + execution.getId() + ')' @@ -280,7 +283,7 @@ public class DeleteVfModuleInfra extends AbstractServiceTaskProcessor { * @param execution the execution * @param resultVar the execution variable in which the result will be stored */ - public void completionHandlerPrep(Execution execution, String resultVar) { + public void completionHandlerPrep(DelegateExecution execution, String resultVar) { def method = getClass().getSimpleName() + '.completionHandlerPrep(' + 'execution=' + execution.getId() + ', resultVar=' + resultVar + @@ -324,7 +327,7 @@ public class DeleteVfModuleInfra extends AbstractServiceTaskProcessor { * @param execution the execution * @param resultVar the execution variable in which the result will be stored */ - public void falloutHandlerPrep(Execution execution, String resultVar) { + public void falloutHandlerPrep(DelegateExecution execution, String resultVar) { def method = getClass().getSimpleName() + '.falloutHandlerPrep(' + 'execution=' + execution.getId() + ', resultVar=' + resultVar + diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DeleteVfModuleVolumeInfraV1.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DeleteVfModuleVolumeInfraV1.groovy index 77a8f8e9c0..5a38d9f011 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DeleteVfModuleVolumeInfraV1.groovy +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DeleteVfModuleVolumeInfraV1.groovy @@ -26,7 +26,7 @@ import java.util.concurrent.ExecutionException; import org.springframework.web.util.UriUtils
import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.runtime.Execution
+import org.camunda.bpm.engine.delegate.DelegateExecution
import org.apache.commons.lang3.*
import org.openecomp.mso.bpmn.common.scripts.AaiUtil;
import org.openecomp.mso.bpmn.common.scripts.AbstractServiceTaskProcessor;
@@ -45,7 +45,7 @@ public class DeleteVfModuleVolumeInfraV1 extends AbstractServiceTaskProcessor { * This method is executed during the preProcessRequest task of the <class>DeleteVfModuleVolume.bpmn</class> process.
* @param execution
*/
- public InitializeProcessVariables(Execution execution){
+ public InitializeProcessVariables(DelegateExecution execution){
execution.setVariable('prefix', 'DELVfModVol_')
execution.setVariable("DELVfModVol_volumeRequest", null)
execution.setVariable('DELVfModVol_requestInfo', null)
@@ -76,7 +76,7 @@ public class DeleteVfModuleVolumeInfraV1 extends AbstractServiceTaskProcessor { * Perform initial processing, such as request validation, initialization of variables, etc.
* * @param execution
*/
- public void preProcessRequest (Execution execution) {
+ public void preProcessRequest (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
preProcessRequest(execution, isDebugEnabled)
}
@@ -85,7 +85,7 @@ public class DeleteVfModuleVolumeInfraV1 extends AbstractServiceTaskProcessor { * This method is executed during the preProcessRequest task of the <class>DeleteVfModuleVolume.bpmn</class> process.
* @param execution
*/
- public void preProcessRequest (Execution execution, isDebugLogEnabled) {
+ public void preProcessRequest (DelegateExecution execution, isDebugLogEnabled) {
InitializeProcessVariables(execution)
@@ -137,7 +137,7 @@ public class DeleteVfModuleVolumeInfraV1 extends AbstractServiceTaskProcessor { logDebug('Request: ' + createVolumeIncoming, isDebugLogEnabled)
}
- public void sendSyncResponse (Execution execution, isDebugEnabled) {
+ public void sendSyncResponse (DelegateExecution execution, isDebugEnabled) {
String volumeRequest = execution.getVariable("DELVfModVol_volumeRequest")
utils.log("DEBUG", " DELVfModVol_volumeRequest - " + "\n" + volumeRequest, isDebugEnabled)
@@ -169,7 +169,7 @@ public class DeleteVfModuleVolumeInfraV1 extends AbstractServiceTaskProcessor { }
- public void sendSyncError (Execution execution, isDebugEnabled) {
+ public void sendSyncError (DelegateExecution execution, isDebugEnabled) {
WorkflowException we = execution.getVariable('WorkflowException')
def errorCode = we?.getErrorCode()
def errorMessage = we?.getErrorMessage()
@@ -178,7 +178,7 @@ public class DeleteVfModuleVolumeInfraV1 extends AbstractServiceTaskProcessor { }
- public void callRESTQueryAAICloudRegion (Execution execution, isDebugEnabled) {
+ public void callRESTQueryAAICloudRegion (DelegateExecution execution, isDebugEnabled) {
String cloudRegion = execution.getVariable('DELVfModVol_cloudRegion')
@@ -216,7 +216,7 @@ public class DeleteVfModuleVolumeInfraV1 extends AbstractServiceTaskProcessor { * Query volume group by id
* @param execution
*/
- public void queryAAIForVolumeGroup(Execution execution, isDebugLogEnabled) {
+ public void queryAAIForVolumeGroup(DelegateExecution execution, isDebugLogEnabled) {
ExceptionUtil exceptionUtil = new ExceptionUtil()
@@ -343,7 +343,7 @@ public class DeleteVfModuleVolumeInfraV1 extends AbstractServiceTaskProcessor { return false
}
- public void prepareVnfAdapterDeleteRequest(Execution execution, isDebugLogEnabled) {
+ public void prepareVnfAdapterDeleteRequest(DelegateExecution execution, isDebugLogEnabled) {
def cloudRegion = execution.getVariable('DELVfModVol_cloudRegion')
def tenantId = execution.getVariable('DELVfModVol_tenantId')
def volumeGroupId = execution.getVariable('DELVfModVol_volumeGroupId')
@@ -379,7 +379,7 @@ public class DeleteVfModuleVolumeInfraV1 extends AbstractServiceTaskProcessor { }
- public void deleteVolGrpId(Execution execution, isDebugEnabled) {
+ public void deleteVolGrpId(DelegateExecution execution, isDebugEnabled) {
// get variables
String queryAAIVolGrpIdResponse = execution.getVariable("DELVfModVol_queryAAIVolGrpResponse")
@@ -422,7 +422,7 @@ public class DeleteVfModuleVolumeInfraV1 extends AbstractServiceTaskProcessor { }
- public void prepareDBRequest (Execution execution, isDebugLogEnabled) {
+ public void prepareDBRequest (DelegateExecution execution, isDebugLogEnabled) {
WorkflowException workflowExceptionObj = execution.getVariable("WorkflowException")
ExceptionUtil exceptionUtil = new ExceptionUtil();
@@ -464,7 +464,7 @@ public class DeleteVfModuleVolumeInfraV1 extends AbstractServiceTaskProcessor { }
- public void prepareCompletionHandlerRequest (Execution execution, isDebugLogEnabled) {
+ public void prepareCompletionHandlerRequest (DelegateExecution execution, isDebugLogEnabled) {
def requestId = execution.getVariable("mso-request-id")
def source = execution.getVariable("DELVfModVol_source")
@@ -488,7 +488,7 @@ public class DeleteVfModuleVolumeInfraV1 extends AbstractServiceTaskProcessor { - public void prepareFalloutHandler (Execution execution, isDebugEnabled) {
+ public void prepareFalloutHandler (DelegateExecution execution, isDebugEnabled) {
execution.setVariable("DELVfModVol_Success", false)
String requestId = execution.getVariable("DELVfModVol_requestId")
@@ -529,7 +529,7 @@ public class DeleteVfModuleVolumeInfraV1 extends AbstractServiceTaskProcessor { *
* @param execution The flow's execution instance.
*/
- public void handleTenantIdMismatch(Execution execution, isDebugLogEnabled) {
+ public void handleTenantIdMismatch(DelegateExecution execution, isDebugLogEnabled) {
def volumeGroupId = execution.getVariable('DELVfModVol_volumeGroupId')
def aicCloudRegion = execution.getVariable('DELVfModVol_aicCloudRegion')
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DeleteVnfInfra.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DeleteVnfInfra.groovy index f1911accd7..c789769131 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DeleteVnfInfra.groovy +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DeleteVnfInfra.groovy @@ -26,7 +26,7 @@ import javax.xml.parsers.DocumentBuilderFactory import org.apache.commons.lang3.* import org.camunda.bpm.engine.delegate.BpmnError -import org.camunda.bpm.engine.runtime.Execution +import org.camunda.bpm.engine.delegate.DelegateExecution import org.w3c.dom.Document import org.w3c.dom.Element import org.w3c.dom.Node @@ -59,7 +59,7 @@ class DeleteVnfInfra extends AbstractServiceTaskProcessor { * * @param - execution */ - public void preProcessRequest(Execution execution) { + public void preProcessRequest(DelegateExecution execution) { def isDebugEnabled = execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix",Prefix) utils.log("DEBUG", " *** STARTED DeleteVnfInfra PreProcessRequest Process*** ", isDebugEnabled) @@ -129,7 +129,7 @@ class DeleteVnfInfra extends AbstractServiceTaskProcessor { utils.log("DEBUG", "*** COMPLETED DeleteVnfInfra PreProcessRequest Process ***", isDebugEnabled) } - public void sendSyncResponse (Execution execution) { + public void sendSyncResponse (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix",Prefix) @@ -154,7 +154,7 @@ class DeleteVnfInfra extends AbstractServiceTaskProcessor { utils.log("DEBUG", "*** COMPLETED DeleteVnfInfra SendSyncResponse Process ***", isDebugEnabled) } - public void prepareCompletionHandlerRequest(Execution execution){ + public void prepareCompletionHandlerRequest(DelegateExecution execution){ def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix",Prefix) @@ -187,7 +187,7 @@ class DeleteVnfInfra extends AbstractServiceTaskProcessor { utils.log("DEBUG", "*** COMPLETED DeleteVnfInfra PrepareCompletionHandlerRequest Process ***", isDebugEnabled) } - public void sendErrorResponse(Execution execution){ + public void sendErrorResponse(DelegateExecution execution){ def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix",Prefix) diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCompareModelVersions.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCompareModelVersions.groovy new file mode 100644 index 0000000000..a8af52a8f1 --- /dev/null +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCompareModelVersions.groovy @@ -0,0 +1,255 @@ +/*-
+ * ============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.domain.ServiceDecomposition
+import org.openecomp.mso.bpmn.core.domain.ServiceInstance
+import org.openecomp.mso.bpmn.core.domain.ModelInfo
+import org.openecomp.mso.bpmn.core.domain.Resource
+import org.openecomp.mso.bpmn.core.domain.AllottedResource
+import org.openecomp.mso.bpmn.core.domain.NetworkResource
+import org.openecomp.mso.bpmn.core.domain.VnfResource
+import org.openecomp.mso.bpmn.common.recipe.ResourceInput
+import org.openecomp.mso.bpmn.common.recipe.BpmnRestClient
+import org.openecomp.mso.bpmn.core.json.JsonUtils
+import org.openecomp.mso.bpmn.common.scripts.AaiUtil
+import org.openecomp.mso.bpmn.common.scripts.AbstractServiceTaskProcessor
+import org.openecomp.mso.bpmn.common.scripts.ExceptionUtil
+import org.openecomp.mso.bpmn.common.scripts.SDNCAdapterUtils
+import org.openecomp.mso.bpmn.common.scripts.CatalogDbUtils;
+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.List;
+import java.util.UUID;
+
+import javax.mail.Quota.Resource;
+
+import org.camunda.bpm.engine.delegate.BpmnError
+import org.camunda.bpm.engine.runtime.Execution
+import org.json.JSONObject;
+import org.json.JSONArray;
+import org.apache.commons.lang3.*
+import org.apache.commons.codec.binary.Base64;
+import org.springframework.web.util.UriUtils;
+
+/**
+ * This groovy class supports the <class>DoCompareModelVersions.bpmn</class> process.
+ *
+ * Inputs:
+ * @param - model-invariant-id-target
+ * @param - model-version-id-target
+ * @param - model-invariant-id-original
+ * @param - model-version-id-original
+ *
+ * Outputs:
+ * @param - addResourceList
+ * @param - delResourceList
+ *
+ */
+public class DoCompareModelVersions extends AbstractServiceTaskProcessor {
+
+ String Prefix="DCMPMDV_"
+ ExceptionUtil exceptionUtil = new ExceptionUtil()
+ JsonUtils jsonUtil = new JsonUtils()
+ CatalogDbUtils cutils = new CatalogDbUtils()
+
+ public void preProcessRequest (Execution execution) {
+ def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
+ String msg = ""
+ utils.log("INFO"," ***** preProcessRequest *****", isDebugEnabled)
+
+ try {
+ execution.setVariable("prefix", Prefix)
+
+ //Inputs
+ String modelInvariantUuid_target = execution.getVariable("model-invariant-id-target")
+ if (isBlank(modelInvariantUuid_target)) {
+ msg = "Input model-invariant-id-target is null"
+ utils.log("INFO", msg, isDebugEnabled)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 500, msg)
+ }
+
+ String modelUuid_target = execution.getVariable("model-version-id-target")
+ if (isBlank(modelUuid_target)) {
+ msg = "Input model-version-id-target is null"
+ utils.log("INFO", msg, isDebugEnabled)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 500, msg)
+ }
+
+ String modelInvariantUuid_original = execution.getVariable("model-invariant-id-original")
+ if (isBlank(modelInvariantUuid_original)) {
+ msg = "Input model-invariant-id-original is null"
+ utils.log("INFO", msg, isDebugEnabled)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 500, msg)
+ }
+
+ String modelUuid_original = execution.getVariable("model-version-id-original")
+ if (isBlank(modelUuid_original)) {
+ msg = "Input model-version-id-original is null"
+ utils.log("INFO", msg, isDebugEnabled)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 500, msg)
+ }
+
+ // Target and original modelInvariantUuid must to be the same
+ if(modelInvariantUuid_target != modelInvariantUuid_original){
+ msg = "Input model-invariant-id-target and model-invariant-id-original must to be the same"
+ utils.log("INFO", msg, isDebugEnabled)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 500, msg)
+ }
+
+ // Target and original modelUuid must not to be the same
+ if(modelUuid_target == modelUuid_original){
+ msg = "Input model-version-id-target and model-version-id-original must not to be the same"
+ utils.log("INFO", msg, isDebugEnabled)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 500, msg)
+ }
+
+ } catch (Exception ex){
+ msg = "Exception in preProcessRequest " + ex.getMessage()
+ utils.log("INFO", msg, isDebugEnabled)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg)
+ }
+ utils.log("INFO"," ***** Exit preProcessRequest *****", isDebugEnabled)
+ }
+
+ public void prepareDecomposeService_Target(Execution execution) {
+ def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
+
+ try {
+ utils.log("DEBUG", " ***** Inside prepareDecomposeService_Target of update generic e2e service ***** ", isDebugEnabled)
+ String modelInvariantUuid = execution.getVariable("model-invariant-id-target")
+ String modelUuid = execution.getVariable("model-version-id-target")
+ //here modelVersion is not set, we use modelUuid to decompose the service.
+ String serviceModelInfo = """{
+ "modelInvariantUuid":"${modelInvariantUuid}",
+ "modelUuid":"${modelUuid}",
+ "modelVersion":""
+ }"""
+ execution.setVariable("serviceModelInfo", serviceModelInfo)
+ execution.setVariable("serviceModelInfo_Target", serviceModelInfo)
+
+ utils.log("DEBUG", " ***** Completed prepareDecomposeService_Target of update generic e2e service ***** ", isDebugEnabled)
+ } catch (Exception ex) {
+ // try error in method block
+ String exceptionMessage = "Bpmn error encountered in update generic e2e service flow. Unexpected Error from method prepareDecomposeService_Target() - " + ex.getMessage()
+ exceptionUtil.buildAndThrowWorkflowException(execution, 7000, exceptionMessage)
+ }
+ }
+
+ public void processDecomposition_Target(Execution execution) {
+ def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
+
+ utils.log("DEBUG", " ***** Inside processDecomposition_Target() of update generic e2e service flow ***** ", isDebugEnabled)
+ try {
+ ServiceDecomposition serviceDecomposition = execution.getVariable("serviceDecomposition")
+ execution.setVariable("serviceDecomposition_Target", serviceDecomposition)
+ } catch (Exception ex) {
+ String exceptionMessage = "Bpmn error encountered in update generic e2e service flow. Unexpected Error from method processDecomposition_Target() - " + ex.getMessage()
+ utils.log("DEBUG", exceptionMessage, isDebugEnabled)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 7000, exceptionMessage)
+ }
+ }
+
+ public void prepareDecomposeService_Original(Execution execution) {
+ def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
+
+ try {
+ utils.log("DEBUG", " ***** Inside prepareDecomposeService_Original of update generic e2e service ***** ", isDebugEnabled)
+ String modelInvariantUuid = execution.getVariable("model-invariant-id-original")
+ String modelUuid = execution.getVariable("model-version-id-original")
+ //here modelVersion is not set, we use modelUuid to decompose the service.
+ String serviceModelInfo = """{
+ "modelInvariantUuid":"${modelInvariantUuid}",
+ "modelUuid":"${modelUuid}",
+ "modelVersion":""
+ }"""
+ execution.setVariable("serviceModelInfo", serviceModelInfo)
+ execution.setVariable("serviceModelInfo_Original", serviceModelInfo)
+
+ utils.log("DEBUG", " ***** Completed prepareDecomposeService_Original of update generic e2e service ***** ", isDebugEnabled)
+ } catch (Exception ex) {
+ // try error in method block
+ String exceptionMessage = "Bpmn error encountered in update generic e2e service flow. Unexpected Error from method prepareDecomposeService_Original() - " + ex.getMessage()
+ exceptionUtil.buildAndThrowWorkflowException(execution, 7000, exceptionMessage)
+ }
+ }
+
+ public void processDecomposition_Original(Execution execution) {
+ def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
+
+ utils.log("DEBUG", " ***** Inside processDecomposition_Original() of update generic e2e service flow ***** ", isDebugEnabled)
+ try {
+ ServiceDecomposition serviceDecomposition = execution.getVariable("serviceDecomposition")
+ execution.setVariable("serviceDecomposition_Original", serviceDecomposition)
+ } catch (Exception ex) {
+ String exceptionMessage = "Bpmn error encountered in update generic e2e service flow. processDecomposition_Original() - " + ex.getMessage()
+ utils.log("DEBUG", exceptionMessage, isDebugEnabled)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 7000, exceptionMessage)
+ }
+ }
+
+ public void doCompareModelVersions(execution){
+ def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
+ utils.log("INFO", "======== Start doCompareModelVersions Process ======== ", isDebugEnabled)
+
+ ServiceDecomposition serviceDecomposition_Target = execution.getVariable("serviceDecomposition_Target")
+ ServiceDecomposition serviceDecomposition_Original = execution.getVariable("serviceDecomposition_Original")
+
+ List<Resource> allSR_target = serviceDecomposition_Target.getServiceResources();
+ List<Resource> allSR_original = serviceDecomposition_Original.getServiceResources();
+
+ List<Resource> addedResource = new ArrayList<String>()
+ List<Resource> delResource = new ArrayList<String>()
+
+ addResourceList.addAll(allSR_target)
+ delResourceList.addAll(allSR_original)
+
+ //Compare
+ for (Resource rc_t : allSR_target){
+ String muuid = rc_t.getModelInfo().getModelUuid()
+ String mIuuid = rc_t.getModelInfo().getModelInvariantUuid()
+ String mCuuid = rc_t.getModelInfo().getModelCustomizationUuid()
+ for (Resource rc_o : allSR_original){
+ if(rc_o.getModelInfo().getModelUuid() == muuid
+ && rc_o.getModelInfo().getModelInvariantUuid() == mIuuid
+ && rc_o.getModelInfo().getModelCustomizationUuid() == mCuuid) {
+ addResourceList.remove(rc_t);
+ delResourceList.remove(rc_o);
+ }
+ } + } +
+ execution.setVariable("addResourceList", addResourceList)
+ execution.setVariable("delResourceList", delResourceList)
+ utils.log("INFO", "addResourceList: " + addResourceList, isDebugEnabled)
+ utils.log("INFO", "delResourceList: " + delResourceList, isDebugEnabled)
+
+ utils.log("INFO", "======== COMPLETED doCompareModelVersions Process ======== ", isDebugEnabled)
+ }
+
+}
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateE2EServiceInstance.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateE2EServiceInstance.groovy index fd9b6d42e8..1f632162ff 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateE2EServiceInstance.groovy +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateE2EServiceInstance.groovy @@ -51,7 +51,7 @@ import java.util.UUID; import javax.mail.Quota.Resource; import org.camunda.bpm.engine.delegate.BpmnError -import org.camunda.bpm.engine.runtime.Execution +import org.camunda.bpm.engine.delegate.DelegateExecution import org.json.JSONObject; import org.json.JSONArray; import org.apache.commons.lang3.* @@ -90,7 +90,7 @@ public class DoCreateE2EServiceInstance extends AbstractServiceTaskProcessor { JsonUtils jsonUtil = new JsonUtils() CatalogDbUtils cutils = new CatalogDbUtils() - public void preProcessRequest (Execution execution) { + public void preProcessRequest (DelegateExecution execution) { def isDebugEnabled = execution.getVariable("isDebugLogEnabled") String msg = "" utils.log("INFO"," ***** preProcessRequest *****", isDebugEnabled) @@ -185,7 +185,7 @@ public class DoCreateE2EServiceInstance extends AbstractServiceTaskProcessor { utils.log("INFO"," ***** Exit preProcessRequest *****", isDebugEnabled) } - public void prepareDecomposeService(Execution execution) { + public void prepareDecomposeService(DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") try { @@ -208,7 +208,7 @@ public class DoCreateE2EServiceInstance extends AbstractServiceTaskProcessor { } } - public void processDecomposition (Execution execution) { + public void processDecomposition(DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") utils.log("DEBUG", " ***** Inside processDecomposition() of create generic e2e service flow ***** ", isDebugEnabled) @@ -221,11 +221,11 @@ public class DoCreateE2EServiceInstance extends AbstractServiceTaskProcessor { } } - public void doServiceHoming(Execution execution) { + public void doServiceHoming(DelegateExecution execution) { //Now Homing is not clear. So to be implemented. } - public void postProcessAAIGET(Execution execution) { + public void postProcessAAIGET(DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") utils.log("INFO"," ***** postProcessAAIGET ***** ", isDebugEnabled) String msg = "" @@ -267,7 +267,7 @@ public class DoCreateE2EServiceInstance extends AbstractServiceTaskProcessor { utils.log("INFO"," *** Exit postProcessAAIGET *** ", isDebugEnabled) } - public void postProcessAAIPUT(Execution execution) { + public void postProcessAAIPUT(DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") utils.log("INFO"," ***** postProcessAAIPUT ***** ", isDebugEnabled) String msg = "" @@ -305,7 +305,7 @@ public class DoCreateE2EServiceInstance extends AbstractServiceTaskProcessor { utils.log("INFO"," *** Exit postProcessAAIPUT *** ", isDebugEnabled) } - public void postProcessAAIGET2(Execution execution) { + public void postProcessAAIGET2(DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") utils.log("INFO"," ***** postProcessAAIGET2 ***** ", isDebugEnabled) String msg = "" @@ -348,7 +348,7 @@ public class DoCreateE2EServiceInstance extends AbstractServiceTaskProcessor { utils.log("INFO"," *** Exit postProcessAAIGET2 *** ", isDebugEnabled) } - public void preProcessRollback (Execution execution) { + public void preProcessRollback (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") utils.log("INFO"," ***** preProcessRollback ***** ", isDebugEnabled) try { @@ -369,7 +369,7 @@ public class DoCreateE2EServiceInstance extends AbstractServiceTaskProcessor { utils.log("INFO"," *** Exit preProcessRollback *** ", isDebugEnabled) } - public void postProcessRollback (Execution execution) { + public void postProcessRollback (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") utils.log("INFO"," ***** postProcessRollback ***** ", isDebugEnabled) String msg = "" @@ -390,7 +390,7 @@ public class DoCreateE2EServiceInstance extends AbstractServiceTaskProcessor { utils.log("INFO"," *** Exit postProcessRollback *** ", isDebugEnabled) } - public void preInitResourcesOperStatus(Execution execution){ + public void preInitResourcesOperStatus(DelegateExecution execution){ def isDebugEnabled = execution.getVariable("isDebugLogEnabled") utils.log("INFO", " ======== STARTED preInitResourcesOperStatus Process ======== ", isDebugEnabled) diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateE2EServiceInstanceRollback.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateE2EServiceInstanceRollback.groovy index 743eb1a46e..84dd0e4d73 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateE2EServiceInstanceRollback.groovy +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateE2EServiceInstanceRollback.groovy @@ -37,7 +37,7 @@ import org.openecomp.mso.rest.RESTConfig import java.util.UUID;
import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.runtime.Execution
+import org.camunda.bpm.engine.delegate.DelegateExecution
import org.json.JSONObject;
import org.apache.commons.lang3.*
import org.apache.commons.codec.binary.Base64;
@@ -66,7 +66,7 @@ public class DoCreateE2EServiceInstanceRollback extends AbstractServiceTaskProce String Prefix="DCRESIRB_"
- public void preProcessRequest(Execution execution) {
+ public void preProcessRequest(DelegateExecution execution) {
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
String msg = ""
@@ -136,7 +136,7 @@ public class DoCreateE2EServiceInstanceRollback extends AbstractServiceTaskProce utils.log("DEBUG"," ***** Exit preProcessRequest *****", isDebugEnabled)
}
- public void validateSDNCResponse(Execution execution, String response, String method) {
+ public void validateSDNCResponse(DelegateExecution execution, String response, String method) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
utils.log("DEBUG"," ***** validateSDNCResponse ***** ", isDebugEnabled)
String msg = ""
@@ -169,7 +169,7 @@ public class DoCreateE2EServiceInstanceRollback extends AbstractServiceTaskProce utils.log("DEBUG"," ***** Exit validateSDNCResponse ***** ", isDebugEnabled)
}
- public void postProcessRequest(Execution execution) {
+ public void postProcessRequest(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
utils.log("DEBUG"," ***** postProcessRequest ***** ", isDebugEnabled)
String msg = ""
@@ -203,7 +203,7 @@ public class DoCreateE2EServiceInstanceRollback extends AbstractServiceTaskProce }
- public void processRollbackException(Execution execution){
+ public void processRollbackException(DelegateExecution execution){
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
utils.log("DEBUG"," ***** processRollbackException ***** ", isDebugEnabled)
try{
@@ -221,7 +221,7 @@ public class DoCreateE2EServiceInstanceRollback extends AbstractServiceTaskProce utils.log("DEBUG", " Exit processRollbackException", isDebugEnabled)
}
- public void processRollbackJavaException(Execution execution){
+ public void processRollbackJavaException(DelegateExecution execution){
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
utils.log("DEBUG"," ***** processRollbackJavaException ***** ", isDebugEnabled)
try{
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateE2EServiceInstanceV2.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateE2EServiceInstanceV2.groovy index ea29de94d7..2d96ac771a 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateE2EServiceInstanceV2.groovy +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateE2EServiceInstanceV2.groovy @@ -21,33 +21,22 @@ 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.domain.ServiceDecomposition
-import org.openecomp.mso.bpmn.core.domain.ServiceInstance
-import org.openecomp.mso.bpmn.core.domain.ModelInfo
-import org.openecomp.mso.bpmn.core.json.JsonUtils
+import org.apache.commons.lang3.*
+import org.camunda.bpm.engine.delegate.BpmnError
+import org.camunda.bpm.engine.delegate.DelegateExecution
+import org.json.JSONArray;
+import org.json.JSONObject;
import org.openecomp.mso.bpmn.common.scripts.AaiUtil
import org.openecomp.mso.bpmn.common.scripts.AbstractServiceTaskProcessor
import org.openecomp.mso.bpmn.common.scripts.ExceptionUtil
-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.runtime.Execution
-import org.json.JSONObject;
-import org.json.JSONArray;
-import org.apache.commons.lang3.*
-import org.apache.commons.codec.binary.Base64;
+import org.openecomp.mso.bpmn.core.json.JsonUtils
import org.springframework.web.util.UriUtils;
+import groovy.json.*
+
/**
* This groovy class supports the <class>DoCreateServiceInstance.bpmn</class> process.
*
@@ -81,7 +70,7 @@ public class DoCreateE2EServiceInstanceV2 extends AbstractServiceTaskProcessor { ExceptionUtil exceptionUtil = new ExceptionUtil()
JsonUtils jsonUtil = new JsonUtils()
- public void preProcessRequest (Execution execution) {
+ public void preProcessRequest (DelegateExecution execution) {
//only for dug
execution.setVariable("isDebugLogEnabled","true")
execution.setVariable("unit_test", "true")
@@ -217,7 +206,7 @@ public class DoCreateE2EServiceInstanceV2 extends AbstractServiceTaskProcessor { utils.log("INFO", "Exited " + method, isDebugEnabled)
}
- public void postProcessAAIGET(Execution execution) {
+ public void postProcessAAIGET(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.postProcessAAIGET(' +'execution=' + execution.getId() +')'
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
utils.log("INFO","Entered " + method, isDebugEnabled)
@@ -261,7 +250,7 @@ public class DoCreateE2EServiceInstanceV2 extends AbstractServiceTaskProcessor { utils.log("INFO", "Exited " + method, isDebugEnabled)
}
- public void postProcessAAIPUT(Execution execution) {
+ public void postProcessAAIPUT(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.postProcessAAIPUT(' +'execution=' + execution.getId() +')'
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
utils.log("INFO","Entered " + method, isDebugEnabled)
@@ -301,7 +290,7 @@ public class DoCreateE2EServiceInstanceV2 extends AbstractServiceTaskProcessor { utils.log("INFO", "Exited " + method, isDebugEnabled)
}
- public void postProcessAAIGET2(Execution execution) {
+ public void postProcessAAIGET2(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.postProcessAAIGET2(' +'execution=' + execution.getId() +')'
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
utils.log("INFO","Entered " + method, isDebugEnabled)
@@ -346,7 +335,7 @@ public class DoCreateE2EServiceInstanceV2 extends AbstractServiceTaskProcessor { utils.log("INFO", "Exited " + method, isDebugEnabled)
}
- public void preProcessRollback (Execution execution) {
+ public void preProcessRollback (DelegateExecution execution) {
def method = getClass().getSimpleName() + '.preProcessRollback(' +'execution=' + execution.getId() +')'
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
utils.log("INFO","Entered " + method, isDebugEnabled)
@@ -369,7 +358,7 @@ public class DoCreateE2EServiceInstanceV2 extends AbstractServiceTaskProcessor { utils.log("INFO", "Exited " + method, isDebugEnabled)
}
- public void postProcessRollback (Execution execution) {
+ public void postProcessRollback (DelegateExecution execution) {
def method = getClass().getSimpleName() + '.postProcessRollback(' +'execution=' + execution.getId() +')'
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
utils.log("INFO","Entered " + method, isDebugEnabled)
@@ -395,7 +384,7 @@ public class DoCreateE2EServiceInstanceV2 extends AbstractServiceTaskProcessor { /**
* Init the service Operation Status
*/
- public void preUpdateServiceOperationStatus(Execution execution){
+ public void preUpdateServiceOperationStatus(DelegateExecution execution){
def method = getClass().getSimpleName() + '.preUpdateServiceOperationStatus(' +'execution=' + execution.getId() +')'
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
utils.log("INFO","Entered " + method, isDebugEnabled)
@@ -460,7 +449,7 @@ public class DoCreateE2EServiceInstanceV2 extends AbstractServiceTaskProcessor { }
- public void preInitResourcesOperStatus(Execution execution){
+ public void preInitResourcesOperStatus(DelegateExecution execution){
def method = getClass().getSimpleName() + '.preInitResourcesOperStatus(' +'execution=' + execution.getId() +')'
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
utils.log("INFO","Entered " + method, isDebugEnabled)
@@ -576,7 +565,7 @@ public class DoCreateE2EServiceInstanceV2 extends AbstractServiceTaskProcessor { /***********************************************************************************************/
- private void loadResourcesProperties(Execution execution) {
+ private void loadResourcesProperties(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.loadResourcesProperties(' +'execution=' + execution.getId() +')'
def isDebugEnabled = execution.getVariable("isDebugEnabled")
utils.log("INFO","Entered " + method, isDebugEnabled)
@@ -610,7 +599,7 @@ public class DoCreateE2EServiceInstanceV2 extends AbstractServiceTaskProcessor { }
utils.log("INFO", "Exited " + method, isDebugEnabled)
}
- private sortCreateResource(Execution execution) {
+ private sortCreateResource(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.sortCreateResource(' +'execution=' + execution.getId() +')'
def isDebugEnabled = execution.getVariable("isDebugEnabled")
utils.log("INFO","Entered " + method, isDebugEnabled)
@@ -714,7 +703,7 @@ public class DoCreateE2EServiceInstanceV2 extends AbstractServiceTaskProcessor { /**
* get service resources
*/
- public void getServiceResources(Execution execution){
+ public void getServiceResources(DelegateExecution execution){
def method = getClass().getSimpleName() + '.getServiceResources(' +'execution=' + execution.getId() +')'
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
utils.log("INFO","Entered " + method, isDebugEnabled)
@@ -758,7 +747,7 @@ public class DoCreateE2EServiceInstanceV2 extends AbstractServiceTaskProcessor { /**
* prepare Decompose next resource to create request
*/
- public void preProcessDecomposeNextResource(Execution execution){
+ public void preProcessDecomposeNextResource(DelegateExecution execution){
def method = getClass().getSimpleName() + '.preProcessDecomposeNextResource(' +'execution=' + execution.getId() +')'
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
utils.log("INFO","Entered " + method, isDebugEnabled)
@@ -808,7 +797,7 @@ public class DoCreateE2EServiceInstanceV2 extends AbstractServiceTaskProcessor { /**
* post Decompose next resource to create request
*/
- public void postProcessDecomposeNextResource(Execution execution){
+ public void postProcessDecomposeNextResource(DelegateExecution execution){
def method = getClass().getSimpleName() + '.postProcessDecomposeNextResource(' +'execution=' + execution.getId() +')'
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
utils.log("INFO","Entered " + method, isDebugEnabled)
@@ -849,7 +838,7 @@ public class DoCreateE2EServiceInstanceV2 extends AbstractServiceTaskProcessor { /**
* prepare check Resource Type
*/
- public void checkResourceType(Execution execution){
+ public void checkResourceType(DelegateExecution execution){
def method = getClass().getSimpleName() + '.checkResourceType(' +'execution=' + execution.getId() +')'
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
utils.log("INFO","Entered " + method, isDebugEnabled)
@@ -966,7 +955,7 @@ public class DoCreateE2EServiceInstanceV2 extends AbstractServiceTaskProcessor { /**
* prepare post Unkown Resource Type
*/
- public void postOtherControllerType(Execution execution){
+ public void postOtherControllerType(DelegateExecution execution){
def method = getClass().getSimpleName() + '.postOtherControllerType(' +'execution=' + execution.getId() +')'
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
utils.log("INFO","Entered " + method, isDebugEnabled)
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateNetworkInstance.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateNetworkInstance.groovy index e2bd1ddf04..7d21a06971 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateNetworkInstance.groovy +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateNetworkInstance.groovy @@ -38,7 +38,7 @@ import java.util.Map; import java.util.UUID; import org.camunda.bpm.engine.delegate.BpmnError -import org.camunda.bpm.engine.runtime.Execution +import org.camunda.bpm.engine.delegate.DelegateExecution import org.apache.commons.lang3.* import org.apache.commons.codec.binary.Base64; import org.springframework.web.util.UriUtils @@ -61,7 +61,7 @@ public class DoCreateNetworkInstance extends AbstractServiceTaskProcessor { * This method is executed during the preProcessRequest task of the <class>DoCreateNetworkInstance.bpmn</class> process. * @param execution */ - public InitializeProcessVariables(Execution execution){ + public InitializeProcessVariables(DelegateExecution execution){ /* Initialize all the process variables in this block */ execution.setVariable(Prefix + "networkRequest", "") @@ -174,7 +174,7 @@ public class DoCreateNetworkInstance extends AbstractServiceTaskProcessor { * This method is executed during the preProcessRequest task of the <class>DoCreateNetworkInstance.bpmn</class> process. * @param execution */ - public void preProcessRequest (Execution execution) { + public void preProcessRequest (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix",Prefix) @@ -312,7 +312,7 @@ public class DoCreateNetworkInstance extends AbstractServiceTaskProcessor { } - public void callRESTQueryAAINetworkName (Execution execution) { + public void callRESTQueryAAINetworkName (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix",Prefix) @@ -388,7 +388,7 @@ public class DoCreateNetworkInstance extends AbstractServiceTaskProcessor { } - public void callRESTQueryAAICloudRegion (Execution execution) { + public void callRESTQueryAAICloudRegion (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix",Prefix) @@ -438,7 +438,7 @@ public class DoCreateNetworkInstance extends AbstractServiceTaskProcessor { } - public void callRESTQueryAAINetworkId(Execution execution) { + public void callRESTQueryAAINetworkId(DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix",Prefix) @@ -481,7 +481,7 @@ public class DoCreateNetworkInstance extends AbstractServiceTaskProcessor { String aai_endpoint = execution.getVariable("URN_aai_endpoint") AaiUtil aaiUriUtil = new AaiUtil(this) String aai_uri = aaiUriUtil.getNetworkL3NetworkUri(execution) - String queryIdAAIRequest = "${aai_endpoint}${aai_uri}/" + networkId + "?depth=1" + String queryIdAAIRequest = "${aai_endpoint}${aai_uri}/" + networkId + "?depth=all" utils.logAudit(queryIdAAIRequest) execution.setVariable(Prefix + "queryIdAAIRequest", queryIdAAIRequest) utils.log("DEBUG", Prefix + "queryIdAAIRequest - " + "\n" + queryIdAAIRequest, isDebugEnabled) @@ -538,7 +538,7 @@ public class DoCreateNetworkInstance extends AbstractServiceTaskProcessor { } - public void callRESTReQueryAAINetworkId(Execution execution) { + public void callRESTReQueryAAINetworkId(DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix",Prefix) @@ -554,7 +554,7 @@ public class DoCreateNetworkInstance extends AbstractServiceTaskProcessor { String aai_endpoint = execution.getVariable("URN_aai_endpoint") AaiUtil aaiUriUtil = new AaiUtil(this) String aai_uri = aaiUriUtil.getNetworkL3NetworkUri(execution) - String requeryIdAAIRequest = "${aai_endpoint}${aai_uri}/" + networkId + "?depth=1" + String requeryIdAAIRequest = "${aai_endpoint}${aai_uri}/" + networkId + "?depth=all" utils.logAudit(requeryIdAAIRequest) execution.setVariable(Prefix + "requeryIdAAIRequest", requeryIdAAIRequest) utils.log("DEBUG", Prefix + "requeryIdAAIRequest - " + "\n" + requeryIdAAIRequest, isDebugEnabled) @@ -614,7 +614,7 @@ public class DoCreateNetworkInstance extends AbstractServiceTaskProcessor { } - public void callRESTQueryAAINetworkVpnBinding(Execution execution) { + public void callRESTQueryAAINetworkVpnBinding(DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix",Prefix) @@ -686,9 +686,19 @@ public class DoCreateNetworkInstance extends AbstractServiceTaskProcessor { utils.log("DEBUG", " AAI Query Vpn Binding Success REST Response, , vpnBinding #" + counting + " : " + "\n" + aaiResponseAsString, isDebugEnabled) String routeTarget = "" - if (utils.nodeExists(aaiResponseAsString, "global-route-target")) { - routeTarget = utils.getNodeText1(aaiResponseAsString, "global-route-target") - routeTargets += "<routeTargets>" + routeTarget + "</routeTargets>" + '\n' + String routeRole = "" + if (utils.nodeExists(aaiResponseAsString, "route-targets")) { + String aaiRouteTargets = utils.getNodeXml(aaiResponseAsString, "route-targets", false) + def aaiRouteTargetsXml = new XmlSlurper().parseText(aaiRouteTargets) + def aaiRouteTarget = aaiRouteTargetsXml.'**'.findAll {it.name() == "route-target"} + for (j in 0..aaiRouteTarget.size()-1) { + routeTarget = utils.getNodeText1(XmlUtil.serialize(aaiRouteTarget[j]), "global-route-target") + routeRole = utils.getNodeText1(XmlUtil.serialize(aaiRouteTarget[j]), "route-target-role") + routeTargets += "<routeTargets>" + '\n' + + " <routeTarget>" + routeTarget + "</routeTarget>" + '\n' + + " <routeTargetRole>" + routeRole + "</routeTargetRole>" + '\n' + + "</routeTargets>" + '\n' + } } } else { @@ -748,7 +758,7 @@ public class DoCreateNetworkInstance extends AbstractServiceTaskProcessor { } - public void callRESTQueryAAINetworkPolicy(Execution execution) { + public void callRESTQueryAAINetworkPolicy(DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix",Prefix) @@ -884,7 +894,7 @@ public class DoCreateNetworkInstance extends AbstractServiceTaskProcessor { } - public void callRESTQueryAAINetworkTableRef(Execution execution) { + public void callRESTQueryAAINetworkTableRef(DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix",Prefix) @@ -1021,7 +1031,7 @@ public class DoCreateNetworkInstance extends AbstractServiceTaskProcessor { } - public void callRESTUpdateContrailAAINetwork(Execution execution) { + public void callRESTUpdateContrailAAINetwork(DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix",Prefix) @@ -1038,7 +1048,7 @@ public class DoCreateNetworkInstance extends AbstractServiceTaskProcessor { String aai_endpoint = execution.getVariable("URN_aai_endpoint") AaiUtil aaiUriUtil = new AaiUtil(this) String aai_uri = aaiUriUtil.getNetworkL3NetworkUri(execution) - String updateContrailAAIUrlRequest = "${aai_endpoint}${aai_uri}/" + networkId + "?depth=1" + String updateContrailAAIUrlRequest = "${aai_endpoint}${aai_uri}/" + networkId + "?depth=all" utils.logAudit(updateContrailAAIUrlRequest) execution.setVariable(Prefix + "updateContrailAAIUrlRequest", updateContrailAAIUrlRequest) @@ -1103,7 +1113,7 @@ public class DoCreateNetworkInstance extends AbstractServiceTaskProcessor { } - public void prepareCreateNetworkRequest (Execution execution) { + public void prepareCreateNetworkRequest (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix",Prefix) @@ -1146,7 +1156,7 @@ public class DoCreateNetworkInstance extends AbstractServiceTaskProcessor { } - public void prepareSDNCRequest (Execution execution) { + public void prepareSDNCRequest (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix",Prefix) @@ -1188,7 +1198,7 @@ public class DoCreateNetworkInstance extends AbstractServiceTaskProcessor { } - public void prepareRpcSDNCRequest (Execution execution) { + public void prepareRpcSDNCRequest (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix",Prefix) @@ -1221,7 +1231,7 @@ public class DoCreateNetworkInstance extends AbstractServiceTaskProcessor { } - public void prepareRpcSDNCActivateRequest (Execution execution) { + public void prepareRpcSDNCActivateRequest (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix",Prefix) @@ -1260,7 +1270,7 @@ public class DoCreateNetworkInstance extends AbstractServiceTaskProcessor { // Post or Validate Response Section // ************************************************** - public void validateCreateNetworkResponse (Execution execution) { + public void validateCreateNetworkResponse (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix",Prefix) @@ -1333,7 +1343,7 @@ public class DoCreateNetworkInstance extends AbstractServiceTaskProcessor { } - public void validateSDNCResponse (Execution execution) { + public void validateSDNCResponse (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix",Prefix) @@ -1361,7 +1371,7 @@ public class DoCreateNetworkInstance extends AbstractServiceTaskProcessor { } - public void validateRpcSDNCActivateResponse (Execution execution) { + public void validateRpcSDNCActivateResponse (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix",Prefix) @@ -1390,7 +1400,7 @@ public class DoCreateNetworkInstance extends AbstractServiceTaskProcessor { } - public void prepareSDNCRollbackRequest (Execution execution) { + public void prepareSDNCRollbackRequest (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix",Prefix) @@ -1422,7 +1432,7 @@ public class DoCreateNetworkInstance extends AbstractServiceTaskProcessor { } - public void prepareRpcSDNCRollbackRequest (Execution execution) { + public void prepareRpcSDNCRollbackRequest (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix",Prefix) @@ -1454,7 +1464,7 @@ public class DoCreateNetworkInstance extends AbstractServiceTaskProcessor { } - public void prepareRpcSDNCActivateRollback(Execution execution) { + public void prepareRpcSDNCActivateRollback(DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix",Prefix) @@ -1487,7 +1497,7 @@ public class DoCreateNetworkInstance extends AbstractServiceTaskProcessor { } - public void prepareRollbackData(Execution execution) { + public void prepareRollbackData(DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix",Prefix) @@ -1529,7 +1539,7 @@ public class DoCreateNetworkInstance extends AbstractServiceTaskProcessor { } - public void postProcessResponse(Execution execution) { + public void postProcessResponse(DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix",Prefix) @@ -1590,7 +1600,7 @@ public class DoCreateNetworkInstance extends AbstractServiceTaskProcessor { } - public void prepareSuccessRollbackData(Execution execution) { + public void prepareSuccessRollbackData(DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix",Prefix) @@ -1639,7 +1649,7 @@ public class DoCreateNetworkInstance extends AbstractServiceTaskProcessor { } - public void setExceptionFlag(Execution execution){ + public void setExceptionFlag(DelegateExecution execution){ def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix",Prefix) @@ -1671,7 +1681,7 @@ public class DoCreateNetworkInstance extends AbstractServiceTaskProcessor { - public void processJavaException(Execution execution){ + public void processJavaException(DelegateExecution execution){ def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix",Prefix) diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateNetworkInstanceRollback.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateNetworkInstanceRollback.groovy index 0bd5893cf5..760389ef43 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateNetworkInstanceRollback.groovy +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateNetworkInstanceRollback.groovy @@ -36,7 +36,7 @@ import org.openecomp.mso.rest.RESTConfig import java.util.UUID;
import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.runtime.Execution
+import org.camunda.bpm.engine.delegate.DelegateExecution
import org.apache.commons.lang3.*
import org.apache.commons.codec.binary.Base64;
import org.springframework.web.util.UriUtils
@@ -59,7 +59,7 @@ public class DoCreateNetworkInstanceRollback extends AbstractServiceTaskProcesso * This method is executed during the preProcessRequest task of the <class>DoCreateNetworkInstanceRollback.bpmn</class> process.
* @param execution
*/
- public InitializeProcessVariables(Execution execution){
+ public InitializeProcessVariables(DelegateExecution execution){
/* Initialize all the process variables in this block */
execution.setVariable(Prefix + "rollbackNetworkRequest", null)
@@ -93,7 +93,7 @@ public class DoCreateNetworkInstanceRollback extends AbstractServiceTaskProcesso * This method is executed during the preProcessRequest task of the <class>DoCreateNetworkInstanceRollback.bpmn</class> process.
* @param execution
*/
- public void preProcessRequest (Execution execution) {
+ public void preProcessRequest (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
@@ -180,7 +180,7 @@ public class DoCreateNetworkInstanceRollback extends AbstractServiceTaskProcesso }
- public void callPONetworkAdapter (Execution execution) {
+ public void callPONetworkAdapter (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
@@ -222,7 +222,7 @@ public class DoCreateNetworkInstanceRollback extends AbstractServiceTaskProcesso }
- public void validateRollbackResponses (Execution execution) {
+ public void validateRollbackResponses (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
@@ -365,7 +365,7 @@ public class DoCreateNetworkInstanceRollback extends AbstractServiceTaskProcesso - public void processJavaException(Execution execution){
+ public void processJavaException(DelegateExecution execution){
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateServiceInstance.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateServiceInstance.groovy index 91ecabcec3..5789e710e7 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateServiceInstance.groovy +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateServiceInstance.groovy @@ -19,28 +19,38 @@ */ 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.domain.ServiceDecomposition -import org.openecomp.mso.bpmn.core.domain.ServiceInstance -import org.openecomp.mso.bpmn.core.domain.ModelInfo -import org.openecomp.mso.bpmn.core.json.JsonUtils +import org.camunda.bpm.engine.delegate.BpmnError +import org.camunda.bpm.engine.delegate.DelegateExecution import org.openecomp.mso.bpmn.common.scripts.AaiUtil import org.openecomp.mso.bpmn.common.scripts.AbstractServiceTaskProcessor +import org.openecomp.mso.bpmn.common.scripts.CatalogDbUtils import org.openecomp.mso.bpmn.common.scripts.ExceptionUtil 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.bpmn.core.domain.ModelInfo +import org.openecomp.mso.bpmn.core.domain.ServiceDecomposition +import org.openecomp.mso.bpmn.core.domain.ServiceInstance +import org.openecomp.mso.bpmn.core.json.JsonUtils +import org.openecomp.mso.bpmn.infrastructure.aai.AAICreateResources +import org.openecomp.mso.rest.APIResponse +import org.springframework.web.util.UriUtils + +import static org.apache.commons.lang3.StringUtils.*; +import groovy.xml.XmlUtil +import groovy.json.* + import org.openecomp.mso.rest.RESTClient import org.openecomp.mso.rest.RESTConfig +import org.openecomp.mso.client.aai.AAIResourcesClient + +import java.util.logging.Logger; +import java.net.URI; import java.util.UUID; import org.camunda.bpm.engine.delegate.BpmnError -import org.camunda.bpm.engine.runtime.Execution +import org.camunda.bpm.engine.delegate.DelegateExecution import org.json.JSONObject; import org.apache.commons.lang3.* import org.apache.commons.codec.binary.Base64; @@ -70,14 +80,16 @@ import org.springframework.web.util.UriUtils; * @param - WorkflowException * @param - serviceInstanceName - (GET from AAI if null in input) * + * This BB processes Macros(except TRANSPORT all sent to sdnc) and Alacartes(sdncSvcs && nonSdncSvcs) */ public class DoCreateServiceInstance extends AbstractServiceTaskProcessor { String Prefix="DCRESI_" ExceptionUtil exceptionUtil = new ExceptionUtil() JsonUtils jsonUtil = new JsonUtils() + CatalogDbUtils cutils = new CatalogDbUtils() - public void preProcessRequest (Execution execution) { + public void preProcessRequest (DelegateExecution execution) { def isDebugEnabled = execution.getVariable("isDebugLogEnabled") String msg = "" utils.log("DEBUG"," ***** preProcessRequest *****", isDebugEnabled) @@ -131,31 +143,19 @@ public class DoCreateServiceInstance extends AbstractServiceTaskProcessor { String serviceInstanceId = "" String serviceType = "" String serviceRole = "" - + ServiceDecomposition serviceDecomp = (ServiceDecomposition) execution.getVariable("serviceDecomposition") if (serviceDecomp != null) { - serviceType = serviceDecomp.getServiceType() - if (serviceType == null) - { - utils.log("DEBUG", "null serviceType", isDebugEnabled) - serviceType = "" - } - else - { - utils.log("DEBUG", "serviceType:" + serviceType, isDebugEnabled) - } - serviceRole = serviceDecomp.getServiceRole() - if (serviceRole == null) - { - serviceRole = "" - } + serviceType = serviceDecomp.getServiceType() ?: "" + utils.log("DEBUG", "serviceType:" + serviceType, isDebugEnabled) + serviceRole = serviceDecomp.getServiceRole() ?: "" ServiceInstance serviceInstance = serviceDecomp.getServiceInstance() if (serviceInstance != null) { - serviceInstanceId = serviceInstance.getInstanceId() - serviceInstanceName = serviceInstance.getInstanceName() + serviceInstanceId = serviceInstance.getInstanceId() ?: "" + serviceInstanceName = serviceInstance.getInstanceName() ?: "" execution.setVariable("serviceInstanceId", serviceInstanceId) execution.setVariable("serviceInstanceName", serviceInstanceName) } @@ -163,10 +163,10 @@ public class DoCreateServiceInstance extends AbstractServiceTaskProcessor { ModelInfo modelInfo = serviceDecomp.getModelInfo() if (modelInfo != null) { - modelInvariantUuid = modelInfo.getModelInvariantUuid() - modelVersion = modelInfo.getModelVersion() - modelUuid = modelInfo.getModelUuid() - modelName = modelInfo.getModelName() + modelInvariantUuid = modelInfo.getModelInvariantUuid() ?: "" + modelVersion = modelInfo.getModelVersion() ?: "" + modelUuid = modelInfo.getModelUuid() ?: "" + modelName = modelInfo.getModelName() ?: "" } else { @@ -178,52 +178,78 @@ public class DoCreateServiceInstance extends AbstractServiceTaskProcessor { else { //requestDetails.requestInfo. for AAI GET/PUT serviceInstanceData & SDNC assignToplology - serviceInstanceName = execution.getVariable("serviceInstanceName") - serviceInstanceId = execution.getVariable("serviceInstanceId") + serviceInstanceName = execution.getVariable("serviceInstanceName") ?: "" + serviceInstanceId = execution.getVariable("serviceInstanceId") ?: "" String serviceModelInfo = execution.getVariable("serviceModelInfo") if (isBlank(serviceModelInfo)) { msg = "Input serviceModelInfo is null" utils.log("DEBUG", msg, isDebugEnabled) exceptionUtil.buildAndThrowWorkflowException(execution, 500, msg) - } - modelInvariantUuid = jsonUtil.getJsonValue(serviceModelInfo, "modelInvariantUuid") - modelVersion = jsonUtil.getJsonValue(serviceModelInfo, "modelVersion") - modelUuid = jsonUtil.getJsonValue(serviceModelInfo, "modelUuid") - modelName = jsonUtil.getJsonValue(serviceModelInfo, "modelName") + } + modelInvariantUuid = jsonUtil.getJsonValue(serviceModelInfo, "modelInvariantUuid") ?: "" + modelVersion = jsonUtil.getJsonValue(serviceModelInfo, "modelVersion") ?: "" + modelUuid = jsonUtil.getJsonValue(serviceModelInfo, "modelUuid") ?: "" + modelName = jsonUtil.getJsonValue(serviceModelInfo, "modelName") ?: "" //modelCustomizationUuid NA for SI } + execution.setVariable("serviceType", serviceType) execution.setVariable("serviceRole", serviceRole) + execution.setVariable("serviceInstanceName", serviceInstanceName) + + execution.setVariable("modelInvariantUuid", modelInvariantUuid) + execution.setVariable("modelVersion", modelVersion) + execution.setVariable("modelUuid", modelUuid) + execution.setVariable("modelName", modelName) - if (serviceInstanceName == null) { - execution.setVariable("serviceInstanceName", "") - serviceInstanceName = "" + //alacarte SIs are NOT sent to sdnc. exceptions are listed in config variable + String svcTypes = execution.getVariable("URN_sdnc_si_svc_types") ?: "" + utils.log("DEBUG", "SDNC SI serviceTypes:" + svcTypes, isDebugEnabled) + List<String> svcList = Arrays.asList(svcTypes.split("\\s*,\\s*")); + boolean isSdncService= false + for (String listEntry : svcList){ + if (listEntry.equalsIgnoreCase(serviceType)){ + isSdncService = true + break; + } } + + //All Macros are sent to SDNC, TRANSPORT(Macro) is sent to SDNW + //Alacartes are sent to SDNC if they are listed in config variable above + execution.setVariable("sendToSDNC", true) + if(execution.getVariable("sdncVersion").equals("1610")) //alacarte + { + if(!isSdncService){ + execution.setVariable("sendToSDNC", false) + //alacarte non-sdnc svcs must provide name (sdnc provides name for rest) + if (isBlank(execution.getVariable("serviceInstanceName" ))) + { + msg = "Input serviceInstanceName must be provided for alacarte" + utils.log("DEBUG", msg, isDebugEnabled) + exceptionUtil.buildAndThrowWorkflowException(execution, 500, msg) + } + } + } + + utils.log("DEBUG", "isSdncService: " + isSdncService, isDebugEnabled) + utils.log("DEBUG", "Send To SDNC: " + execution.getVariable("sendToSDNC"), isDebugEnabled) + utils.log("DEBUG", "Service Type: " + execution.getVariable("serviceType"), isDebugEnabled) + + //macro may provide name and alacarte-portm may provide name + execution.setVariable("checkAAI", false) + if (!isBlank(execution.getVariable("serviceInstanceName" ))) + { + execution.setVariable("checkAAI", true) + } + if (isBlank(serviceInstanceId)){ msg = "Input serviceInstanceId is null" utils.log("DEBUG", msg, isDebugEnabled) exceptionUtil.buildAndThrowWorkflowException(execution, 500, msg) } - if (modelInvariantUuid == null) { - modelInvariantUuid = "" - } - if (modelUuid == null) { - modelUuid = "" - } - if (modelVersion == null) { - modelVersion = "" - } - if (modelName == null) { - modelName = "" - } - - execution.setVariable("modelInvariantUuid", modelInvariantUuid) - execution.setVariable("modelVersion", modelVersion) - execution.setVariable("modelUuid", modelUuid) - execution.setVariable("modelName", modelName) StringBuilder sbParams = new StringBuilder() Map<String, String> paramsMap = execution.getVariable("serviceInputParams") @@ -250,7 +276,7 @@ public class DoCreateServiceInstance extends AbstractServiceTaskProcessor { execution.setVariable("siParamsXml", siParamsXml) //AAI PUT - String oStatus = execution.getVariable("initialStatus") ?: "" + String oStatus = execution.getVariable("initialStatus") ?: "Active" if ("TRANSPORT".equalsIgnoreCase(serviceType)) { oStatus = "Created" @@ -260,6 +286,28 @@ public class DoCreateServiceInstance extends AbstractServiceTaskProcessor { String serviceTypeLine = isBlank(serviceType) ? "" : "<service-type>${serviceType}</service-type>" String serviceRoleLine = isBlank(serviceRole) ? "" : "<service-role>${serviceRole}</service-role>" + //QUERY CATALOG DB AND GET WORKLOAD / ENVIRONMENT CONTEXT + String environmentContext = "" + String workloadContext ="" + + try{ + String json = cutils.getServiceResourcesByServiceModelInvariantUuidString(execution,modelInvariantUuid ) + + utils.log("DEBUG", "JSON IS: "+json, isDebugEnabled) + + environmentContext = jsonUtil.getJsonValue(json, "serviceResources.environmentContext") ?: "" + workloadContext = jsonUtil.getJsonValue(json, "serviceResources.workloadContext") ?: "" + utils.log("DEBUG", "Env Context is: "+ environmentContext, isDebugEnabled) + utils.log("DEBUG", "Workload Context is: "+ workloadContext, isDebugEnabled) + }catch(BpmnError e){ + throw e + } catch (Exception ex){ + msg = "Exception in preProcessRequest " + ex.getMessage() + utils.log("DEBUG", msg, isDebugEnabled) + exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg) + } + + //Create AAI Payload AaiUtil aaiUriUtil = new AaiUtil(this) String aai_uri = aaiUriUtil.getBusinessCustomerUri(execution) String namespace = aaiUriUtil.getNamespaceFromUri(aai_uri) @@ -271,12 +319,14 @@ public class DoCreateServiceInstance extends AbstractServiceTaskProcessor { ${statusLine} <model-invariant-id>${modelInvariantUuid}</model-invariant-id> <model-version-id>${modelUuid}</model-version-id> + <environment-context>${environmentContext}</environment-context> + <workload-context>${workloadContext}</workload-context> </service-instance>""".trim() execution.setVariable("serviceInstanceData", serviceInstanceData) utils.logAudit(serviceInstanceData) utils.log("DEBUG", " 'payload' to create Service Instance in AAI - " + "\n" + serviceInstanceData, isDebugEnabled) - + } catch (BpmnError e) { throw e; } catch (Exception ex){ @@ -288,7 +338,7 @@ public class DoCreateServiceInstance extends AbstractServiceTaskProcessor { } //TODO: Will be able to replace with call to GenericGetService - public void getAAICustomerById (Execution execution) { + public void getAAICustomerById (DelegateExecution execution) { // https://{aaiEP}/aai/v8/business/customers/customer/{globalCustomerId} def isDebugEnabled = execution.getVariable("isDebugLogEnabled") String msg = "" @@ -360,7 +410,7 @@ public class DoCreateServiceInstance extends AbstractServiceTaskProcessor { } - public void postProcessAAIGET(Execution execution) { + public void postProcessAAIGET(DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") utils.log("DEBUG"," ***** postProcessAAIGET ***** ", isDebugEnabled) String msg = "" @@ -402,7 +452,7 @@ public class DoCreateServiceInstance extends AbstractServiceTaskProcessor { utils.log("DEBUG"," *** Exit postProcessAAIGET *** ", isDebugEnabled) } - public void postProcessAAIPUT(Execution execution) { + public void postProcessAAIPUT(DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") utils.log("DEBUG"," ***** postProcessAAIPUT ***** ", isDebugEnabled) String msg = "" @@ -440,7 +490,7 @@ public class DoCreateServiceInstance extends AbstractServiceTaskProcessor { utils.log("DEBUG"," *** Exit postProcessAAIPUT *** ", isDebugEnabled) } - public void preProcessSDNCAssignRequest(Execution execution) { + public void preProcessSDNCAssignRequest(DelegateExecution execution) { def isDebugEnabled = execution.getVariable("isDebugLogEnabled") String msg = "" utils.log("DEBUG"," ***** preProcessSDNCAssignRequest *****", isDebugEnabled) @@ -453,7 +503,7 @@ public class DoCreateServiceInstance extends AbstractServiceTaskProcessor { def serviceId = execution.getVariable("productFamilyId") def subscriptionServiceType = execution.getVariable("subscriptionServiceType") def globalSubscriberId = execution.getVariable("globalSubscriberId") //globalCustomerId - def serviceType = execution.getVariable("serviceType") + def msoAction = "" def modelInvariantUuid = execution.getVariable("modelInvariantUuid") def modelVersion = execution.getVariable("modelVersion") @@ -464,6 +514,12 @@ public class DoCreateServiceInstance extends AbstractServiceTaskProcessor { def siParamsXml = execution.getVariable("siParamsXml") + // special URL for SDNW, msoAction helps set diff url in SDNCA + if("TRANSPORT".equalsIgnoreCase(execution.getVariable("serviceType"))) + { + msoAction = "TRANSPORT" + } + String sdncAssignRequest = """<sdncadapterworkflow:SDNCAdapterWorkflowRequest xmlns:ns5="http://org.openecomp/mso/request/types/v1" xmlns:sdncadapterworkflow="http://org.openecomp/mso/workflow/schema/v1" @@ -474,7 +530,7 @@ public class DoCreateServiceInstance extends AbstractServiceTaskProcessor { <sdncadapter:SvcAction>assign</sdncadapter:SvcAction> <sdncadapter:SvcOperation>service-topology-operation</sdncadapter:SvcOperation> <sdncadapter:CallbackUrl>${callbackURL}</sdncadapter:CallbackUrl> - <sdncadapter:MsoAction>${serviceType}</sdncadapter:MsoAction> + <sdncadapter:MsoAction>${msoAction}</sdncadapter:MsoAction> </sdncadapter:RequestHeader> <sdncadapterworkflow:SDNCRequestData> <request-information> @@ -488,12 +544,12 @@ public class DoCreateServiceInstance extends AbstractServiceTaskProcessor { <service-information> <service-id>${serviceId}</service-id> <subscription-service-type>${subscriptionServiceType}</subscription-service-type> - <onap-model-information> + <ecomp-model-information> <model-invariant-uuid>${modelInvariantUuid}</model-invariant-uuid> <model-uuid>${modelUuid}</model-uuid> <model-version>${modelVersion}</model-version> <model-name>${modelName}</model-name> - </onap-model-information> + </ecomp-model-information> <service-instance-id>${serviceInstanceId}</service-instance-id> <subscriber-name/> <global-customer-id>${globalSubscriberId}</global-customer-id> @@ -531,7 +587,7 @@ public class DoCreateServiceInstance extends AbstractServiceTaskProcessor { utils.log("DEBUG"," *****Exit preProcessSDNCAssignRequest *****", isDebugEnabled) } - public void postProcessSDNCAssign (Execution execution) { + public void postProcessSDNCAssign (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") utils.log("DEBUG"," ***** postProcessSDNCAssign ***** ", isDebugEnabled) try { @@ -568,7 +624,7 @@ public class DoCreateServiceInstance extends AbstractServiceTaskProcessor { utils.log("DEBUG"," *** Exit postProcessSDNCAssign *** ", isDebugEnabled) } - public void postProcessAAIGET2(Execution execution) { + public void postProcessAAIGET2(DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") utils.log("DEBUG"," ***** postProcessAAIGET2 ***** ", isDebugEnabled) String msg = "" @@ -611,7 +667,7 @@ public class DoCreateServiceInstance extends AbstractServiceTaskProcessor { utils.log("DEBUG"," *** Exit postProcessAAIGET2 *** ", isDebugEnabled) } - public void preProcessRollback (Execution execution) { + public void preProcessRollback (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") utils.log("DEBUG"," ***** preProcessRollback ***** ", isDebugEnabled) try { @@ -632,7 +688,7 @@ public class DoCreateServiceInstance extends AbstractServiceTaskProcessor { utils.log("DEBUG"," *** Exit preProcessRollback *** ", isDebugEnabled) } - public void postProcessRollback (Execution execution) { + public void postProcessRollback (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") utils.log("DEBUG"," ***** postProcessRollback ***** ", isDebugEnabled) String msg = "" @@ -652,5 +708,91 @@ public class DoCreateServiceInstance extends AbstractServiceTaskProcessor { } utils.log("DEBUG"," *** Exit postProcessRollback *** ", isDebugEnabled) } + + public void createProject(DelegateExecution execution) { + def isDebugEnabled=execution.getVariable("isDebugLogEnabled") + utils.log("DEBUG", " ***** createProject ***** ", isDebugEnabled) + + String bpmnRequest = execution.getVariable("requestJson") + String projectName = jsonUtil.getJsonValue(bpmnRequest, "requestDetails.project.projectName") + String serviceInstance = execution.getVariable("serviceInstanceId") + + utils.log("DEBUG", "BPMN REQUEST IS: "+ bpmnRequest, isDebugEnabled) + utils.log("DEBUG","PROJECT NAME: " + projectName, isDebugEnabled) + utils.log("DEBUG","Service Instance: " + serviceInstance, isDebugEnabled) + + if(projectName == null||projectName.equals("")){ + utils.log("DEBUG", "Project Name was not found in input. Skipping task...", isDebugEnabled) + }else{ + try{ + AAICreateResources aaiCR = new AAICreateResources() + aaiCR.createAAIProject(projectName, serviceInstance) + }catch(Exception ex){ + String msg = "Exception in createProject. " + ex.getMessage(); + utils.log("DEBUG", msg, isDebugEnabled) + exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg) + } + } + utils.log("DEBUG"," *** Exit createProject *** ", isDebugEnabled) + } + + public void createOwningEntity(DelegateExecution execution) { + def isDebugEnabled=execution.getVariable("isDebugLogEnabled") + utils.log("DEBUG", " ***** createOwningEntity ***** ", isDebugEnabled) + String msg = ""; + String bpmnRequest = execution.getVariable("requestJson") + String owningEntityId = jsonUtil.getJsonValue(bpmnRequest, "requestDetails.owningEntity.owningEntityId") + String owningEntityName = jsonUtil.getJsonValue(bpmnRequest,"requestDetails.owningEntity.owningEntityName"); + String serviceInstance = execution.getVariable("serviceInstanceId") + + utils.log("DEBUG","owningEntity: " + owningEntityId, isDebugEnabled) + utils.log("DEBUG", "OwningEntityName: "+ owningEntityName, isDebugEnabled) + utils.log("DEBUG","Service Instance: " + serviceInstance, isDebugEnabled) + + try{ + AAICreateResources aaiCR = new AAICreateResources() + if(owningEntityId==null||owningEntityId.equals("")){ + msg = "Exception in createOwningEntity. OwningEntityId is null in input."; + throw new IllegalStateException(); + }else{ + if(aaiCR.existsOwningEntity(owningEntityId)){ + aaiCR.connectOwningEntityandServiceInstance(owningEntityId,serviceInstance) + }else{ + if(owningEntityName==null||owningEntityName.equals("")){ + msg = "Exception in createOwningEntity. Can't create an owningEntity without an owningEntityName in input."; + throw new IllegalStateException(); + }else{ + aaiCR.createAAIOwningEntity(owningEntityId, owningEntityName, serviceInstance) + } + } + } + }catch(Exception ex){ + utils.log("DEBUG", msg, isDebugEnabled) + exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg) + } + utils.log("DEBUG"," *** Exit createOwningEntity *** ", isDebugEnabled) + } + + // ******************************* + // Build Error Section + // ******************************* + + public void processJavaException(DelegateExecution execution){ + def isDebugEnabled=execution.getVariable("isDebugLogEnabled") + + try{ + utils.log("DEBUG", "Caught a Java Exception in DoCreateServiceInstance", isDebugEnabled) + utils.log("DEBUG", "Started processJavaException Method", isDebugEnabled) + utils.log("DEBUG", "Variables List: " + execution.getVariables(), isDebugEnabled) + execution.setVariable("UnexpectedError", "Caught a Java Lang Exception in DoCreateServiceInstance") // Adding this line temporarily until this flows error handling gets updated + exceptionUtil.buildWorkflowException(execution, 500, "Caught a Java Lang Exception in DoCreateServiceInstance") + + }catch(Exception e){ + utils.log("DEBUG", "Caught Exception during processJavaException Method: " + e, isDebugEnabled) + execution.setVariable("UnexpectedError", "Exception in processJavaException") // Adding this line temporarily until this flows error handling gets updated + exceptionUtil.buildWorkflowException(execution, 500, "Exception in processJavaException method") + } + utils.log("DEBUG", "Completed processJavaException Method in DoCreateServiceInstance", isDebugEnabled) + } } diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateServiceInstanceRollback.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateServiceInstanceRollback.groovy index 9a84c6b7b8..cb69121e4e 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateServiceInstanceRollback.groovy +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateServiceInstanceRollback.groovy @@ -36,7 +36,7 @@ import org.openecomp.mso.rest.RESTConfig import java.util.UUID;
import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.runtime.Execution
+import org.camunda.bpm.engine.delegate.DelegateExecution
import org.json.JSONObject;
import org.apache.commons.lang3.*
import org.apache.commons.codec.binary.Base64;
@@ -65,7 +65,7 @@ public class DoCreateServiceInstanceRollback extends AbstractServiceTaskProcesso String Prefix="DCRESIRB_"
- public void preProcessRequest(Execution execution) {
+ public void preProcessRequest(DelegateExecution execution) {
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
String msg = ""
@@ -135,7 +135,7 @@ public class DoCreateServiceInstanceRollback extends AbstractServiceTaskProcesso utils.log("DEBUG"," ***** Exit preProcessRequest *****", isDebugEnabled)
}
- public void validateSDNCResponse(Execution execution, String response, String method) {
+ public void validateSDNCResponse(DelegateExecution execution, String response, String method) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
utils.log("DEBUG"," ***** validateSDNCResponse ***** ", isDebugEnabled)
String msg = ""
@@ -168,7 +168,7 @@ public class DoCreateServiceInstanceRollback extends AbstractServiceTaskProcesso utils.log("DEBUG"," ***** Exit validateSDNCResponse ***** ", isDebugEnabled)
}
- public void postProcessRequest(Execution execution) {
+ public void postProcessRequest(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
utils.log("DEBUG"," ***** postProcessRequest ***** ", isDebugEnabled)
String msg = ""
@@ -202,7 +202,7 @@ public class DoCreateServiceInstanceRollback extends AbstractServiceTaskProcesso }
- public void processRollbackException(Execution execution){
+ public void processRollbackException(DelegateExecution execution){
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
utils.log("DEBUG"," ***** processRollbackException ***** ", isDebugEnabled)
try{
@@ -220,7 +220,7 @@ public class DoCreateServiceInstanceRollback extends AbstractServiceTaskProcesso utils.log("DEBUG", " Exit processRollbackException", isDebugEnabled)
}
- public void processRollbackJavaException(Execution execution){
+ public void processRollbackJavaException(DelegateExecution execution){
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
utils.log("DEBUG"," ***** processRollbackJavaException ***** ", isDebugEnabled)
try{
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateServiceInstanceRollbackV2.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateServiceInstanceRollbackV2.groovy new file mode 100644 index 0000000000..fa4250df13 --- /dev/null +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateServiceInstanceRollbackV2.groovy @@ -0,0 +1,51 @@ +package org.openecomp.mso.bpmn.infrastructure.scripts
+
+import org.camunda.bpm.engine.delegate.BpmnError
+import org.camunda.bpm.engine.delegate.DelegateExecution
+import org.openecomp.mso.bpmn.common.scripts.AbstractServiceTaskProcessor
+import org.openecomp.mso.bpmn.core.domain.ServiceDecomposition
+import org.openecomp.mso.client.orchestration.AAIOrchestrator
+import org.openecomp.mso.client.orchestration.SDNCOrchestrator
+
+public class DoCreateServiceInstanceRollbackV2 extends AbstractServiceTaskProcessor{
+
+ @Override
+ public void preProcessRequest(DelegateExecution execution) {
+
+ }
+
+ public void aaiServiceInstanceRollback (DelegateExecution execution) {
+ def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
+ def aaiServiceInstanceRollback = execution.getVariable("aaiServiceInstanceRollback")
+ if(aaiServiceInstanceRollback){
+ utils.log("DEBUG"," ***** Started aaiServiceInstanceRollback *****", isDebugEnabled)
+ try{
+ ServiceDecomposition serviceDecomp = execution.getVariable("ServiceDecomposition")
+ AAIOrchestrator aaiO = new AAIOrchestrator()
+ aaiO.deleteServiceInstance(serviceDecomp)
+ }catch (Exception ex) {
+ String msg = "Error Response from AAI for aaiServiceInstanceRollback"
+ execution.setVariable("rollbackError", msg)
+ utils.log("DEBUG", msg, isDebugEnabled)
+ throw new BpmnError("MSOWorkflowException")
+ }
+ utils.log("DEBUG"," ***** Completed aaiServiceInstanceRollback *****", isDebugEnabled)
+ }else{
+ utils.log("DEBUG", "***** SKIPPING A&AI ROLLBACK *****", isDebugEnabled)
+ }
+ }
+
+ public void rollbackError (DelegateExecution execution) {
+ def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
+ utils.log("DEBUG"," ***** rollbackError ***** ", isDebugEnabled)
+ try{
+ utils.log("DEBUG", "Caught an Exception in DoCreateServiceInstanceRollbackV2", isDebugEnabled)
+ }catch(BpmnError b){
+ utils.log("DEBUG", "BPMN Error during rollbackError: " + b.getMessage(), isDebugEnabled)
+ }catch(Exception e){
+ utils.log("DEBUG", "Caught Exception during rollbackError: " + e.getMessage(), isDebugEnabled)
+ }
+ utils.log("DEBUG", " Exit processRollbackException", isDebugEnabled)
+ }
+
+}
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateServiceInstanceV2.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateServiceInstanceV2.groovy new file mode 100644 index 0000000000..c55ce547c2 --- /dev/null +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateServiceInstanceV2.groovy @@ -0,0 +1,101 @@ +/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. 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 org.apache.commons.lang3.*
+import org.camunda.bpm.engine.delegate.BpmnError
+import org.camunda.bpm.engine.delegate.DelegateExecution
+import org.openecomp.mso.bpmn.common.scripts.AbstractServiceTaskProcessor
+import org.openecomp.mso.bpmn.core.domain.ServiceDecomposition
+import org.openecomp.mso.client.orchestration.AAIOrchestrator
+import org.openecomp.mso.client.orchestration.SDNCOrchestrator
+
+import groovy.json.*
+
+/**
+ * This groovy class supports the <class>DoCreateServiceInstanceV2.bpmn</class> process.
+ *
+*/
+
+public class DoCreateServiceInstanceV2 extends AbstractServiceTaskProcessor {
+
+ AAIOrchestrator aaiO = new AAIOrchestrator()
+ SDNCOrchestrator sdncO = new SDNCOrchestrator()
+
+ @Override
+ public void preProcessRequest(DelegateExecution execution) {
+ }
+
+ public void createServiceInstance(DelegateExecution execution) {
+ execution.setVariable("callSDNC",true)
+ if(execution.getVariable("serviceType").equalsIgnoreCase("PORT-MIRROR")== false){
+ if(execution.getVariable("sdncVersion").equals("1610")){
+ execution.setVariable("callSDNC",false);
+ }
+ }
+ ServiceDecomposition serviceDecomp = (ServiceDecomposition) execution.getVariable("serviceDecomposition")
+ try{
+ aaiO.createServiceInstance(serviceDecomp)
+ } catch (BpmnError e) {
+ throw e
+ }
+ }
+
+ public void createProject(DelegateExecution execution) {
+ ServiceDecomposition serviceDecomp = (ServiceDecomposition) execution.getVariable("serviceDecomposition")
+ if (serviceDecomp.getServiceInstance() != null && serviceDecomp.getProject() != null) {
+ try{
+ aaiO.createProjectandConnectServiceInstance(serviceDecomp)
+ } catch (BpmnError e) {
+ throw e
+ }
+ }
+ }
+
+ public void createOwningEntity(DelegateExecution execution) {
+ ServiceDecomposition serviceDecomp = (ServiceDecomposition) execution.getVariable("serviceDecomposition")
+ if (serviceDecomp.getServiceInstance() != null && serviceDecomp.getOwningEntity() != null) {
+ try{
+ aaiO.createOwningEntityandConnectServiceInstance(serviceDecomp)
+ } catch (BpmnError e) {
+ throw e
+ }
+ }
+ }
+
+ public void sdncAssignRequest(DelegateExecution execution) {
+ ServiceDecomposition serviceDecomp = (ServiceDecomposition) execution.getVariable("serviceDecomposition")
+ if (serviceDecomp != null) {
+ try {
+ sdncO.sendSyncResponse(serviceDecomp)
+ } catch (BpmnError e) {
+ throw e
+ }
+ }
+
+ }
+
+ public void rollback(DelegateExecution execution) {
+ //TODO
+ }
+
+}
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateVfModule.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateVfModule.groovy index 7f30fe25c7..b9319466d9 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateVfModule.groovy +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateVfModule.groovy @@ -20,20 +20,31 @@ package org.openecomp.mso.bpmn.infrastructure.scripts; +import java.util.Map +import java.util.Currency.CurrencyNameGetter + import javax.xml.parsers.DocumentBuilder import javax.xml.parsers.DocumentBuilderFactory import org.apache.commons.lang3.* import org.camunda.bpm.engine.delegate.BpmnError -import org.camunda.bpm.engine.runtime.Execution +import org.camunda.bpm.engine.delegate.DelegateExecution +import org.json.JSONArray +import org.json.JSONObject import org.openecomp.mso.bpmn.common.scripts.AaiUtil +import org.openecomp.mso.bpmn.common.scripts.CatalogDbUtils import org.openecomp.mso.bpmn.common.scripts.ExceptionUtil import org.openecomp.mso.bpmn.common.scripts.NetworkUtils import org.openecomp.mso.bpmn.common.scripts.SDNCAdapterUtils import org.openecomp.mso.bpmn.common.scripts.VfModuleBase import org.openecomp.mso.bpmn.core.RollbackData import org.openecomp.mso.bpmn.core.WorkflowException +import org.openecomp.mso.bpmn.core.domain.ServiceDecomposition +import org.openecomp.mso.bpmn.core.domain.VnfResource +import org.openecomp.mso.bpmn.core.json.DecomposeJsonUtil import org.openecomp.mso.bpmn.core.json.JsonUtils +import org.openecomp.mso.client.aai.entities.AAIResultWrapper +import org.openecomp.mso.client.aai.entities.uri.AAIUri import org.openecomp.mso.rest.APIResponse import org.openecomp.mso.rest.RESTClient import org.openecomp.mso.rest.RESTConfig @@ -44,6 +55,13 @@ import org.w3c.dom.NamedNodeMap import org.w3c.dom.Node import org.w3c.dom.NodeList import org.xml.sax.InputSource +import com.fasterxml.jackson.databind.ObjectMapper + +import com.fasterxml.jackson.databind.DeserializationFeature +import com.fasterxml.jackson.databind.ObjectMapper +import org.openecomp.mso.client.aai.AAIObjectType; +import org.openecomp.mso.client.aai.AAIResourcesClient +import org.openecomp.mso.client.aai.entities.uri.AAIUriFactory; @@ -53,12 +71,14 @@ public class DoCreateVfModule extends VfModuleBase { ExceptionUtil exceptionUtil = new ExceptionUtil() JsonUtils jsonUtil = new JsonUtils() SDNCAdapterUtils sdncAdapterUtils = new SDNCAdapterUtils(this) + CatalogDbUtils catalog = new CatalogDbUtils() + DecomposeJsonUtil decomposeJsonUtils = new DecomposeJsonUtil() /** * Validates the request message and sets up the workflow. * @param execution the execution */ - public void preProcessRequest(Execution execution) { + public void preProcessRequest(DelegateExecution execution) { def method = getClass().getSimpleName() + '.preProcessRequest(' + 'execution=' + execution.getId() + ')' @@ -85,8 +105,10 @@ public class DoCreateVfModule extends VfModuleBase { def serviceModelInfo = execution.getVariable("serviceModelInfo") logDebug("serviceModelInfo: " + serviceModelInfo, isDebugLogEnabled) - def vnfModelInfo = execution.getVariable("vnfModelInfo") + String modelInvariantUuid = jsonUtil.getJsonValue(serviceModelInfo, "modelInvariantUuid") + logDebug("modelInvariantUuid: " + modelInvariantUuid, isDebugLogEnabled) + def vnfModelInfo = execution.getVariable("vnfModelInfo") //tenantId def tenantId = execution.getVariable("tenantId") @@ -174,7 +196,7 @@ public class DoCreateVfModule extends VfModuleBase { execution.setVariable("DCVFM_asdcServiceModelVersion", asdcServiceModelVersion) logDebug("asdcServiceModelVersion: " + asdcServiceModelVersion, isDebugLogEnabled) //personaModelId - execution.setVariable("DCVFM_personaModelId", jsonUtil.getJsonValue(vfModuleModelInfo, "modelInvariantUuid")) + execution.setVariable("DCVFM_personaModelId", jsonUtil.getJsonValue(vfModuleModelInfo, "modelInvariantUuid")) //personaModelVersion execution.setVariable("DCVFM_personaModelVersion", jsonUtil.getJsonValue(vfModuleModelInfo, "modelUuid")) //vfModuleLabel @@ -210,7 +232,42 @@ public class DoCreateVfModule extends VfModuleBase { def usePreload = execution.getVariable("usePreload") execution.setVariable("DCVFM_usePreload", usePreload) logDebug("usePreload: " + usePreload, isDebugLogEnabled) - + //aLaCarte + def aLaCarte = execution.getVariable("aLaCarte") + execution.setVariable("DCVFM_aLaCarte", aLaCarte) + logDebug("aLaCarte: " + aLaCarte, isDebugLogEnabled) + + //get workload and environment context from parent SI + String environmentContext = "" + String workloadContext ="" + String serviceType ="" + + try{ + String json = catalog.getServiceResourcesByServiceModelInvariantUuidString(execution,modelInvariantUuid ) + serviceType = jsonUtil.getJsonValue(json, "serviceResources.serviceType") + }catch(BpmnError e){ + throw e + } catch (Exception ex){ + String msg = "Exception in preProcessRequest " + ex.getMessage() + utils.log("DEBUG", msg, isDebugLogEnabled) + exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg) + } + + try{ + AAIUri serviceInstanceURI = AAIUriFactory.create(AAIObjectType.SERVICE_INSTANCE, globalSubscriberId,serviceType,serviceInstanceId) + AAIResourcesClient aaiRC = new AAIResourcesClient() + AAIResultWrapper aaiRW = aaiRC.get(serviceInstanceURI) + Map<String, Object> aaiJson = aaiRW.asMap() + environmentContext = aaiJson.getOrDefault("environment-context","") + workloadContext = aaiJson.getOrDefault("workload-context","") + + }catch (Exception ex) { + utils.log("DEBUG","Error retreiving parent service instance information", isDebugLogEnabled) + } + + execution.setVariable("DCVFM_environmentContext",environmentContext) + execution.setVariable("DCVFM_workloadContext",workloadContext) + } else { // The info is inside the request - DEAD CODE @@ -338,8 +395,7 @@ public class DoCreateVfModule extends VfModuleBase { isBaseVfModule = utils.getNodeText(request, "is-base-vf-module") } execution.setVariable("DCVFM_isBaseVfModule", isBaseVfModule) - logDebug("isBaseVfModule: " + isBaseVfModule, isDebugLogEnabled) - + logDebug("isBaseVfModule: " + isBaseVfModule, isDebugLogEnabled) //asdcServiceModelVersion def asdcServiceModelVersion = "" if (utils.nodeExists(request, "asdc-service-model-version")) { @@ -426,6 +482,7 @@ public class DoCreateVfModule extends VfModuleBase { rollbackData.put("VFMODULE", "rollbackCreateAAIVfModule", "false") rollbackData.put("VFMODULE", "rollbackCreateNetworkPoliciesAAI", "false") rollbackData.put("VFMODULE", "rollbackUpdateVnfAAI", "false") + rollbackData.put("VFMODULE", "heatstackid", "") String sdncCallbackUrl = (String) execution.getVariable('URN_mso_workflow_sdncadapter_callback') if (sdncCallbackUrl == null || sdncCallbackUrl.trim().isEmpty()) { @@ -455,7 +512,7 @@ public class DoCreateVfModule extends VfModuleBase { * @param responseCodeVar the execution variable in which the response code is stored * @param errorResponseVar the execution variable in which the error response is stored */ - public void validateWorkflowResponse(Execution execution, String responseVar, + public void validateWorkflowResponse(DelegateExecution execution, String responseVar, String responseCodeVar, String errorResponseVar) { SDNCAdapterUtils sdncAdapterUtils = new SDNCAdapterUtils(this) sdncAdapterUtils.validateSDNCResponse(execution, responseVar, responseCodeVar, errorResponseVar) @@ -466,7 +523,7 @@ public class DoCreateVfModule extends VfModuleBase { * Sends the empty, synchronous response back to the API Handler. * @param execution the execution */ - public void sendResponse(Execution execution) { + public void sendResponse(DelegateExecution execution) { def method = getClass().getSimpleName() + '.sendResponse(' + 'execution=' + execution.getId() + ')' @@ -491,7 +548,7 @@ public class DoCreateVfModule extends VfModuleBase { * * @param execution The flow's execution instance. */ - public void postProcessCreateAAIVfModule(Execution execution) { + public void postProcessCreateAAIVfModule(DelegateExecution execution) { def method = getClass().getSimpleName() + '.getVfModule(' + 'execution=' + execution.getId() + ')' @@ -538,7 +595,7 @@ public class DoCreateVfModule extends VfModuleBase { * * @param execution The flow's execution instance. */ - public void queryAAIVfModule(Execution execution) { + public void queryAAIVfModule(DelegateExecution execution) { def isDebugLogEnabled=execution.getVariable("isDebugLogEnabled") def method = getClass().getSimpleName() + '.getVfModule(' + 'execution=' + execution.getId() + @@ -618,9 +675,95 @@ public class DoCreateVfModule extends VfModuleBase { exceptionUtil.buildAndThrowWorkflowException(execution, 1002, 'Error in queryAAIVfModule(): ' + e.getMessage()) } } + + /** + * Using the vnfId and vfModuleName provided in the inputs, + * query AAI to get the corresponding VF Module info. + * A 200 response is expected with the VF Module info in the response body, + * or a 404 response if the module does not exist yet. Will determine VF Module's + * orchestration status if one exists + * + * @param execution The flow's execution instance. + */ + public void queryAAIVfModuleForStatus(DelegateExecution execution) { + def isDebugLogEnabled=execution.getVariable("isDebugLogEnabled") + def method = getClass().getSimpleName() + '.queryAAIVfModuleForStatus(' + + 'execution=' + execution.getId() + + ')' + logDebug('Entered ' + method, isDebugLogEnabled) + + execution.setVariable('DCVFM_orchestrationStatus', '') + + try { + def vnfId = execution.getVariable('DCVFM_vnfId') + def vfModuleName = execution.getVariable('DCVFM_vfModuleName') + + AaiUtil aaiUriUtil = new AaiUtil(this) + String aai_uri = aaiUriUtil.getNetworkGenericVnfUri(execution) + logDebug('AAI URI is: ' + aai_uri, isDebugLogEnabled) + + String endPoint = execution.getVariable("URN_aai_endpoint") + "${aai_uri}/" + UriUtils.encode(vnfId, "UTF-8") + + "/vf-modules/vf-module?vf-module-name=" + UriUtils.encode(vfModuleName, "UTF-8") + utils.logAudit("AAI endPoint: " + endPoint) + + try { + RESTConfig config = new RESTConfig(endPoint); + def responseData = '' + def aaiRequestId = UUID.randomUUID().toString() + RESTClient client = new RESTClient(config). + addHeader('X-TransactionId', aaiRequestId). + addHeader('X-FromAppId', 'MSO'). + addHeader('Content-Type', 'application/xml'). + addHeader('Accept','application/xml'); + logDebug('sending GET to AAI endpoint \'' + endPoint + '\'', isDebugLogEnabled) + APIResponse response = client.httpGet() + utils.logAudit("createVfModule - invoking httpGet() to AAI") + + responseData = response.getResponseBodyAsString() + if (responseData != null) { + logDebug("Received generic VNF data: " + responseData, isDebugLogEnabled) + + } + + utils.logAudit("createVfModule - queryAAIVfModule Response: " + responseData) + utils.logAudit("createVfModule - queryAAIVfModule ResponseCode: " + response.getStatusCode()) + + execution.setVariable('DCVFM_queryAAIVfModuleForStatusResponseCode', response.getStatusCode()) + execution.setVariable('DCVFM_queryAAIVfModuleForStatusResponse', responseData) + logDebug('Response code:' + response.getStatusCode(), isDebugLogEnabled) + logDebug('Response:' + System.lineSeparator() + responseData, isDebugLogEnabled) + // Retrieve VF Module info and its orchestration status; if not found, do nothing + if (response.getStatusCode() == 200) { + // Parse the VNF record from A&AI to find base module info + logDebug('Parsing the VNF data to find orchestration status', isDebugLogEnabled) + if (responseData != null) { + def vfModuleText = utils.getNodeXml(responseData, "vf-module") + //def xmlVfModule= new XmlSlurper().parseText(vfModuleText) + def orchestrationStatus = utils.getNodeText1(vfModuleText, "orchestration-status") + execution.setVariable("DCVFM_orchestrationStatus", orchestrationStatus) + // Also retrieve vfModuleId + def vfModuleId = utils.getNodeText1(vfModuleText, "vf-module-id") + execution.setVariable("DCVFM_vfModuleId", vfModuleId) + logDebug("Received orchestration status from A&AI: " + orchestrationStatus, isDebugLogEnabled) + + } + } + } catch (Exception ex) { + ex.printStackTrace() + logDebug('Exception occurred while executing AAI GET:' + ex.getMessage(),isDebugLogEnabled) + exceptionUtil.buildAndThrowWorkflowException(execution, 1002, 'AAI GET Failed:' + ex.getMessage()) + } + logDebug('Exited ' + method, isDebugLogEnabled) + } catch (BpmnError e) { + throw e; + } catch (Exception e) { + logError('Caught exception in ' + method, e) + exceptionUtil.buildAndThrowWorkflowException(execution, 1002, 'Error in queryAAIVfModuleForStatus(): ' + e.getMessage()) + } + } - public void preProcessSDNCAssignRequest(Execution execution){ + public void preProcessSDNCAssignRequest(DelegateExecution execution){ def isDebugLogEnabled = execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix", Prefix) logDebug(" ======== STARTED preProcessSDNCAssignRequest ======== ", isDebugLogEnabled) @@ -656,7 +799,7 @@ public class DoCreateVfModule extends VfModuleBase { logDebug("======== COMPLETED preProcessSDNCAssignRequest ======== ", isDebugLogEnabled) } - public void preProcessSDNCGetRequest(Execution execution, String element){ + public void preProcessSDNCGetRequest(DelegateExecution execution, String element){ def isDebugLogEnabled = execution.getVariable("isDebugLogEnabled") String sdncVersion = execution.getVariable("DCVFM_sdncVersion") execution.setVariable("prefix", Prefix) @@ -749,7 +892,7 @@ public class DoCreateVfModule extends VfModuleBase { } - public void preProcessVNFAdapterRequest(Execution execution) { + public void preProcessVNFAdapterRequest(DelegateExecution execution) { def method = getClass().getSimpleName() + '.VNFAdapterCreateVfModule(' + 'execution=' + execution.getId() + ')' @@ -798,7 +941,13 @@ public class DoCreateVfModule extends VfModuleBase { def volumeGroupStackId = execution.getVariable("DCVFM_volumeGroupStackId") //modelCustomizationUuid def modelCustomizationUuid = execution.getVariable("DCVFM_modelCustomizationUuid") - + //environmentContext + String environmentContext = execution.getVariable("DCVFM_environmentContext") + //workloadContext + String workloadContext = execution.getVariable("DCVFM_workloadContext") + logDebug("workloadContext: " + workloadContext, isDebugLogEnabled) + logDebug("environmentContext: " + environmentContext, isDebugLogEnabled) + def messageId = execution.getVariable('mso-request-id') + '-' + System.currentTimeMillis() @@ -822,7 +971,7 @@ public class DoCreateVfModule extends VfModuleBase { if (!sdncVersion.equals("1707")) { vfModuleParams = buildVfModuleParams(vnfParamsMap, vfModuleSdncGetResponse, vnfId, vnfName, - vfModuleId, vfModuleName, vfModuleIndex) + vfModuleId, vfModuleName, vfModuleIndex, environmentContext, workloadContext) } else { //Get SDNC Response Data for Vnf Topology @@ -830,7 +979,7 @@ public class DoCreateVfModule extends VfModuleBase { utils.logAudit("vnfSdncGetResponse: " + vnfSdncGetResponse) vfModuleParams = buildVfModuleParamsFromCombinedTopologies(vnfParamsMap, vnfSdncGetResponse, vfModuleSdncGetResponse, vnfId, vnfName, - vfModuleId, vfModuleName, vfModuleIndex) + vfModuleId, vfModuleName, vfModuleIndex, environmentContext, workloadContext) } def svcInstId = "" @@ -884,7 +1033,7 @@ public class DoCreateVfModule extends VfModuleBase { * @param execution the execution * @return the validated request */ - public String validateInfraRequest(Execution execution) { + public String validateInfraRequest(DelegateExecution execution) { def method = getClass().getSimpleName() + '.validateInfraRequest(' + 'execution=' + execution.getId() + ')' @@ -945,7 +1094,7 @@ public class DoCreateVfModule extends VfModuleBase { } } - public boolean isVolumeGroupIdPresent(Execution execution) { + public boolean isVolumeGroupIdPresent(DelegateExecution execution) { def method = getClass().getSimpleName() + '.isVolumeGroupIdPresent(' + 'execution=' + execution.getId() + @@ -966,7 +1115,7 @@ public class DoCreateVfModule extends VfModuleBase { } - public boolean isVolumeGroupNamePresent(Execution execution) { + public boolean isVolumeGroupNamePresent(DelegateExecution execution) { def method = getClass().getSimpleName() + '.isVolumeGroupNamePresent(' + 'execution=' + execution.getId() + @@ -987,7 +1136,7 @@ public class DoCreateVfModule extends VfModuleBase { } - public String buildSDNCRequest(Execution execution, String svcInstId, String action){ + public String buildSDNCRequest(DelegateExecution execution, String svcInstId, String action){ String uuid = execution.getVariable('testReqId') // for junits if(uuid==null){ @@ -1176,7 +1325,7 @@ public class DoCreateVfModule extends VfModuleBase { } - public void preProcessSDNCActivateRequest(Execution execution) { + public void preProcessSDNCActivateRequest(DelegateExecution execution) { def method = getClass().getSimpleName() + '.preProcessSDNCActivateRequest(' + 'execution=' + execution.getId() + ')' @@ -1209,7 +1358,7 @@ public class DoCreateVfModule extends VfModuleBase { logDebug("======== COMPLETED preProcessSDNCActivateRequest Process ======== ", isDebugLogEnabled) } - public void postProcessVNFAdapterRequest(Execution execution) { + public void postProcessVNFAdapterRequest(DelegateExecution execution) { def method = getClass().getSimpleName() + '.postProcessVNFAdapterRequest(' + 'execution=' + execution.getId() + ')' @@ -1298,7 +1447,7 @@ public class DoCreateVfModule extends VfModuleBase { } - public void preProcessUpdateAAIVfModuleRequestOrch(Execution execution) { + public void preProcessUpdateAAIVfModuleRequestOrch(DelegateExecution execution) { def method = getClass().getSimpleName() + '.preProcessUpdateAAIVfModuleRequestOrch(' + 'execution=' + execution.getId() + ')' @@ -1315,6 +1464,8 @@ public class DoCreateVfModule extends VfModuleBase { if (!contrailServiceInstanceFqdn.equals("")) { setContrailServiceInstanceFqdn = true } + + execution.setVariable("DCVFM_orchestrationStatus", "Created") String updateAAIVfModuleRequest = buildUpdateAAIVfModuleRequest(execution, false, true, true, setContrailServiceInstanceFqdn) @@ -1330,8 +1481,38 @@ public class DoCreateVfModule extends VfModuleBase { logDebug("======== COMPLETED preProcessUpdateAAIVfModuleRequestOrch ======== ", isDebugLogEnabled) } + + public void preProcessUpdateAAIVfModuleRequestStatus(DelegateExecution execution, String status) { + def method = getClass().getSimpleName() + '.preProcessUpdateAAIVfModuleStatus(' + + 'execution=' + execution.getId() + + ')' + def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled') + logDebug('Entered ' + method, isDebugLogEnabled) + execution.setVariable("prefix", Prefix) + logDebug(" ======== STARTED preProcessUpdateAAIVfModuleStatus ======== ", isDebugLogEnabled) + + try{ + + //Build UpdateAAIVfModule Request + execution.setVariable("DCVFM_orchestrationStatus", status) + + String updateAAIVfModuleRequest = buildUpdateAAIVfModuleRequest(execution, false, true, false, false) + + updateAAIVfModuleRequest = utils.formatXml(updateAAIVfModuleRequest) + execution.setVariable("DCVFM_updateAAIVfModuleRequest", updateAAIVfModuleRequest) + logDebug("Outgoing UpdateAAIVfModuleRequest is: \n" + updateAAIVfModuleRequest, isDebugLogEnabled) + utils.logAudit("Outgoing UpdateAAIVfModuleRequest is: \n" + updateAAIVfModuleRequest) + + }catch(Exception e){ + utils.log("ERROR", "Exception Occured Processing preProcessUpdateAAIVfModuleStatus. Exception is:\n" + e, isDebugLogEnabled) + exceptionUtil.buildAndThrowWorkflowException(execution, 1002, "Error Occured during preProcessUpdateAAIVfModuleStatus Method:\n" + e.getMessage()) + } + logDebug("======== COMPLETED preProcessUpdateAAIVfModuleStatus ======== ", isDebugLogEnabled) + + } - public void preProcessUpdateAAIVfModuleRequestGroup(Execution execution) { + + public void preProcessUpdateAAIVfModuleRequestGroup(DelegateExecution execution) { def method = getClass().getSimpleName() + '.preProcessUpdateAAIVfModuleRequestGroup(' + 'execution=' + execution.getId() + ')' @@ -1359,7 +1540,7 @@ public class DoCreateVfModule extends VfModuleBase { } - public void validateSDNCResponse(Execution execution, String response, String method){ + public void validateSDNCResponse(DelegateExecution execution, String response, String method){ def isDebugLogEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix",Prefix) logDebug(" *** STARTED ValidateSDNCResponse Process*** ", isDebugLogEnabled) @@ -1394,7 +1575,7 @@ public class DoCreateVfModule extends VfModuleBase { logDebug(" *** COMPLETED ValidateSDNCResponse Process*** ", isDebugLogEnabled) } - public void preProcessUpdateAfterCreateRequest(Execution execution){ + public void preProcessUpdateAfterCreateRequest(DelegateExecution execution){ def isDebugLogEnabled = execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix", Prefix) utils.log("DEBUG", " ======== STARTED preProcessRequest Process ======== ", isDebugLogEnabled) @@ -1441,7 +1622,7 @@ public class DoCreateVfModule extends VfModuleBase { utils.log("DEBUG", "======== COMPLETED preProcessSDNCGetRequest Process ======== ", isDebugLogEnabled) } - public String buildUpdateAAIVfModuleRequest(Execution execution, boolean updateVolumeGroupId, + public String buildUpdateAAIVfModuleRequest(DelegateExecution execution, boolean updateVolumeGroupId, boolean updateOrchestrationStatus, boolean updateHeatStackId, boolean updateContrailFqdn){ def vnfId = execution.getVariable("DCVFM_vnfId") @@ -1453,7 +1634,7 @@ public class DoCreateVfModule extends VfModuleBase { } def orchestrationStatusString = "" if (updateOrchestrationStatus) { - orchestrationStatusString = "<orchestration-status>Created</orchestration-status>" + orchestrationStatusString = "<orchestration-status>" + execution.getVariable("DCVFM_orchestrationStatus") + "</orchestration-status>" } def heatStackIdString = "" if (updateHeatStackId) { @@ -1480,7 +1661,7 @@ public class DoCreateVfModule extends VfModuleBase { } - public String buildSDNCParamsXml(Execution execution){ + public String buildSDNCParamsXml(DelegateExecution execution){ String params = "" StringBuilder sb = new StringBuilder() @@ -1505,7 +1686,7 @@ public class DoCreateVfModule extends VfModuleBase { return params } - public void queryCloudRegion (Execution execution) { + public void queryCloudRegion (DelegateExecution execution) { def isDebugLogEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix", Prefix) utils.log("DEBUG", " ======== STARTED queryCloudRegion ======== ", isDebugLogEnabled) @@ -1557,7 +1738,7 @@ public class DoCreateVfModule extends VfModuleBase { *variables and ensures that the "WorkflowException" Variable is set. * */ - public void processBPMNException(Execution execution){ + public void processBPMNException(DelegateExecution execution){ def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix",Prefix) try{ @@ -1574,7 +1755,7 @@ public class DoCreateVfModule extends VfModuleBase { utils.log("DEBUG", "Completed processBPMNException Method", isDebugEnabled) } - public void prepareCreateAAIVfModuleVolumeGroupRequest(Execution execution) { + public void prepareCreateAAIVfModuleVolumeGroupRequest(DelegateExecution execution) { def method = getClass().getSimpleName() + '.prepareCreateAAIVfModuleVolumeGroupRequest(' + 'execution=' + execution.getId() + ')' @@ -1613,7 +1794,7 @@ public class DoCreateVfModule extends VfModuleBase { } - public void createNetworkPoliciesInAAI(Execution execution) { + public void createNetworkPoliciesInAAI(DelegateExecution execution) { def method = getClass().getSimpleName() + '.createNetworkPoliciesInAAI(' + 'execution=' + execution.getId() + ')' @@ -1763,7 +1944,7 @@ public class DoCreateVfModule extends VfModuleBase { * * @param execution The flow's execution instance. */ - public void prepUpdateAAIGenericVnf(Execution execution) { + public void prepUpdateAAIGenericVnf(DelegateExecution execution) { def method = getClass().getSimpleName() + '.prepUpdateAAIGenericVnf(' + 'execution=' + execution.getId() + ')' @@ -1816,7 +1997,7 @@ public class DoCreateVfModule extends VfModuleBase { * * @param execution The flow's execution instance. */ - public void postProcessUpdateAAIGenericVnf(Execution execution) { + public void postProcessUpdateAAIGenericVnf(DelegateExecution execution) { def method = getClass().getSimpleName() + '.postProcessUpdateAAIGenericVnf(' + 'execution=' + execution.getId() + ')' @@ -1824,7 +2005,7 @@ public class DoCreateVfModule extends VfModuleBase { logDebug('Entered ' + method, isDebugLogEnabled) try { - def rollbackData = execution.getVariable("RollbackData") + def rollbackData = execution.getVariable("rollbackData") rollbackData.put("VFMODULE", "rollbackUpdateVnfAAI", "true") @@ -1842,7 +2023,7 @@ public class DoCreateVfModule extends VfModuleBase { rollbackData.put("VFMODULE", "oamManagementV6Address", oamManagementV6Address) } - execution.setVariable("RollbackData", rollbackData) + execution.setVariable("rollbackData", rollbackData) logDebug('Exited ' + method, isDebugLogEnabled) } catch (BpmnError e) { @@ -1853,7 +2034,62 @@ public class DoCreateVfModule extends VfModuleBase { } } - public void preProcessRollback (Execution execution) { + public void queryCatalogDB (DelegateExecution execution) { + def isDebugEnabled = execution.getVariable("isDebugLogEnabled") + String msg = "" + utils.log("DEBUG"," ***** queryCatalogDB *****", isDebugEnabled) + + try { + boolean twoPhaseDesign = false + // check for input + + String vfModuleModelName = execution.getVariable("DCVFM_vfModuleModelName") + utils.log("DEBUG", "vfModuleModelName: " + vfModuleModelName, isDebugEnabled) + def vnfModelInfo = execution.getVariable("vnfModelInfo") + def vnfModelCustomizationUuid = jsonUtil.getJsonValue(vnfModelInfo, "modelCustomizationUuid") + + utils.log("DEBUG", "vnfModelCustomizationUuid: " + vnfModelCustomizationUuid, isDebugEnabled) + + JSONArray vnfs = catalog.getAllVnfsByVnfModelCustomizationUuid(execution, vnfModelCustomizationUuid, "v2") + + utils.log("DEBUG", "Incoming Query Catalog DB for Vnf Response is: " + vnfModelCustomizationUuid, isDebugEnabled) + utils.logAudit("Incoming Query Catalog DB for Vf Module Response is: " + vnfModelCustomizationUuid) + + utils.log("DEBUG", "obtained VNF list") + // Only one match here + if (vnfs != null) { + JSONObject vnfObject = vnfs.get(0) + if (vnfObject != null) { + String vnfJson = vnfObject.toString() + // + ObjectMapper om = new ObjectMapper(); + VnfResource vnf = om.readValue(vnfJson, VnfResource.class); + + // Get multiStageDesign flag + + String multiStageDesignValue = vnf.getMultiStageDesign() + utils.log("DEBUG", "multiStageDesign value from Catalog DB is: " + multiStageDesignValue, isDebugEnabled) + if (multiStageDesignValue != null) { + if (multiStageDesignValue.equalsIgnoreCase("true")) { + twoPhaseDesign = true + } + } + } + } + + utils.log("DEBUG", "setting twoPhaseDesign flag to: " + twoPhaseDesign, isDebugEnabled) + + execution.setVariable("DCVFM_twoPhaseDesign", twoPhaseDesign) + } catch (BpmnError e) { + throw e; + } catch (Exception e) { + logError('Caught exception in queryCatalogDB()', e) + exceptionUtil.buildAndThrowWorkflowException(execution, 1002, 'Error in queryCatalogDB(): ' + e.getMessage()) + } + } + + + public void preProcessRollback (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") utils.log("DEBUG"," ***** preProcessRollback ***** ", isDebugEnabled) try { @@ -1874,7 +2110,7 @@ public class DoCreateVfModule extends VfModuleBase { utils.log("DEBUG"," *** Exit preProcessRollback *** ", isDebugEnabled) } - public void postProcessRollback (Execution execution) { + public void postProcessRollback (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") utils.log("DEBUG"," ***** postProcessRollback ***** ", isDebugEnabled) String msg = "" diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateVfModuleRollback.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateVfModuleRollback.groovy index 3ed768aa54..f862a00ac2 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateVfModuleRollback.groovy +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateVfModuleRollback.groovy @@ -20,7 +20,7 @@ package org.openecomp.mso.bpmn.infrastructure.scripts import org.camunda.bpm.engine.delegate.BpmnError -import org.camunda.bpm.engine.runtime.Execution +import org.camunda.bpm.engine.delegate.DelegateExecution import org.openecomp.mso.bpmn.common.scripts.AaiUtil import org.openecomp.mso.bpmn.common.scripts.AbstractServiceTaskProcessor import org.openecomp.mso.bpmn.common.scripts.ExceptionUtil @@ -36,13 +36,13 @@ public class DoCreateVfModuleRollback extends AbstractServiceTaskProcessor{ def Prefix="DCVFMR_" ExceptionUtil exceptionUtil = new ExceptionUtil() - public void initProcessVariables(Execution execution) { + public void initProcessVariables(DelegateExecution execution) { execution.setVariable("prefix",Prefix) } // parse the incoming DELETE_VF_MODULE request for the Generic Vnf and Vf Module Ids // and formulate the outgoing request for PrepareUpdateAAIVfModuleRequest - public void preProcessRequest(Execution execution) { + public void preProcessRequest(DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") initProcessVariables(execution) @@ -141,7 +141,7 @@ public class DoCreateVfModuleRollback extends AbstractServiceTaskProcessor{ // build a SDNC vnf-topology-operation request for the specified action // (note: the action passed is expected to be 'changedelete' or 'delete') - public void prepSDNCAdapterRequest(Execution execution) { + public void prepSDNCAdapterRequest(DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") String srvInstId = execution.getVariable("DCVFMR_serviceInstanceId") @@ -232,7 +232,7 @@ public class DoCreateVfModuleRollback extends AbstractServiceTaskProcessor{ execution.setVariable("sdncAdapterWorkflowRequest", request) } - public void preProcessSDNCDeactivateRequest(Execution execution){ + public void preProcessSDNCDeactivateRequest(DelegateExecution execution){ def isDebugLogEnabled = execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix", Prefix) logDebug(" ======== STARTED preProcessSDNCDeactivateRequest ======== ", isDebugLogEnabled) @@ -256,7 +256,7 @@ public class DoCreateVfModuleRollback extends AbstractServiceTaskProcessor{ logDebug("======== COMPLETED preProcessSDNCDeactivateRequest ======== ", isDebugLogEnabled) } - public void preProcessSDNCUnassignRequest(Execution execution) { + public void preProcessSDNCUnassignRequest(DelegateExecution execution) { def method = getClass().getSimpleName() + '.preProcessSDNCUnassignRequest(' + 'execution=' + execution.getId() + ')' @@ -280,7 +280,7 @@ public class DoCreateVfModuleRollback extends AbstractServiceTaskProcessor{ logDebug("======== COMPLETED preProcessSDNCUnassignRequest Process ======== ", isDebugLogEnabled) } - public String buildSDNCRequest(Execution execution, String svcInstId, String action){ + public String buildSDNCRequest(DelegateExecution execution, String svcInstId, String action){ String uuid = execution.getVariable('testReqId') // for junits if(uuid==null){ @@ -340,7 +340,7 @@ public class DoCreateVfModuleRollback extends AbstractServiceTaskProcessor{ // parse the incoming DELETE_VF_MODULE request // and formulate the outgoing VnfAdapterDeleteV1 request - public void prepVNFAdapterRequest(Execution execution) { + public void prepVNFAdapterRequest(DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") String requestId = UUID.randomUUID().toString() String origRequestId = execution.getVariable("DCVFMR_requestId") @@ -382,7 +382,7 @@ public class DoCreateVfModuleRollback extends AbstractServiceTaskProcessor{ // parse the incoming DELETE_VF_MODULE request // and formulate the outgoing UpdateAAIVfModuleRequest request - public void prepUpdateAAIVfModule(Execution execution) { + public void prepUpdateAAIVfModule(DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") String vnfId = execution.getVariable("DCVFMR_vnfId") String vfModuleId = execution.getVariable("DCVFMR_vfModuleId") @@ -397,10 +397,28 @@ public class DoCreateVfModuleRollback extends AbstractServiceTaskProcessor{ utils.logAudit("UpdateAAIVfModule Request: " + request) execution.setVariable("UpdateAAIVfModuleRequest", request) } + + // parse the incoming DELETE_VF_MODULE request + // and formulate the outgoing UpdateAAIVfModuleRequest request + public void prepUpdateAAIVfModuleToAssigned(DelegateExecution execution) { + def isDebugEnabled=execution.getVariable("isDebugLogEnabled") + String vnfId = execution.getVariable("DCVFMR_vnfId") + String vfModuleId = execution.getVariable("DCVFMR_vfModuleId") + // formulate the request for UpdateAAIVfModule + String request = """<UpdateAAIVfModuleRequest> + <vnf-id>${vnfId}</vnf-id> + <vf-module-id>${vfModuleId}</vf-module-id> + <heat-stack-id></heat-stack-id> + <orchestration-status>Assigned</orchestration-status> + </UpdateAAIVfModuleRequest>""" as String + utils.log("DEBUG", "UpdateAAIVfModuleRequest :" + request, isDebugEnabled) + utils.logAudit("UpdateAAIVfModule Request: " + request) + execution.setVariable("UpdateAAIVfModuleRequest", request) + } // parse the incoming DELETE_VF_MODULE request // and formulate the outgoing DeleteAAIVfModuleRequest request - public void prepDeleteAAIVfModule(Execution execution) { + public void prepDeleteAAIVfModule(DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") String vnfId = execution.getVariable("DCVFMR_vnfId") String vfModuleId = execution.getVariable("DCVFMR_vfModuleId") @@ -416,7 +434,7 @@ public class DoCreateVfModuleRollback extends AbstractServiceTaskProcessor{ // generates a WorkflowException if // - - public void handleDoDeleteVfModuleFailure(Execution execution) { + public void handleDoDeleteVfModuleFailure(DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") utils.log("ERROR", "AAI error occurred deleting the Generic Vnf: " + execution.getVariable("DoDVfMod_deleteGenericVnfResponse"), isDebugEnabled) @@ -425,7 +443,7 @@ public class DoCreateVfModuleRollback extends AbstractServiceTaskProcessor{ } - public void sdncValidateResponse(Execution execution, String response){ + public void sdncValidateResponse(DelegateExecution execution, String response){ def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix",Prefix) @@ -442,7 +460,7 @@ public class DoCreateVfModuleRollback extends AbstractServiceTaskProcessor{ } } - public void deleteNetworkPoliciesFromAAI(Execution execution) { + public void deleteNetworkPoliciesFromAAI(DelegateExecution execution) { def method = getClass().getSimpleName() + '.deleteNetworkPoliciesFromAAI(' + 'execution=' + execution.getId() + ')' @@ -576,7 +594,7 @@ public class DoCreateVfModuleRollback extends AbstractServiceTaskProcessor{ * * @param execution The flow's execution instance. */ - public void preProcessUpdateAAIGenericVnf(Execution execution) { + public void preProcessUpdateAAIGenericVnf(DelegateExecution execution) { def method = getClass().getSimpleName() + '.preProcessUpdateAAIGenericVnf((' + 'execution=' + execution.getId() + ')' @@ -621,7 +639,7 @@ public class DoCreateVfModuleRollback extends AbstractServiceTaskProcessor{ } } - public void setSuccessfulRollbackStatus (Execution execution){ + public void setSuccessfulRollbackStatus (DelegateExecution execution){ def isDebugLogEnabled = execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix", Prefix) logDebug(" ======== STARTED setSuccessfulRollbackStatus ======== ", isDebugLogEnabled) @@ -638,7 +656,7 @@ public class DoCreateVfModuleRollback extends AbstractServiceTaskProcessor{ logDebug("======== COMPLETED setSuccessfulRollbackStatus ======== ", isDebugLogEnabled) } - public void setFailedRollbackStatus (Execution execution){ + public void setFailedRollbackStatus (DelegateExecution execution){ def isDebugLogEnabled = execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix", Prefix) logDebug(" ======== STARTED setFailedRollbackStatus ======== ", isDebugLogEnabled) diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateVfModuleVolumeRollback.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateVfModuleVolumeRollback.groovy index 0cbcfabddd..e903a547f7 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateVfModuleVolumeRollback.groovy +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateVfModuleVolumeRollback.groovy @@ -26,7 +26,7 @@ import groovy.json.* import java.util.UUID;
import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.runtime.Execution
+import org.camunda.bpm.engine.delegate.DelegateExecution
import org.apache.commons.lang3.*
import org.apache.commons.codec.binary.Base64;
import org.openecomp.mso.bpmn.common.scripts.AaiUtil
@@ -52,7 +52,7 @@ public class DoCreateVfModuleVolumeRollback extends AbstractServiceTaskProcessor * This method is executed during the preProcessRequest task of the <class>DoCreateVfModuleVolumeRollback.bpmn</class> process.
* @param execution
*/
- public InitializeProcessVariables(Execution execution){
+ public InitializeProcessVariables(DelegateExecution execution){
/* Initialize all the process variables in this block */
execution.setVariable(Prefix + "volumeGroupName", null)
@@ -68,7 +68,7 @@ public class DoCreateVfModuleVolumeRollback extends AbstractServiceTaskProcessor * This method is executed during the preProcessRequest task of the <class>DoCreateVfModuleVolumeRollback.bpmn</class> process.
* @param execution
*/
- public void preProcessRequest (Execution execution) {
+ public void preProcessRequest (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
InitializeProcessVariables(execution)
@@ -120,7 +120,7 @@ public class DoCreateVfModuleVolumeRollback extends AbstractServiceTaskProcessor * @param execution
* @param isDebugEnabled
*/
- public void callRESTQueryAAIVolGrpName(Execution execution, isDebugEnabled) {
+ public void callRESTQueryAAIVolGrpName(DelegateExecution execution, isDebugEnabled) {
def volumeGroupName = execution.getVariable('DCVFMODVOLRBK_volumeGroupName')
def cloudRegion = execution.getVariable('DCVFMODVOLRBK_lcpCloudRegionId')
@@ -169,7 +169,7 @@ public class DoCreateVfModuleVolumeRollback extends AbstractServiceTaskProcessor - public void callRESTDeleteAAIVolumeGroup(Execution execution, isDebugEnabled) {
+ public void callRESTDeleteAAIVolumeGroup(DelegateExecution execution, isDebugEnabled) {
callRESTQueryAAIVolGrpName(execution, isDebugEnabled)
@@ -216,7 +216,7 @@ public class DoCreateVfModuleVolumeRollback extends AbstractServiceTaskProcessor - public void processJavaException(Execution execution){
+ public void processJavaException(DelegateExecution execution){
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateVfModuleVolumeV2.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateVfModuleVolumeV2.groovy index 2d004b88ac..13a7ffa498 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateVfModuleVolumeV2.groovy +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateVfModuleVolumeV2.groovy @@ -21,7 +21,7 @@ import org.springframework.web.util.UriUtils import java.util.UUID;
import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.runtime.Execution
+import org.camunda.bpm.engine.delegate.DelegateExecution
import org.apache.commons.lang3.*
import org.apache.commons.codec.binary.Base64;
@@ -35,12 +35,12 @@ class DoCreateVfModuleVolumeV2 extends VfModuleBase { * Perform initial processing, such as request validation, initialization of variables, etc.
* * @param execution
*/
- public void preProcessRequest(Execution execution) {
+ public void preProcessRequest(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
preProcessRequest(execution, isDebugEnabled)
}
- public void preProcessRequest(Execution execution, isDebugLogEnabled) {
+ public void preProcessRequest(DelegateExecution execution, isDebugLogEnabled) {
execution.setVariable("prefix",prefix)
execution.setVariable(prefix+'SuccessIndicator', false)
@@ -88,7 +88,7 @@ class DoCreateVfModuleVolumeV2 extends VfModuleBase { * @param execution
* @param isDebugLogEnabled
*/
- public void displayInput(Execution execution, isDebugLogEnabled) {
+ public void displayInput(DelegateExecution execution, isDebugLogEnabled) {
def input = ['mso-request-id', 'msoRequestId', 'isDebugLogEnabled', 'disableRollback', 'failIfExists', 'serviceInstanceId',
'vnfId', 'vnfName', 'tenantId', 'volumeGroupId', 'volumeGroupName', 'lcpCloudRegionId', 'vnfType', 'vfModuleModelInfo', 'asdcServiceModelVersion',
'test-volume-group-name', 'test-volume-group-id', 'vfModuleInputParams']
@@ -106,7 +106,7 @@ class DoCreateVfModuleVolumeV2 extends VfModuleBase { * @param execution
* @param isDebugEnabled
*/
- public void setRollbackData(Execution execution, isDebugEnabled) {
+ public void setRollbackData(DelegateExecution execution, isDebugEnabled) {
def rollbackData = execution.getVariable("rollbackData")
if (rollbackData == null) {
rollbackData = new RollbackData()
@@ -122,7 +122,7 @@ class DoCreateVfModuleVolumeV2 extends VfModuleBase { * @param execution
* @param isDebugEnabled
*/
- public void validateGetServiceInstanceCall(Execution execution, isDebugEnabled) {
+ public void validateGetServiceInstanceCall(DelegateExecution execution, isDebugEnabled) {
def found = execution.getVariable('GENGS_FoundIndicator')
def success = execution.getVariable('GENGS_SuccessIndicator')
def serviceInstanceId = execution.getVariable('serviceInstanceId')
@@ -141,7 +141,7 @@ class DoCreateVfModuleVolumeV2 extends VfModuleBase { * @param execution
* @param isDebugEnabled
*/
- public void callRESTQueryAAICloudRegion (Execution execution, isDebugEnabled) {
+ public void callRESTQueryAAICloudRegion (DelegateExecution execution, isDebugEnabled) {
def cloudRegion = execution.getVariable("lcpCloudRegionId")
utils.log("DEBUG", 'Request cloud region is: ' + cloudRegion, isDebugEnabled)
@@ -184,7 +184,7 @@ class DoCreateVfModuleVolumeV2 extends VfModuleBase { * @param execution
* @param isDebugEnabled
*/
- public void callRESTQueryAAIVolGrpName(Execution execution, isDebugEnabled) {
+ public void callRESTQueryAAIVolGrpName(DelegateExecution execution, isDebugEnabled) {
def volumeGroupName = execution.getVariable('volumeGroupName')
def cloudRegion = execution.getVariable('lcpCloudRegionId')
@@ -235,7 +235,7 @@ class DoCreateVfModuleVolumeV2 extends VfModuleBase { * @param execution
* @param isDebugEnabled
*/
- public void buildWorkflowException(Execution execution, int errorCode, errorMessage, isDebugEnabled) {
+ public void buildWorkflowException(DelegateExecution execution, int errorCode, errorMessage, isDebugEnabled) {
utils.log("DEBUG", errorMessage, isDebugEnabled)
(new ExceptionUtil()).buildWorkflowException(execution, 2500, errorMessage)
}
@@ -246,7 +246,7 @@ class DoCreateVfModuleVolumeV2 extends VfModuleBase { * @param execution
* @param isDebugEnabled
*/
- public void handleError(Execution execution, isDebugEnabled) {
+ public void handleError(DelegateExecution execution, isDebugEnabled) {
WorkflowException we = execution.getVariable('WorkflowException')
if (we == null) {
(new ExceptionUtil()).buildWorkflowException(execution, 2500, "Enexpected error encountered!")
@@ -260,7 +260,7 @@ class DoCreateVfModuleVolumeV2 extends VfModuleBase { * @param execution
* @param isDebugEnabled
*/
- public void callRESTCreateAAIVolGrpName(Execution execution, isDebugEnabled) {
+ public void callRESTCreateAAIVolGrpName(DelegateExecution execution, isDebugEnabled) {
def vnfId = execution.getVariable('vnfId')
def volumeGroupId = execution.getVariable('volumeGroupId')
@@ -329,7 +329,7 @@ class DoCreateVfModuleVolumeV2 extends VfModuleBase { * Prepare VNF adapter create request XML
* @param execution
*/
- public void prepareVnfAdapterCreateRequest(Execution execution, isDebugEnabled) {
+ public void prepareVnfAdapterCreateRequest(DelegateExecution execution, isDebugEnabled) {
def aaiGenericVnfResponse = execution.getVariable(prefix+'AAIQueryGenericVfnResponse')
def vnfId = utils.getNodeText1(aaiGenericVnfResponse, 'vnf-id')
@@ -448,44 +448,60 @@ class DoCreateVfModuleVolumeV2 extends VfModuleBase { execution.setVariable(prefix+"createVnfARequest", vnfSubCreateWorkflowRequestAsString)
// build rollback request for use later if needed
-
- String vnfSubRollbackWorkflowRequest =
- """<rollbackVolumeGroupRequest>
- <cloudSiteId>${cloudSiteId}</cloudSiteId>
- <tenantId>${tenantId}</tenantId>
- <volumeGroupId>${volumeGroupId}</volumeGroupId>
- <skipAAI>true</skipAAI>
- <volumeGroupCreated>true</volumeGroupCreated>
- <msoRequest>
- <requestId>${requestId}</requestId>
- <serviceInstanceId>${serviceId}</serviceInstanceId>
- </msoRequest>
- <messageId>${messageId}</messageId>
- <notificationUrl>${notificationUrl}</notificationUrl>
- </rollbackVolumeGroupRequest>"""
+ String vnfSubRollbackWorkflowRequest = buildRollbackVolumeGroupRequestXml(volumeGroupId, cloudSiteId, tenantId, requestId, serviceId, messageId, notificationUrl)
utils.log("DEBUG", "Sub Vnf flow rollback request: vnfSubRollbackWorkflowRequest " + "\n" + vnfSubRollbackWorkflowRequest, isDebugEnabled)
String vnfSubRollbackWorkflowRequestAsString = utils.formatXml(vnfSubRollbackWorkflowRequest)
execution.setVariable(prefix+"rollbackVnfARequest", vnfSubRollbackWorkflowRequestAsString)
}
+
+ public String buildRollbackVolumeGroupRequestXml(volumeGroupId, cloudSiteId, tenantId, requestId, serviceId, messageId, notificationUrl) {
+
+ def request = """
+ <rollbackVolumeGroupRequest>
+ <volumeGroupRollback>
+ <volumeGroupId>${volumeGroupId}</volumeGroupId>
+ <volumeGroupStackId>{{VOLUMEGROUPSTACKID}}</volumeGroupStackId>
+ <tenantId>${tenantId}</tenantId>
+ <cloudSiteId>${cloudSiteId}</cloudSiteId>
+ <volumeGroupCreated>true</volumeGroupCreated>
+ <msoRequest>
+ <requestId>${requestId}</requestId>
+ <serviceInstanceId>${serviceId}</serviceInstanceId>
+ </msoRequest>
+ <messageId>${messageId}</messageId>
+ </volumeGroupRollback>
+ <skipAAI>true</skipAAI>
+ <notificationUrl>${notificationUrl}</notificationUrl>
+ </rollbackVolumeGroupRequest>
+ """
+
+ return request
+ }
+ public String updateRollbackVolumeGroupRequestXml(String rollabackRequest, String heatStackId) {
+ String newRequest = rollabackRequest.replace("{{VOLUMEGROUPSTACKID}}", heatStackId)
+ return newRequest
+ }
/**
* Validate VNF adapter response
* @param execution
*/
- public void validateVnfResponse(Execution execution, isDebugEnabled) {
+ public void validateVnfResponse(DelegateExecution execution, isDebugEnabled) {
def vnfSuccess = execution.getVariable('VNFREST_SuccessIndicator')
utils.log("DEBUG", "vnfAdapterSuccessIndicator: "+ vnfSuccess, isDebugEnabled)
if(vnfSuccess==true) {
- def vnfRollbackRequest = execution.getVariable(prefix+"rollbackVnfARequest")
- utils.log("DEBUG", "vnfAdapter rollback request: "+ vnfRollbackRequest, isDebugEnabled)
+ String createVnfAResponse = execution.getVariable(prefix+"createVnfAResponse")
+ String heatStackID = utils.getNodeText1(createVnfAResponse, "volumeGroupStackId")
+ String vnfRollbackRequest = execution.getVariable(prefix+"rollbackVnfARequest")
+ String updatedVnfRollbackRequest = updateRollbackVolumeGroupRequestXml(vnfRollbackRequest, heatStackID)
+ utils.log("DEBUG", "vnfAdapter rollback request: "+ updatedVnfRollbackRequest, isDebugEnabled)
RollbackData rollbackData = execution.getVariable("rollbackData")
- rollbackData.put("DCVFMODULEVOL", "rollbackVnfARequest", vnfRollbackRequest)
+ rollbackData.put("DCVFMODULEVOL", "rollbackVnfARequest", updatedVnfRollbackRequest)
rollbackData.put("DCVFMODULEVOL", "isCreateVnfRollbackNeeded", "true")
}
-
}
@@ -495,7 +511,7 @@ class DoCreateVfModuleVolumeV2 extends VfModuleBase { * @param execution
* @param isDebugEnabled
*/
- public void callRESTUpdateCreatedVolGrpName(Execution execution, isDebugEnabled) {
+ public void callRESTUpdateCreatedVolGrpName(DelegateExecution execution, isDebugEnabled) {
String requeryAAIVolGrpNameResponse = execution.getVariable(prefix+"queryAAIVolGrpNameResponse")
String volumeGroupId = utils.getNodeText1(requeryAAIVolGrpNameResponse, "volume-group-id")
@@ -554,7 +570,7 @@ class DoCreateVfModuleVolumeV2 extends VfModuleBase { * @param execution
* @param isDebugEnabled
*/
- public void callRESTQueryAAIGenericVnf(Execution execution, isDebugEnabled) {
+ public void callRESTQueryAAIGenericVnf(DelegateExecution execution, isDebugEnabled) {
def vnfId = execution.getVariable('vnfId')
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateVnf.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateVnf.groovy index 6b98782527..adc2b695ef 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateVnf.groovy +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateVnf.groovy @@ -20,9 +20,10 @@ package org.openecomp.mso.bpmn.infrastructure.scripts import static org.apache.commons.lang3.StringUtils.* + import org.openecomp.mso.bpmn.core.RollbackData import org.camunda.bpm.engine.delegate.BpmnError -import org.camunda.bpm.engine.runtime.Execution +import org.camunda.bpm.engine.delegate.DelegateExecution import org.springframework.web.util.UriUtils import org.openecomp.mso.bpmn.common.scripts.AaiUtil import org.openecomp.mso.bpmn.common.scripts.AbstractServiceTaskProcessor @@ -55,7 +56,7 @@ class DoCreateVnf extends AbstractServiceTaskProcessor { * @param - execution * */ - public void preProcessRequest(Execution execution) { + public void preProcessRequest(DelegateExecution execution) { def isDebugEnabled = execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix",Prefix) utils.log("DEBUG", " *** STARTED DoCreateVnf PreProcessRequest Process*** ", isDebugEnabled) @@ -201,9 +202,9 @@ class DoCreateVnf extends AbstractServiceTaskProcessor { utils.logAudit("SDNC Callback URL: " + sdncCallbackUrl) logDebug("SDNC Callback URL is: " + sdncCallbackUrl, isDebugEnabled) - VnfResource vnfResource = (VnfResource) execution.getVariable("vnfResourceDecomposition") - + VnfResource vnfResource = (VnfResource) execution.getVariable((String)"vnfResourceDecomposition") String nfRole = vnfResource.getNfRole() + execution.setVariable("DoCVNF_nfRole", nfRole) logDebug("NF Role is: " + nfRole, isDebugEnabled) @@ -235,37 +236,45 @@ class DoCreateVnf extends AbstractServiceTaskProcessor { } utils.log("DEBUG", "*** COMPLETED DoCreateVnf PreProcessRequest Process ***", isDebugEnabled) } - - public void prepareCreateGenericVnf (Execution execution) { + private Object getVariableEnforced(DelegateExecution execution, String name){ + Object enforced = execution.getVariable(name) + if(!enforced){ + return ""; + } + return enforced; + } + + public void prepareCreateGenericVnf (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix",Prefix) utils.log("DEBUG", " *** STARTED DoCreateVnf PrepareCreateGenericVnf Process *** ", isDebugEnabled) try { //Get Vnf Info - String vnfId = execution.getVariable("DoCVNF_vnfId") - def vnfName = execution.getVariable("DoCVNF_vnfName") + String vnfId = getVariableEnforced(execution, "DoCVNF_vnfId") + String vnfName = getVariableEnforced(execution, "DoCVNF_vnfName") if (vnfName == null) { vnfName = "sdncGenerated" utils.log("DEBUG", "Sending a dummy VNF name to AAI - the name will be generated by SDNC: " + vnfName, isDebugEnabled) } - def vnfType = execution.getVariable("DoCVNF_vnfType") - def serviceId = execution.getVariable("DoCVNF_serviceId") - def orchStatus = execution.getVariable("DoCVNF_orchStatus") - def modelInvariantId = execution.getVariable("DoCVNF_modelInvariantId") - def modelVersionId = execution.getVariable("DoCVNF_modelVersionId") - def modelCustomizationId = execution.getVariable("DoCVNF_modelCustomizationId") + String vnfType = getVariableEnforced(execution, "DoCVNF_vnfType") + utils.log("DEBUG", "WE ARE HERE:" + vnfType, isDebugEnabled) + String serviceId = getVariableEnforced(execution, "DoCVNF_serviceId") + String orchStatus = getVariableEnforced(execution, "DoCVNF_orchStatus") + String modelInvariantId = getVariableEnforced(execution, "DoCVNF_modelInvariantId") + String modelVersionId = getVariableEnforced(execution, "DoCVNF_modelVersionId") + String modelCustomizationId = getVariableEnforced(execution, "DoCVNF_modelCustomizationId") // TODO: 1702 Variable - def equipmentRole = execution.getVariable("DoCVNF_equipmentRole") - def nfType = execution.getVariable("DoCVNF_nfType") - def nfRole = execution.getVariable("DoCVNF_nfRole") - def nfFunction = execution.getVariable("DoCVNF_nfFunction") - def nfNamingCode = execution.getVariable("DoCVNF_nfNamingCode") - + String equipmentRole = getVariableEnforced(execution, "DoCVNF_equipmentRole") + String nfType = getVariableEnforced(execution, "DoCVNF_nfType") + String nfRole = getVariableEnforced(execution, "DoCVNF_nfRole") + String nfFunction = getVariableEnforced(execution, "DoCVNF_nfFunction") + String nfNamingCode = getVariableEnforced(execution, "DoCVNF_nfNamingCode") + //Get Service Instance Info - def serviceInstanceId = execution.getVariable("DoCVNF_serviceInstanceId") - String siRelatedLink = execution.getVariable("GENGS_siResourceLink") + String serviceInstanceId = getVariableEnforced(execution, "DoCVNF_serviceInstanceId") + String siRelatedLink = getVariableEnforced(execution, "GENGS_siResourceLink") int custStart = siRelatedLink.indexOf("customer/") int custEnd = siRelatedLink.indexOf("/service-subscriptions") @@ -324,7 +333,7 @@ class DoCreateVnf extends AbstractServiceTaskProcessor { utils.log("DEBUG", "*** COMPLETED DoCreateVnf PrepareCreateGenericVnf Process ***", isDebugEnabled) } - public void postProcessCreateGenericVnf (Execution execution) { + public void postProcessCreateGenericVnf (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix",Prefix) @@ -344,7 +353,7 @@ class DoCreateVnf extends AbstractServiceTaskProcessor { } - public void preProcessSDNCAssignRequest(Execution execution){ + public void preProcessSDNCAssignRequest(DelegateExecution execution){ def isDebugLogEnabled = execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix", Prefix) logDebug(" ======== STARTED preProcessSDNCAssignRequest ======== ", isDebugLogEnabled) @@ -370,7 +379,7 @@ class DoCreateVnf extends AbstractServiceTaskProcessor { logDebug("======== COMPLETED preProcessSDNCAssignRequest ======== ", isDebugLogEnabled) } - public void preProcessSDNCActivateRequest(Execution execution) { + public void preProcessSDNCActivateRequest(DelegateExecution execution) { def method = getClass().getSimpleName() + '.preProcessSDNCActivateRequest(' + 'execution=' + execution.getId() + ')' @@ -395,7 +404,7 @@ class DoCreateVnf extends AbstractServiceTaskProcessor { logDebug("======== COMPLETED preProcessSDNCActivateRequest Process ======== ", isDebugLogEnabled) } - public String buildSDNCRequest(Execution execution, String svcInstId, String action){ + public String buildSDNCRequest(DelegateExecution execution, String svcInstId, String action){ String uuid = execution.getVariable('testReqId') // for junits if(uuid==null){ @@ -477,7 +486,7 @@ class DoCreateVnf extends AbstractServiceTaskProcessor { return sdncRequest } - public void validateSDNCResponse(Execution execution, String response, String method){ + public void validateSDNCResponse(DelegateExecution execution, String response, String method){ def isDebugLogEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix",Prefix) logDebug(" *** STARTED ValidateSDNCResponse Process*** ", isDebugLogEnabled) @@ -523,7 +532,7 @@ class DoCreateVnf extends AbstractServiceTaskProcessor { logDebug(" *** COMPLETED ValidateSDNCResponse Process*** ", isDebugLogEnabled) } - public void preProcessSDNCGetRequest(Execution execution){ + public void preProcessSDNCGetRequest(DelegateExecution execution){ def isDebugLogEnabled = execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix", Prefix) utils.log("DEBUG", " ======== STARTED preProcessSDNCGetRequest Process ======== ", isDebugLogEnabled) @@ -596,7 +605,7 @@ class DoCreateVnf extends AbstractServiceTaskProcessor { * * @param execution The flow's execution instance. */ - public void prepUpdateAAIGenericVnf(Execution execution) { + public void prepUpdateAAIGenericVnf(DelegateExecution execution) { def method = getClass().getSimpleName() + '.prepUpdateAAIGenericVnf(' + 'execution=' + execution.getId() + ')' diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateVnfAndModules.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateVnfAndModules.groovy index 308834038e..4e570f87a9 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateVnfAndModules.groovy +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateVnfAndModules.groovy @@ -37,7 +37,7 @@ import org.openecomp.mso.bpmn.core.domain.VnfResource import org.openecomp.mso.bpmn.core.json.DecomposeJsonUtil import org.openecomp.mso.bpmn.core.json.JsonUtils import org.camunda.bpm.engine.delegate.BpmnError -import org.camunda.bpm.engine.runtime.Execution; +import org.camunda.bpm.engine.delegate.DelegateExecution; import static org.apache.commons.lang3.StringUtils.*; @@ -61,7 +61,7 @@ class DoCreateVnfAndModules extends AbstractServiceTaskProcessor { * * @param - execution */ - public void preProcessRequest(Execution execution) { + public void preProcessRequest(DelegateExecution execution) { def isDebugLogEnabled = execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix",Prefix) utils.log("DEBUG", " *** STARTED DoCreateVnfAndModules PreProcessRequest Process*** ", isDebugLogEnabled) @@ -114,6 +114,9 @@ class DoCreateVnfAndModules extends AbstractServiceTaskProcessor { } } execution.setVariable("vnfId", vnfId) + + // Set aLaCarte to false + execution.setVariable("aLaCarte", false) def rollbackData = execution.getVariable("rollbackData") if (rollbackData == null) { @@ -145,7 +148,7 @@ class DoCreateVnfAndModules extends AbstractServiceTaskProcessor { } - public void queryCatalogDB (Execution execution) { + public void queryCatalogDB (DelegateExecution execution) { def isDebugLogEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix",Prefix) @@ -251,7 +254,7 @@ class DoCreateVnfAndModules extends AbstractServiceTaskProcessor { utils.log("DEBUG", "*** COMPLETED DoCreateVnfAndModules QueryCatalogDB Process ***", isDebugLogEnabled) } - public void preProcessAddOnModule(Execution execution){ + public void preProcessAddOnModule(DelegateExecution execution){ def isDebugLogEnabled = execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix", Prefix) logDebug(" ======== STARTED preProcessAddOnModule ======== ", isDebugLogEnabled) @@ -289,7 +292,7 @@ class DoCreateVnfAndModules extends AbstractServiceTaskProcessor { logDebug("======== COMPLETED preProcessAddOnModule ======== ", isDebugLogEnabled) } - public void postProcessAddOnModule(Execution execution){ + public void postProcessAddOnModule(DelegateExecution execution){ def isDebugLogEnabled = execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix", Prefix) logDebug(" ======== STARTED postProcessAddOnModule ======== ", isDebugLogEnabled) @@ -305,7 +308,7 @@ class DoCreateVnfAndModules extends AbstractServiceTaskProcessor { logDebug("======== COMPLETED postProcessAddOnModule ======== ", isDebugLogEnabled) } - public void validateBaseModule(Execution execution){ + public void validateBaseModule(DelegateExecution execution){ def isDebugLogEnabled = execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix", Prefix) logDebug(" ======== STARTED validateBaseModule ======== ", isDebugLogEnabled) @@ -333,7 +336,7 @@ class DoCreateVnfAndModules extends AbstractServiceTaskProcessor { logDebug("======== COMPLETED validateBaseModule ======== ", isDebugLogEnabled) } - public void validateAddOnModule(Execution execution){ + public void validateAddOnModule(DelegateExecution execution){ def isDebugLogEnabled = execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix", Prefix) logDebug(" ======== STARTED validateAddOnModule ======== ", isDebugLogEnabled) @@ -362,7 +365,7 @@ class DoCreateVnfAndModules extends AbstractServiceTaskProcessor { logDebug("======== COMPLETED validateAddOnModule ======== ", isDebugLogEnabled) } - public void preProcessRollback (Execution execution) { + public void preProcessRollback (DelegateExecution execution) { def isDebugLogEnabled=execution.getVariable("isDebugLogEnabled") utils.log("DEBUG"," ***** preProcessRollback ***** ", isDebugLogEnabled) try { @@ -383,7 +386,7 @@ class DoCreateVnfAndModules extends AbstractServiceTaskProcessor { utils.log("DEBUG"," *** Exit preProcessRollback *** ", isDebugLogEnabled) } - public void postProcessRollback (Execution execution) { + public void postProcessRollback (DelegateExecution execution) { def isDebugLogEnabled=execution.getVariable("isDebugLogEnabled") utils.log("DEBUG"," ***** postProcessRollback ***** ", isDebugLogEnabled) String msg = "" diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateVnfAndModulesRollback.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateVnfAndModulesRollback.groovy index c5d87d817a..e931903ea5 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateVnfAndModulesRollback.groovy +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateVnfAndModulesRollback.groovy @@ -25,7 +25,7 @@ import org.json.JSONObject; import org.json.JSONArray;
import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.runtime.Execution;
+import org.camunda.bpm.engine.delegate.DelegateExecution;
import static org.apache.commons.lang3.StringUtils.*;
@@ -55,7 +55,7 @@ class DoCreateVnfAndModulesRollback extends AbstractServiceTaskProcessor { * @param - execution
*
*/
- public void preProcessRequest(Execution execution) {
+ public void preProcessRequest(DelegateExecution execution) {
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
utils.log("DEBUG", " *** STARTED DoCreateVnfAndModulesRollback PreProcessRequest Process*** ", isDebugEnabled)
@@ -117,7 +117,10 @@ class DoCreateVnfAndModulesRollback extends AbstractServiceTaskProcessor { }
else {
execution.setVariable("DCVAMR_numOfModulesToDelete", numOfAddOnModules + 1)
- }
+ }
+
+ // Set aLaCarte to false
+ execution.setVariable("DCVAMR_aLaCarte", false)
}catch(BpmnError b){
utils.log("DEBUG", "Rethrowing MSOWorkflowException", isDebugEnabled)
@@ -132,7 +135,7 @@ class DoCreateVnfAndModulesRollback extends AbstractServiceTaskProcessor { - public void preProcessCreateVfModuleRollback(Execution execution){
+ public void preProcessCreateVfModuleRollback(DelegateExecution execution){
def isDebugLogEnabled = execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix", Prefix)
logDebug(" ======== STARTED preProcessCreateVfModuleRollback ======== ", isDebugLogEnabled)
@@ -167,7 +170,7 @@ class DoCreateVnfAndModulesRollback extends AbstractServiceTaskProcessor { }
- public void postProcessCreateVfModuleRollback(Execution execution){
+ public void postProcessCreateVfModuleRollback(DelegateExecution execution){
def isDebugLogEnabled = execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix", Prefix)
logDebug(" ======== STARTED postProcessCreateVfModuleRollback ======== ", isDebugLogEnabled)
@@ -190,7 +193,7 @@ class DoCreateVnfAndModulesRollback extends AbstractServiceTaskProcessor { }
- public void preProcessSDNCDeactivateRequest(Execution execution){
+ public void preProcessSDNCDeactivateRequest(DelegateExecution execution){
def isDebugLogEnabled = execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix", Prefix)
logDebug(" ======== STARTED preProcessSDNCDeactivateRequest ======== ", isDebugLogEnabled)
@@ -214,7 +217,7 @@ class DoCreateVnfAndModulesRollback extends AbstractServiceTaskProcessor { logDebug("======== COMPLETED preProcessSDNCDeactivateRequest ======== ", isDebugLogEnabled)
}
- public void preProcessSDNCUnassignRequest(Execution execution) {
+ public void preProcessSDNCUnassignRequest(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.preProcessSDNCUnassignRequest(' +
'execution=' + execution.getId() +
')'
@@ -239,7 +242,7 @@ class DoCreateVnfAndModulesRollback extends AbstractServiceTaskProcessor { logDebug("======== COMPLETED preProcessSDNCUnassignRequest Process ======== ", isDebugLogEnabled)
}
- public String buildSDNCRequest(Execution execution, String svcInstId, String action){
+ public String buildSDNCRequest(DelegateExecution execution, String svcInstId, String action){
String uuid = execution.getVariable('testReqId') // for junits
if(uuid==null){
@@ -296,7 +299,7 @@ class DoCreateVnfAndModulesRollback extends AbstractServiceTaskProcessor { return sdncRequest
}
- public void validateSDNCResponse(Execution execution, String response, String method){
+ public void validateSDNCResponse(DelegateExecution execution, String response, String method){
def isDebugLogEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
logDebug(" *** STARTED ValidateSDNCResponse Process*** ", isDebugLogEnabled)
@@ -321,7 +324,7 @@ class DoCreateVnfAndModulesRollback extends AbstractServiceTaskProcessor { logDebug(" *** COMPLETED ValidateSDNCResponse Process*** ", isDebugLogEnabled)
}
- public void setSuccessfulRollbackStatus (Execution execution){
+ public void setSuccessfulRollbackStatus (DelegateExecution execution){
def isDebugLogEnabled = execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix", Prefix)
logDebug(" ======== STARTED setSuccessfulRollbackStatus ======== ", isDebugLogEnabled)
@@ -338,7 +341,7 @@ class DoCreateVnfAndModulesRollback extends AbstractServiceTaskProcessor { logDebug("======== COMPLETED setSuccessfulRollbackStatus ======== ", isDebugLogEnabled)
}
- public void setFailedRollbackStatus (Execution execution){
+ public void setFailedRollbackStatus (DelegateExecution execution){
def isDebugLogEnabled = execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix", Prefix)
logDebug(" ======== STARTED setFailedRollbackStatus ======== ", isDebugLogEnabled)
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCustomDeleteE2EServiceInstance.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCustomDeleteE2EServiceInstance.groovy index 40e2baab7f..a32fd7b538 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCustomDeleteE2EServiceInstance.groovy +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCustomDeleteE2EServiceInstance.groovy @@ -41,7 +41,7 @@ import javax.xml.parsers.DocumentBuilder import javax.xml.parsers.DocumentBuilderFactory import org.camunda.bpm.engine.delegate.BpmnError -import org.camunda.bpm.engine.runtime.Execution +import org.camunda.bpm.engine.delegate.DelegateExecution import org.json.JSONObject; import org.apache.commons.lang3.* import org.apache.commons.codec.binary.Base64; @@ -79,7 +79,7 @@ public class DoCustomDeleteE2EServiceInstance extends AbstractServiceTaskProcess ExceptionUtil exceptionUtil = new ExceptionUtil() JsonUtils jsonUtil = new JsonUtils() - public void preProcessRequest (Execution execution) { + public void preProcessRequest (DelegateExecution execution) { def isDebugEnabled = execution.getVariable("isDebugLogEnabled") utils.log("INFO"," ***** preProcessRequest *****", isDebugEnabled) String msg = "" @@ -155,13 +155,13 @@ public class DoCustomDeleteE2EServiceInstance extends AbstractServiceTaskProcess } - public void preProcessVFCDelete (Execution execution) { + public void preProcessVFCDelete (DelegateExecution execution) { } - public void postProcessVFCDelete(Execution execution, String response, String method) { + public void postProcessVFCDelete(DelegateExecution execution, String response, String method) { } - public void preProcessSDNCDelete (Execution execution) { + public void preProcessSDNCDelete (DelegateExecution execution) { def isDebugEnabled = execution.getVariable("isDebugLogEnabled") utils.log("INFO"," ***** preProcessSDNCDelete *****", isDebugEnabled) String msg = "" @@ -275,7 +275,7 @@ public class DoCustomDeleteE2EServiceInstance extends AbstractServiceTaskProcess utils.log("INFO"," *****Exit preProcessSDNCDelete *****", isDebugEnabled) } - public void postProcessSDNCDelete(Execution execution, String response, String method) { + public void postProcessSDNCDelete(DelegateExecution execution, String response, String method) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") utils.log("INFO"," ***** postProcessSDNC " + method + " *****", isDebugEnabled) @@ -307,7 +307,7 @@ public class DoCustomDeleteE2EServiceInstance extends AbstractServiceTaskProcess utils.log("INFO"," *** Exit postProcessSDNC " + method + " ***", isDebugEnabled) } - public void postProcessAAIGET(Execution execution) { + public void postProcessAAIGET(DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") utils.log("INFO"," ***** postProcessAAIGET ***** ", isDebugEnabled) String msg = "" @@ -439,7 +439,7 @@ public class DoCustomDeleteE2EServiceInstance extends AbstractServiceTaskProcess utils.log("INFO"," *** Exit postProcessAAIGET *** ", isDebugEnabled) } - public void postProcessAAIDEL(Execution execution) { + public void postProcessAAIDEL(DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") utils.log("INFO"," ***** postProcessAAIDEL ***** ", isDebugEnabled) String msg = "" @@ -469,7 +469,7 @@ public class DoCustomDeleteE2EServiceInstance extends AbstractServiceTaskProcess utils.log("INFO"," *** Exit postProcessAAIDEL *** ", isDebugEnabled) } - public void preInitResourcesOperStatus(Execution execution){ + public void preInitResourcesOperStatus(DelegateExecution execution){ def isDebugEnabled = execution.getVariable("isDebugLogEnabled") utils.log("INFO", " ======== STARTED preInitResourcesOperStatus Process ======== ", isDebugEnabled) @@ -517,7 +517,7 @@ public class DoCustomDeleteE2EServiceInstance extends AbstractServiceTaskProcess resourceTemplateUUIDs = resourceTemplateUUIDs + it.resourceInstanceId + ":" } } - execution.setVariable("URN_mso_openecomp_adapters_db_endpoint","http://mso.mso.testlab.openecomp.org:8080/dbadapters/RequestsDbAdapter") + execution.setVariable("URN_mso_adapters_openecomp_db_endpoint","http://mso.mso.testlab.openecomp.org:8080/dbadapters/RequestsDbAdapter") String payload = """<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCustomDeleteE2EServiceInstanceV2.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCustomDeleteE2EServiceInstanceV2.groovy index 4c3f6bc73c..03ba10a0c0 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCustomDeleteE2EServiceInstanceV2.groovy +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCustomDeleteE2EServiceInstanceV2.groovy @@ -20,40 +20,22 @@ */
package org.openecomp.mso.bpmn.infrastructure.scripts
-import org.json.JSONArray;
-
import static org.apache.commons.lang3.StringUtils.*;
-import groovy.xml.XmlUtil
-import groovy.json.*
-import org.openecomp.mso.bpmn.core.json.JsonUtils
+import org.apache.commons.lang3.*
+import org.camunda.bpm.engine.delegate.BpmnError
+import org.camunda.bpm.engine.delegate.DelegateExecution
+import org.json.JSONArray;
+import org.json.JSONObject;
+import org.openecomp.mso.bpmn.common.scripts.AaiUtil
import org.openecomp.mso.bpmn.common.scripts.AbstractServiceTaskProcessor
import org.openecomp.mso.bpmn.common.scripts.ExceptionUtil
-import org.openecomp.mso.bpmn.common.scripts.SDNCAdapterUtils
import org.openecomp.mso.bpmn.core.WorkflowException
+import org.openecomp.mso.bpmn.core.json.JsonUtils
import org.openecomp.mso.rest.APIResponse;
-import org.openecomp.mso.rest.RESTClient
-import org.openecomp.mso.rest.RESTConfig
-
-import org.openecomp.mso.bpmn.common.scripts.AaiUtil
-
-import java.util.UUID;
-import javax.xml.parsers.DocumentBuilder
-import javax.xml.parsers.DocumentBuilderFactory
-
-import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.runtime.Execution
-import org.json.JSONObject;
-import org.apache.commons.lang3.*
-import org.apache.commons.codec.binary.Base64;
import org.springframework.web.util.UriUtils;
-import org.w3c.dom.Document
-import org.w3c.dom.Element
-import org.w3c.dom.Node
-import org.w3c.dom.NodeList
-import org.xml.sax.InputSource
-import com.fasterxml.jackson.jaxrs.json.annotation.JSONP.Def;
+import groovy.json.*
/**
* This groovy class supports the <class>DoDeleteE2EServiceInstance.bpmn</class> process.
@@ -81,7 +63,7 @@ public class DoCustomDeleteE2EServiceInstanceV2 extends AbstractServiceTaskProce ExceptionUtil exceptionUtil = new ExceptionUtil()
JsonUtils jsonUtil = new JsonUtils()
- public void preProcessRequest (Execution execution) {
+ public void preProcessRequest (DelegateExecution execution) {
def method = getClass().getSimpleName() + '.buildAPPCRequest(' +'execution=' + execution.getId() +')'
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
@@ -163,7 +145,7 @@ public class DoCustomDeleteE2EServiceInstanceV2 extends AbstractServiceTaskProce - public void postProcessAAIGET(Execution execution) {
+ public void postProcessAAIGET(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.postProcessAAIGET(' +'execution=' + execution.getId() +')'
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
utils.log("INFO","Entered " + method, isDebugEnabled)
@@ -221,7 +203,7 @@ public class DoCustomDeleteE2EServiceInstanceV2 extends AbstractServiceTaskProce utils.log("INFO", "Exited " + method, isDebugEnabled)
}
- private void loadResourcesProperties(Execution execution) {
+ private void loadResourcesProperties(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.loadResourcesProperties(' +'execution=' + execution.getId() +')'
def isDebugEnabled = execution.getVariable("isDebugEnabled")
utils.log("INFO","Entered " + method, isDebugEnabled)
@@ -255,7 +237,7 @@ public class DoCustomDeleteE2EServiceInstanceV2 extends AbstractServiceTaskProce }
utils.log("INFO", "Exited " + method, isDebugEnabled)
}
- private void sortDeleteResource(Execution execution) {
+ private void sortDeleteResource(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.sortDeleteResource(' +'execution=' + execution.getId() +')'
def isDebugEnabled = execution.getVariable("isDebugEnabled")
utils.log("INFO","Entered " + method, isDebugEnabled)
@@ -339,7 +321,7 @@ public class DoCustomDeleteE2EServiceInstanceV2 extends AbstractServiceTaskProce utils.log("INFO", "Exited " + method, isDebugEnabled)
}
- public void prepareServiceDeleteResource(Execution execution) {
+ public void prepareServiceDeleteResource(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.prepareServiceDeleteResource(' +'execution=' + execution.getId() +')'
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
utils.log("INFO","Entered " + method, isDebugEnabled)
@@ -624,7 +606,7 @@ public class DoCustomDeleteE2EServiceInstanceV2 extends AbstractServiceTaskProce utils.log("INFO", "Exited " + method, isDebugEnabled)
}
- private String getAaiAr(Execution execution, String relink) {
+ private String getAaiAr(DelegateExecution execution, String relink) {
def method = getClass().getSimpleName() + '.getAaiAr(' +'execution=' + execution.getId() +')'
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
utils.log("INFO","Entered " + method, isDebugEnabled)
@@ -650,7 +632,7 @@ public class DoCustomDeleteE2EServiceInstanceV2 extends AbstractServiceTaskProce /**
* prepare Decompose next resource to create request
*/
- public void preProcessDecomposeNextResource(Execution execution){
+ public void preProcessDecomposeNextResource(DelegateExecution execution){
def method = getClass().getSimpleName() + '.getAaiAr(' +'execution=' + execution.getId() +')'
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
utils.log("INFO","Entered " + method, isDebugEnabled)
@@ -708,7 +690,7 @@ public class DoCustomDeleteE2EServiceInstanceV2 extends AbstractServiceTaskProce /**
* post Decompose next resource to create request
*/
- public void postProcessDecomposeNextResource(Execution execution){
+ public void postProcessDecomposeNextResource(DelegateExecution execution){
def method = getClass().getSimpleName() + '.postProcessDecomposeNextResource(' +'execution=' + execution.getId() +')'
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
utils.log("INFO","Entered " + method, isDebugEnabled)
@@ -750,7 +732,7 @@ public class DoCustomDeleteE2EServiceInstanceV2 extends AbstractServiceTaskProce /**
* prepare post Unkown Resource Type
*/
- public void postOtherControllerType(Execution execution){
+ public void postOtherControllerType(DelegateExecution execution){
def method = getClass().getSimpleName() + '.postOtherControllerType(' +'execution=' + execution.getId() +')'
def isDebugEnabled = execution.getVariable("isDebugEnabled")
utils.log("INFO","Entered " + method, isDebugEnabled)
@@ -805,7 +787,7 @@ public class DoCustomDeleteE2EServiceInstanceV2 extends AbstractServiceTaskProce }
utils.log("INFO", "Exited " + method, isDebugEnabled)
}
- public void preProcessSDNCDelete (Execution execution) {
+ public void preProcessSDNCDelete (DelegateExecution execution) {
def method = getClass().getSimpleName() + '.preProcessSDNCDelete(' +'execution=' + execution.getId() +')'
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
utils.log("INFO","Entered " + method, isDebugEnabled)
@@ -921,7 +903,7 @@ public class DoCustomDeleteE2EServiceInstanceV2 extends AbstractServiceTaskProce utils.log("INFO", "Exited " + method, isDebugEnabled)
}
- public void postProcessSDNCDelete(Execution execution, String response, String action) {
+ public void postProcessSDNCDelete(DelegateExecution execution, String response, String action) {
def method = getClass().getSimpleName() + '.postProcessSDNCDelete(' +'execution=' + execution.getId() +')'
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
@@ -955,7 +937,7 @@ public class DoCustomDeleteE2EServiceInstanceV2 extends AbstractServiceTaskProce utils.log("INFO", "Exited " + method, isDebugEnabled)
}
- public void postProcessAAIDEL(Execution execution) {
+ public void postProcessAAIDEL(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.postProcessAAIDEL(' +'execution=' + execution.getId() +')'
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
utils.log("INFO","Entered " + method, isDebugEnabled)
@@ -989,7 +971,7 @@ public class DoCustomDeleteE2EServiceInstanceV2 extends AbstractServiceTaskProce /**
* Init the service Operation Status
*/
- public void preUpdateServiceOperationStatus(Execution execution){
+ public void preUpdateServiceOperationStatus(DelegateExecution execution){
def method = getClass().getSimpleName() + '.preUpdateServiceOperationStatus(' +'execution=' + execution.getId() +')'
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
utils.log("INFO","Entered " + method, isDebugEnabled)
@@ -1053,7 +1035,7 @@ public class DoCustomDeleteE2EServiceInstanceV2 extends AbstractServiceTaskProce utils.log("INFO", "Exited " + method, isDebugEnabled)
}
- public void preInitResourcesOperStatus(Execution execution){
+ public void preInitResourcesOperStatus(DelegateExecution execution){
def method = getClass().getSimpleName() + '.preInitResourcesOperStatus(' +'execution=' + execution.getId() +')'
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
utils.log("INFO","Entered " + method, isDebugEnabled)
@@ -1166,7 +1148,7 @@ public class DoCustomDeleteE2EServiceInstanceV2 extends AbstractServiceTaskProce utils.log("INFO", "Exited " + method, isDebugEnabled)
}
- public void postProcessVFCDelete(Execution execution, String response, String action) {
+ public void postProcessVFCDelete(DelegateExecution execution, String response, String action) {
def method = getClass().getSimpleName() + '.postProcessVFCDelete(' +'execution=' + execution.getId() +')'
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
utils.log("INFO","Entered " + method, isDebugEnabled)
@@ -1184,4 +1166,4 @@ public class DoCustomDeleteE2EServiceInstanceV2 extends AbstractServiceTaskProce utils.log("INFO", "Exited " + method, isDebugEnabled)
}
}
-
\ No newline at end of file +
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteNetworkInstance.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteNetworkInstance.groovy index a3407553c8..7ded1946b4 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteNetworkInstance.groovy +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteNetworkInstance.groovy @@ -34,7 +34,7 @@ import org.openecomp.mso.rest.RESTConfig import java.util.UUID; import org.camunda.bpm.engine.delegate.BpmnError -import org.camunda.bpm.engine.runtime.Execution +import org.camunda.bpm.engine.delegate.DelegateExecution import org.apache.commons.lang3.* import org.apache.commons.codec.binary.Base64; import org.springframework.web.util.UriUtils @@ -51,7 +51,7 @@ public class DoDeleteNetworkInstance extends AbstractServiceTaskProcessor { NetworkUtils networkUtils = new NetworkUtils() SDNCAdapterUtils sdncAdapterUtils = new SDNCAdapterUtils() - public InitializeProcessVariables(Execution execution){ + public InitializeProcessVariables(DelegateExecution execution){ /* Initialize all the process variables in this block */ execution.setVariable(Prefix + "networkRequest", "") @@ -102,7 +102,7 @@ public class DoDeleteNetworkInstance extends AbstractServiceTaskProcessor { // Pre or Prepare Request Section // ************************************************** - public void preProcessRequest (Execution execution) { + public void preProcessRequest (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix",Prefix) @@ -229,7 +229,7 @@ public class DoDeleteNetworkInstance extends AbstractServiceTaskProcessor { } - public void callRESTQueryAAI (Execution execution) { + public void callRESTQueryAAI (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix",Prefix) @@ -244,7 +244,7 @@ public class DoDeleteNetworkInstance extends AbstractServiceTaskProcessor { String aai_endpoint = execution.getVariable("URN_aai_endpoint") AaiUtil aaiUriUtil = new AaiUtil(this) String aai_uri = aaiUriUtil.getNetworkL3NetworkUri(execution) - String queryAAIRequest = "${aai_endpoint}${aai_uri}/" + networkId + "?depth=1" + String queryAAIRequest = "${aai_endpoint}${aai_uri}/" + networkId + "?depth=all" utils.logAudit(queryAAIRequest) execution.setVariable(Prefix + "queryAAIRequest", queryAAIRequest) utils.log("DEBUG", Prefix + "AAIRequest - " + "\n" + queryAAIRequest, isDebugEnabled) @@ -328,7 +328,7 @@ public class DoDeleteNetworkInstance extends AbstractServiceTaskProcessor { } - public void callRESTQueryAAICloudRegion (Execution execution) { + public void callRESTQueryAAICloudRegion (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix", Prefix) @@ -375,7 +375,7 @@ public class DoDeleteNetworkInstance extends AbstractServiceTaskProcessor { } - public void prepareNetworkRequest (Execution execution) { + public void prepareNetworkRequest (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix", Prefix) @@ -463,7 +463,7 @@ public class DoDeleteNetworkInstance extends AbstractServiceTaskProcessor { * This method is used instead of an HTTP Connector task because the * connector does not allow DELETE with a body. */ - public void sendRequestToVnfAdapter(Execution execution) { + public void sendRequestToVnfAdapter(DelegateExecution execution) { def method = getClass().getSimpleName() + '.sendRequestToVnfAdapter(' + 'execution=' + execution.getId() + ')' @@ -498,7 +498,7 @@ public class DoDeleteNetworkInstance extends AbstractServiceTaskProcessor { } - public void prepareSDNCRequest (Execution execution) { + public void prepareSDNCRequest (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix", Prefix) @@ -548,7 +548,7 @@ public class DoDeleteNetworkInstance extends AbstractServiceTaskProcessor { } - public void prepareRpcSDNCRequest (Execution execution) { + public void prepareRpcSDNCRequest (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix", Prefix) @@ -588,7 +588,7 @@ public class DoDeleteNetworkInstance extends AbstractServiceTaskProcessor { } - public void prepareRpcSDNCDeactivate(Execution execution) { + public void prepareRpcSDNCDeactivate(DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix",Prefix) @@ -626,7 +626,7 @@ public class DoDeleteNetworkInstance extends AbstractServiceTaskProcessor { // Post or Validate Response Section // ************************************************** - public void validateNetworkResponse (Execution execution) { + public void validateNetworkResponse (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix", Prefix) @@ -700,7 +700,7 @@ public class DoDeleteNetworkInstance extends AbstractServiceTaskProcessor { } - public void validateSDNCResponse (Execution execution) { + public void validateSDNCResponse (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix", Prefix) @@ -728,7 +728,7 @@ public class DoDeleteNetworkInstance extends AbstractServiceTaskProcessor { } - public void validateRpcSDNCDeactivateResponse (Execution execution) { + public void validateRpcSDNCDeactivateResponse (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix",Prefix) @@ -756,7 +756,7 @@ public class DoDeleteNetworkInstance extends AbstractServiceTaskProcessor { } - public void prepareRpcSDNCDeactivateRollback(Execution execution) { + public void prepareRpcSDNCDeactivateRollback(DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix",Prefix) @@ -789,7 +789,7 @@ public class DoDeleteNetworkInstance extends AbstractServiceTaskProcessor { } - public void prepareRollbackData(Execution execution) { + public void prepareRollbackData(DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix",Prefix) @@ -825,7 +825,7 @@ public class DoDeleteNetworkInstance extends AbstractServiceTaskProcessor { } - public void postProcessResponse (Execution execution) { + public void postProcessResponse (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix", Prefix) @@ -886,7 +886,7 @@ public class DoDeleteNetworkInstance extends AbstractServiceTaskProcessor { } - public void prepareSuccessRollbackData(Execution execution) { + public void prepareSuccessRollbackData(DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix",Prefix) @@ -935,7 +935,7 @@ public class DoDeleteNetworkInstance extends AbstractServiceTaskProcessor { } - public void prepareRpcSDNCUnassignRollback(Execution execution) { + public void prepareRpcSDNCUnassignRollback(DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix",Prefix) @@ -972,7 +972,7 @@ public class DoDeleteNetworkInstance extends AbstractServiceTaskProcessor { } - public void prepareSDNCRollback (Execution execution) { + public void prepareSDNCRollback (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix", Prefix) @@ -1025,7 +1025,7 @@ public class DoDeleteNetworkInstance extends AbstractServiceTaskProcessor { } - public void setExceptionFlag(Execution execution){ + public void setExceptionFlag(DelegateExecution execution){ def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix",Prefix) @@ -1055,7 +1055,7 @@ public class DoDeleteNetworkInstance extends AbstractServiceTaskProcessor { // Build Error Section // ******************************* - public void processJavaException(Execution execution){ + public void processJavaException(DelegateExecution execution){ def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix",Prefix) try{ diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteNetworkInstanceRollback.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteNetworkInstanceRollback.groovy index 4c455e743f..c45b90f953 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteNetworkInstanceRollback.groovy +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteNetworkInstanceRollback.groovy @@ -36,7 +36,7 @@ import org.openecomp.mso.rest.RESTConfig import java.util.UUID;
import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.runtime.Execution
+import org.camunda.bpm.engine.delegate.DelegateExecution
import org.apache.commons.lang3.*
import org.apache.commons.codec.binary.Base64;
import org.springframework.web.util.UriUtils
@@ -59,7 +59,7 @@ public class DoDeleteNetworkInstanceRollback extends AbstractServiceTaskProcesso * This method is executed during the preProcessRequest task of the <class>DoDeleteNetworkInstanceRollback.bpmn</class> process.
* @param execution
*/
- public InitializeProcessVariables(Execution execution){
+ public InitializeProcessVariables(DelegateExecution execution){
/* Initialize all the process variables in this block */
execution.setVariable(Prefix + "WorkflowException", null)
@@ -88,7 +88,7 @@ public class DoDeleteNetworkInstanceRollback extends AbstractServiceTaskProcesso * This method is executed during the preProcessRequest task of the <class>DoDeleteNetworkInstanceRollback.bpmn</class> process.
* @param execution
*/
- public void preProcessRequest (Execution execution) {
+ public void preProcessRequest (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
@@ -174,7 +174,7 @@ public class DoDeleteNetworkInstanceRollback extends AbstractServiceTaskProcesso }
- public void validateRollbackResponses (Execution execution) {
+ public void validateRollbackResponses (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
@@ -313,7 +313,7 @@ public class DoDeleteNetworkInstanceRollback extends AbstractServiceTaskProcesso - public void processJavaException(Execution execution){
+ public void processJavaException(DelegateExecution execution){
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteServiceInstance.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteServiceInstance.groovy index fd4162fa5c..8fc1f41569 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteServiceInstance.groovy +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteServiceInstance.groovy @@ -37,7 +37,7 @@ import javax.xml.parsers.DocumentBuilder import javax.xml.parsers.DocumentBuilderFactory import org.camunda.bpm.engine.delegate.BpmnError -import org.camunda.bpm.engine.runtime.Execution +import org.camunda.bpm.engine.delegate.DelegateExecution import org.json.JSONObject; import org.apache.commons.lang3.* import org.apache.commons.codec.binary.Base64; @@ -75,7 +75,7 @@ public class DoDeleteServiceInstance extends AbstractServiceTaskProcessor { ExceptionUtil exceptionUtil = new ExceptionUtil() JsonUtils jsonUtil = new JsonUtils() - public void preProcessRequest (Execution execution) { + public void preProcessRequest (DelegateExecution execution) { def isDebugEnabled = execution.getVariable("isDebugLogEnabled") utils.log("DEBUG"," ***** preProcessRequest *****", isDebugEnabled) String msg = "" @@ -83,7 +83,7 @@ public class DoDeleteServiceInstance extends AbstractServiceTaskProcessor { try { String requestId = execution.getVariable("msoRequestId") execution.setVariable("prefix",Prefix) - + //Inputs //requestDetails.subscriberInfo. for AAI GET & PUT & SDNC assignToplology String globalSubscriberId = execution.getVariable("globalSubscriberId") //globalCustomerId @@ -150,57 +150,40 @@ public class DoDeleteServiceInstance extends AbstractServiceTaskProcessor { utils.log("DEBUG"," ***** Exit preProcessRequest *****", isDebugEnabled) } - public void preProcessSDNCDelete (Execution execution) { + public void preProcessSDNCDelete (DelegateExecution execution) { def isDebugEnabled = execution.getVariable("isDebugLogEnabled") utils.log("DEBUG"," ***** preProcessSDNCDelete *****", isDebugEnabled) String msg = "" try { - def serviceInstanceId = execution.getVariable("serviceInstanceId") - def serviceInstanceName = execution.getVariable("serviceInstanceName") - def callbackURL = execution.getVariable("sdncCallbackUrl") - def requestId = execution.getVariable("msoRequestId") - def serviceId = execution.getVariable("productFamilyId") - def subscriptionServiceType = execution.getVariable("subscriptionServiceType") - def globalSubscriberId = execution.getVariable("globalSubscriberId") //globalCustomerId - - String serviceModelInfo = execution.getVariable("serviceModelInfo") + def serviceInstanceId = execution.getVariable("serviceInstanceId") ?: "" + def serviceInstanceName = execution.getVariable("serviceInstanceName") ?: "" + def callbackURL = execution.getVariable("sdncCallbackUrl") ?: "" + def requestId = execution.getVariable("msoRequestId") ?: "" + def serviceId = execution.getVariable("productFamilyId") ?: "" + def subscriptionServiceType = execution.getVariable("subscriptionServiceType") ?: "" + def globalSubscriberId = execution.getVariable("globalSubscriberId") ?: "" //globalCustomerId + + String serviceModelInfo = execution.getVariable("serviceModelInfo") ?: "" def modelInvariantUuid = "" def modelVersion = "" def modelUuid = "" def modelName = "" if (!isBlank(serviceModelInfo)) { - modelInvariantUuid = jsonUtil.getJsonValue(serviceModelInfo, "modelInvariantUuid") - modelVersion = jsonUtil.getJsonValue(serviceModelInfo, "modelVersion") - modelUuid = jsonUtil.getJsonValue(serviceModelInfo, "modelUuid") - modelName = jsonUtil.getJsonValue(serviceModelInfo, "modelName") + modelInvariantUuid = jsonUtil.getJsonValue(serviceModelInfo, "modelInvariantUuid") ?: "" + modelVersion = jsonUtil.getJsonValue(serviceModelInfo, "modelVersion") ?: "" + modelUuid = jsonUtil.getJsonValue(serviceModelInfo, "modelUuid") ?: "" + modelName = jsonUtil.getJsonValue(serviceModelInfo, "modelName") ?: "" - if (modelInvariantUuid == null) { - modelInvariantUuid = "" - } - if (modelVersion == null) { - modelVersion = "" - } - if (modelUuid == null) { - modelUuid = "" - } - if (modelName == null) { - modelName = "" - } - } - if (serviceInstanceName == null) { - serviceInstanceName = "" - } - if (serviceId == null) { - serviceId = "" } - def siParamsXml = execution.getVariable("siParamsXml") - def serviceType = execution.getVariable("serviceType") - if (serviceType == null) + def siParamsXml = execution.getVariable("siParamsXml") ?: "" + def msoAction = "" + // special URL for SDNW, msoAction helps set diff url in SDNCA + if("TRANSPORT".equalsIgnoreCase(execution.getVariable("serviceType"))) { - serviceType = "" + msoAction = "TRANSPORT" } def sdncRequestId = UUID.randomUUID().toString() @@ -215,7 +198,7 @@ public class DoDeleteServiceInstance extends AbstractServiceTaskProcessor { <sdncadapter:SvcAction>delete</sdncadapter:SvcAction> <sdncadapter:SvcOperation>service-topology-operation</sdncadapter:SvcOperation> <sdncadapter:CallbackUrl>${callbackURL}</sdncadapter:CallbackUrl> - <sdncadapter:MsoAction>${serviceType}</sdncadapter:MsoAction> + <sdncadapter:MsoAction>${msoAction}</sdncadapter:MsoAction> </sdncadapter:RequestHeader> <sdncadapterworkflow:SDNCRequestData> <request-information> @@ -229,12 +212,12 @@ public class DoDeleteServiceInstance extends AbstractServiceTaskProcessor { <service-information> <service-id>${serviceId}</service-id> <subscription-service-type>${subscriptionServiceType}</subscription-service-type> - <onap-model-information> + <ecomp-model-information> <model-invariant-uuid>${modelInvariantUuid}</model-invariant-uuid> <model-uuid>${modelUuid}</model-uuid> <model-version>${modelVersion}</model-version> <model-name>${modelName}</model-name> - </onap-model-information> + </ecomp-model-information> <service-instance-id>${serviceInstanceId}</service-instance-id> <subscriber-name/> <global-customer-id>${globalSubscriberId}</global-customer-id> @@ -264,7 +247,7 @@ public class DoDeleteServiceInstance extends AbstractServiceTaskProcessor { utils.log("DEBUG"," *****Exit preProcessSDNCDelete *****", isDebugEnabled) } - public void postProcessSDNCDelete(Execution execution, String response, String method) { + public void postProcessSDNCDelete(DelegateExecution execution, String response, String method) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") utils.log("DEBUG"," ***** postProcessSDNC " + method + " *****", isDebugEnabled) @@ -297,7 +280,7 @@ public class DoDeleteServiceInstance extends AbstractServiceTaskProcessor { utils.log("DEBUG"," *** Exit postProcessSDNC " + method + " ***", isDebugEnabled) } - public void postProcessAAIGET(Execution execution) { + public void postProcessAAIGET(DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") utils.log("DEBUG"," ***** postProcessAAIGET ***** ", isDebugEnabled) String msg = "" @@ -406,6 +389,33 @@ public class DoDeleteServiceInstance extends AbstractServiceTaskProcessor { } } + + //alacarte SIs are NOT sent to sdnc. exceptions are listed in config variable + String svcTypes = execution.getVariable("URN_sdnc_si_svc_types") ?: "" + utils.log("DEBUG", "SDNC SI serviceTypes:" + svcTypes, isDebugEnabled) + List<String> svcList = Arrays.asList(svcTypes.split("\\s*,\\s*")); + boolean isSdncService= false + for (String listEntry : svcList){ + if (listEntry.equalsIgnoreCase(serviceType)){ + isSdncService = true + break; + } + } + + //All Macros are sent to SDNC, TRANSPORT(Macro) is sent to SDNW + //Alacartes are sent to SDNC if they are listed in config variable above + execution.setVariable("sendToSDNC", true) + if(execution.getVariable("sdncVersion").equals("1610")) //alacarte + { + if(!isSdncService){ + execution.setVariable("sendToSDNC", false) + } + } + + utils.log("DEBUG", "isSdncService: " + isSdncService, isDebugEnabled) + utils.log("DEBUG", "Send To SDNC: " + execution.getVariable("sendToSDNC"), isDebugEnabled) + utils.log("DEBUG", "Service Type: " + execution.getVariable("serviceType"), isDebugEnabled) + } }else{ boolean succInAAI = execution.getVariable("GENGS_SuccessIndicator") @@ -436,7 +446,7 @@ public class DoDeleteServiceInstance extends AbstractServiceTaskProcessor { utils.log("DEBUG"," *** Exit postProcessAAIGET *** ", isDebugEnabled) } - public void postProcessAAIDEL(Execution execution) { + public void postProcessAAIDEL(DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") utils.log("DEBUG"," ***** postProcessAAIDEL ***** ", isDebugEnabled) String msg = "" diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteVFCNetworkServiceInstance.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteVFCNetworkServiceInstance.groovy index 7e957be00a..c71cb0521e 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteVFCNetworkServiceInstance.groovy +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteVFCNetworkServiceInstance.groovy @@ -32,7 +32,7 @@ import org.openecomp.mso.rest.APIResponse import java.util.UUID;
import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.runtime.Execution
+import org.camunda.bpm.engine.delegate.DelegateExecution
import org.apache.commons.lang3.*
import org.apache.commons.codec.binary.Base64;
import org.springframework.web.util.UriUtils
@@ -46,7 +46,7 @@ import org.openecomp.mso.rest.APIResponse; */
public class DoDeleteVFCNetworkServiceInstance extends AbstractServiceTaskProcessor {
-
+
String vfcUrl = "/vfc/rest/v1/vfcadapter"
String host = "http://mso.mso.testlab.openecomp.org:8080"
@@ -60,7 +60,7 @@ public class DoDeleteVFCNetworkServiceInstance extends AbstractServiceTaskProces * Inclouds:
* generate the nsOperationKey
*/
- public void preProcessRequest (Execution execution) {
+ public void preProcessRequest (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
String msg = ""
utils.log("INFO", " *** preProcessRequest() *** ", isDebugEnabled)
@@ -101,7 +101,7 @@ public class DoDeleteVFCNetworkServiceInstance extends AbstractServiceTaskProces /**
* delete NS task
*/
- public void deleteNetworkService(Execution execution) {
+ public void deleteNetworkService(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
utils.log("INFO", " *** deleteNetworkService start *** ", isDebugEnabled)
String nsOperationKey = execution.getVariable("nsOperationKey");
@@ -121,7 +121,7 @@ public class DoDeleteVFCNetworkServiceInstance extends AbstractServiceTaskProces /**
* instantiate NS task
*/
- public void terminateNetworkService(Execution execution) {
+ public void terminateNetworkService(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
utils.log("INFO", " *** terminateNetworkService start *** ", isDebugEnabled)
String nsOperationKey = execution.getVariable("nsOperationKey")
@@ -140,7 +140,7 @@ public class DoDeleteVFCNetworkServiceInstance extends AbstractServiceTaskProces /**
* query NS task
*/
- public void queryNSProgress(Execution execution) {
+ public void queryNSProgress(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
utils.log("INFO", " *** queryNSProgress start *** ", isDebugEnabled)
String jobId = execution.getVariable("jobId")
@@ -160,10 +160,10 @@ public class DoDeleteVFCNetworkServiceInstance extends AbstractServiceTaskProces /**
* delay 5 sec
*/
- public void timeDelay(Execution execution) {
+ public void timeDelay(DelegateExecution execution) {
try {
Thread.sleep(5000);
- } catch(InterruptedException e) {
+ } catch(InterruptedException e) {
utils.log("INFO", "Time Delay exception" + e, isDebugEnabled)
}
}
@@ -171,7 +171,7 @@ public class DoDeleteVFCNetworkServiceInstance extends AbstractServiceTaskProces /**
* finish NS task
*/
- public void finishNSDelete(Execution execution) {
+ public void finishNSDelete(DelegateExecution execution) {
//no need to do anything util now
}
@@ -180,7 +180,7 @@ public class DoDeleteVFCNetworkServiceInstance extends AbstractServiceTaskProces * url: the url of the request
* requestBody: the body of the request
*/
- private APIResponse postRequest(Execution execution, String url, String requestBody){
+ private APIResponse postRequest(DelegateExecution execution, String url, String requestBody){
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
utils.log("INFO", " ======== Started Execute VFC adapter Post Process ======== ", isDebugEnabled)
utils.log("INFO", "url:"+url +"\nrequestBody:"+ requestBody, isDebugEnabled)
@@ -202,7 +202,7 @@ public class DoDeleteVFCNetworkServiceInstance extends AbstractServiceTaskProces * url: the url of the request
* requestBody: the body of the request
*/
- private APIResponse deleteRequest(Execution execution, String url, String requestBody){
+ private APIResponse deleteRequest(DelegateExecution execution, String url, String requestBody){
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
utils.log("INFO", " ======== Started Execute VFC adapter Delete Process ======== ", isDebugEnabled)
utils.log("INFO", "url:"+url +"\nrequestBody:"+ requestBody, isDebugEnabled)
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteVfModule.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteVfModule.groovy index 70a78f4837..a5c39b6998 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteVfModule.groovy +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteVfModule.groovy @@ -23,7 +23,7 @@ import javax.xml.parsers.DocumentBuilder import javax.xml.parsers.DocumentBuilderFactory import org.camunda.bpm.engine.delegate.BpmnError -import org.camunda.bpm.engine.runtime.Execution +import org.camunda.bpm.engine.delegate.DelegateExecution import org.openecomp.mso.bpmn.common.scripts.AaiUtil import org.openecomp.mso.bpmn.common.scripts.AbstractServiceTaskProcessor import org.openecomp.mso.bpmn.common.scripts.ExceptionUtil @@ -38,6 +38,8 @@ import org.w3c.dom.Element import org.xml.sax.InputSource import org.w3c.dom.Node import org.w3c.dom.NodeList; +import org.openecomp.mso.rest.RESTClient +import org.openecomp.mso.rest.RESTConfig /* Subflow for Delete VF Module. When no DoDeleteVfModuleRequest is specified on input, @@ -54,6 +56,7 @@ import org.w3c.dom.NodeList; * @param - cloudConfiguration* * @param - sdncVersion ("1610") * @param - retainResources +* @param - aLaCarte * * Outputs: * @param - WorkflowException @@ -66,7 +69,7 @@ public class DoDeleteVfModule extends AbstractServiceTaskProcessor{ ExceptionUtil exceptionUtil = new ExceptionUtil() JsonUtils jsonUtil = new JsonUtils() - public void initProcessVariables(Execution execution) { + public void initProcessVariables(DelegateExecution execution) { execution.setVariable("prefix",Prefix) execution.setVariable("DoDVfMod_contrailNetworkPolicyFqdnList", null) execution.setVariable("DoDVfMod_oamManagementV4Address", null) @@ -76,7 +79,7 @@ public class DoDeleteVfModule extends AbstractServiceTaskProcessor{ // parse the incoming DELETE_VF_MODULE request for the Generic Vnf and Vf Module Ids // and formulate the outgoing request for PrepareUpdateAAIVfModuleRequest - public void preProcessRequest(Execution execution) { + public void preProcessRequest(DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") initProcessVariables(execution) @@ -122,7 +125,7 @@ public class DoDeleteVfModule extends AbstractServiceTaskProcessor{ if (retainResources == null) { retainResources = false } - execution.setVariable("retainResources", retainResources) + execution.setVariable("retainResources", retainResources) } else { @@ -184,7 +187,7 @@ public class DoDeleteVfModule extends AbstractServiceTaskProcessor{ // build a SDNC vnf-topology-operation request for the specified action // (note: the action passed is expected to be 'changedelete' or 'delete') - public void prepSDNCAdapterRequest(Execution execution, String action) { + public void prepSDNCAdapterRequest(DelegateExecution execution, String action) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") String uuid = execution.getVariable('testReqId') // for junits @@ -262,7 +265,7 @@ public class DoDeleteVfModule extends AbstractServiceTaskProcessor{ // parse the incoming DELETE_VF_MODULE request // and formulate the outgoing VnfAdapterDeleteV1 request - public void prepVNFAdapterRequest(Execution execution) { + public void prepVNFAdapterRequest(DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") def requestId = UUID.randomUUID().toString() def origRequestId = execution.getVariable('requestId') @@ -304,7 +307,7 @@ public class DoDeleteVfModule extends AbstractServiceTaskProcessor{ // parse the incoming DELETE_VF_MODULE request // and formulate the outgoing UpdateAAIVfModuleRequest request - public void prepUpdateAAIVfModule(Execution execution) { + public void prepUpdateAAIVfModule(DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") def vnfId = execution.getVariable("vnfId") def vfModuleId = execution.getVariable("vfModuleId") @@ -322,7 +325,7 @@ public class DoDeleteVfModule extends AbstractServiceTaskProcessor{ // parse the incoming DELETE_VF_MODULE request // and formulate the outgoing DeleteAAIVfModuleRequest request - public void prepDeleteAAIVfModule(Execution execution) { + public void prepDeleteAAIVfModule(DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") def vnfId = execution.getVariable("vnfId") @@ -339,7 +342,7 @@ public class DoDeleteVfModule extends AbstractServiceTaskProcessor{ // generates a WorkflowException if // - - public void handleDoDeleteVfModuleFailure(Execution execution) { + public void handleDoDeleteVfModuleFailure(DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") utils.log("ERROR", "AAI error occurred deleting the Generic Vnf: " + execution.getVariable("DoDVfMod_deleteGenericVnfResponse"), isDebugEnabled) @@ -349,7 +352,7 @@ public class DoDeleteVfModule extends AbstractServiceTaskProcessor{ execution.setVariable("WorkflowException", exception) } - public void sdncValidateResponse(Execution execution, String response){ + public void sdncValidateResponse(DelegateExecution execution, String response){ def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix",Prefix) @@ -366,7 +369,7 @@ public class DoDeleteVfModule extends AbstractServiceTaskProcessor{ } } - public void postProcessVNFAdapterRequest(Execution execution) { + public void postProcessVNFAdapterRequest(DelegateExecution execution) { def method = getClass().getSimpleName() + '.postProcessVNFAdapterRequest(' + 'execution=' + execution.getId() + ')' @@ -443,7 +446,7 @@ public class DoDeleteVfModule extends AbstractServiceTaskProcessor{ logDebug(" *** COMPLETED postProcessVnfAdapterResponse Process*** ", isDebugLogEnabled) } - public void deleteNetworkPoliciesFromAAI(Execution execution) { + public void deleteNetworkPoliciesFromAAI(DelegateExecution execution) { def method = getClass().getSimpleName() + '.deleteNetworkPoliciesFromAAI(' + 'execution=' + execution.getId() + ')' @@ -571,7 +574,7 @@ public class DoDeleteVfModule extends AbstractServiceTaskProcessor{ * * @param execution The flow's execution instance. */ - public void prepUpdateAAIGenericVnf(Execution execution) { + public void prepUpdateAAIGenericVnf(DelegateExecution execution) { def method = getClass().getSimpleName() + '.prepUpdateAAIGenericVnf(' + 'execution=' + execution.getId() + ')' @@ -615,6 +618,89 @@ public class DoDeleteVfModule extends AbstractServiceTaskProcessor{ exceptionUtil.buildAndThrowWorkflowException(execution, 1002, 'Error in prepUpdateAAIGenericVnf(): ' + e.getMessage()) } } + + /** + * Using the vnfId and vfModuleId provided in the inputs, + * query AAI to get the corresponding VF Module info. + * A 200 response is expected with the VF Module info in the response body, + * Will determine VF Module's orchestration status if one exists + * + * @param execution The flow's execution instance. + */ + public void queryAAIVfModuleForStatus(DelegateExecution execution) { + def isDebugLogEnabled=execution.getVariable("isDebugLogEnabled") + def method = getClass().getSimpleName() + '.queryAAIVfModuleForStatus(' + + 'execution=' + execution.getId() + + ')' + logDebug('Entered ' + method, isDebugLogEnabled) + + execution.setVariable(Prefix + 'orchestrationStatus', '') + + try { + def vnfId = execution.getVariable('vnfId') + def vfModuleId = execution.getVariable('vfModuleId') + + AaiUtil aaiUriUtil = new AaiUtil(this) + String aai_uri = aaiUriUtil.getNetworkGenericVnfUri(execution) + logDebug('AAI URI is: ' + aai_uri, isDebugLogEnabled) + + String endPoint = execution.getVariable("URN_aai_endpoint") + "${aai_uri}/" + UriUtils.encode(vnfId, "UTF-8") + + "/vf-modules/vf-module/" + UriUtils.encode(vfModuleId, "UTF-8") + utils.logAudit("AAI endPoint: " + endPoint) + + try { + RESTConfig config = new RESTConfig(endPoint); + def responseData = '' + def aaiRequestId = UUID.randomUUID().toString() + RESTClient client = new RESTClient(config). + addHeader('X-TransactionId', aaiRequestId). + addHeader('X-FromAppId', 'MSO'). + addHeader('Content-Type', 'application/xml'). + addHeader('Accept','application/xml'); + logDebug('sending GET to AAI endpoint \'' + endPoint + '\'', isDebugLogEnabled) + APIResponse response = client.httpGet() + utils.logAudit("createVfModule - invoking httpGet() to AAI") + + responseData = response.getResponseBodyAsString() + if (responseData != null) { + logDebug("Received generic VNF data: " + responseData, isDebugLogEnabled) + + } + + utils.logAudit("deleteVfModule - queryAAIVfModule Response: " + responseData) + utils.logAudit("deleteVfModule - queryAAIVfModule ResponseCode: " + response.getStatusCode()) + + execution.setVariable(Prefix + 'queryAAIVfModuleForStatusResponseCode', response.getStatusCode()) + execution.setVariable(Prefix + 'queryAAIVfModuleForStatusResponse', responseData) + logDebug('Response code:' + response.getStatusCode(), isDebugLogEnabled) + logDebug('Response:' + System.lineSeparator() + responseData, isDebugLogEnabled) + // Retrieve VF Module info and its orchestration status; if not found, do nothing + if (response.getStatusCode() == 200) { + // Parse the VNF record from A&AI to find base module info + logDebug('Parsing the VNF data to find orchestration status', isDebugLogEnabled) + if (responseData != null) { + def vfModuleText = utils.getNodeXml(responseData, "vf-module") + //def xmlVfModule= new XmlSlurper().parseText(vfModuleText) + def orchestrationStatus = utils.getNodeText1(vfModuleText, "orchestration-status") + execution.setVariable(Prefix + "orchestrationStatus", orchestrationStatus) + logDebug("Received orchestration status from A&AI: " + orchestrationStatus, isDebugLogEnabled) + + } + } + } catch (Exception ex) { + ex.printStackTrace() + logDebug('Exception occurred while executing AAI GET:' + ex.getMessage(),isDebugLogEnabled) + exceptionUtil.buildAndThrowWorkflowException(execution, 1002, 'AAI GET Failed:' + ex.getMessage()) + } + logDebug('Exited ' + method, isDebugLogEnabled) + } catch (BpmnError e) { + throw e; + } catch (Exception e) { + logError('Caught exception in ' + method, e) + exceptionUtil.buildAndThrowWorkflowException(execution, 1002, 'Error in queryAAIVfModuleForStatus(): ' + e.getMessage()) + } + } + diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteVfModuleFromVnf.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteVfModuleFromVnf.groovy index 9d9f0bb25a..428f9aa1d9 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteVfModuleFromVnf.groovy +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteVfModuleFromVnf.groovy @@ -4,7 +4,7 @@ import javax.xml.parsers.DocumentBuilder import javax.xml.parsers.DocumentBuilderFactory
import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.runtime.Execution
+import org.camunda.bpm.engine.delegate.DelegateExecution
import org.openecomp.mso.bpmn.common.scripts.AaiUtil
import org.openecomp.mso.bpmn.common.scripts.ExceptionUtil
import org.openecomp.mso.bpmn.common.scripts.SDNCAdapterUtils
@@ -27,13 +27,13 @@ public class DoDeleteVfModuleFromVnf extends VfModuleBase { ExceptionUtil exceptionUtil = new ExceptionUtil()
JsonUtils jsonUtil = new JsonUtils()
- public void initProcessVariables(Execution execution) {
+ public void initProcessVariables(DelegateExecution execution) {
execution.setVariable("prefix",Prefix)
execution.setVariable("DDVFMV_contrailNetworkPolicyFqdnList", null)
}
// parse the incoming request
- public void preProcessRequest(Execution execution) {
+ public void preProcessRequest(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
initProcessVariables(execution)
@@ -100,7 +100,7 @@ public class DoDeleteVfModuleFromVnf extends VfModuleBase { }
}
- public void queryAAIForVfModule(Execution execution) {
+ public void queryAAIForVfModule(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.queryAAIForVfModule(' +
'execution=' + execution.getId() +
')'
@@ -155,7 +155,7 @@ public class DoDeleteVfModuleFromVnf extends VfModuleBase { *
* @param execution The flow's execution instance.
*/
- public void validateVfModule(Execution execution) {
+ public void validateVfModule(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.validateVfModule(' +
'execution=' + execution.getId() +
')'
@@ -200,7 +200,7 @@ public class DoDeleteVfModuleFromVnf extends VfModuleBase { }
- public void preProcessSDNCDeactivateRequest(Execution execution){
+ public void preProcessSDNCDeactivateRequest(DelegateExecution execution){
def isDebugLogEnabled = execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix", Prefix)
logDebug(" ======== STARTED preProcessSDNCDeactivateRequest ======== ", isDebugLogEnabled)
@@ -224,7 +224,7 @@ public class DoDeleteVfModuleFromVnf extends VfModuleBase { logDebug("======== COMPLETED preProcessSDNCDeactivateRequest ======== ", isDebugLogEnabled)
}
- public void preProcessSDNCUnassignRequest(Execution execution) {
+ public void preProcessSDNCUnassignRequest(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.preProcessSDNCUnassignRequest(' +
'execution=' + execution.getId() +
')'
@@ -248,7 +248,7 @@ public class DoDeleteVfModuleFromVnf extends VfModuleBase { logDebug("======== COMPLETED preProcessSDNCUnassignRequest Process ======== ", isDebugLogEnabled)
}
- public String buildSDNCRequest(Execution execution, String svcInstId, String action){
+ public String buildSDNCRequest(DelegateExecution execution, String svcInstId, String action){
String uuid = execution.getVariable('testReqId') // for junits
if(uuid==null){
@@ -306,7 +306,7 @@ public class DoDeleteVfModuleFromVnf extends VfModuleBase { return sdncRequest
}
- public void validateSDNCResponse(Execution execution, String response, String method){
+ public void validateSDNCResponse(DelegateExecution execution, String response, String method){
def isDebugLogEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
logDebug(" *** STARTED ValidateSDNCResponse Process*** ", isDebugLogEnabled)
@@ -334,7 +334,7 @@ public class DoDeleteVfModuleFromVnf extends VfModuleBase { // parse the incoming DELETE_VF_MODULE request
// and formulate the outgoing VnfAdapterDeleteV1 request
- public void prepVNFAdapterRequest(Execution execution) {
+ public void prepVNFAdapterRequest(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
def requestId = UUID.randomUUID().toString()
def origRequestId = execution.getVariable('requestId')
@@ -377,7 +377,7 @@ public class DoDeleteVfModuleFromVnf extends VfModuleBase { // generates a WorkflowException if
// -
- public void handleDoDeleteVfModuleFailure(Execution execution) {
+ public void handleDoDeleteVfModuleFailure(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
utils.log("ERROR", "AAI error occurred deleting the Generic Vnf: "
+ execution.getVariable("DDVFMV_deleteGenericVnfResponse"), isDebugEnabled)
@@ -387,7 +387,7 @@ public class DoDeleteVfModuleFromVnf extends VfModuleBase { execution.setVariable("WorkflowException", exception)
}
- public void postProcessVNFAdapterRequest(Execution execution) {
+ public void postProcessVNFAdapterRequest(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.postProcessVNFAdapterRequest(' +
'execution=' + execution.getId() +
')'
@@ -455,7 +455,7 @@ public class DoDeleteVfModuleFromVnf extends VfModuleBase { logDebug(" *** COMPLETED postProcessVnfAdapterResponse Process*** ", isDebugLogEnabled)
}
- public void deleteNetworkPoliciesFromAAI(Execution execution) {
+ public void deleteNetworkPoliciesFromAAI(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.deleteNetworkPoliciesFromAAI(' +
'execution=' + execution.getId() +
')'
@@ -579,7 +579,7 @@ public class DoDeleteVfModuleFromVnf extends VfModuleBase { }
// and formulate the outgoing DeleteAAIVfModuleRequest request
- public void prepDeleteAAIVfModule(Execution execution) {
+ public void prepDeleteAAIVfModule(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
def vnfId = execution.getVariable("vnfId")
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteVfModuleVolumeV2.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteVfModuleVolumeV2.groovy index c303faafbe..7784e08958 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteVfModuleVolumeV2.groovy +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteVfModuleVolumeV2.groovy @@ -27,7 +27,7 @@ import java.util.concurrent.ExecutionException; import org.springframework.web.util.UriUtils
import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.runtime.Execution
+import org.camunda.bpm.engine.delegate.DelegateExecution
import org.openecomp.mso.bpmn.common.scripts.AaiUtil
import org.openecomp.mso.bpmn.common.scripts.AbstractServiceTaskProcessor
import org.openecomp.mso.bpmn.common.scripts.ExceptionUtil
@@ -44,7 +44,7 @@ class DoDeleteVfModuleVolumeV2 extends AbstractServiceTaskProcessor { JsonUtils jsonUtil = new JsonUtils()
@Override
- public void preProcessRequest(Execution execution) {
+ public void preProcessRequest(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
preProcessRequest(execution, isDebugEnabled)
}
@@ -54,7 +54,7 @@ class DoDeleteVfModuleVolumeV2 extends AbstractServiceTaskProcessor { * @param execution
* @param isDebugLogEnabled
*/
- public void preProcessRequest (Execution execution, isDebugEnabled) {
+ public void preProcessRequest (DelegateExecution execution, isDebugEnabled) {
//Input:
// msoRequestId
@@ -96,7 +96,7 @@ class DoDeleteVfModuleVolumeV2 extends AbstractServiceTaskProcessor { * @param execution
* @param isDebugLogEnabled
*/
- public void postProcess(Execution execution, isDebugLogEnabled) {
+ public void postProcess(DelegateExecution execution, isDebugLogEnabled) {
execution.setVariable('wasDeleted', 'true')
}
@@ -107,7 +107,7 @@ class DoDeleteVfModuleVolumeV2 extends AbstractServiceTaskProcessor { * @param execution
* @param isDebugEnabled
*/
- public void callRESTQueryAAICloudRegion(Execution execution, isDebugEnabled) {
+ public void callRESTQueryAAICloudRegion(DelegateExecution execution, isDebugEnabled) {
String cloudRegion = execution.getVariable('lcpCloudRegionId')
String aai_endpoint = execution.getVariable("URN_aai_endpoint")
@@ -140,7 +140,7 @@ class DoDeleteVfModuleVolumeV2 extends AbstractServiceTaskProcessor { * @param execution
* @param isDebugLogEnabled
*/
- public void callRESTQueryAAIForVolumeGroup(Execution execution, isDebugLogEnabled) {
+ public void callRESTQueryAAIForVolumeGroup(DelegateExecution execution, isDebugLogEnabled) {
def tenantId = execution.getVariable('tenantId')
def volumeGroupId = execution.getVariable('volumeGroupId')
@@ -215,7 +215,7 @@ class DoDeleteVfModuleVolumeV2 extends AbstractServiceTaskProcessor { * @param execution
* @param isDebugLogEnabled
*/
- public void prepareVnfAdapterDeleteRequest(Execution execution, isDebugLogEnabled) {
+ public void prepareVnfAdapterDeleteRequest(DelegateExecution execution, isDebugLogEnabled) {
def cloudRegion = execution.getVariable(prefix+'aicCloudRegion')
def tenantId = execution.getVariable('tenantId') // input parameter (optional) - see preProcessRequest
def volumeGroupId = execution.getVariable('volumeGroupId') // input parameter (required)
@@ -256,7 +256,7 @@ class DoDeleteVfModuleVolumeV2 extends AbstractServiceTaskProcessor { * @param execution
* @param isDebugEnabled
*/
- public void callRESTDeleteAAIVolumeGroup(Execution execution, isDebugEnabled) {
+ public void callRESTDeleteAAIVolumeGroup(DelegateExecution execution, isDebugEnabled) {
// get variables
String queryAAIVolGrpIdResponse = execution.getVariable(prefix+"queryAAIVolGrpResponse")
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteVnf.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteVnf.groovy index fbbb07ec4d..5e6fff2fd4 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteVnf.groovy +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteVnf.groovy @@ -25,7 +25,7 @@ import javax.xml.parsers.DocumentBuilderFactory import org.apache.commons.lang3.*
import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.runtime.Execution
+import org.camunda.bpm.engine.delegate.DelegateExecution
import org.openecomp.mso.bpmn.common.scripts.AbstractServiceTaskProcessor
import org.openecomp.mso.bpmn.common.scripts.ExceptionUtil
import org.openecomp.mso.bpmn.common.scripts.VidUtils
@@ -57,7 +57,7 @@ class DoDeleteVnf extends AbstractServiceTaskProcessor { * @param - execution
*
*/
- public void preProcessRequest(Execution execution) {
+ public void preProcessRequest(DelegateExecution execution) {
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
utils.log("DEBUG", " *** STARTED DoDeleteVnf PreProcessRequest Process*** ", isDebugEnabled)
@@ -86,7 +86,7 @@ class DoDeleteVnf extends AbstractServiceTaskProcessor { }
- public void processGetVnfResponse(Execution execution){
+ public void processGetVnfResponse(DelegateExecution execution){
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
utils.log("DEBUG", " *** STARTED DoDeleteVnf processGetVnfResponse Process *** ", isDebugEnabled)
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteVnfAndModules.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteVnfAndModules.groovy index 3f7ffbf28c..7074df5a91 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteVnfAndModules.groovy +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteVnfAndModules.groovy @@ -19,12 +19,13 @@ */ package org.openecomp.mso.bpmn.infrastructure.scripts +import java.awt.Component.BaselineResizeBehavior import java.util.UUID; import org.json.JSONObject; import org.json.JSONArray; import org.camunda.bpm.engine.delegate.BpmnError -import org.camunda.bpm.engine.runtime.Execution; +import org.camunda.bpm.engine.delegate.DelegateExecution; import static org.apache.commons.lang3.StringUtils.*; @@ -37,6 +38,10 @@ import org.openecomp.mso.bpmn.common.scripts.AbstractServiceTaskProcessor import org.openecomp.mso.bpmn.common.scripts.ExceptionUtil import org.openecomp.mso.bpmn.common.scripts.SDNCAdapterUtils import org.openecomp.mso.bpmn.common.scripts.VidUtils +import org.openecomp.mso.bpmn.core.domain.ModelInfo +import org.openecomp.mso.bpmn.core.domain.ModuleResource +import org.openecomp.mso.bpmn.core.domain.ServiceDecomposition +import org.openecomp.mso.bpmn.core.domain.VnfResource import org.openecomp.mso.bpmn.core.RollbackData import org.openecomp.mso.bpmn.core.WorkflowException import org.springframework.web.util.UriUtils; @@ -60,7 +65,7 @@ class DoDeleteVnfAndModules extends AbstractServiceTaskProcessor { * @param - execution * */ - public void preProcessRequest(Execution execution) { + public void preProcessRequest(DelegateExecution execution) { def isDebugEnabled = execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix",Prefix) utils.log("DEBUG", " *** STARTED DoDeleteVnfAndModules PreProcessRequest Process*** ", isDebugEnabled) @@ -95,6 +100,9 @@ class DoDeleteVnfAndModules extends AbstractServiceTaskProcessor { execution.setVariable("DDVAM_sdncVersion", sdncVersion) utils.log("DEBUG", "Incoming Sdnc Version is: " + sdncVersion, isDebugEnabled) + // Set aLaCarte flag to false + execution.setVariable("aLaCarte", false) + String sdncCallbackUrl = (String) execution.getVariable('URN_mso_workflow_sdncadapter_callback') if (sdncCallbackUrl == null || sdncCallbackUrl.trim().isEmpty()) { def msg = 'Required variable \'URN_mso_workflow_sdncadapter_callback\' is missing' @@ -103,7 +111,8 @@ class DoDeleteVnfAndModules extends AbstractServiceTaskProcessor { } execution.setVariable("sdncCallbackUrl", sdncCallbackUrl) utils.logAudit("SDNC Callback URL: " + sdncCallbackUrl) - logDebug("SDNC Callback URL is: " + sdncCallbackUrl, isDebugEnabled) + logDebug("SDNC Callback URL is: " + sdncCallbackUrl, isDebugEnabled) + if (!sdncVersion.equals("1702")) { //String vnfModelInfo = execution.getVariable("vnfModelInfo") @@ -153,8 +162,32 @@ class DoDeleteVnfAndModules extends AbstractServiceTaskProcessor { globalSubscriberId = "" } execution.setVariable("DDVAM_globalSubscriberId", globalSubscriberId) - utils.log("DEBUG", "Incoming Global Subscriber Id is: " + globalSubscriberId, isDebugEnabled) + utils.log("DEBUG", "Incoming Global Subscriber Id is: " + globalSubscriberId, isDebugEnabled) + + } + execution.setVariable("DDVAM_vfModulesFromDecomposition", null) + // Retrieve serviceDecomposition if present + ServiceDecomposition serviceDecomposition = execution.getVariable("serviceDecomposition") + if (serviceDecomposition != null) { + utils.log("DEBUG", "Getting Catalog DB data from ServiceDecomposition object: " + serviceDecomposition.toJsonString(), isDebugEnabled) + List<VnfResource> vnfs = serviceDecomposition.getServiceVnfs() + utils.log("DEBUG", "Read vnfs", isDebugEnabled) + if (vnfs == null) { + utils.log("DEBUG", "Error - vnfs are empty in serviceDecomposition object", isDebugEnabled) + exceptionUtil.buildAndThrowWorkflowException(execution, 2500, "Internal Error - Occured in preProcessRequest - vnfs are empty") + } + VnfResource vnf = vnfs[0] + + if (vnf == null) { + utils.log("DEBUG", "Error - vnf is empty in serviceDecomposition object", isDebugEnabled) + exceptionUtil.buildAndThrowWorkflowException(execution, 2500, "Internal Error - Occured in preProcessRequest - vnf is empty") + } + + List<ModuleResource> vfModules = vnf.getAllVfModuleObjects() + + execution.setVariable("DDVAM_vfModulesFromDecomposition", vfModules) } + execution.setVariable("DDVAM_moduleCount", 0) execution.setVariable("DDVAM_nextModule", 0) @@ -172,7 +205,7 @@ class DoDeleteVnfAndModules extends AbstractServiceTaskProcessor { - public void preProcessAddOnModule(Execution execution){ + public void preProcessAddOnModule(DelegateExecution execution){ def isDebugLogEnabled = execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix", Prefix) logDebug(" ======== STARTED preProcessAddOnModule ======== ", isDebugLogEnabled) @@ -212,7 +245,7 @@ class DoDeleteVnfAndModules extends AbstractServiceTaskProcessor { * * @param execution The flow's execution instance. */ - public void queryAAIVfModule(Execution execution) { + public void queryAAIVfModule(DelegateExecution execution) { def isDebugLogEnabled=execution.getVariable("isDebugLogEnabled") def method = getClass().getSimpleName() + '.queryAAIVfModule(' + 'execution=' + execution.getId() + @@ -247,6 +280,7 @@ class DoDeleteVnfAndModules extends AbstractServiceTaskProcessor { logDebug('Response code:' + response.getStatusCode(), isDebugLogEnabled) logDebug('Response:' + System.lineSeparator() + responseData, isDebugLogEnabled) //Map<String, String>[] vfModules = new HashMap<String,String>[] + List<ModuleResource> vfModulesFromDecomposition = execution.getVariable("DDVAM_vfModulesFromDecomposition") def vfModulesList = new ArrayList<Map<String,String>>() def vfModules = null def vfModuleBaseEntry = null @@ -261,15 +295,44 @@ class DoDeleteVnfAndModules extends AbstractServiceTaskProcessor { vfModules = xmlVfModules.'**'.findAll {it.name() == "vf-module"} execution.setVariable("DDVAM_moduleCount", vfModules.size()) int vfModulesSize = 0 + ModelInfo vfModuleModelInfo = null for (i in 0..vfModules.size()-1) { def vfModuleXml = groovy.xml.XmlUtil.serialize(vfModules[i]) Map<String, String> vfModuleEntry = new HashMap<String, String>() def vfModuleId = utils.getNodeText1(vfModuleXml, "vf-module-id") vfModuleEntry.put("vfModuleId", vfModuleId) - def vfModuleName = utils.getNodeText1(vfModuleXml, "vf-module-name") + def vfModuleName = utils.getNodeText1(vfModuleXml, "vf-module-name") vfModuleEntry.put("vfModuleName", vfModuleName) + // Find the model for this vf module in decomposition if specified + if (vfModulesFromDecomposition != null) { + logDebug("vfModulesFromDecomposition is not null", isDebugLogEnabled) + def vfModuleUuid = utils.getNodeText1(vfModuleXml, "model-version-id") + if (vfModuleUuid == null) { + vfModuleUuid = utils.getNodeText1(vfModuleXml, "persona-model-version") + } + logDebug("vfModule UUID is: " + vfModuleUuid, isDebugLogEnabled) + for (j in 0..vfModulesFromDecomposition.size()-1) { + ModuleResource mr = vfModulesFromDecomposition[j] + if (mr.getModelInfo().getModelUuid() == vfModuleUuid) { + logDebug("Found modelInfo", isDebugLogEnabled) + vfModuleModelInfo = mr.getModelInfo() + break + } + + } + } + if (vfModuleModelInfo != null) { + String vfModuleModelInfoString = vfModuleModelInfo.toString() + def vfModuleModelInfoValue = jsonUtil.getJsonValue(vfModuleModelInfoString, "modelInfo") + vfModuleEntry.put("vfModuleModelInfo", vfModuleModelInfoValue) + } + else { + vfModuleEntry.put("vfModuleModelInfo", null) + } + + def isBaseVfModule = utils.getNodeText(vfModuleXml, "is-base-vf-module") // Save base vf module for last if (isBaseVfModule == "true") { @@ -301,7 +364,7 @@ class DoDeleteVnfAndModules extends AbstractServiceTaskProcessor { } } - public void prepareNextModuleToDelete(Execution execution){ + public void prepareNextModuleToDelete(DelegateExecution execution){ def isDebugLogEnabled = execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix", Prefix) logDebug(" ======== STARTED prepareNextModuleToDelete ======== ", isDebugLogEnabled) @@ -315,11 +378,10 @@ class DoDeleteVnfAndModules extends AbstractServiceTaskProcessor { execution.setVariable("DDVAM_vfModuleId", vfModuleId) def vfModuleName = vfModule.get("vfModuleName") - execution.setVariable("DDVAM_vfModuleName", vfModuleName) - + execution.setVariable("DDVAM_vfModuleName", vfModuleName) - // HARDCODED FOR NOW - def vfModuleModelInfo = "" + def vfModuleModelInfo = vfModule.get("vfModuleModelInfo") + logDebug("vfModuleModelInfo for module delete: " + vfModuleModelInfo, isDebugLogEnabled) execution.setVariable("DDVAM_vfModuleModelInfo", vfModuleModelInfo) }catch(Exception e){ @@ -329,7 +391,7 @@ class DoDeleteVnfAndModules extends AbstractServiceTaskProcessor { logDebug("======== COMPLETED prepareNextModuleToDelete ======== ", isDebugLogEnabled) } - public void preProcessSDNCDeactivateRequest(Execution execution){ + public void preProcessSDNCDeactivateRequest(DelegateExecution execution){ def isDebugLogEnabled = execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix", Prefix) logDebug(" ======== STARTED preProcessSDNCDeactivateRequest ======== ", isDebugLogEnabled) @@ -353,7 +415,7 @@ class DoDeleteVnfAndModules extends AbstractServiceTaskProcessor { logDebug("======== COMPLETED preProcessSDNCDeactivateRequest ======== ", isDebugLogEnabled) } - public void preProcessSDNCUnassignRequest(Execution execution) { + public void preProcessSDNCUnassignRequest(DelegateExecution execution) { def method = getClass().getSimpleName() + '.preProcessSDNCUnassignRequest(' + 'execution=' + execution.getId() + ')' @@ -378,7 +440,7 @@ class DoDeleteVnfAndModules extends AbstractServiceTaskProcessor { logDebug("======== COMPLETED preProcessSDNCUnassignRequest Process ======== ", isDebugLogEnabled) } - public String buildSDNCRequest(Execution execution, String svcInstId, String action){ + public String buildSDNCRequest(DelegateExecution execution, String svcInstId, String action){ String uuid = execution.getVariable('testReqId') // for junits if(uuid==null){ @@ -443,7 +505,7 @@ class DoDeleteVnfAndModules extends AbstractServiceTaskProcessor { return sdncRequest } - public void validateSDNCResponse(Execution execution, String response, String method){ + public void validateSDNCResponse(DelegateExecution execution, String response, String method){ def isDebugLogEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix",Prefix) logDebug(" *** STARTED ValidateSDNCResponse Process*** ", isDebugLogEnabled) diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoUpdateE2EServiceInstance.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoUpdateE2EServiceInstance.groovy new file mode 100644 index 0000000000..0372d955b5 --- /dev/null +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoUpdateE2EServiceInstance.groovy @@ -0,0 +1,545 @@ +/*-
+ * ============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.domain.ServiceDecomposition
+import org.openecomp.mso.bpmn.core.domain.ServiceInstance
+import org.openecomp.mso.bpmn.core.domain.ModelInfo
+import org.openecomp.mso.bpmn.core.json.JsonUtils
+import org.openecomp.mso.bpmn.common.scripts.AaiUtil
+import org.openecomp.mso.bpmn.common.scripts.AbstractServiceTaskProcessor
+import org.openecomp.mso.bpmn.common.scripts.ExceptionUtil
+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 javax.xml.parsers.DocumentBuilder
+import javax.xml.parsers.DocumentBuilderFactory
+
+import org.camunda.bpm.engine.delegate.BpmnError
+import org.camunda.bpm.engine.delegate.DelegateExecution
+import org.json.JSONObject;
+import org.json.JSONArray;
+import org.apache.commons.lang3.*
+import org.apache.commons.codec.binary.Base64;
+import org.springframework.web.util.UriUtils;
+
+import org.w3c.dom.Document
+import org.w3c.dom.Element
+import org.w3c.dom.Node
+import org.w3c.dom.NodeList
+import org.xml.sax.InputSource
+/**
+ * This groovy class supports the <class>DoCreateServiceInstance.bpmn</class> process.
+ *
+ * Inputs:
+ * @param - msoRequestId
+ * @param - globalSubscriberId
+ * @param - subscriptionServiceType
+ * @param - serviceInstanceId
+ * @param - serviceInstanceName - O
+ * @param - serviceModelInfo
+ * @param - productFamilyId
+ * @param - disableRollback
+ * @param - failExists - TODO
+ * @param - serviceInputParams (should contain aic_zone for serviceTypes TRANSPORT,ATM)
+ * @param - sdncVersion ("1610")
+ * @param - serviceDecomposition - Decomposition for R1710
+ * (if macro provides serviceDecompsition then serviceModelInfo, serviceInstanceId & serviceInstanceName will be ignored)
+ *
+ * Outputs:
+ * @param - rollbackData (localRB->null)
+ * @param - rolledBack (no localRB->null, localRB F->false, localRB S->true)
+ * @param - WorkflowException
+ * @param - serviceInstanceName - (GET from AAI if null in input)
+ *
+ */
+public class DoUpdateE2EServiceInstance extends AbstractServiceTaskProcessor {
+
+ String Prefix="DUPDSI_"
+ private static final String DebugFlag = "isDebugEnabled"
+
+ ExceptionUtil exceptionUtil = new ExceptionUtil()
+ JsonUtils jsonUtil = new JsonUtils()
+
+ public void preProcessRequest (DelegateExecution execution) {
+ //only for dug
+ execution.setVariable("isDebugLogEnabled","true")
+ execution.setVariable("unit_test", "true")
+ execution.setVariable("skipVFC", "true")
+
+ def method = getClass().getSimpleName() + '.preProcessRequest(' +'execution=' + execution.getId() +')'
+ def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
+ utils.log("INFO","Entered " + method, isDebugEnabled)
+ String msg = ""
+ utils.log("INFO"," ***** Enter DoUpdateE2EServiceInstance preProcessRequest *****", isDebugEnabled)
+
+ utils.log("INFO"," unit test : " + execution.getVariable("unit_test"), isDebugEnabled)
+
+ try {
+ execution.setVariable("prefix", Prefix)
+ //Inputs
+ //requestDetails.subscriberInfo. for AAI GET & PUT & SDNC assignToplology
+ String globalSubscriberId = execution.getVariable("globalSubscriberId") //globalCustomerId
+ utils.log("INFO"," ***** globalSubscriberId *****" + globalSubscriberId, isDebugEnabled)
+
+ //requestDetails.requestParameters. for AAI PUT & SDNC assignTopology
+ String serviceType = execution.getVariable("serviceType")
+ utils.log("INFO"," ***** serviceType *****" + serviceType, isDebugEnabled)
+
+ //requestDetails.requestParameters. for SDNC assignTopology
+ String productFamilyId = execution.getVariable("productFamilyId") //AAI productFamilyId
+
+ if (isBlank(globalSubscriberId)) {
+ msg = "Input globalSubscriberId is null"
+ utils.log("INFO", msg, isDebugEnabled)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 500, msg)
+ }
+
+ if (isBlank(serviceType)) {
+ msg = "Input serviceType is null"
+ utils.log("INFO", msg, isDebugEnabled)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 500, msg)
+ }
+
+ //Generated in parent for AAI
+ String serviceInstanceId = execution.getVariable("serviceInstanceId")
+ if (isBlank(serviceInstanceId)){
+ msg = "Input serviceInstanceId is null"
+ utils.log("INFO", msg, isDebugEnabled)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 500, msg)
+ }
+
+ if (productFamilyId == null) {
+ execution.setVariable("productFamilyId", "")
+ }
+
+ String sdncCallbackUrl = execution.getVariable('URN_mso_workflow_sdncadapter_callback')
+ if (isBlank(sdncCallbackUrl)) {
+ msg = "URN_mso_workflow_sdncadapter_callback is null"
+ utils.log("INFO", msg, isDebugEnabled)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 500, msg)
+ }
+ execution.setVariable("sdncCallbackUrl", sdncCallbackUrl)
+ utils.log("INFO","SDNC Callback URL: " + sdncCallbackUrl, isDebugEnabled)
+
+ //requestDetails.modelInfo.for AAI PUT servieInstanceData
+ //requestDetails.requestInfo. for AAI GET/PUT serviceInstanceData
+ String serviceInstanceName = execution.getVariable("serviceInstanceName")
+ //String serviceInstanceId = execution.getVariable("serviceInstanceId")
+ String uuiRequest = execution.getVariable("uuiRequest")
+ utils.log("INFO","uuiRequest: " + uuiRequest, isDebugEnabled)
+
+ String modelInvariantUuid = jsonUtil.getJsonValue(uuiRequest, "service.serviceDefId")
+ utils.log("INFO","modelInvariantUuid: " + modelInvariantUuid, isDebugEnabled)
+
+ String modelUuid = jsonUtil.getJsonValue(uuiRequest, "service.templateId")
+ utils.log("INFO","modelUuid: " + modelUuid, isDebugEnabled)
+
+ String serviceModelName = jsonUtil.getJsonValue(uuiRequest, "service.parameters.templateName")
+ utils.log("INFO","serviceModelName: " + serviceModelName, isDebugEnabled)
+ execution.setVariable("serviceModelName", serviceModelName)
+
+ //aai serviceType and Role can be setted as fixed value now.
+ String aaiServiceType = serviceType
+ String aaiServiceRole = serviceType+"Role"
+
+ execution.setVariable("modelInvariantUuid", modelInvariantUuid)
+ execution.setVariable("model-invariant-id-target", modelInvariantUuid)
+ execution.setVariable("modelUuid", modelUuid)
+ execution.setVariable("model-version-id-target", modelUuid_target)
+
+ //AAI PUT
+ String oStatus = execution.getVariable("initialStatus") ?: ""
+ utils.log("INFO","oStatus: " + oStatus, isDebugEnabled)
+ if ("TRANSPORT".equalsIgnoreCase(serviceType))
+ {
+ oStatus = "Update"
+ }
+
+ String statusLine = isBlank(oStatus) ? "" : "<orchestration-status>${oStatus}</orchestration-status>"
+ utils.log("INFO","statusLine: " + statusLine, isDebugEnabled)
+ AaiUtil aaiUriUtil = new AaiUtil(this)
+ utils.log("INFO","start create aai uri: " + aaiUriUtil, isDebugEnabled)
+ String aai_uri = aaiUriUtil.getBusinessCustomerUri(execution)
+ utils.log("INFO","aai_uri: " + aai_uri, isDebugEnabled)
+ String namespace = aaiUriUtil.getNamespaceFromUri(aai_uri)
+ utils.log("INFO","namespace: " + namespace, isDebugEnabled)
+ /*
+ String serviceInstanceData =
+ """<service-instance xmlns=\"${namespace}\">
+ <service-instance-id>${serviceInstanceId}</service-instance-id>
+ <service-instance-name>${serviceInstanceName}</service-instance-name>
+ <service-type>${aaiServiceType}</service-type>
+ <service-role>${aaiServiceRole}</service-role>
+ ${statusLine}
+ <model-invariant-id>${modelInvariantUuid}</model-invariant-id>
+ <model-version-id>${modelUuid}</model-version-id>
+ </service-instance>""".trim()
+ */
+ //begin only for test
+ String serviceInstanceData =
+ """<service-instance xmlns=\"${namespace}\">
+ <service-instance-id>${serviceInstanceId}</service-instance-id>
+ <service-instance-name>${serviceInstanceName}</service-instance-name>
+ <service-type>${aaiServiceType}</service-type>
+ <service-role>${aaiServiceRole}</service-role>
+ ${statusLine}
+ </service-instance>""".trim()
+ //end only for test
+ 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 create Service Instance in AAI - " + "\n" + serviceInstanceData, isDebugEnabled)
+
+ execution.setVariable("serviceSDNCCreate", "false")
+ execution.setVariable("operationStatus", "Waiting deploy resource...")
+
+ } catch (BpmnError e) {
+ throw e;
+ } catch (Exception ex){
+ msg = "Exception in preProcessRequest " + ex.getMessage()
+ utils.log("INFO", msg, isDebugEnabled)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg)
+ }
+ utils.log("INFO", "Exited " + method, isDebugEnabled)
+ }
+
+ public void postProcessAAIGET(DelegateExecution execution) {
+ def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
+ utils.log("INFO"," ***** postProcessAAIGET ***** ", isDebugEnabled)
+ String msg = ""
+
+ try {
+ String serviceInstanceId = execution.getVariable("serviceInstanceId")
+ boolean foundInAAI = execution.getVariable("GENGS_FoundIndicator")
+ String serviceType = ""
+
+ if(foundInAAI){
+ utils.log("INFO","Found Service-instance in AAI", isDebugEnabled)
+
+ String siData = execution.getVariable("GENGS_service")
+ utils.log("INFO", "SI Data", isDebugEnabled)
+ if (isBlank(siData))
+ {
+ msg = "Could not retrive ServiceInstance data from AAI, Id:" + serviceInstanceId
+ utils.log("INFO", msg, isDebugEnabled)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 500, msg)
+ }
+ else
+ {
+ utils.log("INFO", "SI Data" + siData, isDebugEnabled)
+
+ InputSource source = new InputSource(new StringReader(siData));
+ DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
+ DocumentBuilder docBuilder = docFactory.newDocumentBuilder()
+ Document serviceXml = docBuilder.parse(source)
+ serviceXml.getDocumentElement().normalize()
+
+ // Get Template uuid and version
+ if (utils.nodeExists(siData, "model-invariant-id") && utils.nodeExists(siData, "model-version-id") ) {
+ utils.log("INFO", "SI Data model-invariant-id and model-version-id exist:", isDebugEnabled)
+ def modelInvariantId = serviceXml.getElementsByTagName("model-invariant-id").item(0).getTextContent()
+ def modelVersionId = serviceXml.getElementsByTagName("model-version-id").item(0).getTextContent()
+
+ // Set Original Template info
+ execution.setVariable("model-invariant-id-original", modelInvariantId)
+ execution.setVariable("model-version-id-original", modelVersionId)
+ }
+
+ //Confirm there are no related service instances (vnf/network or volume)
+ if (utils.nodeExists(siData, "relationship-list")) {
+ utils.log("INFO", "SI Data relationship-list exists:", isDebugEnabled)
+
+ //test(siData)
+ NodeList nodeList = serviceXml.getElementsByTagName("relationship")
+ JSONArray jArray = new JSONArray()
+ for (int x = 0; x < nodeList.getLength(); x++) {
+ Node node = nodeList.item(x)
+ if (node.getNodeType() == Node.ELEMENT_NODE) {
+ Element eElement = (Element) node
+ def e = eElement.getElementsByTagName("related-to").item(0).getTextContent() //for ns
+ if(e.equals("service-instance")){
+ def relatedObject = eElement.getElementsByTagName("related-link").item(0).getTextContent()
+ utils.log("INFO", "ServiceInstance Related NS :" + relatedObject, isDebugEnabled)
+ NodeList dataList = node.getChildNodes()
+ if(null != dataList) {
+ JSONObject jObj = new JSONObject()
+ for (int i = 0; i < dataList.getLength(); i++) {
+ Node dNode = dataList.item(i)
+ if(dNode.getNodeName() == "relationship-data") {
+ Element rDataEle = (Element)dNode
+ def eKey = rDataEle.getElementsByTagName("relationship-key").item(0).getTextContent()
+ def eValue = rDataEle.getElementsByTagName("relationship-value").item(0).getTextContent()
+ if(eKey.equals("service-instance.service-instance-id")){
+ jObj.put("resourceInstanceId", eValue)
+ }
+ }
+ else if(dNode.getNodeName() == "related-to-property"){
+ Element rDataEle = (Element)dNode
+ def eKey = rDataEle.getElementsByTagName("property-key").item(0).getTextContent()
+ def eValue = rDataEle.getElementsByTagName("property-value").item(0).getTextContent()
+ if(eKey.equals("service-instance.service-instance-name")){
+ jObj.put("resourceType", eValue)
+ }
+ }
+ }
+ utils.log("INFO", "Relationship related to Resource:" + jObj.toString(), isDebugEnabled)
+ jArray.put(jObj)
+ }
+ //for overlay/underlay
+ }else if (e.equals("configuration")){
+ def relatedObject = eElement.getElementsByTagName("related-link").item(0).getTextContent()
+ utils.log("INFO", "ServiceInstance Related Configuration :" + relatedObject, isDebugEnabled)
+ NodeList dataList = node.getChildNodes()
+ if(null != dataList) {
+ JSONObject jObj = new JSONObject()
+ for (int i = 0; i < dataList.getLength(); i++) {
+ Node dNode = dataList.item(i)
+ if(dNode.getNodeName() == "relationship-data") {
+ Element rDataEle = (Element)dNode
+ def eKey = rDataEle.getElementsByTagName("relationship-key").item(0).getTextContent()
+ def eValue = rDataEle.getElementsByTagName("relationship-value").item(0).getTextContent()
+ if(eKey.equals("configuration.configuration-id")){
+ jObj.put("resourceInstanceId", eValue)
+ }
+ }
+ else if(dNode.getNodeName() == "related-to-property"){
+ Element rDataEle = (Element)dNode
+ def eKey = rDataEle.getElementsByTagName("property-key").item(0).getTextContent()
+ def eValue = rDataEle.getElementsByTagName("property-value").item(0).getTextContent()
+ if(eKey.equals("configuration.configuration-type")){
+ jObj.put("resourceType", eValue)
+ }
+ }
+ }
+ utils.log("INFO", "Relationship related to Resource:" + jObj.toString(), isDebugEnabled)
+ jArray.put(jObj)
+ }
+ }
+ }
+ }
+ execution.setVariable("serviceRelationShip", jArray.toString())
+ }
+ }
+ }else{
+ boolean succInAAI = execution.getVariable("GENGS_SuccessIndicator")
+ if(!succInAAI){
+ utils.log("INFO","Error getting Service-instance from AAI", + serviceInstanceId, 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)
+ }
+ }
+
+ utils.log("INFO","Service-instance NOT found in AAI. Silent Success", isDebugEnabled)
+ }
+ }catch (BpmnError e) {
+ throw e;
+ } catch (Exception ex) {
+ msg = "Exception in DoDeleteE2EServiceInstance.postProcessAAIGET. " + ex.getMessage()
+ utils.log("INFO", msg, isDebugEnabled)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg)
+ }
+ utils.log("INFO"," *** Exit postProcessAAIGET *** ", isDebugEnabled)
+ }
+
+
+ public void preInitResourcesOperStatus(DelegateExecution execution){
+ def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
+
+ utils.log("INFO", " ======== STARTED preInitResourcesOperStatus Process ======== ", isDebugEnabled)
+ try{
+ String serviceId = execution.getVariable("serviceInstanceId")
+ String operationId = execution.getVariable("operationId")
+ String operationType = execution.getVariable("operationType")
+ String resourceTemplateUUIDs = ""
+ String result = "processing"
+ String progress = "0"
+ String reason = ""
+ String operationContent = "Prepare service updating"
+ utils.log("INFO", "Generated new operation for Service Instance serviceId:" + serviceId + " operationId:" + operationId + " operationType:" + operationType, isDebugEnabled)
+ serviceId = UriUtils.encode(serviceId,"UTF-8")
+ execution.setVariable("serviceInstanceId", serviceId)
+ execution.setVariable("operationId", operationId)
+ execution.setVariable("operationType", operationType)
+
+ String serviceRelationShip = execution.getVariable("serviceRelationShip")
+
+ def jsonSlurper = new JsonSlurper()
+ def jsonOutput = new JsonOutput()
+ List relationShipList = jsonSlurper.parseText(serviceRelationShip)
+
+ if (relationShipList != null) {
+ relationShipList.each {
+ resourceTemplateUUIDs = resourceTemplateUUIDs + it.resourceInstanceId + ":"
+ }
+ }
+ execution.setVariable("URN_mso_openecomp_adapters_db_endpoint","http://mso.mso.testlab.openecomp.org:8080/dbadapters/RequestsDbAdapter")
+
+ String payload =
+ """<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:ns="http://org.openecomp.mso/requestsdb">
+ <soapenv:Header/>
+ <soapenv:Body>
+ <ns:initResourceOperationStatus xmlns:ns="http://org.openecomp.mso/requestsdb">
+ <serviceId>${serviceId}</serviceId>
+ <operationId>${operationId}</operationId>
+ <operationType>${operationType}</operationType>
+ <resourceTemplateUUIDs>${resourceTemplateUUIDs}</resourceTemplateUUIDs>
+ </ns:initResourceOperationStatus>
+ </soapenv:Body>
+ </soapenv:Envelope>"""
+
+ payload = utils.formatXml(payload)
+ execution.setVariable("CVFMI_initResOperStatusRequest", payload)
+ utils.log("INFO", "Outgoing initResourceOperationStatus: \n" + payload, isDebugEnabled)
+ utils.logAudit("CreateVfModuleInfra Outgoing initResourceOperationStatus Request: " + payload)
+
+ }catch(Exception e){
+ utils.log("ERROR", "Exception Occured Processing preInitResourcesOperStatus. Exception is:\n" + e, isDebugEnabled)
+ execution.setVariable("CVFMI_ErrorResponse", "Error Occurred during preInitResourcesOperStatus Method:\n" + e.getMessage())
+ }
+ utils.log("INFO", "======== COMPLETED preInitResourcesOperStatus Process ======== ", isDebugEnabled)
+ }
+
+ /**
+ * Init the service Operation Status
+ */
+ public void preUpdateServiceOperationStatus(DelegateExecution execution){
+ def method = getClass().getSimpleName() + '.preUpdateServiceOperationStatus(' +'execution=' + execution.getId() +')'
+ def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
+ utils.log("INFO","Entered " + method, isDebugEnabled)
+
+ try{
+ String serviceId = execution.getVariable("serviceInstanceId")
+ String operationId = execution.getVariable("operationId")
+ String serviceName = execution.getVariable("serviceInstanceName")
+ String userId = ""
+ String result = "processing"
+ String progress = execution.getVariable("progress")
+ utils.log("INFO", "progress: " + progress , isDebugEnabled)
+ if ("100".equalsIgnoreCase(progress))
+ {
+ result = "finished"
+ }
+ String reason = ""
+ String operationContent = "Prepare service : " + execution.getVariable("operationStatus")
+
+ utils.log("INFO", "Generated new operation for Service Instance serviceId:" + serviceId + " operationId:" + operationId, isDebugEnabled)
+ serviceId = UriUtils.encode(serviceId,"UTF-8")
+ execution.setVariable("serviceInstanceId", serviceId)
+ execution.setVariable("operationId", operationId)
+ execution.setVariable("operationType", operationType)
+
+ def dbAdapterEndpoint = "http://mso.mso.testlab.openecomp.org:8080/dbadapters/RequestsDbAdapter"
+ execution.setVariable("CVFMI_dbAdapterEndpoint", dbAdapterEndpoint)
+ utils.log("INFO", "DB Adapter Endpoint is: " + dbAdapterEndpoint, isDebugEnabled)
+
+ execution.setVariable("URN_mso_openecomp_adapters_db_endpoint","http://mso.mso.testlab.openecomp.org:8080/dbadapters/RequestsDbAdapter")
+ String payload =
+ """<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:ns="http://org.openecomp.mso/requestsdb">
+ <soapenv:Header/>
+ <soapenv:Body>
+ <ns:updateServiceOperationStatus xmlns:ns="http://org.openecomp.mso/requestsdb">
+ <serviceId>${serviceId}</serviceId>
+ <operationId>${operationId}</operationId>
+ <serviceName>${serviceName}</serviceName>
+ <operationType>${operationType}</operationType>
+ <userId>${userId}</userId>
+ <result>${result}</result>
+ <operationContent>${operationContent}</operationContent>
+ <progress>${progress}</progress>
+ <reason>${reason}</reason>
+ </ns:updateServiceOperationStatus>
+ </soapenv:Body>
+ </soapenv:Envelope>"""
+
+ payload = utils.formatXml(payload)
+ execution.setVariable("CVFMI_updateServiceOperStatusRequest", payload)
+ utils.log("INFO", "Outgoing preUpdateServiceOperationStatus: \n" + payload, isDebugEnabled)
+
+
+ }catch(Exception e){
+ utils.log("ERROR", "Exception Occured Processing preUpdateServiceOperationStatus. Exception is:\n" + e, isDebugEnabled)
+ execution.setVariable("CVFMI_ErrorResponse", "Error Occurred during preUpdateServiceOperationStatus Method:\n" + e.getMessage())
+ }
+ utils.log("INFO", "======== COMPLETED preUpdateServiceOperationStatus Process ======== ", isDebugEnabled)
+ utils.log("INFO", "Exited " + method, isDebugEnabled)
+ }
+
+ public void postResourcesOperStatus(DelegateExecution execution) {
+ def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
+
+ }
+
+ public void preCompareModelVersions(DelegateExecution execution) {
+ def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
+
+ }
+
+ public void postCompareModelVersions(DelegateExecution execution) {
+ def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
+ }
+
+ 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 postConfigRequest(execution){
+ //now do noting
+ }
+
+
+}
+
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoUpdateNetworkInstance.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoUpdateNetworkInstance.groovy index 36f2d9fa1f..829e4d9d4b 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoUpdateNetworkInstance.groovy +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoUpdateNetworkInstance.groovy @@ -34,7 +34,7 @@ import org.openecomp.mso.rest.APIResponse import java.util.UUID; import org.camunda.bpm.engine.delegate.BpmnError -import org.camunda.bpm.engine.runtime.Execution +import org.camunda.bpm.engine.delegate.DelegateExecution import org.apache.commons.lang3.* import org.apache.commons.codec.binary.Base64; import org.springframework.web.util.UriUtils @@ -55,7 +55,7 @@ public class DoUpdateNetworkInstance extends AbstractServiceTaskProcessor { * This method is executed during the preProcessRequest task of the <class>DoUpdateNetworkInstance.bpmn</class> process. * @param execution */ - public InitializeProcessVariables(Execution execution){ + public InitializeProcessVariables(DelegateExecution execution){ /* Initialize all the process variables in this block */ execution.setVariable(Prefix + "messageId", "") @@ -146,7 +146,7 @@ public class DoUpdateNetworkInstance extends AbstractServiceTaskProcessor { * This method is executed during the preProcessRequest task of the <class>DoUpdateNetworkInstance.bpmn</class> process. * @param execution */ - public void preProcessRequest (Execution execution) { + public void preProcessRequest (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix",Prefix) @@ -303,7 +303,7 @@ public class DoUpdateNetworkInstance extends AbstractServiceTaskProcessor { } } - public void callRESTQueryAAICloudRegion (Execution execution) { + public void callRESTQueryAAICloudRegion (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix", Prefix) @@ -353,7 +353,7 @@ public class DoUpdateNetworkInstance extends AbstractServiceTaskProcessor { } - public void callRESTQueryAAINetworkId(Execution execution) { + public void callRESTQueryAAINetworkId(DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix", Prefix) @@ -370,7 +370,7 @@ public class DoUpdateNetworkInstance extends AbstractServiceTaskProcessor { String aai_endpoint = execution.getVariable("URN_aai_endpoint") AaiUtil aaiUriUtil = new AaiUtil(this) String aai_uri = aaiUriUtil.getNetworkL3NetworkUri(execution) - String queryIdAAIRequest = "${aai_endpoint}${aai_uri}/" + networkId + "?depth=1" + String queryIdAAIRequest = "${aai_endpoint}${aai_uri}/" + networkId + "?depth=all" utils.logAudit(queryIdAAIRequest) execution.setVariable(Prefix + "queryIdAAIRequest", queryIdAAIRequest) utils.log("DEBUG", Prefix + "queryIdAAIRequest - " + "\n" + queryIdAAIRequest, isDebugEnabled) @@ -421,7 +421,7 @@ public class DoUpdateNetworkInstance extends AbstractServiceTaskProcessor { } - public void callRESTReQueryAAINetworkId(Execution execution) { + public void callRESTReQueryAAINetworkId(DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix", Prefix) @@ -437,7 +437,7 @@ public class DoUpdateNetworkInstance extends AbstractServiceTaskProcessor { String aai_endpoint = execution.getVariable("URN_aai_endpoint") AaiUtil aaiUriUtil = new AaiUtil(this) String aai_uri = aaiUriUtil.getNetworkL3NetworkUri(execution) - String requeryIdAAIRequest = "${aai_endpoint}${aai_uri}/" + networkId + "?depth=1" + String requeryIdAAIRequest = "${aai_endpoint}${aai_uri}/" + networkId + "?depth=all" utils.logAudit(requeryIdAAIRequest) execution.setVariable(Prefix + "requeryIdAAIRequest", requeryIdAAIRequest) utils.log("DEBUG", " UPDNETI_requeryIdAAIRequest - " + "\n" + requeryIdAAIRequest, isDebugEnabled) @@ -498,7 +498,7 @@ public class DoUpdateNetworkInstance extends AbstractServiceTaskProcessor { } - public void callRESTQueryAAINetworkVpnBinding(Execution execution) { + public void callRESTQueryAAINetworkVpnBinding(DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix", Prefix) @@ -570,9 +570,19 @@ public class DoUpdateNetworkInstance extends AbstractServiceTaskProcessor { utils.log("DEBUG", " AAI Query Vpn Binding Success REST Response, , vpnBinding #" + counting + " : " + "\n" + aaiResponseAsString, isDebugEnabled) String routeTarget = "" - if (utils.nodeExists(aaiResponseAsString, "global-route-target")) { - routeTarget = utils.getNodeText1(aaiResponseAsString, "global-route-target") - routeTargets += "<routeTargets>" + routeTarget + "</routeTargets>" + '\n' + String routeRole = "" + if (utils.nodeExists(aaiResponseAsString, "route-targets")) { + String aaiRouteTargets = utils.getNodeXml(aaiResponseAsString, "route-targets", false) + def aaiRouteTargetsXml = new XmlSlurper().parseText(aaiRouteTargets) + def aaiRouteTarget = aaiRouteTargetsXml.'**'.findAll {it.name() == "route-target"} + for (j in 0..aaiRouteTarget.size()-1) { + routeTarget = utils.getNodeText1(XmlUtil.serialize(aaiRouteTarget[j]), "global-route-target") + routeRole = utils.getNodeText1(XmlUtil.serialize(aaiRouteTarget[j]), "route-target-role") + routeTargets += "<routeTargets>" + '\n' + + " <routeTarget>" + routeTarget + "</routeTarget>" + '\n' + + " <routeTargetRole>" + routeRole + "</routeTargetRole>" + '\n' + + "</routeTargets>" + '\n' + } } } else { @@ -632,7 +642,7 @@ public class DoUpdateNetworkInstance extends AbstractServiceTaskProcessor { } - public void callRESTQueryAAINetworkPolicy(Execution execution) { + public void callRESTQueryAAINetworkPolicy(DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix", Prefix) @@ -768,7 +778,7 @@ public class DoUpdateNetworkInstance extends AbstractServiceTaskProcessor { } - public void callRESTQueryAAINetworkTableRef(Execution execution) { + public void callRESTQueryAAINetworkTableRef(DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix", Prefix) @@ -904,7 +914,7 @@ public class DoUpdateNetworkInstance extends AbstractServiceTaskProcessor { } - public void callRESTUpdateContrailAAINetwork(Execution execution) { + public void callRESTUpdateContrailAAINetwork(DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix", Prefix) @@ -922,7 +932,7 @@ public class DoUpdateNetworkInstance extends AbstractServiceTaskProcessor { String aai_endpoint = execution.getVariable("URN_aai_endpoint") AaiUtil aaiUriUtil = new AaiUtil(this) String aai_uri = aaiUriUtil.getNetworkL3NetworkUri(execution) - String updateContrailAAIUrlRequest = "${aai_endpoint}${aai_uri}/" + networkId + "?depth=1" + String updateContrailAAIUrlRequest = "${aai_endpoint}${aai_uri}/" + networkId + "?depth=all" utils.logAudit(updateContrailAAIUrlRequest) execution.setVariable(Prefix + "updateContrailAAIUrlRequest", updateContrailAAIUrlRequest) @@ -984,7 +994,7 @@ public class DoUpdateNetworkInstance extends AbstractServiceTaskProcessor { } - public void prepareUpdateNetworkRequest (Execution execution) { + public void prepareUpdateNetworkRequest (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix", Prefix) @@ -1024,7 +1034,7 @@ public class DoUpdateNetworkInstance extends AbstractServiceTaskProcessor { } - public void prepareSDNCRequest (Execution execution) { + public void prepareSDNCRequest (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix", Prefix) @@ -1069,7 +1079,7 @@ public class DoUpdateNetworkInstance extends AbstractServiceTaskProcessor { // Post or Validate Response Section // ************************************************** - public void validateUpdateNetworkResponse (Execution execution) { + public void validateUpdateNetworkResponse (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix", Prefix) @@ -1142,7 +1152,7 @@ public class DoUpdateNetworkInstance extends AbstractServiceTaskProcessor { } - public void validateSDNCResponse (Execution execution) { + public void validateSDNCResponse (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix", Prefix) @@ -1178,7 +1188,7 @@ public class DoUpdateNetworkInstance extends AbstractServiceTaskProcessor { } - public void postProcessResponse (Execution execution) { + public void postProcessResponse (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix", Prefix) @@ -1230,7 +1240,7 @@ public class DoUpdateNetworkInstance extends AbstractServiceTaskProcessor { } - public void prepareSDNCRollbackRequest (Execution execution) { + public void prepareSDNCRollbackRequest (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix", Prefix) @@ -1264,7 +1274,7 @@ public class DoUpdateNetworkInstance extends AbstractServiceTaskProcessor { } - public void prepareRollbackData(Execution execution) { + public void prepareRollbackData(DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix",Prefix) @@ -1300,7 +1310,7 @@ public class DoUpdateNetworkInstance extends AbstractServiceTaskProcessor { } - public void prepareSuccessRollbackData(Execution execution) { + public void prepareSuccessRollbackData(DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix",Prefix) @@ -1342,7 +1352,7 @@ public class DoUpdateNetworkInstance extends AbstractServiceTaskProcessor { } - public void setExceptionFlag(Execution execution){ + public void setExceptionFlag(DelegateExecution execution){ def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix",Prefix) @@ -1372,7 +1382,7 @@ public class DoUpdateNetworkInstance extends AbstractServiceTaskProcessor { // Build Error Section // ******************************* - public void processJavaException(Execution execution){ + public void processJavaException(DelegateExecution execution){ def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix",Prefix) try{ diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoUpdateNetworkInstanceRollback.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoUpdateNetworkInstanceRollback.groovy index 760b76ad10..7d326382cb 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoUpdateNetworkInstanceRollback.groovy +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoUpdateNetworkInstanceRollback.groovy @@ -35,7 +35,7 @@ import org.openecomp.mso.rest.APIResponse import java.util.UUID; import org.camunda.bpm.engine.delegate.BpmnError -import org.camunda.bpm.engine.runtime.Execution +import org.camunda.bpm.engine.delegate.DelegateExecution import org.apache.commons.lang3.* import org.apache.commons.codec.binary.Base64; import org.springframework.web.util.UriUtils @@ -58,7 +58,7 @@ public class DoUpdateNetworkInstanceRollback extends AbstractServiceTaskProcesso * This method is executed during the preProcessRequest task of the <class>DoUpdateNetworkInstanceRollback.bpmn</class> process. * @param execution */ - public InitializeProcessVariables(Execution execution){ + public InitializeProcessVariables(DelegateExecution execution){ /* Initialize all the process variables in this block */ execution.setVariable(Prefix + "rollbackNetworkRequest", null) @@ -85,7 +85,7 @@ public class DoUpdateNetworkInstanceRollback extends AbstractServiceTaskProcesso * This method is executed during the preProcessRequest task of the <class>DoUpdateNetworkInstanceRollback.bpmn</class> process. * @param execution */ - public void preProcessRequest (Execution execution) { + public void preProcessRequest (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix",Prefix) @@ -166,7 +166,7 @@ public class DoUpdateNetworkInstanceRollback extends AbstractServiceTaskProcesso } - public void validateRollbackResponses (Execution execution) { + public void validateRollbackResponses (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix",Prefix) @@ -282,7 +282,7 @@ public class DoUpdateNetworkInstanceRollback extends AbstractServiceTaskProcesso - public void processJavaException(Execution execution){ + public void processJavaException(DelegateExecution execution){ def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix",Prefix) diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoUpdateVfModule.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoUpdateVfModule.groovy index f41c8bb876..a9a657eea1 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoUpdateVfModule.groovy +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoUpdateVfModule.groovy @@ -21,8 +21,9 @@ package org.openecomp.mso.bpmn.infrastructure.scripts import org.camunda.bpm.engine.delegate.BpmnError -import org.camunda.bpm.engine.runtime.Execution +import org.camunda.bpm.engine.delegate.DelegateExecution import org.openecomp.mso.bpmn.common.scripts.AaiUtil +import org.openecomp.mso.bpmn.common.scripts.CatalogDbUtils import org.openecomp.mso.bpmn.common.scripts.ExceptionUtil import org.openecomp.mso.bpmn.common.scripts.NetworkUtils import org.openecomp.mso.bpmn.common.scripts.SDNCAdapterUtils @@ -30,20 +31,27 @@ import org.openecomp.mso.bpmn.common.scripts.VfModule import org.openecomp.mso.bpmn.common.scripts.VfModuleBase import org.openecomp.mso.bpmn.core.WorkflowException import org.openecomp.mso.bpmn.core.json.JsonUtils; +import org.openecomp.mso.client.aai.AAIResourcesClient +import org.openecomp.mso.client.aai.entities.AAIResultWrapper +import org.openecomp.mso.client.aai.entities.uri.AAIUri import org.openecomp.mso.rest.APIResponse import org.springframework.web.util.UriUtils +import org.openecomp.mso.client.aai.AAIObjectType; +import org.openecomp.mso.client.aai.entities.uri.AAIUriFactory; + public class DoUpdateVfModule extends VfModuleBase { ExceptionUtil exceptionUtil = new ExceptionUtil() JsonUtils jsonUtil = new JsonUtils() + CatalogDbUtils catalog = new CatalogDbUtils() /** * Initialize the flow's variables. * * @param execution The flow's execution instance. */ - public void initProcessVariables(Execution execution) { + public void initProcessVariables(DelegateExecution execution) { execution.setVariable('prefix', 'DOUPVfMod_') execution.setVariable('DOUPVfMod_requestInfo', null) execution.setVariable('DOUPVfMod_serviceInstanceId', null) @@ -87,7 +95,7 @@ public class DoUpdateVfModule extends VfModuleBase { * * @param execution The flow's execution instance. */ - public void preProcessRequest(Execution execution) { + public void preProcessRequest(DelegateExecution execution) { def method = getClass().getSimpleName() + '.preProcessRequest(' + 'execution=' + execution.getId() + ')' @@ -108,9 +116,10 @@ public class DoUpdateVfModule extends VfModuleBase { def serviceModelInfo = execution.getVariable("serviceModelInfo") logDebug("serviceModelInfo: " + serviceModelInfo, isDebugLogEnabled) + String modelInvariantUuid = jsonUtil.getJsonValue(serviceModelInfo, "modelInvariantUuid") + logDebug("modelInvariantUuid: " + modelInvariantUuid, isDebugLogEnabled) def vnfModelInfo = execution.getVariable("vnfModelInfo") - //tenantId def tenantId = execution.getVariable("tenantId") execution.setVariable("DOUPVfMod_tenantId", tenantId) @@ -230,7 +239,37 @@ public class DoUpdateVfModule extends VfModuleBase { Map<String,String> vfModuleInputParams = execution.getVariable("vfModuleInputParams") if (vfModuleInputParams != null) { execution.setVariable("DOUPVfMod_vnfParamsMap", vfModuleInputParams) - } + } + //get workload and environment context from parent SI + String environmentContext = "" + String workloadContext ="" + String serviceType ="" + + try{ + String json = catalog.getServiceResourcesByServiceModelInvariantUuidString(execution,modelInvariantUuid ) + serviceType = jsonUtil.getJsonValue(json, "serviceResources.serviceType") + }catch(BpmnError e){ + throw e + } catch (Exception ex){ + String msg = "Exception in preProcessRequest " + ex.getMessage() + utils.log("DEBUG", msg, isDebugLogEnabled) + exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg) + } + + try{ + AAIUri serviceInstanceURI = AAIUriFactory.create(AAIObjectType.SERVICE_INSTANCE, globalSubscriberId,serviceType,serviceInstanceId) + AAIResourcesClient aaiRC = new AAIResourcesClient() + AAIResultWrapper aaiRW = aaiRC.get(serviceInstanceURI) + Map<String, Object> aaiJson = aaiRW.asMap() + environmentContext = aaiJson.getOrDefault("environment-context","") + workloadContext = aaiJson.getOrDefault("workload-context","") + + }catch (Exception ex) { + utils.log("DEBUG","Error retreiving parent service instance information", isDebugLogEnabled) + } + + execution.setVariable("DCVFM_environmentContext",environmentContext) + execution.setVariable("DCVFM_workloadContext",workloadContext) } else { @@ -296,7 +335,7 @@ public class DoUpdateVfModule extends VfModuleBase { * * @param execution The flow's execution instance. */ - public void prepPrepareUpdateAAIVfModule(Execution execution) { + public void prepPrepareUpdateAAIVfModule(DelegateExecution execution) { def method = getClass().getSimpleName() + '.preparePrepareUpdateAAIVfModule(' + 'execution=' + execution.getId() + ')' @@ -335,7 +374,7 @@ public class DoUpdateVfModule extends VfModuleBase { * * @param execution The flow's execution instance. */ - public void prepConfirmVolumeGroupTenant(Execution execution) { + public void prepConfirmVolumeGroupTenant(DelegateExecution execution) { def method = getClass().getSimpleName() + '.prepConfirmVolumeGroupTenant(' + 'execution=' + execution.getId() + ')' @@ -393,7 +432,7 @@ public class DoUpdateVfModule extends VfModuleBase { * * @param execution The flow's execution instance. */ - public void prepSDNCTopologyChg(Execution execution) { + public void prepSDNCTopologyChg(DelegateExecution execution) { def method = getClass().getSimpleName() + '.prepSDNCTopologyChg(' + 'execution=' + execution.getId() + ')' @@ -493,7 +532,7 @@ public class DoUpdateVfModule extends VfModuleBase { * * @param execution The flow's execution instance. */ - public void prepSDNCTopologyQuery(Execution execution) { + public void prepSDNCTopologyQuery(DelegateExecution execution) { def method = getClass().getSimpleName() + '.prepSDNCTopologyQuery(' + 'execution=' + execution.getId() + ')' @@ -554,7 +593,7 @@ public class DoUpdateVfModule extends VfModuleBase { * * @param execution The flow's execution instance. */ - public void prepVnfAdapterRest(Execution execution) { + public void prepVnfAdapterRest(DelegateExecution execution) { def method = getClass().getSimpleName() + '.prepVnfAdapterRest(' + 'execution=' + execution.getId() + ')' @@ -590,12 +629,17 @@ public class DoUpdateVfModule extends VfModuleBase { notificationUrl = utils.getQualifiedHostNameForCallback(notificationUrl) } + String environmentContext = execution.getVariable("DOUPVEnvironment_context") + String workloadContext = execution.getVariable("DOUPVWorkload_context") + logDebug("workloadContext: " + workloadContext, isDebugLogEnabled) + logDebug("environmentContext: " + environmentContext, isDebugLogEnabled) + Map<String, String> vnfParamsMap = execution.getVariable("DOUPVfMod_vnfParamsMap") String sdncGetResponse = execution.getVariable('DOUPVfMod_sdncTopologyResponse') String vfModuleParams = buildVfModuleParams(vnfParamsMap, sdncGetResponse, vnfId, vnfName, - vfModuleId, vfModuleName, null) + vfModuleId, vfModuleName, null, environmentContext, workloadContext) String vnfAdapterRestRequest = """ @@ -646,7 +690,7 @@ public class DoUpdateVfModule extends VfModuleBase { * * @param execution The flow's execution instance. */ - public void prepUpdateAAIGenericVnf(Execution execution) { + public void prepUpdateAAIGenericVnf(DelegateExecution execution) { def method = getClass().getSimpleName() + '.prepUpdateAAIGenericVnf(' + 'execution=' + execution.getId() + ')' @@ -694,7 +738,7 @@ public class DoUpdateVfModule extends VfModuleBase { * * @param execution The flow's execution instance. */ - public void prepUpdateAAIVfModule(Execution execution) { + public void prepUpdateAAIVfModule(DelegateExecution execution) { def method = getClass().getSimpleName() + '.prepUpdateAAIVfModule(' + 'execution=' + execution.getId() + ')' @@ -767,7 +811,7 @@ public class DoUpdateVfModule extends VfModuleBase { * * @param execution The flow's execution instance. */ - public void prepSDNCTopologyAct(Execution execution) { + public void prepSDNCTopologyAct(DelegateExecution execution) { def method = getClass().getSimpleName() + '.prepSDNCTopologyAct(' + 'execution=' + execution.getId() + ')' @@ -864,7 +908,7 @@ public class DoUpdateVfModule extends VfModuleBase { * * @param execution The flow's execution instance. */ - public void handleWorkflowException(Execution execution) { + public void handleWorkflowException(DelegateExecution execution) { def method = getClass().getSimpleName() + '.handleWorkflowException(' + 'execution=' + execution.getId() + ')' @@ -884,7 +928,7 @@ public class DoUpdateVfModule extends VfModuleBase { } } - public void validateSDNCResponse(Execution execution, String response, String method){ + public void validateSDNCResponse(DelegateExecution execution, String response, String method){ def isDebugLogEnabled=execution.getVariable("isDebugLogEnabled") def prefix = execution.getVariable("prefix") @@ -916,7 +960,7 @@ public class DoUpdateVfModule extends VfModuleBase { * * @param execution The flow's execution instance. */ - public void queryAAIVfModule(Execution execution) { + public void queryAAIVfModule(DelegateExecution execution) { def isDebugLogEnabled=execution.getVariable("isDebugLogEnabled") def method = getClass().getSimpleName() + '.getVfModule(' + 'execution=' + execution.getId() + diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoUpdateVnfAndModules.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoUpdateVnfAndModules.groovy index 7aa2ec696e..5d1bc01f1e 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoUpdateVnfAndModules.groovy +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoUpdateVnfAndModules.groovy @@ -25,7 +25,7 @@ import java.util.UUID; import org.json.JSONObject;
import org.json.JSONArray;
import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.runtime.Execution;
+import org.camunda.bpm.engine.delegate.DelegateExecution;
import org.hibernate.jpa.criteria.predicate.IsEmptyPredicate
import static org.apache.commons.lang3.StringUtils.*;
@@ -60,7 +60,7 @@ class DoUpdateVnfAndModules extends AbstractServiceTaskProcessor { * @param - execution
*
*/
- public void preProcessRequest(Execution execution) {
+ public void preProcessRequest(DelegateExecution execution) {
def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix",Prefix)
utils.log("DEBUG", " *** STARTED DoUpdateVnfAndModules PreProcessRequest Process*** ", isDebugEnabled)
@@ -143,7 +143,7 @@ class DoUpdateVnfAndModules extends AbstractServiceTaskProcessor { *
* @param execution The flow's execution instance.
*/
- public void queryAAIVfModule(Execution execution) {
+ public void queryAAIVfModule(DelegateExecution execution) {
def isDebugLogEnabled=execution.getVariable("isDebugLogEnabled")
def method = getClass().getSimpleName() + '.queryAAIVfModule(' +
'execution=' + execution.getId() +
@@ -218,6 +218,29 @@ class DoUpdateVnfAndModules extends AbstractServiceTaskProcessor { def isBaseVfModule = utils.getNodeText(vfModuleXml, "is-base-vf-module")
vfModuleEntry.put("isBaseVfModule", isBaseVfModule)
+
+ String volumeGroupId = ''
+
+ logDebug("Next module!", isDebugLogEnabled)
+ def vfModuleRelationships = vfModules[i].'**'.findAll {it.name() == 'relationship-data'}
+ if (vfModuleRelationships.size() > 0) {
+ for (j in 0..vfModuleRelationships.size()-1) {
+ if (vfModuleRelationships[j] != null) {
+
+ def relationshipKey = vfModuleRelationships[j].'**'.findAll {it.name() == 'relationship-key'}
+
+ if (relationshipKey[0] == 'volume-group.volume-group-id') {
+ def relationshipValue = vfModuleRelationships[j].'**'.findAll {it.name() == 'relationship-value'}
+ volumeGroupId = relationshipValue[0]
+ break
+ }
+ }
+ }
+ }
+
+ vfModuleEntry.put("volumeGroupId", volumeGroupId)
+ logDebug("volumeGroupId is: " + volumeGroupId, isDebugLogEnabled)
+
// Save base vf module to add it to the start of the list later
if (isBaseVfModule == "true") {
vfModuleBaseEntry = vfModuleEntry
@@ -253,7 +276,7 @@ class DoUpdateVnfAndModules extends AbstractServiceTaskProcessor { }
}
- public void prepareNextModuleToUpdate(Execution execution){
+ public void prepareNextModuleToUpdate(DelegateExecution execution){
def isDebugLogEnabled = execution.getVariable("isDebugLogEnabled")
execution.setVariable("prefix", Prefix)
logDebug(" ======== STARTED prepareNextModuleToUpdate ======== ", isDebugLogEnabled)
@@ -275,7 +298,9 @@ class DoUpdateVnfAndModules extends AbstractServiceTaskProcessor { String modelInvariantUuid = vfModule.get("modelInvariantUuid")
logDebug("ModelInvariantUuid: " + modelInvariantUuid, isDebugLogEnabled)
- execution.setVariable("DUVAM_volumeGroupId", "")
+ def volumeGroupId = vfModule.get("volumeGroupId")
+ execution.setVariable("DUVAM_volumeGroupId", volumeGroupId)
+
execution.setVariable("DUVAM_volumeGroupName", "")
VnfResource vnfResource = (VnfResource) execution.getVariable("vnfResourceDecomposition")
@@ -309,7 +334,7 @@ class DoUpdateVnfAndModules extends AbstractServiceTaskProcessor { *
* @param execution The flow's execution instance.
*/
- public void prepUpdateAAIGenericVnf(Execution execution) {
+ public void prepUpdateAAIGenericVnf(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.prepUpdateAAIGenericVnf(' +
'execution=' + execution.getId() +
')'
@@ -381,7 +406,7 @@ class DoUpdateVnfAndModules extends AbstractServiceTaskProcessor { *
* @param execution The flow's execution instance.
*/
- public void callAppCf(Execution execution) {
+ public void callAppCf(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.callAppC(' +
'execution=' + execution.getId() +
')'
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/HealchCheckActivate.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/HealchCheckActivate.groovy index a2d192f6f3..3ab1b17392 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/HealchCheckActivate.groovy +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/HealchCheckActivate.groovy @@ -21,7 +21,7 @@ package org.openecomp.mso.bpmn.infrastructure.scripts;
import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.runtime.Execution
+import org.camunda.bpm.engine.delegate.DelegateExecution
import org.openecomp.mso.bpmn.common.scripts.AbstractServiceTaskProcessor;
import org.apache.commons.lang3.*
@@ -32,7 +32,7 @@ public class HealthCheckActivate extends AbstractServiceTaskProcessor { * Validates the request message and sets up the workflow.
* @param execution the execution
*/
- public void preProcessRequest(Execution execution) {
+ public void preProcessRequest(DelegateExecution execution) {
}
@@ -41,7 +41,7 @@ public class HealthCheckActivate extends AbstractServiceTaskProcessor { * Sends the synchronous response back to the API Handler.
* @param execution the execution
*/
- public void sendResponse(Execution execution) {
+ public void sendResponse(DelegateExecution execution) {
def status = execution.getVariable("healthyStatus")
def healthcheckmessage = execution.getVariable("healthcheckmessage")
if (status == "true") {
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/ReplaceVnfInfra.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/ReplaceVnfInfra.groovy index 3a5a3b7e7b..c84c73cb96 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/ReplaceVnfInfra.groovy +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/ReplaceVnfInfra.groovy @@ -30,7 +30,7 @@ import java.util.UUID; import org.openecomp.mso.bpmn.common.scripts.ExceptionUtil
import org.camunda.bpm.engine.delegate.BpmnError
import org.camunda.bpm.engine.impl.cmd.AbstractSetVariableCmd
-import org.camunda.bpm.engine.runtime.Execution
+import org.camunda.bpm.engine.delegate.DelegateExecution
import org.openecomp.mso.rest.APIResponse
import org.openecomp.mso.rest.RESTClient
import org.openecomp.mso.rest.RESTConfig
@@ -45,25 +45,22 @@ import org.openecomp.mso.bpmn.core.domain.ServiceDecomposition import org.openecomp.mso.bpmn.core.domain.VnfResource
import org.openecomp.mso.client.aai.*
-import org.openecomp.mso.client.appc.ApplicationControllerClient;
-import org.openecomp.mso.client.appc.ApplicationControllerSupport;
-import org.openecomp.appc.client.lcm.model.Action;
-import org.openecomp.appc.client.lcm.model.ActionIdentifiers;
-import org.openecomp.appc.client.lcm.model.LockInput
-import org.openecomp.appc.client.lcm.model.UnlockInput
-import org.openecomp.appc.client.lcm.model.HealthCheckInput
-import org.openecomp.appc.client.lcm.model.StartInput
-import org.openecomp.appc.client.lcm.model.StopInput
-import org.openecomp.appc.client.lcm.model.Flags
-import org.openecomp.appc.client.lcm.model.Status
+import org.openecomp.mso.client.appc.ApplicationControllerOrchestrator
+import org.onap.appc.client.lcm.model.Action;
+import org.onap.appc.client.lcm.model.ActionIdentifiers;
+import org.onap.appc.client.lcm.model.LockInput
+import org.onap.appc.client.lcm.model.UnlockInput
+import org.onap.appc.client.lcm.model.HealthCheckInput
+import org.onap.appc.client.lcm.model.StartInput
+import org.onap.appc.client.lcm.model.Flags
+import org.onap.appc.client.lcm.model.Status
-public class ReplaceVnfInfra extends AbstractServiceTaskProcessor {
+public class ReplaceVnfInfra extends VnfCmBase {
ExceptionUtil exceptionUtil = new ExceptionUtil()
- JsonUtils jsonUtils = new JsonUtils()
- ApplicationControllerClient appcClient = new ApplicationControllerClient()
+ JsonUtils jsonUtils = new JsonUtils()
def prefix = "RPLVnfI_"
/**
@@ -71,26 +68,33 @@ public class ReplaceVnfInfra extends AbstractServiceTaskProcessor { *
* @param execution The flow's execution instance.
*/
- public void initProcessVariables(Execution execution) {
+ public void initProcessVariables(DelegateExecution execution) {
execution.setVariable('prefix', 'RPLVnfI_')
- execution.setVariable('RPLVnfI_Request', null)
- execution.setVariable('RPLVnfI_requestInfo', null)
- execution.setVariable('RPLVnfI_requestId', null)
- execution.setVariable('RPLVnfI_source', null)
- execution.setVariable('RPLVnfI_vnfInputs', null)
- execution.setVariable('RPLVnfI_vnfId', null)
- execution.setVariable('RPLVnfI_tenantId', null)
- execution.setVariable('RPLVnfI_vnfParams', null)
- execution.setVariable('RPLVnfI_cloudConfiguration', null)
+ execution.setVariable('Request', null)
+ execution.setVariable('requestInfo', null)
+ execution.setVariable('source', null)
+ execution.setVariable('vnfInputs', null)
+ execution.setVariable('tenantId', null)
+ execution.setVariable('vnfParams', null)
+ execution.setVariable('cloudConfiguration', null)
execution.setVariable('ReplaceVnfSuccessIndicator', false)
- execution.setVariable('RPLVnfI_serviceType', null)
- execution.setVariable('RPLVnfI_nfRole', null)
- execution.setVariable('RPLVnfI_currentActivity', 'RPLVnfI')
- execution.setVariable('RPLVnfI_workStep', null)
- execution.setVariable('RPLVnfI_failedActivity', null)
- execution.setVariable('RPLVnfI_errorCode', "0")
- execution.setVariable('RPLVnfI_errorText', null)
- execution.setVariable('RPLVnfI_healthCheckIndex', 1)
+ execution.setVariable('serviceType', null)
+ execution.setVariable('nfRole', null)
+ execution.setVariable('currentActivity', 'RPLVnfI')
+ execution.setVariable('workStep', null)
+ execution.setVariable('failedActivity', null)
+ execution.setVariable('errorCode', "0")
+ execution.setVariable('errorText', null)
+ execution.setVariable('healthCheckIndex', 1)
+ execution.setVariable('retainResources', true)
+ execution.setVariable('productFamilyId', null)
+ execution.setVariable('healthCheckIndex0', 0)
+ execution.setVariable('healthCheckIndex1', 1)
+ execution.setVariable("rollbackSetClosedLoopDisabledFlag", false)
+ execution.setVariable("rollbackVnfStop", false)
+ execution.setVariable("rollbackVnfLock", false)
+ execution.setVariable("rollbackQuiesceTraffic", false)
+ execution.setVariable("rollbackSetVnfInMaintenanceFlag", false)
}
/**
@@ -98,7 +102,7 @@ public class ReplaceVnfInfra extends AbstractServiceTaskProcessor { *
* @param execution The flow's execution instance.
*/
- public void preProcessRequest(Execution execution) {
+ public void preProcessRequest(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.preProcessRequest(' +
'execution=' + execution.getId() +
')'
@@ -120,9 +124,17 @@ public class ReplaceVnfInfra extends AbstractServiceTaskProcessor { def serviceInstanceId = execution.getVariable('serviceInstanceId')
def vnfId = execution.getVariable('vnfId')
- execution.setVariable(prefix + 'serviceInstanceId', serviceInstanceId)
- execution.setVariable(prefix + 'vnfId', vnfId)
- execution.setVariable("isVidRequest", "true")
+ execution.setVariable('serviceInstanceId', serviceInstanceId)
+ execution.setVariable("isVidRequest", "true")
+ execution.setVariable('serviceType', 'Mobility')
+ execution.setVariable('retainResources', true)
+ execution.setVariable('disableRollback', true)
+ execution.setVariable('payload', "")
+ execution.setVariable('actionLock', Action.Lock)
+ execution.setVariable('actionUnlock', Action.Unlock)
+ execution.setVariable('actionHealthCheck', Action.HealthCheck)
+ execution.setVariable('actionStart', Action.Start)
+ execution.setVariable('actionStop', Action.Stop)
def asdcServiceModelVersion = ''
def serviceModelInfo = null
@@ -143,61 +155,64 @@ public class ReplaceVnfInfra extends AbstractServiceTaskProcessor { }
}
- execution.setVariable(prefix + 'asdcServiceModelVersion', asdcServiceModelVersion)
- execution.setVariable(prefix + 'serviceModelInfo', serviceModelInfo)
+ execution.setVariable('asdcServiceModelVersion', asdcServiceModelVersion)
+ execution.setVariable('serviceModelInfo', serviceModelInfo)
def vnfModelInfo = jsonOutput.toJson(reqMap.requestDetails?.modelInfo)
- execution.setVariable(prefix + 'vnfModelInfo', vnfModelInfo)
+ execution.setVariable('vnfModelInfo', vnfModelInfo)
def vnfModelInvariantUuid = jsonUtils.getJsonValue(vnfModelInfo, "modelInvariantUuid")
- execution.setVariable(prefix + 'vnfModelInvariantUuid', vnfModelInvariantUuid)
+ execution.setVariable('vnfModelInvariantUuid', vnfModelInvariantUuid)
logDebug("vnfModelInvariantUuid: " + vnfModelInvariantUuid, isDebugLogEnabled)
def vnfType = execution.getVariable('vnfType')
- execution.setVariable(prefix + 'vnfType', vnfType)
+ execution.setVariable('vnfType', vnfType)
def userParams = reqMap.requestDetails?.requestParameters?.userParams
Map<String, String> userParamsMap = [:]
if (userParams != null) {
userParams.each { userParam ->
- userParamsMap.put(userParam.name, userParam.value)
+ userParamsMap.put(userParam.name, userParam.value.toString())
}
}
utils.log("DEBUG", 'Processed user params: ' + userParamsMap, isDebugLogEnabled)
- execution.setVariable(prefix + 'vfModuleInputParams', userParamsMap)
+ execution.setVariable('vfModuleInputParams', userParamsMap)
- def requestId = execution.getVariable("mso-request-id")
- execution.setVariable(prefix + 'requestId', requestId)
-
+ def requestId = execution.getVariable("requestId")
+ execution.setVariable('msoRequestId', requestId)
+ utils.log("DEBUG", "requestId is: " + requestId, isDebugLogEnabled)
def vnfName = reqMap.requestDetails?.requestInfo?.instanceName ?: null
- execution.setVariable(prefix + 'vnfName', vnfName)
+ execution.setVariable('vnfName', vnfName)
def requestorId = reqMap.requestDetails?.requestInfo?.requestorId ?: null
- execution.setVariable(prefix + 'requestorId', requestorId)
+ execution.setVariable('requestorId', requestorId)
def usePreload = reqMap.requestDetails?.requestParameters?.usePreload
- execution.setVariable(prefix + 'usePreload', usePreload)
+ execution.setVariable('usePreload', usePreload)
+
+ def productFamilyId = reqMap.requestDetails?.requestInfo?.productFamilyId ?: null
+ execution.setVariable('productFamilyId', productFamilyId)
def cloudConfiguration = jsonOutput.toJson(reqMap.requestDetails?.cloudConfiguration)
- execution.setVariable(prefix + 'cloudConfiguration', cloudConfiguration)
+ execution.setVariable('cloudConfiguration', cloudConfiguration)
def lcpCloudRegionId = jsonUtils.getJsonValue(cloudConfiguration, "lcpCloudRegionId")
- execution.setVariable(prefix + 'lcpCloudRegionId', lcpCloudRegionId)
+ execution.setVariable('lcpCloudRegionId', lcpCloudRegionId)
def tenantId = jsonUtils.getJsonValue(cloudConfiguration, "tenantId")
- execution.setVariable(prefix + 'tenantId', tenantId)
+ execution.setVariable('tenantId', tenantId)
def globalSubscriberId = reqMap.requestDetails?.subscriberInfo?.globalSubscriberId ?: ''
- execution.setVariable(prefix + 'globalSubscriberId', globalSubscriberId)
+ execution.setVariable('globalSubscriberId', globalSubscriberId)
- execution.setVariable(prefix + 'sdncVersion', '1702')
+ execution.setVariable('sdncVersion', '1702')
execution.setVariable("ReplaceVnfInfraSuccessIndicator", false)
execution.setVariable("isDebugLogEnabled", isDebugLogEnabled)
def source = reqMap.requestDetails?.requestInfo?.source
- execution.setVariable(prefix + "source", source)
+ execution.setVariable("source", source)
//For Completion Handler & Fallout Handler
String requestInfo =
@@ -207,9 +222,9 @@ public class ReplaceVnfInfra extends AbstractServiceTaskProcessor { <source>${source}</source>
</request-info>"""
- execution.setVariable(prefix + "requestInfo", requestInfo)
+ execution.setVariable("requestInfo", requestInfo)
- logDebug('RequestInfo: ' + execution.getVariable(prefix + "requestInfo"), isDebugLogEnabled)
+ logDebug('RequestInfo: ' + execution.getVariable("requestInfo"), isDebugLogEnabled)
logDebug('Exited ' + method, isDebugLogEnabled)
@@ -231,7 +246,7 @@ public class ReplaceVnfInfra extends AbstractServiceTaskProcessor { *
* @param execution The flow's execution instance.
*/
- public void sendSynchResponse(Execution execution) {
+ public void sendSynchResponse(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.sendSynchResponse(' +
'execution=' + execution.getId() +
')'
@@ -240,9 +255,9 @@ public class ReplaceVnfInfra extends AbstractServiceTaskProcessor { try {
- def requestInfo = execution.getVariable('RPLVnfI_requestInfo')
- def requestId = execution.getVariable('RPLVnfI_requestId')
- def source = execution.getVariable('RPLVnfI_source')
+ def requestInfo = execution.getVariable('requestInfo')
+ def requestId = execution.getVariable('requestId')
+ def source = execution.getVariable('source')
def progress = getNodeTextForce(requestInfo, 'progress')
if (progress.isEmpty()) {
progress = '0'
@@ -275,7 +290,7 @@ public class ReplaceVnfInfra extends AbstractServiceTaskProcessor { *
* @param execution The flow's execution instance.
*/
- public void getVnfResourceDecomposition(Execution execution) {
+ public void getVnfResourceDecomposition(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.getVnfResourceDecomposition(' +
'execution=' + execution.getId() +
')'
@@ -284,7 +299,7 @@ public class ReplaceVnfInfra extends AbstractServiceTaskProcessor { try {
ServiceDecomposition serviceDecomposition = execution.getVariable("serviceDecomposition")
- String vnfModelInvariantUuid = execution.getVariable(prefix + 'vnfModelInvariantUuid')
+ String vnfModelInvariantUuid = execution.getVariable('vnfModelInvariantUuid')
logDebug("vnfModelInvariantUuid: " + vnfModelInvariantUuid, isDebugLogEnabled)
List<VnfResource> vnfResources = serviceDecomposition.getServiceVnfs()
@@ -295,9 +310,9 @@ public class ReplaceVnfInfra extends AbstractServiceTaskProcessor { if (vnfModelInvariantUuid.equals(modelInvariantUuidFromDecomposition)) {
VnfResource vnfResourceDecomposition = vnfResources[i]
- execution.setVariable(prefix + 'vnfResourceDecomposition', vnfResourceDecomposition)
+ execution.setVariable('vnfResourceDecomposition', vnfResourceDecomposition)
def nfRole = vnfResourceDecomposition.getNfRole()
- execution.setVariable(prefix + 'nfRole', nfRole)
+ execution.setVariable('nfRole', nfRole)
logDebug("vnfResourceDecomposition: " + vnfResourceDecomposition.toJsonString(), isDebugLogEnabled)
break
}
@@ -322,13 +337,13 @@ public class ReplaceVnfInfra extends AbstractServiceTaskProcessor { *
* @param execution The flow's execution instance.
*/
- public void checkIfVnfInMaintInAAI(Execution execution) {
+ public void checkIfVnfInMaintInAAI(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.checkIfVnfInMaintInAAI(' +
'execution=' + execution.getId() +
')'
def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled')
- execution.setVariable(prefix + 'errorCode', "0")
- execution.setVariable(prefix + "workStep", "checkIfVnfInMaintInAAI")
+ execution.setVariable('errorCode', "0")
+ execution.setVariable("workStep", "checkIfVnfInMaintInAAI")
execution.setVariable("failedActivity", "AAI")
logDebug('Entered ' + method, isDebugLogEnabled)
@@ -340,15 +355,21 @@ public class ReplaceVnfInfra extends AbstractServiceTaskProcessor { def vnfId = execution.getVariable("vnfId")
boolean isInMaint = aaiValidator.isVNFLocked(vnfId, transactionLoggingUuid)
logDebug("isInMaint result: " + isInMaint, isDebugLogEnabled)
- execution.setVariable(prefix + 'isVnfInMaintenance', isInMaint)
+ execution.setVariable('isVnfInMaintenance', isInMaint)
+
+ if (isInMaint) {
+ execution.setVariable("errorCode", "1003")
+ execution.setVariable("errorText", "VNF is in maintenance in A&AI")
+ }
+
logDebug('Exited ' + method, isDebugLogEnabled)
} catch (BpmnError e) {
throw e;
} catch (Exception e) {
logError('Caught exception in ' + method, e)
- execution.setVariable(prefix + "errorCode", "1002")
- execution.setVariable(prefix + "errorText", e.getMessage())
+ execution.setVariable("errorCode", "1002")
+ execution.setVariable("errorText", e.getMessage())
//exceptionUtil.buildAndThrowWorkflowException(execution, 1002, 'Error in checkIfVnfInMaintInAAI(): ' + e.getMessage())
}
}
@@ -360,14 +381,14 @@ public class ReplaceVnfInfra extends AbstractServiceTaskProcessor { *
* @param execution The flow's execution instance.
*/
- public void checkIfPserversInMaintInAAI(Execution execution) {
+ public void checkIfPserversInMaintInAAI(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.checkIfPserversInMaintInAAI(' +
'execution=' + execution.getId() +
')'
def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled')
- execution.setVariable(prefix + 'errorCode', "0")
+ execution.setVariable('errorCode', "0")
logDebug('Entered ' + method, isDebugLogEnabled)
- execution.setVariable(prefix + "workStep", "checkIfPserversInMaintInAAI")
+ execution.setVariable("workStep", "checkIfPserversInMaintInAAI")
execution.setVariable("failedActivity", "AAI")
try {
@@ -378,15 +399,20 @@ public class ReplaceVnfInfra extends AbstractServiceTaskProcessor { def vnfId = execution.getVariable("vnfId")
boolean areLocked = aaiValidator.isPhysicalServerLocked(vnfId, transactionLoggingUuid)
logDebug("areLocked result: " + areLocked, isDebugLogEnabled)
- execution.setVariable(prefix + 'arePserversLocked', areLocked)
+ execution.setVariable('arePserversLocked', areLocked)
+
+ if (areLocked) {
+ execution.setVariable("errorCode", "1003")
+ execution.setVariable("errorText", "pServers are locked in A&AI")
+ }
logDebug('Exited ' + method, isDebugLogEnabled)
} catch (BpmnError e) {
throw e;
} catch (Exception e) {
logError('Caught exception in ' + method, e)
- execution.setVariable(prefix + "errorCode", "1002")
- execution.setVariable(prefix + "errorText", e.getMessage())
+ execution.setVariable("errorCode", "1002")
+ execution.setVariable("errorText", e.getMessage())
//exceptionUtil.buildAndThrowWorkflowException(execution, 1002, 'Error in checkIfPserversInMaintInAAI(): ' + e.getMessage())
}
}
@@ -398,18 +424,18 @@ public class ReplaceVnfInfra extends AbstractServiceTaskProcessor { * @param execution The flow's execution instance.
* @param inMaint The boolean value of the flag to set
*/
- public void setVnfInMaintFlagInAAI(Execution execution, boolean inMaint) {
+ public void setVnfInMaintFlagInAAI(DelegateExecution execution, boolean inMaint) {
def method = getClass().getSimpleName() + '.setVnfInMaintFlagInAAI(' +
'execution=' + execution.getId() +
')'
def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled')
- execution.setVariable(prefix + 'errorCode', "0")
+ execution.setVariable('errorCode', "0")
logDebug('Entered ' + method, isDebugLogEnabled)
if (inMaint) {
- execution.setVariable(prefix + "workStep", "setVnfInMaintFlagInAAI")
+ execution.setVariable("workStep", "setVnfInMaintFlagInAAI")
}
else {
- execution.setVariable(prefix + "workStep", "unsetVnfInMaintFlagInAAI")
+ execution.setVariable("workStep", "unsetVnfInMaintFlagInAAI")
}
execution.setVariable("failedActivity", "AAI")
@@ -421,6 +447,7 @@ public class ReplaceVnfInfra extends AbstractServiceTaskProcessor { def vnfId = execution.getVariable("vnfId")
if (inMaint) {
aaiUpdator.updateVnfToLocked(vnfId, transactionLoggingUuid)
+ execution.setVariable("rollbackSetVnfInMaintenanceFlag", true)
}
else {
aaiUpdator.updateVnfToUnLocked(vnfId, transactionLoggingUuid)
@@ -431,8 +458,8 @@ public class ReplaceVnfInfra extends AbstractServiceTaskProcessor { throw e;
} catch (Exception e) {
logError('Caught exception in ' + method, e)
- execution.setVariable(prefix + "errorCode", "1002")
- execution.setVariable(prefix + "errorText", e.getMessage())
+ execution.setVariable("errorCode", "1002")
+ execution.setVariable("errorText", e.getMessage())
//exceptionUtil.buildAndThrowWorkflowException(execution, 1002, 'Error in setVnfInMaintFlagInAAI(): ' + e.getMessage())
}
}
@@ -444,50 +471,46 @@ public class ReplaceVnfInfra extends AbstractServiceTaskProcessor { * @param execution The flow's execution instance.
* @param action The action to take in APP-C.
*/
- public void runAppcCommand(Execution execution, Action action) {
+ public void runAppcCommand(DelegateExecution execution, Action action) {
def method = getClass().getSimpleName() + '.runAppcCommand(' +
'execution=' + execution.getId() +
')'
def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled')
- execution.setVariable(prefix + 'errorCode', "0")
- logDebug('Entered ' + method, isDebugLogEnabled)
+ execution.setVariable('errorCode', "0")
+ logDebug('Entered ' + method, isDebugLogEnabled)
try {
logDebug("Running APP-C action: " + action.toString(), isDebugLogEnabled)
String vnfId = execution.getVariable('vnfId')
- String msoRequestId = execution.getVariable(prefix + 'requestId')
+ String msoRequestId = execution.getVariable('requestId')
execution.setVariable('msoRequestId', msoRequestId)
- execution.setVariable(prefix + "failedActivity", "APP-C")
-
- ApplicationControllerSupport support = new ApplicationControllerSupport()
- appcClient.appCSupport=support
- org.springframework.test.util.ReflectionTestUtils.setField(support, "lcmModelPackage", "org.openecomp.appc.client.lcm.model");
- Flags flags = new Flags();
- ActionIdentifiers actionIdentifiers = new ActionIdentifiers();
- actionIdentifiers.setVnfId(vnfId);
- Status appcStatus
+ execution.setVariable("failedActivity", "APP-C")
+ execution.setVariable("workStep", action.toString() + "VNF")
+
+ ApplicationControllerOrchestrator appcClient = new ApplicationControllerOrchestrator()
+ Status appcStatus = null
switch(action) {
case Action.Lock:
- execution.setVariable(prefix + 'workStep', "LockVNF")
- appcStatus = appcClient.runCommand(Action.Lock,actionIdentifiers,flags,null,msoRequestId)
+ execution.setVariable('workStep', "LockVNF")
+ appcStatus = appcClient.runCommand(Action.Lock,msoRequestId,vnfId,null)
break
case Action.Unlock:
- execution.setVariable(prefix + 'workStep', "UnlockVNF")
- appcStatus = appcClient.runCommand(Action.Unlock,actionIdentifiers,flags,null,msoRequestId)
+ execution.setVariable('workStep', "UnlockVNF")
+ appcStatus = appcClient.runCommand(Action.Unlock,msoRequestId,vnfId,null)
break
case Action.HealthCheck:
- def healthCheckIndex = execution.getVariable(prefix + 'healthCheckIndex')
- execution.setVariable(prefix + 'workStep', "HealthCheckVNF" + healthCheckIndex)
- execution.setVariable(prefix + 'healthCheckIndex', healthCheckIndex + 1)
- appcStatus = appcClient.runCommand(Action.HealthCheck,actionIdentifiers,flags,null,msoRequestId)
+ def healthCheckIndex = execution.getVariable('healthCheckIndex')
+ execution.setVariable('workStep', "HealthCheckVNF" + healthCheckIndex)
+ execution.setVariable('healthCheckIndex', healthCheckIndex + 1)
+ appcStatus = appcClient.runCommand(Action.HealthCheck,msoRequestId,vnfId,null)
break
case Action.Start:
- execution.setVariable(prefix + 'workStep', "StartVNF")
- appcStatus = appcClient.runCommand(Action.Start,actionIdentifiers,flags,null,msoRequestId)
+ execution.setVariable('workStep', "StartVNF")
+ appcStatus = appcClient.runCommand(Action.Start,msoRequestId,vnfId,null)
break
case Action.Stop:
- execution.setVariable(prefix + 'workStep', "StopVNF")
- appcStatus = appcClient.runCommand(Action.Stop,actionIdentifiers,flags,null,msoRequestId)
+ execution.setVariable('workStep', "StopVNF")
+ appcStatus = appcClient.runCommand(Action.Stop,msoRequestId,vnfId,null)
break
default:
break
@@ -497,86 +520,42 @@ public class ReplaceVnfInfra extends AbstractServiceTaskProcessor { logDebug("AppC status code is: " + appcCode, isDebugLogEnabled)
logDebug("AppC status message is: " + appcStatus.getMessage(), isDebugLogEnabled)
if (support.getCategoryOf(appcStatus) == ApplicationControllerSupport.StatusCategory.ERROR) {
- execution.setVariable(prefix + "errorCode", Integer.toString(appcCode))
- execution.setVariable(prefix + "errorText", appcStatus.getMessage())
+ execution.setVariable("errorCode", Integer.toString(appcCode))
+ execution.setVariable("errorText", appcStatus.getMessage())
}
+
logDebug('Exited ' + method, isDebugLogEnabled)
} catch (BpmnError e) {
logError('Caught exception in ' + method, e)
- execution.setVariable(prefix + "errorCode", "1002")
- execution.setVariable(prefix + "errorText", e.getMessage())
- //throw e;
+ execution.setVariable("errorCode", "1002")
+ execution.setVariable("errorText", e.getMessage())
} catch (java.lang.NoSuchMethodError e) {
logError('Caught exception in ' + method, e)
- execution.setVariable(prefix + "errorCode", "1002")
- execution.setVariable(prefix + "errorText", e.getMessage())
- //throw e;
+ execution.setVariable("errorCode", "1002")
+ execution.setVariable("errorText", e.getMessage())
} catch (Exception e) {
logError('Caught exception in ' + method, e)
- execution.setVariable(prefix + "errorCode", "1002")
- execution.setVariable(prefix + "errorText", e.getMessage())
-
- //exceptionUtil.buildAndThrowWorkflowException(execution, 1002, 'Error in ' + method + ': ' + e.getMessage())
+ execution.setVariable("errorCode", "1002")
+ execution.setVariable("errorText", e.getMessage())
}
}
-
- /**
- * Builds a "CompletionHandler" request and stores it in the specified execution variable.
- *
- * @param execution the execution
- * @param resultVar the execution variable in which the result will be stored
- */
- public void completionHandlerPrep(Execution execution, String resultVar) {
- def method = getClass().getSimpleName() + '.completionHandlerPrep(' +
- 'execution=' + execution.getId() +
- ', resultVar=' + resultVar +
- ')'
- def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled')
- logDebug('Entered ' + method, isDebugLogEnabled)
-
- try {
- def requestInfo = getVariable(execution, 'RPLVnfI_requestInfo')
-
- appcClient.shutdownclient()
-
- String content = """
- <sdncadapterworkflow:MsoCompletionRequest xmlns:sdncadapterworkflow="http://org.openecomp/mso/workflow/schema/v1"
- xmlns:reqtype="http://org.openecomp/mso/request/types/v1">
- ${requestInfo}
- <sdncadapterworkflow:mso-bpel-name>MSO_ACTIVATE_BPEL</sdncadapterworkflow:mso-bpel-name>
- </sdncadapterworkflow:MsoCompletionRequest>
- """
-
- content = utils.formatXml(content)
- logDebug(resultVar + ' = ' + System.lineSeparator() + content, isDebugLogEnabled)
- execution.setVariable(resultVar, content)
-
- logDebug('Exited ' + method, isDebugLogEnabled)
- } catch (BpmnError e) {
- throw e;
- } catch (Exception e) {
- logError('Caught exception in ' + method, e)
- exceptionUtil.buildAndThrowWorkflowException(execution, 2000, 'Internal Error')
- }
- }
-
/**
* Prepare DoDeleteVnfAndModules call.
*
*
* @param execution The flow's execution instance.
*/
- public void prepDoDeleteVnfAndModules(Execution execution) {
+ public void prepDoDeleteVnfAndModules(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.prepDoDeleteVnfAndModules(' +
'execution=' + execution.getId() +
')'
def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled')
- execution.setVariable(prefix + 'errorCode', "0")
+ execution.setVariable('errorCode', "0")
logDebug('Entered ' + method, isDebugLogEnabled)
- execution.setVariable(prefix + "workStep", "doDeleteVnfAndModules")
+ execution.setVariable("workStep", "doDeleteVnfAndModules")
execution.setVariable("failedActivity", "MSO Delete VNF")
logDebug('Exited ' + method, isDebugLogEnabled)
@@ -588,87 +567,34 @@ public class ReplaceVnfInfra extends AbstractServiceTaskProcessor { *
* @param execution The flow's execution instance.
*/
- public void prepDoCreateVnfAndModules(Execution execution) {
+ public void prepDoCreateVnfAndModules(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.prepDoReplaceVnfAndModules(' +
'execution=' + execution.getId() +
')'
def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled')
- execution.setVariable(prefix + 'errorCode', "0")
+ execution.setVariable('errorCode', "0")
logDebug('Entered ' + method, isDebugLogEnabled)
- execution.setVariable(prefix + "workStep", "doReplaceVnfAndModules")
- execution.setVariable("failedActivity", "MSO Replace VNF")
+ execution.setVariable("workStep", "doCreateVnfAndModules")
+ execution.setVariable("failedActivity", "MSO Create VNF")
logDebug('Exited ' + method, isDebugLogEnabled)
}
- /**
- * Builds a "FalloutHandler" request and stores it in the specified execution variable.
- *
- * @param execution the execution
- * @param resultVar the execution variable in which the result will be stored
- */
- public void falloutHandlerPrep(Execution execution, String resultVar) {
- def method = getClass().getSimpleName() + '.falloutHandlerPrep(' +
- 'execution=' + execution.getId() +
- ', resultVar=' + resultVar +
- ')'
- def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled')
- logDebug('Entered ' + method, isDebugLogEnabled)
-
- try {
- def prefix = execution.getVariable('prefix')
- def request = getVariable(execution, prefix+'Request')
- def requestInformation = execution.getVariable(prefix + "requestInfo")
-
- appcClient.shutdownclient()
-
- def WorkflowException workflowException = execution.getVariable("WorkflowException")
- def errorResponseCode = workflowException.getErrorCode()
- def errorResponseMsg = workflowException.getErrorMessage()
- def encErrorResponseMsg = ""
- if (errorResponseMsg != null) {
- encErrorResponseMsg = errorResponseMsg.replace("&", "&").replace("<", "<").replace(">", ">")
- }
-
- String content = """
- <sdncadapterworkflow:FalloutHandlerRequest xmlns:sdncadapterworkflow="http://org.openecomp/mso/workflow/schema/v1"
- xmlns:reqtype="http://org.openecomp/mso/request/types/v1"
- xmlns:msoservtypes="http://org.openecomp/mso/request/types/v1"
- xmlns:structuredtypes="http://org.openecomp/mso/structured/types/v1">
- ${requestInformation}
- <sdncadapterworkflow:WorkflowException>
- <sdncadapterworkflow:ErrorMessage>${encErrorResponseMsg}</sdncadapterworkflow:ErrorMessage>
- <sdncadapterworkflow:ErrorCode>${errorResponseCode}</sdncadapterworkflow:ErrorCode>
- </sdncadapterworkflow:WorkflowException>
- </sdncadapterworkflow:FalloutHandlerRequest>
- """
- content = utils.formatXml(content)
- logDebug(resultVar + ' = ' + System.lineSeparator() + content, isDebugLogEnabled)
- execution.setVariable(resultVar, content)
-
- logDebug('Exited ' + method, isDebugLogEnabled)
- } catch (BpmnError e) {
- throw e;
- } catch (Exception e) {
- logError('Caught exception in ' + method, e)
- exceptionUtil.buildWorkflowException(execution, 2000, 'Internal Error')
- }
- }
/**
* Handle Abort disposition from RainyDayHandler
*
* @param execution The flow's execution instance.
*/
- public void abortProcessing(Execution execution) {
+ public void abortProcessing(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.abortProcessing(' +
'execution=' + execution.getId() +
')'
def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled')
logDebug('Entered ' + method, isDebugLogEnabled)
- def errorText = execution.getVariable(prefix + "errorText")
- def errorCode = execution.getVariable(prefix + "errorCode")
+ def errorText = execution.getVariable("errorText")
+ def errorCode = execution.getVariable("errorCode")
exceptionUtil.buildAndThrowWorkflowException(execution, errorCode as Integer, errorText)
}
@@ -678,14 +604,14 @@ public class ReplaceVnfInfra extends AbstractServiceTaskProcessor { *
* @param execution The flow's execution instance.
*/
- public void manualProcessing(Execution execution) {
+ public void manualProcessing(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.manualProcessing(' +
'execution=' + execution.getId() +
')'
def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled')
logDebug('Entered ' + method, isDebugLogEnabled)
- def taskId = execution.getVariable("RPLVnfI_taskId")
+ def taskId = execution.getVariable("taskId")
exceptionUtil.buildAndThrowWorkflowException(execution, 2000, "Processing halted - manual task created: " + taskId)
}
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/RollbackVnf.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/RollbackVnf.groovy new file mode 100644 index 0000000000..b3ac195c7d --- /dev/null +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/RollbackVnf.groovy @@ -0,0 +1,153 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP - SO + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. 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 groovy.json.JsonOutput +import groovy.json.JsonSlurper +import groovy.util.Node +import groovy.util.XmlParser; +import groovy.xml.QName + +import java.beans.MetaData.java_lang_Class_PersistenceDelegate +import java.io.Serializable; +import java.util.UUID; +import org.openecomp.mso.bpmn.common.scripts.ExceptionUtil +import org.camunda.bpm.engine.delegate.BpmnError +import org.camunda.bpm.engine.impl.cmd.AbstractSetVariableCmd +import org.camunda.bpm.engine.delegate.DelegateExecution +import org.openecomp.mso.rest.APIResponse +import org.openecomp.mso.rest.RESTClient +import org.openecomp.mso.rest.RESTConfig +import org.openecomp.mso.bpmn.common.scripts.AbstractServiceTaskProcessor; +import org.openecomp.mso.bpmn.common.scripts.VidUtils; +import org.openecomp.mso.bpmn.core.RollbackData +import org.openecomp.mso.bpmn.core.WorkflowException +import org.openecomp.mso.bpmn.common.scripts.ExceptionUtil +import org.openecomp.mso.bpmn.core.json.JsonUtils +import org.openecomp.mso.bpmn.core.domain.ModelInfo +import org.openecomp.mso.bpmn.core.domain.ServiceDecomposition +import org.openecomp.mso.bpmn.core.domain.VnfResource +import org.openecomp.mso.client.aai.* + +import org.openecomp.mso.client.appc.ApplicationControllerClient; +import org.openecomp.mso.client.appc.ApplicationControllerSupport; +import org.openecomp.mso.client.aai.AAIResourcesClient +import org.openecomp.mso.client.aai.entities.AAIResultWrapper +import org.openecomp.mso.client.aai.entities.uri.AAIUri +import org.openecomp.mso.client.aai.entities.uri.AAIUriFactory +import org.onap.appc.client.lcm.model.Action; +import org.onap.appc.client.lcm.model.ActionIdentifiers; +import org.onap.appc.client.lcm.model.LockInput +import org.onap.appc.client.lcm.model.UnlockInput +import org.onap.appc.client.lcm.model.HealthCheckInput +import org.onap.appc.client.lcm.model.StartInput +import org.onap.appc.client.lcm.model.StopInput +import org.onap.appc.client.lcm.model.Flags +import org.onap.appc.client.lcm.model.Status + + + +public class RollbackVnf extends VnfCmBase { + + ExceptionUtil exceptionUtil = new ExceptionUtil() + JsonUtils jsonUtils = new JsonUtils() + def prefix = "VnfIPU_" + + /** + * Initialize the flow's variables. + * + * @param execution The flow's execution instance. + */ + public void initProcessVariables(DelegateExecution execution) { + execution.setVariable('prefix', 'RVnf_') + + execution.setVariable('rollbackSuccessful', false) + execution.setVariable('currentActivity', 'RVnf') + execution.setVariable('workStep', null) + execution.setVariable('failedActivity', null) + execution.setVariable('errorCode', "0") + execution.setVariable('actionUnlock', Action.Unlock) + execution.setVariable('actionStart', Action.Start) + execution.setVariable('actionResumeTraffic', Action.ResumeTraffic) + + } + + /** + * Check for missing elements in the received request. + * + * @param execution The flow's execution instance. + */ + public void preProcessRequest(DelegateExecution execution) { + def method = getClass().getSimpleName() + '.preProcessRequest(' + + 'execution=' + execution.getId() + + ')' + initProcessVariables(execution) + def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled') + logDebug('Entered ' + method, isDebugLogEnabled) + + initProcessVariables(execution) + + try { + + execution.setVariable("rollbackErrorCode", "0") + + if (execution.getVariable("rollbackSetClosedLoopDisabledFlag") == true) { + logDebug("Will call setClosedLoopDisabledFlag", isDebugLogEnabled) + } + + + logDebug('Exited ' + method, isDebugLogEnabled) + + } + catch(Exception e) { + String restFaultMessage = e.getMessage() + utils.log("ERROR", " Exception Encountered - " + "\n" + restFaultMessage, isDebugLogEnabled) + execution.setVariable("rollbackErrorCode", "1") + } + } + + /** + * Determine success of rollback execution. + * + * @param execution The flow's execution instance. + */ + public void setRollbackResult(DelegateExecution execution) { + def method = getClass().getSimpleName() + '.setRollbackResult(' + + 'execution=' + execution.getId() + + ')' + initProcessVariables(execution) + def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled') + logDebug('Entered ' + method, isDebugLogEnabled) + + def rollbackErrorCode = execution.getVariable('rollbackErrorCode') + if (rollbackErrorCode == "0") { + execution.setVariable('rollbackSuccessful', true) + logDebug("rollback successful", isDebugLogEnabled) + } + else { + execution.setVariable('rollbackSuccessful', false) + logDebug("rollback unsuccessful", isDebugLogEnabled) + } + + logDebug('Exited ' + method, isDebugLogEnabled) + + } + +} diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateCustomE2EServiceInstance.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateCustomE2EServiceInstance.groovy index 44eaa349b6..1c87c11ff3 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateCustomE2EServiceInstance.groovy +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateCustomE2EServiceInstance.groovy @@ -34,7 +34,7 @@ import java.util.List; import java.util.UUID; import org.camunda.bpm.engine.delegate.BpmnError -import org.camunda.bpm.engine.runtime.Execution +import org.camunda.bpm.engine.delegate.DelegateExecution import org.apache.commons.lang3.* import org.apache.commons.codec.binary.Base64; import org.springframework.web.util.UriUtils @@ -50,7 +50,7 @@ public class UpdateCustomE2EServiceInstance extends AbstractServiceTaskProcessor JsonUtils jsonUtil = new JsonUtils() - public void preProcessRequest (Execution execution) { + public void preProcessRequest (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix",Prefix) String msg = "" @@ -139,7 +139,7 @@ public class UpdateCustomE2EServiceInstance extends AbstractServiceTaskProcessor utils.log("INFO"," ***** Exit preProcessRequest *****", isDebugEnabled) } - public void sendSyncResponse (Execution execution) { + public void sendSyncResponse (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") utils.log("INFO", " *** sendSyncResponse *** ", isDebugEnabled) @@ -161,7 +161,7 @@ public class UpdateCustomE2EServiceInstance extends AbstractServiceTaskProcessor } - public void sendSyncError (Execution execution) { + public void sendSyncError (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") utils.log("INFO", " *** sendSyncError *** ", isDebugEnabled) @@ -189,7 +189,7 @@ public class UpdateCustomE2EServiceInstance extends AbstractServiceTaskProcessor } - public void prepareCompletionRequest (Execution execution) { + public void prepareCompletionRequest (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") utils.log("INFO", " *** prepareCompletion *** ", isDebugEnabled) @@ -225,7 +225,7 @@ public class UpdateCustomE2EServiceInstance extends AbstractServiceTaskProcessor utils.log("INFO", "*** Exit prepareCompletionRequest ***", isDebugEnabled) } - public void prepareFalloutRequest(Execution execution){ + public void prepareFalloutRequest(DelegateExecution execution){ def isDebugEnabled=execution.getVariable("isDebugLogEnabled") utils.log("INFO", " *** prepareFalloutRequest *** ", isDebugEnabled) diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateNetworkInstance.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateNetworkInstance.groovy index 05fde9d39f..33eb4f90bf 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateNetworkInstance.groovy +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateNetworkInstance.groovy @@ -30,7 +30,7 @@ import org.openecomp.mso.rest.APIResponse import java.util.UUID; import org.camunda.bpm.engine.delegate.BpmnError -import org.camunda.bpm.engine.runtime.Execution +import org.camunda.bpm.engine.delegate.DelegateExecution import org.apache.commons.lang3.* import org.apache.commons.codec.binary.Base64; import org.springframework.web.util.UriUtils @@ -44,7 +44,7 @@ public class UpdateNetworkInstance extends AbstractServiceTaskProcessor { ExceptionUtil exceptionUtil = new ExceptionUtil() JsonUtils jsonUtil = new JsonUtils() - public InitializeProcessVariables(Execution execution){ + public InitializeProcessVariables(DelegateExecution execution){ execution.setVariable(Prefix + "source", "") execution.setVariable(Prefix + "Success", false) @@ -67,7 +67,7 @@ public class UpdateNetworkInstance extends AbstractServiceTaskProcessor { * This method is executed during the preProcessRequest task of the <class>UpdateNetworkInstance.bpmn</class> process. * @param execution */ - public void preProcessRequest (Execution execution) { + public void preProcessRequest (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix",Prefix) @@ -150,7 +150,7 @@ public class UpdateNetworkInstance extends AbstractServiceTaskProcessor { } } - public void sendSyncResponse (Execution execution) { + public void sendSyncResponse (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix",Prefix) @@ -175,7 +175,7 @@ public class UpdateNetworkInstance extends AbstractServiceTaskProcessor { } - public void getNetworkModelInfo (Execution execution) { + public void getNetworkModelInfo (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix", Prefix) @@ -200,7 +200,7 @@ public class UpdateNetworkInstance extends AbstractServiceTaskProcessor { } - public void sendSyncError (Execution execution) { + public void sendSyncError (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix", Prefix) @@ -222,7 +222,7 @@ public class UpdateNetworkInstance extends AbstractServiceTaskProcessor { } - public void prepareDBRequestError (Execution execution) { + public void prepareDBRequestError (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix",Prefix) @@ -270,7 +270,7 @@ public class UpdateNetworkInstance extends AbstractServiceTaskProcessor { } - public void prepareCompletion (Execution execution) { + public void prepareCompletion (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix",Prefix) @@ -318,7 +318,7 @@ public class UpdateNetworkInstance extends AbstractServiceTaskProcessor { // Post or Validate Response Section // ************************************************** - public void postProcessResponse (Execution execution) { + public void postProcessResponse (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix", Prefix) @@ -352,7 +352,7 @@ public class UpdateNetworkInstance extends AbstractServiceTaskProcessor { // Build Error Section // ******************************* - public void processRollbackData (Execution execution) { + public void processRollbackData (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix", Prefix) @@ -373,7 +373,7 @@ public class UpdateNetworkInstance extends AbstractServiceTaskProcessor { } // Prepare for FalloutHandler - public void buildErrorResponse (Execution execution) { + public void buildErrorResponse (DelegateExecution execution) { def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix", Prefix) @@ -434,7 +434,7 @@ public class UpdateNetworkInstance extends AbstractServiceTaskProcessor { } - public void processJavaException(Execution execution){ + public void processJavaException(DelegateExecution execution){ def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix",Prefix) try{ diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateVfModule.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateVfModule.groovy index 4fddced3f9..2acc550318 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateVfModule.groovy +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateVfModule.groovy @@ -27,7 +27,7 @@ import groovy.xml.QName import java.io.Serializable; import org.camunda.bpm.engine.delegate.BpmnError -import org.camunda.bpm.engine.runtime.Execution +import org.camunda.bpm.engine.delegate.DelegateExecution import org.openecomp.mso.bpmn.common.scripts.ExceptionUtil import org.openecomp.mso.bpmn.core.WorkflowException import org.openecomp.mso.bpmn.core.json.JsonUtils; @@ -45,7 +45,7 @@ public class UpdateVfModule extends AbstractServiceTaskProcessor { * * @param execution The flow's execution instance. */ - public void initProcessVariables(Execution execution) { + public void initProcessVariables(DelegateExecution execution) { execution.setVariable('prefix', 'UPDVfMod_') execution.setVariable('UPDVfMod_Request', null) execution.setVariable('UPDVfMod_requestInfo', null) @@ -66,7 +66,7 @@ public class UpdateVfModule extends AbstractServiceTaskProcessor { * * @param execution The flow's execution instance. */ - public void preProcessRequest(Execution execution) { + public void preProcessRequest(DelegateExecution execution) { def method = getClass().getSimpleName() + '.preProcessRequest(' + 'execution=' + execution.getId() + ')' @@ -107,7 +107,7 @@ public class UpdateVfModule extends AbstractServiceTaskProcessor { * * @param execution The flow's execution instance. */ - public void sendSynchResponse(Execution execution) { + public void sendSynchResponse(DelegateExecution execution) { def method = getClass().getSimpleName() + '.sendSynchResponse(' + 'execution=' + execution.getId() + ')' @@ -165,7 +165,7 @@ public class UpdateVfModule extends AbstractServiceTaskProcessor { * * @param execution The flow's execution instance. */ - public void prepDoUpdateVfModule(Execution execution) { + public void prepDoUpdateVfModule(DelegateExecution execution) { def method = getClass().getSimpleName() + '.prepDoUpdateVfModule(' + 'execution=' + execution.getId() + ')' @@ -188,7 +188,7 @@ public class UpdateVfModule extends AbstractServiceTaskProcessor { * * @param execution The flow's execution instance. */ - public void prepUpdateInfraRequest(Execution execution) { + public void prepUpdateInfraRequest(DelegateExecution execution) { def method = getClass().getSimpleName() + '.prepUpdateInfraRequest(' + 'execution=' + execution.getId() + ')' @@ -243,7 +243,7 @@ public class UpdateVfModule extends AbstractServiceTaskProcessor { * @param execution the execution * @param resultVar the execution variable in which the result will be stored */ - public void completionHandlerPrep(Execution execution, String resultVar) { + public void completionHandlerPrep(DelegateExecution execution, String resultVar) { def method = getClass().getSimpleName() + '.completionHandlerPrep(' + 'execution=' + execution.getId() + ', resultVar=' + resultVar + @@ -282,7 +282,7 @@ public class UpdateVfModule extends AbstractServiceTaskProcessor { * @param execution the execution * @param resultVar the execution variable in which the result will be stored */ - public void falloutHandlerPrep(Execution execution, String resultVar) { + public void falloutHandlerPrep(DelegateExecution execution, String resultVar) { def method = getClass().getSimpleName() + '.falloutHandlerPrep(' + 'execution=' + execution.getId() + ', resultVar=' + resultVar + diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateVfModuleInfra.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateVfModuleInfra.groovy index 6ac35261c4..60e8ca4b88 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateVfModuleInfra.groovy +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateVfModuleInfra.groovy @@ -29,7 +29,7 @@ import groovy.xml.QName import java.io.Serializable; import org.openecomp.mso.bpmn.common.scripts.ExceptionUtil import org.camunda.bpm.engine.delegate.BpmnError -import org.camunda.bpm.engine.runtime.Execution +import org.camunda.bpm.engine.delegate.DelegateExecution import org.openecomp.mso.rest.APIResponse import org.openecomp.mso.rest.RESTClient import org.openecomp.mso.rest.RESTConfig @@ -48,7 +48,7 @@ public class UpdateVfModuleInfra extends AbstractServiceTaskProcessor { * * @param execution The flow's execution instance. */ - public void initProcessVariables(Execution execution) { + public void initProcessVariables(DelegateExecution execution) { execution.setVariable('prefix', 'UPDVfModI_') execution.setVariable('UPDVfModI_Request', null) execution.setVariable('UPDVfModI_requestInfo', null) @@ -69,7 +69,7 @@ public class UpdateVfModuleInfra extends AbstractServiceTaskProcessor { * * @param execution The flow's execution instance. */ - public void preProcessRequest(Execution execution) { + public void preProcessRequest(DelegateExecution execution) { def method = getClass().getSimpleName() + '.preProcessRequest(' + 'execution=' + execution.getId() + @@ -134,7 +134,7 @@ public class UpdateVfModuleInfra extends AbstractServiceTaskProcessor { Map<String, String> userParamsMap = [:] if (userParams != null) { userParams.each { userParam -> - userParamsMap.put(userParam.name, userParam.value) + userParamsMap.put(userParam.name, userParam.value.toString()) } } @@ -231,7 +231,7 @@ public class UpdateVfModuleInfra extends AbstractServiceTaskProcessor { * * @param execution The flow's execution instance. */ - public void sendSynchResponse(Execution execution) { + public void sendSynchResponse(DelegateExecution execution) { def method = getClass().getSimpleName() + '.sendSynchResponse(' + 'execution=' + execution.getId() + ')' @@ -277,7 +277,7 @@ public class UpdateVfModuleInfra extends AbstractServiceTaskProcessor { * * @param execution The flow's execution instance. */ - public void prepDoUpdateVfModule(Execution execution) { + public void prepDoUpdateVfModule(DelegateExecution execution) { def method = getClass().getSimpleName() + '.prepDoUpdateVfModule(' + 'execution=' + execution.getId() + ')' @@ -300,7 +300,7 @@ public class UpdateVfModuleInfra extends AbstractServiceTaskProcessor { * * @param execution The flow's execution instance. */ - public void prepUpdateInfraRequest(Execution execution) { + public void prepUpdateInfraRequest(DelegateExecution execution) { def method = getClass().getSimpleName() + '.prepUpdateInfraRequest(' + 'execution=' + execution.getId() + ')' @@ -354,7 +354,7 @@ public class UpdateVfModuleInfra extends AbstractServiceTaskProcessor { * @param execution the execution * @param resultVar the execution variable in which the result will be stored */ - public void completionHandlerPrep(Execution execution, String resultVar) { + public void completionHandlerPrep(DelegateExecution execution, String resultVar) { def method = getClass().getSimpleName() + '.completionHandlerPrep(' + 'execution=' + execution.getId() + ', resultVar=' + resultVar + @@ -392,7 +392,7 @@ public class UpdateVfModuleInfra extends AbstractServiceTaskProcessor { * @param execution the execution * @param resultVar the execution variable in which the result will be stored */ - public void falloutHandlerPrep(Execution execution, String resultVar) { + public void falloutHandlerPrep(DelegateExecution execution, String resultVar) { def method = getClass().getSimpleName() + '.falloutHandlerPrep(' + 'execution=' + execution.getId() + ', resultVar=' + resultVar + @@ -445,7 +445,7 @@ public class UpdateVfModuleInfra extends AbstractServiceTaskProcessor { * @param execution the execution * @return the validated request */ - public String validateInfraRequest(Execution execution) { + public String validateInfraRequest(DelegateExecution execution) { def method = getClass().getSimpleName() + '.validateInfraRequest(' + 'execution=' + execution.getId() + ')' diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateVfModuleInfraV2.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateVfModuleInfraV2.groovy index bdb89f0ec2..18f36b879b 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateVfModuleInfraV2.groovy +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateVfModuleInfraV2.groovy @@ -26,13 +26,10 @@ import groovy.json.JsonSlurper import groovy.util.Node
import groovy.util.XmlParser;
import groovy.xml.QName
-import inventory.aai.att.com.v10.GenericVnf
-import inventory.aai.att.com.v10.GenericVnfs
-import inventory.aai.att.com.v10.Pserver
import org.camunda.bpm.engine.delegate.BpmnError
import org.camunda.bpm.engine.impl.cmd.AbstractSetVariableCmd
-import org.camunda.bpm.engine.runtime.Execution
+import org.camunda.bpm.engine.delegate.DelegateExecution
import java.io.Serializable;
import java.util.List
@@ -76,7 +73,7 @@ public class UpdateVfModuleInfraV2 { - public void initProcessVariables(Execution execution) {
+ public void initProcessVariables(DelegateExecution execution) {
execution.setVariable('prefix', 'UPDVfModI_')
execution.setVariable('UPDVfModI_Request', null)
execution.setVariable('UPDVfModI_requestInfo', null)
@@ -98,7 +95,7 @@ public class UpdateVfModuleInfraV2 { *
* @param execution The flow's execution instance.
*/
- public void preProcessRequest(Execution execution) {
+ public void preProcessRequest(DelegateExecution execution) {
System.out.print("*****************************PreProcessRequest**************************")
def method = getClass().getSimpleName() + '.preProcessRequest(' +
@@ -164,7 +161,7 @@ public class UpdateVfModuleInfraV2 { Map<String, String> userParamsMap = [:]
if (userParams != null) {
userParams.each { userParam ->
- userParamsMap.put(userParam.name, userParam.value)
+ userParamsMap.put(userParam.name, userParam.value.toString())
}
}
@@ -260,7 +257,7 @@ public class UpdateVfModuleInfraV2 { *
* @param execution The flow's execution instance.
*/
- public void sendSynchResponse(Execution execution) {
+ public void sendSynchResponse(DelegateExecution execution) {
System.out.print("*****************************SendSynchResponse**************************")
def method = getClass().getSimpleName() + '.sendSynchResponse(' +
@@ -297,7 +294,7 @@ public class UpdateVfModuleInfraV2 { }
//check to see if the Pserver Flag is locked
- public void checkPserverFlag(Execution execution) {
+ public void checkPserverFlag(DelegateExecution execution) {
System.out.println("*****************************CheckingPserverFlag*************************")
String vnfId = (String)execution.getVariable('vnfId')
@@ -307,7 +304,7 @@ public class UpdateVfModuleInfraV2 { }
//check to see if the VFFlag is locked
- public void vfFlagCheck(Execution execution) {
+ public void vfFlagCheck(DelegateExecution execution) {
System.out.print("*****************************VfFlagCheck*************************")
String vnfId = (String)execution.getVariable('vnfId')
@@ -317,7 +314,7 @@ public class UpdateVfModuleInfraV2 { }
//lock the VF Flag
- public void vfFlagSet(Execution execution) {
+ public void vfFlagSet(DelegateExecution execution) {
System.out.print("*****************************VfFlagSet*************************")
String vnfId = (String)execution.getVariable('vnfId')
@@ -328,7 +325,7 @@ public class UpdateVfModuleInfraV2 { }
//Lock AppC
- public void lockAppC(Execution execution) {
+ public void lockAppC(DelegateExecution execution) {
System.out.print("*****************************lockAppC*************************")
def vfModuleId = ""
@@ -338,7 +335,7 @@ public class UpdateVfModuleInfraV2 { }
//run health check
- public void healthCheckAppC(Execution execution) {
+ public void healthCheckAppC(DelegateExecution execution) {
System.out.print("*****************************healthCheckAppC*************************")
def vfModuleId = ""
@@ -347,14 +344,14 @@ public class UpdateVfModuleInfraV2 { }
//SDNO health diagnostic
- public void healthDiagnosticSDNO(Execution execution) {
+ public void healthDiagnosticSDNO(DelegateExecution execution) {
System.out.print("*****************************healthDiagnosticSDNO is currently ignored*************************")
//SDNOValidatorImpl.healthDiagnostic("","");
}
//stop VF module controller
- public void stopVfModuleController(Execution execution) {
+ public void stopVfModuleController(DelegateExecution execution) {
System.out.print("*****************************stopVfModuleController*************************")
def vfModuleId = ""
@@ -364,7 +361,7 @@ public class UpdateVfModuleInfraV2 { }
- public void doUpdateVfModulePrep(Execution execution) {
+ public void doUpdateVfModulePrep(DelegateExecution execution) {
System.out.print("*****************************doUpdateVfModulePrep*************************")
def method = getClass().getSimpleName() + '.prepDoUpdateVfModule(' +
@@ -386,7 +383,7 @@ public class UpdateVfModuleInfraV2 { }
- public void completionHandlerPrep(Execution execution,String resultVar) {
+ public void completionHandlerPrep(DelegateExecution execution,String resultVar) {
System.out.print("*****************************completionHandlerPrep*************************")
def method = getClass().getSimpleName() + '.completionHandlerPrep(' +
@@ -422,7 +419,7 @@ public class UpdateVfModuleInfraV2 { }
- public void healthCheckController(Execution execution) {
+ public void healthCheckController(DelegateExecution execution) {
System.out.print("*****************************healthCheckController*************************")
def vfModuleId = ""
@@ -431,7 +428,7 @@ public class UpdateVfModuleInfraV2 { }
- public void startVfModuleController(Execution execution) {
+ public void startVfModuleController(DelegateExecution execution) {
System.out.print("*****************************startVfModuleController*************************")
def vfModuleId = ""
@@ -440,7 +437,7 @@ public class UpdateVfModuleInfraV2 { }
- public void vFFlagUnset(Execution execution) {
+ public void vFFlagUnset(DelegateExecution execution) {
System.out.print("*****************************vFFlagUnset*************************")
String vnfId = (String)execution.getVariable('vnfId')
@@ -451,7 +448,7 @@ public class UpdateVfModuleInfraV2 { }
- public void unlockAppC(Execution execution) {
+ public void unlockAppC(DelegateExecution execution) {
System.out.print("*****************************unlockAppC*************************")
def vfModuleId = ""
@@ -460,7 +457,7 @@ public class UpdateVfModuleInfraV2 { }
- public void postUpgradeHealthCheckController(Execution execution) {
+ public void postUpgradeHealthCheckController(DelegateExecution execution) {
System.out.print("*****************************postUpgradeHealthCheckController*************************")
def vfModuleId = ""
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateVfModuleVolume.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateVfModuleVolume.groovy index 9dca8df108..c68b04f3b1 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateVfModuleVolume.groovy +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateVfModuleVolume.groovy @@ -23,7 +23,7 @@ package org.openecomp.mso.bpmn.infrastructure.scripts import java.util.concurrent.ExecutionException; import org.camunda.bpm.engine.delegate.BpmnError -import org.camunda.bpm.engine.runtime.Execution +import org.camunda.bpm.engine.delegate.DelegateExecution import org.apache.commons.lang3.* import org.springframework.web.util.UriUtils import org.openecomp.mso.bpmn.common.scripts.AaiUtil @@ -42,7 +42,7 @@ class UpdateVfModuleVolume extends VfModuleBase { * * @param execution The flow's execution instance. */ - private void initProcessVariables(Execution execution) { + private void initProcessVariables(DelegateExecution execution) { execution.setVariable('prefix', 'UPDVfModVol_') execution.setVariable('UPDVfModVol_Request', null) execution.setVariable('UPDVfModVol_requestInfo', null) @@ -66,7 +66,7 @@ class UpdateVfModuleVolume extends VfModuleBase { * @param execution The flow's execution instance. */ @Override - public void preProcessRequest(Execution execution) { + public void preProcessRequest(DelegateExecution execution) { def method = getClass().getSimpleName() + '.preProcessRequest(' + 'execution=' + execution.getId() + ')' @@ -108,7 +108,7 @@ class UpdateVfModuleVolume extends VfModuleBase { * * @param execution The flow's execution instance. */ - public void sendSynchResponse(Execution execution) { + public void sendSynchResponse(DelegateExecution execution) { def method = getClass().getSimpleName() + '.sendSynchResponse(' + 'execution=' + execution.getId() + ')' @@ -160,7 +160,7 @@ class UpdateVfModuleVolume extends VfModuleBase { * * @param execution The flow's execution instance. */ - public void queryAAIForVolumeGroup(Execution execution) { + public void queryAAIForVolumeGroup(DelegateExecution execution) { def method = getClass().getSimpleName() + '.queryAAIForVolumeGroup(' + 'execution=' + execution.getId() + ')' @@ -218,7 +218,7 @@ class UpdateVfModuleVolume extends VfModuleBase { * * @param execution The flow's execution instance. */ - public void prepVnfAdapterRest(Execution execution) { + public void prepVnfAdapterRest(DelegateExecution execution) { def method = getClass().getSimpleName() + '.prepVnfAdapterRest(' + 'execution=' + execution.getId() + ')' @@ -285,7 +285,7 @@ class UpdateVfModuleVolume extends VfModuleBase { * * @param execution The flow's execution instance. */ - public void prepDbInfraDbRequest(Execution execution) { + public void prepDbInfraDbRequest(DelegateExecution execution) { def method = getClass().getSimpleName() + '.prepDbInfraDbRequest(' + 'execution=' + execution.getId() + ')' @@ -329,7 +329,7 @@ class UpdateVfModuleVolume extends VfModuleBase { * * @param execution The flow's execution instance. */ - public void prepCompletionHandlerRequest(Execution execution) { + public void prepCompletionHandlerRequest(DelegateExecution execution) { def method = getClass().getSimpleName() + '.prepCompletionHandlerRequest(' + 'execution=' + execution.getId() + ')' @@ -366,7 +366,7 @@ class UpdateVfModuleVolume extends VfModuleBase { * * @param execution The flow's execution instance. */ - public void prepFalloutHandler(Execution execution) { + public void prepFalloutHandler(DelegateExecution execution) { def method = getClass().getSimpleName() + '.prepFalloutHandler(' + 'execution=' + execution.getId() + ')' @@ -416,7 +416,7 @@ class UpdateVfModuleVolume extends VfModuleBase { * * @param execution The flow's execution instance. */ - public void handleTenantIdMismatch(Execution execution) { + public void handleTenantIdMismatch(DelegateExecution execution) { def method = getClass().getSimpleName() + '.handleTenantIdMismatch(' + 'execution=' + execution.getId() + ')' diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateVfModuleVolumeInfraV1.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateVfModuleVolumeInfraV1.groovy index 3d5a31c6e2..913046b247 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateVfModuleVolumeInfraV1.groovy +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateVfModuleVolumeInfraV1.groovy @@ -25,7 +25,7 @@ import groovy.json.JsonSlurper import java.util.concurrent.ExecutionException;
import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.runtime.Execution
+import org.camunda.bpm.engine.delegate.DelegateExecution
import org.apache.commons.lang3.*
import org.springframework.web.util.UriUtils
import org.openecomp.mso.bpmn.common.scripts.AaiUtil;
@@ -44,7 +44,7 @@ class UpdateVfModuleVolumeInfraV1 extends VfModuleBase { *
* @param execution The flow's execution instance.
*/
- private void initProcessVariables(Execution execution) {
+ private void initProcessVariables(DelegateExecution execution) {
execution.setVariable('prefix', 'UPDVfModVol_')
execution.setVariable('UPDVfModVol_Request', null)
execution.setVariable('UPDVfModVol_requestInfo', null)
@@ -67,12 +67,12 @@ class UpdateVfModuleVolumeInfraV1 extends VfModuleBase { * Perform initial processing, such as request validation, initialization of variables, etc.
* * @param execution
*/
- public void preProcessRequest (Execution execution) {
+ public void preProcessRequest (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
preProcessRequest(execution, isDebugEnabled)
}
- public void preProcessRequest(Execution execution, isDebugLogEnabled) {
+ public void preProcessRequest(DelegateExecution execution, isDebugLogEnabled) {
initProcessVariables(execution)
String jsonRequest = validateRequest(execution)
@@ -135,7 +135,7 @@ class UpdateVfModuleVolumeInfraV1 extends VfModuleBase { *
* @param execution The flow's execution instance.
*/
- public void sendSynchResponse(Execution execution, isDebugLogEnabled) {
+ public void sendSynchResponse(DelegateExecution execution, isDebugLogEnabled) {
def requestInfo = execution.getVariable('UPDVfModVol_requestInfo')
def requestId = execution.getVariable('UPDVfModVol_requestId')
@@ -185,7 +185,7 @@ class UpdateVfModuleVolumeInfraV1 extends VfModuleBase { * Volume Group Id and Aic Cloud Region.
* @param execution The flow's execution instance.
*/
- public void queryAAIForVolumeGroup(Execution execution, isDebugLogEnabled) {
+ public void queryAAIForVolumeGroup(DelegateExecution execution, isDebugLogEnabled) {
def volumeGroupId = execution.getVariable('UPDVfModVol_volumeGroupId')
def aicCloudRegion = execution.getVariable('UPDVfModVol_aicCloudRegion')
@@ -244,7 +244,7 @@ class UpdateVfModuleVolumeInfraV1 extends VfModuleBase { * @param execution
* @param isDebugEnabled
*/
- public void queryAAIForGenericVnf(Execution execution, isDebugEnabled) {
+ public void queryAAIForGenericVnf(DelegateExecution execution, isDebugEnabled) {
def vnfId = execution.getVariable('vnfId')
@@ -285,7 +285,7 @@ class UpdateVfModuleVolumeInfraV1 extends VfModuleBase { * @param execution
* @param isDebugLogEnabled
*/
- public void queryAAIForVfModule(Execution execution, isDebugLogEnabled) {
+ public void queryAAIForVfModule(DelegateExecution execution, isDebugLogEnabled) {
AaiUtil aaiUtil = new AaiUtil(this)
String queryAAIVfModuleRequest = execution.getVariable('UPDVfModVol_relatedVfModuleLink')
@@ -346,7 +346,7 @@ class UpdateVfModuleVolumeInfraV1 extends VfModuleBase { *
* @param execution The flow's execution instance.
*/
- public void prepVnfAdapterRest(Execution execution, isDebugLogEnabled) {
+ public void prepVnfAdapterRest(DelegateExecution execution, isDebugLogEnabled) {
def aicCloudRegion = execution.getVariable('UPDVfModVol_aicCloudRegion')
def tenantId = execution.getVariable('UPDVfModVol_tenantId')
@@ -433,7 +433,7 @@ class UpdateVfModuleVolumeInfraV1 extends VfModuleBase { *
* @param execution The flow's execution instance.
*/
- public void prepDbInfraDbRequest(Execution execution, isDebugLogEnabled) {
+ public void prepDbInfraDbRequest(DelegateExecution execution, isDebugLogEnabled) {
def requestId = execution.getVariable('UPDVfModVol_requestId')
ExceptionUtil exceptionUtil = new ExceptionUtil();
@@ -462,7 +462,7 @@ class UpdateVfModuleVolumeInfraV1 extends VfModuleBase { * Build a "CompletionHandler" request.
* @param execution The flow's execution instance.
*/
- public void prepCompletionHandlerRequest(Execution execution, requestId, action, source, isDebugLogEnabled) {
+ public void prepCompletionHandlerRequest(DelegateExecution execution, requestId, action, source, isDebugLogEnabled) {
String content = """
<aetgt:MsoCompletionRequest xmlns:aetgt="http://org.openecomp/mso/workflow/schema/v1"
@@ -486,7 +486,7 @@ class UpdateVfModuleVolumeInfraV1 extends VfModuleBase { * Build a "FalloutHandler" request.
* @param execution The flow's execution instance.
*/
- public void prepFalloutHandler(Execution execution, isDebugLogEnabled) {
+ public void prepFalloutHandler(DelegateExecution execution, isDebugLogEnabled) {
def requestId = execution.getVariable('UPDVfModVol_requestId')
def source = execution.getVariable('UPDVfModVol_source')
@@ -527,7 +527,7 @@ class UpdateVfModuleVolumeInfraV1 extends VfModuleBase { * AAI did not match the Tenant Id in the incoming request.
* @param execution The flow's execution instance.
*/
- public void handleTenantIdMismatch(Execution execution, isDebugLogEnabled) {
+ public void handleTenantIdMismatch(DelegateExecution execution, isDebugLogEnabled) {
def volumeGroupId = execution.getVariable('UPDVfModVol_volumeGroupId')
def aicCloudRegion = execution.getVariable('UPDVfModVol_aicCloudRegion')
@@ -547,7 +547,7 @@ class UpdateVfModuleVolumeInfraV1 extends VfModuleBase { * AAI did not match the model invariant ID in the incoming request.
* @param execution The flow's execution instance.
*/
- public void handlePersonaModelIdMismatch(Execution execution, isDebugLogEnabled) {
+ public void handlePersonaModelIdMismatch(DelegateExecution execution, isDebugLogEnabled) {
def modelInvariantId = execution.getVariable('UPDVfModVol_modelInvariantId')
def personaModelId = execution.getVariable('UPDVfModVol_personaModelId')
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateVnfInfra.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateVnfInfra.groovy index 4f574c42ba..0db7616d3d 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateVnfInfra.groovy +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/UpdateVnfInfra.groovy @@ -31,7 +31,7 @@ import java.util.UUID; import org.openecomp.mso.bpmn.common.scripts.ExceptionUtil
import org.camunda.bpm.engine.delegate.BpmnError
import org.camunda.bpm.engine.impl.cmd.AbstractSetVariableCmd
-import org.camunda.bpm.engine.runtime.Execution
+import org.camunda.bpm.engine.delegate.DelegateExecution
import org.openecomp.mso.rest.APIResponse
import org.openecomp.mso.rest.RESTClient
import org.openecomp.mso.rest.RESTConfig
@@ -46,25 +46,23 @@ import org.openecomp.mso.bpmn.core.domain.ServiceDecomposition import org.openecomp.mso.bpmn.core.domain.VnfResource
import org.openecomp.mso.client.aai.*
-import org.openecomp.mso.client.appc.ApplicationControllerClient;
-import org.openecomp.mso.client.appc.ApplicationControllerSupport;
-import org.openecomp.appc.client.lcm.model.Action;
-import org.openecomp.appc.client.lcm.model.ActionIdentifiers;
-import org.openecomp.appc.client.lcm.model.LockInput
-import org.openecomp.appc.client.lcm.model.UnlockInput
-import org.openecomp.appc.client.lcm.model.HealthCheckInput
-import org.openecomp.appc.client.lcm.model.StartInput
-import org.openecomp.appc.client.lcm.model.StopInput
-import org.openecomp.appc.client.lcm.model.Flags
-import org.openecomp.appc.client.lcm.model.Status
+import org.openecomp.mso.client.appc.ApplicationControllerOrchestrator
+import org.onap.appc.client.lcm.model.Action;
+import org.onap.appc.client.lcm.model.ActionIdentifiers;
+import org.onap.appc.client.lcm.model.LockInput
+import org.onap.appc.client.lcm.model.UnlockInput
+import org.onap.appc.client.lcm.model.HealthCheckInput
+import org.onap.appc.client.lcm.model.StartInput
+import org.onap.appc.client.lcm.model.StopInput
+import org.onap.appc.client.lcm.model.Flags
+import org.onap.appc.client.lcm.model.Status
-public class UpdateVnfInfra extends AbstractServiceTaskProcessor {
+public class UpdateVnfInfra extends VnfCmBase {
ExceptionUtil exceptionUtil = new ExceptionUtil()
- JsonUtils jsonUtils = new JsonUtils()
- ApplicationControllerClient appcClient = new ApplicationControllerClient()
+ JsonUtils jsonUtils = new JsonUtils()
def prefix = "UPDVnfI_"
/**
@@ -72,25 +70,28 @@ public class UpdateVnfInfra extends AbstractServiceTaskProcessor { *
* @param execution The flow's execution instance.
*/
- public void initProcessVariables(Execution execution) {
+ public void initProcessVariables(DelegateExecution execution) {
execution.setVariable('prefix', 'UPDVnfI_')
- execution.setVariable('UPDVnfI_Request', null)
- execution.setVariable('UPDVnfI_requestInfo', null)
- execution.setVariable('UPDVnfI_requestId', null)
- execution.setVariable('UPDVnfI_source', null)
- execution.setVariable('UPDVnfI_vnfInputs', null)
- execution.setVariable('UPDVnfI_vnfId', null)
- execution.setVariable('UPDVnfI_tenantId', null)
- execution.setVariable('UPDVnfI_vnfParams', null)
+ execution.setVariable('Request', null)
+ execution.setVariable('source', null)
+ execution.setVariable('vnfInputs', null)
+ execution.setVariable('tenantId', null)
+ execution.setVariable('vnfParams', null)
execution.setVariable('UpdateVnfSuccessIndicator', false)
- execution.setVariable('UPDVnfI_serviceType', null)
- execution.setVariable('UPDVnfI_nfRole', null)
- execution.setVariable('UPDVnfI_currentActivity', 'UPDVnfI')
- execution.setVariable('UPDVnfI_workStep', null)
- execution.setVariable('UPDVnfI_failedActivity', null)
- execution.setVariable('UPDVnfI_errorCode', "0")
- execution.setVariable('UPDVnfI_errorText', null)
- execution.setVariable('UPDVnfI_healthCheckIndex', 1)
+ execution.setVariable('serviceType', null)
+ execution.setVariable('nfRole', null)
+ execution.setVariable('currentActivity', 'UPDVnfI')
+ execution.setVariable('workStep', null)
+ execution.setVariable('failedActivity', null)
+ execution.setVariable('errorCode', "0")
+ execution.setVariable('errorText', null)
+ execution.setVariable('healthCheckIndex0', 0)
+ execution.setVariable('healthCheckIndex1', 1)
+ execution.setVariable("rollbackSetClosedLoopDisabledFlag", false)
+ execution.setVariable("rollbackVnfStop", false)
+ execution.setVariable("rollbackVnfLock", false)
+ execution.setVariable("rollbackQuiesceTraffic", false)
+ execution.setVariable("rollbackSetVnfInMaintenanceFlag", false)
}
/**
@@ -98,7 +99,7 @@ public class UpdateVnfInfra extends AbstractServiceTaskProcessor { *
* @param execution The flow's execution instance.
*/
- public void preProcessRequest(Execution execution) {
+ public void preProcessRequest(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.preProcessRequest(' +
'execution=' + execution.getId() +
')'
@@ -116,13 +117,14 @@ public class UpdateVnfInfra extends AbstractServiceTaskProcessor { def jsonOutput = new JsonOutput()
Map reqMap = jsonSlurper.parseText(incomingRequest)
utils.log("DEBUG", " Request is in JSON format.", isDebugLogEnabled)
-
- def serviceInstanceId = execution.getVariable('serviceInstanceId')
- def vnfId = execution.getVariable('vnfId')
- execution.setVariable(prefix + 'serviceInstanceId', serviceInstanceId)
- execution.setVariable(prefix + 'vnfId', vnfId)
- execution.setVariable("isVidRequest", "true")
+ execution.setVariable("isVidRequest", "true")
+ execution.setVariable('serviceType', 'Mobility')
+ execution.setVariable('actionLock', Action.Lock)
+ execution.setVariable('actionUnlock', Action.Unlock)
+ execution.setVariable('actionHealthCheck', Action.HealthCheck)
+ execution.setVariable('actionStart', Action.Start)
+ execution.setVariable('actionStop', Action.Stop)
def asdcServiceModelVersion = ''
def serviceModelInfo = null
@@ -143,61 +145,61 @@ public class UpdateVnfInfra extends AbstractServiceTaskProcessor { }
}
- execution.setVariable(prefix + 'asdcServiceModelVersion', asdcServiceModelVersion)
- execution.setVariable(prefix + 'serviceModelInfo', serviceModelInfo)
+ execution.setVariable('asdcServiceModelVersion', asdcServiceModelVersion)
+ execution.setVariable('serviceModelInfo', serviceModelInfo)
def vnfModelInfo = jsonOutput.toJson(reqMap.requestDetails?.modelInfo)
- execution.setVariable(prefix + 'vnfModelInfo', vnfModelInfo)
+ execution.setVariable('vnfModelInfo', vnfModelInfo)
def vnfModelInvariantUuid = jsonUtils.getJsonValue(vnfModelInfo, "modelInvariantUuid")
- execution.setVariable(prefix + 'vnfModelInvariantUuid', vnfModelInvariantUuid)
+ execution.setVariable('vnfModelInvariantUuid', vnfModelInvariantUuid)
logDebug("vnfModelInvariantUuid: " + vnfModelInvariantUuid, isDebugLogEnabled)
def vnfType = execution.getVariable('vnfType')
- execution.setVariable(prefix + 'vnfType', vnfType)
+ execution.setVariable('vnfType', vnfType)
def userParams = reqMap.requestDetails?.requestParameters?.userParams
Map<String, String> userParamsMap = [:]
if (userParams != null) {
userParams.each { userParam ->
- userParamsMap.put(userParam.name, userParam.value)
+ userParamsMap.put(userParam.name, userParam.value.toString())
}
}
utils.log("DEBUG", 'Processed user params: ' + userParamsMap, isDebugLogEnabled)
- execution.setVariable(prefix + 'vfModuleInputParams', userParamsMap)
+ execution.setVariable('vfModuleInputParams', userParamsMap)
def requestId = execution.getVariable("mso-request-id")
- execution.setVariable(prefix + 'requestId', requestId)
+ execution.setVariable('requestId', requestId)
execution.setVariable('msoRequestId', requestId)
def vnfName = reqMap.requestDetails?.requestInfo?.instanceName ?: null
- execution.setVariable(prefix + 'vnfName', vnfName)
+ execution.setVariable('vnfName', vnfName)
def requestorId = reqMap.requestDetails?.requestInfo?.requestorId ?: null
- execution.setVariable(prefix + 'requestorId', requestorId)
+ execution.setVariable('requestorId', requestorId)
def usePreload = reqMap.requestDetails?.requestParameters?.usePreload
- execution.setVariable(prefix + 'usePreload', usePreload)
+ execution.setVariable('usePreload', usePreload)
def cloudConfiguration = reqMap.requestDetails?.cloudConfiguration
def lcpCloudRegionId = cloudConfiguration.lcpCloudRegionId
- execution.setVariable(prefix + 'lcpCloudRegionId', lcpCloudRegionId)
+ execution.setVariable('lcpCloudRegionId', lcpCloudRegionId)
def tenantId = cloudConfiguration.tenantId
- execution.setVariable(prefix + 'tenantId', tenantId)
+ execution.setVariable('tenantId', tenantId)
def globalSubscriberId = reqMap.requestDetails?.subscriberInfo?.globalSubscriberId ?: ''
- execution.setVariable(prefix + 'globalSubscriberId', globalSubscriberId)
+ execution.setVariable('globalSubscriberId', globalSubscriberId)
- execution.setVariable(prefix + 'sdncVersion', '1702')
+ execution.setVariable('sdncVersion', '1702')
execution.setVariable("UpdateVnfInfraSuccessIndicator", false)
execution.setVariable("isDebugLogEnabled", isDebugLogEnabled)
def source = reqMap.requestDetails?.requestInfo?.source
- execution.setVariable(prefix + "source", source)
+ execution.setVariable("source", source)
//For Completion Handler & Fallout Handler
String requestInfo =
@@ -207,9 +209,9 @@ public class UpdateVnfInfra extends AbstractServiceTaskProcessor { <source>${source}</source>
</request-info>"""
- execution.setVariable(prefix + "requestInfo", requestInfo)
+ execution.setVariable("requestInfo", requestInfo)
- logDebug('RequestInfo: ' + execution.getVariable(prefix + "requestInfo"), isDebugLogEnabled)
+ logDebug('RequestInfo: ' + execution.getVariable("requestInfo"), isDebugLogEnabled)
logDebug('Exited ' + method, isDebugLogEnabled)
@@ -231,7 +233,7 @@ public class UpdateVnfInfra extends AbstractServiceTaskProcessor { *
* @param execution The flow's execution instance.
*/
- public void sendSynchResponse(Execution execution) {
+ public void sendSynchResponse(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.sendSynchResponse(' +
'execution=' + execution.getId() +
')'
@@ -240,9 +242,9 @@ public class UpdateVnfInfra extends AbstractServiceTaskProcessor { try {
- def requestInfo = execution.getVariable('UPDVnfI_requestInfo')
- def requestId = execution.getVariable('UPDVnfI_requestId')
- def source = execution.getVariable('UPDVnfI_source')
+ def requestInfo = execution.getVariable('requestInfo')
+ def requestId = execution.getVariable('requestId')
+ def source = execution.getVariable('source')
def progress = getNodeTextForce(requestInfo, 'progress')
if (progress.isEmpty()) {
progress = '0'
@@ -275,7 +277,7 @@ public class UpdateVnfInfra extends AbstractServiceTaskProcessor { *
* @param execution The flow's execution instance.
*/
- public void getVnfResourceDecomposition(Execution execution) {
+ public void getVnfResourceDecomposition(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.getVnfResourceDecomposition(' +
'execution=' + execution.getId() +
')'
@@ -284,7 +286,7 @@ public class UpdateVnfInfra extends AbstractServiceTaskProcessor { try {
ServiceDecomposition serviceDecomposition = execution.getVariable("serviceDecomposition")
- String vnfModelInvariantUuid = execution.getVariable(prefix + 'vnfModelInvariantUuid')
+ String vnfModelInvariantUuid = execution.getVariable('vnfModelInvariantUuid')
logDebug("vnfModelInvariantUuid: " + vnfModelInvariantUuid, isDebugLogEnabled)
List<VnfResource> vnfResources = serviceDecomposition.getServiceVnfs()
@@ -295,9 +297,9 @@ public class UpdateVnfInfra extends AbstractServiceTaskProcessor { if (vnfModelInvariantUuid.equals(modelInvariantUuidFromDecomposition)) {
VnfResource vnfResourceDecomposition = vnfResources[i]
- execution.setVariable(prefix + 'vnfResourceDecomposition', vnfResourceDecomposition)
+ execution.setVariable('vnfResourceDecomposition', vnfResourceDecomposition)
def nfRole = vnfResourceDecomposition.getNfRole()
- execution.setVariable(prefix + 'nfRole', nfRole)
+ execution.setVariable('nfRole', nfRole)
logDebug("vnfResourceDecomposition: " + vnfResourceDecomposition.toJsonString(), isDebugLogEnabled)
break
}
@@ -322,14 +324,14 @@ public class UpdateVnfInfra extends AbstractServiceTaskProcessor { *
* @param execution The flow's execution instance.
*/
- public void checkIfVnfInMaintInAAI(Execution execution) {
+ public void checkIfVnfInMaintInAAI(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.checkIfVnfInMaintInAAI(' +
'execution=' + execution.getId() +
')'
def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled')
- execution.setVariable(prefix + 'errorCode', "0")
- execution.setVariable(prefix + "workStep", "checkIfVnfInMaintInAAI")
- execution.setVariable(prefix + "failedActivity", "AAI")
+ execution.setVariable('errorCode', "0")
+ execution.setVariable("workStep", "checkIfVnfInMaintInAAI")
+ execution.setVariable("failedActivity", "AAI")
logDebug('Entered ' + method, isDebugLogEnabled)
try {
@@ -340,15 +342,21 @@ public class UpdateVnfInfra extends AbstractServiceTaskProcessor { def vnfId = execution.getVariable("vnfId")
boolean isInMaint = aaiValidator.isVNFLocked(vnfId, transactionLoggingUuid)
logDebug("isInMaint result: " + isInMaint, isDebugLogEnabled)
- execution.setVariable(prefix + 'isVnfInMaintenance', isInMaint)
+ execution.setVariable('isVnfInMaintenance', isInMaint)
+
+ if (isInMaint) {
+ execution.setVariable("errorCode", "1003")
+ execution.setVariable("errorText", "VNF is in maintenance in A&AI")
+ }
+
logDebug('Exited ' + method, isDebugLogEnabled)
} catch (BpmnError e) {
throw e;
} catch (Exception e) {
logError('Caught exception in ' + method, e)
- execution.setVariable(prefix + "errorCode", "1002")
- execution.setVariable(prefix + "errorText", e.getMessage())
+ execution.setVariable("errorCode", "1002")
+ execution.setVariable("errorText", e.getMessage())
//exceptionUtil.buildAndThrowWorkflowException(execution, 1002, 'Error in checkIfVnfInMaintInAAI(): ' + e.getMessage())
}
}
@@ -360,15 +368,15 @@ public class UpdateVnfInfra extends AbstractServiceTaskProcessor { *
* @param execution The flow's execution instance.
*/
- public void checkIfPserversInMaintInAAI(Execution execution) {
+ public void checkIfPserversInMaintInAAI(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.checkIfPserversInMaintInAAI(' +
'execution=' + execution.getId() +
')'
def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled')
- execution.setVariable(prefix + 'errorCode', "0")
+ execution.setVariable('errorCode', "0")
logDebug('Entered ' + method, isDebugLogEnabled)
- execution.setVariable(prefix + "workStep", "checkIfPserversInMaintInAAI")
- execution.setVariable(prefix + "failedActivity", "AAI")
+ execution.setVariable("workStep", "checkIfPserversInMaintInAAI")
+ execution.setVariable("failedActivity", "AAI")
try {
def transactionLoggingUuid = UUID.randomUUID().toString()
@@ -378,15 +386,20 @@ public class UpdateVnfInfra extends AbstractServiceTaskProcessor { def vnfId = execution.getVariable("vnfId")
boolean areLocked = aaiValidator.isPhysicalServerLocked(vnfId, transactionLoggingUuid)
logDebug("areLocked result: " + areLocked, isDebugLogEnabled)
- execution.setVariable(prefix + 'arePserversLocked', areLocked)
+ execution.setVariable('arePserversLocked', areLocked)
+
+ if (areLocked) {
+ execution.setVariable("errorCode", "1003")
+ execution.setVariable("errorText", "pServers are locked in A&AI")
+ }
logDebug('Exited ' + method, isDebugLogEnabled)
} catch (BpmnError e) {
throw e;
} catch (Exception e) {
logError('Caught exception in ' + method, e)
- execution.setVariable(prefix + "errorCode", "1002")
- execution.setVariable(prefix + "errorText", e.getMessage())
+ execution.setVariable("errorCode", "1002")
+ execution.setVariable("errorText", e.getMessage())
//exceptionUtil.buildAndThrowWorkflowException(execution, 1002, 'Error in checkIfPserversInMaintInAAI(): ' + e.getMessage())
}
}
@@ -398,20 +411,20 @@ public class UpdateVnfInfra extends AbstractServiceTaskProcessor { * @param execution The flow's execution instance.
* @param inMaint The boolean value of the flag to set
*/
- public void setVnfInMaintFlagInAAI(Execution execution, boolean inMaint) {
+ public void setVnfInMaintFlagInAAI(DelegateExecution execution, boolean inMaint) {
def method = getClass().getSimpleName() + '.setVnfInMaintFlagInAAI(' +
'execution=' + execution.getId() +
')'
def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled')
- execution.setVariable(prefix + 'errorCode', "0")
+ execution.setVariable('errorCode', "0")
logDebug('Entered ' + method, isDebugLogEnabled)
if (inMaint) {
- execution.setVariable(prefix + "workStep", "setVnfInMaintFlagInAAI")
+ execution.setVariable("workStep", "setVnfInMaintFlagInAAI")
}
else {
- execution.setVariable(prefix + "workStep", "unsetVnfInMaintFlagInAAI")
+ execution.setVariable("workStep", "unsetVnfInMaintFlagInAAI")
}
- execution.setVariable(prefix + "failedActivity", "AAI")
+ execution.setVariable("failedActivity", "AAI")
try {
def transactionLoggingUuid = UUID.randomUUID().toString()
@@ -421,6 +434,7 @@ public class UpdateVnfInfra extends AbstractServiceTaskProcessor { def vnfId = execution.getVariable("vnfId")
if (inMaint) {
aaiUpdator.updateVnfToLocked(vnfId, transactionLoggingUuid)
+ execution.setVariable("rollbackSetVnfInMaintenanceFlag", true)
}
else {
aaiUpdator.updateVnfToUnLocked(vnfId, transactionLoggingUuid)
@@ -431,246 +445,53 @@ public class UpdateVnfInfra extends AbstractServiceTaskProcessor { throw e;
} catch (Exception e) {
logError('Caught exception in ' + method, e)
- execution.setVariable(prefix + "errorCode", "1002")
- execution.setVariable(prefix + "errorText", e.getMessage())
+ execution.setVariable("errorCode", "1002")
+ execution.setVariable("errorText", e.getMessage())
//exceptionUtil.buildAndThrowWorkflowException(execution, 1002, 'Error in setVnfInMaintFlagInAAI(): ' + e.getMessage())
}
}
- /**
- * Call APP-C client to execute specified APP-C command for this VNF.
- *
- *
- * @param execution The flow's execution instance.
- * @param action The action to take in APP-C.
- */
- public void runAppcCommand(Execution execution, Action action) {
- def method = getClass().getSimpleName() + '.runAppcCommand(' +
- 'execution=' + execution.getId() +
- ')'
- def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled')
- execution.setVariable(prefix + 'errorCode', "0")
- logDebug('Entered ' + method, isDebugLogEnabled)
-
- try {
- logDebug("Running APP-C action: " + action.toString(), isDebugLogEnabled)
- String vnfId = execution.getVariable('vnfId')
- String msoRequestId = execution.getVariable(prefix + 'requestId')
- execution.setVariable('msoRequestId', msoRequestId)
- execution.setVariable(prefix + "failedActivity", "APP-C")
-
- ApplicationControllerSupport support = new ApplicationControllerSupport()
- appcClient.appCSupport=support
- org.springframework.test.util.ReflectionTestUtils.setField(support, "lcmModelPackage", "org.openecomp.appc.client.lcm.model");
- Flags flags = new Flags();
- ActionIdentifiers actionIdentifiers = new ActionIdentifiers();
- actionIdentifiers.setVnfId(vnfId);
- Status appcStatus
- switch(action) {
- case Action.Lock:
- execution.setVariable(prefix + 'workStep', "LockVNF")
- appcStatus = appcClient.runCommand(Action.Lock,actionIdentifiers,flags,null,msoRequestId)
- break
- case Action.Unlock:
- execution.setVariable(prefix + 'workStep', "UnlockVNF")
- appcStatus = appcClient.runCommand(Action.Unlock,actionIdentifiers,flags,null,msoRequestId)
- break
- case Action.HealthCheck:
- def healthCheckIndex = execution.getVariable(prefix + 'healthCheckIndex')
- execution.setVariable(prefix + 'workStep', "HealthCheckVNF" + healthCheckIndex)
- execution.setVariable(prefix + 'healthCheckIndex', healthCheckIndex + 1)
- appcStatus = appcClient.runCommand(Action.HealthCheck,actionIdentifiers,flags,null,msoRequestId)
- break
- case Action.Start:
- execution.setVariable(prefix + 'workStep', "StartVNF")
- appcStatus = appcClient.runCommand(Action.Start,actionIdentifiers,flags,null,msoRequestId)
- break
- case Action.Stop:
- execution.setVariable(prefix + 'workStep', "StopVNF")
- appcStatus = appcClient.runCommand(Action.Stop,actionIdentifiers,flags,null,msoRequestId)
- break
- default:
- break
- }
- logDebug("Completed AppC request", isDebugLogEnabled)
- int appcCode = appcStatus.getCode()
- logDebug("AppC status code is: " + appcCode, isDebugLogEnabled)
- logDebug("AppC status message is: " + appcStatus.getMessage(), isDebugLogEnabled)
- if (support.getCategoryOf(appcStatus) == ApplicationControllerSupport.StatusCategory.ERROR) {
- execution.setVariable(prefix + "errorCode", Integer.toString(appcCode))
- execution.setVariable(prefix + "errorText", appcStatus.getMessage())
- }
- logDebug('Exited ' + method, isDebugLogEnabled)
- } catch (BpmnError e) {
- logError('Caught exception in ' + method, e)
- execution.setVariable(prefix + "errorCode", "1002")
- execution.setVariable(prefix + "errorText", e.getMessage())
- //throw e;
- } catch (java.lang.NoSuchMethodError e) {
- logError('Caught exception in ' + method, e)
- execution.setVariable(prefix + "errorCode", "1002")
- execution.setVariable(prefix + "errorText", e.getMessage())
- //throw e;
- } catch (Exception e) {
- logError('Caught exception in ' + method, e)
- execution.setVariable(prefix + "errorCode", "1002")
- execution.setVariable(prefix + "errorText", e.getMessage())
-
- //exceptionUtil.buildAndThrowWorkflowException(execution, 1002, 'Error in ' + method + ': ' + e.getMessage())
- }
- }
-
-
-
/**
- * Builds a "CompletionHandler" request and stores it in the specified execution variable.
- *
- * @param execution the execution
- * @param resultVar the execution variable in which the result will be stored
- */
- public void completionHandlerPrep(Execution execution, String resultVar) {
- def method = getClass().getSimpleName() + '.completionHandlerPrep(' +
- 'execution=' + execution.getId() +
- ', resultVar=' + resultVar +
- ')'
- def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled')
- logDebug('Entered ' + method, isDebugLogEnabled)
-
-
- try {
- appcClient.shutdownclient()
- def requestInfo = getVariable(execution, 'UPDVnfI_requestInfo')
-
- String content = """
- <sdncadapterworkflow:MsoCompletionRequest xmlns:sdncadapterworkflow="http://org.openecomp/mso/workflow/schema/v1"
- xmlns:reqtype="http://org.openecomp/mso/request/types/v1">
- ${requestInfo}
- <sdncadapterworkflow:mso-bpel-name>MSO_ACTIVATE_BPEL</sdncadapterworkflow:mso-bpel-name>
- </sdncadapterworkflow:MsoCompletionRequest>
- """
-
- content = utils.formatXml(content)
- logDebug(resultVar + ' = ' + System.lineSeparator() + content, isDebugLogEnabled)
- execution.setVariable(resultVar, content)
-
- logDebug('Exited ' + method, isDebugLogEnabled)
- } catch (BpmnError e) {
- throw e;
- } catch (Exception e) {
- logError('Caught exception in ' + method, e)
- exceptionUtil.buildAndThrowWorkflowException(execution, 2000, 'Internal Error')
- }
- }
-
- /**
* Prepare DoUpdateVnfAndModules call.
*
*
* @param execution The flow's execution instance.
*/
- public void prepDoUpdateVnfAndModules(Execution execution) {
+ public void prepDoUpdateVnfAndModules(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.prepDoUpdateVnfAndModules(' +
'execution=' + execution.getId() +
')'
def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled')
- execution.setVariable(prefix + 'errorCode', "0")
+ execution.setVariable('errorCode', "0")
logDebug('Entered ' + method, isDebugLogEnabled)
- execution.setVariable(prefix + "workStep", "doUpdateVnfAndModules")
- execution.setVariable(prefix + "failedActivity", "MSO Update VNF")
+ execution.setVariable("workStep", "doUpdateVnfAndModules")
+ execution.setVariable("failedActivity", "MSO Update VNF")
logDebug('Exited ' + method, isDebugLogEnabled)
}
- /**
- * Builds a "FalloutHandler" request and stores it in the specified execution variable.
- *
- * @param execution the execution
- * @param resultVar the execution variable in which the result will be stored
- */
- public void falloutHandlerPrep(Execution execution, String resultVar) {
- def method = getClass().getSimpleName() + '.falloutHandlerPrep(' +
- 'execution=' + execution.getId() +
- ', resultVar=' + resultVar +
- ')'
- def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled')
- logDebug('Entered ' + method, isDebugLogEnabled)
-
- try {
- def prefix = execution.getVariable('prefix')
- def request = getVariable(execution, prefix+'Request')
- def requestInformation = execution.getVariable(prefix + "requestInfo")
-
- appcClient.shutdownclient()
-
- def WorkflowException workflowException = execution.getVariable("WorkflowException")
- def errorResponseCode = workflowException.getErrorCode()
- def errorResponseMsg = workflowException.getErrorMessage()
- def encErrorResponseMsg = ""
- if (errorResponseMsg != null) {
- encErrorResponseMsg = errorResponseMsg.replace("&", "&").replace("<", "<").replace(">", ">")
- }
-
- String content = """
- <sdncadapterworkflow:FalloutHandlerRequest xmlns:sdncadapterworkflow="http://org.openecomp/mso/workflow/schema/v1"
- xmlns:reqtype="http://org.openecomp/mso/request/types/v1"
- xmlns:msoservtypes="http://org.openecomp/mso/request/types/v1"
- xmlns:structuredtypes="http://org.openecomp/mso/structured/types/v1">
- ${requestInformation}
- <sdncadapterworkflow:WorkflowException>
- <sdncadapterworkflow:ErrorMessage>${encErrorResponseMsg}</sdncadapterworkflow:ErrorMessage>
- <sdncadapterworkflow:ErrorCode>${errorResponseCode}</sdncadapterworkflow:ErrorCode>
- </sdncadapterworkflow:WorkflowException>
- </sdncadapterworkflow:FalloutHandlerRequest>
- """
- content = utils.formatXml(content)
- logDebug(resultVar + ' = ' + System.lineSeparator() + content, isDebugLogEnabled)
- execution.setVariable(resultVar, content)
-
- logDebug('Exited ' + method, isDebugLogEnabled)
- } catch (BpmnError e) {
- throw e;
- } catch (Exception e) {
- logError('Caught exception in ' + method, e)
- exceptionUtil.buildWorkflowException(execution, 2000, 'Internal Error')
- }
- }
/**
* Handle Abort disposition from RainyDayHandler
*
* @param execution The flow's execution instance.
*/
- public void abortProcessing(Execution execution) {
+ public void abortProcessing(DelegateExecution execution) {
def method = getClass().getSimpleName() + '.abortProcessing(' +
'execution=' + execution.getId() +
')'
def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled')
logDebug('Entered ' + method, isDebugLogEnabled)
- def errorText = execution.getVariable(prefix + "errorText")
- def errorCode = execution.getVariable(prefix + "errorCode")
+ def errorText = execution.getVariable("errorText")
+ def errorCode = execution.getVariable("errorCode")
exceptionUtil.buildAndThrowWorkflowException(execution, errorCode as Integer, errorText)
}
- /**
- * Handle Manual disposition from RainyDayHandler
- *
- * @param execution The flow's execution instance.
- */
- public void manualProcessing(Execution execution) {
- def method = getClass().getSimpleName() + '.manualProcessing(' +
- 'execution=' + execution.getId() +
- ')'
- def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled')
- logDebug('Entered ' + method, isDebugLogEnabled)
-
- def taskId = execution.getVariable("UPDVnfI_taskId")
-
- exceptionUtil.buildAndThrowWorkflowException(execution, 2000, "Processing halted - manual task created: " + taskId)
- }
+
}
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/VnfCmBase.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/VnfCmBase.groovy new file mode 100644 index 0000000000..c588d38946 --- /dev/null +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/VnfCmBase.groovy @@ -0,0 +1,806 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP - SO + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. 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 groovy.json.JsonOutput +import groovy.json.JsonSlurper +import groovy.util.Node +import groovy.util.XmlParser; +import groovy.xml.QName + +import org.json.JSONArray +import org.json.JSONObject + +import java.beans.MetaData.java_lang_Class_PersistenceDelegate +import java.io.Serializable; +import java.util.List +import java.util.UUID; +import org.openecomp.mso.bpmn.common.scripts.ExceptionUtil +import org.camunda.bpm.engine.delegate.BpmnError +import org.camunda.bpm.engine.impl.cmd.AbstractSetVariableCmd +import org.camunda.bpm.engine.delegate.DelegateExecution +import org.openecomp.mso.rest.APIResponse +import org.openecomp.mso.rest.RESTClient +import org.openecomp.mso.rest.RESTConfig +import org.openecomp.mso.bpmn.common.scripts.AbstractServiceTaskProcessor; +import org.openecomp.mso.bpmn.common.scripts.VidUtils; +import org.openecomp.mso.bpmn.core.RollbackData +import org.openecomp.mso.bpmn.core.WorkflowException +import org.openecomp.mso.bpmn.common.scripts.ExceptionUtil +import org.openecomp.mso.bpmn.core.json.JsonUtils +import org.openecomp.mso.bpmn.core.domain.ModelInfo +import org.openecomp.mso.bpmn.core.domain.ServiceDecomposition +import org.openecomp.mso.bpmn.core.domain.VnfResource +import org.openecomp.mso.client.aai.* + +import org.openecomp.mso.client.appc.ApplicationControllerClient; +import org.openecomp.mso.client.appc.ApplicationControllerSupport; +import org.openecomp.mso.client.aai.entities.AAIResultWrapper +import org.openecomp.mso.client.aai.entities.Relationships +import org.openecomp.mso.client.aai.entities.uri.AAIResourceUri +import org.openecomp.mso.client.aai.entities.uri.AAIUri +import org.openecomp.mso.client.aai.entities.uri.AAIUriFactory +import org.onap.appc.client.lcm.model.Action; +import org.onap.appc.client.lcm.model.ActionIdentifiers; +import org.onap.appc.client.lcm.model.LockInput +import org.onap.appc.client.lcm.model.UnlockInput +import org.onap.appc.client.lcm.model.HealthCheckInput +import org.onap.appc.client.lcm.model.StartInput +import org.onap.appc.client.lcm.model.StopInput +import org.onap.appc.client.lcm.model.Flags +import org.onap.appc.client.lcm.model.Status + + + +public abstract class VnfCmBase extends AbstractServiceTaskProcessor { + + ExceptionUtil exceptionUtil = new ExceptionUtil() + JsonUtils jsonUtils = new JsonUtils() + def prefix = "VnfIPU_" + + /** + * Initialize the flow's variables. + * + * @param execution The flow's execution instance. + */ + + /** + * Prepare and send the sychronous response for this flow. + * + * @param execution The flow's execution instance. + */ + public void sendSynchResponse(DelegateExecution execution) { + def method = getClass().getSimpleName() + '.sendSynchResponse(' + + 'execution=' + execution.getId() + + ')' + def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled') + logDebug('Entered ' + method, isDebugLogEnabled) + + + try { + def requestInfo = execution.getVariable('requestInfo') + def requestId = execution.getVariable('requestId') + def source = execution.getVariable('source') + def progress = getNodeTextForce(requestInfo, 'progress') + if (progress.isEmpty()) { + progress = '0' + } + def startTime = getNodeTextForce(requestInfo, 'start-time') + if (startTime.isEmpty()) { + startTime = System.currentTimeMillis() + } + + // RESTResponse (for API Handler (APIH) Reply Task) + def vnfId = execution.getVariable("vnfId") + String synchResponse = """{"requestReferences":{"instanceId":"${vnfId}","requestId":"${requestId}"}}""".trim() + + sendWorkflowResponse(execution, 200, synchResponse) + + logDebug('Exited ' + method, isDebugLogEnabled) + } catch (BpmnError e) { + throw e; + } catch (Exception e) { + logError('Caught exception in ' + method, e) + exceptionUtil.buildAndThrowWorkflowException(execution, 1002, 'Error in sendResponse(): ' + e.getMessage()) + } + } + + + + /** + * Get VnfResource decomposition object for this VNF. + * + * + * @param execution The flow's execution instance. + */ + public void getVnfResourceDecomposition(DelegateExecution execution) { + def method = getClass().getSimpleName() + '.getVnfResourceDecomposition(' + + 'execution=' + execution.getId() + + ')' + def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled') + logDebug('Entered ' + method, isDebugLogEnabled) + + try { + ServiceDecomposition serviceDecomposition = execution.getVariable("serviceDecomposition") + String vnfModelInvariantUuid = execution.getVariable('vnfModelInvariantUuid') + logDebug("vnfModelInvariantUuid: " + vnfModelInvariantUuid, isDebugLogEnabled) + List<VnfResource> vnfResources = serviceDecomposition.getServiceVnfs() + + for (i in 0..vnfResources.size()-1) { + ModelInfo modelInfo = vnfResources[i].getModelInfo() + String modelInvariantUuidFromDecomposition = modelInfo.getModelInvariantUuid() + logDebug("modelInvariantUuidFromDecomposition: " + modelInvariantUuidFromDecomposition, isDebugLogEnabled) + + if (vnfModelInvariantUuid.equals(modelInvariantUuidFromDecomposition)) { + VnfResource vnfResourceDecomposition = vnfResources[i] + execution.setVariable('vnfResourceDecomposition', vnfResourceDecomposition) + def nfRole = vnfResourceDecomposition.getNfRole() + execution.setVariable('nfRole', nfRole) + logDebug("vnfResourceDecomposition: " + vnfResourceDecomposition.toJsonString(), isDebugLogEnabled) + break + } + else { + //exception! + } + + } + + logDebug('Exited ' + method, isDebugLogEnabled) + } catch (BpmnError e) { + throw e; + } catch (Exception e) { + logError('Caught exception in ' + method, e) + exceptionUtil.buildAndThrowWorkflowException(execution, 1002, 'Error in getVnfResourceDecomposition(): ' + e.getMessage()) + } + } + + /** + * Check if this VNF is already in maintenance in A&AI. + * + * + * @param execution The flow's execution instance. + */ + public void checkIfVnfInMaintInAAI(DelegateExecution execution) { + def method = getClass().getSimpleName() + '.checkIfVnfInMaintInAAI(' + + 'execution=' + execution.getId() + + ')' + def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled') + execution.setVariable('errorCode', "0") + execution.setVariable("workStep", "checkIfVnfInMaintInAAI") + execution.setVariable("failedActivity", "AAI") + logDebug('Entered ' + method, isDebugLogEnabled) + + try { + def transactionLoggingUuid = UUID.randomUUID().toString() + AAIRestClientImpl client = new AAIRestClientImpl() + AAIValidatorImpl aaiValidator = new AAIValidatorImpl() + aaiValidator.setClient(client) + def vnfId = execution.getVariable("vnfId") + boolean isInMaint = aaiValidator.isVNFLocked(vnfId, transactionLoggingUuid) + logDebug("isInMaint result: " + isInMaint, isDebugLogEnabled) + execution.setVariable('isVnfInMaintenance', isInMaint) + + if (isInMaint) { + execution.setVariable("errorCode", "1003") + execution.setVariable("errorText", "VNF is in maintenance in A&AI") + } + + + logDebug('Exited ' + method, isDebugLogEnabled) + } catch (BpmnError e) { + throw e; + } catch (Exception e) { + logError('Caught exception in ' + method, e) + execution.setVariable("errorCode", "1002") + execution.setVariable("errorText", e.getMessage()) + //exceptionUtil.buildAndThrowWorkflowException(execution, 1002, 'Error in checkIfVnfInMaintInAAI(): ' + e.getMessage()) + } + } + + /** + * Get VNF info from A&AI. + * + * + * @param execution The flow's execution instance. + */ + public void queryAAIForVnf(DelegateExecution execution) { + def method = getClass().getSimpleName() + '.queryAAIForVnf(' + + 'execution=' + execution.getId() + + ')' + def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled') + logDebug('Entered ' + method, isDebugLogEnabled) + + try { + def transactionLoggingUuid = UUID.randomUUID().toString() + def vnfId = execution.getVariable("vnfId") + logDebug("vnfId is: " + vnfId, isDebugLogEnabled) + def cloudRegionId = execution.getVariable("lcpCloudRegionId") + logDebug("cloudRegionId is: " + cloudRegionId, isDebugLogEnabled) + + AAIResourcesClient client = new AAIResourcesClient() + + AAIUri genericVnfUri = AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, vnfId) + // Check if this VNF exists + if (!client.exists(genericVnfUri)) { + logDebug("VNF with vnfId " + vnfId + " does not exist in A&AI", isDebugLogEnabled) + exceptionUtil.buildAndThrowWorkflowException(execution, 404, "VNF with vnfId " + vnfId + " does not exist in A&AI") + } + + AAIResultWrapper aaiRW = client.get(genericVnfUri) + + Map<String, Object> result = aaiRW.asMap() + + String vnfName = result.get("vnf-name") + logDebug("vnfName from A&AI is: " + vnfName, isDebugLogEnabled) + execution.setVariable("vnfName", vnfName) + String nfRole = result.get("nf-role") + logDebug("nfRole from A&AI is: " + nfRole, isDebugLogEnabled) + execution.setVariable("nfRole", nfRole) + String vnfHostIpAddress = result.get("ipv4-oam-address") + logDebug("vnfHostIpAddress from A&AI is: " + vnfHostIpAddress, isDebugLogEnabled) + execution.setVariable("vnfHostIpAddress", vnfHostIpAddress) + execution.setVariable("vmIdList", null) + if (aaiRW.getRelationships() != null) { + Relationships relationships = aaiRW.getRelationships().get() + if (relationships != null) { + + List<AAIResourceUri> vserverUris = relationships.getRelatedAAIUris(AAIObjectType.VSERVER) + JSONArray vserverIds = new JSONArray() + + for (AAIResourceUri j in vserverUris) { + + String vserverId = j.getURIKeys().get('vserver-id') + vserverIds.put(vserverId) + } + + JSONObject vmidsArray = new JSONObject() + vmidsArray.put("vmIds", vserverIds.toString()) + + logDebug("vmidsArray is: " + vmidsArray.toString(), isDebugLogEnabled) + + execution.setVariable("vmIdList", vmidsArray.toString()) + } + } + + if (cloudRegionId != null) { + AAIUri cloudRegionUri = AAIUriFactory.createResourceUri(AAIObjectType.DEFAULT_CLOUD_REGION, cloudRegionId) + // Check if this client region exists + if (!client.exists(cloudRegionUri)) { + logDebug("Cloud Region with cloudRegionId " + cloudRegionId + " does not exist in A&AI", isDebugLogEnabled) + exceptionUtil.buildAndThrowWorkflowException(execution, 404, "Cloud Region with cloudRegionId " + cloudRegionId + " does not exist in A&AI") + } + + AAIResultWrapper aaiRWCloud = client.get(cloudRegionUri) + + Map<String, Object> resultCloud = aaiRWCloud.asMap() + + String aicIdentity = resultCloud.get("identity-url") + logDebug("aicIdentity from A&AI is: " + aicIdentity, isDebugLogEnabled) + execution.setVariable("aicIdentity", aicIdentity) + } + + logDebug('Exited ' + method, isDebugLogEnabled) + } catch (BpmnError e) { + throw e; + } catch (Exception e) { + logError('Caught exception in ' + method, e) + exceptionUtil.buildAndThrowWorkflowException(execution, 1002, 'Error in queryAAIForVnf(): ' + e.getMessage()) + } + } + + + + /** + * Check if this VNF's pservers are locked in A&AI. + * + * + * @param execution The flow's execution instance. + */ + public void checkIfPserversInMaintInAAI(DelegateExecution execution) { + def method = getClass().getSimpleName() + '.checkIfPserversInMaintInAAI(' + + 'execution=' + execution.getId() + + ')' + def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled') + execution.setVariable('errorCode', "0") + logDebug('Entered ' + method, isDebugLogEnabled) + execution.setVariable("workStep", "checkIfPserversInMaintInAAI") + execution.setVariable("failedActivity", "AAI") + + try { + def transactionLoggingUuid = UUID.randomUUID().toString() + AAIRestClientImpl client = new AAIRestClientImpl() + AAIValidatorImpl aaiValidator = new AAIValidatorImpl() + aaiValidator.setClient(client) + def vnfId = execution.getVariable("vnfId") + boolean areLocked = aaiValidator.isPhysicalServerLocked(vnfId, transactionLoggingUuid) + logDebug("areLocked result: " + areLocked, isDebugLogEnabled) + execution.setVariable('arePserversLocked', areLocked) + + if (areLocked) { + execution.setVariable("errorCode", "1003") + execution.setVariable("errorText", "pServers are locked in A&AI") + } + + logDebug('Exited ' + method, isDebugLogEnabled) + } catch (BpmnError e) { + throw e; + } catch (Exception e) { + logError('Caught exception in ' + method, e) + execution.setVariable("errorCode", "1002") + execution.setVariable("errorText", e.getMessage()) + //exceptionUtil.buildAndThrowWorkflowException(execution, 1002, 'Error in checkIfPserversInMaintInAAI(): ' + e.getMessage()) + } + } + + /** + * Set inMaint flag for this VNF to the specified value in A&AI. + * + * + * @param execution The flow's execution instance. + * @param inMaint The boolean value of the flag to set + */ + public void setVnfInMaintFlagInAAI(DelegateExecution execution, boolean inMaint) { + def method = getClass().getSimpleName() + '.setVnfInMaintFlagInAAI(' + + 'execution=' + execution.getId() + + ')' + def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled') + execution.setVariable('errorCode', "0") + logDebug('Entered ' + method, isDebugLogEnabled) + if (inMaint) { + execution.setVariable("workStep", "setVnfInMaintFlagInAAI") + } + else { + execution.setVariable("workStep", "unsetVnfInMaintFlagInAAI") + } + execution.setVariable("failedActivity", "AAI") + + try { + def transactionLoggingUuid = UUID.randomUUID().toString() + AAIRestClientImpl client = new AAIRestClientImpl() + AAIUpdatorImpl aaiUpdator = new AAIUpdatorImpl() + aaiUpdator.setClient(client) + def vnfId = execution.getVariable("vnfId") + if (inMaint) { + aaiUpdator.updateVnfToLocked(vnfId, transactionLoggingUuid) + execution.setVariable("rollbackSetVnfInMaintenanceFlag", true) + } + else { + aaiUpdator.updateVnfToUnLocked(vnfId, transactionLoggingUuid) + execution.setVariable("rollbackSetVnfInMaintenanceFlag", false) + } + + logDebug('Exited ' + method, isDebugLogEnabled) + } catch (BpmnError e) { + throw e; + } catch (Exception e) { + logError('Caught exception in ' + method, e) + execution.setVariable("errorCode", "1002") + execution.setVariable("errorText", e.getMessage()) + //exceptionUtil.buildAndThrowWorkflowException(execution, 1002, 'Error in setVnfInMaintFlagInAAI(): ' + e.getMessage()) + } + } + + /** + * Check if VF Closed Loop Disabled in A&AI. + * + * + * @param execution The flow's execution instance. + */ + public void checkIfClosedLoopDisabledInAAI(DelegateExecution execution) { + def method = getClass().getSimpleName() + '.checkIfClosedLoopDisabledInAAI(' + + 'execution=' + execution.getId() + + ')' + def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled') + execution.setVariable('errorCode', "0") + execution.setVariable("workStep", "checkClosedLoopDisabledFlagInAAI") + execution.setVariable("failedActivity", "AAI") + logDebug('Entered ' + method, isDebugLogEnabled) + + try { + def transactionLoggingUuid = UUID.randomUUID().toString() + def vnfId = execution.getVariable("vnfId") + logDebug("vnfId is: " + vnfId, isDebugLogEnabled) + AAIResourcesClient client = new AAIResourcesClient() + AAIUri genericVnfUri = AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, vnfId) + AAIResultWrapper aaiRW = client.get(genericVnfUri) + Map<String, Object> result = aaiRW.asMap() + boolean isClosedLoopDisabled = result.getOrDefault("is-closed-loop-disabled", false) + + logDebug("isClosedLoopDisabled result: " + isClosedLoopDisabled, isDebugLogEnabled) + execution.setVariable('isClosedLoopDisabled', isClosedLoopDisabled) + + if (isClosedLoopDisabled) { + execution.setVariable("errorCode", "1004") + execution.setVariable("errorText", "closedLoop is disabled in A&AI") + } + + logDebug('Exited ' + method, isDebugLogEnabled) + } catch (BpmnError e) { + throw e; + } catch (Exception e) { + logError('Caught exception in ' + method, e) + execution.setVariable("errorCode", "1002") + execution.setVariable("errorText", e.getMessage()) + } + } + + /** + * Set VF Closed Loop Disabled Flag in A&AI. + * + * + * @param execution The flow's execution instance. + */ + public void setClosedLoopDisabledInAAI(DelegateExecution execution, boolean setDisabled) { + def method = getClass().getSimpleName() + '.setClosedLoopDisabledInAAI(' + + 'execution=' + execution.getId() + + ')' + def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled') + execution.setVariable('errorCode', "0") + if (setDisabled) { + execution.setVariable("workStep", "setClosedLoopDisabledFlagInAAI") + execution.setVariable("rollbackSetClosedLoopDisabledFlag", true) + } + else { + execution.setVariable("workStep", "unsetClosedLoopDisabledFlagInAAI") + execution.setVariable("rollbackSetClosedLoopDisabledFlag", false) + } + + execution.setVariable("failedActivity", "AAI") + logDebug('Entered ' + method, isDebugLogEnabled) + + try { + def transactionLoggingUuid = UUID.randomUUID().toString() + def vnfId = execution.getVariable("vnfId") + AAIResourcesClient client = new AAIResourcesClient() + AAIUri genericVnfUri = AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, vnfId) + + Map<String, Boolean> request = new HashMap<>() + request.put("is-closed-loop-disabled", setDisabled) + client.update(genericVnfUri, request) + logDebug("set isClosedLoop to: " + setDisabled, isDebugLogEnabled) + + logDebug('Exited ' + method, isDebugLogEnabled) + } catch (BpmnError e) { + throw e; + } catch (Exception e) { + logError('Caught exception in ' + method, e) + execution.setVariable("errorCode", "1002") + execution.setVariable("errorText", e.getMessage()) + } + } + + + + + /** + * Call APP-C client to execute specified APP-C command for this VNF. + * + * + * @param execution The flow's execution instance. + * @param action The action to take in APP-C. + */ + public void runAppcCommand(DelegateExecution execution, Action action) { + def method = getClass().getSimpleName() + '.runAppcCommand(' + + 'execution=' + execution.getId() + + ')' + def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled') + execution.setVariable('errorCode', "0") + logDebug('Entered ' + method, isDebugLogEnabled) + + ApplicationControllerClient appcClient = null + + try { + logDebug("Running APP-C action: " + action.toString(), isDebugLogEnabled) + String vnfId = execution.getVariable('vnfId') + String msoRequestId = execution.getVariable('requestId') + execution.setVariable('msoRequestId', msoRequestId) + execution.setVariable("failedActivity", "APP-C") + + appcClient = new ApplicationControllerClient() + ApplicationControllerSupport support = new ApplicationControllerSupport() + appcClient.appCSupport=support + org.springframework.test.util.ReflectionTestUtils.setField(support, "lcmModelPackage", "org.onap.appc.client.lcm.model"); + Flags flags = new Flags(); + ActionIdentifiers actionIdentifiers = new ActionIdentifiers(); + actionIdentifiers.setVnfId(vnfId); + Status appcStatus + switch(action) { + case Action.Lock: + execution.setVariable('workStep', "LockVNF") + appcStatus = appcClient.runCommand(Action.Lock,actionIdentifiers,null,msoRequestId) + break + case Action.Unlock: + execution.setVariable('workStep', "UnlockVNF") + appcStatus = appcClient.runCommand(Action.Unlock,actionIdentifiers,null,msoRequestId) + break + case Action.HealthCheck: + def healthCheckIndex = execution.getVariable('healthCheckIndex') + execution.setVariable('workStep', "HealthCheckVNF" + healthCheckIndex) + execution.setVariable('healthCheckIndex', healthCheckIndex + 1) + appcStatus = appcClient.runCommand(Action.HealthCheck,actionIdentifiers,null,msoRequestId) + break + case Action.Start: + execution.setVariable('workStep', "StartVNF") + appcStatus = appcClient.runCommand(Action.Start,actionIdentifiers,null,msoRequestId) + break + case Action.Stop: + execution.setVariable('workStep', "StopVNF") + appcStatus = appcClient.runCommand(Action.Stop,actionIdentifiers,null,msoRequestId) + break + default: + break + } + logDebug("Completed AppC request", isDebugLogEnabled) + int appcCode = appcStatus.getCode() + logDebug("AppC status code is: " + appcCode, isDebugLogEnabled) + logDebug("AppC status message is: " + appcStatus.getMessage(), isDebugLogEnabled) + if (support.getCategoryOf(appcStatus) == ApplicationControllerSupport.StatusCategory.ERROR) { + execution.setVariable("errorCode", Integer.toString(appcCode)) + execution.setVariable("errorText", appcStatus.getMessage()) + } + + logDebug('Exited ' + method, isDebugLogEnabled) + } catch (BpmnError e) { + logError('Caught exception in ' + method, e) + execution.setVariable("errorCode", "1002") + execution.setVariable("errorText", e.getMessage()) + + } catch (java.lang.NoSuchMethodError e) { + logError('Caught exception in ' + method, e) + execution.setVariable("errorCode", "1002") + execution.setVariable("errorText", e.getMessage()) + + } catch (Exception e) { + logError('Caught exception in ' + method, e) + execution.setVariable("errorCode", "1002") + execution.setVariable("errorText", e.getMessage()) + + } + } + + /** + * Placeholder for a call to APP-C client to execute specified APP-C command for this VNF. + * + * + * @param execution The flow's execution instance. + * @param action The action to take in APP-C. + */ + public void runAppcCommandPlaceholder(DelegateExecution execution, String action) { + def method = getClass().getSimpleName() + '.runAppcCommandPlaceholder(' + + 'execution=' + execution.getId() + + ')' + def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled') + execution.setVariable('errorCode', "0") + logDebug('Entered ' + method, isDebugLogEnabled) + execution.setVariable("failedActivity", "APP-C") + execution.setVariable("workStep", action) + } + + + + + + + + /** + * Builds a "CompletionHandler" request and stores it in the specified execution variable. + * + * @param execution the execution + * @param resultVar the execution variable in which the result will be stored + */ + public void completionHandlerPrep(DelegateExecution execution, String resultVar) { + def method = getClass().getSimpleName() + '.completionHandlerPrep(' + + 'execution=' + execution.getId() + + ', resultVar=' + resultVar + + ')' + def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled') + logDebug('Entered ' + method, isDebugLogEnabled) + + try { + + def requestInfo = execution.getVariable('requestInfo') + + String content = """ + <sdncadapterworkflow:MsoCompletionRequest xmlns:sdncadapterworkflow="http://org.openecomp/mso/workflow/schema/v1" + xmlns:reqtype="http://org.openecomp/mso/request/types/v1"> + ${requestInfo} + <sdncadapterworkflow:status-message>Vnf has been updated successfully.</sdncadapterworkflow:status-message> + <sdncadapterworkflow:mso-bpel-name>MSO_ACTIVATE_BPEL</sdncadapterworkflow:mso-bpel-name> + </sdncadapterworkflow:MsoCompletionRequest> + """ + + content = utils.formatXml(content) + logDebug(resultVar + ' = ' + System.lineSeparator() + content, isDebugLogEnabled) + execution.setVariable(resultVar, content) + + logDebug('Exited ' + method, isDebugLogEnabled) + } catch (BpmnError e) { + throw e; + } catch (Exception e) { + logError('Caught exception in ' + method, e) + exceptionUtil.buildAndThrowWorkflowException(execution, 2000, 'Internal Error') + } + } + + /** + * Prepare DoUpdateVnfAndModules call. + * + * + * @param execution The flow's execution instance. + */ + public void prepDoUpdateVnfAndModules(DelegateExecution execution) { + def method = getClass().getSimpleName() + '.prepDoUpdateVnfAndModules(' + + 'execution=' + execution.getId() + + ')' + def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled') + execution.setVariable('errorCode', "0") + logDebug('Entered ' + method, isDebugLogEnabled) + execution.setVariable("workStep", "doUpdateVnfAndModules") + execution.setVariable("failedActivity", "MSO Update VNF") + logDebug('Exited ' + method, isDebugLogEnabled) + + } + + /** + * Builds a "FalloutHandler" request and stores it in the specified execution variable. + * + * @param execution the execution + * @param resultVar the execution variable in which the result will be stored + */ + public void falloutHandlerPrep(DelegateExecution execution, String resultVar) { + def method = getClass().getSimpleName() + '.falloutHandlerPrep(' + + 'execution=' + execution.getId() + + ', resultVar=' + resultVar + + ')' + def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled') + logDebug('Entered ' + method, isDebugLogEnabled) + + try { + def prefix = execution.getVariable('prefix') + def requestInformation = execution.getVariable("requestInfo") + + def WorkflowException workflowException = execution.getVariable("WorkflowException") + def errorResponseCode = workflowException.getErrorCode() + def errorResponseMsg = workflowException.getErrorMessage() + def encErrorResponseMsg = "" + if (errorResponseMsg != null) { + encErrorResponseMsg = errorResponseMsg.replace("&", "&").replace("<", "<").replace(">", ">") + } + + String content = """ + <sdncadapterworkflow:FalloutHandlerRequest xmlns:sdncadapterworkflow="http://org.openecomp/mso/workflow/schema/v1" + xmlns:reqtype="http://org.openecomp/mso/request/types/v1" + xmlns:msoservtypes="http://org.openecomp/mso/request/types/v1" + xmlns:structuredtypes="http://org.openecomp/mso/structured/types/v1"> + ${requestInformation} + <sdncadapterworkflow:WorkflowException> + <sdncadapterworkflow:ErrorMessage>${encErrorResponseMsg}</sdncadapterworkflow:ErrorMessage> + <sdncadapterworkflow:ErrorCode>${errorResponseCode}</sdncadapterworkflow:ErrorCode> + </sdncadapterworkflow:WorkflowException> + </sdncadapterworkflow:FalloutHandlerRequest> + """ + content = utils.formatXml(content) + logDebug(resultVar + ' = ' + System.lineSeparator() + content, isDebugLogEnabled) + execution.setVariable(resultVar, content) + + logDebug('Exited ' + method, isDebugLogEnabled) + } catch (BpmnError e) { + throw e; + } catch (Exception e) { + logError('Caught exception in ' + method, e) + exceptionUtil.buildWorkflowException(execution, 2000, 'Internal Error') + } + } + + /** + * Handle Abort disposition from RainyDayHandler + * + * @param execution The flow's execution instance. + */ + public void abortProcessing(DelegateExecution execution) { + def method = getClass().getSimpleName() + '.abortProcessing(' + + 'execution=' + execution.getId() + + ')' + def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled') + logDebug('Entered ' + method, isDebugLogEnabled) + + def errorText = execution.getVariable("errorText") + def errorCode = execution.getVariable("errorCode") + + exceptionUtil.buildAndThrowWorkflowException(execution, errorCode as Integer, errorText) + } + + /** + * Increment Retry Count for Current Work Step + * + * @param execution The flow's execution instance. + */ + public void incrementRetryCount(DelegateExecution execution) { + def method = getClass().getSimpleName() + '.incrementRetryCount(' + + 'execution=' + execution.getId() + + ')' + def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled') + logDebug('Entered ' + method, isDebugLogEnabled) + + String retryCountVariableName = execution.getVariable("workStep") + "RetryCount" + execution.setVariable("retryCountVariableName", retryCountVariableName) + + def retryCountVariable = execution.getVariable(retryCountVariableName) + int retryCount = 0 + + if (retryCountVariable != null) { + retryCount = (int) retryCountVariable + } + + retryCount += 1 + + execution.setVariable(retryCountVariableName, retryCount) + + logDebug("value of " + retryCountVariableName + " is " + retryCount, isDebugLogEnabled) + logDebug('Exited ' + method, isDebugLogEnabled) + + + } + + public void preProcessRollback (DelegateExecution execution) { + def isDebugEnabled=execution.getVariable("isDebugLogEnabled") + utils.log("DEBUG"," ***** preProcessRollback ***** ", isDebugEnabled) + try { + + Object workflowException = execution.getVariable("WorkflowException"); + + if (workflowException instanceof WorkflowException) { + utils.log("DEBUG", "Prev workflowException: " + workflowException.getErrorMessage(), isDebugEnabled) + execution.setVariable("prevWorkflowException", workflowException); + //execution.setVariable("WorkflowException", null); + } + } catch (BpmnError e) { + utils.log("DEBUG", "BPMN Error during preProcessRollback", isDebugEnabled) + } catch(Exception ex) { + String msg = "Exception in preProcessRollback. " + ex.getMessage() + utils.log("DEBUG", msg, isDebugEnabled) + } + utils.log("DEBUG"," *** Exit preProcessRollback *** ", isDebugEnabled) + } + + public void postProcessRollback (DelegateExecution execution) { + def isDebugEnabled=execution.getVariable("isDebugLogEnabled") + utils.log("DEBUG"," ***** postProcessRollback ***** ", isDebugEnabled) + String msg = "" + try { + Object workflowException = execution.getVariable("prevWorkflowException"); + if (workflowException instanceof WorkflowException) { + utils.log("DEBUG", "Setting prevException to WorkflowException: ", isDebugEnabled) + execution.setVariable("WorkflowException", workflowException); + } + + } catch (BpmnError b) { + utils.log("DEBUG", "BPMN Error during postProcessRollback", isDebugEnabled) + throw b; + } catch(Exception ex) { + msg = "Exception in postProcessRollback. " + ex.getMessage() + utils.log("DEBUG", msg, isDebugEnabled) + } + utils.log("DEBUG"," *** Exit postProcessRollback *** ", isDebugEnabled) + } + + + +} diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/VnfConfigUpdate.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/VnfConfigUpdate.groovy new file mode 100644 index 0000000000..33aaef084c --- /dev/null +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/VnfConfigUpdate.groovy @@ -0,0 +1,503 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP - SO + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. 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 groovy.json.JsonOutput +import groovy.json.JsonSlurper +import groovy.util.Node +import groovy.util.XmlParser; +import groovy.xml.QName + +import java.beans.MetaData.java_lang_Class_PersistenceDelegate +import java.io.Serializable; +import java.util.UUID; +import org.openecomp.mso.bpmn.common.scripts.ExceptionUtil +import org.camunda.bpm.engine.delegate.BpmnError +import org.camunda.bpm.engine.impl.cmd.AbstractSetVariableCmd +import org.camunda.bpm.engine.delegate.DelegateExecution +import org.openecomp.mso.rest.APIResponse +import org.openecomp.mso.rest.RESTClient +import org.openecomp.mso.rest.RESTConfig +import org.openecomp.mso.bpmn.common.scripts.AbstractServiceTaskProcessor; +import org.openecomp.mso.bpmn.common.scripts.VidUtils; +import org.openecomp.mso.bpmn.core.RollbackData +import org.openecomp.mso.bpmn.core.WorkflowException +import org.openecomp.mso.bpmn.common.scripts.ExceptionUtil +import org.openecomp.mso.bpmn.core.json.JsonUtils +import org.openecomp.mso.bpmn.core.domain.ModelInfo +import org.openecomp.mso.bpmn.core.domain.ServiceDecomposition +import org.openecomp.mso.bpmn.core.domain.VnfResource +import org.openecomp.mso.client.aai.* + +import org.openecomp.mso.client.appc.ApplicationControllerClient; +import org.openecomp.mso.client.appc.ApplicationControllerSupport; +import org.openecomp.mso.client.aai.AAIResourcesClient +import org.openecomp.mso.client.aai.entities.AAIResultWrapper +import org.openecomp.mso.client.aai.entities.uri.AAIUri +import org.openecomp.mso.client.aai.entities.uri.AAIUriFactory +import org.onap.appc.client.lcm.model.Action; +import org.onap.appc.client.lcm.model.ActionIdentifiers; +import org.onap.appc.client.lcm.model.LockInput +import org.onap.appc.client.lcm.model.UnlockInput +import org.onap.appc.client.lcm.model.HealthCheckInput +import org.onap.appc.client.lcm.model.StartInput +import org.onap.appc.client.lcm.model.StopInput +import org.onap.appc.client.lcm.model.Flags +import org.onap.appc.client.lcm.model.Status + + +public class VnfConfigUpdate extends VnfCmBase { + + ExceptionUtil exceptionUtil = new ExceptionUtil() + JsonUtils jsonUtils = new JsonUtils() + def prefix = "VnfIPU_" + + /** + * Initialize the flow's variables. + * + * @param execution The flow's execution instance. + */ + public void initProcessVariables(DelegateExecution execution) { + execution.setVariable('prefix', 'VnfCU_') + execution.setVariable('Request', null) + execution.setVariable('source', null) + execution.setVariable('UpdateVnfSuccessIndicator', false) + execution.setVariable('serviceType', null) + execution.setVariable('nfRole', null) + execution.setVariable('currentActivity', 'VnfCU') + execution.setVariable('workStep', null) + execution.setVariable('failedActivity', null) + execution.setVariable('errorCode', "0") + execution.setVariable('errorText', null) + execution.setVariable('healthCheckIndex0', 0) + execution.setVariable('healthCheckIndex1', 1) + execution.setVariable('maxRetryCount', 3) + execution.setVariable('retryCount', 0) + execution.setVariable("lcpCloudRegionId", null) + execution.setVariable("rollbackSetClosedLoopDisabledFlag", false) + execution.setVariable("rollbackVnfStop", false) + execution.setVariable("rollbackVnfLock", false) + execution.setVariable("rollbackQuiesceTraffic", false) + execution.setVariable("rollbackSetVnfInMaintenanceFlag", false) + } + + /** + * Check for missing elements in the received request. + * + * @param execution The flow's execution instance. + */ + public void preProcessRequest(DelegateExecution execution) { + def method = getClass().getSimpleName() + '.preProcessRequest(' + + 'execution=' + execution.getId() + + ')' + initProcessVariables(execution) + def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled') + logDebug('Entered ' + method, isDebugLogEnabled) + + initProcessVariables(execution) + + def incomingRequest = execution.getVariable('bpmnRequest') + + utils.log("DEBUG", "Incoming Infra Request: " + incomingRequest, isDebugLogEnabled) + try { + def jsonSlurper = new JsonSlurper() + def jsonOutput = new JsonOutput() + Map reqMap = jsonSlurper.parseText(incomingRequest) + utils.log("DEBUG", " Request is in JSON format.", isDebugLogEnabled) + + def serviceInstanceId = execution.getVariable('serviceInstanceId') + def vnfId = execution.getVariable('vnfId') + + execution.setVariable('serviceInstanceId', serviceInstanceId) + execution.setVariable('vnfId', vnfId) + execution.setVariable('serviceType', 'Mobility') + execution.setVariable('payload', "") + execution.setVariable('actionHealthCheck', Action.HealthCheck) + execution.setVariable('actionConfigModify', Action.ConfigModify) + + def payload = reqMap.requestDetails?.requestParameters?.payload + execution.setVariable('payload', payload) + + utils.log("DEBUG", 'Processed payload: ' + payload, isDebugLogEnabled) + + def requestId = execution.getVariable("mso-request-id") + execution.setVariable('requestId', requestId) + execution.setVariable('msoRequestId', requestId) + + def requestorId = reqMap.requestDetails?.requestInfo?.requestorId ?: null + execution.setVariable('requestorId', requestorId) + + execution.setVariable('sdncVersion', '1702') + + execution.setVariable("UpdateVnfInfraSuccessIndicator", false) + + execution.setVariable("isDebugLogEnabled", isDebugLogEnabled) + + def source = reqMap.requestDetails?.requestInfo?.source + execution.setVariable("source", source) + + //For Completion Handler & Fallout Handler + String requestInfo = + """<request-info xmlns="http://org.openecomp/mso/infra/vnf-request/v1"> + <request-id>${requestId}</request-id> + <action>UPDATE</action> + <source>${source}</source> + </request-info>""" + + execution.setVariable("requestInfo", requestInfo) + + logDebug('RequestInfo: ' + execution.getVariable("requestInfo"), isDebugLogEnabled) + + logDebug('Exited ' + method, isDebugLogEnabled) + + } + catch(groovy.json.JsonException je) { + utils.log("DEBUG", " Request is not in JSON format.", isDebugLogEnabled) + exceptionUtil.buildAndThrowWorkflowException(execution, 5000, "Invalid request format") + + } + catch(Exception e) { + String restFaultMessage = e.getMessage() + utils.log("ERROR", " Exception Encountered - " + "\n" + restFaultMessage, isDebugLogEnabled) + exceptionUtil.buildAndThrowWorkflowException(execution, 5000, restFaultMessage) + } + } + + /** + * Prepare and send the sychronous response for this flow. + * + * @param execution The flow's execution instance. + */ + public void sendSynchResponse(DelegateExecution execution) { + def method = getClass().getSimpleName() + '.sendSynchResponse(' + + 'execution=' + execution.getId() + + ')' + def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled') + logDebug('Entered ' + method, isDebugLogEnabled) + + + try { + def requestInfo = execution.getVariable('requestInfo') + def requestId = execution.getVariable('requestId') + def source = execution.getVariable('source') + def progress = getNodeTextForce(requestInfo, 'progress') + if (progress.isEmpty()) { + progress = '0' + } + def startTime = getNodeTextForce(requestInfo, 'start-time') + if (startTime.isEmpty()) { + startTime = System.currentTimeMillis() + } + + // RESTResponse (for API Handler (APIH) Reply Task) + def vnfId = execution.getVariable("vnfId") + String synchResponse = """{"requestReferences":{"instanceId":"${vnfId}","requestId":"${requestId}"}}""".trim() + + sendWorkflowResponse(execution, 200, synchResponse) + + logDebug('Exited ' + method, isDebugLogEnabled) + } catch (BpmnError e) { + throw e; + } catch (Exception e) { + logError('Caught exception in ' + method, e) + exceptionUtil.buildAndThrowWorkflowException(execution, 1002, 'Error in sendResponse(): ' + e.getMessage()) + } + } + + + /** + * Check if this VNF is already in maintenance in A&AI. + * + * + * @param execution The flow's execution instance. + */ + public void checkIfVnfInMaintInAAI(DelegateExecution execution) { + def method = getClass().getSimpleName() + '.checkIfVnfInMaintInAAI(' + + 'execution=' + execution.getId() + + ')' + def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled') + execution.setVariable('errorCode', "0") + execution.setVariable("workStep", "checkIfVnfInMaintInAAI") + execution.setVariable("failedActivity", "AAI") + logDebug('Entered ' + method, isDebugLogEnabled) + + try { + def transactionLoggingUuid = UUID.randomUUID().toString() + AAIRestClientImpl client = new AAIRestClientImpl() + AAIValidatorImpl aaiValidator = new AAIValidatorImpl() + aaiValidator.setClient(client) + def vnfId = execution.getVariable("vnfId") + boolean isInMaint = aaiValidator.isVNFLocked(vnfId, transactionLoggingUuid) + logDebug("isInMaint result: " + isInMaint, isDebugLogEnabled) + execution.setVariable('isVnfInMaintenance', isInMaint) + + if (isInMaint) { + execution.setVariable("errorCode", "1003") + execution.setVariable("errorText", "VNF is in maintenance in A&AI") + } + + logDebug('Exited ' + method, isDebugLogEnabled) + } catch (BpmnError e) { + throw e; + } catch (Exception e) { + logError('Caught exception in ' + method, e) + execution.setVariable("errorCode", "1002") + execution.setVariable("errorText", e.getMessage()) + //exceptionUtil.buildAndThrowWorkflowException(execution, 1002, 'Error in checkIfVnfInMaintInAAI(): ' + e.getMessage()) + } + } + + + /** + * Check if this VNF's pservers are locked in A&AI. + * + * + * @param execution The flow's execution instance. + */ + public void checkIfPserversInMaintInAAI(DelegateExecution execution) { + def method = getClass().getSimpleName() + '.checkIfPserversInMaintInAAI(' + + 'execution=' + execution.getId() + + ')' + def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled') + execution.setVariable('errorCode', "0") + logDebug('Entered ' + method, isDebugLogEnabled) + execution.setVariable("workStep", "checkIfPserversInMaintInAAI") + execution.setVariable("failedActivity", "AAI") + + try { + def transactionLoggingUuid = UUID.randomUUID().toString() + AAIRestClientImpl client = new AAIRestClientImpl() + AAIValidatorImpl aaiValidator = new AAIValidatorImpl() + aaiValidator.setClient(client) + def vnfId = execution.getVariable("vnfId") + boolean areLocked = aaiValidator.isPhysicalServerLocked(vnfId, transactionLoggingUuid) + logDebug("areLocked result: " + areLocked, isDebugLogEnabled) + execution.setVariable('arePserversLocked', areLocked) + + if (areLocked) { + execution.setVariable("errorCode", "1003") + execution.setVariable("errorText", "pServers are locked in A&AI") + } + + + logDebug('Exited ' + method, isDebugLogEnabled) + } catch (BpmnError e) { + throw e; + } catch (Exception e) { + logError('Caught exception in ' + method, e) + execution.setVariable("errorCode", "1002") + execution.setVariable("errorText", e.getMessage()) + //exceptionUtil.buildAndThrowWorkflowException(execution, 1002, 'Error in checkIfPserversInMaintInAAI(): ' + e.getMessage()) + } + } + + /** + * Set inMaint flag for this VNF to the specified value in A&AI. + * + * + * @param execution The flow's execution instance. + * @param inMaint The boolean value of the flag to set + */ + public void setVnfInMaintFlagInAAI(DelegateExecution execution, boolean inMaint) { + def method = getClass().getSimpleName() + '.setVnfInMaintFlagInAAI(' + + 'execution=' + execution.getId() + + ')' + def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled') + execution.setVariable('errorCode', "0") + logDebug('Entered ' + method, isDebugLogEnabled) + if (inMaint) { + execution.setVariable("workStep", "setVnfInMaintFlagInAAI") + execution.setVariable("rollbackSetVnfInMaintenanceFlag", true) + } + else { + execution.setVariable("workStep", "unsetVnfInMaintFlagInAAI") + } + execution.setVariable("failedActivity", "AAI") + + try { + def transactionLoggingUuid = UUID.randomUUID().toString() + AAIRestClientImpl client = new AAIRestClientImpl() + AAIUpdatorImpl aaiUpdator = new AAIUpdatorImpl() + aaiUpdator.setClient(client) + def vnfId = execution.getVariable("vnfId") + if (inMaint) { + aaiUpdator.updateVnfToLocked(vnfId, transactionLoggingUuid) + execution.setVariable("rollbackSetVnfInMaintenanceFlag", true) + } + else { + aaiUpdator.updateVnfToUnLocked(vnfId, transactionLoggingUuid) + } + + logDebug('Exited ' + method, isDebugLogEnabled) + } catch (BpmnError e) { + throw e; + } catch (Exception e) { + logError('Caught exception in ' + method, e) + execution.setVariable("errorCode", "1002") + execution.setVariable("errorText", e.getMessage()) + //exceptionUtil.buildAndThrowWorkflowException(execution, 1002, 'Error in setVnfInMaintFlagInAAI(): ' + e.getMessage()) + } + } + + /** + * Check if VF Closed Loop Disabled in A&AI. + * + * + * @param execution The flow's execution instance. + */ + public void checkIfClosedLoopDisabledInAAI(DelegateExecution execution) { + def method = getClass().getSimpleName() + '.checkIfClosedLoopDisabledInAAI(' + + 'execution=' + execution.getId() + + ')' + def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled') + execution.setVariable('errorCode', "0") + execution.setVariable("workStep", "checkClosedLoopDisabledFlagInAAI") + execution.setVariable("failedActivity", "AAI") + logDebug('Entered ' + method, isDebugLogEnabled) + + try { + def transactionLoggingUuid = UUID.randomUUID().toString() + def vnfId = execution.getVariable("vnfId") + logDebug("vnfId is: " + vnfId, isDebugLogEnabled) + AAIResourcesClient client = new AAIResourcesClient() + AAIUri genericVnfUri = AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, vnfId) + AAIResultWrapper aaiRW = client.get(genericVnfUri) + Map<String, Object> result = aaiRW.asMap() + boolean isClosedLoopDisabled = result.getOrDefault("is-closed-loop-disabled", false) + + logDebug("isClosedLoopDisabled result: " + isClosedLoopDisabled, isDebugLogEnabled) + execution.setVariable('isClosedLoopDisabled', isClosedLoopDisabled) + + if (isClosedLoopDisabled) { + execution.setVariable("errorCode", "1004") + execution.setVariable("errorText", "closedLoop is disabled in A&AI") + } + + logDebug('Exited ' + method, isDebugLogEnabled) + } catch (BpmnError e) { + throw e; + } catch (Exception e) { + logError('Caught exception in ' + method, e) + execution.setVariable("errorCode", "1002") + execution.setVariable("errorText", e.getMessage()) + //exceptionUtil.buildAndThrowWorkflowException(execution, 1002, 'Error in checkIfVnfInMaintInAAI(): ' + e.getMessage()) + } + } + + /** + * Set VF Closed Loop Disabled Flag in A&AI. + * + * + * @param execution The flow's execution instance. + */ + public void setClosedLoopDisabledInAAI(DelegateExecution execution, boolean setDisabled) { + def method = getClass().getSimpleName() + '.setClosedLoopDisabledInAAI(' + + 'execution=' + execution.getId() + + ')' + def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled') + execution.setVariable('errorCode', "0") + if (setDisabled) { + execution.setVariable("workStep", "setClosedLoopDisabledFlagInAAI") + execution.setVariable("rollbackSetClosedLoopDisabledFlag", true) + } + else { + execution.setVariable("workStep", "unsetClosedLoopDisabledFlagInAAI") + } + + execution.setVariable("failedActivity", "AAI") + logDebug('Entered ' + method, isDebugLogEnabled) + + try { + def transactionLoggingUuid = UUID.randomUUID().toString() + def vnfId = execution.getVariable("vnfId") + AAIResourcesClient client = new AAIResourcesClient() + AAIUri genericVnfUri = AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, vnfId) + + Map<String, Boolean> request = new HashMap<>() + request.put("is-closed-loop-disabled", setDisabled) + client.update(genericVnfUri, request) + logDebug("set isClosedLoop to: " + setDisabled, isDebugLogEnabled) + + + logDebug('Exited ' + method, isDebugLogEnabled) + } catch (BpmnError e) { + throw e; + } catch (Exception e) { + logError('Caught exception in ' + method, e) + execution.setVariable("errorCode", "1002") + execution.setVariable("errorText", e.getMessage()) + //exceptionUtil.buildAndThrowWorkflowException(execution, 1002, 'Error in checkIfVnfInMaintInAAI(): ' + e.getMessage()) + } + } + + + /** + * Handle Abort disposition from RainyDayHandler + * + * @param execution The flow's execution instance. + */ + public void abortProcessing(DelegateExecution execution) { + def method = getClass().getSimpleName() + '.abortProcessing(' + + 'execution=' + execution.getId() + + ')' + def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled') + logDebug('Entered ' + method, isDebugLogEnabled) + + def errorText = execution.getVariable("errorText") + def errorCode = execution.getVariable("errorCode") + + exceptionUtil.buildAndThrowWorkflowException(execution, errorCode as Integer, errorText) + } + + /** + * Increment Retry Count for Current Work Step + * + * @param execution The flow's execution instance. + */ + public void incrementRetryCount(DelegateExecution execution) { + def method = getClass().getSimpleName() + '.incrementRetryCount(' + + 'execution=' + execution.getId() + + ')' + def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled') + logDebug('Entered ' + method, isDebugLogEnabled) + + String retryCountVariableName = execution.getVariable("workStep") + "RetryCount" + execution.setVariable("retryCountVariableName", retryCountVariableName) + + def retryCountVariable = execution.getVariable(retryCountVariableName) + int retryCount = 0 + + if (retryCountVariable != null) { + retryCount = (int) retryCountVariable + } + + retryCount += 1 + + execution.setVariable(retryCountVariableName, retryCount) + + logDebug("value of " + retryCountVariableName + " is " + retryCount, isDebugLogEnabled) + logDebug('Exited ' + method, isDebugLogEnabled) + + + } + + + +} diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/VnfInPlaceUpdate.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/VnfInPlaceUpdate.groovy new file mode 100644 index 0000000000..2b336afa1e --- /dev/null +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/VnfInPlaceUpdate.groovy @@ -0,0 +1,622 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP - SO + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. 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 groovy.json.JsonOutput +import groovy.json.JsonSlurper +import groovy.util.Node +import groovy.util.XmlParser; +import groovy.xml.QName + +import java.beans.MetaData.java_lang_Class_PersistenceDelegate +import java.io.Serializable; +import java.util.UUID; +import org.openecomp.mso.bpmn.common.scripts.ExceptionUtil +import org.camunda.bpm.engine.delegate.BpmnError +import org.camunda.bpm.engine.impl.cmd.AbstractSetVariableCmd +import org.camunda.bpm.engine.delegate.DelegateExecution +import org.openecomp.mso.rest.APIResponse +import org.openecomp.mso.rest.RESTClient +import org.openecomp.mso.rest.RESTConfig +import org.openecomp.mso.bpmn.common.scripts.AbstractServiceTaskProcessor; +import org.openecomp.mso.bpmn.common.scripts.VidUtils; +import org.openecomp.mso.bpmn.core.RollbackData +import org.openecomp.mso.bpmn.core.WorkflowException +import org.openecomp.mso.bpmn.common.scripts.ExceptionUtil +import org.openecomp.mso.bpmn.core.json.JsonUtils +import org.openecomp.mso.bpmn.core.domain.ModelInfo +import org.openecomp.mso.bpmn.core.domain.ServiceDecomposition +import org.openecomp.mso.bpmn.core.domain.VnfResource +import org.openecomp.mso.client.aai.* + +import org.openecomp.mso.client.appc.ApplicationControllerClient; +import org.openecomp.mso.client.appc.ApplicationControllerSupport; +import org.openecomp.mso.client.aai.AAIResourcesClient +import org.openecomp.mso.client.aai.entities.AAIResultWrapper +import org.openecomp.mso.client.aai.entities.uri.AAIUri +import org.openecomp.mso.client.aai.entities.uri.AAIUriFactory +import org.onap.appc.client.lcm.model.Action; +import org.onap.appc.client.lcm.model.ActionIdentifiers; +import org.onap.appc.client.lcm.model.LockInput +import org.onap.appc.client.lcm.model.UnlockInput +import org.onap.appc.client.lcm.model.HealthCheckInput +import org.onap.appc.client.lcm.model.StartInput +import org.onap.appc.client.lcm.model.StopInput +import org.onap.appc.client.lcm.model.Flags +import org.onap.appc.client.lcm.model.Status + + + +public class VnfInPlaceUpdate extends VnfCmBase { + + ExceptionUtil exceptionUtil = new ExceptionUtil() + JsonUtils jsonUtils = new JsonUtils() + def prefix = "VnfIPU_" + + /** + * Initialize the flow's variables. + * + * @param execution The flow's execution instance. + */ + public void initProcessVariables(DelegateExecution execution) { + execution.setVariable('prefix', 'VnfIPU_') + execution.setVariable('Request', null) + execution.setVariable('requestInfo', null) + execution.setVariable('source', null) + execution.setVariable('vnfInputs', null) + execution.setVariable('tenantId', null) + execution.setVariable('vnfParams', null) + execution.setVariable('UpdateVnfSuccessIndicator', false) + execution.setVariable('serviceType', null) + execution.setVariable('nfRole', null) + execution.setVariable('currentActivity', 'VnfIPU') + execution.setVariable('workStep', null) + execution.setVariable('failedActivity', null) + execution.setVariable('errorCode', "0") + execution.setVariable('errorText', null) + execution.setVariable('healthCheckIndex0', 0) + execution.setVariable('healthCheckIndex1', 1) + execution.setVariable('maxRetryCount', 3) + execution.setVariable("rollbackSetClosedLoopDisabledFlag", false) + execution.setVariable("rollbackVnfStop", false) + execution.setVariable("rollbackVnfLock", false) + execution.setVariable("rollbackQuiesceTraffic", false) + execution.setVariable("rollbackSetVnfInMaintenanceFlag", false) + } + + /** + * Check for missing elements in the received request. + * + * @param execution The flow's execution instance. + */ + public void preProcessRequest(DelegateExecution execution) { + def method = getClass().getSimpleName() + '.preProcessRequest(' + + 'execution=' + execution.getId() + + ')' + initProcessVariables(execution) + def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled') + logDebug('Entered ' + method, isDebugLogEnabled) + + initProcessVariables(execution) + + def incomingRequest = execution.getVariable('bpmnRequest') + + utils.log("DEBUG", "Incoming Infra Request: " + incomingRequest, isDebugLogEnabled) + try { + def jsonSlurper = new JsonSlurper() + def jsonOutput = new JsonOutput() + Map reqMap = jsonSlurper.parseText(incomingRequest) + utils.log("DEBUG", " Request is in JSON format.", isDebugLogEnabled) + + def serviceInstanceId = execution.getVariable('serviceInstanceId') + def vnfId = execution.getVariable('vnfId') + + execution.setVariable('serviceInstanceId', serviceInstanceId) + execution.setVariable('vnfId', vnfId) + execution.setVariable("isVidRequest", "true") + execution.setVariable('serviceType', 'Mobility') + execution.setVariable('payload', "") + execution.setVariable('actionSnapshot', Action.Snapshot) + execution.setVariable('actionLock', Action.Lock) + execution.setVariable('actionUnlock', Action.Unlock) + execution.setVariable('actionUpgradePreCheck', Action.UpgradePreCheck) + execution.setVariable('actionUpgradePostCheck', Action.UpgradePostCheck) + execution.setVariable('actionQuiesceTraffic', Action.QuiesceTraffic) + execution.setVariable('actionUpgradeBackup', Action.UpgradeBackup) + execution.setVariable('actionUpgradeSoftware', Action.UpgradeSoftware) + execution.setVariable('actionResumeTraffic', Action.ResumeTraffic) + + def payload = reqMap.requestDetails?.requestParameters?.payload + execution.setVariable('payload', payload) + + utils.log("DEBUG", 'Processed payload: ' + payload, isDebugLogEnabled) + + + def requestId = execution.getVariable("mso-request-id") + execution.setVariable('requestId', requestId) + execution.setVariable('msoRequestId', requestId) + + def requestorId = reqMap.requestDetails?.requestInfo?.requestorId ?: null + execution.setVariable('requestorId', requestorId) + + def cloudConfiguration = reqMap.requestDetails?.cloudConfiguration + def lcpCloudRegionId = cloudConfiguration.lcpCloudRegionId + execution.setVariable('lcpCloudRegionId', lcpCloudRegionId) + def tenantId = cloudConfiguration.tenantId + execution.setVariable('tenantId', tenantId) + + execution.setVariable("UpdateVnfInfraSuccessIndicator", false) + + execution.setVariable("isDebugLogEnabled", isDebugLogEnabled) + + def source = reqMap.requestDetails?.requestInfo?.source + execution.setVariable("source", source) + + //For Completion Handler & Fallout Handler + String requestInfo = + """<request-info xmlns="http://org.openecomp/mso/infra/vnf-request/v1"> + <request-id>${requestId}</request-id> + <action>UPDATE</action> + <source>${source}</source> + </request-info>""" + + execution.setVariable("requestInfo", requestInfo) + + logDebug('RequestInfo: ' + execution.getVariable("requestInfo"), isDebugLogEnabled) + + logDebug('Exited ' + method, isDebugLogEnabled) + + } + catch(groovy.json.JsonException je) { + utils.log("DEBUG", " Request is not in JSON format.", isDebugLogEnabled) + exceptionUtil.buildAndThrowWorkflowException(execution, 5000, "Invalid request format") + + } + catch(Exception e) { + String restFaultMessage = e.getMessage() + utils.log("ERROR", " Exception Encountered - " + "\n" + restFaultMessage, isDebugLogEnabled) + exceptionUtil.buildAndThrowWorkflowException(execution, 5000, restFaultMessage) + } + } + + /** + * Prepare and send the sychronous response for this flow. + * + * @param execution The flow's execution instance. + */ + public void sendSynchResponse(DelegateExecution execution) { + def method = getClass().getSimpleName() + '.sendSynchResponse(' + + 'execution=' + execution.getId() + + ')' + def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled') + logDebug('Entered ' + method, isDebugLogEnabled) + + + try { + def requestInfo = execution.getVariable('requestInfo') + def requestId = execution.getVariable('requestId') + def source = execution.getVariable('source') + def progress = getNodeTextForce(requestInfo, 'progress') + if (progress.isEmpty()) { + progress = '0' + } + def startTime = getNodeTextForce(requestInfo, 'start-time') + if (startTime.isEmpty()) { + startTime = System.currentTimeMillis() + } + + // RESTResponse (for API Handler (APIH) Reply Task) + def vnfId = execution.getVariable("vnfId") + String synchResponse = """{"requestReferences":{"instanceId":"${vnfId}","requestId":"${requestId}"}}""".trim() + + sendWorkflowResponse(execution, 200, synchResponse) + + logDebug('Exited ' + method, isDebugLogEnabled) + } catch (BpmnError e) { + throw e; + } catch (Exception e) { + logError('Caught exception in ' + method, e) + exceptionUtil.buildAndThrowWorkflowException(execution, 1002, 'Error in sendResponse(): ' + e.getMessage()) + } + } + + + /** + * Check if this VNF is already in maintenance in A&AI. + * + * + * @param execution The flow's execution instance. + */ + public void checkIfVnfInMaintInAAI(DelegateExecution execution) { + def method = getClass().getSimpleName() + '.checkIfVnfInMaintInAAI(' + + 'execution=' + execution.getId() + + ')' + def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled') + execution.setVariable('errorCode', "0") + execution.setVariable("workStep", "checkIfVnfInMaintInAAI") + execution.setVariable("failedActivity", "AAI") + logDebug('Entered ' + method, isDebugLogEnabled) + + try { + def transactionLoggingUuid = UUID.randomUUID().toString() + AAIRestClientImpl client = new AAIRestClientImpl() + AAIValidatorImpl aaiValidator = new AAIValidatorImpl() + aaiValidator.setClient(client) + def vnfId = execution.getVariable("vnfId") + boolean isInMaint = aaiValidator.isVNFLocked(vnfId, transactionLoggingUuid) + logDebug("isInMaint result: " + isInMaint, isDebugLogEnabled) + execution.setVariable('isVnfInMaintenance', isInMaint) + + if (isInMaint) { + execution.setVariable("errorCode", "1003") + execution.setVariable("errorText", "VNF is in maintenance in A&AI") + } + + + logDebug('Exited ' + method, isDebugLogEnabled) + } catch (BpmnError e) { + throw e; + } catch (Exception e) { + logError('Caught exception in ' + method, e) + execution.setVariable("errorCode", "1002") + execution.setVariable("errorText", e.getMessage()) + //exceptionUtil.buildAndThrowWorkflowException(execution, 1002, 'Error in checkIfVnfInMaintInAAI(): ' + e.getMessage()) + } + } + + + /** + * Check if this VNF's pservers are locked in A&AI. + * + * + * @param execution The flow's execution instance. + */ + public void checkIfPserversInMaintInAAI(DelegateExecution execution) { + def method = getClass().getSimpleName() + '.checkIfPserversInMaintInAAI(' + + 'execution=' + execution.getId() + + ')' + def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled') + execution.setVariable('errorCode', "0") + logDebug('Entered ' + method, isDebugLogEnabled) + execution.setVariable("workStep", "checkIfPserversInMaintInAAI") + execution.setVariable("failedActivity", "AAI") + + try { + def transactionLoggingUuid = UUID.randomUUID().toString() + AAIRestClientImpl client = new AAIRestClientImpl() + AAIValidatorImpl aaiValidator = new AAIValidatorImpl() + aaiValidator.setClient(client) + def vnfId = execution.getVariable("vnfId") + boolean areLocked = aaiValidator.isPhysicalServerLocked(vnfId, transactionLoggingUuid) + logDebug("areLocked result: " + areLocked, isDebugLogEnabled) + execution.setVariable('arePserversLocked', areLocked) + + if (areLocked) { + execution.setVariable("errorCode", "1003") + execution.setVariable("errorText", "pServers are locked in A&AI") + } + + logDebug('Exited ' + method, isDebugLogEnabled) + } catch (BpmnError e) { + throw e; + } catch (Exception e) { + logError('Caught exception in ' + method, e) + execution.setVariable("errorCode", "1002") + execution.setVariable("errorText", e.getMessage()) + //exceptionUtil.buildAndThrowWorkflowException(execution, 1002, 'Error in checkIfPserversInMaintInAAI(): ' + e.getMessage()) + } + } + + /** + * Set inMaint flag for this VNF to the specified value in A&AI. + * + * + * @param execution The flow's execution instance. + * @param inMaint The boolean value of the flag to set + */ + public void setVnfInMaintFlagInAAI(DelegateExecution execution, boolean inMaint) { + def method = getClass().getSimpleName() + '.setVnfInMaintFlagInAAI(' + + 'execution=' + execution.getId() + + ')' + def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled') + execution.setVariable('errorCode', "0") + logDebug('Entered ' + method, isDebugLogEnabled) + if (inMaint) { + execution.setVariable("workStep", "setVnfInMaintFlagInAAI") + } + else { + execution.setVariable("workStep", "unsetVnfInMaintFlagInAAI") + } + execution.setVariable("failedActivity", "AAI") + + try { + def transactionLoggingUuid = UUID.randomUUID().toString() + AAIRestClientImpl client = new AAIRestClientImpl() + AAIUpdatorImpl aaiUpdator = new AAIUpdatorImpl() + aaiUpdator.setClient(client) + def vnfId = execution.getVariable("vnfId") + if (inMaint) { + aaiUpdator.updateVnfToLocked(vnfId, transactionLoggingUuid) + execution.setVariable("rollbackSetVnfInMaintenanceFlag", true) + } + else { + aaiUpdator.updateVnfToUnLocked(vnfId, transactionLoggingUuid) + } + + logDebug('Exited ' + method, isDebugLogEnabled) + } catch (BpmnError e) { + throw e; + } catch (Exception e) { + logError('Caught exception in ' + method, e) + execution.setVariable("errorCode", "1002") + execution.setVariable("errorText", e.getMessage()) + //exceptionUtil.buildAndThrowWorkflowException(execution, 1002, 'Error in setVnfInMaintFlagInAAI(): ' + e.getMessage()) + } + } + + /** + * Check if VF Closed Loop Disabled in A&AI. + * + * + * @param execution The flow's execution instance. + */ + public void checkIfClosedLoopDisabledInAAI(DelegateExecution execution) { + def method = getClass().getSimpleName() + '.checkIfClosedLoopDisabledInAAI(' + + 'execution=' + execution.getId() + + ')' + def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled') + execution.setVariable('errorCode', "0") + execution.setVariable("workStep", "checkClosedLoopDisabledFlagInAAI") + execution.setVariable("failedActivity", "AAI") + logDebug('Entered ' + method, isDebugLogEnabled) + + try { + def transactionLoggingUuid = UUID.randomUUID().toString() + def vnfId = execution.getVariable("vnfId") + logDebug("vnfId is: " + vnfId, isDebugLogEnabled) + AAIResourcesClient client = new AAIResourcesClient() + AAIUri genericVnfUri = AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, vnfId) + AAIResultWrapper aaiRW = client.get(genericVnfUri) + Map<String, Object> result = aaiRW.asMap() + boolean isClosedLoopDisabled = result.getOrDefault("is-closed-loop-disabled", false) + + logDebug("isClosedLoopDisabled result: " + isClosedLoopDisabled, isDebugLogEnabled) + execution.setVariable('isClosedLoopDisabled', isClosedLoopDisabled) + + if (isClosedLoopDisabled) { + execution.setVariable("errorCode", "1004") + execution.setVariable("errorText", "closedLoop is disabled in A&AI") + } + + logDebug('Exited ' + method, isDebugLogEnabled) + } catch (BpmnError e) { + throw e; + } catch (Exception e) { + logError('Caught exception in ' + method, e) + execution.setVariable("errorCode", "1002") + execution.setVariable("errorText", e.getMessage()) + } + } + + /** + * Set VF Closed Loop Disabled Flag in A&AI. + * + * + * @param execution The flow's execution instance. + */ + public void setClosedLoopDisabledInAAI(DelegateExecution execution, boolean setDisabled) { + def method = getClass().getSimpleName() + '.setClosedLoopDisabledInAAI(' + + 'execution=' + execution.getId() + + ')' + def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled') + execution.setVariable('errorCode', "0") + if (setDisabled) { + execution.setVariable("workStep", "setClosedLoopDisabledFlagInAAI") + execution.setVariable("rollbackSetClosedLoopDisabledFlag", true) + } + else { + execution.setVariable("workStep", "unsetClosedLoopDisabledFlagInAAI") + } + + execution.setVariable("failedActivity", "AAI") + logDebug('Entered ' + method, isDebugLogEnabled) + + try { + def transactionLoggingUuid = UUID.randomUUID().toString() + def vnfId = execution.getVariable("vnfId") + AAIResourcesClient client = new AAIResourcesClient() + AAIUri genericVnfUri = AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF, vnfId) + + Map<String, Boolean> request = new HashMap<>() + request.put("is-closed-loop-disabled", setDisabled) + client.update(genericVnfUri, request) + logDebug("set isClosedLoop to: " + setDisabled, isDebugLogEnabled) + + logDebug('Exited ' + method, isDebugLogEnabled) + } catch (BpmnError e) { + throw e; + } catch (Exception e) { + logError('Caught exception in ' + method, e) + execution.setVariable("errorCode", "1002") + execution.setVariable("errorText", e.getMessage()) + } + } + + + + + /** + * Call APP-C client to execute specified APP-C command for this VNF. + * + * + * @param execution The flow's execution instance. + * @param action The action to take in APP-C. + */ + public void runAppcCommand(DelegateExecution execution, Action action) { + def method = getClass().getSimpleName() + '.runAppcCommand(' + + 'execution=' + execution.getId() + + ')' + def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled') + execution.setVariable('errorCode', "0") + logDebug('Entered ' + method, isDebugLogEnabled) + + ApplicationControllerClient appcClient = null + + try { + logDebug("Running APP-C action: " + action.toString(), isDebugLogEnabled) + String vnfId = execution.getVariable('vnfId') + String msoRequestId = execution.getVariable('requestId') + execution.setVariable('msoRequestId', msoRequestId) + execution.setVariable("failedActivity", "APP-C") + + appcClient = new ApplicationControllerClient() + ApplicationControllerSupport support = new ApplicationControllerSupport() + appcClient.appCSupport=support + org.springframework.test.util.ReflectionTestUtils.setField(support, "lcmModelPackage", "org.onap.appc.client.lcm.model"); + Flags flags = new Flags(); + ActionIdentifiers actionIdentifiers = new ActionIdentifiers(); + actionIdentifiers.setVnfId(vnfId); + Status appcStatus + switch(action) { + case Action.Lock: + execution.setVariable('workStep', "LockVNF") + appcStatus = appcClient.runCommand(Action.Lock,actionIdentifiers,null,msoRequestId) + break + case Action.Unlock: + execution.setVariable('workStep', "UnlockVNF") + appcStatus = appcClient.runCommand(Action.Unlock,actionIdentifiers,null,msoRequestId) + break + case Action.HealthCheck: + def healthCheckIndex = execution.getVariable('healthCheckIndex') + execution.setVariable('workStep', "HealthCheckVNF" + healthCheckIndex) + execution.setVariable('healthCheckIndex', healthCheckIndex + 1) + appcStatus = appcClient.runCommand(Action.HealthCheck,actionIdentifiers,null,msoRequestId) + break + case Action.Start: + execution.setVariable('workStep', "StartVNF") + appcStatus = appcClient.runCommand(Action.Start,actionIdentifiers,null,msoRequestId) + break + case Action.Stop: + execution.setVariable('workStep', "StopVNF") + appcStatus = appcClient.runCommand(Action.Stop,actionIdentifiers,null,msoRequestId) + break + default: + break + } + logDebug("Completed AppC request", isDebugLogEnabled) + int appcCode = appcStatus.getCode() + logDebug("AppC status code is: " + appcCode, isDebugLogEnabled) + logDebug("AppC status message is: " + appcStatus.getMessage(), isDebugLogEnabled) + if (support.getCategoryOf(appcStatus) == ApplicationControllerSupport.StatusCategory.ERROR) { + execution.setVariable("errorCode", Integer.toString(appcCode)) + execution.setVariable("errorText", appcStatus.getMessage()) + } + + logDebug('Exited ' + method, isDebugLogEnabled) + } catch (BpmnError e) { + logError('Caught exception in ' + method, e) + execution.setVariable("errorCode", "1002") + execution.setVariable("errorText", e.getMessage()) + + } catch (java.lang.NoSuchMethodError e) { + logError('Caught exception in ' + method, e) + execution.setVariable("errorCode", "1002") + execution.setVariable("errorText", e.getMessage()) + + } catch (Exception e) { + logError('Caught exception in ' + method, e) + execution.setVariable("errorCode", "1002") + execution.setVariable("errorText", e.getMessage()) + + } + } + + /** + * Placeholder for a call to APP-C client to execute specified APP-C command for this VNF. + * + * + * @param execution The flow's execution instance. + * @param action The action to take in APP-C. + */ + public void runAppcCommandPlaceholder(DelegateExecution execution, String action) { + def method = getClass().getSimpleName() + '.runAppcCommandPlaceholder(' + + 'execution=' + execution.getId() + + ')' + def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled') + execution.setVariable('errorCode', "0") + logDebug('Entered ' + method, isDebugLogEnabled) + execution.setVariable("failedActivity", "APP-C") + execution.setVariable("workStep", action) + } + + + + /** + * Handle Abort disposition from RainyDayHandler + * + * @param execution The flow's execution instance. + */ + public void abortProcessing(DelegateExecution execution) { + def method = getClass().getSimpleName() + '.abortProcessing(' + + 'execution=' + execution.getId() + + ')' + def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled') + logDebug('Entered ' + method, isDebugLogEnabled) + + def errorText = execution.getVariable("errorText") + def errorCode = execution.getVariable("errorCode") + + exceptionUtil.buildAndThrowWorkflowException(execution, errorCode as Integer, errorText) + } + + /** + * Increment Retry Count for Current Work Step + * + * @param execution The flow's execution instance. + */ + public void incrementRetryCount(DelegateExecution execution) { + def method = getClass().getSimpleName() + '.incrementRetryCount(' + + 'execution=' + execution.getId() + + ')' + def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled') + logDebug('Entered ' + method, isDebugLogEnabled) + + String retryCountVariableName = execution.getVariable("workStep") + "RetryCount" + execution.setVariable("retryCountVariableName", retryCountVariableName) + + def retryCountVariable = execution.getVariable(retryCountVariableName) + int retryCount = 0 + + if (retryCountVariable != null) { + retryCount = (int) retryCountVariable + } + + retryCount += 1 + + execution.setVariable(retryCountVariableName, retryCount) + + logDebug("value of " + retryCountVariableName + " is " + retryCount, isDebugLogEnabled) + logDebug('Exited ' + method, isDebugLogEnabled) + + + } + + +} diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/CreateVcpeResCustService.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/CreateVcpeResCustService.groovy index e1cae802e7..503cdfd034 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/CreateVcpeResCustService.groovy +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/CreateVcpeResCustService.groovy @@ -34,7 +34,7 @@ import org.openecomp.mso.bpmn.core.domain.* import java.util.UUID; import org.camunda.bpm.engine.delegate.BpmnError -import org.camunda.bpm.engine.runtime.Execution +import org.camunda.bpm.engine.delegate.DelegateExecution import org.json.JSONObject; import org.json.JSONArray; import org.apache.commons.lang3.* @@ -50,786 +50,704 @@ import static org.apache.commons.lang3.StringUtils.* */ public class CreateVcpeResCustService extends AbstractServiceTaskProcessor { - private static final String DebugFlag = "isDebugLogEnabled" - - String Prefix="CVRCS_" - ExceptionUtil exceptionUtil = new ExceptionUtil() - JsonUtils jsonUtil = new JsonUtils() - VidUtils vidUtils = new VidUtils() - CatalogDbUtils catalogDbUtils = new CatalogDbUtils() - - /** - * This method is executed during the preProcessRequest task of the - * <class>CreateServiceInstance.bpmn</class> process. - * @param execution - */ - public InitializeProcessVariables(Execution execution){ - /* Initialize all the process variables in this block */ - - execution.setVariable("createVcpeServiceRequest", "") - execution.setVariable("globalSubscriberId", "") - execution.setVariable("serviceInstanceName", "") - execution.setVariable("msoRequestId", "") - execution.setVariable(Prefix+"VnfsCreatedCount", 0) - execution.setVariable("productFamilyId", "") - execution.setVariable("brgWanMacAddress", "") - execution.setVariable("customerLocation", "") - - //TODO - execution.setVariable("sdncVersion", "1707") - } - - // ************************************************** - // Pre or Prepare Request Section - // ************************************************** - /** - * This method is executed during the preProcessRequest task of the - * <class>CreateServiceInstance.bpmn</class> process. - * @param execution - */ - public void preProcessRequest (Execution execution) { - def isDebugEnabled=execution.getVariable(DebugFlag) - execution.setVariable("prefix",Prefix) - - utils.log("DEBUG", " ***** Inside preProcessRequest CreateVcpeResCustService Request ***** ", isDebugEnabled) - - try { - // initialize flow variables - InitializeProcessVariables(execution) - - //Config Inputs - String aaiDistDelay = execution.getVariable('URN_mso_workflow_aai_distribution_delay') - if (isBlank(aaiDistDelay)) { - msg = "URN_mso_workflow_aai_distribution_delay is null" - utils.log("DEBUG", msg, isDebugEnabled) - exceptionUtil.buildAndThrowWorkflowException(execution, 500, msg) - } - execution.setVariable("aaiDistDelay", aaiDistDelay) - utils.log("DEBUG","AAI distribution delay: " + aaiDistDelay, isDebugEnabled) - - // check for incoming json message/input - String createVcpeServiceRequest = execution.getVariable("bpmnRequest") - utils.logAudit(createVcpeServiceRequest) - execution.setVariable("createVcpeServiceRequest", createVcpeServiceRequest); - println 'createVcpeServiceRequest - ' + createVcpeServiceRequest - - // extract requestId - String requestId = execution.getVariable("mso-request-id") - execution.setVariable("msoRequestId", requestId) - - String serviceInstanceId = execution.getVariable("serviceInstanceId") - - if ((serviceInstanceId == null) || (serviceInstanceId.isEmpty())) { - serviceInstanceId = UUID.randomUUID().toString() - utils.log("DEBUG", " Generated new Service Instance: " + serviceInstanceId , isDebugEnabled) - } else { - utils.log("DEBUG", "Using provided Service Instance ID: " + serviceInstanceId , isDebugEnabled) - } - - serviceInstanceId = UriUtils.encode(serviceInstanceId,"UTF-8") - execution.setVariable("serviceInstanceId", serviceInstanceId) - - String requestAction = execution.getVariable("requestAction") - execution.setVariable("requestAction", requestAction) - - setBasicDBAuthHeader(execution, isDebugEnabled) - - String source = jsonUtil.getJsonValue(createVcpeServiceRequest, "requestDetails.requestInfo.source") - if ((source == null) || (source.isEmpty())) { - source = "VID" - } - execution.setVariable("source", source) - - // extract globalSubscriberId - String globalSubscriberId = jsonUtil.getJsonValue(createVcpeServiceRequest, - "requestDetails.subscriberInfo.globalSubscriberId") - - // verify element global-customer-id is sent from JSON input, throw exception if missing - if ((globalSubscriberId == null) || (globalSubscriberId.isEmpty())) { - String dataErrorMessage = " Element 'globalSubscriberId' is missing. " - exceptionUtil.buildAndThrowWorkflowException(execution, 2500, dataErrorMessage) - - } else { - execution.setVariable("globalSubscriberId", globalSubscriberId) - execution.setVariable("globalCustomerId", globalSubscriberId) - } - - // extract subscriptionServiceType - String subscriptionServiceType = jsonUtil.getJsonValue(createVcpeServiceRequest, - "requestDetails.requestParameters.subscriptionServiceType") - execution.setVariable("subscriptionServiceType", subscriptionServiceType) - utils.log("DEBUG", "Incoming subscriptionServiceType is: " + subscriptionServiceType, isDebugEnabled) - - String suppressRollback = jsonUtil.getJsonValue(createVcpeServiceRequest, - "requestDetails.requestInfo.suppressRollback") - execution.setVariable("disableRollback", suppressRollback) - utils.log("DEBUG", "Incoming Suppress/Disable Rollback is: " + suppressRollback, isDebugEnabled) - - String productFamilyId = jsonUtil.getJsonValue(createVcpeServiceRequest, - "requestDetails.requestInfo.productFamilyId") - execution.setVariable("productFamilyId", productFamilyId) - utils.log("DEBUG", "Incoming productFamilyId is: " + productFamilyId, isDebugEnabled) - - String subscriberInfo = jsonUtil.getJsonValue(createVcpeServiceRequest, - "requestDetails.subscriberInfo") - execution.setVariable("subscriberInfo", subscriberInfo) - utils.log("DEBUG", "Incoming subscriberInfo is: " + subscriberInfo, isDebugEnabled) - - /* - * Extracting User Parameters from incoming Request and converting into a Map - */ - def jsonSlurper = new JsonSlurper() - def jsonOutput = new JsonOutput() - - Map reqMap = jsonSlurper.parseText(createVcpeServiceRequest) - - - //InputParams - def userParams = reqMap.requestDetails?.requestParameters?.userParams + private static final String DebugFlag = "isDebugLogEnabled" + + String Prefix="CVRCS_" + ExceptionUtil exceptionUtil = new ExceptionUtil() + JsonUtils jsonUtil = new JsonUtils() + VidUtils vidUtils = new VidUtils() + CatalogDbUtils catalogDbUtils = new CatalogDbUtils() + + /** + * This method is executed during the preProcessRequest task of the <class>CreateServiceInstance.bpmn</class> process. + * @param execution + */ + public InitializeProcessVariables(DelegateExecution execution){ + /* Initialize all the process variables in this block */ + + execution.setVariable("createVcpeServiceRequest", "") + execution.setVariable("globalSubscriberId", "") + execution.setVariable("serviceInstanceName", "") + execution.setVariable("msoRequestId", "") + execution.setVariable(Prefix+"VnfsCreatedCount", 0) + execution.setVariable("productFamilyId", "") + execution.setVariable("brgWanMacAddress", "") + + //TODO + execution.setVariable("sdncVersion", "1707") + } + + // ************************************************** + // Pre or Prepare Request Section + // ************************************************** + /** + * This method is executed during the preProcessRequest task of the <class>CreateServiceInstance.bpmn</class> process. + * @param execution + */ + public void preProcessRequest (DelegateExecution execution) { + def isDebugEnabled=execution.getVariable(DebugFlag) + execution.setVariable("prefix",Prefix) + + utils.log("DEBUG", " ***** Inside preProcessRequest CreateVcpeResCustService Request ***** ", isDebugEnabled) + + try { + // initialize flow variables + InitializeProcessVariables(execution) + + //Config Inputs + String aaiDistDelay = execution.getVariable('URN_mso_workflow_aai_distribution_delay') + if (isBlank(aaiDistDelay)) { + msg = "URN_mso_workflow_aai_distribution_delay is null" + utils.log("DEBUG", msg, isDebugEnabled) + exceptionUtil.buildAndThrowWorkflowException(execution, 500, msg) + } + execution.setVariable("aaiDistDelay", aaiDistDelay) + utils.log("DEBUG","AAI distribution delay: " + aaiDistDelay, isDebugEnabled) + + // check for incoming json message/input + String createVcpeServiceRequest = execution.getVariable("bpmnRequest") + utils.logAudit(createVcpeServiceRequest) + execution.setVariable("createVcpeServiceRequest", createVcpeServiceRequest); + println 'createVcpeServiceRequest - ' + createVcpeServiceRequest + + // extract requestId + String requestId = execution.getVariable("mso-request-id") + execution.setVariable("msoRequestId", requestId) + + String serviceInstanceId = execution.getVariable("serviceInstanceId") + + if ((serviceInstanceId == null) || (serviceInstanceId.isEmpty())) { + serviceInstanceId = UUID.randomUUID().toString() + utils.log("DEBUG", " Generated new Service Instance: " + serviceInstanceId , isDebugEnabled) + } else { + utils.log("DEBUG", "Using provided Service Instance ID: " + serviceInstanceId , isDebugEnabled) + } + + serviceInstanceId = UriUtils.encode(serviceInstanceId,"UTF-8") + execution.setVariable("serviceInstanceId", serviceInstanceId) + + String requestAction = execution.getVariable("requestAction") + execution.setVariable("requestAction", requestAction) + + setBasicDBAuthHeader(execution, isDebugEnabled) + + String source = jsonUtil.getJsonValue(createVcpeServiceRequest, "requestDetails.requestInfo.source") + if ((source == null) || (source.isEmpty())) { + source = "VID" + } + execution.setVariable("source", source) + + // extract globalSubscriberId + String globalSubscriberId = jsonUtil.getJsonValue(createVcpeServiceRequest, "requestDetails.subscriberInfo.globalSubscriberId") + + // verify element global-customer-id is sent from JSON input, throw exception if missing + if ((globalSubscriberId == null) || (globalSubscriberId.isEmpty())) { + String dataErrorMessage = " Element 'globalSubscriberId' is missing. " + exceptionUtil.buildAndThrowWorkflowException(execution, 2500, dataErrorMessage) + + } else { + execution.setVariable("globalSubscriberId", globalSubscriberId) + execution.setVariable("globalCustomerId", globalSubscriberId) + } + + // extract subscriptionServiceType + String subscriptionServiceType = jsonUtil.getJsonValue(createVcpeServiceRequest, "requestDetails.requestParameters.subscriptionServiceType") + execution.setVariable("subscriptionServiceType", subscriptionServiceType) + utils.log("DEBUG", "Incoming subscriptionServiceType is: " + subscriptionServiceType, isDebugEnabled) + + String suppressRollback = jsonUtil.getJsonValue(createVcpeServiceRequest, "requestDetails.requestInfo.suppressRollback") + execution.setVariable("disableRollback", suppressRollback) + utils.log("DEBUG", "Incoming Suppress/Disable Rollback is: " + suppressRollback, isDebugEnabled) + + String productFamilyId = jsonUtil.getJsonValue(createVcpeServiceRequest, "requestDetails.requestInfo.productFamilyId") + execution.setVariable("productFamilyId", productFamilyId) + utils.log("DEBUG", "Incoming productFamilyId is: " + productFamilyId, isDebugEnabled) + + String subscriberInfo = jsonUtil.getJsonValue(createVcpeServiceRequest, "requestDetails.subscriberInfo") + execution.setVariable("subscriberInfo", subscriberInfo) + utils.log("DEBUG", "Incoming subscriberInfo is: " + subscriberInfo, isDebugEnabled) + + /* + * Extracting User Parameters from incoming Request and converting into a Map + */ + def jsonSlurper = new JsonSlurper() + def jsonOutput = new JsonOutput() + + Map reqMap = jsonSlurper.parseText(createVcpeServiceRequest) +
+ //InputParams + def userParams = reqMap.requestDetails?.requestParameters?.userParams - Map<String, String> inputMap = [:] - - - if (userParams) { - userParams.each { - userParam -> - if("BRG_WAN_MAC_Address".equals(userParam?.name)) { - execution.setVariable("brgWanMacAddress", userParam.value) - inputMap.put("BRG_WAN_MAC_Address", userParam.value) - } - if("Customer_Location".equals(userParam?.name)) { - execution.setVariable("customerLocation", userParam.value) - userParam.value.each { - customerLocParam -> - inputMap.put(customerLocParam.key, customerLocParam.value) - } - } - } - } - - utils.log("DEBUG", "User Input Parameters map: " + userParams.toString(), isDebugEnabled) - execution.setVariable("serviceInputParams", inputMap) - - utils.log("DEBUG", "Incoming brgWanMacAddress is: " + - execution.getVariable('brgWanMacAddress'), isDebugEnabled) - utils.log("DEBUG", "Incoming customerLocation is: " + - execution.getVariable('customerLocation'), isDebugEnabled) - - //For Completion Handler & Fallout Handler - String requestInfo = - """<request-info xmlns="http://org.openecomp/mso/infra/vnf-request/v1"> - <request-id>${requestId}</request-id> - <action>CREATE</action> - <source>${source}</source> - </request-info>""" - - execution.setVariable(Prefix+"requestInfo", requestInfo) - - utils.log("DEBUG", - " ***** Completed preProcessRequest CreateVcpeResCustService Request ***** ", isDebugEnabled) - - } catch (BpmnError e) { - throw e; - - } catch (Exception ex){ - String exceptionMessage = "Bpmn error encountered in CreateVcpeResCustService flow." + - " Unexpected from method preProcessRequest() - " + ex.getMessage() - exceptionUtil.buildAndThrowWorkflowException(execution, 7000, exceptionMessage) - } - } - - public void sendSyncResponse(Execution execution) { - def isDebugEnabled=execution.getVariable(DebugFlag) - - utils.log("DEBUG", " ***** Inside sendSyncResponse of CreateVcpeResCustService ***** ", isDebugEnabled) - - try { - String serviceInstanceId = execution.getVariable("serviceInstanceId") - String requestId = execution.getVariable("mso-request-id") - - // RESTResponse (for API Handler (APIH) Reply Task) - String syncResponse ="""{"requestReferences":{ - "instanceId":"${serviceInstanceId}", - "requestId":"${requestId}" - }}""".trim() - - utils.log("DEBUG", " sendSynchResponse: xmlSyncResponse - " + "\n" + syncResponse, isDebugEnabled) - sendWorkflowResponse(execution, 202, syncResponse) - - } catch (Exception ex) { - String exceptionMessage = "Bpmn error encountered in CreateVcpeResCustService flow. " + - "Unexpected from method sendSyncResponse() - " + ex.getMessage() - exceptionUtil.buildAndThrowWorkflowException(execution, 7000, exceptionMessage) - } - } - - // ******************************* - // - // ******************************* - public void prepareDecomposeService(Execution execution) { - def isDebugEnabled=execution.getVariable(DebugFlag) - - try { - utils.log("DEBUG", - " ***** Inside prepareDecomposeService of CreateVcpeResCustService ***** ", isDebugEnabled) - - String createVcpeServiceRequest = execution.getVariable("createVcpeServiceRequest") - - //serviceModelInfo JSON string will be used as-is for DoCreateServiceInstance BB - String serviceModelInfo = jsonUtil.getJsonValue(createVcpeServiceRequest, - "requestDetails.modelInfo") - execution.setVariable("serviceModelInfo", serviceModelInfo) - - utils.log("DEBUG", - " ***** Completed prepareDecomposeService of CreateVcpeResCustService ***** ", isDebugEnabled) - } catch (Exception ex) { - // try error in method block - String exceptionMessage = "Bpmn error encountered in CreateVcpeResCustService flow. " + - "Unexpected Error from method prepareDecomposeService() - " + ex.getMessage() - exceptionUtil.buildAndThrowWorkflowException(execution, 7000, exceptionMessage) - } - } - - // ******************************* - // - // ******************************* - public void prepareCreateServiceInstance(Execution execution) { - def isDebugEnabled=execution.getVariable(DebugFlag) - - try { - utils.log("DEBUG", - " ***** Inside prepareCreateServiceInstance of CreateVcpeResCustService ***** ", isDebugEnabled) - - /* - * Service modelInfo is created in earlier step. This flow can use it as-is ... or, extract from - * DecompositionObject - * ServiceDecomposition serviceDecomposition = execution.getVariable("serviceDecomposition") - * ModelInfo modelInfo = serviceDecomposition.getModelInfo() - * - */ - String createVcpeServiceRequest = execution.getVariable("createVcpeServiceRequest") -// String serviceInputParams = jsonUtil.getJsonValue(createVcpeServiceRequest, -// "requestDetails.requestParameters") -// execution.setVariable("serviceInputParams", serviceInputParams) - - - String serviceInstanceName = jsonUtil.getJsonValue(createVcpeServiceRequest, - "requestDetails.requestInfo.instanceName") - execution.setVariable("serviceInstanceName", serviceInstanceName) - - ServiceDecomposition serviceDecomposition = execution.getVariable("serviceDecomposition") - execution.setVariable("serviceDecompositionString", serviceDecomposition.toJsonStringNoRootName()) - - utils.log("DEBUG", - " ***** Completed prepareCreateServiceInstance of CreateVcpeResCustService ***** ", isDebugEnabled) - } catch (Exception ex) { - // try error in method block - String exceptionMessage = "Bpmn error encountered in CreateVcpeResCustService flow. " + - "Unexpected Error from method prepareCreateServiceInstance() - " + ex.getMessage() - exceptionUtil.buildAndThrowWorkflowException(execution, 7000, exceptionMessage) - } - } - - public void postProcessServiceInstanceCreate (Execution execution){ - def method = getClass().getSimpleName() + '.postProcessServiceInstanceCreate(' + - 'execution=' + execution.getId() +')' - def isDebugLogEnabled = execution.getVariable(DebugFlag) - logDebug('Entered ' + method, isDebugLogEnabled) - - String requestId = execution.getVariable("mso-request-id") - String serviceInstanceId = execution.getVariable("serviceInstanceId") - String serviceInstanceName = execution.getVariable("serviceInstanceName") - - try { - - String payload = """ - <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" -xmlns:req="http://org.openecomp.mso/requestsdb"> - <soapenv:Header/> - <soapenv:Body> - <req:updateInfraRequest> - <requestId>${requestId}</requestId> - <lastModifiedBy>BPEL</lastModifiedBy> - <serviceInstanceId>${serviceInstanceId}</serviceInstanceId> - <serviceInstanceName>${serviceInstanceName}</serviceInstanceName> - </req:updateInfraRequest> - </soapenv:Body> - </soapenv:Envelope> - """ - execution.setVariable(Prefix+"setUpdateDbInstancePayload", payload) - utils.logAudit(Prefix+"setUpdateDbInstancePayload: " + payload) - logDebug('Exited ' + method, isDebugLogEnabled) - - } catch (BpmnError e) { - throw e; - } catch (Exception e) { - logError('Caught exception in ' + method, e) - exceptionUtil.buildAndThrowWorkflowException(execution, 2000, "Internal Error - Occured in" + method) - } - } - - - public void processDecomposition (Execution execution) { - def isDebugEnabled=execution.getVariable(DebugFlag) - - utils.log("DEBUG", " ***** Inside processDecomposition() of CreateVcpeResCustService ***** ", isDebugEnabled) - - try { - - ServiceDecomposition serviceDecomposition = execution.getVariable("serviceDecomposition") - - // VNFs - List<VnfResource> vnfList = serviceDecomposition.getServiceVnfs() - filterVnfs(vnfList) - serviceDecomposition.setServiceVnfs(vnfList) - - execution.setVariable("vnfList", vnfList) - execution.setVariable("vnfListString", vnfList.toString()) - - String vnfModelInfoString = "" - if (vnfList != null && vnfList.size() > 0) { - execution.setVariable(Prefix+"VNFsCount", vnfList.size()) - utils.log("DEBUG", "vnfs to create: "+ vnfList.size(), isDebugEnabled) - ModelInfo vnfModelInfo = vnfList[0].getModelInfo() - - vnfModelInfoString = vnfModelInfo.toString() - String vnfModelInfoWithRoot = vnfModelInfo.toString() - vnfModelInfoString = jsonUtil.getJsonValue(vnfModelInfoWithRoot, "modelInfo") - } else { - execution.setVariable(Prefix+"VNFsCount", 0) - utils.log("DEBUG", "no vnfs to create based upon serviceDecomposition content", isDebugEnabled) - } - - execution.setVariable("vnfModelInfo", vnfModelInfoString) - execution.setVariable("vnfModelInfoString", vnfModelInfoString) - utils.log("DEBUG", " vnfModelInfoString :" + vnfModelInfoString, isDebugEnabled) - - utils.log("DEBUG", - " ***** Completed processDecomposition() of CreateVcpeResCustService ***** ", isDebugEnabled) - } catch (Exception ex) { - sendSyncError(execution) - String exceptionMessage = "Bpmn error encountered in CreateVcpeResCustService flow. " + - "processDecomposition() - " + ex.getMessage() - utils.log("DEBUG", exceptionMessage, isDebugEnabled) - exceptionUtil.buildAndThrowWorkflowException(execution, 7000, exceptionMessage) - } - } - - private void filterVnfs(List<VnfResource> vnfList) { - if(vnfList == null) { - return - } - - // remove BRG & TXC from VNF list - - Iterator<VnfResource> it = vnfList.iterator() - while(it.hasNext()) { - VnfResource vr = it.next() - - String role = vr.getNfRole() - if(role == "BRG" || role == "TunnelXConn") { - it.remove() - } - } - } - - - public void prepareCreateAllottedResourceTXC(Execution execution) { - def isDebugEnabled=execution.getVariable(DebugFlag) - - try { - utils.log("DEBUG", - " ***** Inside prepareCreateAllottedResourceTXC of CreateVcpeResCustService ***** ", isDebugEnabled) - - /* - * Service modelInfo is created in earlier step. This flow can use it as-is ... or, extract from - * DecompositionObject - * ServiceDecomposition serviceDecomposition = execution.getVariable("serviceDecomposition") - * ModelInfo modelInfo = serviceDecomposition.getModelInfo() - * - */ - String createVcpeServiceRequest = execution.getVariable("createVcpeServiceRequest") - ServiceDecomposition serviceDecomposition = execution.getVariable("serviceDecomposition") - - //allottedResourceModelInfo - //allottedResourceRole - //The model Info parameters are a JSON structure as defined in the Service Instantiation API. - //It would be sufficient to only include the service model UUID (i.e. the modelVersionId), since this - //BB will query the full model from the Catalog DB. - List<AllottedResource> allottedResources = serviceDecomposition.getServiceAllottedResources() - if (allottedResources != null) { - Iterator iter = allottedResources.iterator(); - while (iter.hasNext()){ - AllottedResource allottedResource = (AllottedResource)iter.next(); - - utils.log("DEBUG", " getting model info for AllottedResource # :" + - allottedResource.toJsonStringNoRootName(), isDebugEnabled) - utils.log("DEBUG", " allottedResource.getAllottedResourceType() :" + - allottedResource.getAllottedResourceType(), isDebugEnabled) - if("TunnelXConn".equalsIgnoreCase(allottedResource.getAllottedResourceType())){ - //set create flag to true - execution.setVariable("createTXCAR", true) - ModelInfo allottedResourceModelInfo = allottedResource.getModelInfo() - execution.setVariable("allottedResourceModelInfoTXC", - allottedResourceModelInfo.toJsonStringNoRootName()) - execution.setVariable("allottedResourceRoleTXC", allottedResource.getAllottedResourceRole()) - execution.setVariable("allottedResourceTypeTXC", allottedResource.getAllottedResourceType()) - //After decomposition and homing BBs, there should be an allotted resource object in the - // decomposition that represents the TXC, - //and in its homingSolution section should be found the infraServiceInstanceId - // (i.e. infraServiceInstanceId in TXC Allotted Resource structure) (which the Homing - // BB would have populated). - execution.setVariable("parentServiceInstanceIdTXC", - allottedResource.getHomingSolution().getServiceInstanceId()) - } - } - } - - //unit test only - String allottedResourceId = execution.getVariable("allottedResourceId") - execution.setVariable("allottedResourceIdTXC", allottedResourceId) - utils.log("DEBUG", - "setting allottedResourceId CreateVcpeResCustService "+ allottedResourceId, isDebugEnabled) - - utils.log("DEBUG", - " ***** Completed prepareCreateAllottedResourceTXC of CreateVcpeResCustService ***** ", - isDebugEnabled) - } catch (Exception ex) { - // try error in method block - String exceptionMessage = "Bpmn error encountered in prepareCreateAllottedResourceTXC flow. " + - "Unexpected Error from method prepareCreateServiceInstance() - " + ex.getMessage() - exceptionUtil.buildAndThrowWorkflowException(execution, 7000, exceptionMessage) - } - } - public void prepareCreateAllottedResourceBRG(Execution execution) { - def isDebugEnabled=execution.getVariable(DebugFlag) - - try { - utils.log("DEBUG", - " ***** Inside prepareCreateAllottedResourceBRG of CreateVcpeResCustService ***** ", isDebugEnabled) - - /* - * Service modelInfo is created in earlier step. This flow can use it as-is ... or, extract from - * DecompositionObject - * ServiceDecomposition serviceDecomposition = execution.getVariable("serviceDecomposition") - * ModelInfo modelInfo = serviceDecomposition.getModelInfo() - * - */ - String createVcpeServiceRequest = execution.getVariable("createVcpeServiceRequest") - ServiceDecomposition serviceDecomposition = execution.getVariable("serviceDecomposition") - - //allottedResourceModelInfo - //allottedResourceRole - //The model Info parameters are a JSON structure as defined in the Service Instantiation API. - //It would be sufficient to only include the service model UUID (i.e. the modelVersionId), since this - // BB will query the full model from the Catalog DB. - List<AllottedResource> allottedResources = serviceDecomposition.getServiceAllottedResources() - if (allottedResources != null) { - Iterator iter = allottedResources.iterator(); - while (iter.hasNext()){ - AllottedResource allottedResource = (AllottedResource)iter.next(); - - utils.log("DEBUG", " getting model info for AllottedResource # :" + - allottedResource.toJsonStringNoRootName(), isDebugEnabled) - utils.log("DEBUG", " allottedResource.getAllottedResourceType() :" + - allottedResource.getAllottedResourceType(), isDebugEnabled) - if("BRG".equalsIgnoreCase(allottedResource.getAllottedResourceType())){ - //set create flag to true - execution.setVariable("createBRGAR", true) - ModelInfo allottedResourceModelInfo = allottedResource.getModelInfo() - execution.setVariable("allottedResourceModelInfoBRG", - allottedResourceModelInfo.toJsonStringNoRootName()) - execution.setVariable("allottedResourceRoleBRG", allottedResource.getAllottedResourceRole()) - execution.setVariable("allottedResourceTypeBRG", allottedResource.getAllottedResourceType()) - //After decomposition and homing BBs, there should be an allotted resource object in the - // decomposition that represents the BRG, - //and in its homingSolution section should be found the infraServiceInstanceId - // (i.e. infraServiceInstanceId in BRG Allotted Resource structure) (which the Homing - // BB would have populated). - execution.setVariable("parentServiceInstanceIdBRG", - allottedResource.getHomingSolution().getServiceInstanceId()) - } - } - } - - //unit test only - String allottedResourceId = execution.getVariable("allottedResourceId") - execution.setVariable("allottedResourceIdBRG", allottedResourceId) - utils.log("DEBUG", - "setting allottedResourceId CreateVcpeResCustService " + allottedResourceId, isDebugEnabled) - - utils.log("DEBUG", - " ***** Completed prepareCreateAllottedResourceBRG of CreateVcpeResCustService ***** ", - isDebugEnabled) - } catch (Exception ex) { - // try error in method block - String exceptionMessage = "Bpmn error encountered in prepareCreateAllottedResourceBRG flow. " + - "Unexpected Error from method prepareCreateServiceInstance() - " + ex.getMessage() - exceptionUtil.buildAndThrowWorkflowException(execution, 7000, exceptionMessage) - } - } - - - - // ******************************* - // Generate Network request Section - // ******************************* - public void prepareVnfAndModulesCreate (Execution execution) { - def isDebugEnabled=execution.getVariable(DebugFlag) - - try { - utils.log("DEBUG", - " ***** Inside prepareVnfAndModulesCreate of CreateVcpeResCustService ***** ", isDebugEnabled) - - // String disableRollback = execution.getVariable("disableRollback") - // def backoutOnFailure = "" - // if(disableRollback != null){ - // if ( disableRollback == true) { - // backoutOnFailure = "false" - // } else if ( disableRollback == false) { - // backoutOnFailure = "true" - // } - // } - //failIfExists - optional - - String createVcpeServiceRequest = execution.getVariable("createVcpeServiceRequest") - String productFamilyId = jsonUtil.getJsonValue(createVcpeServiceRequest, - "requestDetails.requestInfo.productFamilyId") - execution.setVariable("productFamilyId", productFamilyId) - utils.log("DEBUG","productFamilyId: "+ productFamilyId, isDebugEnabled) - - List<VnfResource> vnfList = execution.getVariable("vnfList") - - Integer vnfsCreatedCount = execution.getVariable(Prefix+"VnfsCreatedCount") - String vnfModelInfoString = null; - - if (vnfList != null && vnfList.size() > 0 ) { - utils.log("DEBUG", "getting model info for vnf # " + vnfsCreatedCount, isDebugEnabled) - ModelInfo vnfModelInfo1 = vnfList[0].getModelInfo() - utils.log("DEBUG", "got 0 ", isDebugEnabled) - ModelInfo vnfModelInfo = vnfList[vnfsCreatedCount.intValue()].getModelInfo() - vnfModelInfoString = vnfModelInfo.toString() - } else { - //TODO: vnfList does not contain data. Need to investigate why ... . Fro VCPE use model stored - vnfModelInfoString = execution.getVariable("vnfModelInfo") - } - - utils.log("DEBUG", " vnfModelInfoString :" + vnfModelInfoString, isDebugEnabled) - - // extract cloud configuration - String lcpCloudRegionId = jsonUtil.getJsonValue(createVcpeServiceRequest, - "requestDetails.cloudConfiguration.lcpCloudRegionId") - execution.setVariable("lcpCloudRegionId", lcpCloudRegionId) - utils.log("DEBUG","lcpCloudRegionId: "+ lcpCloudRegionId, isDebugEnabled) - String tenantId = jsonUtil.getJsonValue(createVcpeServiceRequest, - "requestDetails.cloudConfiguration.tenantId") - execution.setVariable("tenantId", tenantId) - utils.log("DEBUG","tenantId: "+ tenantId, isDebugEnabled) - - String sdncVersion = execution.getVariable("sdncVersion") - utils.log("DEBUG","sdncVersion: "+ sdncVersion, isDebugEnabled) - - utils.log("DEBUG", - " ***** Completed prepareVnfAndModulesCreate of CreateVcpeResCustService ***** ", isDebugEnabled) - } catch (Exception ex) { - // try error in method block - String exceptionMessage = "Bpmn error encountered in CreateVcpeResCustService flow. " + - "Unexpected Error from method prepareVnfAndModulesCreate() - " + ex.getMessage() - exceptionUtil.buildAndThrowWorkflowException(execution, 7000, exceptionMessage) - } - } - - // ******************************* - // Validate Vnf request Section -> increment count - // ******************************* - public void validateVnfCreate (Execution execution) { - def isDebugEnabled=execution.getVariable(DebugFlag) - - try { - utils.log("DEBUG", " ***** Inside validateVnfCreate of CreateVcpeResCustService ***** ", isDebugEnabled) - - Integer vnfsCreatedCount = execution.getVariable(Prefix+"VnfsCreatedCount") - vnfsCreatedCount++ - - execution.setVariable(Prefix+"VnfsCreatedCount", vnfsCreatedCount) - - utils.log("DEBUG", - " ***** Completed validateVnfCreate of CreateVcpeResCustService ***** "+" vnf # "+vnfsCreatedCount, isDebugEnabled) - } catch (Exception ex) { - // try error in method block - String exceptionMessage = "Bpmn error encountered in CreateVcpeResCustService flow. " + - "Unexpected Error from method validateVnfCreate() - " + ex.getMessage() - exceptionUtil.buildAndThrowWorkflowException(execution, 7000, exceptionMessage) - } - } - - // ***************************************** - // Prepare Completion request Section - // ***************************************** - public void postProcessResponse (Execution execution) { - def isDebugEnabled=execution.getVariable(DebugFlag) - - utils.log("DEBUG", " ***** Inside postProcessResponse of CreateVcpeResCustService ***** ", isDebugEnabled) - - try { - String source = execution.getVariable("source") - String requestId = execution.getVariable("mso-request-id") - String serviceInstanceId = execution.getVariable("serviceInstanceId") - - String msoCompletionRequest = - """<aetgt:MsoCompletionRequest xmlns:aetgt="http://org.openecomp/mso/workflow/schema/v1" - xmlns:ns="http://org.openecomp/mso/request/types/v1"> - <request-info xmlns="http://org.openecomp/mso/infra/vnf-request/v1"> - <request-id>${requestId}</request-id> - <action>CREATE</action> - <source>${source}</source> - </request-info> - <status-message>Service Instance has been created successfully via macro orchestration</status-message> - <serviceInstanceId>${serviceInstanceId}</serviceInstanceId> - <mso-bpel-name>BPMN macro create</mso-bpel-name> - </aetgt:MsoCompletionRequest>""" - - // Format Response - String xmlMsoCompletionRequest = utils.formatXml(msoCompletionRequest) - - utils.logAudit(xmlMsoCompletionRequest) - execution.setVariable(Prefix+"Success", true) - execution.setVariable(Prefix+"CompleteMsoProcessRequest", xmlMsoCompletionRequest) - utils.log("DEBUG", " SUCCESS flow, going to CompleteMsoProcess - " + "\n" + xmlMsoCompletionRequest, isDebugEnabled) - } catch (BpmnError e) { - throw e; - } catch (Exception ex) { - // try error in method block - String exceptionMessage = "Bpmn error encountered in CreateVcpeResCustService flow. " + - "Unexpected Error from method postProcessResponse() - " + ex.getMessage() - exceptionUtil.buildAndThrowWorkflowException(execution, 7000, exceptionMessage) - } - } - - public void preProcessRollback (Execution execution) { - def isDebugEnabled=execution.getVariable(DebugFlag) - utils.log("DEBUG"," ***** preProcessRollback of CreateVcpeResCustService ***** ", isDebugEnabled) - try { - - Object workflowException = execution.getVariable("WorkflowException"); - - if (workflowException instanceof WorkflowException) { - utils.log("DEBUG", "Prev workflowException: " + workflowException.getErrorMessage(), isDebugEnabled) - execution.setVariable("prevWorkflowException", workflowException); - //execution.setVariable("WorkflowException", null); - } - } catch (BpmnError e) { - utils.log("DEBUG", "BPMN Error during preProcessRollback", isDebugEnabled) - } catch(Exception ex) { - String msg = "Exception in preProcessRollback. " + ex.getMessage() - utils.log("DEBUG", msg, isDebugEnabled) - } - utils.log("DEBUG"," *** Exit preProcessRollback of CreateVcpeResCustService *** ", isDebugEnabled) - } - - public void postProcessRollback (Execution execution) { - def isDebugEnabled=execution.getVariable(DebugFlag) - utils.log("DEBUG"," ***** postProcessRollback of CreateVcpeResCustService ***** ", isDebugEnabled) - String msg = "" - try { - Object workflowException = execution.getVariable("prevWorkflowException"); - if (workflowException instanceof WorkflowException) { - utils.log("DEBUG", "Setting prevException to WorkflowException: ", isDebugEnabled) - execution.setVariable("WorkflowException", workflowException); - } - } catch (BpmnError b) { - utils.log("DEBUG", "BPMN Error during postProcessRollback", isDebugEnabled) - throw b; - } catch(Exception ex) { - msg = "Exception in postProcessRollback. " + ex.getMessage() - utils.log("DEBUG", msg, isDebugEnabled) - } - utils.log("DEBUG"," *** Exit postProcessRollback of CreateVcpeResCustService *** ", isDebugEnabled) - } - - public void prepareFalloutRequest(Execution execution){ - def isDebugEnabled=execution.getVariable(DebugFlag) - - utils.log("DEBUG", " *** STARTED CreateVcpeResCustService prepareFalloutRequest Process *** ", isDebugEnabled) - - try { - WorkflowException wfex = execution.getVariable("WorkflowException") - utils.log("DEBUG", " Incoming Workflow Exception: " + wfex.toString(), isDebugEnabled) - String requestInfo = execution.getVariable(Prefix+"requestInfo") - utils.log("DEBUG", " Incoming Request Info: " + requestInfo, isDebugEnabled) - - //TODO. hmmm. there is no way to UPDATE error message. -// String errorMessage = wfex.getErrorMessage() -// boolean successIndicator = execution.getVariable("DCRESI_rolledBack") -// if (successIndicator){ -// errorMessage = errorMessage + ". Rollback successful." -// } else { -// errorMessage = errorMessage + ". Rollback not completed." -// } - - String falloutRequest = exceptionUtil.processMainflowsBPMNException(execution, requestInfo) - - execution.setVariable(Prefix+"falloutRequest", falloutRequest) - - } catch (Exception ex) { - utils.log("DEBUG", - "Error Occured in CreateVcpeResCustService prepareFalloutRequest Process " + ex.getMessage(), - isDebugEnabled) - exceptionUtil.buildAndThrowWorkflowException(execution, 2500, - "Internal Error - Occured in CreateVcpeResCustService prepareFalloutRequest Process") - } - utils.log("DEBUG", - "*** COMPLETED CreateVcpeResCustService prepareFalloutRequest Process ***", isDebugEnabled) - } - - - public void sendSyncError (Execution execution) { - def isDebugEnabled=execution.getVariable(DebugFlag) - execution.setVariable("prefix", Prefix) - - utils.log("DEBUG", " ***** Inside sendSyncError() of CreateVcpeResCustService ***** ", isDebugEnabled) - - try { - String errorMessage = "" - def wfe = execution.getVariable("WorkflowException") - if (wfe instanceof WorkflowException) { - errorMessage = wfe.getErrorMessage() - } else { - errorMessage = "Sending Sync Error." - } - - String buildworkflowException = - """<aetgt:WorkflowException xmlns:aetgt="http://org.openecomp/mso/workflow/schema/v1"> - <aetgt:ErrorMessage>${errorMessage}</aetgt:ErrorMessage> - <aetgt:ErrorCode>7000</aetgt:ErrorCode> - </aetgt:WorkflowException>""" - - utils.logAudit(buildworkflowException) - sendWorkflowResponse(execution, 500, buildworkflowException) - } catch (Exception ex) { - utils.log("DEBUG", " Sending Sync Error Activity Failed. " + "\n" + ex.getMessage(), isDebugEnabled) - } - } - - public void processJavaException(Execution execution){ - def isDebugEnabled=execution.getVariable(DebugFlag) - execution.setVariable("prefix",Prefix) - try{ - utils.log("DEBUG", "Caught a Java Exception", isDebugEnabled) - utils.log("DEBUG", "Started processJavaException Method", isDebugEnabled) - utils.log("DEBUG", "Variables List: " + execution.getVariables(), isDebugEnabled) - // Adding below line temporarily until this flows error handling gets updated - execution.setVariable(Prefix+"unexpectedError", "Caught a Java Lang Exception") - exceptionUtil.buildAndThrowWorkflowException(execution, 500, "Caught a Java Lang Exception") - }catch(BpmnError b){ - utils.log("ERROR", "Rethrowing MSOWorkflowException", isDebugEnabled) - throw b - }catch(Exception e){ - utils.log("DEBUG", "Caught Exception during processJavaException Method: " + e, isDebugEnabled) - // Adding below line temporarily until this flows error handling gets updated - execution.setVariable(Prefix+"unexpectedError", "Exception in processJavaException method") - exceptionUtil.buildAndThrowWorkflowException(execution, 500, "Exception in processJavaException method") - } - utils.log("DEBUG", "Completed processJavaException Method", isDebugEnabled) - } + Map<String, String> inputMap = [:] + + + if (userParams) { + userParams.each { + userParam -> + if("BRG_WAN_MAC_Address".equals(userParam?.name)) { + execution.setVariable("brgWanMacAddress", userParam.value) + inputMap.put("BRG_WAN_MAC_Address", userParam.value) + } + } + } + + utils.log("DEBUG", "User Input Parameters map: " + userParams.toString(), isDebugEnabled) + execution.setVariable("serviceInputParams", inputMap) + + utils.log("DEBUG", "Incoming brgWanMacAddress is: " + execution.getVariable('brgWanMacAddress'), isDebugEnabled) + + //For Completion Handler & Fallout Handler + String requestInfo = + """<request-info xmlns="http://org.openecomp/mso/infra/vnf-request/v1"> + <request-id>${requestId}</request-id> + <action>CREATE</action> + <source>${source}</source> + </request-info>""" + + execution.setVariable(Prefix+"requestInfo", requestInfo) + + utils.log("DEBUG", " ***** Completed preProcessRequest CreateVcpeResCustService Request ***** ", isDebugEnabled) + + } catch (BpmnError e) { + throw e; + + } catch (Exception ex){ + String exceptionMessage = "Bpmn error encountered in CreateVcpeResCustService flow. Unexpected from method preProcessRequest() - " + ex.getMessage() + exceptionUtil.buildAndThrowWorkflowException(execution, 7000, exceptionMessage) + } + } + + public void sendSyncResponse(DelegateExecution execution) { + def isDebugEnabled=execution.getVariable(DebugFlag) + + utils.log("DEBUG", " ***** Inside sendSyncResponse of CreateVcpeResCustService ***** ", isDebugEnabled) + + try { + String serviceInstanceId = execution.getVariable("serviceInstanceId") + String requestId = execution.getVariable("mso-request-id") + + // RESTResponse (for API Handler (APIH) Reply Task) + String syncResponse ="""{"requestReferences":{"instanceId":"${serviceInstanceId}","requestId":"${requestId}"}}""".trim() + + utils.log("DEBUG", " sendSynchResponse: xmlSyncResponse - " + "\n" + syncResponse, isDebugEnabled) + sendWorkflowResponse(execution, 202, syncResponse) + + } catch (Exception ex) { + String exceptionMessage = "Bpmn error encountered in CreateVcpeResCustService flow. Unexpected from method sendSyncResponse() - " + ex.getMessage() + exceptionUtil.buildAndThrowWorkflowException(execution, 7000, exceptionMessage) + } + } + + // ******************************* + // + // ******************************* + public void prepareDecomposeService(DelegateExecution execution) { + def isDebugEnabled=execution.getVariable(DebugFlag) + + try { + utils.log("DEBUG", " ***** Inside prepareDecomposeService of CreateVcpeResCustService ***** ", isDebugEnabled) + + String createVcpeServiceRequest = execution.getVariable("createVcpeServiceRequest") + + //serviceModelInfo JSON string will be used as-is for DoCreateServiceInstance BB + String serviceModelInfo = jsonUtil.getJsonValue(createVcpeServiceRequest, "requestDetails.modelInfo") + execution.setVariable("serviceModelInfo", serviceModelInfo) + + utils.log("DEBUG", " ***** Completed prepareDecomposeService of CreateVcpeResCustService ***** ", isDebugEnabled) + } catch (Exception ex) { + // try error in method block + String exceptionMessage = "Bpmn error encountered in CreateVcpeResCustService flow. Unexpected Error from method prepareDecomposeService() - " + ex.getMessage() + exceptionUtil.buildAndThrowWorkflowException(execution, 7000, exceptionMessage) + } + } + + // ******************************* + // + // ******************************* + public void prepareCreateServiceInstance(DelegateExecution execution) { + def isDebugEnabled=execution.getVariable(DebugFlag) + + try { + utils.log("DEBUG", " ***** Inside prepareCreateServiceInstance of CreateVcpeResCustService ***** ", isDebugEnabled) + + /* + * Service modelInfo is created in earlier step. This flow can use it as-is ... or, extract from DecompositionObject + * ServiceDecomposition serviceDecomposition = execution.getVariable("serviceDecomposition") + * ModelInfo modelInfo = serviceDecomposition.getModelInfo() + * + */ + String createVcpeServiceRequest = execution.getVariable("createVcpeServiceRequest") +// String serviceInputParams = jsonUtil.getJsonValue(createVcpeServiceRequest, "requestDetails.requestParameters") +// execution.setVariable("serviceInputParams", serviceInputParams) + + + String serviceInstanceName = jsonUtil.getJsonValue(createVcpeServiceRequest, "requestDetails.requestInfo.instanceName") + execution.setVariable("serviceInstanceName", serviceInstanceName) + + ServiceDecomposition serviceDecomposition = execution.getVariable("serviceDecomposition") + execution.setVariable("serviceDecompositionString", serviceDecomposition.toJsonStringNoRootName()) + + utils.log("DEBUG", " ***** Completed prepareCreateServiceInstance of CreateVcpeResCustService ***** ", isDebugEnabled) + } catch (Exception ex) { + // try error in method block + String exceptionMessage = "Bpmn error encountered in CreateVcpeResCustService flow. Unexpected Error from method prepareCreateServiceInstance() - " + ex.getMessage() + exceptionUtil.buildAndThrowWorkflowException(execution, 7000, exceptionMessage) + } + } + + public void postProcessServiceInstanceCreate (DelegateExecution execution){ + def method = getClass().getSimpleName() + '.postProcessServiceInstanceCreate(' +'execution=' + execution.getId() +')' + def isDebugLogEnabled = execution.getVariable(DebugFlag) + logDebug('Entered ' + method, isDebugLogEnabled) + + String requestId = execution.getVariable("mso-request-id") + String serviceInstanceId = execution.getVariable("serviceInstanceId") + String serviceInstanceName = execution.getVariable("serviceInstanceName") + + try { + + String payload = """ + <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:req="http://org.openecomp.mso/requestsdb"> + <soapenv:Header/> + <soapenv:Body> + <req:updateInfraRequest> + <requestId>${requestId}</requestId> + <lastModifiedBy>BPEL</lastModifiedBy> + <serviceInstanceId>${serviceInstanceId}</serviceInstanceId> + <serviceInstanceName>${serviceInstanceName}</serviceInstanceName> + </req:updateInfraRequest> + </soapenv:Body> + </soapenv:Envelope> + """ + execution.setVariable(Prefix+"setUpdateDbInstancePayload", payload) + utils.logAudit(Prefix+"setUpdateDbInstancePayload: " + payload) + logDebug('Exited ' + method, isDebugLogEnabled) + + } catch (BpmnError e) { + throw e; + } catch (Exception e) { + logError('Caught exception in ' + method, e) + exceptionUtil.buildAndThrowWorkflowException(execution, 2000, "Internal Error - Occured in" + method) + } + } + + + public void processDecomposition (DelegateExecution execution) { + def isDebugEnabled=execution.getVariable(DebugFlag) + + utils.log("DEBUG", " ***** Inside processDecomposition() of CreateVcpeResCustService ***** ", isDebugEnabled) + + try { + + ServiceDecomposition serviceDecomposition = execution.getVariable("serviceDecomposition") + + // VNFs + List<VnfResource> vnfList = serviceDecomposition.getServiceVnfs() + filterVnfs(vnfList) + serviceDecomposition.setServiceVnfs(vnfList) + + execution.setVariable("vnfList", vnfList) + execution.setVariable("vnfListString", vnfList.toString()) + + String vnfModelInfoString = "" + if (vnfList != null && vnfList.size() > 0) { + execution.setVariable(Prefix+"VNFsCount", vnfList.size()) + utils.log("DEBUG", "vnfs to create: "+ vnfList.size(), isDebugEnabled) + ModelInfo vnfModelInfo = vnfList[0].getModelInfo() + + vnfModelInfoString = vnfModelInfo.toString() + String vnfModelInfoWithRoot = vnfModelInfo.toString() + vnfModelInfoString = jsonUtil.getJsonValue(vnfModelInfoWithRoot, "modelInfo") + } else { + execution.setVariable(Prefix+"VNFsCount", 0) + utils.log("DEBUG", "no vnfs to create based upon serviceDecomposition content", isDebugEnabled) + } + + execution.setVariable("vnfModelInfo", vnfModelInfoString) + execution.setVariable("vnfModelInfoString", vnfModelInfoString) + utils.log("DEBUG", " vnfModelInfoString :" + vnfModelInfoString, isDebugEnabled) + + utils.log("DEBUG", " ***** Completed processDecomposition() of CreateVcpeResCustService ***** ", isDebugEnabled) + } catch (Exception ex) { + sendSyncError(execution) + String exceptionMessage = "Bpmn error encountered in CreateVcpeResCustService flow. processDecomposition() - " + ex.getMessage() + utils.log("DEBUG", exceptionMessage, isDebugEnabled) + exceptionUtil.buildAndThrowWorkflowException(execution, 7000, exceptionMessage) + } + } + + private void filterVnfs(List<VnfResource> vnfList) { + if(vnfList == null) { + return + } + + // remove BRG & TXC from VNF list + + Iterator<VnfResource> it = vnfList.iterator() + while(it.hasNext()) { + VnfResource vr = it.next() + + String role = vr.getNfRole() + if(role == "BRG" || role == "TunnelXConn") { + it.remove() + } + } + } + + + public void prepareCreateAllottedResourceTXC(DelegateExecution execution) { + def isDebugEnabled=execution.getVariable(DebugFlag) + + try { + utils.log("DEBUG", " ***** Inside prepareCreateAllottedResourceTXC of CreateVcpeResCustService ***** ", isDebugEnabled) + + /* + * Service modelInfo is created in earlier step. This flow can use it as-is ... or, extract from DecompositionObject + * ServiceDecomposition serviceDecomposition = execution.getVariable("serviceDecomposition") + * ModelInfo modelInfo = serviceDecomposition.getModelInfo() + * + */ + String createVcpeServiceRequest = execution.getVariable("createVcpeServiceRequest") + ServiceDecomposition serviceDecomposition = execution.getVariable("serviceDecomposition") + + //allottedResourceModelInfo + //allottedResourceRole + //The model Info parameters are a JSON structure as defined in the Service Instantiation API. + //It would be sufficient to only include the service model UUID (i.e. the modelVersionId), since this BB will query the full model from the Catalog DB. + List<AllottedResource> allottedResources = serviceDecomposition.getServiceAllottedResources() + if (allottedResources != null) { + Iterator iter = allottedResources.iterator(); + while (iter.hasNext()){ + AllottedResource allottedResource = (AllottedResource)iter.next(); + + utils.log("DEBUG", " getting model info for AllottedResource # :" + allottedResource.toJsonStringNoRootName(), isDebugEnabled) + utils.log("DEBUG", " allottedResource.getAllottedResourceType() :" + allottedResource.getAllottedResourceType(), isDebugEnabled) + if("TunnelXConn".equalsIgnoreCase(allottedResource.getAllottedResourceType())){ + //set create flag to true + execution.setVariable("createTXCAR", true) + ModelInfo allottedResourceModelInfo = allottedResource.getModelInfo() + execution.setVariable("allottedResourceModelInfoTXC", allottedResourceModelInfo.toJsonStringNoRootName()) + execution.setVariable("allottedResourceRoleTXC", allottedResource.getAllottedResourceRole()) + execution.setVariable("allottedResourceTypeTXC", allottedResource.getAllottedResourceType()) + //After decomposition and homing BBs, there should be an allotted resource object in the decomposition that represents the TXC, + //and in its homingSolution section should be found the infraServiceInstanceId (i.e. infraServiceInstanceId in TXC Allotted Resource structure) (which the Homing BB would have populated). + execution.setVariable("parentServiceInstanceIdTXC", allottedResource.getHomingSolution().getServiceInstanceId()) + } + } + } + + //unit test only + String allottedResourceId = execution.getVariable("allottedResourceId") + execution.setVariable("allottedResourceIdTXC", allottedResourceId) + utils.log("DEBUG", "setting allottedResourceId CreateVcpeResCustService "+allottedResourceId, isDebugEnabled) + + utils.log("DEBUG", " ***** Completed prepareCreateAllottedResourceTXC of CreateVcpeResCustService ***** ", isDebugEnabled) + } catch (Exception ex) { + // try error in method block + String exceptionMessage = "Bpmn error encountered in prepareCreateAllottedResourceTXC flow. Unexpected Error from method prepareCreateServiceInstance() - " + ex.getMessage() + exceptionUtil.buildAndThrowWorkflowException(execution, 7000, exceptionMessage) + } + } + public void prepareCreateAllottedResourceBRG(DelegateExecution execution) { + def isDebugEnabled=execution.getVariable(DebugFlag) + + try { + utils.log("DEBUG", " ***** Inside prepareCreateAllottedResourceBRG of CreateVcpeResCustService ***** ", isDebugEnabled) + + /* + * Service modelInfo is created in earlier step. This flow can use it as-is ... or, extract from DecompositionObject + * ServiceDecomposition serviceDecomposition = execution.getVariable("serviceDecomposition") + * ModelInfo modelInfo = serviceDecomposition.getModelInfo() + * + */ + String createVcpeServiceRequest = execution.getVariable("createVcpeServiceRequest") + ServiceDecomposition serviceDecomposition = execution.getVariable("serviceDecomposition") + + //allottedResourceModelInfo + //allottedResourceRole + //The model Info parameters are a JSON structure as defined in the Service Instantiation API. + //It would be sufficient to only include the service model UUID (i.e. the modelVersionId), since this BB will query the full model from the Catalog DB. + List<AllottedResource> allottedResources = serviceDecomposition.getServiceAllottedResources() + if (allottedResources != null) { + Iterator iter = allottedResources.iterator(); + while (iter.hasNext()){ + AllottedResource allottedResource = (AllottedResource)iter.next(); + + utils.log("DEBUG", " getting model info for AllottedResource # :" + allottedResource.toJsonStringNoRootName(), isDebugEnabled) + utils.log("DEBUG", " allottedResource.getAllottedResourceType() :" + allottedResource.getAllottedResourceType(), isDebugEnabled) + if("BRG".equalsIgnoreCase(allottedResource.getAllottedResourceType())){ + //set create flag to true + execution.setVariable("createBRGAR", true) + ModelInfo allottedResourceModelInfo = allottedResource.getModelInfo() + execution.setVariable("allottedResourceModelInfoBRG", allottedResourceModelInfo.toJsonStringNoRootName()) + execution.setVariable("allottedResourceRoleBRG", allottedResource.getAllottedResourceRole()) + execution.setVariable("allottedResourceTypeBRG", allottedResource.getAllottedResourceType()) + //After decomposition and homing BBs, there should be an allotted resource object in the decomposition that represents the BRG, + //and in its homingSolution section should be found the infraServiceInstanceId (i.e. infraServiceInstanceId in BRG Allotted Resource structure) (which the Homing BB would have populated). + execution.setVariable("parentServiceInstanceIdBRG", allottedResource.getHomingSolution().getServiceInstanceId()) + } + } + } + + //unit test only + String allottedResourceId = execution.getVariable("allottedResourceId") + execution.setVariable("allottedResourceIdBRG", allottedResourceId) + utils.log("DEBUG", "setting allottedResourceId CreateVcpeResCustService "+allottedResourceId, isDebugEnabled) + + utils.log("DEBUG", " ***** Completed prepareCreateAllottedResourceBRG of CreateVcpeResCustService ***** ", isDebugEnabled) + } catch (Exception ex) { + // try error in method block + String exceptionMessage = "Bpmn error encountered in prepareCreateAllottedResourceBRG flow. Unexpected Error from method prepareCreateServiceInstance() - " + ex.getMessage() + exceptionUtil.buildAndThrowWorkflowException(execution, 7000, exceptionMessage) + } + } + + + + // ******************************* + // Generate Network request Section + // ******************************* + public void prepareVnfAndModulesCreate (DelegateExecution execution) { + def isDebugEnabled=execution.getVariable(DebugFlag) + + try { + utils.log("DEBUG", " ***** Inside prepareVnfAndModulesCreate of CreateVcpeResCustService ***** ", isDebugEnabled) + + // String disableRollback = execution.getVariable("disableRollback") + // def backoutOnFailure = "" + // if(disableRollback != null){ + // if ( disableRollback == true) { + // backoutOnFailure = "false" + // } else if ( disableRollback == false) { + // backoutOnFailure = "true" + // } + // } + //failIfExists - optional + + String createVcpeServiceRequest = execution.getVariable("createVcpeServiceRequest") + String productFamilyId = jsonUtil.getJsonValue(createVcpeServiceRequest, "requestDetails.requestInfo.productFamilyId") + execution.setVariable("productFamilyId", productFamilyId) + utils.log("DEBUG","productFamilyId: "+ productFamilyId, isDebugEnabled) + + List<VnfResource> vnfList = execution.getVariable("vnfList") + + Integer vnfsCreatedCount = execution.getVariable(Prefix+"VnfsCreatedCount") + String vnfModelInfoString = null; + + if (vnfList != null && vnfList.size() > 0 ) { + utils.log("DEBUG", "getting model info for vnf # " + vnfsCreatedCount, isDebugEnabled) + ModelInfo vnfModelInfo1 = vnfList[0].getModelInfo() + utils.log("DEBUG", "got 0 ", isDebugEnabled) + ModelInfo vnfModelInfo = vnfList[vnfsCreatedCount.intValue()].getModelInfo() + vnfModelInfoString = vnfModelInfo.toString() + } else { + //TODO: vnfList does not contain data. Need to investigate why ... . Fro VCPE use model stored + vnfModelInfoString = execution.getVariable("vnfModelInfo") + } + + utils.log("DEBUG", " vnfModelInfoString :" + vnfModelInfoString, isDebugEnabled) + + // extract cloud configuration + String lcpCloudRegionId = jsonUtil.getJsonValue(createVcpeServiceRequest, "requestDetails.cloudConfiguration.lcpCloudRegionId") + execution.setVariable("lcpCloudRegionId", lcpCloudRegionId) + utils.log("DEBUG","lcpCloudRegionId: "+ lcpCloudRegionId, isDebugEnabled) + String tenantId = jsonUtil.getJsonValue(createVcpeServiceRequest, "requestDetails.cloudConfiguration.tenantId") + execution.setVariable("tenantId", tenantId) + utils.log("DEBUG","tenantId: "+ tenantId, isDebugEnabled) + + String sdncVersion = execution.getVariable("sdncVersion") + utils.log("DEBUG","sdncVersion: "+ sdncVersion, isDebugEnabled) + + utils.log("DEBUG", " ***** Completed prepareVnfAndModulesCreate of CreateVcpeResCustService ***** ", isDebugEnabled) + } catch (Exception ex) { + // try error in method block + String exceptionMessage = "Bpmn error encountered in CreateVcpeResCustService flow. Unexpected Error from method prepareVnfAndModulesCreate() - " + ex.getMessage() + exceptionUtil.buildAndThrowWorkflowException(execution, 7000, exceptionMessage) + } + } + + // ******************************* + // Validate Vnf request Section -> increment count + // ******************************* + public void validateVnfCreate (DelegateExecution execution) { + def isDebugEnabled=execution.getVariable(DebugFlag) + + try { + utils.log("DEBUG", " ***** Inside validateVnfCreate of CreateVcpeResCustService ***** ", isDebugEnabled) + + Integer vnfsCreatedCount = execution.getVariable(Prefix+"VnfsCreatedCount") + vnfsCreatedCount++ + + execution.setVariable(Prefix+"VnfsCreatedCount", vnfsCreatedCount) + + utils.log("DEBUG", " ***** Completed validateVnfCreate of CreateVcpeResCustService ***** "+" vnf # "+vnfsCreatedCount, isDebugEnabled) + } catch (Exception ex) { + // try error in method block + String exceptionMessage = "Bpmn error encountered in CreateVcpeResCustService flow. Unexpected Error from method validateVnfCreate() - " + ex.getMessage() + exceptionUtil.buildAndThrowWorkflowException(execution, 7000, exceptionMessage) + } + } + + // ***************************************** + // Prepare Completion request Section + // ***************************************** + public void postProcessResponse (DelegateExecution execution) { + def isDebugEnabled=execution.getVariable(DebugFlag) + + utils.log("DEBUG", " ***** Inside postProcessResponse of CreateVcpeResCustService ***** ", isDebugEnabled) + + try { + String source = execution.getVariable("source") + String requestId = execution.getVariable("mso-request-id") + String serviceInstanceId = execution.getVariable("serviceInstanceId") + + String msoCompletionRequest = + """<aetgt:MsoCompletionRequest xmlns:aetgt="http://org.openecomp/mso/workflow/schema/v1" + xmlns:ns="http://org.openecomp/mso/request/types/v1"> + <request-info xmlns="http://org.openecomp/mso/infra/vnf-request/v1"> + <request-id>${requestId}</request-id> + <action>CREATE</action> + <source>${source}</source> + </request-info> + <status-message>Service Instance has been created successfully via macro orchestration</status-message> + <serviceInstanceId>${serviceInstanceId}</serviceInstanceId> + <mso-bpel-name>BPMN macro create</mso-bpel-name> + </aetgt:MsoCompletionRequest>""" + + // Format Response + String xmlMsoCompletionRequest = utils.formatXml(msoCompletionRequest) + + utils.logAudit(xmlMsoCompletionRequest) + execution.setVariable(Prefix+"Success", true) + execution.setVariable(Prefix+"CompleteMsoProcessRequest", xmlMsoCompletionRequest) + utils.log("DEBUG", " SUCCESS flow, going to CompleteMsoProcess - " + "\n" + xmlMsoCompletionRequest, isDebugEnabled) + } catch (BpmnError e) { + throw e; + } catch (Exception ex) { + // try error in method block + String exceptionMessage = "Bpmn error encountered in CreateVcpeResCustService flow. Unexpected Error from method postProcessResponse() - " + ex.getMessage() + exceptionUtil.buildAndThrowWorkflowException(execution, 7000, exceptionMessage) + } + } + + public void preProcessRollback (DelegateExecution execution) { + def isDebugEnabled=execution.getVariable(DebugFlag) + utils.log("DEBUG"," ***** preProcessRollback of CreateVcpeResCustService ***** ", isDebugEnabled) + try { + + Object workflowException = execution.getVariable("WorkflowException"); + + if (workflowException instanceof WorkflowException) { + utils.log("DEBUG", "Prev workflowException: " + workflowException.getErrorMessage(), isDebugEnabled) + execution.setVariable("prevWorkflowException", workflowException); + //execution.setVariable("WorkflowException", null); + } + } catch (BpmnError e) { + utils.log("DEBUG", "BPMN Error during preProcessRollback", isDebugEnabled) + } catch(Exception ex) { + String msg = "Exception in preProcessRollback. " + ex.getMessage() + utils.log("DEBUG", msg, isDebugEnabled) + } + utils.log("DEBUG"," *** Exit preProcessRollback of CreateVcpeResCustService *** ", isDebugEnabled) + } + + public void postProcessRollback (DelegateExecution execution) { + def isDebugEnabled=execution.getVariable(DebugFlag) + utils.log("DEBUG"," ***** postProcessRollback of CreateVcpeResCustService ***** ", isDebugEnabled) + String msg = "" + try { + Object workflowException = execution.getVariable("prevWorkflowException"); + if (workflowException instanceof WorkflowException) { + utils.log("DEBUG", "Setting prevException to WorkflowException: ", isDebugEnabled) + execution.setVariable("WorkflowException", workflowException); + } + } catch (BpmnError b) { + utils.log("DEBUG", "BPMN Error during postProcessRollback", isDebugEnabled) + throw b; + } catch(Exception ex) { + msg = "Exception in postProcessRollback. " + ex.getMessage() + utils.log("DEBUG", msg, isDebugEnabled) + } + utils.log("DEBUG"," *** Exit postProcessRollback of CreateVcpeResCustService *** ", isDebugEnabled) + } + + public void prepareFalloutRequest(DelegateExecution execution){ + def isDebugEnabled=execution.getVariable(DebugFlag) + + utils.log("DEBUG", " *** STARTED CreateVcpeResCustService prepareFalloutRequest Process *** ", isDebugEnabled) + + try { + WorkflowException wfex = execution.getVariable("WorkflowException") + utils.log("DEBUG", " Incoming Workflow Exception: " + wfex.toString(), isDebugEnabled) + String requestInfo = execution.getVariable(Prefix+"requestInfo") + utils.log("DEBUG", " Incoming Request Info: " + requestInfo, isDebugEnabled) + + //TODO. hmmm. there is no way to UPDATE error message. +// String errorMessage = wfex.getErrorMessage() +// boolean successIndicator = execution.getVariable("DCRESI_rolledBack") +// if (successIndicator){ +// errorMessage = errorMessage + ". Rollback successful." +// } else { +// errorMessage = errorMessage + ". Rollback not completed." +// } + + String falloutRequest = exceptionUtil.processMainflowsBPMNException(execution, requestInfo) + + execution.setVariable(Prefix+"falloutRequest", falloutRequest) + + } catch (Exception ex) { + utils.log("DEBUG", "Error Occured in CreateVcpeResCustService prepareFalloutRequest Process " + ex.getMessage(), isDebugEnabled) + exceptionUtil.buildAndThrowWorkflowException(execution, 2500, "Internal Error - Occured in CreateVcpeResCustService prepareFalloutRequest Process") + } + utils.log("DEBUG", "*** COMPLETED CreateVcpeResCustService prepareFalloutRequest Process ***", isDebugEnabled) + } + + + public void sendSyncError (DelegateExecution execution) { + def isDebugEnabled=execution.getVariable(DebugFlag) + execution.setVariable("prefix", Prefix) + + utils.log("DEBUG", " ***** Inside sendSyncError() of CreateVcpeResCustService ***** ", isDebugEnabled) + + try { + String errorMessage = "" + def wfe = execution.getVariable("WorkflowException") + if (wfe instanceof WorkflowException) { + errorMessage = wfe.getErrorMessage() + } else { + errorMessage = "Sending Sync Error." + } + + String buildworkflowException = + """<aetgt:WorkflowException xmlns:aetgt="http://org.openecomp/mso/workflow/schema/v1"> + <aetgt:ErrorMessage>${errorMessage}</aetgt:ErrorMessage> + <aetgt:ErrorCode>7000</aetgt:ErrorCode> + </aetgt:WorkflowException>""" + + utils.logAudit(buildworkflowException) + sendWorkflowResponse(execution, 500, buildworkflowException) + } catch (Exception ex) { + utils.log("DEBUG", " Sending Sync Error Activity Failed. " + "\n" + ex.getMessage(), isDebugEnabled) + } + } + + public void processJavaException(DelegateExecution execution){ + def isDebugEnabled=execution.getVariable(DebugFlag) + execution.setVariable("prefix",Prefix) + try{ + utils.log("DEBUG", "Caught a Java Exception", isDebugEnabled) + utils.log("DEBUG", "Started processJavaException Method", isDebugEnabled) + utils.log("DEBUG", "Variables List: " + execution.getVariables(), isDebugEnabled) + execution.setVariable(Prefix+"unexpectedError", "Caught a Java Lang Exception") // Adding this line temporarily until this flows error handling gets updated + exceptionUtil.buildAndThrowWorkflowException(execution, 500, "Caught a Java Lang Exception") + }catch(BpmnError b){ + utils.log("ERROR", "Rethrowing MSOWorkflowException", isDebugEnabled) + throw b + }catch(Exception e){ + utils.log("DEBUG", "Caught Exception during processJavaException Method: " + e, isDebugEnabled) + execution.setVariable(Prefix+"unexpectedError", "Exception in processJavaException method") // Adding this line temporarily until this flows error handling gets updated + exceptionUtil.buildAndThrowWorkflowException(execution, 500, "Exception in processJavaException method") + } + utils.log("DEBUG", "Completed processJavaException Method", isDebugEnabled) + } } diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DeleteVcpeResCustService.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DeleteVcpeResCustService.groovy index 16fb22a6d3..aa16d3b280 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DeleteVcpeResCustService.groovy +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DeleteVcpeResCustService.groovy @@ -35,7 +35,7 @@ import org.openecomp.mso.bpmn.common.scripts.AaiUtil import java.util.UUID;
import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.runtime.Execution
+import org.camunda.bpm.engine.delegate.DelegateExecution
import org.json.JSONObject;
import org.json.JSONArray;
import org.apache.commons.lang3.*
@@ -64,7 +64,7 @@ public class DeleteVcpeResCustService extends AbstractServiceTaskProcessor { * This method is executed during the preProcessRequest task of the <class>DeleteVcpeResCustService.bpmn</class> process.
* @param execution
*/
- public InitializeProcessVariables(Execution execution){
+ public InitializeProcessVariables(DelegateExecution execution){
/* Initialize all the process variables in this block */
execution.setVariable("DeleteVcpeResCustServiceRequest", "")
@@ -80,7 +80,7 @@ public class DeleteVcpeResCustService extends AbstractServiceTaskProcessor { * This method is executed during the preProcessRequest task of the <class>CreateServiceInstance.bpmn</class> process.
* @param execution
*/
- public void preProcessRequest (Execution execution) {
+ public void preProcessRequest (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable(DebugFlag)
execution.setVariable("prefix",Prefix)
@@ -174,7 +174,7 @@ public class DeleteVcpeResCustService extends AbstractServiceTaskProcessor { }
}
- public void sendSyncResponse(Execution execution) {
+ public void sendSyncResponse(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable(DebugFlag)
utils.log("DEBUG", " ***** Inside sendSyncResponse of DeleteVcpeResCustService ***** ", isDebugEnabled)
@@ -189,12 +189,12 @@ public class DeleteVcpeResCustService extends AbstractServiceTaskProcessor { utils.log("DEBUG", " sendSynchResponse: xmlSyncResponse - " + "\n" + syncResponse, isDebugEnabled)
sendWorkflowResponse(execution, 202, syncResponse)
} catch (Exception ex) {
- String exceptionMessage = "Bpmn error encountered in DeleteVcpeResCustService flow. Unexpected from method preProcessRequest() - " + ex.getMessage() + String exceptionMessage = "Bpmn error encountered in DeleteVcpeResCustService flow. Unexpected from method preProcessRequest() - " + ex.getMessage()
exceptionUtil.buildAndThrowWorkflowException(execution, 7000, exceptionMessage)
}
}
- public void prepareServiceDelete(Execution execution) {
+ public void prepareServiceDelete(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable(DebugFlag)
utils.log("DEBUG", " ***** Inside prepareServiceDelete() of DeleteVcpeResCustService ***** ", isDebugEnabled)
@@ -281,7 +281,7 @@ public class DeleteVcpeResCustService extends AbstractServiceTaskProcessor { }
}
- private getAaiAr(Execution execution, String relink) {
+ private getAaiAr(DelegateExecution execution, String relink) {
def isDebugEnabled = execution.getVariable(DebugFlag)
AaiUtil aaiUtil = new AaiUtil(this)
String aaiEndpoint = execution.getVariable("URN_aai_endpoint") + relink
@@ -309,7 +309,7 @@ public class DeleteVcpeResCustService extends AbstractServiceTaskProcessor { // *******************************
//
// *******************************
- public void prepareVnfAndModulesDelete (Execution execution) {
+ public void prepareVnfAndModulesDelete (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable(DebugFlag)
utils.log("DEBUG", " ***** Inside prepareVnfAndModulesDelete of DeleteVcpeResCustService ***** ", isDebugEnabled)
@@ -336,7 +336,7 @@ public class DeleteVcpeResCustService extends AbstractServiceTaskProcessor { // *******************************
// Validate Vnf request Section -> increment count
// *******************************
- public void validateVnfDelete (Execution execution) {
+ public void validateVnfDelete (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable(DebugFlag)
utils.log("DEBUG", " ***** Inside validateVnfDelete of DeleteVcpeResCustService ***** ", isDebugEnabled)
@@ -358,7 +358,7 @@ public class DeleteVcpeResCustService extends AbstractServiceTaskProcessor { // *****************************************
// Prepare Completion request Section
// *****************************************
- public void postProcessResponse (Execution execution) {
+ public void postProcessResponse (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable(DebugFlag)
utils.log("DEBUG", " ***** Inside postProcessResponse of DeleteVcpeResCustService ***** ", isDebugEnabled)
@@ -395,7 +395,7 @@ public class DeleteVcpeResCustService extends AbstractServiceTaskProcessor { }
}
- public void prepareFalloutRequest(Execution execution){
+ public void prepareFalloutRequest(DelegateExecution execution){
def isDebugEnabled=execution.getVariable(DebugFlag)
utils.log("DEBUG", " *** STARTED DeleteVcpeResCustService prepareFalloutRequest Process *** ", isDebugEnabled)
@@ -416,7 +416,7 @@ public class DeleteVcpeResCustService extends AbstractServiceTaskProcessor { }
- public void sendSyncError (Execution execution) {
+ public void sendSyncError (DelegateExecution execution) {
def isDebugEnabled=execution.getVariable(DebugFlag)
utils.log("DEBUG", " ***** Inside sendSyncError() of DeleteVcpeResCustService ***** ", isDebugEnabled)
@@ -442,7 +442,7 @@ public class DeleteVcpeResCustService extends AbstractServiceTaskProcessor { }
}
- public void processJavaException(Execution execution){
+ public void processJavaException(DelegateExecution execution){
def isDebugEnabled=execution.getVariable(DebugFlag)
execution.setVariable("prefix",Prefix)
try{
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DoCreateAllottedResourceBRG.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DoCreateAllottedResourceBRG.groovy index 997757aa2c..7d7c862a0b 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DoCreateAllottedResourceBRG.groovy +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DoCreateAllottedResourceBRG.groovy @@ -28,7 +28,7 @@ import org.openecomp.mso.rest.APIResponse import java.util.UUID; import org.camunda.bpm.engine.delegate.BpmnError -import org.camunda.bpm.engine.runtime.Execution +import org.camunda.bpm.engine.delegate.DelegateExecution import org.apache.commons.lang3.* import org.springframework.web.util.UriUtils; import static org.apache.commons.lang3.StringUtils.* @@ -72,7 +72,7 @@ public class DoCreateAllottedResourceBRG extends AbstractServiceTaskProcessor{ ExceptionUtil exceptionUtil = new ExceptionUtil() JsonUtils jsonUtil = new JsonUtils() - public void preProcessRequest (Execution execution) { + public void preProcessRequest (DelegateExecution execution) { def isDebugEnabled = execution.getVariable(DebugFlag) String msg = "" @@ -152,7 +152,7 @@ public class DoCreateAllottedResourceBRG extends AbstractServiceTaskProcessor{ utils.log("DEBUG"," ***** Exit preProcessRequest *****", isDebugEnabled) } - public void getAaiAR (Execution execution) { + public void getAaiAR (DelegateExecution execution) { def isDebugEnabled = execution.getVariable(DebugFlag) utils.log("DEBUG"," ***** getAaiAR ***** ", isDebugEnabled) @@ -190,7 +190,7 @@ public class DoCreateAllottedResourceBRG extends AbstractServiceTaskProcessor{ utils.log("DEBUG"," *****Exit getAaiAR *****", isDebugEnabled) } - public void createAaiAR(Execution execution) { + public void createAaiAR(DelegateExecution execution) { def isDebugEnabled=execution.getVariable(DebugFlag) utils.log("DEBUG"," ***** createAaiAR ***** ", isDebugEnabled) @@ -312,7 +312,7 @@ public class DoCreateAllottedResourceBRG extends AbstractServiceTaskProcessor{ utils.log("DEBUG"," *** Exit createAaiAR*** ", isDebugEnabled) } - public String buildSDNCRequest(Execution execution, String action, String sdncRequestId) { + public String buildSDNCRequest(DelegateExecution execution, String action, String sdncRequestId) { def isDebugEnabled = execution.getVariable(DebugFlag) String msg = "" @@ -379,7 +379,7 @@ public class DoCreateAllottedResourceBRG extends AbstractServiceTaskProcessor{ <service-information> <service-id></service-id> <subscription-service-type>${subscriptionServiceType}</subscription-service-type> - <onap-model-information></onap-model-information> + <ecomp-model-information></ecomp-model-information> <service-instance-id>${serviceInstanceId}</service-instance-id> <subscriber-name/> <global-customer-id>${globalCustomerId}</global-customer-id> @@ -388,13 +388,13 @@ public class DoCreateAllottedResourceBRG extends AbstractServiceTaskProcessor{ <allotted-resource-id>${allottedResourceId}</allotted-resource-id> <allotted-resource-type>brg</allotted-resource-type> <parent-service-instance-id>${parentServiceInstanceId}</parent-service-instance-id> - <onap-model-information> + <ecomp-model-information> <model-invariant-uuid>${modelInvariantId}</model-invariant-uuid> <model-uuid>${modelUUId}</model-uuid> <model-customization-uuid>${modelCustomizationId}</model-customization-uuid> <model-version>${modelVersion}</model-version> <model-name>${modelName}</model-name> - </onap-model-information> + </ecomp-model-information> </allotted-resource-information> <brg-request-input> <brg-wan-mac-address>${brgWanMacAddress}</brg-wan-mac-address> @@ -416,7 +416,7 @@ public class DoCreateAllottedResourceBRG extends AbstractServiceTaskProcessor{ return sdncReq } - public void preProcessSDNCAssign(Execution execution) { + public void preProcessSDNCAssign(DelegateExecution execution) { def isDebugEnabled = execution.getVariable(DebugFlag) String msg = "" @@ -446,7 +446,7 @@ public class DoCreateAllottedResourceBRG extends AbstractServiceTaskProcessor{ utils.log("DEBUG"," *****Exit preProcessSDNCAssign *****", isDebugEnabled) } - public void preProcessSDNCCreate(Execution execution) { + public void preProcessSDNCCreate(DelegateExecution execution) { def isDebugEnabled = execution.getVariable(DebugFlag) String msg = "" @@ -476,7 +476,7 @@ public class DoCreateAllottedResourceBRG extends AbstractServiceTaskProcessor{ utils.log("DEBUG"," *****Exit preProcessSDNCCreate *****", isDebugEnabled) } - public void preProcessSDNCActivate(Execution execution) { + public void preProcessSDNCActivate(DelegateExecution execution) { def isDebugEnabled = execution.getVariable(DebugFlag) String msg = "" @@ -506,7 +506,7 @@ public class DoCreateAllottedResourceBRG extends AbstractServiceTaskProcessor{ utils.log("DEBUG"," *****Exit preProcessSDNCActivate *****", isDebugEnabled) } - public void validateSDNCResp(Execution execution, String response, String method){ + public void validateSDNCResp(DelegateExecution execution, String response, String method){ def isDebugLogEnabled=execution.getVariable(DebugFlag) utils.log("DEBUG", " *** ValidateSDNCResponse Process*** ", isDebugLogEnabled) @@ -546,7 +546,7 @@ public class DoCreateAllottedResourceBRG extends AbstractServiceTaskProcessor{ logDebug(" *** Exit ValidateSDNCResp Process*** ", isDebugLogEnabled) } - public void preProcessSDNCGet(Execution execution){ + public void preProcessSDNCGet(DelegateExecution execution){ def isDebugLogEnabled = execution.getVariable(DebugFlag) utils.log("DEBUG", "*** preProcessSDNCGet *** ", isDebugLogEnabled) try{ @@ -575,7 +575,7 @@ public class DoCreateAllottedResourceBRG extends AbstractServiceTaskProcessor{ String serviceInstanceId = execution.getVariable("serviceInstanceId") String sdncRequestId = UUID.randomUUID().toString() - + //neeed the same url as used by vfmodules String SDNCGetRequest = """<sdncadapterworkflow:SDNCAdapterWorkflowRequest xmlns:ns5="http://org.openecomp/mso/request/types/v1" @@ -601,7 +601,7 @@ public class DoCreateAllottedResourceBRG extends AbstractServiceTaskProcessor{ utils.log("DEBUG", "*** Exit preProcessSDNCGet *** ", isDebugLogEnabled) } - public void updateAaiAROrchStatus(Execution execution, String status){ + public void updateAaiAROrchStatus(DelegateExecution execution, String status){ def isDebugEnabled = execution.getVariable(DebugFlag) utils.log("DEBUG", " *** updateAaiAROrchStatus *** ", isDebugEnabled) String aaiARPath = execution.getVariable("aaiARPath") //set during query (existing AR) or create @@ -610,7 +610,7 @@ public class DoCreateAllottedResourceBRG extends AbstractServiceTaskProcessor{ utils.log("DEBUG", " *** Exit updateAaiAROrchStatus *** ", isDebugEnabled) } - public void generateOutputs(Execution execution) + public void generateOutputs(DelegateExecution execution) { def isDebugEnabled=execution.getVariable(DebugFlag) utils.log("DEBUG"," ***** generateOutputs ***** ", isDebugEnabled) @@ -633,7 +633,7 @@ public class DoCreateAllottedResourceBRG extends AbstractServiceTaskProcessor{ } - public void preProcessRollback (Execution execution) { + public void preProcessRollback (DelegateExecution execution) { def isDebugEnabled=execution.getVariable(DebugFlag) utils.log("DEBUG"," ***** preProcessRollback ***** ", isDebugEnabled) try { @@ -654,7 +654,7 @@ public class DoCreateAllottedResourceBRG extends AbstractServiceTaskProcessor{ utils.log("DEBUG"," *** Exit preProcessRollback *** ", isDebugEnabled) } - public void postProcessRollback (Execution execution) { + public void postProcessRollback (DelegateExecution execution) { def isDebugEnabled=execution.getVariable(DebugFlag) utils.log("DEBUG"," ***** postProcessRollback ***** ", isDebugEnabled) String msg = "" diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DoCreateAllottedResourceBRGRollback.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DoCreateAllottedResourceBRGRollback.groovy index cac2ad871a..4d27b82287 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DoCreateAllottedResourceBRGRollback.groovy +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DoCreateAllottedResourceBRGRollback.groovy @@ -30,7 +30,7 @@ import org.openecomp.mso.rest.APIResponse import java.util.UUID; import org.camunda.bpm.engine.delegate.BpmnError -import org.camunda.bpm.engine.runtime.Execution +import org.camunda.bpm.engine.delegate.DelegateExecution import org.apache.commons.lang3.* import org.springframework.web.util.UriUtils; import static org.apache.commons.lang3.StringUtils.* @@ -58,7 +58,7 @@ public class DoCreateAllottedResourceBRGRollback extends AbstractServiceTaskProc String Prefix="DCARBRGRB_" ExceptionUtil exceptionUtil = new ExceptionUtil() - public void preProcessRequest (Execution execution) { + public void preProcessRequest (DelegateExecution execution) { def isDebugEnabled = execution.getVariable(DebugFlag) String msg = "" @@ -131,7 +131,7 @@ public class DoCreateAllottedResourceBRGRollback extends AbstractServiceTaskProc } // aaiARPath set during query (existing AR) - public void updateAaiAROrchStatus(Execution execution, String status){ + public void updateAaiAROrchStatus(DelegateExecution execution, String status){ def isDebugEnabled = execution.getVariable(DebugFlag) String msg = null; utils.log("DEBUG", " *** updateAaiAROrchStatus ***", isDebugEnabled) @@ -153,7 +153,7 @@ public class DoCreateAllottedResourceBRGRollback extends AbstractServiceTaskProc utils.log("DEBUG", " *** Exit updateAaiAROrchStatus *** ", isDebugEnabled) } - public void validateSDNCResp(Execution execution, String response, String method){ + public void validateSDNCResp(DelegateExecution execution, String response, String method){ def isDebugLogEnabled=execution.getVariable(DebugFlag) utils.log("DEBUG", " *** ValidateSDNCResponse Process*** ", isDebugLogEnabled) @@ -194,7 +194,7 @@ public class DoCreateAllottedResourceBRGRollback extends AbstractServiceTaskProc logDebug(" *** Exit ValidateSDNCResp Process*** ", isDebugLogEnabled) } - public void deleteAaiAR(Execution execution){ + public void deleteAaiAR(DelegateExecution execution){ def isDebugLogEnabled = execution.getVariable(DebugFlag) try{ utils.log("DEBUG", " *** deleteAaiAR *** ", isDebugLogEnabled) @@ -215,7 +215,7 @@ public class DoCreateAllottedResourceBRGRollback extends AbstractServiceTaskProc utils.log("DEBUG", " *** Exit deleteAaiAR *** ", isDebugLogEnabled) } - public void postProcessRequest(Execution execution) { + public void postProcessRequest(DelegateExecution execution) { def isDebugEnabled=execution.getVariable(DebugFlag) utils.log("DEBUG"," ***** postProcessRequest ***** ", isDebugEnabled) String msg = "" @@ -239,7 +239,7 @@ public class DoCreateAllottedResourceBRGRollback extends AbstractServiceTaskProc } - public void processRollbackException(Execution execution){ + public void processRollbackException(DelegateExecution execution){ def isDebugEnabled=execution.getVariable(DebugFlag) utils.log("DEBUG"," ***** processRollbackException ***** ", isDebugEnabled) try{ @@ -258,7 +258,7 @@ public class DoCreateAllottedResourceBRGRollback extends AbstractServiceTaskProc utils.log("DEBUG", " Exit processRollbackException", isDebugEnabled) } - public void processRollbackJavaException(Execution execution){ + public void processRollbackJavaException(DelegateExecution execution){ def isDebugEnabled=execution.getVariable(DebugFlag) utils.log("DEBUG"," ***** processRollbackJavaException ***** ", isDebugEnabled) try{ diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DoCreateAllottedResourceTXC.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DoCreateAllottedResourceTXC.groovy index 602df6bc1f..2240c605af 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DoCreateAllottedResourceTXC.groovy +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DoCreateAllottedResourceTXC.groovy @@ -28,7 +28,7 @@ import org.openecomp.mso.rest.APIResponse import java.util.UUID; import org.camunda.bpm.engine.delegate.BpmnError -import org.camunda.bpm.engine.runtime.Execution +import org.camunda.bpm.engine.delegate.DelegateExecution import org.apache.commons.lang3.* import org.springframework.web.util.UriUtils; import static org.apache.commons.lang3.StringUtils.* @@ -73,7 +73,7 @@ public class DoCreateAllottedResourceTXC extends AbstractServiceTaskProcessor{ ExceptionUtil exceptionUtil = new ExceptionUtil() JsonUtils jsonUtil = new JsonUtils() - public void preProcessRequest (Execution execution) { + public void preProcessRequest (DelegateExecution execution) { def isDebugEnabled = execution.getVariable(DebugFlag) String msg = "" @@ -146,7 +146,7 @@ public class DoCreateAllottedResourceTXC extends AbstractServiceTaskProcessor{ utils.log("DEBUG"," ***** Exit preProcessRequest *****", isDebugEnabled) } - public void getAaiAR (Execution execution) { + public void getAaiAR (DelegateExecution execution) { def isDebugEnabled = execution.getVariable(DebugFlag) utils.log("DEBUG"," ***** getAaiAR ***** ", isDebugEnabled) @@ -184,7 +184,7 @@ public class DoCreateAllottedResourceTXC extends AbstractServiceTaskProcessor{ utils.log("DEBUG"," *****Exit getAaiAR *****", isDebugEnabled) } - public void createAaiAR(Execution execution) { + public void createAaiAR(DelegateExecution execution) { def isDebugEnabled=execution.getVariable(DebugFlag) utils.log("DEBUG"," ***** createAaiAR ***** ", isDebugEnabled) @@ -307,7 +307,7 @@ public class DoCreateAllottedResourceTXC extends AbstractServiceTaskProcessor{ utils.log("DEBUG"," *** Exit createAaiAR*** ", isDebugEnabled) } - public String buildSDNCRequest(Execution execution, String action, String sdncRequestId) { + public String buildSDNCRequest(DelegateExecution execution, String action, String sdncRequestId) { def isDebugEnabled = execution.getVariable(DebugFlag) String msg = "" @@ -373,7 +373,7 @@ public class DoCreateAllottedResourceTXC extends AbstractServiceTaskProcessor{ <service-information> <service-id></service-id> <subscription-service-type>${subscriptionServiceType}</subscription-service-type> - <onap-model-information></onap-model-information> + <ecomp-model-information></ecomp-model-information> <service-instance-id>${serviceInstanceId}</service-instance-id> <subscriber-name/> <global-customer-id>${globalCustomerId}</global-customer-id> @@ -382,13 +382,13 @@ public class DoCreateAllottedResourceTXC extends AbstractServiceTaskProcessor{ <allotted-resource-id>${allottedResourceId}</allotted-resource-id> <allotted-resource-type>tunnelxconn</allotted-resource-type> <parent-service-instance-id>${parentServiceInstanceId}</parent-service-instance-id> - <onap-model-information> + <ecomp-model-information> <model-invariant-uuid>${modelInvariantId}</model-invariant-uuid> <model-uuid>${modelUUId}</model-uuid> <model-customization-uuid>${modelCustomizationId}</model-customization-uuid> <model-version>${modelVersion}</model-version> <model-name>${modelName}</model-name> - </onap-model-information> + </ecomp-model-information> </allotted-resource-information> <tunnelxconn-request-input> <brg-wan-mac-address>${brgWanMacAddress}</brg-wan-mac-address> @@ -408,7 +408,7 @@ public class DoCreateAllottedResourceTXC extends AbstractServiceTaskProcessor{ return sdncReq } - public void preProcessSDNCAssign(Execution execution) { + public void preProcessSDNCAssign(DelegateExecution execution) { def isDebugEnabled = execution.getVariable(DebugFlag) String msg = "" @@ -438,7 +438,7 @@ public class DoCreateAllottedResourceTXC extends AbstractServiceTaskProcessor{ utils.log("DEBUG"," *****Exit preProcessSDNCAssign *****", isDebugEnabled) } - public void preProcessSDNCCreate(Execution execution) { + public void preProcessSDNCCreate(DelegateExecution execution) { def isDebugEnabled = execution.getVariable(DebugFlag) String msg = "" @@ -468,7 +468,7 @@ public class DoCreateAllottedResourceTXC extends AbstractServiceTaskProcessor{ utils.log("DEBUG"," *****Exit preProcessSDNCCreate *****", isDebugEnabled) } - public void preProcessSDNCActivate(Execution execution) { + public void preProcessSDNCActivate(DelegateExecution execution) { def isDebugEnabled = execution.getVariable(DebugFlag) String msg = "" @@ -498,7 +498,7 @@ public class DoCreateAllottedResourceTXC extends AbstractServiceTaskProcessor{ utils.log("DEBUG"," *****Exit preProcessSDNCActivate *****", isDebugEnabled) } - public void validateSDNCResp(Execution execution, String response, String method){ + public void validateSDNCResp(DelegateExecution execution, String response, String method){ def isDebugLogEnabled=execution.getVariable(DebugFlag) utils.log("DEBUG", " *** ValidateSDNCResponse Process*** ", isDebugLogEnabled) @@ -538,7 +538,7 @@ public class DoCreateAllottedResourceTXC extends AbstractServiceTaskProcessor{ logDebug(" *** Exit ValidateSDNCResp Process*** ", isDebugLogEnabled) } - public void preProcessSDNCGet(Execution execution){ + public void preProcessSDNCGet(DelegateExecution execution){ def isDebugLogEnabled = execution.getVariable(DebugFlag) utils.log("DEBUG", "*** preProcessSDNCGet *** ", isDebugLogEnabled) try{ @@ -567,7 +567,7 @@ public class DoCreateAllottedResourceTXC extends AbstractServiceTaskProcessor{ String serviceInstanceId = execution.getVariable("serviceInstanceId") String sdncRequestId = UUID.randomUUID().toString() - + //neeed the same url as used by vfmodules String SDNCGetRequest = """<sdncadapterworkflow:SDNCAdapterWorkflowRequest xmlns:ns5="http://org.openecomp/mso/request/types/v1" @@ -593,7 +593,7 @@ public class DoCreateAllottedResourceTXC extends AbstractServiceTaskProcessor{ utils.log("DEBUG", "*** Exit preProcessSDNCGet *** ", isDebugLogEnabled) } - public void updateAaiAROrchStatus(Execution execution, String status){ + public void updateAaiAROrchStatus(DelegateExecution execution, String status){ def isDebugEnabled = execution.getVariable(DebugFlag) utils.log("DEBUG", " *** updateAaiAROrchStatus *** ", isDebugEnabled) String aaiARPath = execution.getVariable("aaiARPath") //set during query (existing AR) or create @@ -602,7 +602,7 @@ public class DoCreateAllottedResourceTXC extends AbstractServiceTaskProcessor{ utils.log("DEBUG", " *** Exit updateAaiAROrchStatus *** ", isDebugEnabled) } - public void generateOutputs(Execution execution) + public void generateOutputs(DelegateExecution execution) { def isDebugEnabled=execution.getVariable(DebugFlag) utils.log("DEBUG"," ***** generateOutputs ***** ", isDebugEnabled) @@ -629,7 +629,7 @@ public class DoCreateAllottedResourceTXC extends AbstractServiceTaskProcessor{ } - public void preProcessRollback (Execution execution) { + public void preProcessRollback (DelegateExecution execution) { def isDebugEnabled=execution.getVariable(DebugFlag) utils.log("DEBUG"," ***** preProcessRollback ***** ", isDebugEnabled) try { @@ -650,7 +650,7 @@ public class DoCreateAllottedResourceTXC extends AbstractServiceTaskProcessor{ utils.log("DEBUG"," *** Exit preProcessRollback *** ", isDebugEnabled) } - public void postProcessRollback (Execution execution) { + public void postProcessRollback (DelegateExecution execution) { def isDebugEnabled=execution.getVariable(DebugFlag) utils.log("DEBUG"," ***** postProcessRollback ***** ", isDebugEnabled) String msg = "" diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DoCreateAllottedResourceTXCRollback.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DoCreateAllottedResourceTXCRollback.groovy index 08f2df2d09..b6efced8fe 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DoCreateAllottedResourceTXCRollback.groovy +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DoCreateAllottedResourceTXCRollback.groovy @@ -30,7 +30,7 @@ import org.openecomp.mso.rest.APIResponse import java.util.UUID; import org.camunda.bpm.engine.delegate.BpmnError -import org.camunda.bpm.engine.runtime.Execution +import org.camunda.bpm.engine.delegate.DelegateExecution import org.apache.commons.lang3.* import org.springframework.web.util.UriUtils; import static org.apache.commons.lang3.StringUtils.* @@ -58,7 +58,7 @@ public class DoCreateAllottedResourceTXCRollback extends AbstractServiceTaskProc String Prefix="DCARTXCRB_" ExceptionUtil exceptionUtil = new ExceptionUtil() - public void preProcessRequest (Execution execution) { + public void preProcessRequest (DelegateExecution execution) { def isDebugEnabled = execution.getVariable(DebugFlag) String msg = "" @@ -131,7 +131,7 @@ public class DoCreateAllottedResourceTXCRollback extends AbstractServiceTaskProc } // aaiARPath set during query (existing AR) - public void updateAaiAROrchStatus(Execution execution, String status){ + public void updateAaiAROrchStatus(DelegateExecution execution, String status){ def isDebugEnabled = execution.getVariable(DebugFlag) String msg = null; utils.log("DEBUG", " *** updateAaiAROrchStatus ***", isDebugEnabled) @@ -153,7 +153,7 @@ public class DoCreateAllottedResourceTXCRollback extends AbstractServiceTaskProc utils.log("DEBUG", " *** Exit updateAaiAROrchStatus *** ", isDebugEnabled) } - public void validateSDNCResp(Execution execution, String response, String method){ + public void validateSDNCResp(DelegateExecution execution, String response, String method){ def isDebugLogEnabled=execution.getVariable(DebugFlag) utils.log("DEBUG", " *** ValidateSDNCResponse Process*** ", isDebugLogEnabled) @@ -194,7 +194,7 @@ public class DoCreateAllottedResourceTXCRollback extends AbstractServiceTaskProc logDebug(" *** Exit ValidateSDNCResp Process*** ", isDebugLogEnabled) } - public void deleteAaiAR(Execution execution){ + public void deleteAaiAR(DelegateExecution execution){ def isDebugLogEnabled = execution.getVariable(DebugFlag) try{ utils.log("DEBUG", " *** deleteAaiAR *** ", isDebugLogEnabled) @@ -215,7 +215,7 @@ public class DoCreateAllottedResourceTXCRollback extends AbstractServiceTaskProc utils.log("DEBUG", " *** Exit deleteAaiAR *** ", isDebugLogEnabled) } - public void postProcessRequest(Execution execution) { + public void postProcessRequest(DelegateExecution execution) { def isDebugEnabled=execution.getVariable(DebugFlag) utils.log("DEBUG"," ***** postProcessRequest ***** ", isDebugEnabled) String msg = "" @@ -239,7 +239,7 @@ public class DoCreateAllottedResourceTXCRollback extends AbstractServiceTaskProc } - public void processRollbackException(Execution execution){ + public void processRollbackException(DelegateExecution execution){ def isDebugEnabled=execution.getVariable(DebugFlag) utils.log("DEBUG"," ***** processRollbackException ***** ", isDebugEnabled) try{ @@ -258,7 +258,7 @@ public class DoCreateAllottedResourceTXCRollback extends AbstractServiceTaskProc utils.log("DEBUG", " Exit processRollbackException", isDebugEnabled) } - public void processRollbackJavaException(Execution execution){ + public void processRollbackJavaException(DelegateExecution execution){ def isDebugEnabled=execution.getVariable(DebugFlag) utils.log("DEBUG"," ***** processRollbackJavaException ***** ", isDebugEnabled) try{ diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DoDeleteAllottedResourceBRG.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DoDeleteAllottedResourceBRG.groovy index 38ac23e5a1..839766eabc 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DoDeleteAllottedResourceBRG.groovy +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DoDeleteAllottedResourceBRG.groovy @@ -30,7 +30,7 @@ import org.openecomp.mso.rest.APIResponse import java.util.UUID; import org.camunda.bpm.engine.delegate.BpmnError -import org.camunda.bpm.engine.runtime.Execution +import org.camunda.bpm.engine.delegate.DelegateExecution import org.apache.commons.lang3.* import org.springframework.web.util.UriUtils; import static org.apache.commons.lang3.StringUtils.* @@ -65,7 +65,7 @@ public class DoDeleteAllottedResourceBRG extends AbstractServiceTaskProcessor{ String Prefix="DDARBRG_" ExceptionUtil exceptionUtil = new ExceptionUtil() - public void preProcessRequest (Execution execution) { + public void preProcessRequest (DelegateExecution execution) { def isDebugEnabled = execution.getVariable(DebugFlag) String msg = "" @@ -107,7 +107,7 @@ public class DoDeleteAllottedResourceBRG extends AbstractServiceTaskProcessor{ utils.log("DEBUG"," ***** Exit preProcessRequest *****", isDebugEnabled) } - public void getAaiAR (Execution execution) { + public void getAaiAR (DelegateExecution execution) { def isDebugEnabled = execution.getVariable(DebugFlag) utils.log("DEBUG"," ***** getAaiAR ***** ", isDebugEnabled) @@ -137,7 +137,7 @@ public class DoDeleteAllottedResourceBRG extends AbstractServiceTaskProcessor{ } // aaiARPath set during query (existing AR) - public void updateAaiAROrchStatus(Execution execution, String status){ + public void updateAaiAROrchStatus(DelegateExecution execution, String status){ def isDebugEnabled = execution.getVariable(DebugFlag) utils.log("DEBUG", " *** updateAaiAROrchStatus *** ", isDebugEnabled) AllottedResourceUtils arUtils = new AllottedResourceUtils(this) @@ -146,7 +146,7 @@ public class DoDeleteAllottedResourceBRG extends AbstractServiceTaskProcessor{ utils.log("DEBUG", " *** Exit updateAaiAROrchStatus *** ", isDebugEnabled) } - public String buildSDNCRequest(Execution execution, String action, String sdncRequestId) { + public String buildSDNCRequest(DelegateExecution execution, String action, String sdncRequestId) { def isDebugEnabled = execution.getVariable(DebugFlag) String msg = "" @@ -200,7 +200,7 @@ public class DoDeleteAllottedResourceBRG extends AbstractServiceTaskProcessor{ <service-information> <service-id></service-id> <subscription-service-type>${subscriptionServiceType}</subscription-service-type> - <onap-model-information></onap-model-information> + <ecomp-model-information></ecomp-model-information> <service-instance-id>${serviceInstanceId}</service-instance-id> <subscriber-name/> <global-customer-id>${globalCustomerId}</global-customer-id> @@ -209,13 +209,13 @@ public class DoDeleteAllottedResourceBRG extends AbstractServiceTaskProcessor{ <allotted-resource-id>${allottedResourceId}</allotted-resource-id> <allotted-resource-type>brg</allotted-resource-type> <parent-service-instance-id>${parentServiceInstanceId}</parent-service-instance-id> - <onap-model-information> + <ecomp-model-information> <model-invariant-uuid>${modelInvariantId}</model-invariant-uuid> <model-uuid>${modelUUId}</model-uuid> <model-customization-uuid>${modelCustomizationId}</model-customization-uuid> <model-version>${modelVersion}</model-version> <model-name>${modelName}</model-name> - </onap-model-information> + </ecomp-model-information> </allotted-resource-information> <brg-request-input> </brg-request-input> @@ -234,7 +234,7 @@ public class DoDeleteAllottedResourceBRG extends AbstractServiceTaskProcessor{ return sdncReq } - public void preProcessSDNCUnassign(Execution execution) { + public void preProcessSDNCUnassign(DelegateExecution execution) { def isDebugEnabled = execution.getVariable(DebugFlag) String msg = "" @@ -255,7 +255,7 @@ public class DoDeleteAllottedResourceBRG extends AbstractServiceTaskProcessor{ utils.log("DEBUG"," *****Exit preProcessSDNCUnassign *****", isDebugEnabled) } - public void preProcessSDNCDelete(Execution execution) { + public void preProcessSDNCDelete(DelegateExecution execution) { def isDebugEnabled = execution.getVariable(DebugFlag) String msg = "" @@ -276,7 +276,7 @@ public class DoDeleteAllottedResourceBRG extends AbstractServiceTaskProcessor{ utils.log("DEBUG"," *****Exit preProcessSDNCDelete *****", isDebugEnabled) } - public void preProcessSDNCDeactivate(Execution execution) { + public void preProcessSDNCDeactivate(DelegateExecution execution) { def isDebugEnabled = execution.getVariable(DebugFlag) String msg = "" @@ -297,7 +297,7 @@ public class DoDeleteAllottedResourceBRG extends AbstractServiceTaskProcessor{ utils.log("DEBUG"," *****Exit preProcessSDNCDeactivate *****", isDebugEnabled) } - public void validateSDNCResp(Execution execution, String response, String method){ + public void validateSDNCResp(DelegateExecution execution, String response, String method){ def isDebugLogEnabled=execution.getVariable(DebugFlag) utils.log("DEBUG", " *** ValidateSDNCResponse Process*** ", isDebugLogEnabled) @@ -348,7 +348,7 @@ public class DoDeleteAllottedResourceBRG extends AbstractServiceTaskProcessor{ logDebug(" *** Exit ValidateSDNCResp Process*** ", isDebugLogEnabled) } - public void deleteAaiAR(Execution execution){ + public void deleteAaiAR(DelegateExecution execution){ def isDebugLogEnabled = execution.getVariable(DebugFlag) try{ utils.log("DEBUG", " *** deleteAaiAR *** ", isDebugLogEnabled) diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DoDeleteAllottedResourceTXC.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DoDeleteAllottedResourceTXC.groovy index a5b7c1350d..c1b0eb5fff 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DoDeleteAllottedResourceTXC.groovy +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/vcpe/scripts/DoDeleteAllottedResourceTXC.groovy @@ -30,7 +30,7 @@ import org.openecomp.mso.rest.APIResponse import java.util.UUID; import org.camunda.bpm.engine.delegate.BpmnError -import org.camunda.bpm.engine.runtime.Execution +import org.camunda.bpm.engine.delegate.DelegateExecution import org.apache.commons.lang3.* import org.springframework.web.util.UriUtils; import static org.apache.commons.lang3.StringUtils.* @@ -65,7 +65,7 @@ public class DoDeleteAllottedResourceTXC extends AbstractServiceTaskProcessor{ String Prefix="DDARTXC_" ExceptionUtil exceptionUtil = new ExceptionUtil() - public void preProcessRequest (Execution execution) { + public void preProcessRequest (DelegateExecution execution) { def isDebugEnabled = execution.getVariable(DebugFlag) String msg = "" @@ -107,7 +107,7 @@ public class DoDeleteAllottedResourceTXC extends AbstractServiceTaskProcessor{ utils.log("DEBUG"," ***** Exit preProcessRequest *****", isDebugEnabled) } - public void getAaiAR (Execution execution) { + public void getAaiAR (DelegateExecution execution) { def isDebugEnabled = execution.getVariable(DebugFlag) utils.log("DEBUG"," ***** getAaiAR ***** ", isDebugEnabled) @@ -137,7 +137,7 @@ public class DoDeleteAllottedResourceTXC extends AbstractServiceTaskProcessor{ } // aaiARPath set during query (existing AR) - public void updateAaiAROrchStatus(Execution execution, String status){ + public void updateAaiAROrchStatus(DelegateExecution execution, String status){ def isDebugEnabled = execution.getVariable(DebugFlag) utils.log("DEBUG", " *** updateAaiAROrchStatus *** ", isDebugEnabled) AllottedResourceUtils arUtils = new AllottedResourceUtils(this) @@ -146,7 +146,7 @@ public class DoDeleteAllottedResourceTXC extends AbstractServiceTaskProcessor{ utils.log("DEBUG", " *** Exit updateAaiAROrchStatus *** ", isDebugEnabled) } - public String buildSDNCRequest(Execution execution, String action, String sdncRequestId) { + public String buildSDNCRequest(DelegateExecution execution, String action, String sdncRequestId) { def isDebugEnabled = execution.getVariable(DebugFlag) String msg = "" @@ -200,7 +200,7 @@ public class DoDeleteAllottedResourceTXC extends AbstractServiceTaskProcessor{ <service-information> <service-id></service-id> <subscription-service-type>${subscriptionServiceType}</subscription-service-type> - <onap-model-information></onap-model-information> + <ecomp-model-information></ecomp-model-information> <service-instance-id>${serviceInstanceId}</service-instance-id> <subscriber-name/> <global-customer-id>${globalCustomerId}</global-customer-id> @@ -209,13 +209,13 @@ public class DoDeleteAllottedResourceTXC extends AbstractServiceTaskProcessor{ <allotted-resource-id>${allottedResourceId}</allotted-resource-id> <allotted-resource-type>tunnelxconn</allotted-resource-type> <parent-service-instance-id>${parentServiceInstanceId}</parent-service-instance-id> - <onap-model-information> + <ecomp-model-information> <model-invariant-uuid>${modelInvariantId}</model-invariant-uuid> <model-uuid>${modelUUId}</model-uuid> <model-customization-uuid>${modelCustomizationId}</model-customization-uuid> <model-version>${modelVersion}</model-version> <model-name>${modelName}</model-name> - </onap-model-information> + </ecomp-model-information> </allotted-resource-information> <tunnelxconn-request-input> </tunnelxconn-request-input> @@ -234,7 +234,7 @@ public class DoDeleteAllottedResourceTXC extends AbstractServiceTaskProcessor{ return sdncReq } - public void preProcessSDNCUnassign(Execution execution) { + public void preProcessSDNCUnassign(DelegateExecution execution) { def isDebugEnabled = execution.getVariable(DebugFlag) String msg = "" @@ -255,7 +255,7 @@ public class DoDeleteAllottedResourceTXC extends AbstractServiceTaskProcessor{ utils.log("DEBUG"," *****Exit preProcessSDNCUnassign *****", isDebugEnabled) } - public void preProcessSDNCDelete(Execution execution) { + public void preProcessSDNCDelete(DelegateExecution execution) { def isDebugEnabled = execution.getVariable(DebugFlag) String msg = "" @@ -276,7 +276,7 @@ public class DoDeleteAllottedResourceTXC extends AbstractServiceTaskProcessor{ utils.log("DEBUG"," *****Exit preProcessSDNCDelete *****", isDebugEnabled) } - public void preProcessSDNCDeactivate(Execution execution) { + public void preProcessSDNCDeactivate(DelegateExecution execution) { def isDebugEnabled = execution.getVariable(DebugFlag) String msg = "" @@ -297,7 +297,7 @@ public class DoDeleteAllottedResourceTXC extends AbstractServiceTaskProcessor{ utils.log("DEBUG"," *****Exit preProcessSDNCDeactivate *****", isDebugEnabled) } - public void validateSDNCResp(Execution execution, String response, String method){ + public void validateSDNCResp(DelegateExecution execution, String response, String method){ def isDebugLogEnabled=execution.getVariable(DebugFlag) utils.log("DEBUG", " *** ValidateSDNCResponse Process*** ", isDebugLogEnabled) @@ -348,7 +348,7 @@ public class DoDeleteAllottedResourceTXC extends AbstractServiceTaskProcessor{ logDebug(" *** Exit ValidateSDNCResp Process*** ", isDebugLogEnabled) } - public void deleteAaiAR(Execution execution){ + public void deleteAaiAR(DelegateExecution execution){ def isDebugLogEnabled = execution.getVariable(DebugFlag) try{ utils.log("DEBUG", " *** deleteAaiAR *** ", isDebugLogEnabled) diff --git a/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/AAITasks/AAICreateOwningEntity.java b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/AAITasks/AAICreateOwningEntity.java new file mode 100644 index 0000000000..8ba4589ebc --- /dev/null +++ b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/AAITasks/AAICreateOwningEntity.java @@ -0,0 +1,50 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP - SO + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. 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.AAITasks;
+
+import java.util.logging.Logger;
+
+import org.camunda.bpm.engine.delegate.DelegateExecution;
+import org.camunda.bpm.engine.delegate.JavaDelegate;
+import org.openecomp.mso.bpmn.common.scripts.ExceptionUtil;
+import org.openecomp.mso.bpmn.core.domain.ServiceDecomposition;
+import org.openecomp.mso.client.orchestration.AAIOrchestrator;
+
+public class AAICreateOwningEntity implements JavaDelegate {
+ private static Logger LOGGER = Logger.getLogger("AAICreateOwningEntity");
+ AAIOrchestrator aaiO = new AAIOrchestrator();
+ ExceptionUtil exceptionUtil = new ExceptionUtil();
+
+ public void execute(DelegateExecution execution) throws Exception {
+ LOGGER.info("**** Started AAICreateOwningEntity ****");
+ ServiceDecomposition serviceDecomp = (ServiceDecomposition) execution.getVariable("serviceDecomposition");
+ if (serviceDecomp.getServiceInstance() != null && serviceDecomp.getOwningEntity() != null) {
+ try {
+ aaiO.createOwningEntityandConnectServiceInstance(serviceDecomp);
+ } catch (Exception ex) {
+ String msg = "Exception in AAICreateOwningEntity. " + ex.getMessage();
+ LOGGER.info(msg);
+ exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg);
+ }
+ }
+ LOGGER.info("**** Finished AAICreateOwningEntity ****");
+ }
+}
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/AAITasks/AAICreateProject.java b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/AAITasks/AAICreateProject.java new file mode 100644 index 0000000000..fe7006f530 --- /dev/null +++ b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/AAITasks/AAICreateProject.java @@ -0,0 +1,50 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP - SO + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. 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.AAITasks;
+
+import java.util.logging.Logger;
+
+import org.camunda.bpm.engine.delegate.DelegateExecution;
+import org.camunda.bpm.engine.delegate.JavaDelegate;
+import org.openecomp.mso.bpmn.common.scripts.ExceptionUtil;
+import org.openecomp.mso.bpmn.core.domain.ServiceDecomposition;
+import org.openecomp.mso.client.orchestration.AAIOrchestrator;
+
+public class AAICreateProject implements JavaDelegate {
+ private static Logger LOGGER = Logger.getLogger("AAICreateProject");
+ AAIOrchestrator aaiO = new AAIOrchestrator();
+ ExceptionUtil exceptionUtil = new ExceptionUtil();
+
+ public void execute(DelegateExecution execution) throws Exception {
+ LOGGER.info("**** Started AAICreateProject ****");
+ ServiceDecomposition serviceDecomp = (ServiceDecomposition) execution.getVariable("serviceDecomposition");
+ if (serviceDecomp.getServiceInstance() != null && serviceDecomp.getProject() != null) {
+ try {
+ aaiO.createProjectandConnectServiceInstance(serviceDecomp);
+ } catch (Exception ex) {
+ String msg = "Exception in AAICreateProject. " + ex.getMessage();
+ LOGGER.info(msg);
+ exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg);
+ }
+ }
+ LOGGER.info("**** Finished AAICreateProject ****");
+ }
+}
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/AAITasks/AAICreateServiceInstance.java b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/AAITasks/AAICreateServiceInstance.java new file mode 100644 index 0000000000..b76675d0fc --- /dev/null +++ b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/AAITasks/AAICreateServiceInstance.java @@ -0,0 +1,50 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP - SO + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. 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.AAITasks;
+
+import java.util.logging.Logger;
+
+import org.camunda.bpm.engine.delegate.DelegateExecution;
+import org.camunda.bpm.engine.delegate.JavaDelegate;
+import org.openecomp.mso.bpmn.common.scripts.ExceptionUtil;
+import org.openecomp.mso.bpmn.core.domain.ServiceDecomposition;
+import org.openecomp.mso.client.orchestration.AAIOrchestrator;
+
+public class AAICreateServiceInstance implements JavaDelegate {
+ private static Logger LOGGER = Logger.getLogger("AAICreateServiceInstance");
+ AAIOrchestrator aaiO = new AAIOrchestrator();
+ ExceptionUtil exceptionUtil = new ExceptionUtil();
+
+ public void execute(DelegateExecution execution) throws Exception {
+ LOGGER.info("**** Started AAICreateServiceInstance ****");
+ ServiceDecomposition serviceDecomp = (ServiceDecomposition) execution.getVariable("serviceDecomposition");
+ execution.setVariable("aaiServiceInstanceRollback", false);
+ try {
+ aaiO.createServiceInstance(serviceDecomp);
+ } catch (Exception ex) {
+ String msg = "Exception in AAICreateServiceInstance. " + ex.getMessage();
+ LOGGER.info(msg);
+ exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg);
+ }
+ execution.setVariable("aaiServiceInstanceRollback", true);
+ LOGGER.info("**** Finished AAICreateServiceInstance ****");
+ }
+}
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/DoCreateServiceInstance/RollbackAAIServiceInstance.java b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/DoCreateServiceInstance/RollbackAAIServiceInstance.java new file mode 100644 index 0000000000..496ad6a1ff --- /dev/null +++ b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/DoCreateServiceInstance/RollbackAAIServiceInstance.java @@ -0,0 +1,56 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP - SO + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. 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.DoCreateServiceInstance;
+
+import java.util.logging.Logger;
+
+import org.camunda.bpm.engine.delegate.BpmnError;
+import org.camunda.bpm.engine.delegate.DelegateExecution;
+import org.camunda.bpm.engine.delegate.JavaDelegate;
+import org.openecomp.mso.bpmn.common.scripts.ExceptionUtil;
+import org.openecomp.mso.bpmn.core.domain.ServiceDecomposition;
+import org.openecomp.mso.client.orchestration.AAIOrchestrator;
+
+public class RollbackAAIServiceInstance implements JavaDelegate {
+ private static Logger LOGGER = Logger.getLogger("RollbackAAIServiceInstance");
+ ExceptionUtil exceptionUtil = new ExceptionUtil();
+
+ public void execute(DelegateExecution execution) throws Exception {
+ boolean aaiServiceInstanceRollback = (boolean) execution.getVariable("aaiServiceInstanceRollback");
+ if (aaiServiceInstanceRollback) {
+ LOGGER.info("**** Starting RollbackAAIServiceInstance ****");
+ try {
+ ServiceDecomposition serviceDecomp = (ServiceDecomposition) execution.getVariable("ServiceDecomposition");
+ AAIOrchestrator aaiO = new AAIOrchestrator();
+ aaiO.deleteServiceInstance(serviceDecomp);
+ } catch (Exception ex) {
+ String msg = "Error Response from AAI for aaiServiceInstanceRollback";
+ execution.setVariable("rollbackError", msg);
+ LOGGER.info(msg);
+ exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg);
+ }
+ LOGGER.info("**** Finished RollbackAAIServiceInstance ****");
+ } else {
+ LOGGER.info("**** Skipping RollbackAAIServiceInstance ****");
+ }
+ }
+
+}
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/DoCreateServiceInstance/RollbackError.java b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/DoCreateServiceInstance/RollbackError.java new file mode 100644 index 0000000000..68ea713963 --- /dev/null +++ b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/DoCreateServiceInstance/RollbackError.java @@ -0,0 +1,38 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP - SO + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. 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.DoCreateServiceInstance;
+
+import java.util.logging.Logger;
+
+import org.camunda.bpm.engine.delegate.DelegateExecution;
+import org.camunda.bpm.engine.delegate.JavaDelegate;
+
+public class RollbackError implements JavaDelegate {
+
+ private static Logger LOGGER = Logger.getLogger("RollbackError");
+
+ @Override
+ public void execute(DelegateExecution execution) throws Exception {
+ LOGGER.info("Caught an Exception in DoCreateServiceInstanceRollbackV3");
+ LOGGER.info("Unable to rollback DoCreateServiceInstanceV3");
+ }
+
+}
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/DoCreateServiceInstance/SetupServiceDecomp.java b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/DoCreateServiceInstance/SetupServiceDecomp.java new file mode 100644 index 0000000000..4edb4058e8 --- /dev/null +++ b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/DoCreateServiceInstance/SetupServiceDecomp.java @@ -0,0 +1,112 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP - SO + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. 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.DoCreateServiceInstance;
+
+import java.util.logging.Logger;
+
+import org.camunda.bpm.engine.delegate.DelegateExecution;
+import org.camunda.bpm.engine.delegate.JavaDelegate;
+import org.json.JSONObject;
+import org.openecomp.mso.bpmn.common.scripts.ExceptionUtil;
+import org.openecomp.mso.bpmn.core.domain.Customer;
+import org.openecomp.mso.bpmn.core.domain.ModelInfo;
+import org.openecomp.mso.bpmn.core.domain.OwningEntity;
+import org.openecomp.mso.bpmn.core.domain.Project;
+import org.openecomp.mso.bpmn.core.domain.Request;
+import org.openecomp.mso.bpmn.core.domain.ServiceDecomposition;
+import org.openecomp.mso.bpmn.core.domain.ServiceInstance;
+
+public class SetupServiceDecomp implements JavaDelegate {
+
+ ExceptionUtil exceptionUtil = new ExceptionUtil();
+ private static Logger LOGGER = Logger.getLogger("SetupServiceDecomp");
+
+ public void execute(DelegateExecution execution) throws Exception {
+ LOGGER.info("Starting SetupServiceDecomp");
+ try {
+ String json = (String) execution.getVariable("bpmnRequest");
+ JSONObject jsonObj = new JSONObject(json);
+ JSONObject jsonReq = jsonObj.getJSONObject("requestDetails");
+ JSONObject jsonServ = jsonReq.getJSONObject("serviceInstance");
+ String serviceInstanceId = jsonServ.getString("serviceInstanceId");
+ System.out.println("servInstId: "+serviceInstanceId);
+ String serviceInstanceName = jsonServ.getString("serviceInstanceName");
+ String serviceType = jsonServ.getString("serviceType");
+ String serviceRole = jsonServ.getString("serviceRole");
+ String modelInvariantUuid = jsonServ.getString("modelInvariantUuid");
+ String modelUuid = jsonServ.getString("modelUuid");
+ String modelVersion = jsonServ.getString("modelVersion");
+ String modelName = jsonServ.getString("modelName");
+ String environmentContext = jsonServ.getString("environmentContext");
+ String workloadContext = jsonServ.getString("workloadContext");
+ JSONObject jsonProject = jsonReq.getJSONObject("project");
+ String projectName = jsonProject.getString("projectName");
+ JSONObject jsonOwningEntity = jsonReq.getJSONObject("owningEntity");
+ String owningEntityId = jsonOwningEntity.getString("owningEntityId");
+ String owningEntityName = jsonOwningEntity.getString("owningEntityName");
+ JSONObject jsonCustomer = jsonReq.getJSONObject("customer");
+ String subscriptionServiceType = jsonCustomer.getString("subscriptionServiceType");
+ String globalSubscriberId = jsonCustomer.getString("globalSubscriberId");
+ JSONObject jsonRequest = jsonReq.getJSONObject("request");
+ String sdncRequestId = jsonRequest.getString("sdncRequestId");
+ String callbackURL = jsonRequest.getString("callbackURL");
+ String requestId = jsonRequest.getString("requestId");
+ String productFamilyId = jsonRequest.getString("productFamilyId");
+ ServiceDecomposition serviceDecomp = new ServiceDecomposition("{}");
+ serviceDecomp.setCallbackURN(callbackURL);
+ serviceDecomp.setServiceRole(serviceRole);
+ ModelInfo modelInfo = new ModelInfo();
+ modelInfo.setModelInvariantUuid(modelInvariantUuid);
+ modelInfo.setModelName(modelName);
+ modelInfo.setModelVersion(modelVersion);
+ modelInfo.setModelUuid(modelUuid);
+ ServiceInstance serviceInstance = new ServiceInstance();
+ serviceInstance.setInstanceId(serviceInstanceId);
+ serviceInstance.setInstanceName(serviceInstanceName);
+ serviceInstance.setServiceType(serviceType);
+ serviceInstance.setModelInfo(modelInfo);
+ serviceInstance.setEnvironmentContext(environmentContext);
+ serviceInstance.setWorkloadContext(workloadContext);
+ Project project = new Project();
+ project.setProjectName(projectName);
+ OwningEntity owningEntity = new OwningEntity();
+ owningEntity.setOwningEntityId(owningEntityId);
+ owningEntity.setOwningEntityName(owningEntityName);
+ Customer customer = new Customer();
+ customer.setGlobalSubscriberId(globalSubscriberId);
+ customer.setSubscriptionServiceType(subscriptionServiceType);
+ Request request = new Request();
+ request.setRequestId(requestId);
+ request.setSdncRequestId(sdncRequestId);
+ request.setProductFamilyId(productFamilyId);
+ serviceDecomp.setCustomer(customer);
+ serviceDecomp.setServiceInstance(serviceInstance);
+ serviceDecomp.setRequest(request);
+ serviceDecomp.setProject(project);
+ serviceDecomp.setOwningEntity(owningEntity);
+ execution.setVariable("ServiceDecomposition", serviceDecomp);
+ } catch (Exception ex) {
+ exceptionUtil.buildAndThrowWorkflowException(execution, 7000, "ERROR IN SET UP SERVICE DECOMP");
+ }
+ LOGGER.info("Finished SetupServiceDecomp");
+ }
+
+}
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/MSOInfrastructureApplication.java b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/MSOInfrastructureApplication.java index c7420c3a03..a4a7edefe7 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/MSOInfrastructureApplication.java +++ b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/MSOInfrastructureApplication.java @@ -35,7 +35,7 @@ import org.openecomp.mso.logger.MsoLogger; * @since Version 1.0
*
*/
-@ProcessApplication("MSO Infrastructure Application")
+@ProcessApplication(name="MSO Infrastructure Application", deploymentDescriptors={"../processes.xml"})
public class MSOInfrastructureApplication extends ServletProcessApplication {
private MsoLogger msoLogger = MsoLogger.getMsoLogger(MsoLogger.Catalog.BPEL);
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/SDNCTasks/SDNCCreateServiceInstance.java b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/SDNCTasks/SDNCCreateServiceInstance.java new file mode 100644 index 0000000000..549ae36612 --- /dev/null +++ b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/SDNCTasks/SDNCCreateServiceInstance.java @@ -0,0 +1,49 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP - SO + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. 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.SDNCTasks;
+
+import java.util.logging.Logger;
+
+import org.camunda.bpm.engine.delegate.DelegateExecution;
+import org.camunda.bpm.engine.delegate.JavaDelegate;
+import org.openecomp.mso.bpmn.common.scripts.ExceptionUtil;
+import org.openecomp.mso.bpmn.core.domain.ServiceDecomposition;
+import org.openecomp.mso.client.orchestration.SDNCOrchestrator;
+
+public class SDNCCreateServiceInstance implements JavaDelegate {
+ private static Logger LOGGER = Logger.getLogger("SDNCCreateServiceInstance");
+ SDNCOrchestrator sdncO = new SDNCOrchestrator();
+ ExceptionUtil exceptionUtil = new ExceptionUtil();
+
+ public void execute(DelegateExecution execution) throws Exception {
+ LOGGER.info("**** Started SDNCCreateServiceInstance ****");
+ ServiceDecomposition serviceDecomp = (ServiceDecomposition) execution.getVariable("serviceDecomposition");
+ if (serviceDecomp != null) {
+ try {
+ sdncO.createServiceInstance(serviceDecomp);
+ } catch (Exception ex) {
+ String msg = "Exception in sdncCreateServiceInstance. " + ex.getMessage();
+ exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg);
+ }
+ }
+ LOGGER.info("**** Finished SDNCCreateServiceInstance ****");
+ }
+}
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/aai/AAICreateResources.java b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/aai/AAICreateResources.java new file mode 100644 index 0000000000..93ba0ae5a4 --- /dev/null +++ b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/aai/AAICreateResources.java @@ -0,0 +1,84 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP - SO + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. 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.aai; + +import java.util.HashMap; +import java.util.Map; +import java.util.Optional; + +import org.openecomp.mso.client.aai.AAIObjectType; +import org.openecomp.mso.client.aai.AAIResourcesClient; +import org.openecomp.mso.client.aai.entities.uri.AAIResourceUri; +import org.openecomp.mso.client.aai.entities.uri.AAIUriFactory; + +public class AAICreateResources { + + + public void createAAIProject (String projectName, String serviceInstance){ + AAIResourceUri projectURI = AAIUriFactory.createResourceUri(AAIObjectType.PROJECT, projectName); + AAIResourceUri serviceInstanceURI = AAIUriFactory.createResourceUri(AAIObjectType.SERVICE_INSTANCE, serviceInstance); + AAIResourcesClient aaiRC = new AAIResourcesClient(); + aaiRC.createIfNotExists(projectURI, Optional.empty()).connect(projectURI, serviceInstanceURI); + + } + + public void createAAIOwningEntity(String owningEntityId, String owningEntityName,String serviceInstance){ + AAIResourceUri owningEntityURI = AAIUriFactory.createResourceUri(AAIObjectType.OWNING_ENTITY, owningEntityId); + AAIResourceUri serviceInstanceURI = AAIUriFactory.createResourceUri(AAIObjectType.SERVICE_INSTANCE, serviceInstance); + Map<String, String> hashMap= new HashMap<>(); + hashMap.put("owning-entity-name", owningEntityName); + AAIResourcesClient aaiRC = new AAIResourcesClient(); + aaiRC.createIfNotExists(owningEntityURI, Optional.of(hashMap)).connect(owningEntityURI, serviceInstanceURI); + } + + public boolean existsOwningEntity(String owningEntityId){ + AAIResourceUri owningEntityURI = AAIUriFactory.createResourceUri(AAIObjectType.OWNING_ENTITY, owningEntityId); + AAIResourcesClient aaiRC = new AAIResourcesClient(); + return aaiRC.exists(owningEntityURI); + } + + public void connectOwningEntityandServiceInstance (String owningEntityId, String serviceInstance){ + AAIResourceUri owningEntityURI = AAIUriFactory.createResourceUri(AAIObjectType.OWNING_ENTITY, owningEntityId); + AAIResourceUri serviceInstanceURI = AAIUriFactory.createResourceUri(AAIObjectType.SERVICE_INSTANCE, serviceInstance); + AAIResourcesClient aaiRC = new AAIResourcesClient(); + aaiRC.connect(owningEntityURI, serviceInstanceURI); + } + + public void createAAIPlatform(String platformName,String vnfId){ + AAIResourceUri platformURI = AAIUriFactory.createResourceUri(AAIObjectType.PLATFORM, platformName); + AAIResourceUri genericVnfURI = AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF,vnfId); + AAIResourcesClient aaiRC = new AAIResourcesClient(); + aaiRC.createIfNotExists(platformURI, Optional.empty()).connect(platformURI, genericVnfURI); + } + + public void createAAILineOfBusiness(String lineOfBusiness,String vnfId){ + AAIResourceUri lineOfBusinessURI = AAIUriFactory.createResourceUri(AAIObjectType.LINE_OF_BUSINESS, lineOfBusiness); + AAIResourceUri genericVnfURI = AAIUriFactory.createResourceUri(AAIObjectType.GENERIC_VNF,vnfId); + AAIResourcesClient aaiRC = new AAIResourcesClient(); + aaiRC.createIfNotExists(lineOfBusinessURI, Optional.empty()).connect(lineOfBusinessURI, genericVnfURI); + } + public void createAAIServiceInstance(String globalCustomerId, String serviceType, String serviceInstanceId){ + AAIResourceUri serviceInstanceURI = AAIUriFactory.createResourceUri(AAIObjectType.SERVICE_INSTANCE, globalCustomerId,serviceType,serviceInstanceId); + AAIResourcesClient aaiRC = new AAIResourcesClient(); + aaiRC.createIfNotExists(serviceInstanceURI, Optional.empty()); + } + +} diff --git a/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/aai/AAIDeleteServiceInstance.java b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/aai/AAIDeleteServiceInstance.java new file mode 100644 index 0000000000..483c057f3e --- /dev/null +++ b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/aai/AAIDeleteServiceInstance.java @@ -0,0 +1,49 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP - SO + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. 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.aai;
+
+import org.camunda.bpm.engine.delegate.DelegateExecution;
+import org.camunda.bpm.engine.delegate.JavaDelegate;
+import org.openecomp.mso.bpmn.common.scripts.ExceptionUtil;
+import org.openecomp.mso.client.aai.AAIObjectType;
+import org.openecomp.mso.client.aai.AAIResourcesClient;
+import org.openecomp.mso.client.aai.entities.uri.AAIResourceUri;
+import org.openecomp.mso.client.aai.entities.uri.AAIUriFactory;
+
+public class AAIDeleteServiceInstance implements JavaDelegate{
+
+ ExceptionUtil exceptionUtil = new ExceptionUtil();
+ public void execute(DelegateExecution execution) throws Exception {
+ try{
+ String serviceInstanceId = (String) execution.getVariable("serviceInstanceId");
+ AAIResourceUri serviceInstanceURI = AAIUriFactory.createResourceUri(AAIObjectType.SERVICE_INSTANCE,
+ serviceInstanceId);
+ AAIResourcesClient aaiRC = new AAIResourcesClient();
+ aaiRC.delete(serviceInstanceURI);
+ execution.setVariable("GENDS_SuccessIndicator",true);
+ } catch(Exception ex){
+ String msg = "Exception in Delete Serivce Instance. Service Instance could not be deleted in AAI." + ex.getMessage();
+ exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg);
+ }
+
+ }
+
+}
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/aai/AAIServiceInstance.java b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/aai/AAIServiceInstance.java new file mode 100644 index 0000000000..7370208f5e --- /dev/null +++ b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/aai/AAIServiceInstance.java @@ -0,0 +1,94 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP - SO + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. 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.aai;
+
+public class AAIServiceInstance {
+ String serviceInstanceName;
+ String serviceType;
+ String serviceRole;
+ String orchestrationStatus;
+ String modelInvariantUuid;
+ String modelVersionId;
+ String environmentContext;
+ String workloadContext;
+ public AAIServiceInstance(String serviceInstanceName, String serviceType, String serviceRole,
+ String orchestrationStatus, String modelInvariantUuid, String modelVersionId, String environmentContext,
+ String workloadContext) {
+ this.serviceInstanceName = serviceInstanceName;
+ this.serviceType = serviceType;
+ this.serviceRole = serviceRole;
+ this.orchestrationStatus = orchestrationStatus;
+ this.modelInvariantUuid = modelInvariantUuid;
+ this.modelVersionId = modelVersionId;
+ this.environmentContext = environmentContext;
+ this.workloadContext = workloadContext;
+ }
+ public String getServiceInstanceName() {
+ return serviceInstanceName;
+ }
+ public void setServiceInstanceName(String serviceInstanceName) {
+ this.serviceInstanceName = serviceInstanceName;
+ }
+ public String getServiceType() {
+ return serviceType;
+ }
+ public void setServiceType(String serviceType) {
+ this.serviceType = serviceType;
+ }
+ public String getServiceRole() {
+ return serviceRole;
+ }
+ public void setServiceRole(String serviceRole) {
+ this.serviceRole = serviceRole;
+ }
+ public String getOrchestrationStatus() {
+ return orchestrationStatus;
+ }
+ public void setOrchestrationStatus(String orchestrationStatus) {
+ this.orchestrationStatus = orchestrationStatus;
+ }
+ public String getModelInvariantUuid() {
+ return modelInvariantUuid;
+ }
+ public void setModelInvariantUuid(String modelInvariantUuid) {
+ this.modelInvariantUuid = modelInvariantUuid;
+ }
+ public String getModelVersionId() {
+ return modelVersionId;
+ }
+ public void setModelVersionId(String modelVersionId) {
+ this.modelVersionId = modelVersionId;
+ }
+ public String getEnvironmentContext() {
+ return environmentContext;
+ }
+ public void setEnvironmentContext(String environmentContext) {
+ this.environmentContext = environmentContext;
+ }
+ public String getWorkloadContext() {
+ return workloadContext;
+ }
+ public void setWorkloadContext(String workloadContext) {
+ this.workloadContext = workloadContext;
+ }
+
+
+}
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/SdncNetworkTopologyOperationTask.java b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/SdncNetworkTopologyOperationTask.java index 25c85f7394..646ed92705 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/SdncNetworkTopologyOperationTask.java +++ b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/SdncNetworkTopologyOperationTask.java @@ -60,8 +60,8 @@ public class SdncNetworkTopologyOperationTask extends AbstractSdncOperationTask if (!isSend2SdncDirectly()) { outputEntity = genericResourceApiClient.postNetworkTopologyOperation (HeaderUtil.DefaulAuth, inputEntity).execute().body(); - updateProgress(execution, null, null, "90", "sendRestrequestAndHandleResponse finished!"); - saveOutput(execution, outputEntity); + updateProgress(execution, null, null, "90", "sendRestrequestAndHandleResponse finished!"); + saveOutput(execution, outputEntity); } else { send2SdncDirectly(HeaderUtil.DefaulAuth, inputEntity); } diff --git a/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/SdncServiceTopologyOperationTask.java b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/SdncServiceTopologyOperationTask.java index 130c97e273..dab96b0613 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/SdncServiceTopologyOperationTask.java +++ b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/SdncServiceTopologyOperationTask.java @@ -33,6 +33,7 @@ import org.openecomp.mso.bpmn.infrastructure.workflow.serviceTask.client.builder import org.openecomp.mso.bpmn.infrastructure.workflow.serviceTask.client.entity.RpcServiceTopologyOperationInputEntity; import org.openecomp.mso.bpmn.infrastructure.workflow.serviceTask.client.entity.RpcServiceTopologyOperationOutputEntity; import org.openecomp.mso.logger.MessageEnum; +import org.openecomp.mso.requestsdb.RequestsDbConstant; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -52,16 +53,16 @@ public class SdncServiceTopologyOperationTask extends AbstractSdncOperationTask Map<String, String> inputs, GenericResourceApi genericResourceApiClient) throws Exception { sdncLogger.info("SdncServiceTopologyOperationTask.sendRestrequestAndHandleResponse begin!"); -// updateProgress(execution, null, null, "40", "sendRestrequestAndHandleResponse begin!"); + updateProgress(execution, null, null, "40", "sendRestrequestAndHandleResponse begin!"); ServiceRpcInputEntityBuilder builder = new ServiceRpcInputEntityBuilder(); RpcServiceTopologyOperationInputEntity inputEntity = builder.build(execution, inputs); -// updateProgress(execution, null, null, "50", "RequestBody build finished!"); + updateProgress(execution, null, null, "50", "RequestBody build finished!"); RpcServiceTopologyOperationOutputEntity outputEntity; if (!isSend2SdncDirectly()) { outputEntity = genericResourceApiClient.postServiceTopologyOperation (HeaderUtil.DefaulAuth, inputEntity).execute().body(); -// updateProgress(execution, null, null, "90", "sendRestrequestAndHandleResponse finished!"); - saveOutput(execution, outputEntity); + updateProgress(execution, null, null, "90", "sendRestrequestAndHandleResponse finished!"); + saveOutput(execution, outputEntity); } else { send2SdncDirectly(HeaderUtil.DefaulAuth, inputEntity); } @@ -92,7 +93,7 @@ public class SdncServiceTopologyOperationTask extends AbstractSdncOperationTask String errorMessage = output.getOutput().getResponseMessage(); WorkflowException workflowException = new WorkflowException(processKey, errorCode, errorMessage); execution.setVariable("SDNCA_SuccessIndicator", workflowException); -// updateProgress(execution, RequestsDbConstant.Status.ERROR, String.valueOf(errorCode), null, errorMessage); + updateProgress(execution, RequestsDbConstant.Status.ERROR, String.valueOf(errorCode), null, errorMessage); sdncLogger.info("exception: SdncServiceTopologyOperationTask.saveOutput fail!"); throw new RouteException(); } diff --git a/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/SdncUnderlayVpnPreprocessTask.java b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/SdncUnderlayVpnPreprocessTask.java index 869c7783ef..90effd39e3 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/SdncUnderlayVpnPreprocessTask.java +++ b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/workflow/serviceTask/SdncUnderlayVpnPreprocessTask.java @@ -43,7 +43,7 @@ public class SdncUnderlayVpnPreprocessTask extends BaseTask { String serviceId = (String) execution.getVariable("serviceId"); serviceId = StringUtils.isBlank(serviceId) ? (String) execution.getVariable("serviceInstanceId") : serviceId; String operationId = (String) execution.getVariable("operationId"); - String resourceTemplateUUID = (String) execution.getVariable("resourceUUID"); + String resourceTemplateUUID = (String) execution.getVariable("resourceTemplateUUID"); resourceTemplateUUID = StringUtils.isBlank(resourceTemplateUUID) ? (String) execution.getVariable("resourceTemplateId") : resourceTemplateUUID; ResourceOperationStatus resourceOperationStatus = requestsDB.getResourceOperationStatus(serviceId, operationId, resourceTemplateUUID); return resourceOperationStatus.getOperType(); diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/META-INF/persistence.xml b/bpmn/MSOInfrastructureBPMN/src/main/resources/META-INF/persistence.xml index 8e87f47ddc..3bfafacbef 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/resources/META-INF/persistence.xml +++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/META-INF/persistence.xml @@ -25,7 +25,7 @@ http://java.sun.com/xml/ns/persistence
http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
- <persistence-unit name="infrastructure">
+ <persistence-unit name="default">
<jta-data-source>java:jboss/datasources/ProcessEngine</jta-data-source>
<properties>
<!-- Properties for Hibernate -->
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateCustomE2EServiceInstance.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateCustomE2EServiceInstance.bpmn index 8fc761c0d3..ce17615679 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateCustomE2EServiceInstance.bpmn +++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateCustomE2EServiceInstance.bpmn @@ -29,18 +29,17 @@ ex.processJavaException(execution)]]></bpmn:script> <camunda:out source="rollbackData" target="rollbackData" /> <camunda:in source="serviceInstanceId" target="serviceInstanceId" /> <camunda:in source="serviceInstanceName" target="serviceInstanceName" /> + <camunda:in source="serviceModelInfo" target="serviceModelInfo" /> <camunda:in source="productFamilyId" target="productFamilyId" /> <camunda:in source="disableRollback" target="disableRollback" /> - <camunda:in source="uuiRequest" target="uuiRequest" /> + <camunda:in source="serviceInputParams" target="serviceInputParams" /> <camunda:out source="rolledBack" target="rolledBack" /> <camunda:out source="serviceInstanceName" target="serviceInstanceName" /> <camunda:in source="failIfExists" target="failIfExists" /> <camunda:in source="globalSubscriberId" target="globalSubscriberId" /> - <camunda:in source="serviceType" target="serviceType" /> + <camunda:in source="subscriptionServiceType" target="subscriptionServiceType" /> + <camunda:in sourceExpression="1610" target="sdncVersion" /> <camunda:in source="initialStatus" target="initialStatus" /> - <camunda:in source="operationId" target="operationId" /> - <camunda:in source="operationType" target="operationType" /> - <camunda:in source="URN_mso_adapters_openecomp_db_endpoint" target="URN_mso_adapters_openecomp_db_endpoint" /> </bpmn:extensionElements> <bpmn:incoming>SequenceFlow_19eilro</bpmn:incoming> <bpmn:outgoing>SequenceFlow_0klbpxx</bpmn:outgoing> diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateGenericALaCarteServiceInstance.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateGenericALaCarteServiceInstance.bpmn index acf380f866..6088fda4a3 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateGenericALaCarteServiceInstance.bpmn +++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateGenericALaCarteServiceInstance.bpmn @@ -27,9 +27,6 @@ ex.processJavaException(execution)]]></bpmn2:script> <camunda:out source="WorkflowException" target="WorkflowException" /> <camunda:in source="msoRequestId" target="msoRequestId" /> <camunda:out source="rollbackData" target="rollbackData" /> - <camunda:in source="serviceInstanceId" target="serviceInstanceId" /> - <camunda:in source="serviceInstanceName" target="serviceInstanceName" /> - <camunda:in source="serviceModelInfo" target="serviceModelInfo" /> <camunda:in source="productFamilyId" target="productFamilyId" /> <camunda:in source="disableRollback" target="disableRollback" /> <camunda:in source="serviceInputParams" target="serviceInputParams" /> @@ -39,9 +36,10 @@ ex.processJavaException(execution)]]></bpmn2:script> <camunda:in source="globalSubscriberId" target="globalSubscriberId" /> <camunda:in source="subscriptionServiceType" target="subscriptionServiceType" /> <camunda:in sourceExpression="1610" target="sdncVersion" /> - <camunda:in source="initialStatus" target="initialStatus" /> + <camunda:in source="serviceDecomposition" target="serviceDecomposition" /> + <camunda:in source="bpmnRequest" target="requestJson" /> </bpmn2:extensionElements> - <bpmn2:incoming>SequenceFlow_0eto8sn</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_1hjh5zy</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_1lj31zp</bpmn2:outgoing> </bpmn2:callActivity> <bpmn2:endEvent id="EndEvent_0o440av" name="End"> @@ -52,7 +50,7 @@ ex.processJavaException(execution)]]></bpmn2:script> <bpmn2:incoming>SequenceFlow_0lp2z7l</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_0ktadna</bpmn2:outgoing> <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* -def csi= new CreateGenericALaCarteServiceInstance() +def csi = new CreateGenericALaCarteServiceInstance() csi.preProcessRequest(execution)]]></bpmn2:script> </bpmn2:scriptTask> <bpmn2:sequenceFlow id="SequenceFlow_0lp2z7l" sourceRef="createSI_startEvent" targetRef="ScriptTask_0pvcr6j" /> @@ -116,10 +114,9 @@ csi.sendSyncError(execution)]]></bpmn2:script> <bpmn2:sequenceFlow id="SequenceFlow_14eadeb" sourceRef="ScriptTask_0o4smqp" targetRef="ScriptTask_1hql91g" /> </bpmn2:subProcess> <bpmn2:sequenceFlow id="SequenceFlow_095crcd" sourceRef="CallActivity_0sevgre" targetRef="EndEvent_0o440av" /> - <bpmn2:sequenceFlow id="SequenceFlow_0eto8sn" sourceRef="Task_1nko5zz" targetRef="doCreateServiceInstance_CallActivity" /> <bpmn2:scriptTask id="Task_1nko5zz" name="Send Sync Ack Response" scriptFormat="groovy"> <bpmn2:incoming>SequenceFlow_0ktadna</bpmn2:incoming> - <bpmn2:outgoing>SequenceFlow_0eto8sn</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_16vhtu8</bpmn2:outgoing> <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* def csi = new CreateGenericALaCarteServiceInstance() csi.sendSyncResponse(execution)]]></bpmn2:script> @@ -140,6 +137,54 @@ csi.sendSyncResponse(execution)]]></bpmn2:script> <bpmn2:sequenceFlow id="SequenceFlow_1mdnv3l" name="no" sourceRef="ExclusiveGateway_1x5i9c1" targetRef="EndEvent_143akoz"> <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("WorkflowException") != null}]]></bpmn2:conditionExpression> </bpmn2:sequenceFlow> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0y5991s" name="GoDecompose"> + <bpmn2:incoming>SequenceFlow_16vhtu8</bpmn2:incoming> + <bpmn2:linkEventDefinition name="Decompose" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:sequenceFlow id="SequenceFlow_16vhtu8" sourceRef="Task_1nko5zz" targetRef="IntermediateThrowEvent_0y5991s" /> + <bpmn2:intermediateCatchEvent id="IntermediateCatchEvent_00tv706" name="Decompose"> + <bpmn2:outgoing>SequenceFlow_1tfe975</bpmn2:outgoing> + <bpmn2:linkEventDefinition name="Decompose" /> + </bpmn2:intermediateCatchEvent> + <bpmn2:intermediateCatchEvent id="IntermediateCatchEvent_1aouco1" name="CreateSI"> + <bpmn2:outgoing>SequenceFlow_1hjh5zy</bpmn2:outgoing> + <bpmn2:linkEventDefinition name="CreateSI" /> + </bpmn2:intermediateCatchEvent> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1tbopzu" name="GoToCreateSI"> + <bpmn2:incoming>SequenceFlow_14ajbme</bpmn2:incoming> + <bpmn2:linkEventDefinition name="CreateSI" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:scriptTask id="ScriptTask_1vr3ks5" name="Prepare Decompose Service " scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_1tfe975</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_0xhu1k3</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def csi= new CreateGenericALaCarteServiceInstance() +csi.prepareDecomposeService(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:callActivity id="CallActivity_1oc1h9q" name="DecomposeService" calledElement="DecomposeService"> + <bpmn2:extensionElements> + <camunda:in source="msoRequestId" target="msoRequestId" /> + <camunda:in source="serviceInstanceId" target="serviceInstanceId" /> + <camunda:in source="serviceModelInfo" target="serviceModelInfo" /> + <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" /> + <camunda:out source="serviceDecomposition" target="serviceDecomposition" /> + <camunda:out source="WorkflowException" target="WorkflowException" /> + </bpmn2:extensionElements> + <bpmn2:incoming>SequenceFlow_0xhu1k3</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_1o3ihrh</bpmn2:outgoing> + </bpmn2:callActivity> + <bpmn2:scriptTask id="ScriptTask_04zaa1o" name="Prepare Create Service " scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_1o3ihrh</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_14ajbme</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def csi= new CreateGenericALaCarteServiceInstance() +csi.prepareCreateServiceInstance(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_0xhu1k3" sourceRef="ScriptTask_1vr3ks5" targetRef="CallActivity_1oc1h9q" /> + <bpmn2:sequenceFlow id="SequenceFlow_1o3ihrh" sourceRef="CallActivity_1oc1h9q" targetRef="ScriptTask_04zaa1o" /> + <bpmn2:sequenceFlow id="SequenceFlow_1tfe975" sourceRef="IntermediateCatchEvent_00tv706" targetRef="ScriptTask_1vr3ks5" /> + <bpmn2:sequenceFlow id="SequenceFlow_14ajbme" sourceRef="ScriptTask_04zaa1o" targetRef="IntermediateThrowEvent_1tbopzu" /> + <bpmn2:sequenceFlow id="SequenceFlow_1hjh5zy" sourceRef="IntermediateCatchEvent_1aouco1" targetRef="doCreateServiceInstance_CallActivity" /> </bpmn2:process> <bpmn2:error id="Error_2" name="MSOWorkflowException" errorCode="MSOWorkflowException" /> <bpmn2:error id="Error_1" name="java.lang.Exception" errorCode="java.lang.Exception" /> @@ -152,51 +197,51 @@ csi.sendSyncResponse(execution)]]></bpmn2:script> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="_BPMNShape_SubProcess_28" bpmnElement="unexpectedErrors_SubProcess" isExpanded="true"> - <dc:Bounds x="222" y="531" width="394" height="188" /> + <dc:Bounds x="300" y="880" width="394" height="188" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="_BPMNShape_StartEvent_71" bpmnElement="StartEvent_1"> - <dc:Bounds x="255" y="608" width="36" height="36" /> + <dc:Bounds x="333" y="957" width="36" height="36" /> <bpmndi:BPMNLabel> - <dc:Bounds x="273" y="649" width="0" height="0" /> + <dc:Bounds x="351" y="998" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_270" bpmnElement="ScriptTask_1"> - <dc:Bounds x="370" y="586" width="100" height="80" /> + <dc:Bounds x="448" y="935" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="_BPMNShape_EndEvent_220" bpmnElement="EndEvent_1"> - <dc:Bounds x="531" y="608" width="36" height="36" /> + <dc:Bounds x="609" y="957" width="36" height="36" /> <bpmndi:BPMNLabel> - <dc:Bounds x="549" y="649" width="0" height="0" /> + <dc:Bounds x="627" y="998" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_5" bpmnElement="SequenceFlow_10" sourceElement="_BPMNShape_StartEvent_71" targetElement="_BPMNShape_ScriptTask_270"> - <di:waypoint xsi:type="dc:Point" x="291" y="626" /> - <di:waypoint xsi:type="dc:Point" x="370" y="626" /> + <di:waypoint xsi:type="dc:Point" x="369" y="975" /> + <di:waypoint xsi:type="dc:Point" x="448" y="975" /> <bpmndi:BPMNLabel> - <dc:Bounds x="333" y="626" width="0" height="0" /> + <dc:Bounds x="411" y="975" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_13" bpmnElement="SequenceFlow_14" sourceElement="_BPMNShape_ScriptTask_270" targetElement="_BPMNShape_EndEvent_220"> - <di:waypoint xsi:type="dc:Point" x="470" y="626" /> - <di:waypoint xsi:type="dc:Point" x="531" y="626" /> + <di:waypoint xsi:type="dc:Point" x="548" y="975" /> + <di:waypoint xsi:type="dc:Point" x="609" y="975" /> <bpmndi:BPMNLabel> - <dc:Bounds x="505" y="626" width="0" height="0" /> + <dc:Bounds x="583" y="975" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="_BPMNShape_CallActivity_72" bpmnElement="doCreateServiceInstance_CallActivity"> - <dc:Bounds x="460" y="57" width="100" height="80" /> + <dc:Bounds x="112" y="452" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="EndEvent_0o440av_di" bpmnElement="EndEvent_0o440av"> - <dc:Bounds x="1017" y="185" width="36" height="36" /> + <dc:Bounds x="852" y="474" width="36" height="36" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1028" y="221" width="20" height="14" /> + <dc:Bounds x="863" y="510" width="20" height="14" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_1lj31zp_di" bpmnElement="SequenceFlow_1lj31zp"> - <di:waypoint xsi:type="dc:Point" x="560" y="97" /> - <di:waypoint xsi:type="dc:Point" x="662" y="97" /> + <di:waypoint xsi:type="dc:Point" x="212" y="492" /> + <di:waypoint xsi:type="dc:Point" x="314" y="492" /> <bpmndi:BPMNLabel> - <dc:Bounds x="611" y="82" width="0" height="0" /> + <dc:Bounds x="263" y="477" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="ScriptTask_0pvcr6j_di" bpmnElement="ScriptTask_0pvcr6j"> @@ -210,128 +255,198 @@ csi.sendSyncResponse(execution)]]></bpmn2:script> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="ScriptTask_0cihgpv_di" bpmnElement="ScriptTask_0cihgpv"> - <dc:Bounds x="797" y="57" width="100" height="80" /> + <dc:Bounds x="449" y="452" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="CallActivity_0sevgre_di" bpmnElement="CallActivity_0sevgre"> - <dc:Bounds x="985" y="57" width="100" height="80" /> + <dc:Bounds x="637" y="452" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_0xxvjxq_di" bpmnElement="SequenceFlow_0xxvjxq"> - <di:waypoint xsi:type="dc:Point" x="897" y="97" /> - <di:waypoint xsi:type="dc:Point" x="985" y="97" /> + <di:waypoint xsi:type="dc:Point" x="549" y="492" /> + <di:waypoint xsi:type="dc:Point" x="637" y="492" /> <bpmndi:BPMNLabel> - <dc:Bounds x="941" y="82" width="0" height="0" /> + <dc:Bounds x="593" y="477" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="ScriptTask_1hql91g_di" bpmnElement="ScriptTask_1hql91g"> - <dc:Bounds x="380" y="333" width="100" height="80" /> + <dc:Bounds x="443" y="731" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="CallActivity_1ksm1dz_di" bpmnElement="CallActivity_1ksm1dz"> - <dc:Bounds x="557" y="333" width="100" height="80" /> + <dc:Bounds x="620" y="731" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="SubProcess_1k2112i_di" bpmnElement="SubProcess_1k2112i" isExpanded="true"> - <dc:Bounds x="107" y="269" width="679" height="194" /> + <dc:Bounds x="170" y="667" width="679" height="194" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="StartEvent_110xxgx_di" bpmnElement="StartEvent_110xxgx"> - <dc:Bounds x="122" y="355" width="36" height="36" /> + <dc:Bounds x="185" y="753" width="36" height="36" /> <bpmndi:BPMNLabel> - <dc:Bounds x="140" y="396" width="0" height="0" /> + <dc:Bounds x="203" y="794" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="EndEvent_1rqikib_di" bpmnElement="EndEvent_1rqikib"> - <dc:Bounds x="701" y="355" width="36" height="36" /> + <dc:Bounds x="764" y="753" width="36" height="36" /> <bpmndi:BPMNLabel> - <dc:Bounds x="719" y="396" width="0" height="0" /> + <dc:Bounds x="782" y="794" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_1reso2f_di" bpmnElement="SequenceFlow_1reso2f"> - <di:waypoint xsi:type="dc:Point" x="480" y="373" /> - <di:waypoint xsi:type="dc:Point" x="557" y="373" /> + <di:waypoint xsi:type="dc:Point" x="543" y="771" /> + <di:waypoint xsi:type="dc:Point" x="620" y="771" /> <bpmndi:BPMNLabel> - <dc:Bounds x="519" y="358" width="0" height="0" /> + <dc:Bounds x="582" y="756" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_1ghqolv_di" bpmnElement="SequenceFlow_1ghqolv"> - <di:waypoint xsi:type="dc:Point" x="657" y="373" /> - <di:waypoint xsi:type="dc:Point" x="701" y="373" /> + <di:waypoint xsi:type="dc:Point" x="720" y="771" /> + <di:waypoint xsi:type="dc:Point" x="764" y="771" /> <bpmndi:BPMNLabel> - <dc:Bounds x="679" y="358" width="0" height="0" /> + <dc:Bounds x="742" y="756" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_095crcd_di" bpmnElement="SequenceFlow_095crcd"> - <di:waypoint xsi:type="dc:Point" x="1035" y="137" /> - <di:waypoint xsi:type="dc:Point" x="1035" y="185" /> + <di:waypoint xsi:type="dc:Point" x="737" y="492" /> + <di:waypoint xsi:type="dc:Point" x="852" y="492" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1050" y="161" width="0" height="0" /> + <dc:Bounds x="795" y="477" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_0n4umjf_di" bpmnElement="SequenceFlow_0n4umjf"> - <di:waypoint xsi:type="dc:Point" x="158" y="373" /> - <di:waypoint xsi:type="dc:Point" x="180" y="373" /> - <di:waypoint xsi:type="dc:Point" x="180" y="373" /> - <di:waypoint xsi:type="dc:Point" x="201" y="373" /> + <di:waypoint xsi:type="dc:Point" x="221" y="771" /> + <di:waypoint xsi:type="dc:Point" x="243" y="771" /> + <di:waypoint xsi:type="dc:Point" x="243" y="771" /> + <di:waypoint xsi:type="dc:Point" x="264" y="771" /> <bpmndi:BPMNLabel> - <dc:Bounds x="195" y="373" width="0" height="0" /> - </bpmndi:BPMNLabel> - </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_0eto8sn_di" bpmnElement="SequenceFlow_0eto8sn"> - <di:waypoint xsi:type="dc:Point" x="380" y="97" /> - <di:waypoint xsi:type="dc:Point" x="460" y="97" /> - <bpmndi:BPMNLabel> - <dc:Bounds x="420" y="82" width="0" height="0" /> + <dc:Bounds x="258" y="771" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="ScriptTask_1rb2dsd_di" bpmnElement="Task_1nko5zz"> - <dc:Bounds x="280" y="57" width="100" height="80" /> + <dc:Bounds x="342" y="57" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_0ktadna_di" bpmnElement="SequenceFlow_0ktadna"> <di:waypoint xsi:type="dc:Point" x="212" y="97" /> - <di:waypoint xsi:type="dc:Point" x="280" y="97" /> + <di:waypoint xsi:type="dc:Point" x="342" y="97" /> <bpmndi:BPMNLabel> - <dc:Bounds x="246" y="82" width="0" height="0" /> + <dc:Bounds x="277" y="82" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="ScriptTask_0o4smqp_di" bpmnElement="ScriptTask_0o4smqp"> - <dc:Bounds x="202" y="333" width="100" height="80" /> + <dc:Bounds x="265" y="731" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_14eadeb_di" bpmnElement="SequenceFlow_14eadeb"> - <di:waypoint xsi:type="dc:Point" x="302" y="373" /> - <di:waypoint xsi:type="dc:Point" x="329" y="373" /> - <di:waypoint xsi:type="dc:Point" x="329" y="373" /> - <di:waypoint xsi:type="dc:Point" x="380" y="373" /> + <di:waypoint xsi:type="dc:Point" x="365" y="771" /> + <di:waypoint xsi:type="dc:Point" x="392" y="771" /> + <di:waypoint xsi:type="dc:Point" x="392" y="771" /> + <di:waypoint xsi:type="dc:Point" x="443" y="771" /> <bpmndi:BPMNLabel> - <dc:Bounds x="344" y="373" width="0" height="0" /> + <dc:Bounds x="407" y="771" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="ExclusiveGateway_1x5i9c1_di" bpmnElement="ExclusiveGateway_1x5i9c1" isMarkerVisible="true"> - <dc:Bounds x="662" y="72" width="50" height="50" /> + <dc:Bounds x="314" y="467" width="50" height="50" /> <bpmndi:BPMNLabel> - <dc:Bounds x="662" y="44" width="50" height="14" /> + <dc:Bounds x="314" y="439" width="50" height="14" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="EndEvent_143akoz_di" bpmnElement="EndEvent_143akoz"> - <dc:Bounds x="669" y="185" width="36" height="36" /> + <dc:Bounds x="321" y="580" width="36" height="36" /> <bpmndi:BPMNLabel> - <dc:Bounds x="687" y="221" width="0" height="0" /> + <dc:Bounds x="417" y="965" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_1o4wwba_di" bpmnElement="SequenceFlow_1o4wwba"> - <di:waypoint xsi:type="dc:Point" x="712" y="97" /> - <di:waypoint xsi:type="dc:Point" x="749" y="97" /> - <di:waypoint xsi:type="dc:Point" x="749" y="97" /> - <di:waypoint xsi:type="dc:Point" x="797" y="97" /> + <di:waypoint xsi:type="dc:Point" x="364" y="492" /> + <di:waypoint xsi:type="dc:Point" x="401" y="492" /> + <di:waypoint xsi:type="dc:Point" x="401" y="492" /> + <di:waypoint xsi:type="dc:Point" x="449" y="492" /> <bpmndi:BPMNLabel> - <dc:Bounds x="747" y="94" width="18" height="14" /> + <dc:Bounds x="399" y="489" width="18" height="14" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_1mdnv3l_di" bpmnElement="SequenceFlow_1mdnv3l"> - <di:waypoint xsi:type="dc:Point" x="687" y="122" /> - <di:waypoint xsi:type="dc:Point" x="687" y="149" /> - <di:waypoint xsi:type="dc:Point" x="687" y="149" /> - <di:waypoint xsi:type="dc:Point" x="687" y="185" /> + <di:waypoint xsi:type="dc:Point" x="339" y="517" /> + <di:waypoint xsi:type="dc:Point" x="339" y="544" /> + <di:waypoint xsi:type="dc:Point" x="339" y="544" /> + <di:waypoint xsi:type="dc:Point" x="339" y="580" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="313" y="522" width="12" height="14" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="IntermediateThrowEvent_0y5991s_di" bpmnElement="IntermediateThrowEvent_0y5991s"> + <dc:Bounds x="587" y="79" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="568" y="120" width="74" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_16vhtu8_di" bpmnElement="SequenceFlow_16vhtu8"> + <di:waypoint xsi:type="dc:Point" x="442" y="97" /> + <di:waypoint xsi:type="dc:Point" x="587" y="97" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="515" y="82" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="IntermediateCatchEvent_00tv706_di" bpmnElement="IntermediateCatchEvent_00tv706"> + <dc:Bounds x="-6" y="272" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="-19" y="308" width="59" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateCatchEvent_1aouco1_di" bpmnElement="IntermediateCatchEvent_1aouco1"> + <dc:Bounds x="-6" y="474" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="-11" y="510" width="43" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateThrowEvent_1tbopzu_di" bpmnElement="IntermediateThrowEvent_1tbopzu"> + <dc:Bounds x="852" y="272" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="835" y="313" width="70" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ScriptTask_1vr3ks5_di" bpmnElement="ScriptTask_1vr3ks5"> + <dc:Bounds x="112" y="250" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="CallActivity_1oc1h9q_di" bpmnElement="CallActivity_1oc1h9q"> + <dc:Bounds x="342" y="250" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ScriptTask_04zaa1o_di" bpmnElement="ScriptTask_04zaa1o"> + <dc:Bounds x="555" y="250" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_0xhu1k3_di" bpmnElement="SequenceFlow_0xhu1k3"> + <di:waypoint xsi:type="dc:Point" x="212" y="290" /> + <di:waypoint xsi:type="dc:Point" x="342" y="290" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="277" y="275" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_1o3ihrh_di" bpmnElement="SequenceFlow_1o3ihrh"> + <di:waypoint xsi:type="dc:Point" x="442" y="290" /> + <di:waypoint xsi:type="dc:Point" x="555" y="290" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="499" y="275" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_1tfe975_di" bpmnElement="SequenceFlow_1tfe975"> + <di:waypoint xsi:type="dc:Point" x="30" y="290" /> + <di:waypoint xsi:type="dc:Point" x="69" y="290" /> + <di:waypoint xsi:type="dc:Point" x="69" y="290" /> + <di:waypoint xsi:type="dc:Point" x="112" y="290" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="84" y="290" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_14ajbme_di" bpmnElement="SequenceFlow_14ajbme"> + <di:waypoint xsi:type="dc:Point" x="655" y="290" /> + <di:waypoint xsi:type="dc:Point" x="852" y="290" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="754" y="265" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_1hjh5zy_di" bpmnElement="SequenceFlow_1hjh5zy"> + <di:waypoint xsi:type="dc:Point" x="30" y="492" /> + <di:waypoint xsi:type="dc:Point" x="112" y="492" /> <bpmndi:BPMNLabel> - <dc:Bounds x="661" y="126.56139708236196" width="12" height="12" /> + <dc:Bounds x="71" y="467" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> </bpmndi:BPMNPlane> </bpmndi:BPMNDiagram> -</bpmn2:definitions> +</bpmn2:definitions>
\ No newline at end of file diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateNetworkInstance.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateNetworkInstance.bpmn index 0316e26d9a..c9d4720628 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateNetworkInstance.bpmn +++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateNetworkInstance.bpmn @@ -112,30 +112,8 @@ CreateNetworkInstance.prepareCompletion(execution)]]></bpmn2:script> def CreateNetworkInstance = new CreateNetworkInstance() CreateNetworkInstance.prepareDBRequestError(execution)]]></bpmn2:script> </bpmn2:scriptTask> - <bpmn2:serviceTask id="ServiceTask_0sztuly" name="Call DB Infra Error Update"> - <bpmn2:extensionElements> - <camunda:connector> - <camunda:inputOutput> - <camunda:inputParameter name="url">${URN_mso_adapters_openecomp_db_endpoint}</camunda:inputParameter> - <camunda:inputParameter name="payload">${CRENI_createDBRequest}</camunda:inputParameter> - <camunda:inputParameter name="headers"> - <camunda:map> - <camunda:entry key="content-type">application/soap+xml</camunda:entry> - <camunda:entry key="Authorization">#{BasicAuthHeaderValueDB}</camunda:entry> - </camunda:map> - </camunda:inputParameter> - <camunda:inputParameter name="method">POST</camunda:inputParameter> - <camunda:outputParameter name="CRENI_createDBResponse">${response}</camunda:outputParameter> - <camunda:outputParameter name="CRENI_dbReturnCode">${statusCode}</camunda:outputParameter> - </camunda:inputOutput> - <camunda:connectorId>http-connector</camunda:connectorId> - </camunda:connector> - </bpmn2:extensionElements> - <bpmn2:incoming>SequenceFlow_1s5niqb</bpmn2:incoming> - <bpmn2:outgoing>SequenceFlow_06s5eu4</bpmn2:outgoing> - </bpmn2:serviceTask> <bpmn2:scriptTask id="ScriptTask_1hql91g" name="Prepare FalloutHandler" scriptFormat="groovy"> - <bpmn2:incoming>SequenceFlow_06s5eu4</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_1s5niqb</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_1reso2f</bpmn2:outgoing> <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* def CreateNetworkInstance = new CreateNetworkInstance() @@ -153,8 +131,7 @@ CreateNetworkInstance.buildErrorResponse(execution)]]></bpmn2:script> <bpmn2:incoming>SequenceFlow_1reso2f</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_1ghqolv</bpmn2:outgoing> </bpmn2:callActivity> - <bpmn2:sequenceFlow id="SequenceFlow_1s5niqb" sourceRef="ScriptTask_1akfe0b" targetRef="ServiceTask_0sztuly" /> - <bpmn2:sequenceFlow id="SequenceFlow_06s5eu4" sourceRef="ServiceTask_0sztuly" targetRef="ScriptTask_1hql91g" /> + <bpmn2:sequenceFlow id="SequenceFlow_1s5niqb" sourceRef="ScriptTask_1akfe0b" targetRef="ScriptTask_1hql91g" /> <bpmn2:sequenceFlow id="SequenceFlow_1reso2f" sourceRef="ScriptTask_1hql91g" targetRef="CallActivity_1ksm1dz" /> <bpmn2:sequenceFlow id="SequenceFlow_1ghqolv" sourceRef="CallActivity_1ksm1dz" targetRef="EndEvent_1rqikib" /> <bpmn2:sequenceFlow id="SequenceFlow_0n4umjf" sourceRef="StartEvent_110xxgx" targetRef="ScriptTask_1akfe0b" /> @@ -273,10 +250,7 @@ CreateNetworkInstance.sendSyncResponse(execution)]]></bpmn2:script> <dc:Bounds x="1071" y="57" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="ScriptTask_1akfe0b_di" bpmnElement="ScriptTask_1akfe0b"> - <dc:Bounds x="258" y="520" width="100" height="80" /> - </bpmndi:BPMNShape> - <bpmndi:BPMNShape id="ServiceTask_0sztuly_di" bpmnElement="ServiceTask_0sztuly"> - <dc:Bounds x="453" y="520" width="100" height="80" /> + <dc:Bounds x="300" y="520" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_0xxvjxq_di" bpmnElement="SequenceFlow_0xxvjxq"> <di:waypoint xsi:type="dc:Point" x="1007" y="97" /> @@ -286,7 +260,7 @@ CreateNetworkInstance.sendSyncResponse(execution)]]></bpmn2:script> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="ScriptTask_1hql91g_di" bpmnElement="ScriptTask_1hql91g"> - <dc:Bounds x="632" y="520" width="100" height="80" /> + <dc:Bounds x="543" y="520" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="CallActivity_1ksm1dz_di" bpmnElement="CallActivity_1ksm1dz"> <dc:Bounds x="807" y="520" width="100" height="80" /> @@ -307,24 +281,17 @@ CreateNetworkInstance.sendSyncResponse(execution)]]></bpmn2:script> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_1s5niqb_di" bpmnElement="SequenceFlow_1s5niqb"> - <di:waypoint xsi:type="dc:Point" x="358" y="560" /> - <di:waypoint xsi:type="dc:Point" x="453" y="560" /> - <bpmndi:BPMNLabel> - <dc:Bounds x="406" y="545" width="0" height="0" /> - </bpmndi:BPMNLabel> - </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_06s5eu4_di" bpmnElement="SequenceFlow_06s5eu4"> - <di:waypoint xsi:type="dc:Point" x="553" y="560" /> - <di:waypoint xsi:type="dc:Point" x="632" y="560" /> + <di:waypoint xsi:type="dc:Point" x="400" y="560" /> + <di:waypoint xsi:type="dc:Point" x="543" y="560" /> <bpmndi:BPMNLabel> - <dc:Bounds x="593" y="545" width="0" height="0" /> + <dc:Bounds x="472" y="545" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_1reso2f_di" bpmnElement="SequenceFlow_1reso2f"> - <di:waypoint xsi:type="dc:Point" x="732" y="560" /> + <di:waypoint xsi:type="dc:Point" x="643" y="560" /> <di:waypoint xsi:type="dc:Point" x="807" y="560" /> <bpmndi:BPMNLabel> - <dc:Bounds x="770" y="545" width="0" height="0" /> + <dc:Bounds x="725" y="545" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_1ghqolv_di" bpmnElement="SequenceFlow_1ghqolv"> @@ -343,9 +310,9 @@ CreateNetworkInstance.sendSyncResponse(execution)]]></bpmn2:script> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_0n4umjf_di" bpmnElement="SequenceFlow_0n4umjf"> <di:waypoint xsi:type="dc:Point" x="188" y="560" /> - <di:waypoint xsi:type="dc:Point" x="258" y="560" /> + <di:waypoint xsi:type="dc:Point" x="300" y="560" /> <bpmndi:BPMNLabel> - <dc:Bounds x="223" y="545" width="0" height="0" /> + <dc:Bounds x="244" y="545" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_0rt8wax_di" bpmnElement="SequenceFlow_0rt8wax"> diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateSDNCNetworkResource.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateSDNCNetworkResource.bpmn index 5f3caf59f7..c88f78763b 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateSDNCNetworkResource.bpmn +++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateSDNCNetworkResource.bpmn @@ -36,7 +36,7 @@ dcsi.preProcessRequest(execution)]]></bpmn:script> <bpmn:outgoing>SequenceFlow_0ow44q0</bpmn:outgoing> <bpmn:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* def dcsi = new CreateSDNCNetworkResource() -dcsi.postCreateSDNC(execution)]]></bpmn:script> +dcsi.postCreateSDNCCall(execution)]]></bpmn:script> </bpmn:scriptTask> </bpmn:process> <bpmndi:BPMNDiagram id="BPMNDiagram_1"> diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateVFCNSResource.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateVFCNSResource.bpmn index 29dbca4e55..e4254f2d9e 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateVFCNSResource.bpmn +++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateVFCNSResource.bpmn @@ -11,21 +11,21 @@ <bpmn:incoming>SequenceFlow_0khtova</bpmn:incoming> <bpmn:outgoing>SequenceFlow_1uiz85h</bpmn:outgoing> <bpmn:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* -def dcsi = new DoCreateVFCNetworkServiceInstance() +def dcsi = new CreateVFCNSResource() dcsi.createNetworkService(execution)]]></bpmn:script> </bpmn:scriptTask> <bpmn:scriptTask id="PreprocessIncomingRequest_task" name="Preprocess Incoming Request" scriptFormat="groovy"> <bpmn:incoming>SequenceFlow_1qo2pln</bpmn:incoming> <bpmn:outgoing>SequenceFlow_0khtova</bpmn:outgoing> <bpmn:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* -def dcsi = new DoCreateVFCNetworkServiceInstance() +def dcsi = new CreateVFCNSResource() dcsi.preProcessRequest(execution)]]></bpmn:script> </bpmn:scriptTask> <bpmn:scriptTask id="instantiate_NSTask" name="Instantiate Network Service" scriptFormat="groovy"> <bpmn:incoming>createNSSuccess_SequenceFlow</bpmn:incoming> <bpmn:outgoing>SequenceFlow_1ywe21t</bpmn:outgoing> <bpmn:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* -def dcsi = new DoCreateVFCNetworkServiceInstance() +def dcsi = new CreateVFCNSResource() dcsi.instantiateNetworkService(execution)]]></bpmn:script> </bpmn:scriptTask> <bpmn:exclusiveGateway id="ExclusiveGateway_0zfksms" name="Create NS Success?"> @@ -34,10 +34,10 @@ dcsi.instantiateNetworkService(execution)]]></bpmn:script> <bpmn:outgoing>createNSFailed_SequenceFlow</bpmn:outgoing> </bpmn:exclusiveGateway> <bpmn:sequenceFlow id="createNSSuccess_SequenceFlow" name="yes" sourceRef="ExclusiveGateway_0zfksms" targetRef="instantiate_NSTask"> - <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[#{(execution.getVariable("nsInstanceId" ) != null && execution.getVariable("nsInstanceId" ) != "" )}]]></bpmn:conditionExpression> + <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[#{(execution.getVariable("nsInstanceName" ) != null && execution.getVariable("nsInstanceName" ) != "" )}]]></bpmn:conditionExpression> </bpmn:sequenceFlow> <bpmn:sequenceFlow id="createNSFailed_SequenceFlow" name="no" sourceRef="ExclusiveGateway_0zfksms" targetRef="createNSFailed_EndEvent"> - <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[#{(execution.getVariable("nsInstanceId" ) == null || execution.getVariable("nsInstanceId" ) == "" )}]]></bpmn:conditionExpression> + <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[#{(execution.getVariable("nsInstanceName" ) == null || execution.getVariable("nsInstanceName" ) == "" )}]]></bpmn:conditionExpression> </bpmn:sequenceFlow> <bpmn:exclusiveGateway id="ExclusiveGateway_1is7zys" name="Instantiate NS Success?"> <bpmn:incoming>SequenceFlow_1ywe21t</bpmn:incoming> @@ -77,14 +77,14 @@ dcsi.instantiateNetworkService(execution)]]></bpmn:script> <bpmn:incoming>SequenceFlow_1gsbpxj</bpmn:incoming> <bpmn:outgoing>SequenceFlow_0xqo13p</bpmn:outgoing> <bpmn:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* -def dcsi = new DoCreateVFCNetworkServiceInstance() +def dcsi = new CreateVFCNSResource() dcsi.queryNSProgress(execution)]]></bpmn:script> </bpmn:scriptTask> - <bpmn:scriptTask id="finishNSCreate_Task" name="Add NS RelationShip" scriptFormat="groovy"> + <bpmn:scriptTask id="finishNSCreate_Task" name="Finish NS Create"> <bpmn:incoming>operationFinished_SequenceFlow</bpmn:incoming> <bpmn:outgoing>SequenceFlow_0cq2q6g</bpmn:outgoing> <bpmn:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* -def dcsi = new DoCreateVFCNetworkServiceInstance() +def dcsi = new CreateVFCNSResource() dcsi.addNSRelationship(execution)]]></bpmn:script> </bpmn:scriptTask> <bpmn:sequenceFlow id="SequenceFlow_0xqo13p" sourceRef="queryJob_Task" targetRef="ExclusiveGateway_15492gl" /> @@ -92,13 +92,13 @@ dcsi.addNSRelationship(execution)]]></bpmn:script> <bpmn:incoming>operationProcessing_SequenceFlow</bpmn:incoming> <bpmn:outgoing>SequenceFlow_1gsbpxj</bpmn:outgoing> <bpmn:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* -def dcsi = new DoCreateVFCNetworkServiceInstance() +def dcsi = new CreateVFCNSResource() dcsi.timeDelay(execution)]]></bpmn:script> </bpmn:scriptTask> <bpmn:sequenceFlow id="SequenceFlow_1gsbpxj" sourceRef="timeDelay_Task" targetRef="queryJob_Task" /> </bpmn:process> <bpmndi:BPMNDiagram id="BPMNDiagram_1"> - <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="DoCreateVFCNetworkServiceInstance"> + <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="CreateVFCNSResource"> <bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="createNS_StartEvent"> <dc:Bounds x="175" y="111" width="36" height="36" /> <bpmndi:BPMNLabel> @@ -258,4 +258,4 @@ dcsi.timeDelay(execution)]]></bpmn:script> </bpmndi:BPMNEdge> </bpmndi:BPMNPlane> </bpmndi:BPMNDiagram> -</bpmn:definitions>
\ No newline at end of file +</bpmn:definitions> diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateVcpeResCustService.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateVcpeResCustService.bpmn index 9fe6815570..2120e120a9 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateVcpeResCustService.bpmn +++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateVcpeResCustService.bpmn @@ -1,5 +1,5 @@ <?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.9.0" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd"> +<bpmn2:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns: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.8.2" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd"> <bpmn2:process id="CreateVcpeResCustService" name="CreateVcpeResCustService" isExecutable="true"> <bpmn2:scriptTask id="sendSyncAckResponse_ScriptTask" name="Send Sync Ack Response" scriptFormat="groovy"> <bpmn2:incoming>SequenceFlow_7</bpmn2:incoming> @@ -101,6 +101,7 @@ ex.processJavaException(execution)]]></bpmn2:script> <camunda:in source="subscriptionServiceType" target="subscriptionServiceType" /> <camunda:in source="productFamilyId" target="productFamilyId" /> <camunda:in source="sdncVersion" target="sdncVersion" /> + <camunda:in source="bpmnRequest" target="requestJson" /> </bpmn2:extensionElements> <bpmn2:incoming>SequenceFlow_0j6sjye</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_1ky2sv9</bpmn2:outgoing> diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateVfModuleInfra.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateVfModuleInfra.bpmn index 84ab4177e2..0abbdd1c6d 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateVfModuleInfra.bpmn +++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateVfModuleInfra.bpmn @@ -37,6 +37,7 @@ <camunda:in source="CVFMI_vfModuleModelInfo" target="vfModuleModelInfo" /> <camunda:in source="CVFMI_usePreload" target="usePreload" /> <camunda:in source="CVFMI_vfModuleInputParams" target="vfModuleInputParams" /> + <camunda:in source="CVFMI_aLaCarte" target="aLaCarte" /> </bpmn2:extensionElements> <bpmn2:incoming>SequenceFlow_7</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_4</bpmn2:outgoing> diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateVnfInfra.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateVnfInfra.bpmn index e78bde6f29..441e684b89 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateVnfInfra.bpmn +++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateVnfInfra.bpmn @@ -1,5 +1,5 @@ <?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="_DkzPAHB4EeaJwpcpVN5gXw" targetNamespace="http://camunda.org/schema/1.0/bpmn" exporter="Camunda Modeler" exporterVersion="1.4.0" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd"> +<bpmn2:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns: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="_DkzPAHB4EeaJwpcpVN5gXw" targetNamespace="http://camunda.org/schema/1.0/bpmn" exporter="Camunda Modeler" exporterVersion="1.8.2" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd"> <bpmn2:process id="CreateVnfInfra" name="CreateVnfInfra" isExecutable="true"> <bpmn2:startEvent id="StartEvent_1"> <bpmn2:outgoing>SequenceFlow_1</bpmn2:outgoing> @@ -41,7 +41,7 @@ createVnf.sendSyncResponse(execution)]]></bpmn2:script> <camunda:in source="CREVI_vnfResourceDecomposition" target="vnfResourceDecomposition" /> </bpmn2:extensionElements> <bpmn2:incoming>SequenceFlow_0ed0uiq</bpmn2:incoming> - <bpmn2:outgoing>SequenceFlow_0lso26t</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_0w0m5fr</bpmn2:outgoing> </bpmn2:callActivity> <bpmn2:subProcess id="javaErrorHandlingSubProcess" name="Java Exception Handling Sub Process" triggeredByEvent="true"> <bpmn2:scriptTask id="processJavaError" name="Process Error" scriptFormat="groovy"> @@ -100,7 +100,7 @@ createVnf.sendErrorResponse(execution)]]></bpmn2:script> <bpmn2:sequenceFlow id="SequenceFlow_12" name="" sourceRef="StartEvent_3" targetRef="sendErrorResponse" /> </bpmn2:subProcess> <bpmn2:scriptTask id="postProcess" name="Prepare Completion Handler" scriptFormat="groovy"> - <bpmn2:incoming>SequenceFlow_0lso26t</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_01mjjk3</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_16</bpmn2:outgoing> <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* CreateVnfInfra createVnf = new CreateVnfInfra() @@ -122,7 +122,6 @@ createVnf.prepareCompletionHandlerRequest(execution)]]></bpmn2:script> <bpmn2:outgoing>SequenceFlow_17</bpmn2:outgoing> </bpmn2:callActivity> <bpmn2:sequenceFlow id="SequenceFlow_17" name="" sourceRef="callCompletionHandler" targetRef="EndEvent_3" /> - <bpmn2:sequenceFlow id="SequenceFlow_0lso26t" sourceRef="CreateVNF" targetRef="postProcess" /> <bpmn2:sequenceFlow id="SequenceFlow_0ed0uiq" sourceRef="QueryCatalogDB" targetRef="CreateVNF" /> <bpmn2:scriptTask id="QueryCatalogDB" name="Query Catalog DB" scriptFormat="groovy"> <bpmn2:incoming>SequenceFlow_3</bpmn2:incoming> @@ -131,6 +130,23 @@ createVnf.prepareCompletionHandlerRequest(execution)]]></bpmn2:script> CreateVnfInfra createVnf = new CreateVnfInfra() createVnf.queryCatalogDB(execution)]]></bpmn2:script> </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_0w0m5fr" sourceRef="CreateVNF" targetRef="Task_1gmhhag" /> + <bpmn2:sequenceFlow id="SequenceFlow_0s4i7px" sourceRef="Task_1gmhhag" targetRef="Task_1307onz" /> + <bpmn2:sequenceFlow id="SequenceFlow_01mjjk3" sourceRef="Task_1307onz" targetRef="postProcess" /> + <bpmn2:scriptTask id="Task_1gmhhag" name="Create Platform" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_0w0m5fr</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_0s4i7px</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +CreateVnfInfra createVnf = new CreateVnfInfra() +createVnf.createPlatform(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:scriptTask id="Task_1307onz" name="Create Line-of-Business" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_0s4i7px</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_01mjjk3</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +CreateVnfInfra createVnf = new CreateVnfInfra() +createVnf.createLineOfBusiness(execution)]]></bpmn2:script> + </bpmn2:scriptTask> </bpmn2:process> <bpmn2:error id="Error_1" name="Java Lang Exception" errorCode="java.lang.Exception" /> <bpmn2:error id="Error_2" name="MSO Workflow Exception" errorCode="MSOWorkflowException" /> @@ -173,9 +189,9 @@ createVnf.queryCatalogDB(execution)]]></bpmn2:script> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="_BPMNShape_EndEvent_228" bpmnElement="EndEvent_3"> - <dc:Bounds x="1090" y="222" width="36" height="36" /> + <dc:Bounds x="1340" y="222" width="36" height="36" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1108" y="263" width="0" height="0" /> + <dc:Bounds x="1313" y="263" width="90" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="_BPMNShape_SubProcess_32" bpmnElement="javaErrorHandlingSubProcess" isExpanded="true"> @@ -263,30 +279,23 @@ createVnf.queryCatalogDB(execution)]]></bpmn2:script> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_325" bpmnElement="postProcess"> - <dc:Bounds x="766" y="200" width="100" height="80" /> + <dc:Bounds x="1042" y="200" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_20" bpmnElement="SequenceFlow_16" sourceElement="_BPMNShape_ScriptTask_325" targetElement="_BPMNShape_CallActivity_69"> - <di:waypoint xsi:type="dc:Point" x="866" y="240" /> - <di:waypoint xsi:type="dc:Point" x="907" y="240" /> + <di:waypoint xsi:type="dc:Point" x="1142" y="240" /> + <di:waypoint xsi:type="dc:Point" x="1192" y="240" /> <bpmndi:BPMNLabel> - <dc:Bounds x="887" y="225" width="0" height="0" /> + <dc:Bounds x="1122" y="225" width="90" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="_BPMNShape_CallActivity_69" bpmnElement="callCompletionHandler"> - <dc:Bounds x="907" y="200" width="100" height="80" /> + <dc:Bounds x="1192" y="200" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_21" bpmnElement="SequenceFlow_17" sourceElement="_BPMNShape_CallActivity_69" targetElement="_BPMNShape_EndEvent_228"> - <di:waypoint xsi:type="dc:Point" x="1007" y="240" /> - <di:waypoint xsi:type="dc:Point" x="1090" y="240" /> + <di:waypoint xsi:type="dc:Point" x="1292" y="240" /> + <di:waypoint xsi:type="dc:Point" x="1340" y="240" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1049" y="225" width="0" height="0" /> - </bpmndi:BPMNLabel> - </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_0lso26t_di" bpmnElement="SequenceFlow_0lso26t"> - <di:waypoint xsi:type="dc:Point" x="718" y="240" /> - <di:waypoint xsi:type="dc:Point" x="766" y="240" /> - <bpmndi:BPMNLabel> - <dc:Bounds x="742" y="225" width="0" height="0" /> + <dc:Bounds x="1271" y="225" width="90" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_0ed0uiq_di" bpmnElement="SequenceFlow_0ed0uiq"> @@ -299,6 +308,33 @@ createVnf.queryCatalogDB(execution)]]></bpmn2:script> <bpmndi:BPMNShape id="ScriptTask_0z4xe39_di" bpmnElement="QueryCatalogDB"> <dc:Bounds x="478" y="200" width="100" height="80" /> </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_0w0m5fr_di" bpmnElement="SequenceFlow_0w0m5fr"> + <di:waypoint xsi:type="dc:Point" x="718" y="240" /> + <di:waypoint xsi:type="dc:Point" x="757" y="240" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="737.5" y="219" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_0s4i7px_di" bpmnElement="SequenceFlow_0s4i7px"> + <di:waypoint xsi:type="dc:Point" x="857" y="240" /> + <di:waypoint xsi:type="dc:Point" x="889" y="240" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="873" y="219" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_01mjjk3_di" bpmnElement="SequenceFlow_01mjjk3"> + <di:waypoint xsi:type="dc:Point" x="989" y="240" /> + <di:waypoint xsi:type="dc:Point" x="1042" y="240" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1015.5" y="219" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ScriptTask_1wah48v_di" bpmnElement="Task_1gmhhag"> + <dc:Bounds x="757" y="200" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ScriptTask_0fy16oq_di" bpmnElement="Task_1307onz"> + <dc:Bounds x="889" y="200" width="100" height="80" /> + </bpmndi:BPMNShape> </bpmndi:BPMNPlane> </bpmndi:BPMNDiagram> </bpmn2:definitions> diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/process/DeleteCustomE2EServiceInstance.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/DeleteCustomE2EServiceInstance.bpmn index 2983589699..289128d95f 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/resources/process/DeleteCustomE2EServiceInstance.bpmn +++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/DeleteCustomE2EServiceInstance.bpmn @@ -139,7 +139,7 @@ csi.sendSyncResponse(execution)]]></bpmn:script> </bpmn:process> <bpmn:error id="Error_1erlsmy" name="MSO Workflow Exception" errorCode="MSOWorkflowException" /> <bpmndi:BPMNDiagram id="BPMNDiagram_1"> - <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="DeleteCustomE2EServiceInstance"> + <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="Process_1"> <bpmndi:BPMNShape id="StartEvent_00m8zen_di" bpmnElement="StartEvent_00m8zen"> <dc:Bounds x="577" y="209" width="36" height="36" /> <bpmndi:BPMNLabel> @@ -150,95 +150,99 @@ csi.sendSyncResponse(execution)]]></bpmn:script> <dc:Bounds x="834" y="660" width="394" height="188" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="CallActivity_1vyx9hu_di" bpmnElement="CallActivity_1vyx9hu"> - <dc:Bounds x="1159" y="187" width="100" height="80" /> + <dc:Bounds x="1121" y="187" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="EndEvent_0db8bs6_di" bpmnElement="EndEvent_0db8bs6"> - <dc:Bounds x="1686" y="304" width="36" height="36" /> + <dc:Bounds x="1646" y="304" width="36" height="36" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1696" y="340" width="22" height="12" /> + <dc:Bounds x="1657" y="340" width="19" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="ScriptTask_0a63hms_di" bpmnElement="ScriptTask_0a63hms"> - <dc:Bounds x="724" y="187" width="100" height="80" /> + <dc:Bounds x="741" y="187" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="ScriptTask_1fzpbop_di" bpmnElement="ScriptTask_1fzpbop"> - <dc:Bounds x="1493" y="187" width="100" height="80" /> + <dc:Bounds x="1453" y="187" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="CallActivity_1wx4ihe_di" bpmnElement="CallActivity_1wx4ihe"> - <dc:Bounds x="1654" y="187" width="100" height="80" /> + <dc:Bounds x="1614" y="187" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="SubProcess_1vbcima_di" bpmnElement="SubProcess_1vbcima" isExpanded="true"> <dc:Bounds x="736" y="374" width="679" height="194" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="ScriptTask_1mao77y_di" bpmnElement="ScriptTask_1mao77y"> - <dc:Bounds x="936" y="187" width="100" height="80" /> + <dc:Bounds x="920" y="187" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="ExclusiveGateway_0vu8gx6_di" bpmnElement="ExclusiveGateway_0vu8gx6" isMarkerVisible="true"> - <dc:Bounds x="1358" y="202" width="50" height="50" /> + <dc:Bounds x="1318" y="202" width="50" height="50" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1358" y="174" width="50" height="12" /> + <dc:Bounds x="1318" y="174" width="49" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="EndEvent_1i1g9s6_di" bpmnElement="EndEvent_1i1g9s6"> - <dc:Bounds x="1365" y="304" width="36" height="36" /> + <dc:Bounds x="1325" y="304" width="36" height="36" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1293" y="340" width="90" height="12" /> + <dc:Bounds x="1298" y="340" width="0" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_1wxumid_di" bpmnElement="SequenceFlow_1wxumid"> <di:waypoint xsi:type="dc:Point" x="613" y="227" /> - <di:waypoint xsi:type="dc:Point" x="724" y="227" /> + <di:waypoint xsi:type="dc:Point" x="741" y="227" /> <bpmndi:BPMNLabel> - <dc:Bounds x="623.5" y="206" width="90" height="12" /> + <dc:Bounds x="587" y="212" width="90" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_0zf2qyk_di" bpmnElement="SequenceFlow_0zf2qyk"> - <di:waypoint xsi:type="dc:Point" x="1036" y="227" /> - <di:waypoint xsi:type="dc:Point" x="1159" y="227" /> + <di:waypoint xsi:type="dc:Point" x="1020" y="227" /> + <di:waypoint xsi:type="dc:Point" x="1073" y="227" /> + <di:waypoint xsi:type="dc:Point" x="1073" y="227" /> + <di:waypoint xsi:type="dc:Point" x="1121" y="227" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1052.5" y="206" width="90" height="12" /> + <dc:Bounds x="1043" y="227" width="0" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_07hrbs0_di" bpmnElement="SequenceFlow_07hrbs0"> - <di:waypoint xsi:type="dc:Point" x="1259" y="227" /> - <di:waypoint xsi:type="dc:Point" x="1358" y="227" /> + <di:waypoint xsi:type="dc:Point" x="1221" y="227" /> + <di:waypoint xsi:type="dc:Point" x="1318" y="227" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1263.5" y="206" width="90" height="12" /> + <dc:Bounds x="1225.5" y="212" width="0" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_1ab5l2q_di" bpmnElement="SequenceFlow_1ab5l2q"> - <di:waypoint xsi:type="dc:Point" x="1704" y="267" /> - <di:waypoint xsi:type="dc:Point" x="1704" y="304" /> + <di:waypoint xsi:type="dc:Point" x="1664" y="267" /> + <di:waypoint xsi:type="dc:Point" x="1664" y="304" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1674" y="280" width="90" height="12" /> + <dc:Bounds x="1634" y="279.5" width="90" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_0yowshs_di" bpmnElement="SequenceFlow_0yowshs"> - <di:waypoint xsi:type="dc:Point" x="824" y="227" /> - <di:waypoint xsi:type="dc:Point" x="936" y="227" /> + <di:waypoint xsi:type="dc:Point" x="841" y="227" /> + <di:waypoint xsi:type="dc:Point" x="920" y="227" /> <bpmndi:BPMNLabel> - <dc:Bounds x="835" y="206" width="90" height="12" /> + <dc:Bounds x="835.5" y="206" width="90" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_04urx2e_di" bpmnElement="SequenceFlow_04urx2e"> - <di:waypoint xsi:type="dc:Point" x="1408" y="227" /> - <di:waypoint xsi:type="dc:Point" x="1493" y="227" /> + <di:waypoint xsi:type="dc:Point" x="1368" y="227" /> + <di:waypoint xsi:type="dc:Point" x="1453" y="227" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1410" y="203" width="20" height="12" /> + <dc:Bounds x="1370.25" y="203" width="18" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_1ii935p_di" bpmnElement="SequenceFlow_1ii935p"> - <di:waypoint xsi:type="dc:Point" x="1593" y="227" /> - <di:waypoint xsi:type="dc:Point" x="1654" y="227" /> + <di:waypoint xsi:type="dc:Point" x="1553" y="227" /> + <di:waypoint xsi:type="dc:Point" x="1614" y="227" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1535" y="212" width="90" height="12" /> + <dc:Bounds x="1495" y="212" width="90" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_1t6ekab_di" bpmnElement="SequenceFlow_1t6ekab"> - <di:waypoint xsi:type="dc:Point" x="1383" y="252" /> - <di:waypoint xsi:type="dc:Point" x="1383" y="304" /> + <di:waypoint xsi:type="dc:Point" x="1343" y="252" /> + <di:waypoint xsi:type="dc:Point" x="1343" y="277" /> + <di:waypoint xsi:type="dc:Point" x="1343" y="277" /> + <di:waypoint xsi:type="dc:Point" x="1343" y="304" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1391" y="277" width="15" height="12" /> + <dc:Bounds x="1352" y="277" width="12" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="ScriptTask_1c6ogpt_di" bpmnElement="ScriptTask_1c6ogpt"> diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/process/DeleteNetworkInstance.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/DeleteNetworkInstance.bpmn index 3b5c629182..1e868def58 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/resources/process/DeleteNetworkInstance.bpmn +++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/DeleteNetworkInstance.bpmn @@ -1,113 +1,113 @@ -<?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.4.0" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd">
- <bpmn2:process id="DeleteNetworkInstance" name="DeleteNetworkInstance" isExecutable="true">
- <bpmn2:startEvent id="createNetwork_startEvent" name="Start Flow">
- <bpmn2:outgoing>SequenceFlow_0lp2z7l</bpmn2:outgoing>
- </bpmn2:startEvent>
- <bpmn2:subProcess id="unexpectedErrors_SubProcess" name="Sub-process for UnexpectedErrors" triggeredByEvent="true">
- <bpmn2:scriptTask id="ScriptTask_1" name="Log / Print Unexpected Error" scriptFormat="groovy">
- <bpmn2:incoming>SequenceFlow_10</bpmn2:incoming>
- <bpmn2:outgoing>SequenceFlow_14</bpmn2:outgoing>
+<?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.4.0" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd"> + <bpmn2:process id="DeleteNetworkInstance" name="DeleteNetworkInstance" isExecutable="true"> + <bpmn2:startEvent id="createNetwork_startEvent" name="Start Flow"> + <bpmn2:outgoing>SequenceFlow_0lp2z7l</bpmn2:outgoing> + </bpmn2:startEvent> + <bpmn2:subProcess id="unexpectedErrors_SubProcess" name="Sub-process for UnexpectedErrors" triggeredByEvent="true"> + <bpmn2:scriptTask id="ScriptTask_1" name="Log / Print Unexpected Error" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_10</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_14</bpmn2:outgoing> <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
def networkMod = new DeleteNetworkInstance()
-networkMod.processJavaException(execution)]]></bpmn2:script>
- </bpmn2:scriptTask>
- <bpmn2:sequenceFlow id="SequenceFlow_14" name="" sourceRef="ScriptTask_1" targetRef="EndEvent_1" />
- <bpmn2:startEvent id="StartEvent_1">
- <bpmn2:outgoing>SequenceFlow_10</bpmn2:outgoing>
- <bpmn2:errorEventDefinition id="ErrorEventDefinition_2" errorRef="Error_1" />
- </bpmn2:startEvent>
- <bpmn2:sequenceFlow id="SequenceFlow_10" name="" sourceRef="StartEvent_1" targetRef="ScriptTask_1" />
- <bpmn2:endEvent id="EndEvent_1">
- <bpmn2:incoming>SequenceFlow_14</bpmn2:incoming>
- </bpmn2:endEvent>
- </bpmn2:subProcess>
- <bpmn2:callActivity id="doDeleteNetworkInstance_CallActivity" name="DoDelete Network Instance " calledElement="DoDeleteNetworkInstance">
- <bpmn2:extensionElements>
- <camunda:out source="WorkflowException" target="WorkflowException" />
- <camunda:in source="msoRequestId" target="msoRequestId" />
- <camunda:out source="rollbackData" target="rollbackData" />
- <camunda:in source="networkId" target="networkId" />
- <camunda:in source="networkName" target="networkName" />
- <camunda:in source="networkModelInfo" target="networkModelInfo" />
- <camunda:in source="lcpCloudRegionId" target="lcpCloudRegionId" />
- <camunda:in source="tenantId" target="tenantId" />
- <camunda:in source="productFamilyId" target="productFamilyId" />
- <camunda:in source="disableRollback" target="disableRollback" />
- <camunda:in source="serviceInstanceId" target="serviceInstanceId" />
- <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
- <camunda:in source="networkInputParams" target="networkInputParams" />
- <camunda:out source="rolledBack" target="rolledBack" />
- <camunda:out source="networkId" target="networkId" />
- <camunda:out source="networkName" target="networkName" />
- <camunda:out source="networkOutputParams" target="networkOutputParams" />
- <camunda:in source="bpmnRequest" target="bpmnRequest" />
- <camunda:in source="failIfExists" target="failIfExists" />
- <camunda:in source="sdncVersion" target="sdncVersion" />
- <camunda:in source="requestId" target="requestId" />
- <camunda:in source="serviceInstanceId" target="serviceInstanceId" />
- <camunda:in source="requestAction" target="requestAction" />
- <camunda:in source="mso-request-id" target="mso-request-id" />
- <camunda:in source="subscriptionServiceType" target="subscriptionServiceType" />
- <camunda:in source="globalSubscriberId" target="globalSubscriberId" />
- <camunda:in source="serviceModelInfo" target="serviceModelInfo" />
- </bpmn2:extensionElements>
- <bpmn2:incoming>SequenceFlow_0eto8sn</bpmn2:incoming>
- <bpmn2:outgoing>SequenceFlow_1lj31zp</bpmn2:outgoing>
- </bpmn2:callActivity>
- <bpmn2:endEvent id="EndEvent_0o440av" name="End">
- <bpmn2:incoming>SequenceFlow_0x3znm5</bpmn2:incoming>
- </bpmn2:endEvent>
- <bpmn2:scriptTask id="ScriptTask_09qt0pi" name="DeleteNetwork PostProcess Success " scriptFormat="groovy">
- <bpmn2:incoming>SequenceFlow_095crcd</bpmn2:incoming>
- <bpmn2:outgoing>SequenceFlow_0x3znm5</bpmn2:outgoing>
+networkMod.processJavaException(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_14" name="" sourceRef="ScriptTask_1" targetRef="EndEvent_1" /> + <bpmn2:startEvent id="StartEvent_1"> + <bpmn2:outgoing>SequenceFlow_10</bpmn2:outgoing> + <bpmn2:errorEventDefinition id="ErrorEventDefinition_2" errorRef="Error_1" /> + </bpmn2:startEvent> + <bpmn2:sequenceFlow id="SequenceFlow_10" name="" sourceRef="StartEvent_1" targetRef="ScriptTask_1" /> + <bpmn2:endEvent id="EndEvent_1"> + <bpmn2:incoming>SequenceFlow_14</bpmn2:incoming> + </bpmn2:endEvent> + </bpmn2:subProcess> + <bpmn2:callActivity id="doDeleteNetworkInstance_CallActivity" name="DoDelete Network Instance " calledElement="DoDeleteNetworkInstance"> + <bpmn2:extensionElements> + <camunda:out source="WorkflowException" target="WorkflowException" /> + <camunda:in source="msoRequestId" target="msoRequestId" /> + <camunda:out source="rollbackData" target="rollbackData" /> + <camunda:in source="networkId" target="networkId" /> + <camunda:in source="networkName" target="networkName" /> + <camunda:in source="networkModelInfo" target="networkModelInfo" /> + <camunda:in source="lcpCloudRegionId" target="lcpCloudRegionId" /> + <camunda:in source="tenantId" target="tenantId" /> + <camunda:in source="productFamilyId" target="productFamilyId" /> + <camunda:in source="disableRollback" target="disableRollback" /> + <camunda:in source="serviceInstanceId" target="serviceInstanceId" /> + <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" /> + <camunda:in source="networkInputParams" target="networkInputParams" /> + <camunda:out source="rolledBack" target="rolledBack" /> + <camunda:out source="networkId" target="networkId" /> + <camunda:out source="networkName" target="networkName" /> + <camunda:out source="networkOutputParams" target="networkOutputParams" /> + <camunda:in source="bpmnRequest" target="bpmnRequest" /> + <camunda:in source="failIfExists" target="failIfExists" /> + <camunda:in source="sdncVersion" target="sdncVersion" /> + <camunda:in source="requestId" target="requestId" /> + <camunda:in source="serviceInstanceId" target="serviceInstanceId" /> + <camunda:in source="requestAction" target="requestAction" /> + <camunda:in source="mso-request-id" target="mso-request-id" /> + <camunda:in source="subscriptionServiceType" target="subscriptionServiceType" /> + <camunda:in source="globalSubscriberId" target="globalSubscriberId" /> + <camunda:in source="serviceModelInfo" target="serviceModelInfo" /> + </bpmn2:extensionElements> + <bpmn2:incoming>SequenceFlow_0eto8sn</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_1lj31zp</bpmn2:outgoing> + </bpmn2:callActivity> + <bpmn2:endEvent id="EndEvent_0o440av" name="End"> + <bpmn2:incoming>SequenceFlow_0x3znm5</bpmn2:incoming> + </bpmn2:endEvent> + <bpmn2:scriptTask id="ScriptTask_09qt0pi" name="DeleteNetwork PostProcess Success " scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_095crcd</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_0x3znm5</bpmn2:outgoing> <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
def DeleteNetworkInstance = new DeleteNetworkInstance()
DeleteNetworkInstance.postProcessResponse(execution)
-]]></bpmn2:script>
- </bpmn2:scriptTask>
- <bpmn2:sequenceFlow id="SequenceFlow_1lj31zp" sourceRef="doDeleteNetworkInstance_CallActivity" targetRef="ScriptTask_0cihgpv" />
- <bpmn2:sequenceFlow id="SequenceFlow_0x3znm5" sourceRef="ScriptTask_09qt0pi" targetRef="EndEvent_0o440av" />
- <bpmn2:scriptTask id="ScriptTask_0pvcr6j" name="PreProcess Incoming Request" scriptFormat="groovy">
- <bpmn2:incoming>SequenceFlow_0lp2z7l</bpmn2:incoming>
- <bpmn2:outgoing>SequenceFlow_1ablr60</bpmn2:outgoing>
+]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_1lj31zp" sourceRef="doDeleteNetworkInstance_CallActivity" targetRef="ScriptTask_0cihgpv" /> + <bpmn2:sequenceFlow id="SequenceFlow_0x3znm5" sourceRef="ScriptTask_09qt0pi" targetRef="EndEvent_0o440av" /> + <bpmn2:scriptTask id="ScriptTask_0pvcr6j" name="PreProcess Incoming Request" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_0lp2z7l</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_1ablr60</bpmn2:outgoing> <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
def preProcess = new DeleteNetworkInstance()
-preProcess.preProcessRequest(execution)]]></bpmn2:script>
- </bpmn2:scriptTask>
- <bpmn2:sequenceFlow id="SequenceFlow_0lp2z7l" sourceRef="createNetwork_startEvent" targetRef="ScriptTask_0pvcr6j" />
- <bpmn2:sequenceFlow id="SequenceFlow_1ablr60" sourceRef="ScriptTask_0pvcr6j" targetRef="Task_19xbdbu" />
- <bpmn2:scriptTask id="ScriptTask_0cihgpv" name="Prepare Completion Request" scriptFormat="groovy">
- <bpmn2:incoming>SequenceFlow_1lj31zp</bpmn2:incoming>
- <bpmn2:outgoing>SequenceFlow_0xxvjxq</bpmn2:outgoing>
+preProcess.preProcessRequest(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_0lp2z7l" sourceRef="createNetwork_startEvent" targetRef="ScriptTask_0pvcr6j" /> + <bpmn2:sequenceFlow id="SequenceFlow_1ablr60" sourceRef="ScriptTask_0pvcr6j" targetRef="Task_19xbdbu" /> + <bpmn2:scriptTask id="ScriptTask_0cihgpv" name="Prepare Completion Request" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_1lj31zp</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_0xxvjxq</bpmn2:outgoing> <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
def DeleteNetworkInstance = new DeleteNetworkInstance()
-DeleteNetworkInstance.prepareCompletion(execution)]]></bpmn2:script>
- </bpmn2:scriptTask>
- <bpmn2:callActivity id="CallActivity_0sevgre" name="Call CompleteMsoProcess" calledElement="CompleteMsoProcess">
- <bpmn2:extensionElements>
- <camunda:in source="DELNI_CompleteMsoProcessRequest" target="CompleteMsoProcessRequest" />
- <camunda:in source="mso-request-id" target="mso-request-id" />
- <camunda:in source="mso-service-instance-id" target="mso-service-instance-id" />
- <camunda:out source="CMSO_ResponseCode" target="CMSO_ResponseCode" />
- <camunda:out source="CompleteMsoProcessResponse" target="CompleteMsoProcessResponse" />
- <camunda:out source="CMSO_ErrorResponse" target="CMSO_ErrorResponse" />
- </bpmn2:extensionElements>
- <bpmn2:incoming>SequenceFlow_0xxvjxq</bpmn2:incoming>
- <bpmn2:outgoing>SequenceFlow_095crcd</bpmn2:outgoing>
- </bpmn2:callActivity>
- <bpmn2:sequenceFlow id="SequenceFlow_0xxvjxq" sourceRef="ScriptTask_0cihgpv" targetRef="CallActivity_0sevgre" />
- <bpmn2:subProcess id="SubProcess_1k2112i" name="Sub-process for FalloutHandler" triggeredByEvent="true">
- <bpmn2:startEvent id="StartEvent_110xxgx">
- <bpmn2:outgoing>SequenceFlow_0n4umjf</bpmn2:outgoing>
- <bpmn2:errorEventDefinition errorRef="Error_2" />
- </bpmn2:startEvent>
- <bpmn2:endEvent id="EndEvent_1rqikib">
- <bpmn2:incoming>SequenceFlow_1ghqolv</bpmn2:incoming>
- </bpmn2:endEvent>
- <bpmn2:scriptTask id="ScriptTask_1akfe0b" name="Prepare DB Infra Error" scriptFormat="groovy">
- <bpmn2:incoming>SequenceFlow_0n4umjf</bpmn2:incoming>
- <bpmn2:outgoing>SequenceFlow_1s5niqb</bpmn2:outgoing>
+DeleteNetworkInstance.prepareCompletion(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:callActivity id="CallActivity_0sevgre" name="Call CompleteMsoProcess" calledElement="CompleteMsoProcess"> + <bpmn2:extensionElements> + <camunda:in source="DELNI_CompleteMsoProcessRequest" target="CompleteMsoProcessRequest" /> + <camunda:in source="mso-request-id" target="mso-request-id" /> + <camunda:in source="mso-service-instance-id" target="mso-service-instance-id" /> + <camunda:out source="CMSO_ResponseCode" target="CMSO_ResponseCode" /> + <camunda:out source="CompleteMsoProcessResponse" target="CompleteMsoProcessResponse" /> + <camunda:out source="CMSO_ErrorResponse" target="CMSO_ErrorResponse" /> + </bpmn2:extensionElements> + <bpmn2:incoming>SequenceFlow_0xxvjxq</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_095crcd</bpmn2:outgoing> + </bpmn2:callActivity> + <bpmn2:sequenceFlow id="SequenceFlow_0xxvjxq" sourceRef="ScriptTask_0cihgpv" targetRef="CallActivity_0sevgre" /> + <bpmn2:subProcess id="SubProcess_1k2112i" name="Sub-process for FalloutHandler" triggeredByEvent="true"> + <bpmn2:startEvent id="StartEvent_110xxgx"> + <bpmn2:outgoing>SequenceFlow_0n4umjf</bpmn2:outgoing> + <bpmn2:errorEventDefinition errorRef="Error_2" /> + </bpmn2:startEvent> + <bpmn2:endEvent id="EndEvent_1rqikib"> + <bpmn2:incoming>SequenceFlow_1ghqolv</bpmn2:incoming> + </bpmn2:endEvent> + <bpmn2:scriptTask id="ScriptTask_1akfe0b" name="Prepare DB Infra Error" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_0n4umjf</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_1s5niqb</bpmn2:outgoing> <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
def DeleteNetworkInstance = new DeleteNetworkInstance()
DeleteNetworkInstance.prepareDBRequestError(execution)]]></bpmn2:script>
@@ -139,39 +139,39 @@ DeleteNetworkInstance.prepareDBRequestError(execution)]]></bpmn2:script> <bpmn2:outgoing>SequenceFlow_1reso2f</bpmn2:outgoing>
<bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
def DeleteNetworkInstance = new DeleteNetworkInstance()
-DeleteNetworkInstance.buildErrorResponse(execution)]]></bpmn2:script>
- </bpmn2:scriptTask>
- <bpmn2:callActivity id="CallActivity_1ksm1dz" name="Call FalloutHandlerV1" calledElement="FalloutHandler">
- <bpmn2:extensionElements>
- <camunda:in source="DELNI_FalloutHandlerRequest" target="FalloutHandlerRequest" />
- <camunda:in source="mso-request-id" target="mso-request-id" />
- <camunda:in source="mso-service-instance-id" target="mso-service-instance-id" />
- <camunda:out source="FH_ResponseCode" target="FH_ResponseCode" />
- <camunda:out source="FalloutHandlerResponse" target="FalloutHandlerResponse" />
- <camunda:out source="FH_ErrorResponse" target="FH_ErrorResponse" />
- </bpmn2:extensionElements>
- <bpmn2:incoming>SequenceFlow_1reso2f</bpmn2:incoming>
- <bpmn2:outgoing>SequenceFlow_1ghqolv</bpmn2:outgoing>
- </bpmn2:callActivity>
- <bpmn2:sequenceFlow id="SequenceFlow_1s5niqb" sourceRef="ScriptTask_1akfe0b" targetRef="ServiceTask_0sztuly" />
- <bpmn2:sequenceFlow id="SequenceFlow_06s5eu4" sourceRef="ServiceTask_0sztuly" targetRef="ScriptTask_1hql91g" />
- <bpmn2:sequenceFlow id="SequenceFlow_1reso2f" sourceRef="ScriptTask_1hql91g" targetRef="CallActivity_1ksm1dz" />
- <bpmn2:sequenceFlow id="SequenceFlow_1ghqolv" sourceRef="CallActivity_1ksm1dz" targetRef="EndEvent_1rqikib" />
- <bpmn2:sequenceFlow id="SequenceFlow_0n4umjf" sourceRef="StartEvent_110xxgx" targetRef="ScriptTask_1akfe0b" />
- </bpmn2:subProcess>
- <bpmn2:sequenceFlow id="SequenceFlow_095crcd" sourceRef="CallActivity_0sevgre" targetRef="ScriptTask_09qt0pi" />
- <bpmn2:sequenceFlow id="SequenceFlow_0rt8wax" sourceRef="Task_19xbdbu" targetRef="Task_1nko5zz" />
- <bpmn2:sequenceFlow id="SequenceFlow_0eto8sn" sourceRef="Task_1nko5zz" targetRef="doDeleteNetworkInstance_CallActivity" />
- <bpmn2:scriptTask id="Task_19xbdbu" name="Get Network Model Info " scriptFormat="groovy">
- <bpmn2:incoming>SequenceFlow_1ablr60</bpmn2:incoming>
- <bpmn2:outgoing>SequenceFlow_0rt8wax</bpmn2:outgoing>
+DeleteNetworkInstance.buildErrorResponse(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:callActivity id="CallActivity_1ksm1dz" name="Call FalloutHandlerV1" calledElement="FalloutHandler"> + <bpmn2:extensionElements> + <camunda:in source="DELNI_FalloutHandlerRequest" target="FalloutHandlerRequest" /> + <camunda:in source="mso-request-id" target="mso-request-id" /> + <camunda:in source="mso-service-instance-id" target="mso-service-instance-id" /> + <camunda:out source="FH_ResponseCode" target="FH_ResponseCode" /> + <camunda:out source="FalloutHandlerResponse" target="FalloutHandlerResponse" /> + <camunda:out source="FH_ErrorResponse" target="FH_ErrorResponse" /> + </bpmn2:extensionElements> + <bpmn2:incoming>SequenceFlow_1reso2f</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_1ghqolv</bpmn2:outgoing> + </bpmn2:callActivity> + <bpmn2:sequenceFlow id="SequenceFlow_1s5niqb" sourceRef="ScriptTask_1akfe0b" targetRef="ServiceTask_0sztuly" /> + <bpmn2:sequenceFlow id="SequenceFlow_06s5eu4" sourceRef="ServiceTask_0sztuly" targetRef="ScriptTask_1hql91g" /> + <bpmn2:sequenceFlow id="SequenceFlow_1reso2f" sourceRef="ScriptTask_1hql91g" targetRef="CallActivity_1ksm1dz" /> + <bpmn2:sequenceFlow id="SequenceFlow_1ghqolv" sourceRef="CallActivity_1ksm1dz" targetRef="EndEvent_1rqikib" /> + <bpmn2:sequenceFlow id="SequenceFlow_0n4umjf" sourceRef="StartEvent_110xxgx" targetRef="ScriptTask_1akfe0b" /> + </bpmn2:subProcess> + <bpmn2:sequenceFlow id="SequenceFlow_095crcd" sourceRef="CallActivity_0sevgre" targetRef="ScriptTask_09qt0pi" /> + <bpmn2:sequenceFlow id="SequenceFlow_0rt8wax" sourceRef="Task_19xbdbu" targetRef="Task_1nko5zz" /> + <bpmn2:sequenceFlow id="SequenceFlow_0eto8sn" sourceRef="Task_1nko5zz" targetRef="doDeleteNetworkInstance_CallActivity" /> + <bpmn2:scriptTask id="Task_19xbdbu" name="Get Network Model Info " scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_1ablr60</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_0rt8wax</bpmn2:outgoing> <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
def DeleteNetworkInstance = new DeleteNetworkInstance()
-DeleteNetworkInstance.getNetworkModelInfo(execution)]]></bpmn2:script>
- </bpmn2:scriptTask>
- <bpmn2:scriptTask id="Task_1nko5zz" name="Send Sync Ack Response" scriptFormat="groovy">
- <bpmn2:incoming>SequenceFlow_0rt8wax</bpmn2:incoming>
- <bpmn2:outgoing>SequenceFlow_0eto8sn</bpmn2:outgoing>
+DeleteNetworkInstance.getNetworkModelInfo(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:scriptTask id="Task_1nko5zz" name="Send Sync Ack Response" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_0rt8wax</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_0eto8sn</bpmn2:outgoing> <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
def DeleteNetworkInstance = new DeleteNetworkInstance()
DeleteNetworkInstance.sendSyncResponse(execution)]]></bpmn2:script>
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/process/DeleteVfModuleInfra.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/DeleteVfModuleInfra.bpmn index e19ea1bd86..81e759b8a9 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/resources/process/DeleteVfModuleInfra.bpmn +++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/DeleteVfModuleInfra.bpmn @@ -38,6 +38,7 @@ dvfm.prepDoDeleteVfModule(execution)]]></bpmn2:script> <camunda:in source="cloudConfiguration" target="cloudConfiguration" /> <camunda:in source=""1610"" target="sdncVersion" /> <camunda:in source="isVidRequest" target="isVidRequest" /> + <camunda:in source="aLaCarte" target="aLaCarte" /> </bpmn2:extensionElements> <bpmn2:incoming>SequenceFlow_9</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_8</bpmn2:outgoing> diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/process/ReplaceVnfInfra.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/ReplaceVnfInfra.bpmn index 6c5e8f6522..c15c391558 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/resources/process/ReplaceVnfInfra.bpmn +++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/ReplaceVnfInfra.bpmn @@ -20,7 +20,7 @@ uvfm.preProcessRequest(execution) <bpmn2:sequenceFlow id="SequenceFlow_5" name="" sourceRef="PreProcessRequest" targetRef="ScriptTask_1" /> <bpmn2:callActivity id="CallActivity_1" name="Completion Handler" calledElement="CompleteMsoProcess"> <bpmn2:extensionElements> - <camunda:in source="RPLVnfI_CompletionHandlerRequest" target="CompleteMsoProcessRequest" /> + <camunda:in source="CompletionHandlerRequest" target="CompleteMsoProcessRequest" /> <camunda:in source="mso-request-id" target="mso-request-id" /> <camunda:in source="mso-service-instance-id" target="mso-service-instance-id" /> <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" /> @@ -42,10 +42,11 @@ execution.setVariable("UpdateVfModuleInfraSuccessIndicator", true)]]></bpmn2:scr <bpmn2:sequenceFlow id="SequenceFlow_6" name="" sourceRef="ScriptTask_4" targetRef="EndEvent_1" /> <bpmn2:scriptTask id="ScriptTask_10" name="Completion Handler (prep)" scriptFormat="groovy"> <bpmn2:incoming>SequenceFlow_3</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_19rrss6</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_17</bpmn2:outgoing> <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* def uvfm = new ReplaceVnfInfra() -uvfm.completionHandlerPrep(execution, 'RPLVnfI_CompletionHandlerRequest') +uvfm.completionHandlerPrep(execution, 'CompletionHandlerRequest') ]]></bpmn2:script> </bpmn2:scriptTask> <bpmn2:sequenceFlow id="SequenceFlow_17" name="" sourceRef="ScriptTask_10" targetRef="CallActivity_1" /> @@ -54,19 +55,19 @@ uvfm.completionHandlerPrep(execution, 'RPLVnfI_CompletionHandlerRequest') <bpmn2:outgoing>SequenceFlow_1</bpmn2:outgoing> <bpmn2:errorEventDefinition id="ErrorEventDefinition_1" /> </bpmn2:startEvent> - <bpmn2:sequenceFlow id="SequenceFlow_1" name="" sourceRef="StartEvent_3" targetRef="ScriptTask_3" /> + <bpmn2:sequenceFlow id="SequenceFlow_1" name="" sourceRef="StartEvent_3" targetRef="Task_1cl8ayk" /> <bpmn2:scriptTask id="ScriptTask_3" name="Fallout Handler (prep)" scriptFormat="groovy"> - <bpmn2:incoming>SequenceFlow_1</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_0ph6862</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_7</bpmn2:outgoing> <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* -def uvfm = new UpdateVfModuleInfra() -uvfm.falloutHandlerPrep(execution, 'RPLVnfI_FalloutHandlerRequest') +def uvfm = new ReplaceVnfInfra() +uvfm.falloutHandlerPrep(execution, 'FalloutHandlerRequest') ]]></bpmn2:script> </bpmn2:scriptTask> <bpmn2:sequenceFlow id="SequenceFlow_7" sourceRef="ScriptTask_3" targetRef="CallActivity_2" /> <bpmn2:callActivity id="CallActivity_2" name="Fallout Handler" calledElement="FalloutHandler"> <bpmn2:extensionElements> - <camunda:in source="RPLVnfI_FalloutHandlerRequest" target="FalloutHandlerRequest" /> + <camunda:in source="FalloutHandlerRequest" target="FalloutHandlerRequest" /> <camunda:in source="mso-request-id" target="mso-request-id" /> <camunda:in source="mso-service-instance-id" target="mso-service-instance-id" /> <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" /> @@ -79,6 +80,39 @@ uvfm.falloutHandlerPrep(execution, 'RPLVnfI_FalloutHandlerRequest') <bpmn2:terminateEventDefinition id="TerminateEventDefinition_1" /> </bpmn2:endEvent> <bpmn2:sequenceFlow id="SequenceFlow_19" name="" sourceRef="CallActivity_2" targetRef="EndEvent_2" /> + <bpmn2:sequenceFlow id="SequenceFlow_0msgw6c" sourceRef="Task_1cl8ayk" targetRef="Task_1xw8w6a" /> + <bpmn2:sequenceFlow id="SequenceFlow_0uhssvq" sourceRef="Task_1xw8w6a" targetRef="Task_0dc1x7g" /> + <bpmn2:sequenceFlow id="SequenceFlow_0ph6862" sourceRef="Task_0dc1x7g" targetRef="ScriptTask_3" /> + <bpmn2:scriptTask id="Task_1cl8ayk" name="PreProcess Rollback" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_1</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_0msgw6c</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def uvfm = new VnfInPlaceUpdate() +uvfm.preProcessRollback(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:scriptTask id="Task_0dc1x7g" name="PostProcess Rollback" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_0uhssvq</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_0ph6862</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def uvfm = new VnfInPlaceUpdate() +uvfm.postProcessRollback(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:callActivity id="Task_1xw8w6a" name="Rollback Processing" calledElement="RollbackVnf"> + <bpmn2:extensionElements> + <camunda:in source="msoRequestId" target="msoRequestId" /> + <camunda:in source="vnfId" target="vnfId" /> + <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" /> + <camunda:in source="rollbackSetClosedLoopDisabledFlag" target="rollbackSetClosedLoopDisabledFlag" /> + <camunda:in source="rollbackSetVnfInMaintenanceFlag" target="rollbackSetVnfInMaintenanceFlag" /> + <camunda:in source="rollbackVnfStop" target="rollbackVnfStop" /> + <camunda:in source="rollbackVnfLock" target="rollbackVnfLock" /> + <camunda:in source="errorCode" target="errorCode" /> + <camunda:in source="rollbackQuiesceTraffic" target="rollbackQuiesceTraffic" /> + <camunda:out source="rollbackSuccessful" target="rollbackSuccessful" /> + </bpmn2:extensionElements> + <bpmn2:incoming>SequenceFlow_0msgw6c</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_0uhssvq</bpmn2:outgoing> + </bpmn2:callActivity> </bpmn2:subProcess> <bpmn2:endEvent id="EndEvent_3"> <bpmn2:incoming>SequenceFlow_12</bpmn2:incoming> @@ -95,13 +129,15 @@ uvfm.falloutHandlerPrep(execution, 'RPLVnfI_FalloutHandlerRequest') <bpmn2:sequenceFlow id="SequenceFlow_4" name="" sourceRef="StartEvent_1" targetRef="PreProcessRequest" /> <bpmn2:callActivity id="ScriptTask_6" name="DoDeleteVnfAndModules" calledElement="DoDeleteVnfAndModules"> <bpmn2:extensionElements> - <camunda:in source="RPLVnfI_requestId" target="msoRequestId" /> + <camunda:in source="msoRequestId" target="msoRequestId" /> <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" /> <camunda:out source="WorkflowException" target="WorkflowException" /> - <camunda:in source="RPLVnfI_vnfId" target="vnfId" /> - <camunda:in source="RPLVnfI_serviceInstanceId" target="serviceInstanceId" /> - <camunda:in source="RPLVnfI_sdncVersion" target="sdncVersion" /> - <camunda:in source="RPLVnfI_cloudConfiguration" target="cloudConfiguration" /> + <camunda:in source="vnfId" target="vnfId" /> + <camunda:in source="serviceInstanceId" target="serviceInstanceId" /> + <camunda:in source="sdncVersion" target="sdncVersion" /> + <camunda:in source="cloudConfiguration" target="cloudConfiguration" /> + <camunda:in source="retainResources" target="retainResources" /> + <camunda:in source="serviceDecomposition" target="serviceDecomposition" /> </bpmn2:extensionElements> <bpmn2:incoming>SequenceFlow_19ba94v</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_0gzzeru</bpmn2:outgoing> @@ -112,7 +148,7 @@ uvfm.falloutHandlerPrep(execution, 'RPLVnfI_FalloutHandlerRequest') <bpmn2:extensionElements> <camunda:in source="msoRequestId" target="msoRequestId" /> <camunda:in source="serviceInstanceId" target="serviceInstanceId" /> - <camunda:in source="RPLVnfI_serviceModelInfo" target="serviceModelInfo" /> + <camunda:in source="serviceModelInfo" target="serviceModelInfo" /> <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" /> <camunda:out source="WorkflowException" target="WorkflowException" /> <camunda:out source="serviceDecomposition" target="serviceDecomposition" /> @@ -120,7 +156,7 @@ uvfm.falloutHandlerPrep(execution, 'RPLVnfI_FalloutHandlerRequest') <bpmn2:incoming>SequenceFlow_0y0jt4l</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_1w35ov3</bpmn2:outgoing> </bpmn2:callActivity> - <bpmn2:sequenceFlow id="SequenceFlow_053qjfy" sourceRef="Task_1opcb4j" targetRef="Task_0vy2zge" /> + <bpmn2:sequenceFlow id="SequenceFlow_053qjfy" sourceRef="Task_1opcb4j" targetRef="Task_0iydw5o" /> <bpmn2:scriptTask id="Task_1opcb4j" name="Get VnfResourceDecomposition" scriptFormat="groovy"> <bpmn2:incoming>SequenceFlow_1w35ov3</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_053qjfy</bpmn2:outgoing> @@ -131,7 +167,7 @@ uvfm.getVnfResourceDecomposition(execution)]]></bpmn2:script> <bpmn2:sequenceFlow id="SequenceFlow_0y0jt4l" sourceRef="ScriptTask_1" targetRef="Task_1gg76h7" /> <bpmn2:scriptTask id="Task_1rxiqe1" name="Check If VNF Is In Maintenance in A&AI" scriptFormat="groovy"> <bpmn2:incoming>SequenceFlow_16mo99z</bpmn2:incoming> - <bpmn2:incoming>SequenceFlow_193t8ts</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_0jph3mt</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_2</bpmn2:outgoing> <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* def uvfm = new ReplaceVnfInfra() @@ -143,7 +179,7 @@ uvfm.checkIfVnfInMaintInAAI(execution) <bpmn2:sequenceFlow id="SequenceFlow_0gzzeru" sourceRef="ScriptTask_6" targetRef="ExclusiveGateway_0ulrq9g" /> <bpmn2:scriptTask id="Task_0ap39ka" name="Set VNF inMaintenance Flag in A&AI" scriptFormat="groovy"> <bpmn2:incoming>SequenceFlow_0baosqi</bpmn2:incoming> - <bpmn2:incoming>SequenceFlow_18u8p2k</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_1nodcf9</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_0k3fx7p</bpmn2:outgoing> <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* def uvfm = new ReplaceVnfInfra() @@ -152,7 +188,7 @@ uvfm.setVnfInMaintFlagInAAI(execution, true) </bpmn2:scriptTask> <bpmn2:scriptTask id="Task_1drglpt" name="Unset VNF In Maintenance Flag in A&AI" scriptFormat="groovy"> <bpmn2:incoming>SequenceFlow_19lg15d</bpmn2:incoming> - <bpmn2:incoming>SequenceFlow_1lsfn19</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_0usoiza</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_12mfil6</bpmn2:outgoing> <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* def uvfm = new ReplaceVnfInfra() @@ -160,7 +196,7 @@ uvfm.setVnfInMaintFlagInAAI(execution, false) ]]></bpmn2:script> </bpmn2:scriptTask> <bpmn2:scriptTask id="Task_0vy2zge" name="Check If Physical Servers Are Locked in A&AI" scriptFormat="groovy"> - <bpmn2:incoming>SequenceFlow_053qjfy</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_14yy8v4</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_0usxnlk</bpmn2:outgoing> <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* def uvfm = new ReplaceVnfInfra() @@ -170,202 +206,105 @@ uvfm.checkIfPserversInMaintInAAI(execution) <bpmn2:sequenceFlow id="SequenceFlow_0xx8y1s" sourceRef="Task_1dtbnuy" targetRef="ExclusiveGateway_1slvyx2" /> <bpmn2:sequenceFlow id="SequenceFlow_0a6pdza" sourceRef="Task_1fj63ov" targetRef="ExclusiveGateway_1ichg7h" /> <bpmn2:sequenceFlow id="SequenceFlow_13h26h9" sourceRef="Task_1cfkcss" targetRef="ExclusiveGateway_1etgtgi" /> - <bpmn2:scriptTask id="Task_1dtbnuy" name="Call APP-C VNF Lock" scriptFormat="groovy"> - <bpmn2:incoming>SequenceFlow_1bkhs8m</bpmn2:incoming> - <bpmn2:incoming>SequenceFlow_0eueu1t</bpmn2:incoming> - <bpmn2:outgoing>SequenceFlow_0xx8y1s</bpmn2:outgoing> - <bpmn2:script><![CDATA[import org.openecomp.appc.client.lcm.model.Action -import org.openecomp.mso.bpmn.infrastructure.scripts.* -def uvfm = new ReplaceVnfInfra() -uvfm.runAppcCommand(execution, Action.Lock) -]]></bpmn2:script> - </bpmn2:scriptTask> - <bpmn2:scriptTask id="Task_1fj63ov" name="Call APP-C Health Check" scriptFormat="groovy"> - <bpmn2:incoming>SequenceFlow_0qy68ib</bpmn2:incoming> - <bpmn2:incoming>SequenceFlow_1sla5dr</bpmn2:incoming> - <bpmn2:outgoing>SequenceFlow_0a6pdza</bpmn2:outgoing> - <bpmn2:script><![CDATA[import org.openecomp.appc.client.lcm.model.Action -import org.openecomp.mso.bpmn.infrastructure.scripts.* -def uvfm = new ReplaceVnfInfra() -uvfm.runAppcCommand(execution, Action.HealthCheck)]]></bpmn2:script> - </bpmn2:scriptTask> - <bpmn2:scriptTask id="Task_1cfkcss" name="Call APP-C VNF Graceful Stop" scriptFormat="groovy"> - <bpmn2:incoming>SequenceFlow_0q0qan8</bpmn2:incoming> - <bpmn2:incoming>SequenceFlow_0iektwg</bpmn2:incoming> - <bpmn2:outgoing>SequenceFlow_13h26h9</bpmn2:outgoing> - <bpmn2:script><![CDATA[import org.openecomp.appc.client.lcm.model.Action -import org.openecomp.mso.bpmn.infrastructure.scripts.* -def uvfm = new ReplaceVnfInfra() -uvfm.runAppcCommand(execution, Action.Stop)]]></bpmn2:script> - </bpmn2:scriptTask> <bpmn2:sequenceFlow id="SequenceFlow_1uno5rs" sourceRef="Task_1hdg951" targetRef="ExclusiveGateway_02tj4dw" /> <bpmn2:sequenceFlow id="SequenceFlow_1c79909" sourceRef="Task_1ca5ctq" targetRef="ExclusiveGateway_1gn5lab" /> - <bpmn2:scriptTask id="Task_1hdg951" name="Call APP-C VNF Start" scriptFormat="groovy"> - <bpmn2:incoming>SequenceFlow_04zwhw4</bpmn2:incoming> - <bpmn2:outgoing>SequenceFlow_1uno5rs</bpmn2:outgoing> - <bpmn2:script><![CDATA[import org.openecomp.appc.client.lcm.model.Action -import org.openecomp.mso.bpmn.infrastructure.scripts.* -def uvfm = new ReplaceVnfInfra() -uvfm.runAppcCommand(execution, Action.Start)]]></bpmn2:script> - </bpmn2:scriptTask> - <bpmn2:scriptTask id="Task_1ca5ctq" name="Call APP-C Health Check" scriptFormat="groovy"> - <bpmn2:incoming>SequenceFlow_162mm0m</bpmn2:incoming> - <bpmn2:incoming>SequenceFlow_1hx1ur7</bpmn2:incoming> - <bpmn2:outgoing>SequenceFlow_1c79909</bpmn2:outgoing> - <bpmn2:script><![CDATA[import org.openecomp.appc.client.lcm.model.Action -import org.openecomp.mso.bpmn.infrastructure.scripts.* -def uvfm = new ReplaceVnfInfra() -uvfm.runAppcCommand(execution, Action.HealthCheck)]]></bpmn2:script> - </bpmn2:scriptTask> <bpmn2:sequenceFlow id="SequenceFlow_1xfbwpi" sourceRef="Task_1sove95" targetRef="ExclusiveGateway_06mv93h" /> - <bpmn2:scriptTask id="Task_1sove95" name="Call APP-C VNF Unlock" scriptFormat="groovy"> - <bpmn2:incoming>SequenceFlow_197t3qk</bpmn2:incoming> - <bpmn2:incoming>SequenceFlow_0ukzynj</bpmn2:incoming> - <bpmn2:outgoing>SequenceFlow_1xfbwpi</bpmn2:outgoing> - <bpmn2:script><![CDATA[import org.openecomp.appc.client.lcm.model.Action -import org.openecomp.mso.bpmn.infrastructure.scripts.* -def uvfm = new ReplaceVnfInfra() -uvfm.runAppcCommand(execution, Action.Unlock)]]></bpmn2:script> - </bpmn2:scriptTask> <bpmn2:exclusiveGateway id="ExclusiveGateway_0q323wc" name="Error on PServers Check?" default="SequenceFlow_16mo99z"> <bpmn2:incoming>SequenceFlow_0usxnlk</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_16mo99z</bpmn2:outgoing> - <bpmn2:outgoing>SequenceFlow_1qmz2ez</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_12hm1ks</bpmn2:outgoing> </bpmn2:exclusiveGateway> <bpmn2:sequenceFlow id="SequenceFlow_16mo99z" name="no" sourceRef="ExclusiveGateway_0q323wc" targetRef="Task_1rxiqe1" /> <bpmn2:exclusiveGateway id="ExclusiveGateway_045e1uz" name="Error On inMaintenance Check?" default="SequenceFlow_0baosqi"> <bpmn2:incoming>SequenceFlow_2</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_0baosqi</bpmn2:outgoing> - <bpmn2:outgoing>SequenceFlow_03rkfbo</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_0etr76r</bpmn2:outgoing> </bpmn2:exclusiveGateway> <bpmn2:sequenceFlow id="SequenceFlow_0baosqi" name="no" sourceRef="ExclusiveGateway_045e1uz" targetRef="Task_0ap39ka" /> <bpmn2:callActivity id="Task_0q5cdit" name="Rainy Day Handler" calledElement="RainyDayHandler"> <bpmn2:extensionElements> <camunda:in source="msoRequestId" target="msoRequestId" /> <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" /> - <camunda:in source="RPLVnfI_serviceType" target="serviceType" /> - <camunda:in source="RPLVnfI_nfRole" target="vnfType" /> - <camunda:in source="RPLVnfI_currentActivity" target="currentActivity" /> - <camunda:in source="RPLVnfI_workStep" target="workStep" /> - <camunda:in source="RPLVnfI_failedActivity" target="failedActivity" /> - <camunda:in source="RPLVnfI_errorCode" target="errorCode" /> - <camunda:in source="RPLVnfI_errorText" target="errorText" /> + <camunda:in source="serviceType" target="serviceType" /> + <camunda:in source="nfRole" target="vnfType" /> + <camunda:in source="currentActivity" target="currentActivity" /> + <camunda:in source="workStep" target="workStep" /> + <camunda:in source="failedActivity" target="failedActivity" /> + <camunda:in source="errorCode" target="errorCode" /> + <camunda:in source="errorText" target="errorText" /> <camunda:out source="WorkflowException" target="WorkflowException" /> - <camunda:out source="handlingCode" target="RPLVnfI_disposition" /> - <camunda:in source="RPLVnfI_requestorId" target="requestorId" /> - <camunda:out source="taskId" target="RPLVnfI_taskId" /> + <camunda:out source="handlingCode" target="disposition" /> + <camunda:in source="requestorId" target="requestorId" /> + <camunda:out source="taskId" target="taskId" /> + <camunda:in source="vnfName" target="vnfName" /> </bpmn2:extensionElements> - <bpmn2:incoming>SequenceFlow_1qmz2ez</bpmn2:incoming> - <bpmn2:incoming>SequenceFlow_03rkfbo</bpmn2:incoming> - <bpmn2:incoming>SequenceFlow_1lsm3bn</bpmn2:incoming> - <bpmn2:incoming>SequenceFlow_0bduwog</bpmn2:incoming> - <bpmn2:incoming>SequenceFlow_0uwar5b</bpmn2:incoming> - <bpmn2:incoming>SequenceFlow_0i7hfj2</bpmn2:incoming> - <bpmn2:incoming>SequenceFlow_13yjc85</bpmn2:incoming> - <bpmn2:incoming>SequenceFlow_0waedj5</bpmn2:incoming> - <bpmn2:incoming>SequenceFlow_1hg9c2l</bpmn2:incoming> - <bpmn2:incoming>SequenceFlow_0gej71y</bpmn2:incoming> - <bpmn2:incoming>SequenceFlow_0pfydeg</bpmn2:incoming> - <bpmn2:incoming>SequenceFlow_10ek8l4</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_1cezgw4</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_0v0u7mf</bpmn2:outgoing> </bpmn2:callActivity> - <bpmn2:sequenceFlow id="SequenceFlow_1qmz2ez" name="yes" sourceRef="ExclusiveGateway_0q323wc" targetRef="Task_0q5cdit"> - <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("RPLVnfI_errorCode") != "0"]]></bpmn2:conditionExpression> - </bpmn2:sequenceFlow> - <bpmn2:sequenceFlow id="SequenceFlow_03rkfbo" name="yes" sourceRef="ExclusiveGateway_045e1uz" targetRef="Task_0q5cdit"> - <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("RPLVnfI_errorCode") != "0"]]></bpmn2:conditionExpression> - </bpmn2:sequenceFlow> <bpmn2:sequenceFlow id="SequenceFlow_0v0u7mf" sourceRef="Task_0q5cdit" targetRef="ExclusiveGateway_0xlxgl0" /> <bpmn2:task id="Task_0zbogrm" name="Rollback Processing"> <bpmn2:incoming>SequenceFlow_1qr8msw</bpmn2:incoming> </bpmn2:task> <bpmn2:sequenceFlow id="SequenceFlow_0vpd06n" name="Abort" sourceRef="ExclusiveGateway_0xlxgl0" targetRef="Task_1tg549h"> - <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("RPLVnfI_disposition") == "Abort"]]></bpmn2:conditionExpression> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("disposition") == "Abort"]]></bpmn2:conditionExpression> </bpmn2:sequenceFlow> <bpmn2:sequenceFlow id="SequenceFlow_1qr8msw" name="Rollback" sourceRef="ExclusiveGateway_0xlxgl0" targetRef="Task_0zbogrm"> - <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("RPLVnfI_disposition") == "Rollback"]]></bpmn2:conditionExpression> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("disposition") == "Rollback"]]></bpmn2:conditionExpression> </bpmn2:sequenceFlow> <bpmn2:exclusiveGateway id="ExclusiveGateway_0ud5uwa" name="Eror on inMaintenance Set?" default="SequenceFlow_1bkhs8m"> <bpmn2:incoming>SequenceFlow_0k3fx7p</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_1bkhs8m</bpmn2:outgoing> - <bpmn2:outgoing>SequenceFlow_1lsm3bn</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_11b00u2</bpmn2:outgoing> </bpmn2:exclusiveGateway> <bpmn2:sequenceFlow id="SequenceFlow_0k3fx7p" sourceRef="Task_0ap39ka" targetRef="ExclusiveGateway_0ud5uwa" /> - <bpmn2:sequenceFlow id="SequenceFlow_1lsm3bn" name="yes" sourceRef="ExclusiveGateway_0ud5uwa" targetRef="Task_0q5cdit"> - <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("RPLVnfI_errorCode") != "0"]]></bpmn2:conditionExpression> - </bpmn2:sequenceFlow> <bpmn2:exclusiveGateway id="ExclusiveGateway_1slvyx2" name="Error on VNF Lock?" default="SequenceFlow_0qy68ib"> <bpmn2:incoming>SequenceFlow_0xx8y1s</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_0qy68ib</bpmn2:outgoing> - <bpmn2:outgoing>SequenceFlow_0bduwog</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_1ck3v34</bpmn2:outgoing> </bpmn2:exclusiveGateway> <bpmn2:sequenceFlow id="SequenceFlow_0qy68ib" name="no" sourceRef="ExclusiveGateway_1slvyx2" targetRef="Task_1fj63ov" /> <bpmn2:exclusiveGateway id="ExclusiveGateway_1ichg7h" name="Error on Pre Health Check?" default="SequenceFlow_0q0qan8"> <bpmn2:incoming>SequenceFlow_0a6pdza</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_0q0qan8</bpmn2:outgoing> - <bpmn2:outgoing>SequenceFlow_0uwar5b</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_079nix0</bpmn2:outgoing> </bpmn2:exclusiveGateway> <bpmn2:sequenceFlow id="SequenceFlow_0q0qan8" name="no" sourceRef="ExclusiveGateway_1ichg7h" targetRef="Task_1cfkcss" /> <bpmn2:exclusiveGateway id="ExclusiveGateway_1etgtgi" name="Error on VNF Stop?" default="SequenceFlow_1c0vdki"> <bpmn2:incoming>SequenceFlow_13h26h9</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_1c0vdki</bpmn2:outgoing> - <bpmn2:outgoing>SequenceFlow_0i7hfj2</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_032i8t0</bpmn2:outgoing> </bpmn2:exclusiveGateway> <bpmn2:sequenceFlow id="SequenceFlow_1c0vdki" name="no" sourceRef="ExclusiveGateway_1etgtgi" targetRef="Task_0eae8go" /> - <bpmn2:sequenceFlow id="SequenceFlow_0bduwog" name="yes" sourceRef="ExclusiveGateway_1slvyx2" targetRef="Task_0q5cdit"> - <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("RPLVnfI_errorCode") != "0"]]></bpmn2:conditionExpression> - </bpmn2:sequenceFlow> - <bpmn2:sequenceFlow id="SequenceFlow_0uwar5b" name="yes" sourceRef="ExclusiveGateway_1ichg7h" targetRef="Task_0q5cdit"> - <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("RPLVnfI_errorCode") != "0"]]></bpmn2:conditionExpression> - </bpmn2:sequenceFlow> - <bpmn2:sequenceFlow id="SequenceFlow_0i7hfj2" name="yes" sourceRef="ExclusiveGateway_1etgtgi" targetRef="Task_0q5cdit"> - <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("RPLVnfI_errorCode") != "0"]]></bpmn2:conditionExpression> - </bpmn2:sequenceFlow> - <bpmn2:exclusiveGateway id="ExclusiveGateway_0ulrq9g" name="Error on DoDeleteVnfAndNModules?" default="SequenceFlow_0bxgny0"> + <bpmn2:exclusiveGateway id="ExclusiveGateway_0ulrq9g" name="Error on DoDeleteVnfAndNModules?" camunda:asyncBefore="true" default="SequenceFlow_0bxgny0"> <bpmn2:incoming>SequenceFlow_0gzzeru</bpmn2:incoming> - <bpmn2:outgoing>SequenceFlow_10ek8l4</bpmn2:outgoing> <bpmn2:outgoing>SequenceFlow_0bxgny0</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_1f0c5lj</bpmn2:outgoing> </bpmn2:exclusiveGateway> <bpmn2:sequenceFlow id="SequenceFlow_04zwhw4" name="no" sourceRef="ExclusiveGateway_084iffr" targetRef="Task_1hdg951" /> - <bpmn2:sequenceFlow id="SequenceFlow_10ek8l4" name="yes" sourceRef="ExclusiveGateway_0ulrq9g" targetRef="Task_0q5cdit"> - <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("RPLVnfI_errorCode") != "0"]]></bpmn2:conditionExpression> - </bpmn2:sequenceFlow> <bpmn2:exclusiveGateway id="ExclusiveGateway_02tj4dw" name="Error on VNF Start?" default="SequenceFlow_162mm0m"> <bpmn2:incoming>SequenceFlow_1uno5rs</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_162mm0m</bpmn2:outgoing> - <bpmn2:outgoing>SequenceFlow_0waedj5</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_17vwb2h</bpmn2:outgoing> </bpmn2:exclusiveGateway> <bpmn2:sequenceFlow id="SequenceFlow_162mm0m" name="no" sourceRef="ExclusiveGateway_02tj4dw" targetRef="Task_1ca5ctq" /> <bpmn2:exclusiveGateway id="ExclusiveGateway_1gn5lab" name="Error on Post Health Check?" default="SequenceFlow_197t3qk"> <bpmn2:incoming>SequenceFlow_1c79909</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_197t3qk</bpmn2:outgoing> - <bpmn2:outgoing>SequenceFlow_1hg9c2l</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_0ba08lt</bpmn2:outgoing> </bpmn2:exclusiveGateway> <bpmn2:sequenceFlow id="SequenceFlow_197t3qk" name="no" sourceRef="ExclusiveGateway_1gn5lab" targetRef="Task_1sove95" /> <bpmn2:exclusiveGateway id="ExclusiveGateway_06mv93h" name="Error on VNF Unlock?" default="SequenceFlow_19lg15d"> <bpmn2:incoming>SequenceFlow_1xfbwpi</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_19lg15d</bpmn2:outgoing> - <bpmn2:outgoing>SequenceFlow_0gej71y</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_1akvi72</bpmn2:outgoing> </bpmn2:exclusiveGateway> <bpmn2:sequenceFlow id="SequenceFlow_19lg15d" name="no" sourceRef="ExclusiveGateway_06mv93h" targetRef="Task_1drglpt" /> <bpmn2:exclusiveGateway id="ExclusiveGateway_0l2z6wc" name="Erorr on inMaintenance Unset?" default="SequenceFlow_3"> <bpmn2:incoming>SequenceFlow_12mfil6</bpmn2:incoming> - <bpmn2:outgoing>SequenceFlow_13yjc85</bpmn2:outgoing> <bpmn2:outgoing>SequenceFlow_3</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_1sdol24</bpmn2:outgoing> </bpmn2:exclusiveGateway> <bpmn2:sequenceFlow id="SequenceFlow_12mfil6" sourceRef="Task_1drglpt" targetRef="ExclusiveGateway_0l2z6wc" /> - <bpmn2:sequenceFlow id="SequenceFlow_13yjc85" name="yes" sourceRef="ExclusiveGateway_0l2z6wc" targetRef="Task_0q5cdit"> - <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("RPLVnfI_errorCode") != "0"]]></bpmn2:conditionExpression> - </bpmn2:sequenceFlow> - <bpmn2:sequenceFlow id="SequenceFlow_0waedj5" name="yes" sourceRef="ExclusiveGateway_02tj4dw" targetRef="Task_0q5cdit"> - <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("RPLVnfI_errorCode") != "0"]]></bpmn2:conditionExpression> - </bpmn2:sequenceFlow> - <bpmn2:sequenceFlow id="SequenceFlow_1hg9c2l" name="yes" sourceRef="ExclusiveGateway_1gn5lab" targetRef="Task_0q5cdit"> - <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("RPLVnfI_errorCode") != "0"]]></bpmn2:conditionExpression> - </bpmn2:sequenceFlow> - <bpmn2:sequenceFlow id="SequenceFlow_0gej71y" name="yes" sourceRef="ExclusiveGateway_06mv93h" targetRef="Task_0q5cdit"> - <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("RPLVnfI_errorCode") != "0"]]></bpmn2:conditionExpression> - </bpmn2:sequenceFlow> <bpmn2:scriptTask id="Task_1tg549h" name="Abort Processing" scriptFormat="groovy"> <bpmn2:incoming>SequenceFlow_0vpd06n</bpmn2:incoming> <bpmn2:incoming>SequenceFlow_051zp79</bpmn2:incoming> @@ -381,42 +320,27 @@ uvfm.abortProcessing(execution)]]></bpmn2:script> </bpmn2:exclusiveGateway> <bpmn2:exclusiveGateway id="ExclusiveGateway_0y82zzx" name="Which step to skip?" default="SequenceFlow_051zp79"> <bpmn2:incoming>SequenceFlow_05gpym3</bpmn2:incoming> - <bpmn2:outgoing>SequenceFlow_1sla5dr</bpmn2:outgoing> - <bpmn2:outgoing>SequenceFlow_0iektwg</bpmn2:outgoing> - <bpmn2:outgoing>SequenceFlow_1ttepat</bpmn2:outgoing> - <bpmn2:outgoing>SequenceFlow_1hx1ur7</bpmn2:outgoing> - <bpmn2:outgoing>SequenceFlow_0ukzynj</bpmn2:outgoing> - <bpmn2:outgoing>SequenceFlow_1lsfn19</bpmn2:outgoing> <bpmn2:outgoing>SequenceFlow_051zp79</bpmn2:outgoing> - <bpmn2:outgoing>SequenceFlow_193t8ts</bpmn2:outgoing> - <bpmn2:outgoing>SequenceFlow_18u8p2k</bpmn2:outgoing> - <bpmn2:outgoing>SequenceFlow_0eueu1t</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_1ei7at5</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_0kg02xg</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_1i6p53b</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_1yy7o24</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_0sqmtpl</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_1shdmrj</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_1v1i5w4</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_1h8rscx</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_1xzq6jb</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_165q14c</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_0wp1a6g</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_0vymfh9</bpmn2:outgoing> </bpmn2:exclusiveGateway> <bpmn2:sequenceFlow id="SequenceFlow_05gpym3" name="Skip" sourceRef="ExclusiveGateway_0xlxgl0" targetRef="ExclusiveGateway_0y82zzx"> - <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("RPLVnfI_disposition") == "Skip"]]></bpmn2:conditionExpression> - </bpmn2:sequenceFlow> - <bpmn2:sequenceFlow id="SequenceFlow_1sla5dr" name="Skip APP-C VNF Lock" sourceRef="ExclusiveGateway_0y82zzx" targetRef="Task_1fj63ov"> - <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("RPLVnfI_workStep") == "LockVNF"]]></bpmn2:conditionExpression> - </bpmn2:sequenceFlow> - <bpmn2:sequenceFlow id="SequenceFlow_0iektwg" name="Skip APP-C VNF Pre Health Check" sourceRef="ExclusiveGateway_0y82zzx" targetRef="Task_1cfkcss"> - <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("RPLVnfI_workStep") == "HealthCheckVNF1"]]></bpmn2:conditionExpression> - </bpmn2:sequenceFlow> - <bpmn2:sequenceFlow id="SequenceFlow_1ttepat" name="Skip APP-C VNF Stop" sourceRef="ExclusiveGateway_0y82zzx" targetRef="Task_0eae8go"> - <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("RPLVnfI_workStep") == "StopVNF"]]></bpmn2:conditionExpression> - </bpmn2:sequenceFlow> - <bpmn2:sequenceFlow id="SequenceFlow_1hx1ur7" name="Skip APP-C VNF Start" sourceRef="ExclusiveGateway_0y82zzx" targetRef="Task_1ca5ctq"> - <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("RPLVnfI_workStep") == "StartVNF"]]></bpmn2:conditionExpression> - </bpmn2:sequenceFlow> - <bpmn2:sequenceFlow id="SequenceFlow_0ukzynj" name="Skip APP-C Post Health Check" sourceRef="ExclusiveGateway_0y82zzx" targetRef="Task_1sove95"> - <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("RPLVnfI_workStep") == "HealthCheckVNF2"]]></bpmn2:conditionExpression> - </bpmn2:sequenceFlow> - <bpmn2:sequenceFlow id="SequenceFlow_1lsfn19" name="Skip APP-C VNF Unlock" sourceRef="ExclusiveGateway_0y82zzx" targetRef="Task_1drglpt"> - <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("RPLVnfI_workStep") == "UnlockVNF"]]></bpmn2:conditionExpression> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("disposition") == "Skip"]]></bpmn2:conditionExpression> </bpmn2:sequenceFlow> <bpmn2:sequenceFlow id="SequenceFlow_19ba94v" sourceRef="Task_0eae8go" targetRef="ScriptTask_6" /> <bpmn2:scriptTask id="Task_0eae8go" name="Prepare DoDeleteVnfAndModules" scriptFormat="groovy"> <bpmn2:incoming>SequenceFlow_1c0vdki</bpmn2:incoming> - <bpmn2:incoming>SequenceFlow_1ttepat</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_0aldwvz</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_19ba94v</bpmn2:outgoing> <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* def uvfm = new ReplaceVnfInfra() @@ -424,36 +348,387 @@ uvfm.prepDoDeleteVnfAndModules(execution)]]></bpmn2:script> </bpmn2:scriptTask> <bpmn2:scriptTask id="Task_040hi91" name="Prepare DoCreateVnfAndModules" scriptFormat="groovy"> <bpmn2:incoming>SequenceFlow_0bxgny0</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_111z6w4</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_1qm0ygo</bpmn2:outgoing> <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* def uvfm = new ReplaceVnfInfra() uvfm.prepDoCreateVnfAndModules(execution)]]></bpmn2:script> </bpmn2:scriptTask> <bpmn2:callActivity id="Task_15hpowt" name="DoCreateVnfAndModules" calledElement="DoCreateVnfAndModules"> + <bpmn2:extensionElements> + <camunda:in source="msoRequestId" target="msoRequestId" /> + <camunda:in source="disableRollback" target="disableRollback" /> + <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" /> + <camunda:in source="productFamilyId" target="productFamilyId" /> + <camunda:in source="vnfModelInfo" target="vnfModelInfo" /> + <camunda:in source="lcpCloudRegionId" target="lcpCloudRegionId" /> + <camunda:in source="tenantId" target="tenantId" /> + <camunda:in source="sdncVersion" target="sdncVersion" /> + <camunda:in source="serviceModelInfo" target="serviceModelInfo" /> + <camunda:in source="globalSubscriberId" target="globalSubscriberId" /> + <camunda:in source="serviceDecomposition" target="serviceDecomposition" /> + <camunda:out source="WorkflowException" target="WorkflowException" /> + <camunda:in source="serviceInstanceId" target="serviceInstanceId" /> + <camunda:in source="vnfId" target="vnfId" /> + <camunda:in source="vnfName" target="vnfName" /> + </bpmn2:extensionElements> <bpmn2:incoming>SequenceFlow_1qm0ygo</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_0he2w4b</bpmn2:outgoing> </bpmn2:callActivity> - <bpmn2:exclusiveGateway id="ExclusiveGateway_084iffr" name="Error on DoCreateVnfModules?"> + <bpmn2:exclusiveGateway id="ExclusiveGateway_084iffr" name="Error on DoCreateVnfModules?" default="SequenceFlow_04zwhw4"> <bpmn2:incoming>SequenceFlow_0he2w4b</bpmn2:incoming> - <bpmn2:outgoing>SequenceFlow_0pfydeg</bpmn2:outgoing> <bpmn2:outgoing>SequenceFlow_04zwhw4</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_0pfvulx</bpmn2:outgoing> </bpmn2:exclusiveGateway> - <bpmn2:sequenceFlow id="SequenceFlow_0pfydeg" name="yes" sourceRef="ExclusiveGateway_084iffr" targetRef="Task_0q5cdit"> - <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("RPLVnfI_errorCode") != "0"]]></bpmn2:conditionExpression> - </bpmn2:sequenceFlow> <bpmn2:sequenceFlow id="SequenceFlow_0bxgny0" name="no" sourceRef="ExclusiveGateway_0ulrq9g" targetRef="Task_040hi91" /> <bpmn2:sequenceFlow id="SequenceFlow_1qm0ygo" sourceRef="Task_040hi91" targetRef="Task_15hpowt" /> <bpmn2:sequenceFlow id="SequenceFlow_0he2w4b" sourceRef="Task_15hpowt" targetRef="ExclusiveGateway_084iffr" /> <bpmn2:sequenceFlow id="SequenceFlow_051zp79" name="" sourceRef="ExclusiveGateway_0y82zzx" targetRef="Task_1tg549h" /> - <bpmn2:sequenceFlow id="SequenceFlow_193t8ts" name="Skip Check if PServers Locked in AAI" sourceRef="ExclusiveGateway_0y82zzx" targetRef="Task_1rxiqe1"> - <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("RPLVnfI_workStep") == "checkIfPserversInMaintInAAI"]]></bpmn2:conditionExpression> + <bpmn2:callActivity id="Task_1dtbnuy" name="Call APP-C VNF Lock" calledElement="AppCClient"> + <bpmn2:extensionElements> + <camunda:in source="msoRequestId" target="msoRequestId" /> + <camunda:in source="actionLock" target="action" /> + <camunda:in source="vnfId" target="vnfId" /> + <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" /> + <camunda:out source="errorCode" target="errorCode" /> + <camunda:out source="errorText" target="errorText" /> + <camunda:out source="workStep" target="workStep" /> + <camunda:out source="failedActivity" target="failedActivity" /> + <camunda:out source="rollbackVnfLock" target="rollbackVnfLock" /> + </bpmn2:extensionElements> + <bpmn2:incoming>SequenceFlow_1bkhs8m</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_1qfjlt7</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_0xx8y1s</bpmn2:outgoing> + </bpmn2:callActivity> + <bpmn2:callActivity id="Task_1fj63ov" name="Call APP-C Health Check" calledElement="AppCClient"> + <bpmn2:extensionElements> + <camunda:in source="msoRequestId" target="msoRequestId" /> + <camunda:in source="actionHealthCheck" target="action" /> + <camunda:in source="healthCheckIndex0" target="healthCheckIndex" /> + <camunda:in source="payload" target="payload" /> + <camunda:in source="vnfId" target="vnfId" /> + <camunda:out source="errorCode" target="errorCode" /> + <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" /> + <camunda:out source="errorText" target="errorText" /> + <camunda:out source="workStep" target="workStep" /> + <camunda:out source="failedActivity" target="failedActivity" /> + <camunda:in source="vnfName" target="vnfName" /> + <camunda:in source="vnfHostIpAddress" target="vnfHostIpAddress" /> + </bpmn2:extensionElements> + <bpmn2:incoming>SequenceFlow_0qy68ib</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_0x7iupc</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_0a6pdza</bpmn2:outgoing> + </bpmn2:callActivity> + <bpmn2:callActivity id="Task_1cfkcss" name="Call APP-C VNF Graceful Stop" calledElement="AppCClient"> + <bpmn2:extensionElements> + <camunda:in source="msoRequestId" target="msoRequestId" /> + <camunda:in source="actionStop" target="action" /> + <camunda:in source="vnfId" target="vnfId" /> + <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" /> + <camunda:out source="errorCode" target="errorCode" /> + <camunda:out source="errorText" target="errorText" /> + <camunda:out source="workStep" target="workStep" /> + <camunda:out source="failedActivity" target="failedActivity" /> + <camunda:in source="aicIdentity" target="aicIdentity" /> + <camunda:out source="rollbackVnfStop" target="rollbackVnfStop" /> + </bpmn2:extensionElements> + <bpmn2:incoming>SequenceFlow_0q0qan8</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_0hp0w6k</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_13h26h9</bpmn2:outgoing> + </bpmn2:callActivity> + <bpmn2:callActivity id="Task_1hdg951" name="Call APP-C VNF Start" calledElement="AppCClient"> + <bpmn2:extensionElements> + <camunda:in source="msoRequestId" target="msoRequestId" /> + <camunda:in source="actionStart" target="action" /> + <camunda:in source="vnfId" target="vnfId" /> + <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" /> + <camunda:out source="errorCode" target="errorCode" /> + <camunda:out source="errorText" target="errorText" /> + <camunda:out source="workStep" target="workStep" /> + <camunda:out source="failedActivity" target="failedActivity" /> + <camunda:in source="aicIdentity" target="aicIdentity" /> + <camunda:out source="rollbackVnfStop" target="rollbackVnfStop" /> + </bpmn2:extensionElements> + <bpmn2:incoming>SequenceFlow_04zwhw4</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_1lrbndo</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_1uno5rs</bpmn2:outgoing> + </bpmn2:callActivity> + <bpmn2:callActivity id="Task_1ca5ctq" name="Call APP-C Health Check" calledElement="AppCClient"> + <bpmn2:extensionElements> + <camunda:in source="msoRequestId" target="msoRequestId" /> + <camunda:in source="actionHealthCheck" target="action" /> + <camunda:in source="healthCheckIndex1" target="healthCheckIndex" /> + <camunda:in source="payload" target="payload" /> + <camunda:in source="vnfId" target="vnfId" /> + <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" /> + <camunda:out source="errorCode" target="errorCode" /> + <camunda:out source="errorText" target="errorText" /> + <camunda:out source="workStep" target="workStep" /> + <camunda:out source="failedActivity" target="failedActivity" /> + <camunda:in source="vnfName" target="vnfName" /> + <camunda:in source="vnfHostIpAddress" target="vnfHostIpAddress" /> + </bpmn2:extensionElements> + <bpmn2:incoming>SequenceFlow_162mm0m</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_14mblvp</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_1c79909</bpmn2:outgoing> + </bpmn2:callActivity> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_11iqe6n" name="To Rainy Day Handling"> + <bpmn2:incoming>SequenceFlow_12hm1ks</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To Rainy Day Handling" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_16f09ke" name="To inMaintenance Check"> + <bpmn2:outgoing>SequenceFlow_0jph3mt</bpmn2:outgoing> + <bpmn2:linkEventDefinition name="To inMaintenance Check" /> + </bpmn2:intermediateCatchEvent> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1mtokuy" name="To Rainy Day Handling"> + <bpmn2:incoming>SequenceFlow_0etr76r</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To Rainy Day Handling" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_1h8oi7w" name="To inMaintenance Set"> + <bpmn2:outgoing>SequenceFlow_1nodcf9</bpmn2:outgoing> + <bpmn2:linkEventDefinition name="To inMaintenance Set" /> + </bpmn2:intermediateCatchEvent> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0pwcatt" name="To Rainy Day Handling"> + <bpmn2:incoming>SequenceFlow_11b00u2</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To Rainy Day Handling" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:sequenceFlow id="SequenceFlow_12hm1ks" name="yes" sourceRef="ExclusiveGateway_0q323wc" targetRef="IntermediateThrowEvent_11iqe6n"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_0jph3mt" sourceRef="IntermediateThrowEvent_16f09ke" targetRef="Task_1rxiqe1" /> + <bpmn2:sequenceFlow id="SequenceFlow_0etr76r" name="yes" sourceRef="ExclusiveGateway_045e1uz" targetRef="IntermediateThrowEvent_1mtokuy"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression> </bpmn2:sequenceFlow> - <bpmn2:sequenceFlow id="SequenceFlow_18u8p2k" name="Skip If VNF Is in Maint in AAI" sourceRef="ExclusiveGateway_0y82zzx" targetRef="Task_0ap39ka"> - <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("RPLVnfI_workStep") == "checkIfVnfInMaintInAAI"]]></bpmn2:conditionExpression> + <bpmn2:sequenceFlow id="SequenceFlow_1nodcf9" sourceRef="IntermediateThrowEvent_1h8oi7w" targetRef="Task_0ap39ka" /> + <bpmn2:sequenceFlow id="SequenceFlow_11b00u2" name="yes" sourceRef="ExclusiveGateway_0ud5uwa" targetRef="IntermediateThrowEvent_0pwcatt"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression> </bpmn2:sequenceFlow> - <bpmn2:sequenceFlow id="SequenceFlow_0eueu1t" name="Skip Set VNF In Maint in AAI" sourceRef="ExclusiveGateway_0y82zzx" targetRef="Task_1dtbnuy"> - <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("RPLVnfI_workStep") == "setVnfInMaintFlagInAAI"]]></bpmn2:conditionExpression> + <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_1w8dvxw" name="To VNF Lock"> + <bpmn2:outgoing>SequenceFlow_1qfjlt7</bpmn2:outgoing> + <bpmn2:linkEventDefinition name="To VNF Lock" /> + </bpmn2:intermediateCatchEvent> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0mqqagp" name="To Rainy Day Hnadling"> + <bpmn2:incoming>SequenceFlow_1ck3v34</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To Rainy Day Handling" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_0vyfpwj" name="To Health PreCheck"> + <bpmn2:outgoing>SequenceFlow_0x7iupc</bpmn2:outgoing> + <bpmn2:linkEventDefinition name="To Health PreCheck" /> + </bpmn2:intermediateCatchEvent> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_12187dz" name="To Rainy Day Handling"> + <bpmn2:incoming>SequenceFlow_079nix0</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To Rainy Day Handling" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_0c7rese" name="To VNF Stop"> + <bpmn2:outgoing>SequenceFlow_0hp0w6k</bpmn2:outgoing> + <bpmn2:linkEventDefinition name="To VNF Stop" /> + </bpmn2:intermediateCatchEvent> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_18grbwz" name="To Rainy Day Handling"> + <bpmn2:incoming>SequenceFlow_032i8t0</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To Rainy Day Handling" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:sequenceFlow id="SequenceFlow_1qfjlt7" sourceRef="IntermediateThrowEvent_1w8dvxw" targetRef="Task_1dtbnuy" /> + <bpmn2:sequenceFlow id="SequenceFlow_1ck3v34" name="yes" sourceRef="ExclusiveGateway_1slvyx2" targetRef="IntermediateThrowEvent_0mqqagp"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression> </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_0x7iupc" sourceRef="IntermediateThrowEvent_0vyfpwj" targetRef="Task_1fj63ov" /> + <bpmn2:sequenceFlow id="SequenceFlow_079nix0" name="yes" sourceRef="ExclusiveGateway_1ichg7h" targetRef="IntermediateThrowEvent_12187dz"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_0hp0w6k" sourceRef="IntermediateThrowEvent_0c7rese" targetRef="Task_1cfkcss" /> + <bpmn2:sequenceFlow id="SequenceFlow_032i8t0" name="yes" sourceRef="ExclusiveGateway_1etgtgi" targetRef="IntermediateThrowEvent_18grbwz"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_0r8kzqa" name="To DoDeleteVnfAndModules"> + <bpmn2:outgoing>SequenceFlow_0aldwvz</bpmn2:outgoing> + <bpmn2:linkEventDefinition name="To DoDeleteVnfAndModules" /> + </bpmn2:intermediateCatchEvent> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_169eg4j" name="To Rainy Day Handling"> + <bpmn2:incoming>SequenceFlow_1f0c5lj</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To Rainy Day Handling" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_0tenxiw" name="To DoCreateVnfAndModules"> + <bpmn2:outgoing>SequenceFlow_111z6w4</bpmn2:outgoing> + <bpmn2:linkEventDefinition name="To DoCreateVnfAndModules" /> + </bpmn2:intermediateCatchEvent> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1mocak0" name="To Rainy Day Handling"> + <bpmn2:incoming>SequenceFlow_0pfvulx</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To Rainy Day Handling" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:sequenceFlow id="SequenceFlow_0aldwvz" sourceRef="IntermediateThrowEvent_0r8kzqa" targetRef="Task_0eae8go" /> + <bpmn2:sequenceFlow id="SequenceFlow_1f0c5lj" name="yes" sourceRef="ExclusiveGateway_0ulrq9g" targetRef="IntermediateThrowEvent_169eg4j"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_111z6w4" sourceRef="IntermediateThrowEvent_0tenxiw" targetRef="Task_040hi91" /> + <bpmn2:sequenceFlow id="SequenceFlow_0pfvulx" name="yes" sourceRef="ExclusiveGateway_084iffr" targetRef="IntermediateThrowEvent_1mocak0"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:callActivity id="Task_1sove95" name="Call APP-C VNF Unlock" calledElement="AppCClient"> + <bpmn2:extensionElements> + <camunda:in source="msoRequestId" target="msoRequestId" /> + <camunda:in source="actionUnlock" target="action" /> + <camunda:in source="vnfId" target="vnfId" /> + <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" /> + <camunda:out source="errorCode" target="errorCode" /> + <camunda:out source="errorText" target="errorText" /> + <camunda:out source="workStep" target="workStep" /> + <camunda:out source="failedActivity" target="failedActivity" /> + <camunda:out source="rollbackVnfLock" target="rollbackVnfLock" /> + </bpmn2:extensionElements> + <bpmn2:incoming>SequenceFlow_197t3qk</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_18e0jz0</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_1xfbwpi</bpmn2:outgoing> + </bpmn2:callActivity> + <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_15yev7i" name="To VNF Start"> + <bpmn2:outgoing>SequenceFlow_1lrbndo</bpmn2:outgoing> + <bpmn2:linkEventDefinition name="To VNF Start" /> + </bpmn2:intermediateCatchEvent> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0osnva5" name="To Rainy Day Handling"> + <bpmn2:incoming>SequenceFlow_17vwb2h</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To Rainy Day Handling" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_0gluaxf" name="To Health PostCheck"> + <bpmn2:outgoing>SequenceFlow_14mblvp</bpmn2:outgoing> + <bpmn2:linkEventDefinition name="To Health PostCheck" /> + </bpmn2:intermediateCatchEvent> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1chu5lh" name="To Rainy Day Handling"> + <bpmn2:incoming>SequenceFlow_0ba08lt</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To Rainy Day Handling" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_0p7wh09" name="To VNF Unlock"> + <bpmn2:outgoing>SequenceFlow_18e0jz0</bpmn2:outgoing> + <bpmn2:linkEventDefinition name="To VNF Unlock" /> + </bpmn2:intermediateCatchEvent> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0uh8zti" name="To Rainy Day Handling"> + <bpmn2:incoming>SequenceFlow_1akvi72</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To Rainy Day Handling" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_1dei2gz" name="To inMaintenance Unset"> + <bpmn2:outgoing>SequenceFlow_0usoiza</bpmn2:outgoing> + <bpmn2:linkEventDefinition name="To inMaintenance Unset" /> + </bpmn2:intermediateCatchEvent> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0fobhuu" name="To Rainy Day Handling"> + <bpmn2:incoming>SequenceFlow_1sdol24</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To Rainy Day Handling" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:sequenceFlow id="SequenceFlow_1lrbndo" sourceRef="IntermediateThrowEvent_15yev7i" targetRef="Task_1hdg951" /> + <bpmn2:sequenceFlow id="SequenceFlow_17vwb2h" name="yes" sourceRef="ExclusiveGateway_02tj4dw" targetRef="IntermediateThrowEvent_0osnva5"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_14mblvp" sourceRef="IntermediateThrowEvent_0gluaxf" targetRef="Task_1ca5ctq" /> + <bpmn2:sequenceFlow id="SequenceFlow_0ba08lt" name="yes" sourceRef="ExclusiveGateway_1gn5lab" targetRef="IntermediateThrowEvent_1chu5lh"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_18e0jz0" sourceRef="IntermediateThrowEvent_0p7wh09" targetRef="Task_1sove95" /> + <bpmn2:sequenceFlow id="SequenceFlow_1akvi72" name="yes" sourceRef="ExclusiveGateway_06mv93h" targetRef="IntermediateThrowEvent_0uh8zti"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_0usoiza" sourceRef="IntermediateThrowEvent_1dei2gz" targetRef="Task_1drglpt" /> + <bpmn2:sequenceFlow id="SequenceFlow_1sdol24" name="yes" sourceRef="ExclusiveGateway_0l2z6wc" targetRef="IntermediateThrowEvent_0fobhuu"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_1lc72r4" name="To Completion Handler Prep"> + <bpmn2:outgoing>SequenceFlow_19rrss6</bpmn2:outgoing> + <bpmn2:linkEventDefinition name="To Completion Handler Prep" /> + </bpmn2:intermediateCatchEvent> + <bpmn2:sequenceFlow id="SequenceFlow_19rrss6" sourceRef="IntermediateThrowEvent_1lc72r4" targetRef="ScriptTask_10" /> + <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_0a9mn5c" name="To Rainy Day Handling"> + <bpmn2:outgoing>SequenceFlow_1cezgw4</bpmn2:outgoing> + <bpmn2:linkEventDefinition name="To Rainy Day Handling" /> + </bpmn2:intermediateCatchEvent> + <bpmn2:sequenceFlow id="SequenceFlow_1cezgw4" sourceRef="IntermediateThrowEvent_0a9mn5c" targetRef="Task_0q5cdit" /> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0x4bho9" name="To inMaintenance Check"> + <bpmn2:incoming>SequenceFlow_1ei7at5</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To inMaintenance Check" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0jervei" name="To inMaintenance Set"> + <bpmn2:incoming>SequenceFlow_0kg02xg</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To inMaintenance Set" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1vju4tj" name="To VNF Lock"> + <bpmn2:incoming>SequenceFlow_1i6p53b</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To VNF Lock" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1fzppfz" name="To Health PreCheck"> + <bpmn2:incoming>SequenceFlow_1yy7o24</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To Health PreCheck" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1e0qowf" name="To VNF Stop"> + <bpmn2:incoming>SequenceFlow_0sqmtpl</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To VNF Stop" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1v93roi" name="To DoDeleteVnfAndModules"> + <bpmn2:incoming>SequenceFlow_1shdmrj</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To DoDeleteVnfAndModules" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_04a1dfz" name="To DoCreateVnfAndModules"> + <bpmn2:incoming>SequenceFlow_1v1i5w4</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To DoCreateVnfAndModules" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_151z73b" name="To VNF Start"> + <bpmn2:incoming>SequenceFlow_1h8rscx</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To VNF Start" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_10bre7q" name="To Health PostCheck"> + <bpmn2:incoming>SequenceFlow_1xzq6jb</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To Health PostCheck" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1fl945a" name="To VNF Unlock"> + <bpmn2:incoming>SequenceFlow_165q14c</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To VNF Unlock" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1lljtoh" name="To inMaintenance Unset"> + <bpmn2:incoming>SequenceFlow_0wp1a6g</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To inMaintenance Unset" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0sub2cf" name="To Completion Handler Prep"> + <bpmn2:incoming>SequenceFlow_0vymfh9</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To Completion Handler Prep" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:sequenceFlow id="SequenceFlow_1ei7at5" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_0x4bho9"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("workStep") == "checkIfPserversInMaintInAAI"]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_0kg02xg" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_0jervei"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("workStep") == "checkIfVnfInMaintInAAI"]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_1i6p53b" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_1vju4tj"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("workStep") == "setVnfInMaintFlagInAAI"]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_1yy7o24" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_1fzppfz"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("workStep") == "Lock"]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_0sqmtpl" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_1e0qowf"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("workStep") == "HealthCheck0"]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_1shdmrj" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_1v93roi"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("workStep") == "Stop"]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_1v1i5w4" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_04a1dfz"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("workStep") == "doDeleteVnfAndModules"]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_1h8rscx" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_151z73b"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("workStep") == "doCreateVnfAndModules"]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_1xzq6jb" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_10bre7q"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("workStep") == "Start"]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_165q14c" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_1fl945a"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("workStep") == "HealthCheck1"]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_0wp1a6g" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_1lljtoh"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("workStep") == "Unlock"]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_0vymfh9" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_0sub2cf"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("workStep") == "unsetVnfInMaintFlagInAAI"]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_14yy8v4" sourceRef="Task_0iydw5o" targetRef="Task_0vy2zge" /> + <bpmn2:scriptTask id="Task_0iydw5o" name="Query A&AI for VNF" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_053qjfy</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_14yy8v4</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def uvfm = new ReplaceVnfInfra() +uvfm.queryAAIForVnf(execution)]]></bpmn2:script> + </bpmn2:scriptTask> </bpmn2:process> <bpmn2:error id="Error_1" name="MSOWorkflowException" errorCode="MSOWorkflowException" /> <bpmndi:BPMNDiagram id="BPMNDiagram_1"> @@ -465,9 +740,9 @@ uvfm.prepDoCreateVnfAndModules(execution)]]></bpmn2:script> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="_BPMNShape_EndEvent_125" bpmnElement="EndEvent_1"> - <dc:Bounds x="595" y="975" width="36" height="36" /> + <dc:Bounds x="599" y="1249" width="36" height="36" /> <bpmndi:BPMNLabel> - <dc:Bounds x="594" y="1016" width="38" height="12" /> + <dc:Bounds x="598" y="1290" width="38" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_4" bpmnElement="SequenceFlow_4" sourceElement="_BPMNShape_StartEvent_50" targetElement="_BPMNShape_ScriptTask_124"> @@ -498,107 +773,110 @@ uvfm.prepDoCreateVnfAndModules(execution)]]></bpmn2:script> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_127" bpmnElement="ScriptTask_4"> - <dc:Bounds x="439" y="953" width="100" height="80" /> + <dc:Bounds x="434" y="1227" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_6" bpmnElement="SequenceFlow_6" sourceElement="_BPMNShape_ScriptTask_127" targetElement="_BPMNShape_EndEvent_125"> - <di:waypoint xsi:type="dc:Point" x="539" y="993" /> - <di:waypoint xsi:type="dc:Point" x="595" y="993" /> + <di:waypoint xsi:type="dc:Point" x="534" y="1267" /> + <di:waypoint xsi:type="dc:Point" x="560" y="1267" /> + <di:waypoint xsi:type="dc:Point" x="560" y="1267" /> + <di:waypoint xsi:type="dc:Point" x="599" y="1267" /> <bpmndi:BPMNLabel> - <dc:Bounds x="716" y="834" width="0" height="0" /> + <dc:Bounds x="575" y="1267" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_133" bpmnElement="ScriptTask_10"> - <dc:Bounds x="139" y="953" width="100" height="80" /> + <dc:Bounds x="134" y="1227" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="_BPMNShape_CallActivity_27" bpmnElement="CallActivity_1"> - <dc:Bounds x="289" y="953" width="100" height="80" /> + <dc:Bounds x="284" y="1227" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_17" bpmnElement="SequenceFlow_17" sourceElement="_BPMNShape_ScriptTask_133" targetElement="_BPMNShape_CallActivity_27"> - <di:waypoint xsi:type="dc:Point" x="239" y="993" /> - <di:waypoint xsi:type="dc:Point" x="289" y="993" /> + <di:waypoint xsi:type="dc:Point" x="234" y="1267" /> + <di:waypoint xsi:type="dc:Point" x="284" y="1267" /> <bpmndi:BPMNLabel> - <dc:Bounds x="264" y="999" width="0" height="0" /> + <dc:Bounds x="256" y="1509" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="_BPMNShape_SubProcess_17" bpmnElement="SubProcess_1" isExpanded="true"> - <dc:Bounds x="85" y="1189" width="565" height="241" /> + <dc:Bounds x="105" y="1469" width="1047" height="239" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="_BPMNShape_StartEvent_52" bpmnElement="StartEvent_3"> - <dc:Bounds x="149" y="1283" width="36" height="36" /> + <dc:Bounds x="169" y="1563" width="36" height="36" /> <bpmndi:BPMNLabel> - <dc:Bounds x="128" y="1324" width="77" height="12" /> + <dc:Bounds x="148" y="1604" width="77" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_136" bpmnElement="ScriptTask_3"> - <dc:Bounds x="229" y="1261" width="100" height="80" /> + <dc:Bounds x="748" y="1541" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_1" bpmnElement="SequenceFlow_1" sourceElement="_BPMNShape_StartEvent_52" targetElement="_BPMNShape_ScriptTask_136"> - <di:waypoint xsi:type="dc:Point" x="185" y="1301" /> - <di:waypoint xsi:type="dc:Point" x="229" y="1301" /> + <di:waypoint xsi:type="dc:Point" x="205" y="1581" /> + <di:waypoint xsi:type="dc:Point" x="248" y="1581" /> <bpmndi:BPMNLabel> - <dc:Bounds x="232" y="1601" width="0" height="0" /> + <dc:Bounds x="227" y="1566" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_7" bpmnElement="SequenceFlow_7" sourceElement="_BPMNShape_ScriptTask_136" targetElement="_BPMNShape_CallActivity_28"> - <di:waypoint xsi:type="dc:Point" x="329" y="1301" /> - <di:waypoint xsi:type="dc:Point" x="397" y="1301" /> + <di:waypoint xsi:type="dc:Point" x="848" y="1581" /> + <di:waypoint xsi:type="dc:Point" x="916" y="1581" /> <bpmndi:BPMNLabel> - <dc:Bounds x="345" y="1301" width="0" height="0" /> + <dc:Bounds x="864" y="1581" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="_BPMNShape_EndEvent_126" bpmnElement="EndEvent_2"> - <dc:Bounds x="553" y="1283" width="36" height="36" /> + <dc:Bounds x="1072" y="1563" width="36" height="36" /> <bpmndi:BPMNLabel> - <dc:Bounds x="571" y="1324" width="0" height="0" /> + <dc:Bounds x="1090" y="1604" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="_BPMNShape_BoundaryEvent_43" bpmnElement="BoundaryEvent_1"> - <dc:Bounds x="632" y="1283" width="36" height="36" /> + <dc:Bounds x="1134" y="1562" width="36" height="36" /> <bpmndi:BPMNLabel> - <dc:Bounds x="650" y="1324" width="0" height="0" /> + <dc:Bounds x="1152" y="1603" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="_BPMNShape_EndEvent_127" bpmnElement="EndEvent_3"> - <dc:Bounds x="726" y="1283" width="36" height="36" /> + <dc:Bounds x="1205" y="1561" width="36" height="36" /> <bpmndi:BPMNLabel> - <dc:Bounds x="744" y="1324" width="0" height="0" /> + <dc:Bounds x="1223" y="1602" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_12" bpmnElement="SequenceFlow_12" sourceElement="_BPMNShape_BoundaryEvent_43" targetElement="_BPMNShape_EndEvent_127"> - <di:waypoint xsi:type="dc:Point" x="668" y="1301" /> - <di:waypoint xsi:type="dc:Point" x="726" y="1301" /> + <di:waypoint xsi:type="dc:Point" x="1170" y="1580" /> + <di:waypoint xsi:type="dc:Point" x="1205" y="1579" /> <bpmndi:BPMNLabel> - <dc:Bounds x="697" y="1286" width="0" height="0" /> + <dc:Bounds x="1188" y="1564.5" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="_BPMNShape_CallActivity_28" bpmnElement="CallActivity_2"> - <dc:Bounds x="397" y="1261" width="100" height="80" /> + <dc:Bounds x="916" y="1541" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_14" bpmnElement="SequenceFlow_14" sourceElement="_BPMNShape_CallActivity_27" targetElement="_BPMNShape_ScriptTask_127"> - <di:waypoint xsi:type="dc:Point" x="389" y="993" /> - <di:waypoint xsi:type="dc:Point" x="439" y="993" /> + <di:waypoint xsi:type="dc:Point" x="384" y="1267" /> + <di:waypoint xsi:type="dc:Point" x="434" y="1267" /> <bpmndi:BPMNLabel> - <dc:Bounds x="432" y="961" width="0" height="0" /> + <dc:Bounds x="406" y="1509" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_19" bpmnElement="SequenceFlow_19" sourceElement="_BPMNShape_CallActivity_28" targetElement="_BPMNShape_EndEvent_126"> - <di:waypoint xsi:type="dc:Point" x="497" y="1301" /> - <di:waypoint xsi:type="dc:Point" x="553" y="1301" /> + <di:waypoint xsi:type="dc:Point" x="1016" y="1581" /> + <di:waypoint xsi:type="dc:Point" x="1072" y="1581" /> <bpmndi:BPMNLabel> - <dc:Bounds x="390" y="1361" width="0" height="0" /> + <dc:Bounds x="909" y="1641" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_181" bpmnElement="ScriptTask_6"> - <dc:Bounds x="289" y="559" width="100" height="80" /> + <dc:Bounds x="305" y="695" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_3" bpmnElement="SequenceFlow_3" sourceElement="_BPMNShape_ScriptTask_181" targetElement="_BPMNShape_ScriptTask_133"> - <di:waypoint xsi:type="dc:Point" x="1130" y="835" /> - <di:waypoint xsi:type="dc:Point" x="1130" y="900" /> - <di:waypoint xsi:type="dc:Point" x="99" y="900" /> - <di:waypoint xsi:type="dc:Point" x="99" y="993" /> - <di:waypoint xsi:type="dc:Point" x="139" y="993" /> + <di:waypoint xsi:type="dc:Point" x="1181" y="989" /> + <di:waypoint xsi:type="dc:Point" x="1275" y="989" /> + <di:waypoint xsi:type="dc:Point" x="1275" y="1171" /> + <di:waypoint xsi:type="dc:Point" x="96" y="1171" /> + <di:waypoint xsi:type="dc:Point" x="96" y="1267" /> + <di:waypoint xsi:type="dc:Point" x="134" y="1267" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1109" y="862" width="12" height="12" /> + <dc:Bounds x="1218" y="964.4017408047539" width="12" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_1w35ov3_di" bpmnElement="SequenceFlow_1w35ov3"> @@ -613,13 +891,9 @@ uvfm.prepDoCreateVnfAndModules(execution)]]></bpmn2:script> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_053qjfy_di" bpmnElement="SequenceFlow_053qjfy"> <di:waypoint xsi:type="dc:Point" x="818" y="90" /> - <di:waypoint xsi:type="dc:Point" x="982" y="90" /> - <di:waypoint xsi:type="dc:Point" x="982" y="156" /> - <di:waypoint xsi:type="dc:Point" x="103" y="156" /> - <di:waypoint xsi:type="dc:Point" x="103" y="237" /> - <di:waypoint xsi:type="dc:Point" x="131" y="237" /> + <di:waypoint xsi:type="dc:Point" x="863" y="90" /> <bpmndi:BPMNLabel> - <dc:Bounds x="543" y="141" width="0" height="0" /> + <dc:Bounds x="841" y="75" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="ScriptTask_08xzuox_di" bpmnElement="Task_1opcb4j"> @@ -636,102 +910,87 @@ uvfm.prepDoCreateVnfAndModules(execution)]]></bpmn2:script> <dc:Bounds x="425" y="197" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_0usxnlk_di" bpmnElement="SequenceFlow_0usxnlk"> - <di:waypoint xsi:type="dc:Point" x="231" y="237" /> + <di:waypoint xsi:type="dc:Point" x="239" y="237" /> <di:waypoint xsi:type="dc:Point" x="292" y="237" /> <bpmndi:BPMNLabel> - <dc:Bounds x="262" y="222" width="0" height="0" /> + <dc:Bounds x="266" y="222" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_1bkhs8m_di" bpmnElement="SequenceFlow_1bkhs8m"> - <di:waypoint xsi:type="dc:Point" x="896" y="264" /> - <di:waypoint xsi:type="dc:Point" x="896" y="339" /> - <di:waypoint xsi:type="dc:Point" x="98" y="339" /> - <di:waypoint xsi:type="dc:Point" x="98" y="427" /> - <di:waypoint xsi:type="dc:Point" x="139" y="427" /> + <di:waypoint xsi:type="dc:Point" x="921" y="237" /> + <di:waypoint xsi:type="dc:Point" x="988" y="237" /> + <di:waypoint xsi:type="dc:Point" x="988" y="402" /> + <di:waypoint xsi:type="dc:Point" x="98" y="402" /> + <di:waypoint xsi:type="dc:Point" x="98" y="490" /> + <di:waypoint xsi:type="dc:Point" x="139" y="490" /> <bpmndi:BPMNLabel> - <dc:Bounds x="905" y="313.95238095238096" width="12" height="12" /> + <dc:Bounds x="951" y="208.69353020889844" width="12" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_0gzzeru_di" bpmnElement="SequenceFlow_0gzzeru"> - <di:waypoint xsi:type="dc:Point" x="389" y="599" /> - <di:waypoint xsi:type="dc:Point" x="441" y="599" /> + <di:waypoint xsi:type="dc:Point" x="405" y="735" /> + <di:waypoint xsi:type="dc:Point" x="464" y="735" /> <bpmndi:BPMNLabel> - <dc:Bounds x="415" y="584" width="0" height="0" /> + <dc:Bounds x="435" y="720" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="ScriptTask_0wa4zya_di" bpmnElement="Task_0ap39ka"> - <dc:Bounds x="714" y="197" width="100" height="80" /> + <dc:Bounds x="718" y="197" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="ScriptTask_0sgm9bu_di" bpmnElement="Task_1drglpt"> - <dc:Bounds x="960" y="770" width="100" height="80" /> + <dc:Bounds x="982" y="949" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="ScriptTask_16jtt5t_di" bpmnElement="Task_0vy2zge"> - <dc:Bounds x="131" y="197" width="100" height="80" /> + <dc:Bounds x="139" y="197" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_0xx8y1s_di" bpmnElement="SequenceFlow_0xx8y1s"> - <di:waypoint xsi:type="dc:Point" x="239" y="427" /> - <di:waypoint xsi:type="dc:Point" x="292" y="427" /> + <di:waypoint xsi:type="dc:Point" x="239" y="490" /> + <di:waypoint xsi:type="dc:Point" x="292" y="490" /> <bpmndi:BPMNLabel> - <dc:Bounds x="266" y="412" width="0" height="0" /> + <dc:Bounds x="266" y="475" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_0a6pdza_di" bpmnElement="SequenceFlow_0a6pdza"> - <di:waypoint xsi:type="dc:Point" x="525" y="427" /> - <di:waypoint xsi:type="dc:Point" x="601" y="427" /> + <di:waypoint xsi:type="dc:Point" x="525" y="490" /> + <di:waypoint xsi:type="dc:Point" x="601" y="490" /> <bpmndi:BPMNLabel> - <dc:Bounds x="563" y="412" width="0" height="0" /> + <dc:Bounds x="563" y="475" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_13h26h9_di" bpmnElement="SequenceFlow_13h26h9"> - <di:waypoint xsi:type="dc:Point" x="814" y="427" /> - <di:waypoint xsi:type="dc:Point" x="871" y="427" /> + <di:waypoint xsi:type="dc:Point" x="818" y="490" /> + <di:waypoint xsi:type="dc:Point" x="871" y="490" /> <bpmndi:BPMNLabel> - <dc:Bounds x="843" y="412" width="0" height="0" /> + <dc:Bounds x="845" y="475" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNShape id="ScriptTask_02wc9i0_di" bpmnElement="Task_1dtbnuy"> - <dc:Bounds x="139" y="387" width="100" height="80" /> - </bpmndi:BPMNShape> - <bpmndi:BPMNShape id="ScriptTask_0mz2hdm_di" bpmnElement="Task_1fj63ov"> - <dc:Bounds x="425" y="387" width="100" height="80" /> - </bpmndi:BPMNShape> - <bpmndi:BPMNShape id="ScriptTask_1wagy2o_di" bpmnElement="Task_1cfkcss"> - <dc:Bounds x="714" y="387" width="100" height="80" /> - </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_1uno5rs_di" bpmnElement="SequenceFlow_1uno5rs"> - <di:waypoint xsi:type="dc:Point" x="239" y="810" /> - <di:waypoint xsi:type="dc:Point" x="292" y="810" /> + <di:waypoint xsi:type="dc:Point" x="259" y="989" /> + <di:waypoint xsi:type="dc:Point" x="295" y="989" /> + <di:waypoint xsi:type="dc:Point" x="295" y="989" /> + <di:waypoint xsi:type="dc:Point" x="330" y="989" /> <bpmndi:BPMNLabel> - <dc:Bounds x="266" y="795" width="0" height="0" /> + <dc:Bounds x="310" y="989" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_1c79909_di" bpmnElement="SequenceFlow_1c79909"> - <di:waypoint xsi:type="dc:Point" x="525" y="810" /> - <di:waypoint xsi:type="dc:Point" x="601" y="810" /> + <di:waypoint xsi:type="dc:Point" x="539" y="989" /> + <di:waypoint xsi:type="dc:Point" x="601" y="989" /> <bpmndi:BPMNLabel> - <dc:Bounds x="563" y="795" width="0" height="0" /> + <dc:Bounds x="570" y="974" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNShape id="ScriptTask_13zephm_di" bpmnElement="Task_1hdg951"> - <dc:Bounds x="139" y="770" width="100" height="80" /> - </bpmndi:BPMNShape> - <bpmndi:BPMNShape id="ScriptTask_11xqphb_di" bpmnElement="Task_1ca5ctq"> - <dc:Bounds x="425" y="770" width="100" height="80" /> - </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_1xfbwpi_di" bpmnElement="SequenceFlow_1xfbwpi"> - <di:waypoint xsi:type="dc:Point" x="814" y="810" /> - <di:waypoint xsi:type="dc:Point" x="871" y="810" /> + <di:waypoint xsi:type="dc:Point" x="818" y="989" /> + <di:waypoint xsi:type="dc:Point" x="880" y="989" /> <bpmndi:BPMNLabel> - <dc:Bounds x="843" y="795" width="0" height="0" /> + <dc:Bounds x="849" y="974" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNShape id="ScriptTask_0a4ovfa_di" bpmnElement="Task_1sove95"> - <dc:Bounds x="714" y="770" width="100" height="80" /> - </bpmndi:BPMNShape> <bpmndi:BPMNShape id="ExclusiveGateway_0q323wc_di" bpmnElement="ExclusiveGateway_0q323wc" isMarkerVisible="true"> <dc:Bounds x="291.803" y="212" width="50" height="50" /> <bpmndi:BPMNLabel> - <dc:Bounds x="274" y="262" width="86" height="24" /> + <dc:Bounds x="273" y="170" width="87" height="24" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_16mo99z_di" bpmnElement="SequenceFlow_16mo99z"> @@ -744,434 +1003,804 @@ uvfm.prepDoCreateVnfAndModules(execution)]]></bpmn2:script> <bpmndi:BPMNShape id="ExclusiveGateway_045e1uz_di" bpmnElement="ExclusiveGateway_045e1uz" isMarkerVisible="true"> <dc:Bounds x="601" y="212" width="50" height="50" /> <bpmndi:BPMNLabel> - <dc:Bounds x="589" y="262" width="73" height="36" /> + <dc:Bounds x="589" y="161" width="73" height="36" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_0baosqi_di" bpmnElement="SequenceFlow_0baosqi"> <di:waypoint xsi:type="dc:Point" x="651" y="237" /> - <di:waypoint xsi:type="dc:Point" x="714" y="237" /> + <di:waypoint xsi:type="dc:Point" x="718" y="237" /> <bpmndi:BPMNLabel> - <dc:Bounds x="673" y="214" width="12" height="12" /> + <dc:Bounds x="675" y="214" width="12" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="CallActivity_1k5n5d1_di" bpmnElement="Task_0q5cdit"> - <dc:Bounds x="1132" y="470" width="100" height="80" /> + <dc:Bounds x="1173" y="609" width="100" height="80" /> </bpmndi:BPMNShape> - <bpmndi:BPMNEdge id="SequenceFlow_1qmz2ez_di" bpmnElement="SequenceFlow_1qmz2ez"> - <di:waypoint xsi:type="dc:Point" x="317" y="212" /> - <di:waypoint xsi:type="dc:Point" x="317" y="191" /> - <di:waypoint xsi:type="dc:Point" x="1182" y="191" /> - <di:waypoint xsi:type="dc:Point" x="1182" y="470" /> - <bpmndi:BPMNLabel> - <dc:Bounds x="378" y="196" width="18" height="12" /> - </bpmndi:BPMNLabel> - </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_03rkfbo_di" bpmnElement="SequenceFlow_03rkfbo"> - <di:waypoint xsi:type="dc:Point" x="626" y="212" /> - <di:waypoint xsi:type="dc:Point" x="626" y="187" /> - <di:waypoint xsi:type="dc:Point" x="1182" y="187" /> - <di:waypoint xsi:type="dc:Point" x="1182" y="470" /> - <bpmndi:BPMNLabel> - <dc:Bounds x="683" y="166" width="18" height="12" /> - </bpmndi:BPMNLabel> - </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_0v0u7mf_di" bpmnElement="SequenceFlow_0v0u7mf"> - <di:waypoint xsi:type="dc:Point" x="1232" y="510" /> - <di:waypoint xsi:type="dc:Point" x="1314" y="510" /> + <di:waypoint xsi:type="dc:Point" x="1273" y="649" /> + <di:waypoint xsi:type="dc:Point" x="1315" y="649" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1273" y="495" width="0" height="0" /> + <dc:Bounds x="1294" y="634" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="Task_0zbogrm_di" bpmnElement="Task_0zbogrm"> - <dc:Bounds x="1438" y="470" width="100" height="80" /> + <dc:Bounds x="1290" y="768" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_0vpd06n_di" bpmnElement="SequenceFlow_0vpd06n"> - <di:waypoint xsi:type="dc:Point" x="1339" y="485" /> - <di:waypoint xsi:type="dc:Point" x="1339" y="373" /> - <di:waypoint xsi:type="dc:Point" x="1438" y="373" /> + <di:waypoint xsi:type="dc:Point" x="1340" y="624" /> + <di:waypoint xsi:type="dc:Point" x="1340" y="551" /> + <di:waypoint xsi:type="dc:Point" x="1340" y="551" /> + <di:waypoint xsi:type="dc:Point" x="1340" y="502" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1390" y="377" width="26" height="12" /> + <dc:Bounds x="1351" y="556.9998593756898" width="26" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_1qr8msw_di" bpmnElement="SequenceFlow_1qr8msw"> - <di:waypoint xsi:type="dc:Point" x="1364" y="510" /> - <di:waypoint xsi:type="dc:Point" x="1405" y="510" /> - <di:waypoint xsi:type="dc:Point" x="1405" y="510" /> - <di:waypoint xsi:type="dc:Point" x="1438" y="510" /> + <di:waypoint xsi:type="dc:Point" x="1340" y="674" /> + <di:waypoint xsi:type="dc:Point" x="1340" y="722" /> + <di:waypoint xsi:type="dc:Point" x="1340" y="722" /> + <di:waypoint xsi:type="dc:Point" x="1340" y="768" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1380" y="515" width="42" height="12" /> + <dc:Bounds x="1344" y="718.1219512195122" width="42" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="ExclusiveGateway_0ud5uwa_di" bpmnElement="ExclusiveGateway_0ud5uwa" isMarkerVisible="true"> <dc:Bounds x="871.1194471865745" y="211.86673247778873" width="50" height="50" /> <bpmndi:BPMNLabel> - <dc:Bounds x="904" y="257.86673247778873" width="73" height="36" /> + <dc:Bounds x="859" y="164" width="73" height="36" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_0k3fx7p_di" bpmnElement="SequenceFlow_0k3fx7p"> - <di:waypoint xsi:type="dc:Point" x="814" y="237" /> + <di:waypoint xsi:type="dc:Point" x="818" y="237" /> <di:waypoint xsi:type="dc:Point" x="871" y="237" /> <bpmndi:BPMNLabel> - <dc:Bounds x="843" y="222" width="0" height="0" /> - </bpmndi:BPMNLabel> - </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_1lsm3bn_di" bpmnElement="SequenceFlow_1lsm3bn"> - <di:waypoint xsi:type="dc:Point" x="921" y="237" /> - <di:waypoint xsi:type="dc:Point" x="1182" y="237" /> - <di:waypoint xsi:type="dc:Point" x="1182" y="470" /> - <bpmndi:BPMNLabel> - <dc:Bounds x="1044" y="214" width="18" height="12" /> + <dc:Bounds x="845" y="222" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="ExclusiveGateway_1slvyx2_di" bpmnElement="ExclusiveGateway_1slvyx2" isMarkerVisible="true"> - <dc:Bounds x="292" y="402" width="50" height="50" /> + <dc:Bounds x="292" y="465" width="50" height="50" /> <bpmndi:BPMNLabel> - <dc:Bounds x="283" y="452" width="68" height="24" /> + <dc:Bounds x="283" y="428" width="68" height="24" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_0qy68ib_di" bpmnElement="SequenceFlow_0qy68ib"> - <di:waypoint xsi:type="dc:Point" x="342" y="427" /> - <di:waypoint xsi:type="dc:Point" x="425" y="427" /> + <di:waypoint xsi:type="dc:Point" x="342" y="490" /> + <di:waypoint xsi:type="dc:Point" x="425" y="490" /> <bpmndi:BPMNLabel> - <dc:Bounds x="378" y="412" width="12" height="12" /> + <dc:Bounds x="378" y="475" width="12" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="ExclusiveGateway_1ichg7h_di" bpmnElement="ExclusiveGateway_1ichg7h" isMarkerVisible="true"> - <dc:Bounds x="601" y="402" width="50" height="50" /> + <dc:Bounds x="601" y="465" width="50" height="50" /> <bpmndi:BPMNLabel> - <dc:Bounds x="590" y="452" width="72" height="24" /> + <dc:Bounds x="590" y="428" width="72" height="24" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_0q0qan8_di" bpmnElement="SequenceFlow_0q0qan8"> - <di:waypoint xsi:type="dc:Point" x="651" y="427" /> - <di:waypoint xsi:type="dc:Point" x="714" y="427" /> + <di:waypoint xsi:type="dc:Point" x="651" y="490" /> + <di:waypoint xsi:type="dc:Point" x="718" y="490" /> <bpmndi:BPMNLabel> - <dc:Bounds x="677" y="412" width="12" height="12" /> + <dc:Bounds x="680" y="475" width="12" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="ExclusiveGateway_1etgtgi_di" bpmnElement="ExclusiveGateway_1etgtgi" isMarkerVisible="true"> - <dc:Bounds x="870.9141164856861" y="402" width="50" height="50" /> + <dc:Bounds x="871" y="465" width="50" height="50" /> <bpmndi:BPMNLabel> - <dc:Bounds x="909" y="445" width="68" height="24" /> + <dc:Bounds x="862" y="430" width="68" height="24" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_1c0vdki_di" bpmnElement="SequenceFlow_1c0vdki"> - <di:waypoint xsi:type="dc:Point" x="896" y="452" /> - <di:waypoint xsi:type="dc:Point" x="896" y="507" /> - <di:waypoint xsi:type="dc:Point" x="90" y="507" /> - <di:waypoint xsi:type="dc:Point" x="90" y="599" /> - <di:waypoint xsi:type="dc:Point" x="131" y="599" /> + <di:waypoint xsi:type="dc:Point" x="921" y="490" /> + <di:waypoint xsi:type="dc:Point" x="995" y="490" /> + <di:waypoint xsi:type="dc:Point" x="995" y="643" /> + <di:waypoint xsi:type="dc:Point" x="96" y="643" /> + <di:waypoint xsi:type="dc:Point" x="96" y="735" /> + <di:waypoint xsi:type="dc:Point" x="139" y="735" /> <bpmndi:BPMNLabel> - <dc:Bounds x="906" y="484" width="12" height="12" /> + <dc:Bounds x="949" y="466" width="12" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_0bduwog_di" bpmnElement="SequenceFlow_0bduwog"> - <di:waypoint xsi:type="dc:Point" x="317" y="402" /> - <di:waypoint xsi:type="dc:Point" x="317" y="354" /> - <di:waypoint xsi:type="dc:Point" x="1182" y="354" /> - <di:waypoint xsi:type="dc:Point" x="1182" y="470" /> + <bpmndi:BPMNShape id="ExclusiveGateway_0ulrq9g_di" bpmnElement="ExclusiveGateway_0ulrq9g" isMarkerVisible="true"> + <dc:Bounds x="464" y="710" width="50" height="50" /> <bpmndi:BPMNLabel> - <dc:Bounds x="375" y="356" width="18" height="12" /> + <dc:Bounds x="445" y="660" width="88" height="36" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_04zwhw4_di" bpmnElement="SequenceFlow_04zwhw4"> + <di:waypoint xsi:type="dc:Point" x="921" y="735" /> + <di:waypoint xsi:type="dc:Point" x="1004" y="735" /> + <di:waypoint xsi:type="dc:Point" x="1004" y="900" /> + <di:waypoint xsi:type="dc:Point" x="95" y="900" /> + <di:waypoint xsi:type="dc:Point" x="95" y="989" /> + <di:waypoint xsi:type="dc:Point" x="159" y="989" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="953" y="712" width="12" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_0uwar5b_di" bpmnElement="SequenceFlow_0uwar5b"> - <di:waypoint xsi:type="dc:Point" x="626" y="402" /> - <di:waypoint xsi:type="dc:Point" x="626" y="359" /> - <di:waypoint xsi:type="dc:Point" x="1182" y="359" /> - <di:waypoint xsi:type="dc:Point" x="1182" y="470" /> + <bpmndi:BPMNShape id="ExclusiveGateway_02tj4dw_di" bpmnElement="ExclusiveGateway_02tj4dw" isMarkerVisible="true"> + <dc:Bounds x="330" y="964" width="50" height="50" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="321" y="923" width="68" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_162mm0m_di" bpmnElement="SequenceFlow_162mm0m"> + <di:waypoint xsi:type="dc:Point" x="380" y="989" /> + <di:waypoint xsi:type="dc:Point" x="410" y="989" /> + <di:waypoint xsi:type="dc:Point" x="410" y="989" /> + <di:waypoint xsi:type="dc:Point" x="439" y="989" /> <bpmndi:BPMNLabel> - <dc:Bounds x="676" y="367" width="18" height="12" /> + <dc:Bounds x="402" y="966.0361567790148" width="12" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_0i7hfj2_di" bpmnElement="SequenceFlow_0i7hfj2"> - <di:waypoint xsi:type="dc:Point" x="921" y="427" /> - <di:waypoint xsi:type="dc:Point" x="1182" y="427" /> - <di:waypoint xsi:type="dc:Point" x="1182" y="470" /> + <bpmndi:BPMNShape id="ExclusiveGateway_1gn5lab_di" bpmnElement="ExclusiveGateway_1gn5lab" isMarkerVisible="true"> + <dc:Bounds x="601" y="964" width="50" height="50" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="590" y="927" width="72" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_197t3qk_di" bpmnElement="SequenceFlow_197t3qk"> + <di:waypoint xsi:type="dc:Point" x="651" y="989" /> + <di:waypoint xsi:type="dc:Point" x="718" y="989" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1044" y="412" width="18" height="12" /> + <dc:Bounds x="677" y="963.1314236383614" width="12" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNShape id="ExclusiveGateway_0ulrq9g_di" bpmnElement="ExclusiveGateway_0ulrq9g" isMarkerVisible="true"> - <dc:Bounds x="441" y="574" width="50" height="50" /> + <bpmndi:BPMNShape id="ExclusiveGateway_06mv93h_di" bpmnElement="ExclusiveGateway_06mv93h" isMarkerVisible="true"> + <dc:Bounds x="880" y="964" width="50" height="50" /> <bpmndi:BPMNLabel> - <dc:Bounds x="445" y="631" width="88" height="36" /> + <dc:Bounds x="879" y="928" width="68" height="24" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> - <bpmndi:BPMNEdge id="SequenceFlow_04zwhw4_di" bpmnElement="SequenceFlow_04zwhw4"> - <di:waypoint xsi:type="dc:Point" x="896" y="625" /> - <di:waypoint xsi:type="dc:Point" x="896" y="683" /> - <di:waypoint xsi:type="dc:Point" x="91" y="683" /> - <di:waypoint xsi:type="dc:Point" x="91" y="810" /> - <di:waypoint xsi:type="dc:Point" x="139" y="810" /> + <bpmndi:BPMNEdge id="SequenceFlow_19lg15d_di" bpmnElement="SequenceFlow_19lg15d"> + <di:waypoint xsi:type="dc:Point" x="930" y="989" /> + <di:waypoint xsi:type="dc:Point" x="953" y="989" /> + <di:waypoint xsi:type="dc:Point" x="953" y="989" /> + <di:waypoint xsi:type="dc:Point" x="982" y="989" /> <bpmndi:BPMNLabel> - <dc:Bounds x="94" y="740.2320415029827" width="12" height="12" /> + <dc:Bounds x="948" y="964.6410256410256" width="12" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_10ek8l4_di" bpmnElement="SequenceFlow_10ek8l4"> - <di:waypoint xsi:type="dc:Point" x="466" y="574" /> - <di:waypoint xsi:type="dc:Point" x="466" y="530" /> - <di:waypoint xsi:type="dc:Point" x="1132" y="530" /> + <bpmndi:BPMNShape id="ExclusiveGateway_0l2z6wc_di" bpmnElement="ExclusiveGateway_0l2z6wc" isMarkerVisible="true"> + <dc:Bounds x="1131" y="964" width="50" height="50" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1039" y="503.5367415795749" width="18" height="12" /> + <dc:Bounds x="1119" y="916" width="73" height="36" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_12mfil6_di" bpmnElement="SequenceFlow_12mfil6"> + <di:waypoint xsi:type="dc:Point" x="1082" y="989" /> + <di:waypoint xsi:type="dc:Point" x="1131" y="989" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1107" y="974" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNShape id="ExclusiveGateway_02tj4dw_di" bpmnElement="ExclusiveGateway_02tj4dw" isMarkerVisible="true"> - <dc:Bounds x="292.1076011846002" y="785" width="50" height="50" /> + <bpmndi:BPMNShape id="ScriptTask_1lb0lk5_di" bpmnElement="Task_1tg549h"> + <dc:Bounds x="1290" y="422" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ExclusiveGateway_1gmvi7n_di" bpmnElement="ExclusiveGateway_0xlxgl0" isMarkerVisible="true"> + <dc:Bounds x="1315" y="624" width="50" height="50" /> <bpmndi:BPMNLabel> - <dc:Bounds x="284" y="835" width="68" height="24" /> + <dc:Bounds x="1296" y="596" width="88" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> - <bpmndi:BPMNEdge id="SequenceFlow_162mm0m_di" bpmnElement="SequenceFlow_162mm0m"> - <di:waypoint xsi:type="dc:Point" x="342" y="810" /> - <di:waypoint xsi:type="dc:Point" x="425" y="810" /> + <bpmndi:BPMNShape id="ExclusiveGateway_0y82zzx_di" bpmnElement="ExclusiveGateway_0y82zzx" isMarkerVisible="true"> + <dc:Bounds x="1468" y="624" width="50" height="50" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1424" y="593" width="69" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_05gpym3_di" bpmnElement="SequenceFlow_05gpym3"> + <di:waypoint xsi:type="dc:Point" x="1365" y="649" /> + <di:waypoint xsi:type="dc:Point" x="1417" y="649" /> + <di:waypoint xsi:type="dc:Point" x="1417" y="649" /> + <di:waypoint xsi:type="dc:Point" x="1468" y="649" /> <bpmndi:BPMNLabel> - <dc:Bounds x="378" y="795" width="12" height="12" /> + <dc:Bounds x="1388" y="626" width="21" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNShape id="ExclusiveGateway_1gn5lab_di" bpmnElement="ExclusiveGateway_1gn5lab" isMarkerVisible="true"> - <dc:Bounds x="601.1076011846002" y="785" width="50" height="50" /> + <bpmndi:BPMNEdge id="SequenceFlow_19ba94v_di" bpmnElement="SequenceFlow_19ba94v"> + <di:waypoint xsi:type="dc:Point" x="239" y="735" /> + <di:waypoint xsi:type="dc:Point" x="305" y="735" /> <bpmndi:BPMNLabel> - <dc:Bounds x="591" y="835" width="72" height="24" /> + <dc:Bounds x="272" y="720" width="0" height="0" /> </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ScriptTask_0rqgdju_di" bpmnElement="Task_0eae8go"> + <dc:Bounds x="139" y="695" width="100" height="80" /> </bpmndi:BPMNShape> - <bpmndi:BPMNEdge id="SequenceFlow_197t3qk_di" bpmnElement="SequenceFlow_197t3qk"> - <di:waypoint xsi:type="dc:Point" x="651.1076011846002" y="810" /> - <di:waypoint xsi:type="dc:Point" x="714" y="810" /> + <bpmndi:BPMNShape id="ScriptTask_13zzxzd_di" bpmnElement="Task_040hi91"> + <dc:Bounds x="567" y="695" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="CallActivity_1qpajth_di" bpmnElement="Task_15hpowt"> + <dc:Bounds x="726" y="695" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ExclusiveGateway_084iffr_di" bpmnElement="ExclusiveGateway_084iffr" isMarkerVisible="true"> + <dc:Bounds x="871" y="710" width="50" height="50" /> <bpmndi:BPMNLabel> - <dc:Bounds x="677" y="795" width="12" height="12" /> + <dc:Bounds x="854" y="659" width="84" height="36" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_0bxgny0_di" bpmnElement="SequenceFlow_0bxgny0"> + <di:waypoint xsi:type="dc:Point" x="514" y="735" /> + <di:waypoint xsi:type="dc:Point" x="567" y="735" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="535" y="710" width="12" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNShape id="ExclusiveGateway_06mv93h_di" bpmnElement="ExclusiveGateway_06mv93h" isMarkerVisible="true"> - <dc:Bounds x="871" y="785" width="50" height="50" /> + <bpmndi:BPMNEdge id="SequenceFlow_1qm0ygo_di" bpmnElement="SequenceFlow_1qm0ygo"> + <di:waypoint xsi:type="dc:Point" x="667" y="735" /> + <di:waypoint xsi:type="dc:Point" x="726" y="735" /> <bpmndi:BPMNLabel> - <dc:Bounds x="862" y="835" width="68" height="24" /> + <dc:Bounds x="697" y="720" width="0" height="0" /> </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_0he2w4b_di" bpmnElement="SequenceFlow_0he2w4b"> + <di:waypoint xsi:type="dc:Point" x="826" y="735" /> + <di:waypoint xsi:type="dc:Point" x="871" y="735" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="849" y="720" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_051zp79_di" bpmnElement="SequenceFlow_051zp79"> + <di:waypoint xsi:type="dc:Point" x="1493" y="624" /> + <di:waypoint xsi:type="dc:Point" x="1493" y="462" /> + <di:waypoint xsi:type="dc:Point" x="1390" y="462" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1508" y="543" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="CallActivity_1r1hua0_di" bpmnElement="Task_1dtbnuy"> + <dc:Bounds x="139" y="450" width="100" height="80" /> </bpmndi:BPMNShape> - <bpmndi:BPMNEdge id="SequenceFlow_19lg15d_di" bpmnElement="SequenceFlow_19lg15d"> - <di:waypoint xsi:type="dc:Point" x="921" y="810" /> - <di:waypoint xsi:type="dc:Point" x="960" y="810" /> + <bpmndi:BPMNShape id="CallActivity_0ce9xg6_di" bpmnElement="Task_1fj63ov"> + <dc:Bounds x="425" y="450" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="CallActivity_0iib61o_di" bpmnElement="Task_1cfkcss"> + <dc:Bounds x="718" y="450" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="CallActivity_1xyvwmi_di" bpmnElement="Task_1hdg951"> + <dc:Bounds x="159" y="949" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="CallActivity_0sghju2_di" bpmnElement="Task_1ca5ctq"> + <dc:Bounds x="439" y="949" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateThrowEvent_1qrk3gs_di" bpmnElement="IntermediateThrowEvent_11iqe6n"> + <dc:Bounds x="299" y="325" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="282" y="361" width="69" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateCatchEvent_144j68y_di" bpmnElement="IntermediateThrowEvent_16f09ke"> + <dc:Bounds x="457" y="325" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="432" y="361" width="85" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateThrowEvent_1rpfbr6_di" bpmnElement="IntermediateThrowEvent_1mtokuy"> + <dc:Bounds x="608" y="325" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="591" y="361" width="69" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateCatchEvent_1k1fpg2_di" bpmnElement="IntermediateThrowEvent_1h8oi7w"> + <dc:Bounds x="750" y="325" width="36" height="36" /> <bpmndi:BPMNLabel> - <dc:Bounds x="935" y="795" width="12" height="12" /> + <dc:Bounds x="724" y="361" width="88" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateThrowEvent_04ykz47_di" bpmnElement="IntermediateThrowEvent_0pwcatt"> + <dc:Bounds x="878" y="325" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="861" y="361" width="69" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_12hm1ks_di" bpmnElement="SequenceFlow_12hm1ks"> + <di:waypoint xsi:type="dc:Point" x="317" y="262" /> + <di:waypoint xsi:type="dc:Point" x="317" y="325" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="323" y="283.5" width="18" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNShape id="ExclusiveGateway_0l2z6wc_di" bpmnElement="ExclusiveGateway_0l2z6wc" isMarkerVisible="true"> - <dc:Bounds x="1105.1076011846003" y="785" width="50" height="50" /> + <bpmndi:BPMNEdge id="SequenceFlow_0jph3mt_di" bpmnElement="SequenceFlow_0jph3mt"> + <di:waypoint xsi:type="dc:Point" x="475" y="325" /> + <di:waypoint xsi:type="dc:Point" x="475" y="277" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="490" y="291" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_0etr76r_di" bpmnElement="SequenceFlow_0etr76r"> + <di:waypoint xsi:type="dc:Point" x="626" y="262" /> + <di:waypoint xsi:type="dc:Point" x="626" y="325" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1145" y="833" width="73" height="36" /> + <dc:Bounds x="632" y="283.5" width="18" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_1nodcf9_di" bpmnElement="SequenceFlow_1nodcf9"> + <di:waypoint xsi:type="dc:Point" x="768" y="325" /> + <di:waypoint xsi:type="dc:Point" x="768" y="301" /> + <di:waypoint xsi:type="dc:Point" x="768" y="301" /> + <di:waypoint xsi:type="dc:Point" x="768" y="277" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="783" y="301" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_11b00u2_di" bpmnElement="SequenceFlow_11b00u2"> + <di:waypoint xsi:type="dc:Point" x="896" y="262" /> + <di:waypoint xsi:type="dc:Point" x="896" y="325" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="902" y="283.5" width="18" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="IntermediateCatchEvent_0u1c12l_di" bpmnElement="IntermediateThrowEvent_1w8dvxw"> + <dc:Bounds x="171" y="571" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="158" y="606.255" width="62" height="14" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> - <bpmndi:BPMNEdge id="SequenceFlow_12mfil6_di" bpmnElement="SequenceFlow_12mfil6"> - <di:waypoint xsi:type="dc:Point" x="1060" y="810" /> - <di:waypoint xsi:type="dc:Point" x="1105" y="810" /> + <bpmndi:BPMNShape id="IntermediateThrowEvent_1w4kuh4_di" bpmnElement="IntermediateThrowEvent_0mqqagp"> + <dc:Bounds x="299" y="571" width="36" height="36" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1083" y="785" width="0" height="0" /> + <dc:Bounds x="282" y="607" width="69" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateCatchEvent_15qyo7b_di" bpmnElement="IntermediateThrowEvent_0vyfpwj"> + <dc:Bounds x="457" y="571" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="450" y="607" width="50" height="26" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateThrowEvent_0gui5k9_di" bpmnElement="IntermediateThrowEvent_12187dz"> + <dc:Bounds x="608" y="571" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="591" y="607" width="69" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateCatchEvent_1aj9q5v_di" bpmnElement="IntermediateThrowEvent_0c7rese"> + <dc:Bounds x="750" y="571" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="737" y="607" width="62" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateThrowEvent_0glqip0_di" bpmnElement="IntermediateThrowEvent_18grbwz"> + <dc:Bounds x="878" y="571" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="861" y="607" width="69" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1qfjlt7_di" bpmnElement="SequenceFlow_1qfjlt7"> + <di:waypoint xsi:type="dc:Point" x="189" y="571" /> + <di:waypoint xsi:type="dc:Point" x="189" y="551" /> + <di:waypoint xsi:type="dc:Point" x="189" y="551" /> + <di:waypoint xsi:type="dc:Point" x="189" y="530" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="204" y="551" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_13yjc85_di" bpmnElement="SequenceFlow_13yjc85"> - <di:waypoint xsi:type="dc:Point" x="1155" y="810" /> - <di:waypoint xsi:type="dc:Point" x="1182" y="810" /> - <di:waypoint xsi:type="dc:Point" x="1182" y="550" /> + <bpmndi:BPMNEdge id="SequenceFlow_1ck3v34_di" bpmnElement="SequenceFlow_1ck3v34"> + <di:waypoint xsi:type="dc:Point" x="317" y="515" /> + <di:waypoint xsi:type="dc:Point" x="317" y="571" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1160" y="795" width="18" height="12" /> + <dc:Bounds x="323" y="533" width="18" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_0waedj5_di" bpmnElement="SequenceFlow_0waedj5"> - <di:waypoint xsi:type="dc:Point" x="317" y="785" /> - <di:waypoint xsi:type="dc:Point" x="317" y="711" /> - <di:waypoint xsi:type="dc:Point" x="1182" y="711" /> - <di:waypoint xsi:type="dc:Point" x="1182" y="550" /> + <bpmndi:BPMNEdge id="SequenceFlow_0x7iupc_di" bpmnElement="SequenceFlow_0x7iupc"> + <di:waypoint xsi:type="dc:Point" x="475" y="571" /> + <di:waypoint xsi:type="dc:Point" x="475" y="551" /> + <di:waypoint xsi:type="dc:Point" x="475" y="551" /> + <di:waypoint xsi:type="dc:Point" x="475" y="530" /> <bpmndi:BPMNLabel> - <dc:Bounds x="370" y="716" width="18" height="12" /> + <dc:Bounds x="490" y="551" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_1hg9c2l_di" bpmnElement="SequenceFlow_1hg9c2l"> - <di:waypoint xsi:type="dc:Point" x="626" y="785" /> - <di:waypoint xsi:type="dc:Point" x="626" y="714" /> - <di:waypoint xsi:type="dc:Point" x="1182" y="714" /> - <di:waypoint xsi:type="dc:Point" x="1182" y="550" /> + <bpmndi:BPMNEdge id="SequenceFlow_079nix0_di" bpmnElement="SequenceFlow_079nix0"> + <di:waypoint xsi:type="dc:Point" x="626" y="515" /> + <di:waypoint xsi:type="dc:Point" x="626" y="571" /> <bpmndi:BPMNLabel> - <dc:Bounds x="669" y="717" width="18" height="12" /> + <dc:Bounds x="632" y="533" width="18" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_0gej71y_di" bpmnElement="SequenceFlow_0gej71y"> - <di:waypoint xsi:type="dc:Point" x="896" y="785" /> - <di:waypoint xsi:type="dc:Point" x="896" y="720" /> - <di:waypoint xsi:type="dc:Point" x="1182" y="720" /> - <di:waypoint xsi:type="dc:Point" x="1182" y="550" /> + <bpmndi:BPMNEdge id="SequenceFlow_0hp0w6k_di" bpmnElement="SequenceFlow_0hp0w6k"> + <di:waypoint xsi:type="dc:Point" x="768" y="571" /> + <di:waypoint xsi:type="dc:Point" x="768" y="551" /> + <di:waypoint xsi:type="dc:Point" x="768" y="551" /> + <di:waypoint xsi:type="dc:Point" x="768" y="530" /> <bpmndi:BPMNLabel> - <dc:Bounds x="905" y="738" width="18" height="12" /> + <dc:Bounds x="783" y="551" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNShape id="ScriptTask_1lb0lk5_di" bpmnElement="Task_1tg549h"> - <dc:Bounds x="1438" y="333" width="100" height="80" /> + <bpmndi:BPMNEdge id="SequenceFlow_032i8t0_di" bpmnElement="SequenceFlow_032i8t0"> + <di:waypoint xsi:type="dc:Point" x="896" y="515" /> + <di:waypoint xsi:type="dc:Point" x="896" y="571" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="902" y="533" width="18" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="IntermediateCatchEvent_11xo4q3_di" bpmnElement="IntermediateThrowEvent_0r8kzqa"> + <dc:Bounds x="171" y="818" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="144" y="853.255" width="90" height="38" /> + </bpmndi:BPMNLabel> </bpmndi:BPMNShape> - <bpmndi:BPMNShape id="ExclusiveGateway_1gmvi7n_di" bpmnElement="ExclusiveGateway_0xlxgl0" isMarkerVisible="true"> - <dc:Bounds x="1314" y="485" width="50" height="50" /> + <bpmndi:BPMNShape id="IntermediateThrowEvent_0u4mlb8_di" bpmnElement="IntermediateThrowEvent_169eg4j"> + <dc:Bounds x="471" y="818" width="36" height="36" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1295" y="534.2201382033564" width="87" height="12" /> + <dc:Bounds x="454" y="854" width="69" height="24" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> - <bpmndi:BPMNShape id="ExclusiveGateway_0y82zzx_di" bpmnElement="ExclusiveGateway_0y82zzx" isMarkerVisible="true"> - <dc:Bounds x="1463" y="671" width="50" height="50" /> + <bpmndi:BPMNShape id="IntermediateCatchEvent_1pdmno6_di" bpmnElement="IntermediateThrowEvent_0tenxiw"> + <dc:Bounds x="599" y="818" width="36" height="36" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1522" y="684" width="69" height="24" /> + <dc:Bounds x="576" y="854" width="81" height="38" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> - <bpmndi:BPMNEdge id="SequenceFlow_05gpym3_di" bpmnElement="SequenceFlow_05gpym3"> - <di:waypoint xsi:type="dc:Point" x="1339" y="535" /> - <di:waypoint xsi:type="dc:Point" x="1339" y="648" /> - <di:waypoint xsi:type="dc:Point" x="1490" y="648" /> - <di:waypoint xsi:type="dc:Point" x="1489" y="672" /> + <bpmndi:BPMNShape id="IntermediateThrowEvent_07n59qs_di" bpmnElement="IntermediateThrowEvent_1mocak0"> + <dc:Bounds x="878" y="818" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="861" y="854" width="69" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_0aldwvz_di" bpmnElement="SequenceFlow_0aldwvz"> + <di:waypoint xsi:type="dc:Point" x="189" y="818" /> + <di:waypoint xsi:type="dc:Point" x="189" y="775" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1404" y="633" width="21" height="12" /> + <dc:Bounds x="204" y="796.5" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_1sla5dr_di" bpmnElement="SequenceFlow_1sla5dr"> - <di:waypoint xsi:type="dc:Point" x="1463" y="696" /> - <di:waypoint xsi:type="dc:Point" x="440" y="696" /> - <di:waypoint xsi:type="dc:Point" x="440" y="467" /> + <bpmndi:BPMNEdge id="SequenceFlow_1f0c5lj_di" bpmnElement="SequenceFlow_1f0c5lj"> + <di:waypoint xsi:type="dc:Point" x="489" y="760" /> + <di:waypoint xsi:type="dc:Point" x="489" y="818" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1227" y="699.0112438804176" width="85" height="24" /> + <dc:Bounds x="495" y="779.6376811594203" width="18" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_0iektwg_di" bpmnElement="SequenceFlow_0iektwg"> - <di:waypoint xsi:type="dc:Point" x="1467" y="692" /> - <di:waypoint xsi:type="dc:Point" x="1323" y="667" /> - <di:waypoint xsi:type="dc:Point" x="764" y="667" /> - <di:waypoint xsi:type="dc:Point" x="764" y="467" /> + <bpmndi:BPMNEdge id="SequenceFlow_111z6w4_di" bpmnElement="SequenceFlow_111z6w4"> + <di:waypoint xsi:type="dc:Point" x="617" y="818" /> + <di:waypoint xsi:type="dc:Point" x="617" y="775" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1214" y="631" width="87" height="24" /> + <dc:Bounds x="632" y="796.5" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_1ttepat_di" bpmnElement="SequenceFlow_1ttepat"> - <di:waypoint xsi:type="dc:Point" x="1468" y="701" /> - <di:waypoint xsi:type="dc:Point" x="1346" y="735" /> - <di:waypoint xsi:type="dc:Point" x="189" y="735" /> - <di:waypoint xsi:type="dc:Point" x="189" y="639" /> + <bpmndi:BPMNEdge id="SequenceFlow_0pfvulx_di" bpmnElement="SequenceFlow_0pfvulx"> + <di:waypoint xsi:type="dc:Point" x="896" y="760" /> + <di:waypoint xsi:type="dc:Point" x="896" y="818" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1230" y="743" width="85" height="24" /> + <dc:Bounds x="902" y="779.6376811594203" width="18" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_1hx1ur7_di" bpmnElement="SequenceFlow_1hx1ur7"> - <di:waypoint xsi:type="dc:Point" x="1488" y="721" /> - <di:waypoint xsi:type="dc:Point" x="1488" y="789" /> - <di:waypoint xsi:type="dc:Point" x="1322" y="883" /> - <di:waypoint xsi:type="dc:Point" x="475" y="883" /> - <di:waypoint xsi:type="dc:Point" x="475" y="850" /> + <bpmndi:BPMNShape id="CallActivity_0xi77mq_di" bpmnElement="Task_1sove95"> + <dc:Bounds x="718" y="949" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateCatchEvent_0t5q3v6_di" bpmnElement="IntermediateThrowEvent_15yev7i"> + <dc:Bounds x="191" y="1089" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="178" y="1124.255" width="61" height="14" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateThrowEvent_0yid2k4_di" bpmnElement="IntermediateThrowEvent_0osnva5"> + <dc:Bounds x="337" y="1088" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="320" y="1124" width="69" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateCatchEvent_0rlfyt9_di" bpmnElement="IntermediateThrowEvent_0gluaxf"> + <dc:Bounds x="471" y="1089" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="462" y="1125" width="54" height="26" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateThrowEvent_1sk17yj_di" bpmnElement="IntermediateThrowEvent_1chu5lh"> + <dc:Bounds x="608" y="1088" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="591" y="1124" width="69" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateCatchEvent_0nmz72e_di" bpmnElement="IntermediateThrowEvent_0p7wh09"> + <dc:Bounds x="750" y="1088" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="731" y="1124" width="74" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateThrowEvent_1okzqsq_di" bpmnElement="IntermediateThrowEvent_0uh8zti"> + <dc:Bounds x="887" y="1088" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="870" y="1124" width="69" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateCatchEvent_1944cw1_di" bpmnElement="IntermediateThrowEvent_1dei2gz"> + <dc:Bounds x="1014" y="1088" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="989" y="1124" width="85" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateThrowEvent_0ynnoam_di" bpmnElement="IntermediateThrowEvent_0fobhuu"> + <dc:Bounds x="1138" y="1088" width="36" height="36" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1316" y="811" width="85" height="24" /> + <dc:Bounds x="1121" y="1124" width="69" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1lrbndo_di" bpmnElement="SequenceFlow_1lrbndo"> + <di:waypoint xsi:type="dc:Point" x="209" y="1089" /> + <di:waypoint xsi:type="dc:Point" x="209" y="1029" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="224" y="1049" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_0ukzynj_di" bpmnElement="SequenceFlow_0ukzynj"> - <di:waypoint xsi:type="dc:Point" x="1488" y="721" /> - <di:waypoint xsi:type="dc:Point" x="1488" y="818" /> - <di:waypoint xsi:type="dc:Point" x="1346" y="918" /> - <di:waypoint xsi:type="dc:Point" x="764" y="918" /> - <di:waypoint xsi:type="dc:Point" x="764" y="850" /> + <bpmndi:BPMNEdge id="SequenceFlow_17vwb2h_di" bpmnElement="SequenceFlow_17vwb2h"> + <di:waypoint xsi:type="dc:Point" x="355" y="1014" /> + <di:waypoint xsi:type="dc:Point" x="355" y="1088" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1374" y="853.0052048946286" width="85" height="24" /> + <dc:Bounds x="361" y="1041" width="18" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_1lsfn19_di" bpmnElement="SequenceFlow_1lsfn19"> - <di:waypoint xsi:type="dc:Point" x="1488" y="721" /> - <di:waypoint xsi:type="dc:Point" x="1488" y="858" /> - <di:waypoint xsi:type="dc:Point" x="1368" y="952" /> - <di:waypoint xsi:type="dc:Point" x="1010" y="952" /> - <di:waypoint xsi:type="dc:Point" x="1010" y="850" /> + <bpmndi:BPMNEdge id="SequenceFlow_14mblvp_di" bpmnElement="SequenceFlow_14mblvp"> + <di:waypoint xsi:type="dc:Point" x="489" y="1089" /> + <di:waypoint xsi:type="dc:Point" x="489" y="1059" /> + <di:waypoint xsi:type="dc:Point" x="489" y="1059" /> + <di:waypoint xsi:type="dc:Point" x="489" y="1029" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1402" y="937.143889853408" width="85" height="24" /> + <dc:Bounds x="504" y="1059" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_19ba94v_di" bpmnElement="SequenceFlow_19ba94v"> - <di:waypoint xsi:type="dc:Point" x="231" y="599" /> - <di:waypoint xsi:type="dc:Point" x="289" y="599" /> + <bpmndi:BPMNEdge id="SequenceFlow_0ba08lt_di" bpmnElement="SequenceFlow_0ba08lt"> + <di:waypoint xsi:type="dc:Point" x="626" y="1014" /> + <di:waypoint xsi:type="dc:Point" x="626" y="1088" /> <bpmndi:BPMNLabel> - <dc:Bounds x="260" y="584" width="0" height="0" /> + <dc:Bounds x="632" y="1041" width="18" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNShape id="ScriptTask_0rqgdju_di" bpmnElement="Task_0eae8go"> - <dc:Bounds x="131" y="559" width="100" height="80" /> + <bpmndi:BPMNEdge id="SequenceFlow_18e0jz0_di" bpmnElement="SequenceFlow_18e0jz0"> + <di:waypoint xsi:type="dc:Point" x="768" y="1088" /> + <di:waypoint xsi:type="dc:Point" x="768" y="1029" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="783" y="1048.5" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_1akvi72_di" bpmnElement="SequenceFlow_1akvi72"> + <di:waypoint xsi:type="dc:Point" x="905" y="1014" /> + <di:waypoint xsi:type="dc:Point" x="905" y="1088" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="911" y="1041" width="18" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_0usoiza_di" bpmnElement="SequenceFlow_0usoiza"> + <di:waypoint xsi:type="dc:Point" x="1032" y="1088" /> + <di:waypoint xsi:type="dc:Point" x="1032" y="1029" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1047" y="1048.5" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_1sdol24_di" bpmnElement="SequenceFlow_1sdol24"> + <di:waypoint xsi:type="dc:Point" x="1156" y="1014" /> + <di:waypoint xsi:type="dc:Point" x="1156" y="1088" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1162" y="1041" width="18" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="IntermediateCatchEvent_0pacmdm_di" bpmnElement="IntermediateThrowEvent_1lc72r4"> + <dc:Bounds x="166" y="1366" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="147" y="1401.255" width="73" height="26" /> + </bpmndi:BPMNLabel> </bpmndi:BPMNShape> - <bpmndi:BPMNShape id="ScriptTask_13zzxzd_di" bpmnElement="Task_040hi91"> - <dc:Bounds x="513" y="559" width="100" height="80" /> + <bpmndi:BPMNEdge id="SequenceFlow_19rrss6_di" bpmnElement="SequenceFlow_19rrss6"> + <di:waypoint xsi:type="dc:Point" x="184" y="1366" /> + <di:waypoint xsi:type="dc:Point" x="184" y="1307" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="199" y="1326.5" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="IntermediateCatchEvent_0123x9c_di" bpmnElement="IntermediateThrowEvent_0a9mn5c"> + <dc:Bounds x="1070" y="631" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1053" y="667" width="69" height="24" /> + </bpmndi:BPMNLabel> </bpmndi:BPMNShape> - <bpmndi:BPMNShape id="CallActivity_1qpajth_di" bpmnElement="Task_15hpowt"> - <dc:Bounds x="645" y="559" width="100" height="80" /> + <bpmndi:BPMNEdge id="SequenceFlow_1cezgw4_di" bpmnElement="SequenceFlow_1cezgw4"> + <di:waypoint xsi:type="dc:Point" x="1106" y="649" /> + <di:waypoint xsi:type="dc:Point" x="1173" y="649" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1140" y="624" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="IntermediateThrowEvent_0ahp5f8_di" bpmnElement="IntermediateThrowEvent_0x4bho9"> + <dc:Bounds x="1524" y="417" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1499" y="380.30139720558884" width="85" height="24" /> + </bpmndi:BPMNLabel> </bpmndi:BPMNShape> - <bpmndi:BPMNShape id="ExclusiveGateway_084iffr_di" bpmnElement="ExclusiveGateway_084iffr" isMarkerVisible="true"> - <dc:Bounds x="871" y="574" width="50" height="50" /> + <bpmndi:BPMNShape id="IntermediateThrowEvent_0yx79m8_di" bpmnElement="IntermediateThrowEvent_0jervei"> + <dc:Bounds x="1562" y="445" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1565" y="413.30139720558884" width="88" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateThrowEvent_06h1zmt_di" bpmnElement="IntermediateThrowEvent_1vju4tj"> + <dc:Bounds x="1601" y="473" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1636" y="455.30139720558884" width="62" height="14" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateThrowEvent_0n245lm_di" bpmnElement="IntermediateThrowEvent_1fzppfz"> + <dc:Bounds x="1636" y="514" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1672" y="494.30139720558884" width="50" height="26" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateThrowEvent_0hnmgom_di" bpmnElement="IntermediateThrowEvent_1e0qowf"> + <dc:Bounds x="1662" y="562" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1706" y="561.3013972055888" width="61" height="14" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateThrowEvent_0g27srb_di" bpmnElement="IntermediateThrowEvent_1v93roi"> + <dc:Bounds x="1679" y="614" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1724" y="604.3013972055888" width="90" height="38" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateThrowEvent_14fm060_di" bpmnElement="IntermediateThrowEvent_04a1dfz"> + <dc:Bounds x="1679" y="670" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1732" y="660.3013972055888" width="81" height="38" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateThrowEvent_183osb4_di" bpmnElement="IntermediateThrowEvent_151z73b"> + <dc:Bounds x="1663" y="717" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1709" y="728" width="61" height="14" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateThrowEvent_0d49blq_di" bpmnElement="IntermediateThrowEvent_10bre7q"> + <dc:Bounds x="1636" y="756" width="36" height="36" /> <bpmndi:BPMNLabel> - <dc:Bounds x="924" y="599" width="84" height="36" /> + <dc:Bounds x="1682" y="774.3013972055888" width="54" height="26" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> - <bpmndi:BPMNEdge id="SequenceFlow_0pfydeg_di" bpmnElement="SequenceFlow_0pfydeg"> - <di:waypoint xsi:type="dc:Point" x="921" y="599" /> - <di:waypoint xsi:type="dc:Point" x="1182" y="599" /> - <di:waypoint xsi:type="dc:Point" x="1182" y="550" /> + <bpmndi:BPMNShape id="IntermediateThrowEvent_13jsvce_di" bpmnElement="IntermediateThrowEvent_1fl945a"> + <dc:Bounds x="1601" y="791" width="36" height="36" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1043" y="584" width="18" height="12" /> + <dc:Bounds x="1643" y="818.3013972055888" width="73" height="14" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateThrowEvent_04zlwpn_di" bpmnElement="IntermediateThrowEvent_1lljtoh"> + <dc:Bounds x="1562" y="819" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1603" y="851.3013972055888" width="86" height="26" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateThrowEvent_1ge1m93_di" bpmnElement="IntermediateThrowEvent_0sub2cf"> + <dc:Bounds x="1524" y="846" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1505" y="881.3013972055888" width="73" height="26" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1ei7at5_di" bpmnElement="SequenceFlow_1ei7at5"> + <di:waypoint xsi:type="dc:Point" x="1498" y="629" /> + <di:waypoint xsi:type="dc:Point" x="1538" y="452" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1518" y="525.5" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_0bxgny0_di" bpmnElement="SequenceFlow_0bxgny0"> - <di:waypoint xsi:type="dc:Point" x="491" y="599" /> - <di:waypoint xsi:type="dc:Point" x="513" y="599" /> + <bpmndi:BPMNEdge id="SequenceFlow_0kg02xg_di" bpmnElement="SequenceFlow_0kg02xg"> + <di:waypoint xsi:type="dc:Point" x="1501" y="632" /> + <di:waypoint xsi:type="dc:Point" x="1572" y="479" /> <bpmndi:BPMNLabel> - <dc:Bounds x="496" y="574" width="12" height="12" /> + <dc:Bounds x="1537" y="540.5" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_1qm0ygo_di" bpmnElement="SequenceFlow_1qm0ygo"> - <di:waypoint xsi:type="dc:Point" x="613" y="599" /> - <di:waypoint xsi:type="dc:Point" x="645" y="599" /> + <bpmndi:BPMNEdge id="SequenceFlow_1i6p53b_di" bpmnElement="SequenceFlow_1i6p53b"> + <di:waypoint xsi:type="dc:Point" x="1504" y="635" /> + <di:waypoint xsi:type="dc:Point" x="1608" y="504" /> <bpmndi:BPMNLabel> - <dc:Bounds x="629" y="574" width="0" height="0" /> + <dc:Bounds x="1556" y="554.5" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_0he2w4b_di" bpmnElement="SequenceFlow_0he2w4b"> - <di:waypoint xsi:type="dc:Point" x="745" y="599" /> - <di:waypoint xsi:type="dc:Point" x="871" y="599" /> + <bpmndi:BPMNEdge id="SequenceFlow_1yy7o24_di" bpmnElement="SequenceFlow_1yy7o24"> + <di:waypoint xsi:type="dc:Point" x="1508" y="639" /> + <di:waypoint xsi:type="dc:Point" x="1640" y="542" /> <bpmndi:BPMNLabel> - <dc:Bounds x="808" y="574" width="0" height="0" /> + <dc:Bounds x="1574" y="575.5" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_051zp79_di" bpmnElement="SequenceFlow_051zp79"> - <di:waypoint xsi:type="dc:Point" x="1499" y="682" /> - <di:waypoint xsi:type="dc:Point" x="1627" y="512" /> - <di:waypoint xsi:type="dc:Point" x="1627" y="373" /> - <di:waypoint xsi:type="dc:Point" x="1538" y="373" /> + <bpmndi:BPMNEdge id="SequenceFlow_0sqmtpl_di" bpmnElement="SequenceFlow_0sqmtpl"> + <di:waypoint xsi:type="dc:Point" x="1511" y="642" /> + <di:waypoint xsi:type="dc:Point" x="1663" y="586" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1728" y="551.5" width="0" height="0" /> + <dc:Bounds x="1587" y="599" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_193t8ts_di" bpmnElement="SequenceFlow_193t8ts"> - <di:waypoint xsi:type="dc:Point" x="1505" y="688" /> - <di:waypoint xsi:type="dc:Point" x="1677" y="614" /> - <di:waypoint xsi:type="dc:Point" x="1677" y="310" /> - <di:waypoint xsi:type="dc:Point" x="475" y="310" /> - <di:waypoint xsi:type="dc:Point" x="475" y="277" /> + <bpmndi:BPMNEdge id="SequenceFlow_1shdmrj_di" bpmnElement="SequenceFlow_1shdmrj"> + <di:waypoint xsi:type="dc:Point" x="1518" y="649" /> + <di:waypoint xsi:type="dc:Point" x="1679" y="634" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1599" y="626.5" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_1v1i5w4_di" bpmnElement="SequenceFlow_1v1i5w4"> + <di:waypoint xsi:type="dc:Point" x="1514" y="653" /> + <di:waypoint xsi:type="dc:Point" x="1680" y="685" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1597" y="654" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_1h8rscx_di" bpmnElement="SequenceFlow_1h8rscx"> + <di:waypoint xsi:type="dc:Point" x="1510" y="657" /> + <di:waypoint xsi:type="dc:Point" x="1665" y="727" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1588" y="677" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_1xzq6jb_di" bpmnElement="SequenceFlow_1xzq6jb"> + <di:waypoint xsi:type="dc:Point" x="1507" y="660" /> + <di:waypoint xsi:type="dc:Point" x="1640" y="764" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1575" y="581" width="88" height="36" /> + <dc:Bounds x="1574" y="697" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_18u8p2k_di" bpmnElement="SequenceFlow_18u8p2k"> - <di:waypoint xsi:type="dc:Point" x="1508" y="691" /> - <di:waypoint xsi:type="dc:Point" x="1776" y="618" /> - <di:waypoint xsi:type="dc:Point" x="1776" y="311" /> - <di:waypoint xsi:type="dc:Point" x="764" y="311" /> - <di:waypoint xsi:type="dc:Point" x="764" y="277" /> + <bpmndi:BPMNEdge id="SequenceFlow_165q14c_di" bpmnElement="SequenceFlow_165q14c"> + <di:waypoint xsi:type="dc:Point" x="1504" y="663" /> + <di:waypoint xsi:type="dc:Point" x="1608" y="795" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1689" y="577.5" width="81" height="24" /> + <dc:Bounds x="1556" y="714" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_0eueu1t_di" bpmnElement="SequenceFlow_0eueu1t"> - <di:waypoint xsi:type="dc:Point" x="1510" y="693" /> - <di:waypoint xsi:type="dc:Point" x="1865" y="635" /> - <di:waypoint xsi:type="dc:Point" x="1865" y="309" /> - <di:waypoint xsi:type="dc:Point" x="189" y="309" /> - <di:waypoint xsi:type="dc:Point" x="189" y="387" /> + <bpmndi:BPMNEdge id="SequenceFlow_0wp1a6g_di" bpmnElement="SequenceFlow_0wp1a6g"> + <di:waypoint xsi:type="dc:Point" x="1501" y="666" /> + <di:waypoint xsi:type="dc:Point" x="1573" y="821" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1784" y="579" width="80" height="24" /> + <dc:Bounds x="1537" y="728.5" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_0vymfh9_di" bpmnElement="SequenceFlow_0vymfh9"> + <di:waypoint xsi:type="dc:Point" x="1497" y="670" /> + <di:waypoint xsi:type="dc:Point" x="1537" y="847" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1517" y="743.5" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_14yy8v4_di" bpmnElement="SequenceFlow_14yy8v4"> + <di:waypoint xsi:type="dc:Point" x="963" y="90" /> + <di:waypoint xsi:type="dc:Point" x="982" y="90" /> + <di:waypoint xsi:type="dc:Point" x="982" y="156" /> + <di:waypoint xsi:type="dc:Point" x="103" y="156" /> + <di:waypoint xsi:type="dc:Point" x="103" y="237" /> + <di:waypoint xsi:type="dc:Point" x="139" y="237" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="543" y="141" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ScriptTask_0o7degu_di" bpmnElement="Task_0iydw5o"> + <dc:Bounds x="863" y="50" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_0msgw6c_di" bpmnElement="SequenceFlow_0msgw6c"> + <di:waypoint xsi:type="dc:Point" x="348" y="1581" /> + <di:waypoint xsi:type="dc:Point" x="421" y="1581" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="385" y="1566" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_0uhssvq_di" bpmnElement="SequenceFlow_0uhssvq"> + <di:waypoint xsi:type="dc:Point" x="521" y="1581" /> + <di:waypoint xsi:type="dc:Point" x="588" y="1581" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="555" y="1566" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_0ph6862_di" bpmnElement="SequenceFlow_0ph6862"> + <di:waypoint xsi:type="dc:Point" x="688" y="1581" /> + <di:waypoint xsi:type="dc:Point" x="748" y="1581" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="718" y="1566" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ScriptTask_10ii2tr_di" bpmnElement="Task_1cl8ayk"> + <dc:Bounds x="248" y="1541" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ScriptTask_09qi8yg_di" bpmnElement="Task_0dc1x7g"> + <dc:Bounds x="588" y="1541" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="CallActivity_0bv5v50_di" bpmnElement="Task_1xw8w6a"> + <dc:Bounds x="421" y="1541" width="100" height="80" /> + </bpmndi:BPMNShape> </bpmndi:BPMNPlane> </bpmndi:BPMNDiagram> </bpmn2:definitions> diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/process/UpdateVnfInfra.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/UpdateVnfInfra.bpmn index 2631da1987..fa58c0b21b 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/resources/process/UpdateVnfInfra.bpmn +++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/UpdateVnfInfra.bpmn @@ -20,7 +20,7 @@ uvfm.preProcessRequest(execution) <bpmn2:sequenceFlow id="SequenceFlow_5" name="" sourceRef="PreProcessRequest" targetRef="ScriptTask_1" /> <bpmn2:callActivity id="CallActivity_1" name="Completion Handler" calledElement="CompleteMsoProcess"> <bpmn2:extensionElements> - <camunda:in source="UPDVnfI_CompletionHandlerRequest" target="CompleteMsoProcessRequest" /> + <camunda:in source="CompletionHandlerRequest" target="CompleteMsoProcessRequest" /> <camunda:in source="mso-request-id" target="mso-request-id" /> <camunda:in source="mso-service-instance-id" target="mso-service-instance-id" /> <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" /> @@ -42,10 +42,11 @@ execution.setVariable("UpdateVfModuleInfraSuccessIndicator", true)]]></bpmn2:scr <bpmn2:sequenceFlow id="SequenceFlow_6" name="" sourceRef="ScriptTask_4" targetRef="EndEvent_1" /> <bpmn2:scriptTask id="ScriptTask_10" name="Completion Handler (prep)" scriptFormat="groovy"> <bpmn2:incoming>SequenceFlow_3</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_1dqbqqx</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_17</bpmn2:outgoing> <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* def uvfm = new UpdateVnfInfra() -uvfm.completionHandlerPrep(execution, 'UPDVnfI_CompletionHandlerRequest') +uvfm.completionHandlerPrep(execution, 'CompletionHandlerRequest') ]]></bpmn2:script> </bpmn2:scriptTask> <bpmn2:sequenceFlow id="SequenceFlow_17" name="" sourceRef="ScriptTask_10" targetRef="CallActivity_1" /> @@ -54,19 +55,19 @@ uvfm.completionHandlerPrep(execution, 'UPDVnfI_CompletionHandlerRequest') <bpmn2:outgoing>SequenceFlow_1</bpmn2:outgoing> <bpmn2:errorEventDefinition id="ErrorEventDefinition_1" /> </bpmn2:startEvent> - <bpmn2:sequenceFlow id="SequenceFlow_1" name="" sourceRef="StartEvent_3" targetRef="ScriptTask_3" /> + <bpmn2:sequenceFlow id="SequenceFlow_1" name="" sourceRef="StartEvent_3" targetRef="Task_07rej8l" /> <bpmn2:scriptTask id="ScriptTask_3" name="Fallout Handler (prep)" scriptFormat="groovy"> - <bpmn2:incoming>SequenceFlow_1</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_0slcwxc</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_7</bpmn2:outgoing> <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* -def uvfm = new UpdateVfModuleInfra() -uvfm.falloutHandlerPrep(execution, 'UPDVnfI_FalloutHandlerRequest') +def uvfm = new UpdateVnfInfra() +uvfm.falloutHandlerPrep(execution, 'FalloutHandlerRequest') ]]></bpmn2:script> </bpmn2:scriptTask> <bpmn2:sequenceFlow id="SequenceFlow_7" sourceRef="ScriptTask_3" targetRef="CallActivity_2" /> <bpmn2:callActivity id="CallActivity_2" name="Fallout Handler" calledElement="FalloutHandler"> <bpmn2:extensionElements> - <camunda:in source="UPDVnfI_FalloutHandlerRequest" target="FalloutHandlerRequest" /> + <camunda:in source="FalloutHandlerRequest" target="FalloutHandlerRequest" /> <camunda:in source="mso-request-id" target="mso-request-id" /> <camunda:in source="mso-service-instance-id" target="mso-service-instance-id" /> <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" /> @@ -79,6 +80,39 @@ uvfm.falloutHandlerPrep(execution, 'UPDVnfI_FalloutHandlerRequest') <bpmn2:terminateEventDefinition id="TerminateEventDefinition_1" /> </bpmn2:endEvent> <bpmn2:sequenceFlow id="SequenceFlow_19" name="" sourceRef="CallActivity_2" targetRef="EndEvent_2" /> + <bpmn2:sequenceFlow id="SequenceFlow_0a0lfh8" sourceRef="Task_07rej8l" targetRef="Task_18twhln" /> + <bpmn2:sequenceFlow id="SequenceFlow_0r0o5yt" sourceRef="Task_18twhln" targetRef="Task_16v4gow" /> + <bpmn2:sequenceFlow id="SequenceFlow_0slcwxc" sourceRef="Task_16v4gow" targetRef="ScriptTask_3" /> + <bpmn2:scriptTask id="Task_07rej8l" name="PreProcess Rollback" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_1</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_0a0lfh8</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def uvfm = new VnfInPlaceUpdate() +uvfm.preProcessRollback(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:scriptTask id="Task_16v4gow" name="PostProcess Rollback" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_0r0o5yt</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_0slcwxc</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def uvfm = new VnfInPlaceUpdate() +uvfm.postProcessRollback(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:callActivity id="Task_18twhln" name="Rollback Processing" calledElement="RollbackVnf"> + <bpmn2:extensionElements> + <camunda:in source="msoRequestId" target="msoRequestId" /> + <camunda:in source="vnfId" target="vnfId" /> + <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" /> + <camunda:in source="rollbackSetClosedLoopDisabledFlag" target="rollbackSetClosedLoopDisabledFlag" /> + <camunda:in source="rollbackSetVnfInMaintenanceFlag" target="rollbackSetVnfInMaintenanceFlag" /> + <camunda:in source="rollbackVnfStop" target="rollbackVnfStop" /> + <camunda:in source="rollbackVnfLock" target="rollbackVnfLock" /> + <camunda:in source="errorCode" target="errorCode" /> + <camunda:in source="rollbackQuiesceTraffic" target="rollbackQuiesceTraffic" /> + <camunda:out source="rollbackSuccessful" target="rollbackSuccessful" /> + </bpmn2:extensionElements> + <bpmn2:incoming>SequenceFlow_0a0lfh8</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_0r0o5yt</bpmn2:outgoing> + </bpmn2:callActivity> </bpmn2:subProcess> <bpmn2:endEvent id="EndEvent_3"> <bpmn2:incoming>SequenceFlow_12</bpmn2:incoming> @@ -95,23 +129,24 @@ uvfm.falloutHandlerPrep(execution, 'UPDVnfI_FalloutHandlerRequest') <bpmn2:sequenceFlow id="SequenceFlow_4" name="" sourceRef="StartEvent_1" targetRef="PreProcessRequest" /> <bpmn2:callActivity id="ScriptTask_6" name="DoUpdateVnfAndModules" calledElement="DoUpdateVnfAndModules"> <bpmn2:extensionElements> - <camunda:in source="UPDVnfI_requestId" target="msoRequestId" /> + <camunda:in source="requestId" target="msoRequestId" /> <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" /> <camunda:out source="WorkflowException" target="WorkflowException" /> <camunda:in source="isVidRequest" target="isVidRequest" /> - <camunda:in source="UPDVnfI_vnfType" target="vnfType" /> - <camunda:in source="UPDVnfI_vnfName" target="vnfName" /> - <camunda:in source="UPDVnfI_vnfId" target="vnfId" /> - <camunda:in source="UPDVnfI_asdcServiceModelVersion" target="asdcServiceModelVersion" /> - <camunda:in source="UPDVnfI_serviceInstanceId" target="serviceInstanceId" /> - <camunda:in source="UPDVnfI_serviceModelInfo" target="serviceModelInfo" /> - <camunda:in source="UPDVnfI_vnfModelInfo" target="vnfModelInfo" /> - <camunda:in source="UPDVnfI_globalSubscriberId" target="globalSubscriberId" /> - <camunda:in source="UPDVnfI_lcpCloudRegionId" target="lcpCloudRegionId" /> - <camunda:in source="UPDVnfI_tenantId" target="tenantId" /> - <camunda:in source="UPDVnfI_sdncVersion" target="sdncVersion" /> - <camunda:in source="UPDVnfI_usePreload" target="usePreload" /> - <camunda:in source="UPDVnfI_vnfResourceDecomposition" target="vnfResourceDecomposition" /> + <camunda:in source="vnfType" target="vnfType" /> + <camunda:in source="vnfName" target="vnfName" /> + <camunda:in source="vnfId" target="vnfId" /> + <camunda:in source="asdcServiceModelVersion" target="asdcServiceModelVersion" /> + <camunda:in source="serviceInstanceId" target="serviceInstanceId" /> + <camunda:in source="serviceModelInfo" target="serviceModelInfo" /> + <camunda:in source="vnfModelInfo" target="vnfModelInfo" /> + <camunda:in source="globalSubscriberId" target="globalSubscriberId" /> + <camunda:in source="lcpCloudRegionId" target="lcpCloudRegionId" /> + <camunda:in source="tenantId" target="tenantId" /> + <camunda:in source="sdncVersion" target="sdncVersion" /> + <camunda:in source="usePreload" target="usePreload" /> + <camunda:in source="vnfResourceDecomposition" target="vnfResourceDecomposition" /> + <camunda:in source="vfModuleInputParams" target="vfModuleInputParams" /> </bpmn2:extensionElements> <bpmn2:incoming>SequenceFlow_19ba94v</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_0gzzeru</bpmn2:outgoing> @@ -122,7 +157,7 @@ uvfm.falloutHandlerPrep(execution, 'UPDVnfI_FalloutHandlerRequest') <bpmn2:extensionElements> <camunda:in source="msoRequestId" target="msoRequestId" /> <camunda:in source="serviceInstanceId" target="serviceInstanceId" /> - <camunda:in source="UPDVnfI_serviceModelInfo" target="serviceModelInfo" /> + <camunda:in source="serviceModelInfo" target="serviceModelInfo" /> <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" /> <camunda:out source="WorkflowException" target="WorkflowException" /> <camunda:out source="serviceDecomposition" target="serviceDecomposition" /> @@ -130,7 +165,7 @@ uvfm.falloutHandlerPrep(execution, 'UPDVnfI_FalloutHandlerRequest') <bpmn2:incoming>SequenceFlow_0y0jt4l</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_1w35ov3</bpmn2:outgoing> </bpmn2:callActivity> - <bpmn2:sequenceFlow id="SequenceFlow_053qjfy" sourceRef="Task_1opcb4j" targetRef="Task_0vy2zge" /> + <bpmn2:sequenceFlow id="SequenceFlow_053qjfy" sourceRef="Task_1opcb4j" targetRef="Task_155eyrq" /> <bpmn2:scriptTask id="Task_1opcb4j" name="Get VnfResourceDecomposition" scriptFormat="groovy"> <bpmn2:incoming>SequenceFlow_1w35ov3</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_053qjfy</bpmn2:outgoing> @@ -141,7 +176,7 @@ uvfm.getVnfResourceDecomposition(execution)]]></bpmn2:script> <bpmn2:sequenceFlow id="SequenceFlow_0y0jt4l" sourceRef="ScriptTask_1" targetRef="Task_1gg76h7" /> <bpmn2:scriptTask id="Task_1rxiqe1" name="Check If VNF Is In Maintenance in A&AI" scriptFormat="groovy"> <bpmn2:incoming>SequenceFlow_16mo99z</bpmn2:incoming> - <bpmn2:incoming>SequenceFlow_0fxuur5</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_1pj72fw</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_2</bpmn2:outgoing> <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* def uvfm = new UpdateVnfInfra() @@ -153,7 +188,7 @@ uvfm.checkIfVnfInMaintInAAI(execution) <bpmn2:sequenceFlow id="SequenceFlow_0gzzeru" sourceRef="ScriptTask_6" targetRef="ExclusiveGateway_0ulrq9g" /> <bpmn2:scriptTask id="Task_0ap39ka" name="Set VNF inMaintenance Flag in A&AI" scriptFormat="groovy"> <bpmn2:incoming>SequenceFlow_0baosqi</bpmn2:incoming> - <bpmn2:incoming>SequenceFlow_1wax44p</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_1lmijmb</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_0k3fx7p</bpmn2:outgoing> <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* def uvfm = new UpdateVnfInfra() @@ -162,7 +197,7 @@ uvfm.setVnfInMaintFlagInAAI(execution, true) </bpmn2:scriptTask> <bpmn2:scriptTask id="Task_1drglpt" name="Unset VNF In Maintenance Flag in A&AI" scriptFormat="groovy"> <bpmn2:incoming>SequenceFlow_19lg15d</bpmn2:incoming> - <bpmn2:incoming>SequenceFlow_1lsfn19</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_11p8elx</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_12mfil6</bpmn2:outgoing> <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* def uvfm = new UpdateVnfInfra() @@ -170,7 +205,7 @@ uvfm.setVnfInMaintFlagInAAI(execution, false) ]]></bpmn2:script> </bpmn2:scriptTask> <bpmn2:scriptTask id="Task_0vy2zge" name="Check If Physical Servers Are Locked in A&AI" scriptFormat="groovy"> - <bpmn2:incoming>SequenceFlow_053qjfy</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_178fxkj</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_0usxnlk</bpmn2:outgoing> <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* def uvfm = new UpdateVnfInfra() @@ -180,201 +215,105 @@ uvfm.checkIfPserversInMaintInAAI(execution) <bpmn2:sequenceFlow id="SequenceFlow_0xx8y1s" sourceRef="Task_1dtbnuy" targetRef="ExclusiveGateway_1slvyx2" /> <bpmn2:sequenceFlow id="SequenceFlow_0a6pdza" sourceRef="Task_1fj63ov" targetRef="ExclusiveGateway_1ichg7h" /> <bpmn2:sequenceFlow id="SequenceFlow_13h26h9" sourceRef="Task_1cfkcss" targetRef="ExclusiveGateway_1etgtgi" /> - <bpmn2:scriptTask id="Task_1dtbnuy" name="Call APP-C VNF Lock" scriptFormat="groovy"> - <bpmn2:incoming>SequenceFlow_1bkhs8m</bpmn2:incoming> - <bpmn2:incoming>SequenceFlow_1nlqlwn</bpmn2:incoming> - <bpmn2:outgoing>SequenceFlow_0xx8y1s</bpmn2:outgoing> - <bpmn2:script><![CDATA[import org.openecomp.appc.client.lcm.model.Action -import org.openecomp.mso.bpmn.infrastructure.scripts.* -def uvfm = new UpdateVnfInfra() -uvfm.runAppcCommand(execution, Action.Lock) -]]></bpmn2:script> - </bpmn2:scriptTask> - <bpmn2:scriptTask id="Task_1fj63ov" name="Call APP-C Health Check" scriptFormat="groovy"> - <bpmn2:incoming>SequenceFlow_0qy68ib</bpmn2:incoming> - <bpmn2:incoming>SequenceFlow_1sla5dr</bpmn2:incoming> - <bpmn2:outgoing>SequenceFlow_0a6pdza</bpmn2:outgoing> - <bpmn2:script><![CDATA[import org.openecomp.appc.client.lcm.model.Action -import org.openecomp.mso.bpmn.infrastructure.scripts.* -def uvfm = new UpdateVnfInfra() -uvfm.runAppcCommand(execution, Action.HealthCheck)]]></bpmn2:script> - </bpmn2:scriptTask> - <bpmn2:scriptTask id="Task_1cfkcss" name="Call APP-C VNF Graceful Stop" scriptFormat="groovy"> - <bpmn2:incoming>SequenceFlow_0q0qan8</bpmn2:incoming> - <bpmn2:incoming>SequenceFlow_0iektwg</bpmn2:incoming> - <bpmn2:outgoing>SequenceFlow_13h26h9</bpmn2:outgoing> - <bpmn2:script><![CDATA[import org.openecomp.appc.client.lcm.model.Action -import org.openecomp.mso.bpmn.infrastructure.scripts.* -def uvfm = new UpdateVnfInfra() -uvfm.runAppcCommand(execution, Action.Stop)]]></bpmn2:script> - </bpmn2:scriptTask> <bpmn2:sequenceFlow id="SequenceFlow_1uno5rs" sourceRef="Task_1hdg951" targetRef="ExclusiveGateway_02tj4dw" /> <bpmn2:sequenceFlow id="SequenceFlow_1c79909" sourceRef="Task_1ca5ctq" targetRef="ExclusiveGateway_1gn5lab" /> - <bpmn2:scriptTask id="Task_1hdg951" name="Call APP-C VNF Start" scriptFormat="groovy"> - <bpmn2:incoming>SequenceFlow_04zwhw4</bpmn2:incoming> - <bpmn2:outgoing>SequenceFlow_1uno5rs</bpmn2:outgoing> - <bpmn2:script><![CDATA[import org.openecomp.appc.client.lcm.model.Action -import org.openecomp.mso.bpmn.infrastructure.scripts.* -def uvfm = new UpdateVnfInfra() -uvfm.runAppcCommand(execution, Action.Start)]]></bpmn2:script> - </bpmn2:scriptTask> - <bpmn2:scriptTask id="Task_1ca5ctq" name="Call APP-C Health Check" scriptFormat="groovy"> - <bpmn2:incoming>SequenceFlow_162mm0m</bpmn2:incoming> - <bpmn2:incoming>SequenceFlow_1hx1ur7</bpmn2:incoming> - <bpmn2:outgoing>SequenceFlow_1c79909</bpmn2:outgoing> - <bpmn2:script><![CDATA[import org.openecomp.appc.client.lcm.model.Action -import org.openecomp.mso.bpmn.infrastructure.scripts.* -def uvfm = new UpdateVnfInfra() -uvfm.runAppcCommand(execution, Action.HealthCheck)]]></bpmn2:script> - </bpmn2:scriptTask> <bpmn2:sequenceFlow id="SequenceFlow_1xfbwpi" sourceRef="Task_1sove95" targetRef="ExclusiveGateway_06mv93h" /> - <bpmn2:scriptTask id="Task_1sove95" name="Call APP-C VNF Unlock" scriptFormat="groovy"> - <bpmn2:incoming>SequenceFlow_197t3qk</bpmn2:incoming> - <bpmn2:incoming>SequenceFlow_0ukzynj</bpmn2:incoming> - <bpmn2:outgoing>SequenceFlow_1xfbwpi</bpmn2:outgoing> - <bpmn2:script><![CDATA[import org.openecomp.appc.client.lcm.model.Action -import org.openecomp.mso.bpmn.infrastructure.scripts.* -def uvfm = new UpdateVnfInfra() -uvfm.runAppcCommand(execution, Action.Unlock)]]></bpmn2:script> - </bpmn2:scriptTask> <bpmn2:exclusiveGateway id="ExclusiveGateway_0q323wc" name="Error on PServers Check?" default="SequenceFlow_16mo99z"> <bpmn2:incoming>SequenceFlow_0usxnlk</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_16mo99z</bpmn2:outgoing> - <bpmn2:outgoing>SequenceFlow_1qmz2ez</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_1esmtgy</bpmn2:outgoing> </bpmn2:exclusiveGateway> <bpmn2:sequenceFlow id="SequenceFlow_16mo99z" name="no" sourceRef="ExclusiveGateway_0q323wc" targetRef="Task_1rxiqe1" /> <bpmn2:exclusiveGateway id="ExclusiveGateway_045e1uz" name="Error On inMaintenance Check?" default="SequenceFlow_0baosqi"> <bpmn2:incoming>SequenceFlow_2</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_0baosqi</bpmn2:outgoing> - <bpmn2:outgoing>SequenceFlow_03rkfbo</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_1jmzl1j</bpmn2:outgoing> </bpmn2:exclusiveGateway> <bpmn2:sequenceFlow id="SequenceFlow_0baosqi" name="no" sourceRef="ExclusiveGateway_045e1uz" targetRef="Task_0ap39ka" /> <bpmn2:callActivity id="Task_0q5cdit" name="Rainy Day Handler" calledElement="RainyDayHandler"> <bpmn2:extensionElements> <camunda:in source="msoRequestId" target="msoRequestId" /> <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" /> - <camunda:in source="UPDVnfI_serviceType" target="serviceType" /> - <camunda:in source="UPDVnfI_nfRole" target="vnfType" /> - <camunda:in source="UPDVnfI_currentActivity" target="currentActivity" /> - <camunda:in source="UPDVnfI_workStep" target="workStep" /> - <camunda:in source="UPDVnfI_failedActivity" target="failedActivity" /> - <camunda:in source="UPDVnfI_errorCode" target="errorCode" /> - <camunda:in source="UPDVnfI_errorText" target="errorText" /> + <camunda:in source="serviceType" target="serviceType" /> + <camunda:in source="nfRole" target="vnfType" /> + <camunda:in source="currentActivity" target="currentActivity" /> + <camunda:in source="workStep" target="workStep" /> + <camunda:in source="failedActivity" target="failedActivity" /> + <camunda:in source="errorCode" target="errorCode" /> + <camunda:in source="errorText" target="errorText" /> <camunda:out source="WorkflowException" target="WorkflowException" /> - <camunda:out source="handlingCode" target="UPDVnfI_disposition" /> - <camunda:in source="UPDVnfI_requestorId" target="requestorId" /> - <camunda:out source="taskId" target="UPDVnfI_taskId" /> + <camunda:out source="handlingCode" target="disposition" /> + <camunda:in source="requestorId" target="requestorId" /> + <camunda:out source="taskId" target="taskId" /> + <camunda:in source="vnfName" target="vnfName" /> </bpmn2:extensionElements> - <bpmn2:incoming>SequenceFlow_1qmz2ez</bpmn2:incoming> - <bpmn2:incoming>SequenceFlow_03rkfbo</bpmn2:incoming> - <bpmn2:incoming>SequenceFlow_1lsm3bn</bpmn2:incoming> - <bpmn2:incoming>SequenceFlow_0bduwog</bpmn2:incoming> - <bpmn2:incoming>SequenceFlow_0uwar5b</bpmn2:incoming> - <bpmn2:incoming>SequenceFlow_0i7hfj2</bpmn2:incoming> - <bpmn2:incoming>SequenceFlow_10ek8l4</bpmn2:incoming> - <bpmn2:incoming>SequenceFlow_13yjc85</bpmn2:incoming> - <bpmn2:incoming>SequenceFlow_0waedj5</bpmn2:incoming> - <bpmn2:incoming>SequenceFlow_1hg9c2l</bpmn2:incoming> - <bpmn2:incoming>SequenceFlow_0gej71y</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_1nplvhi</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_0v0u7mf</bpmn2:outgoing> </bpmn2:callActivity> - <bpmn2:sequenceFlow id="SequenceFlow_1qmz2ez" name="yes" sourceRef="ExclusiveGateway_0q323wc" targetRef="Task_0q5cdit"> - <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("UPDVnfI_errorCode") != "0"]]></bpmn2:conditionExpression> - </bpmn2:sequenceFlow> - <bpmn2:sequenceFlow id="SequenceFlow_03rkfbo" name="yes" sourceRef="ExclusiveGateway_045e1uz" targetRef="Task_0q5cdit"> - <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("UPDVnfI_errorCode") != "0"]]></bpmn2:conditionExpression> - </bpmn2:sequenceFlow> <bpmn2:sequenceFlow id="SequenceFlow_0v0u7mf" sourceRef="Task_0q5cdit" targetRef="ExclusiveGateway_0xlxgl0" /> <bpmn2:task id="Task_0zbogrm" name="Rollback Processing"> <bpmn2:incoming>SequenceFlow_1qr8msw</bpmn2:incoming> </bpmn2:task> <bpmn2:sequenceFlow id="SequenceFlow_0vpd06n" name="Abort" sourceRef="ExclusiveGateway_0xlxgl0" targetRef="Task_1tg549h"> - <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("UPDVnfI_disposition") == "Abort"]]></bpmn2:conditionExpression> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("disposition") == "Abort"]]></bpmn2:conditionExpression> </bpmn2:sequenceFlow> <bpmn2:sequenceFlow id="SequenceFlow_1qr8msw" name="Rollback" sourceRef="ExclusiveGateway_0xlxgl0" targetRef="Task_0zbogrm"> - <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("UPDVnfI_disposition") == "Rollback"]]></bpmn2:conditionExpression> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("disposition") == "Rollback"]]></bpmn2:conditionExpression> </bpmn2:sequenceFlow> <bpmn2:exclusiveGateway id="ExclusiveGateway_0ud5uwa" name="Eror on inMaintenance Set?" default="SequenceFlow_1bkhs8m"> <bpmn2:incoming>SequenceFlow_0k3fx7p</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_1bkhs8m</bpmn2:outgoing> - <bpmn2:outgoing>SequenceFlow_1lsm3bn</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_010ynjs</bpmn2:outgoing> </bpmn2:exclusiveGateway> <bpmn2:sequenceFlow id="SequenceFlow_0k3fx7p" sourceRef="Task_0ap39ka" targetRef="ExclusiveGateway_0ud5uwa" /> - <bpmn2:sequenceFlow id="SequenceFlow_1lsm3bn" name="yes" sourceRef="ExclusiveGateway_0ud5uwa" targetRef="Task_0q5cdit"> - <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("UPDVnfI_errorCode") != "0"]]></bpmn2:conditionExpression> - </bpmn2:sequenceFlow> <bpmn2:exclusiveGateway id="ExclusiveGateway_1slvyx2" name="Error on VNF Lock?" default="SequenceFlow_0qy68ib"> <bpmn2:incoming>SequenceFlow_0xx8y1s</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_0qy68ib</bpmn2:outgoing> - <bpmn2:outgoing>SequenceFlow_0bduwog</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_1qsxbp4</bpmn2:outgoing> </bpmn2:exclusiveGateway> <bpmn2:sequenceFlow id="SequenceFlow_0qy68ib" name="no" sourceRef="ExclusiveGateway_1slvyx2" targetRef="Task_1fj63ov" /> <bpmn2:exclusiveGateway id="ExclusiveGateway_1ichg7h" name="Error on Pre Health Check?" default="SequenceFlow_0q0qan8"> <bpmn2:incoming>SequenceFlow_0a6pdza</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_0q0qan8</bpmn2:outgoing> - <bpmn2:outgoing>SequenceFlow_0uwar5b</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_15bl7wd</bpmn2:outgoing> </bpmn2:exclusiveGateway> <bpmn2:sequenceFlow id="SequenceFlow_0q0qan8" name="no" sourceRef="ExclusiveGateway_1ichg7h" targetRef="Task_1cfkcss" /> <bpmn2:exclusiveGateway id="ExclusiveGateway_1etgtgi" name="Error on VNF Stop?" default="SequenceFlow_1c0vdki"> <bpmn2:incoming>SequenceFlow_13h26h9</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_1c0vdki</bpmn2:outgoing> - <bpmn2:outgoing>SequenceFlow_0i7hfj2</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_1m84lq5</bpmn2:outgoing> </bpmn2:exclusiveGateway> <bpmn2:sequenceFlow id="SequenceFlow_1c0vdki" name="no" sourceRef="ExclusiveGateway_1etgtgi" targetRef="Task_0eae8go" /> - <bpmn2:sequenceFlow id="SequenceFlow_0bduwog" name="yes" sourceRef="ExclusiveGateway_1slvyx2" targetRef="Task_0q5cdit"> - <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("UPDVnfI_errorCode") != "0"]]></bpmn2:conditionExpression> - </bpmn2:sequenceFlow> - <bpmn2:sequenceFlow id="SequenceFlow_0uwar5b" name="yes" sourceRef="ExclusiveGateway_1ichg7h" targetRef="Task_0q5cdit"> - <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("UPDVnfI_errorCode") != "0"]]></bpmn2:conditionExpression> - </bpmn2:sequenceFlow> - <bpmn2:sequenceFlow id="SequenceFlow_0i7hfj2" name="yes" sourceRef="ExclusiveGateway_1etgtgi" targetRef="Task_0q5cdit"> - <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("UPDVnfI_errorCode") != "0"]]></bpmn2:conditionExpression> - </bpmn2:sequenceFlow> <bpmn2:exclusiveGateway id="ExclusiveGateway_0ulrq9g" name="Error on DoUpdateVnfAndNModules?" default="SequenceFlow_04zwhw4"> <bpmn2:incoming>SequenceFlow_0gzzeru</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_04zwhw4</bpmn2:outgoing> - <bpmn2:outgoing>SequenceFlow_10ek8l4</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_0fog99f</bpmn2:outgoing> </bpmn2:exclusiveGateway> <bpmn2:sequenceFlow id="SequenceFlow_04zwhw4" name="no" sourceRef="ExclusiveGateway_0ulrq9g" targetRef="Task_1hdg951" /> - <bpmn2:sequenceFlow id="SequenceFlow_10ek8l4" name="yes" sourceRef="ExclusiveGateway_0ulrq9g" targetRef="Task_0q5cdit"> - <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("UPDVnfI_errorCode") != "0"]]></bpmn2:conditionExpression> - </bpmn2:sequenceFlow> <bpmn2:exclusiveGateway id="ExclusiveGateway_02tj4dw" name="Error on VNF Start?" default="SequenceFlow_162mm0m"> <bpmn2:incoming>SequenceFlow_1uno5rs</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_162mm0m</bpmn2:outgoing> - <bpmn2:outgoing>SequenceFlow_0waedj5</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_12g63pl</bpmn2:outgoing> </bpmn2:exclusiveGateway> <bpmn2:sequenceFlow id="SequenceFlow_162mm0m" name="no" sourceRef="ExclusiveGateway_02tj4dw" targetRef="Task_1ca5ctq" /> <bpmn2:exclusiveGateway id="ExclusiveGateway_1gn5lab" name="Error on Post Health Check?" default="SequenceFlow_197t3qk"> <bpmn2:incoming>SequenceFlow_1c79909</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_197t3qk</bpmn2:outgoing> - <bpmn2:outgoing>SequenceFlow_1hg9c2l</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_0l83v2k</bpmn2:outgoing> </bpmn2:exclusiveGateway> <bpmn2:sequenceFlow id="SequenceFlow_197t3qk" name="no" sourceRef="ExclusiveGateway_1gn5lab" targetRef="Task_1sove95" /> <bpmn2:exclusiveGateway id="ExclusiveGateway_06mv93h" name="Error on VNF Unlock?" default="SequenceFlow_19lg15d"> <bpmn2:incoming>SequenceFlow_1xfbwpi</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_19lg15d</bpmn2:outgoing> - <bpmn2:outgoing>SequenceFlow_0gej71y</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_07fhkt4</bpmn2:outgoing> </bpmn2:exclusiveGateway> <bpmn2:sequenceFlow id="SequenceFlow_19lg15d" name="no" sourceRef="ExclusiveGateway_06mv93h" targetRef="Task_1drglpt" /> <bpmn2:exclusiveGateway id="ExclusiveGateway_0l2z6wc" name="Erorr on inMaintenance Unset?" default="SequenceFlow_3"> <bpmn2:incoming>SequenceFlow_12mfil6</bpmn2:incoming> - <bpmn2:outgoing>SequenceFlow_13yjc85</bpmn2:outgoing> <bpmn2:outgoing>SequenceFlow_3</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_0p94lgv</bpmn2:outgoing> </bpmn2:exclusiveGateway> <bpmn2:sequenceFlow id="SequenceFlow_12mfil6" sourceRef="Task_1drglpt" targetRef="ExclusiveGateway_0l2z6wc" /> - <bpmn2:sequenceFlow id="SequenceFlow_13yjc85" name="yes" sourceRef="ExclusiveGateway_0l2z6wc" targetRef="Task_0q5cdit"> - <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("UPDVnfI_errorCode") != "0"]]></bpmn2:conditionExpression> - </bpmn2:sequenceFlow> - <bpmn2:sequenceFlow id="SequenceFlow_0waedj5" name="yes" sourceRef="ExclusiveGateway_02tj4dw" targetRef="Task_0q5cdit"> - <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("UPDVnfI_errorCode") != "0"]]></bpmn2:conditionExpression> - </bpmn2:sequenceFlow> - <bpmn2:sequenceFlow id="SequenceFlow_1hg9c2l" name="yes" sourceRef="ExclusiveGateway_1gn5lab" targetRef="Task_0q5cdit"> - <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("UPDVnfI_errorCode") != "0"]]></bpmn2:conditionExpression> - </bpmn2:sequenceFlow> - <bpmn2:sequenceFlow id="SequenceFlow_0gej71y" name="yes" sourceRef="ExclusiveGateway_06mv93h" targetRef="Task_0q5cdit"> - <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("UPDVnfI_errorCode") != "0"]]></bpmn2:conditionExpression> - </bpmn2:sequenceFlow> <bpmn2:scriptTask id="Task_1tg549h" name="Abort Processing" scriptFormat="groovy"> <bpmn2:incoming>SequenceFlow_0vpd06n</bpmn2:incoming> <bpmn2:incoming>SequenceFlow_1c022sy</bpmn2:incoming> @@ -390,57 +329,358 @@ uvfm.abortProcessing(execution)]]></bpmn2:script> </bpmn2:exclusiveGateway> <bpmn2:exclusiveGateway id="ExclusiveGateway_0y82zzx" name="Which step to skip?" default="SequenceFlow_1c022sy"> <bpmn2:incoming>SequenceFlow_05gpym3</bpmn2:incoming> - <bpmn2:outgoing>SequenceFlow_1sla5dr</bpmn2:outgoing> - <bpmn2:outgoing>SequenceFlow_0iektwg</bpmn2:outgoing> - <bpmn2:outgoing>SequenceFlow_1ttepat</bpmn2:outgoing> - <bpmn2:outgoing>SequenceFlow_1hx1ur7</bpmn2:outgoing> - <bpmn2:outgoing>SequenceFlow_0ukzynj</bpmn2:outgoing> - <bpmn2:outgoing>SequenceFlow_1lsfn19</bpmn2:outgoing> - <bpmn2:outgoing>SequenceFlow_0fxuur5</bpmn2:outgoing> - <bpmn2:outgoing>SequenceFlow_1wax44p</bpmn2:outgoing> - <bpmn2:outgoing>SequenceFlow_1nlqlwn</bpmn2:outgoing> <bpmn2:outgoing>SequenceFlow_1c022sy</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_0tqrgop</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_126nlmw</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_0mw3mwl</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_13md9cw</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_0xylem3</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_1c5mxd5</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_0u8hiu2</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_0fs7ay9</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_00qwx4v</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_14s8ji9</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_0kricor</bpmn2:outgoing> </bpmn2:exclusiveGateway> <bpmn2:sequenceFlow id="SequenceFlow_05gpym3" name="Skip" sourceRef="ExclusiveGateway_0xlxgl0" targetRef="ExclusiveGateway_0y82zzx"> - <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("UPDVnfI_disposition") == "Skip"]]></bpmn2:conditionExpression> - </bpmn2:sequenceFlow> - <bpmn2:sequenceFlow id="SequenceFlow_1sla5dr" name="Skip APP-C VNF Lock" sourceRef="ExclusiveGateway_0y82zzx" targetRef="Task_1fj63ov"> - <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("UPDVnfI_workStep") == "LockVNF"]]></bpmn2:conditionExpression> - </bpmn2:sequenceFlow> - <bpmn2:sequenceFlow id="SequenceFlow_0iektwg" name="Skip APP-C VNF Pre Health Check" sourceRef="ExclusiveGateway_0y82zzx" targetRef="Task_1cfkcss"> - <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("UPDVnfI_workStep") == "HealthCheckVNF1"]]></bpmn2:conditionExpression> - </bpmn2:sequenceFlow> - <bpmn2:sequenceFlow id="SequenceFlow_1ttepat" name="Skip APP-C VNF Stop" sourceRef="ExclusiveGateway_0y82zzx" targetRef="Task_0eae8go"> - <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("UPDVnfI_workStep") == "StopVNF"]]></bpmn2:conditionExpression> - </bpmn2:sequenceFlow> - <bpmn2:sequenceFlow id="SequenceFlow_1hx1ur7" name="Skip APP-C VNF Start" sourceRef="ExclusiveGateway_0y82zzx" targetRef="Task_1ca5ctq"> - <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("UPDVnfI_workStep") == "StartVNF"]]></bpmn2:conditionExpression> - </bpmn2:sequenceFlow> - <bpmn2:sequenceFlow id="SequenceFlow_0ukzynj" name="Skip APP-C Post Health Check" sourceRef="ExclusiveGateway_0y82zzx" targetRef="Task_1sove95"> - <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("UPDVnfI_workStep") == "HealthCheckVNF2"]]></bpmn2:conditionExpression> - </bpmn2:sequenceFlow> - <bpmn2:sequenceFlow id="SequenceFlow_1lsfn19" name="Skip APP-C VNF Unlock" sourceRef="ExclusiveGateway_0y82zzx" targetRef="Task_1drglpt"> - <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("UPDVnfI_workStep") == "UnlockVNF"]]></bpmn2:conditionExpression> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("disposition") == "Skip"]]></bpmn2:conditionExpression> </bpmn2:sequenceFlow> <bpmn2:sequenceFlow id="SequenceFlow_19ba94v" sourceRef="Task_0eae8go" targetRef="ScriptTask_6" /> <bpmn2:scriptTask id="Task_0eae8go" name="Prepare DoUpdateVnfAndModules" scriptFormat="groovy"> <bpmn2:incoming>SequenceFlow_1c0vdki</bpmn2:incoming> - <bpmn2:incoming>SequenceFlow_1ttepat</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_1hldqvv</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_19ba94v</bpmn2:outgoing> <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* def uvfm = new UpdateVnfInfra() uvfm.prepDoUpdateVnfAndModules(execution)]]></bpmn2:script> </bpmn2:scriptTask> - <bpmn2:sequenceFlow id="SequenceFlow_0fxuur5" name="Skip Check if PServers Locked in AAI" sourceRef="ExclusiveGateway_0y82zzx" targetRef="Task_1rxiqe1"> - <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("UPDVnfI_workStep") == "checkIfPserversInMaintInAAI"]]></bpmn2:conditionExpression> + <bpmn2:sequenceFlow id="SequenceFlow_1c022sy" sourceRef="ExclusiveGateway_0y82zzx" targetRef="Task_1tg549h" /> + <bpmn2:callActivity id="Task_1dtbnuy" name="Call APP-C VNF Lock" calledElement="AppCClient"> + <bpmn2:extensionElements> + <camunda:in source="msoRequestId" target="msoRequestId" /> + <camunda:in source="actionLock" target="action" /> + <camunda:in source="vnfId" target="vnfId" /> + <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" /> + <camunda:out source="errorCode" target="errorCode" /> + <camunda:out source="errorText" target="errorText" /> + <camunda:out source="workStep" target="workStep" /> + <camunda:out source="failedActivity" target="failedActivity" /> + <camunda:out source="rollbackVnfLock" target="rollbackVnfLock" /> + </bpmn2:extensionElements> + <bpmn2:incoming>SequenceFlow_1bkhs8m</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_0qmpjgv</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_0xx8y1s</bpmn2:outgoing> + </bpmn2:callActivity> + <bpmn2:callActivity id="Task_1fj63ov" name="Call APP-C Health Check" calledElement="AppCClient"> + <bpmn2:extensionElements> + <camunda:in source="msoRequestId" target="msoRequestId" /> + <camunda:in source="actionHealthCheck" target="action" /> + <camunda:in source="healthCheckIndex0" target="healthCheckIndex" /> + <camunda:in source="payload" target="payload" /> + <camunda:in source="vnfId" target="vnfId" /> + <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" /> + <camunda:out source="errorCode" target="errorCode" /> + <camunda:out source="errorText" target="errorText" /> + <camunda:out source="workStep" target="workStep" /> + <camunda:out source="failedActivity" target="failedActivity" /> + <camunda:in source="vnfName" target="vnfName" /> + <camunda:in source="vnfHostIpAddress" target="vnfHostIpAddress" /> + </bpmn2:extensionElements> + <bpmn2:incoming>SequenceFlow_0qy68ib</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_0tld38t</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_0a6pdza</bpmn2:outgoing> + </bpmn2:callActivity> + <bpmn2:callActivity id="Task_1cfkcss" name="Call APP-C VNF Graceful Stop" calledElement="AppCClient"> + <bpmn2:extensionElements> + <camunda:in source="msoRequestId" target="msoRequestId" /> + <camunda:in source="actionStop" target="action" /> + <camunda:in source="vnfId" target="vnfId" /> + <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" /> + <camunda:out source="errorCode" target="errorCode" /> + <camunda:out source="errorText" target="errorText" /> + <camunda:out source="workStep" target="workStep" /> + <camunda:out source="failedActivity" target="failedActivity" /> + <camunda:in source="aicIdentity" target="aicIdentity" /> + <camunda:out source="rollbackVnfStop" target="rollbackVnfStop" /> + </bpmn2:extensionElements> + <bpmn2:incoming>SequenceFlow_0q0qan8</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_08dyt3l</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_13h26h9</bpmn2:outgoing> + </bpmn2:callActivity> + <bpmn2:callActivity id="Task_1hdg951" name="Call APP-C VNF Start" calledElement="AppCClient"> + <bpmn2:extensionElements> + <camunda:in source="msoRequestId" target="msoRequestId" /> + <camunda:in source="actionStart" target="action" /> + <camunda:in source="vnfId" target="vnfId" /> + <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" /> + <camunda:out source="errorCode" target="errorCode" /> + <camunda:out source="errorText" target="errorText" /> + <camunda:out source="workStep" target="workStep" /> + <camunda:out source="failedActivity" target="failedActivity" /> + <camunda:in source="aicIdentity" target="aicIdentity" /> + <camunda:out source="rollbackVnfStop" target="rollbackVnfStop" /> + </bpmn2:extensionElements> + <bpmn2:incoming>SequenceFlow_04zwhw4</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_0ye8oij</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_1uno5rs</bpmn2:outgoing> + </bpmn2:callActivity> + <bpmn2:callActivity id="Task_1ca5ctq" name="Call APP-C Health Check" calledElement="AppCClient"> + <bpmn2:extensionElements> + <camunda:in source="msoRequestId" target="msoRequestId" /> + <camunda:in source="actionHealthCheck" target="action" /> + <camunda:in source="healthCheckIndex1" target="healthCheckIndex" /> + <camunda:in source="payload" target="payload" /> + <camunda:in source="vnfId" target="vnfId" /> + <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" /> + <camunda:out source="errorCode" target="errorCode" /> + <camunda:out source="errorText" target="errorText" /> + <camunda:out source="workStep" target="workStep" /> + <camunda:out source="failedActivity" target="failedActivity" /> + <camunda:in source="vnfName" target="vnfName" /> + <camunda:in source="vnfHostIpAddress" target="vnfHostIpAddress" /> + </bpmn2:extensionElements> + <bpmn2:incoming>SequenceFlow_162mm0m</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_08kn9ok</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_1c79909</bpmn2:outgoing> + </bpmn2:callActivity> + <bpmn2:callActivity id="Task_1sove95" name="Call APP-C VNF Unlock" calledElement="AppCClient"> + <bpmn2:extensionElements> + <camunda:in source="msoRequestId" target="msoRequestId" /> + <camunda:in source="actionUnlock" target="action" /> + <camunda:in source="vnfId" target="vnfId" /> + <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" /> + <camunda:out source="errorCode" target="errorCode" /> + <camunda:out source="errorText" target="errorText" /> + <camunda:out source="workStep" target="workStep" /> + <camunda:out source="failedActivity" target="failedActivity" /> + <camunda:out source="rollbackVnfLock" target="rollbackVnfLock" /> + </bpmn2:extensionElements> + <bpmn2:incoming>SequenceFlow_197t3qk</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_02uiht9</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_1xfbwpi</bpmn2:outgoing> + </bpmn2:callActivity> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0wc37af" name="To Rainy Day Handling"> + <bpmn2:incoming>SequenceFlow_1esmtgy</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To Rainy Day Handling" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1r18wa8" name="To Rainy Day Handling"> + <bpmn2:incoming>SequenceFlow_1jmzl1j</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To Rainy Day Handling" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:sequenceFlow id="SequenceFlow_1esmtgy" name="yes" sourceRef="ExclusiveGateway_0q323wc" targetRef="IntermediateThrowEvent_0wc37af"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression> </bpmn2:sequenceFlow> - <bpmn2:sequenceFlow id="SequenceFlow_1wax44p" name="Skip If VNF Is in Maint in AAI" sourceRef="ExclusiveGateway_0y82zzx" targetRef="Task_0ap39ka"> - <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("UPDVnfI_workStep") == "checkIfVnfInMaintInAAI"]]></bpmn2:conditionExpression> + <bpmn2:sequenceFlow id="SequenceFlow_1jmzl1j" name="yes" sourceRef="ExclusiveGateway_045e1uz" targetRef="IntermediateThrowEvent_1r18wa8"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression> </bpmn2:sequenceFlow> - <bpmn2:sequenceFlow id="SequenceFlow_1nlqlwn" name="Skip Set VNF In Maint in AAI" sourceRef="ExclusiveGateway_0y82zzx" targetRef="Task_1dtbnuy"> - <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("UPDVnfI_workStep") == "setVnfInMaintFlagInAAI"]]></bpmn2:conditionExpression> + <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_0k7j3qf" name="To inMaintenance Check"> + <bpmn2:outgoing>SequenceFlow_1pj72fw</bpmn2:outgoing> + <bpmn2:linkEventDefinition name="To inMaintenance Check" /> + </bpmn2:intermediateCatchEvent> + <bpmn2:sequenceFlow id="SequenceFlow_1pj72fw" sourceRef="IntermediateThrowEvent_0k7j3qf" targetRef="Task_1rxiqe1" /> + <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_1urs7gm" name="To inMaintenance Set"> + <bpmn2:outgoing>SequenceFlow_1lmijmb</bpmn2:outgoing> + <bpmn2:linkEventDefinition name="To inMaintenance Set" /> + </bpmn2:intermediateCatchEvent> + <bpmn2:sequenceFlow id="SequenceFlow_1lmijmb" sourceRef="IntermediateThrowEvent_1urs7gm" targetRef="Task_0ap39ka" /> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0wx980v" name="To Rainy Day Handling"> + <bpmn2:incoming>SequenceFlow_010ynjs</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To Rainy Day Handling" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:sequenceFlow id="SequenceFlow_010ynjs" name="yes" sourceRef="ExclusiveGateway_0ud5uwa" targetRef="IntermediateThrowEvent_0wx980v"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression> </bpmn2:sequenceFlow> - <bpmn2:sequenceFlow id="SequenceFlow_1c022sy" sourceRef="ExclusiveGateway_0y82zzx" targetRef="Task_1tg549h" /> + <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_1khl6dg" name="To VNF Lock"> + <bpmn2:outgoing>SequenceFlow_0qmpjgv</bpmn2:outgoing> + <bpmn2:linkEventDefinition name="To VNF Lock" /> + </bpmn2:intermediateCatchEvent> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_11rri8p" name="To Rainy Day Handling"> + <bpmn2:incoming>SequenceFlow_1qsxbp4</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To Rainy Day Handling" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0frizqo" name="To Rainy Day Handling"> + <bpmn2:incoming>SequenceFlow_15bl7wd</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To Rainy Day Handling" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1gmhr39" name="To Rainy Day Handling"> + <bpmn2:incoming>SequenceFlow_1m84lq5</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To Rainy Day Handling" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_1m2d0qt" name="To Health PreCheck"> + <bpmn2:outgoing>SequenceFlow_0tld38t</bpmn2:outgoing> + <bpmn2:linkEventDefinition name="To Health PreCheck" /> + </bpmn2:intermediateCatchEvent> + <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_0p4hkug" name="To VNF Stop"> + <bpmn2:outgoing>SequenceFlow_08dyt3l</bpmn2:outgoing> + <bpmn2:linkEventDefinition name="To VNF Stop" /> + </bpmn2:intermediateCatchEvent> + <bpmn2:sequenceFlow id="SequenceFlow_1qsxbp4" name="yes" sourceRef="ExclusiveGateway_1slvyx2" targetRef="IntermediateThrowEvent_11rri8p"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_0qmpjgv" sourceRef="IntermediateThrowEvent_1khl6dg" targetRef="Task_1dtbnuy" /> + <bpmn2:sequenceFlow id="SequenceFlow_0tld38t" sourceRef="IntermediateThrowEvent_1m2d0qt" targetRef="Task_1fj63ov" /> + <bpmn2:sequenceFlow id="SequenceFlow_15bl7wd" name="yes" sourceRef="ExclusiveGateway_1ichg7h" targetRef="IntermediateThrowEvent_0frizqo"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_08dyt3l" sourceRef="IntermediateThrowEvent_0p4hkug" targetRef="Task_1cfkcss" /> + <bpmn2:sequenceFlow id="SequenceFlow_1m84lq5" name="yes" sourceRef="ExclusiveGateway_1etgtgi" targetRef="IntermediateThrowEvent_1gmhr39"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_1s7fnzf" name="To DoUpdateVnfAndModules"> + <bpmn2:outgoing>SequenceFlow_1hldqvv</bpmn2:outgoing> + <bpmn2:linkEventDefinition name="To DoUpdateVnfAndModules" /> + </bpmn2:intermediateCatchEvent> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1p2yktm" name="To Rainy Day Handling"> + <bpmn2:incoming>SequenceFlow_0fog99f</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To Rainy Day Handling" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_17j7yap" name="To VNF Start"> + <bpmn2:outgoing>SequenceFlow_0ye8oij</bpmn2:outgoing> + <bpmn2:linkEventDefinition name="To VNF Start" /> + </bpmn2:intermediateCatchEvent> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1gjzx99" name="To Rainy Day Handling"> + <bpmn2:incoming>SequenceFlow_12g63pl</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To Rainy Day Handling" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:sequenceFlow id="SequenceFlow_1hldqvv" sourceRef="IntermediateThrowEvent_1s7fnzf" targetRef="Task_0eae8go" /> + <bpmn2:sequenceFlow id="SequenceFlow_0fog99f" name="yes" sourceRef="ExclusiveGateway_0ulrq9g" targetRef="IntermediateThrowEvent_1p2yktm"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_0ye8oij" sourceRef="IntermediateThrowEvent_17j7yap" targetRef="Task_1hdg951" /> + <bpmn2:sequenceFlow id="SequenceFlow_12g63pl" name="yes" sourceRef="ExclusiveGateway_02tj4dw" targetRef="IntermediateThrowEvent_1gjzx99"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_03lb8ti" name="To Health PostCheck"> + <bpmn2:outgoing>SequenceFlow_08kn9ok</bpmn2:outgoing> + <bpmn2:linkEventDefinition name="To Health PostCheck" /> + </bpmn2:intermediateCatchEvent> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1umr8ik" name="To Rainy Day Handling"> + <bpmn2:incoming>SequenceFlow_0l83v2k</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To Rainy Day Handling" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_044oajb" name="To VNF Unlock"> + <bpmn2:outgoing>SequenceFlow_02uiht9</bpmn2:outgoing> + <bpmn2:linkEventDefinition name="To VNF Unlock" /> + </bpmn2:intermediateCatchEvent> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1c1s0hp" name="To Rainy Day Handling"> + <bpmn2:incoming>SequenceFlow_07fhkt4</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To Rainy Day Handling" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_11i6md0" name="To inMaintenance Unset"> + <bpmn2:outgoing>SequenceFlow_11p8elx</bpmn2:outgoing> + <bpmn2:linkEventDefinition name="To inMaintenance Unset" /> + </bpmn2:intermediateCatchEvent> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1d8c9i0" name="To Rainy Day Handling"> + <bpmn2:incoming>SequenceFlow_0p94lgv</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To Rainy Day Handling" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:sequenceFlow id="SequenceFlow_08kn9ok" sourceRef="IntermediateThrowEvent_03lb8ti" targetRef="Task_1ca5ctq" /> + <bpmn2:sequenceFlow id="SequenceFlow_0l83v2k" name="yes" sourceRef="ExclusiveGateway_1gn5lab" targetRef="IntermediateThrowEvent_1umr8ik"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_02uiht9" sourceRef="IntermediateThrowEvent_044oajb" targetRef="Task_1sove95" /> + <bpmn2:sequenceFlow id="SequenceFlow_07fhkt4" name="yes" sourceRef="ExclusiveGateway_06mv93h" targetRef="IntermediateThrowEvent_1c1s0hp"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_11p8elx" sourceRef="IntermediateThrowEvent_11i6md0" targetRef="Task_1drglpt" /> + <bpmn2:sequenceFlow id="SequenceFlow_0p94lgv" name="yes" sourceRef="ExclusiveGateway_0l2z6wc" targetRef="IntermediateThrowEvent_1d8c9i0"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_1dqbqqx" sourceRef="IntermediateThrowEvent_0xv558x" targetRef="ScriptTask_10" /> + <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_0xv558x" name="To Completion Handler Prep"> + <bpmn2:outgoing>SequenceFlow_1dqbqqx</bpmn2:outgoing> + <bpmn2:linkEventDefinition name="To Completion Handler Prep" /> + </bpmn2:intermediateCatchEvent> + <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_0hljxy3" name="To Rainy Day Handling"> + <bpmn2:outgoing>SequenceFlow_1nplvhi</bpmn2:outgoing> + <bpmn2:linkEventDefinition name="To Rainy Day Handling" /> + </bpmn2:intermediateCatchEvent> + <bpmn2:sequenceFlow id="SequenceFlow_1nplvhi" sourceRef="IntermediateThrowEvent_0hljxy3" targetRef="Task_0q5cdit" /> + <bpmn2:sequenceFlow id="SequenceFlow_0tqrgop" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_08j8zjs"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("workStep") == "checkIfPserversInMaintInAAI"]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_126nlmw" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_0tj8iiy"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("workStep") == "checkIfVnfInMaintInAAI"]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_0mw3mwl" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_0oeqjo1"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("workStep") == "setVnfInMaintFlagInAAI"]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_13md9cw" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_1939dn7"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("workStep") == "Lock"]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_0xylem3" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_1rn3nlo"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("workStep") == "HealthCheck0"]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_1c5mxd5" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_0weaigg"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("workStep") == "Stop"]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_0u8hiu2" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_1q8mns4"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("workStep") == "doUpdateVnfAndModules"]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_0fs7ay9" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_16kgzdv"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("workStep") == "Start"]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_00qwx4v" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_18v3win"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("workStep") == "HealthCheck1"]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_14s8ji9" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_0kypyu0"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("workStep") == "Unlock"]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_0kricor" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_024m4nk"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("workStep") == "unsetVnfInMaintFlagInAAI"]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_08j8zjs" name="To inMaintenance Check"> + <bpmn2:incoming>SequenceFlow_0tqrgop</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To inMaintenance Check" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0tj8iiy" name="To inMaintenance Set"> + <bpmn2:incoming>SequenceFlow_126nlmw</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To inMaintenance Set" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0oeqjo1" name="To VNF Lock"> + <bpmn2:incoming>SequenceFlow_0mw3mwl</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To VNF Lock" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1939dn7" name="To Health PreCheck"> + <bpmn2:incoming>SequenceFlow_13md9cw</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To Health PreCheck" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1rn3nlo" name="To VNF Stop"> + <bpmn2:incoming>SequenceFlow_0xylem3</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To VNF Stop" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0weaigg" name="To DoUpdateVnfAndModules"> + <bpmn2:incoming>SequenceFlow_1c5mxd5</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To DoUpdateVnfAndModules" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1q8mns4" name="To VNF Start"> + <bpmn2:incoming>SequenceFlow_0u8hiu2</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To VNF Start" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_16kgzdv" name="To Health PostCheck"> + <bpmn2:incoming>SequenceFlow_0fs7ay9</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To Health PostCheck" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_18v3win" name="To VNF Unlock"> + <bpmn2:incoming>SequenceFlow_00qwx4v</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To VNF Unlock" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0kypyu0" name="To inMaintenance Unset"> + <bpmn2:incoming>SequenceFlow_14s8ji9</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To inMaintenance Unset" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_024m4nk" name="To Completion Handler Prep"> + <bpmn2:incoming>SequenceFlow_0kricor</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To Completion Handler Prep" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:sequenceFlow id="SequenceFlow_178fxkj" sourceRef="Task_155eyrq" targetRef="Task_0vy2zge" /> + <bpmn2:scriptTask id="Task_155eyrq" name="Query A&AI for VNF" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_053qjfy</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_178fxkj</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def uvfm = new UpdateVnfInfra() +uvfm.queryAAIForVnf(execution)]]></bpmn2:script> + </bpmn2:scriptTask> </bpmn2:process> <bpmn2:error id="Error_1" name="MSOWorkflowException" errorCode="MSOWorkflowException" /> <bpmndi:BPMNDiagram id="BPMNDiagram_1"> @@ -452,9 +692,9 @@ uvfm.prepDoUpdateVnfAndModules(execution)]]></bpmn2:script> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="_BPMNShape_EndEvent_125" bpmnElement="EndEvent_1"> - <dc:Bounds x="595" y="975" width="36" height="36" /> + <dc:Bounds x="589" y="1222" width="36" height="36" /> <bpmndi:BPMNLabel> - <dc:Bounds x="594" y="1016" width="38" height="12" /> + <dc:Bounds x="588" y="1263" width="38" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_4" bpmnElement="SequenceFlow_4" sourceElement="_BPMNShape_StartEvent_50" targetElement="_BPMNShape_ScriptTask_124"> @@ -485,107 +725,108 @@ uvfm.prepDoUpdateVnfAndModules(execution)]]></bpmn2:script> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_127" bpmnElement="ScriptTask_4"> - <dc:Bounds x="439" y="953" width="100" height="80" /> + <dc:Bounds x="433" y="1200" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_6" bpmnElement="SequenceFlow_6" sourceElement="_BPMNShape_ScriptTask_127" targetElement="_BPMNShape_EndEvent_125"> - <di:waypoint xsi:type="dc:Point" x="539" y="993" /> - <di:waypoint xsi:type="dc:Point" x="595" y="993" /> + <di:waypoint xsi:type="dc:Point" x="533" y="1240" /> + <di:waypoint xsi:type="dc:Point" x="589" y="1240" /> <bpmndi:BPMNLabel> - <dc:Bounds x="716" y="834" width="0" height="0" /> + <dc:Bounds x="710" y="1081" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_133" bpmnElement="ScriptTask_10"> - <dc:Bounds x="139" y="953" width="100" height="80" /> + <dc:Bounds x="133" y="1200" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="_BPMNShape_CallActivity_27" bpmnElement="CallActivity_1"> - <dc:Bounds x="289" y="953" width="100" height="80" /> + <dc:Bounds x="283" y="1200" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_17" bpmnElement="SequenceFlow_17" sourceElement="_BPMNShape_ScriptTask_133" targetElement="_BPMNShape_CallActivity_27"> - <di:waypoint xsi:type="dc:Point" x="239" y="993" /> - <di:waypoint xsi:type="dc:Point" x="289" y="993" /> + <di:waypoint xsi:type="dc:Point" x="233" y="1240" /> + <di:waypoint xsi:type="dc:Point" x="283" y="1240" /> <bpmndi:BPMNLabel> - <dc:Bounds x="264" y="999" width="0" height="0" /> + <dc:Bounds x="258" y="1246" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="_BPMNShape_SubProcess_17" bpmnElement="SubProcess_1" isExpanded="true"> - <dc:Bounds x="85" y="1189" width="565" height="241" /> + <dc:Bounds x="88" y="1464" width="966" height="240" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="_BPMNShape_StartEvent_52" bpmnElement="StartEvent_3"> - <dc:Bounds x="149" y="1283" width="36" height="36" /> + <dc:Bounds x="152" y="1558" width="36" height="36" /> <bpmndi:BPMNLabel> - <dc:Bounds x="128" y="1324" width="77" height="12" /> + <dc:Bounds x="131" y="1599" width="77" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_136" bpmnElement="ScriptTask_3"> - <dc:Bounds x="229" y="1261" width="100" height="80" /> + <dc:Bounds x="621" y="1536" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_1" bpmnElement="SequenceFlow_1" sourceElement="_BPMNShape_StartEvent_52" targetElement="_BPMNShape_ScriptTask_136"> - <di:waypoint xsi:type="dc:Point" x="185" y="1301" /> - <di:waypoint xsi:type="dc:Point" x="229" y="1301" /> + <di:waypoint xsi:type="dc:Point" x="188" y="1576" /> + <di:waypoint xsi:type="dc:Point" x="220" y="1576" /> <bpmndi:BPMNLabel> - <dc:Bounds x="232" y="1601" width="0" height="0" /> + <dc:Bounds x="204" y="1561" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_7" bpmnElement="SequenceFlow_7" sourceElement="_BPMNShape_ScriptTask_136" targetElement="_BPMNShape_CallActivity_28"> - <di:waypoint xsi:type="dc:Point" x="329" y="1301" /> - <di:waypoint xsi:type="dc:Point" x="397" y="1301" /> + <di:waypoint xsi:type="dc:Point" x="721" y="1576" /> + <di:waypoint xsi:type="dc:Point" x="789" y="1576" /> <bpmndi:BPMNLabel> - <dc:Bounds x="345" y="1301" width="0" height="0" /> + <dc:Bounds x="737" y="1576" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="_BPMNShape_EndEvent_126" bpmnElement="EndEvent_2"> - <dc:Bounds x="553" y="1283" width="36" height="36" /> + <dc:Bounds x="945" y="1558" width="36" height="36" /> <bpmndi:BPMNLabel> - <dc:Bounds x="571" y="1324" width="0" height="0" /> + <dc:Bounds x="963" y="1599" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="_BPMNShape_BoundaryEvent_43" bpmnElement="BoundaryEvent_1"> - <dc:Bounds x="632" y="1283" width="36" height="36" /> + <dc:Bounds x="1036" y="1558" width="36" height="36" /> <bpmndi:BPMNLabel> - <dc:Bounds x="650" y="1324" width="0" height="0" /> + <dc:Bounds x="1054" y="1599" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="_BPMNShape_EndEvent_127" bpmnElement="EndEvent_3"> - <dc:Bounds x="726" y="1283" width="36" height="36" /> + <dc:Bounds x="1164" y="1558" width="36" height="36" /> <bpmndi:BPMNLabel> - <dc:Bounds x="744" y="1324" width="0" height="0" /> + <dc:Bounds x="1182" y="1599" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_12" bpmnElement="SequenceFlow_12" sourceElement="_BPMNShape_BoundaryEvent_43" targetElement="_BPMNShape_EndEvent_127"> - <di:waypoint xsi:type="dc:Point" x="668" y="1301" /> - <di:waypoint xsi:type="dc:Point" x="726" y="1301" /> + <di:waypoint xsi:type="dc:Point" x="1072" y="1576" /> + <di:waypoint xsi:type="dc:Point" x="1164" y="1576" /> <bpmndi:BPMNLabel> - <dc:Bounds x="697" y="1286" width="0" height="0" /> + <dc:Bounds x="1118" y="1561" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="_BPMNShape_CallActivity_28" bpmnElement="CallActivity_2"> - <dc:Bounds x="397" y="1261" width="100" height="80" /> + <dc:Bounds x="789" y="1536" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_14" bpmnElement="SequenceFlow_14" sourceElement="_BPMNShape_CallActivity_27" targetElement="_BPMNShape_ScriptTask_127"> - <di:waypoint xsi:type="dc:Point" x="389" y="993" /> - <di:waypoint xsi:type="dc:Point" x="439" y="993" /> + <di:waypoint xsi:type="dc:Point" x="383" y="1240" /> + <di:waypoint xsi:type="dc:Point" x="433" y="1240" /> <bpmndi:BPMNLabel> - <dc:Bounds x="432" y="961" width="0" height="0" /> + <dc:Bounds x="426" y="1208" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_19" bpmnElement="SequenceFlow_19" sourceElement="_BPMNShape_CallActivity_28" targetElement="_BPMNShape_EndEvent_126"> - <di:waypoint xsi:type="dc:Point" x="497" y="1301" /> - <di:waypoint xsi:type="dc:Point" x="553" y="1301" /> + <di:waypoint xsi:type="dc:Point" x="889" y="1576" /> + <di:waypoint xsi:type="dc:Point" x="945" y="1576" /> <bpmndi:BPMNLabel> - <dc:Bounds x="390" y="1361" width="0" height="0" /> + <dc:Bounds x="782" y="1636" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_181" bpmnElement="ScriptTask_6"> - <dc:Bounds x="454" y="559" width="100" height="80" /> + <dc:Bounds x="419" y="685" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_3" bpmnElement="SequenceFlow_3" sourceElement="_BPMNShape_ScriptTask_181" targetElement="_BPMNShape_ScriptTask_133"> - <di:waypoint xsi:type="dc:Point" x="1130" y="835" /> - <di:waypoint xsi:type="dc:Point" x="1130" y="900" /> - <di:waypoint xsi:type="dc:Point" x="99" y="900" /> - <di:waypoint xsi:type="dc:Point" x="99" y="993" /> - <di:waypoint xsi:type="dc:Point" x="139" y="993" /> + <di:waypoint xsi:type="dc:Point" x="932" y="983" /> + <di:waypoint xsi:type="dc:Point" x="1007" y="983" /> + <di:waypoint xsi:type="dc:Point" x="1007" y="1158" /> + <di:waypoint xsi:type="dc:Point" x="89" y="1160" /> + <di:waypoint xsi:type="dc:Point" x="89" y="1240" /> + <di:waypoint xsi:type="dc:Point" x="133" y="1240" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1109" y="862" width="12" height="12" /> + <dc:Bounds x="961" y="954.3909136697287" width="12" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_1w35ov3_di" bpmnElement="SequenceFlow_1w35ov3"> @@ -600,13 +841,9 @@ uvfm.prepDoUpdateVnfAndModules(execution)]]></bpmn2:script> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_053qjfy_di" bpmnElement="SequenceFlow_053qjfy"> <di:waypoint xsi:type="dc:Point" x="818" y="90" /> - <di:waypoint xsi:type="dc:Point" x="982" y="90" /> - <di:waypoint xsi:type="dc:Point" x="982" y="156" /> - <di:waypoint xsi:type="dc:Point" x="103" y="156" /> - <di:waypoint xsi:type="dc:Point" x="103" y="237" /> - <di:waypoint xsi:type="dc:Point" x="131" y="237" /> + <di:waypoint xsi:type="dc:Point" x="871" y="90" /> <bpmndi:BPMNLabel> - <dc:Bounds x="543" y="141" width="0" height="0" /> + <dc:Bounds x="845" y="75" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="ScriptTask_08xzuox_di" bpmnElement="Task_1opcb4j"> @@ -630,95 +867,80 @@ uvfm.prepDoUpdateVnfAndModules(execution)]]></bpmn2:script> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_1bkhs8m_di" bpmnElement="SequenceFlow_1bkhs8m"> - <di:waypoint xsi:type="dc:Point" x="896" y="264" /> - <di:waypoint xsi:type="dc:Point" x="896" y="339" /> - <di:waypoint xsi:type="dc:Point" x="98" y="339" /> - <di:waypoint xsi:type="dc:Point" x="98" y="427" /> - <di:waypoint xsi:type="dc:Point" x="139" y="427" /> + <di:waypoint xsi:type="dc:Point" x="921" y="237" /> + <di:waypoint xsi:type="dc:Point" x="994" y="237" /> + <di:waypoint xsi:type="dc:Point" x="994" y="391" /> + <di:waypoint xsi:type="dc:Point" x="98" y="391" /> + <di:waypoint xsi:type="dc:Point" x="98" y="474" /> + <di:waypoint xsi:type="dc:Point" x="139" y="474" /> <bpmndi:BPMNLabel> - <dc:Bounds x="905" y="313.95238095238096" width="12" height="12" /> + <dc:Bounds x="950" y="212" width="12" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_0gzzeru_di" bpmnElement="SequenceFlow_0gzzeru"> - <di:waypoint xsi:type="dc:Point" x="554" y="599" /> - <di:waypoint xsi:type="dc:Point" x="617" y="599" /> + <di:waypoint xsi:type="dc:Point" x="519" y="725" /> + <di:waypoint xsi:type="dc:Point" x="595" y="725" /> <bpmndi:BPMNLabel> - <dc:Bounds x="586" y="584" width="0" height="0" /> + <dc:Bounds x="557" y="710" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="ScriptTask_0wa4zya_di" bpmnElement="Task_0ap39ka"> <dc:Bounds x="714" y="197" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="ScriptTask_0sgm9bu_di" bpmnElement="Task_1drglpt"> - <dc:Bounds x="960" y="770" width="100" height="80" /> + <dc:Bounds x="718" y="943" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="ScriptTask_16jtt5t_di" bpmnElement="Task_0vy2zge"> <dc:Bounds x="131" y="197" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_0xx8y1s_di" bpmnElement="SequenceFlow_0xx8y1s"> - <di:waypoint xsi:type="dc:Point" x="239" y="427" /> - <di:waypoint xsi:type="dc:Point" x="292" y="427" /> + <di:waypoint xsi:type="dc:Point" x="239" y="474" /> + <di:waypoint xsi:type="dc:Point" x="292" y="474" /> <bpmndi:BPMNLabel> - <dc:Bounds x="266" y="412" width="0" height="0" /> + <dc:Bounds x="266" y="459" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_0a6pdza_di" bpmnElement="SequenceFlow_0a6pdza"> - <di:waypoint xsi:type="dc:Point" x="525" y="427" /> - <di:waypoint xsi:type="dc:Point" x="601" y="427" /> + <di:waypoint xsi:type="dc:Point" x="525" y="474" /> + <di:waypoint xsi:type="dc:Point" x="601" y="474" /> <bpmndi:BPMNLabel> - <dc:Bounds x="563" y="412" width="0" height="0" /> + <dc:Bounds x="563" y="459" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_13h26h9_di" bpmnElement="SequenceFlow_13h26h9"> - <di:waypoint xsi:type="dc:Point" x="814" y="427" /> - <di:waypoint xsi:type="dc:Point" x="871" y="427" /> + <di:waypoint xsi:type="dc:Point" x="814" y="474" /> + <di:waypoint xsi:type="dc:Point" x="871" y="474" /> <bpmndi:BPMNLabel> - <dc:Bounds x="843" y="412" width="0" height="0" /> + <dc:Bounds x="843" y="459" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNShape id="ScriptTask_02wc9i0_di" bpmnElement="Task_1dtbnuy"> - <dc:Bounds x="139" y="387" width="100" height="80" /> - </bpmndi:BPMNShape> - <bpmndi:BPMNShape id="ScriptTask_0mz2hdm_di" bpmnElement="Task_1fj63ov"> - <dc:Bounds x="425" y="387" width="100" height="80" /> - </bpmndi:BPMNShape> - <bpmndi:BPMNShape id="ScriptTask_1wagy2o_di" bpmnElement="Task_1cfkcss"> - <dc:Bounds x="714" y="387" width="100" height="80" /> - </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_1uno5rs_di" bpmnElement="SequenceFlow_1uno5rs"> - <di:waypoint xsi:type="dc:Point" x="239" y="810" /> - <di:waypoint xsi:type="dc:Point" x="292" y="810" /> + <di:waypoint xsi:type="dc:Point" x="812" y="725" /> + <di:waypoint xsi:type="dc:Point" x="850" y="725" /> + <di:waypoint xsi:type="dc:Point" x="850" y="725" /> + <di:waypoint xsi:type="dc:Point" x="876" y="725" /> <bpmndi:BPMNLabel> - <dc:Bounds x="266" y="795" width="0" height="0" /> + <dc:Bounds x="865" y="725" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_1c79909_di" bpmnElement="SequenceFlow_1c79909"> - <di:waypoint xsi:type="dc:Point" x="525" y="810" /> - <di:waypoint xsi:type="dc:Point" x="601" y="810" /> + <di:waypoint xsi:type="dc:Point" x="239" y="983" /> + <di:waypoint xsi:type="dc:Point" x="292" y="983" /> <bpmndi:BPMNLabel> - <dc:Bounds x="563" y="795" width="0" height="0" /> + <dc:Bounds x="266" y="968" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNShape id="ScriptTask_13zephm_di" bpmnElement="Task_1hdg951"> - <dc:Bounds x="139" y="770" width="100" height="80" /> - </bpmndi:BPMNShape> - <bpmndi:BPMNShape id="ScriptTask_11xqphb_di" bpmnElement="Task_1ca5ctq"> - <dc:Bounds x="425" y="770" width="100" height="80" /> - </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_1xfbwpi_di" bpmnElement="SequenceFlow_1xfbwpi"> - <di:waypoint xsi:type="dc:Point" x="814" y="810" /> - <di:waypoint xsi:type="dc:Point" x="871" y="810" /> + <di:waypoint xsi:type="dc:Point" x="515" y="983" /> + <di:waypoint xsi:type="dc:Point" x="601" y="983" /> <bpmndi:BPMNLabel> - <dc:Bounds x="843" y="795" width="0" height="0" /> + <dc:Bounds x="558" y="968" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNShape id="ScriptTask_0a4ovfa_di" bpmnElement="Task_1sove95"> - <dc:Bounds x="714" y="770" width="100" height="80" /> - </bpmndi:BPMNShape> <bpmndi:BPMNShape id="ExclusiveGateway_0q323wc_di" bpmnElement="ExclusiveGateway_0q323wc" isMarkerVisible="true"> <dc:Bounds x="291.803" y="212" width="50" height="50" /> <bpmndi:BPMNLabel> - <dc:Bounds x="274" y="262" width="86" height="24" /> + <dc:Bounds x="273" y="175" width="87" height="24" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_16mo99z_di" bpmnElement="SequenceFlow_16mo99z"> @@ -731,7 +953,7 @@ uvfm.prepDoUpdateVnfAndModules(execution)]]></bpmn2:script> <bpmndi:BPMNShape id="ExclusiveGateway_045e1uz_di" bpmnElement="ExclusiveGateway_045e1uz" isMarkerVisible="true"> <dc:Bounds x="601" y="212" width="50" height="50" /> <bpmndi:BPMNLabel> - <dc:Bounds x="589" y="262" width="73" height="36" /> + <dc:Bounds x="589" y="168" width="73" height="36" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_0baosqi_di" bpmnElement="SequenceFlow_0baosqi"> @@ -744,24 +966,6 @@ uvfm.prepDoUpdateVnfAndModules(execution)]]></bpmn2:script> <bpmndi:BPMNShape id="CallActivity_1k5n5d1_di" bpmnElement="Task_0q5cdit"> <dc:Bounds x="1132" y="470" width="100" height="80" /> </bpmndi:BPMNShape> - <bpmndi:BPMNEdge id="SequenceFlow_1qmz2ez_di" bpmnElement="SequenceFlow_1qmz2ez"> - <di:waypoint xsi:type="dc:Point" x="317" y="212" /> - <di:waypoint xsi:type="dc:Point" x="317" y="191" /> - <di:waypoint xsi:type="dc:Point" x="1182" y="191" /> - <di:waypoint xsi:type="dc:Point" x="1182" y="470" /> - <bpmndi:BPMNLabel> - <dc:Bounds x="378" y="196" width="18" height="12" /> - </bpmndi:BPMNLabel> - </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_03rkfbo_di" bpmnElement="SequenceFlow_03rkfbo"> - <di:waypoint xsi:type="dc:Point" x="626" y="212" /> - <di:waypoint xsi:type="dc:Point" x="626" y="187" /> - <di:waypoint xsi:type="dc:Point" x="1182" y="187" /> - <di:waypoint xsi:type="dc:Point" x="1182" y="470" /> - <bpmndi:BPMNLabel> - <dc:Bounds x="683" y="166" width="18" height="12" /> - </bpmndi:BPMNLabel> - </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_0v0u7mf_di" bpmnElement="SequenceFlow_0v0u7mf"> <di:waypoint xsi:type="dc:Point" x="1232" y="510" /> <di:waypoint xsi:type="dc:Point" x="1314" y="510" /> @@ -770,29 +974,30 @@ uvfm.prepDoUpdateVnfAndModules(execution)]]></bpmn2:script> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="Task_0zbogrm_di" bpmnElement="Task_0zbogrm"> - <dc:Bounds x="1438" y="470" width="100" height="80" /> + <dc:Bounds x="1289" y="645" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_0vpd06n_di" bpmnElement="SequenceFlow_0vpd06n"> <di:waypoint xsi:type="dc:Point" x="1339" y="485" /> - <di:waypoint xsi:type="dc:Point" x="1339" y="373" /> - <di:waypoint xsi:type="dc:Point" x="1438" y="373" /> + <di:waypoint xsi:type="dc:Point" x="1339" y="441" /> + <di:waypoint xsi:type="dc:Point" x="1339" y="441" /> + <di:waypoint xsi:type="dc:Point" x="1339" y="395" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1390" y="377" width="26" height="12" /> + <dc:Bounds x="1347" y="419.2626464646465" width="26" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_1qr8msw_di" bpmnElement="SequenceFlow_1qr8msw"> - <di:waypoint xsi:type="dc:Point" x="1364" y="510" /> - <di:waypoint xsi:type="dc:Point" x="1405" y="510" /> - <di:waypoint xsi:type="dc:Point" x="1405" y="510" /> - <di:waypoint xsi:type="dc:Point" x="1438" y="510" /> + <di:waypoint xsi:type="dc:Point" x="1339" y="535" /> + <di:waypoint xsi:type="dc:Point" x="1339" y="599" /> + <di:waypoint xsi:type="dc:Point" x="1339" y="599" /> + <di:waypoint xsi:type="dc:Point" x="1339" y="645" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1379" y="516" width="42" height="12" /> + <dc:Bounds x="1348" y="578.1951219512196" width="42" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="ExclusiveGateway_0ud5uwa_di" bpmnElement="ExclusiveGateway_0ud5uwa" isMarkerVisible="true"> <dc:Bounds x="871.1194471865745" y="211.86673247778873" width="50" height="50" /> <bpmndi:BPMNLabel> - <dc:Bounds x="904" y="257.86673247778873" width="73" height="36" /> + <dc:Bounds x="859" y="167" width="73" height="36" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_0k3fx7p_di" bpmnElement="SequenceFlow_0k3fx7p"> @@ -802,322 +1007,672 @@ uvfm.prepDoUpdateVnfAndModules(execution)]]></bpmn2:script> <dc:Bounds x="843" y="222" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_1lsm3bn_di" bpmnElement="SequenceFlow_1lsm3bn"> - <di:waypoint xsi:type="dc:Point" x="921" y="237" /> - <di:waypoint xsi:type="dc:Point" x="1182" y="237" /> - <di:waypoint xsi:type="dc:Point" x="1182" y="470" /> - <bpmndi:BPMNLabel> - <dc:Bounds x="1044" y="214" width="18" height="12" /> - </bpmndi:BPMNLabel> - </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="ExclusiveGateway_1slvyx2_di" bpmnElement="ExclusiveGateway_1slvyx2" isMarkerVisible="true"> - <dc:Bounds x="292" y="402" width="50" height="50" /> + <dc:Bounds x="292" y="449" width="50" height="50" /> <bpmndi:BPMNLabel> - <dc:Bounds x="283" y="452" width="68" height="24" /> + <dc:Bounds x="283" y="413" width="68" height="24" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_0qy68ib_di" bpmnElement="SequenceFlow_0qy68ib"> - <di:waypoint xsi:type="dc:Point" x="342" y="427" /> - <di:waypoint xsi:type="dc:Point" x="425" y="427" /> + <di:waypoint xsi:type="dc:Point" x="342" y="474" /> + <di:waypoint xsi:type="dc:Point" x="425" y="474" /> <bpmndi:BPMNLabel> - <dc:Bounds x="378" y="412" width="12" height="12" /> + <dc:Bounds x="378" y="459" width="12" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="ExclusiveGateway_1ichg7h_di" bpmnElement="ExclusiveGateway_1ichg7h" isMarkerVisible="true"> - <dc:Bounds x="601" y="402" width="50" height="50" /> + <dc:Bounds x="601" y="449" width="50" height="50" /> <bpmndi:BPMNLabel> - <dc:Bounds x="590" y="452" width="72" height="24" /> + <dc:Bounds x="590" y="414" width="72" height="24" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_0q0qan8_di" bpmnElement="SequenceFlow_0q0qan8"> - <di:waypoint xsi:type="dc:Point" x="651" y="427" /> - <di:waypoint xsi:type="dc:Point" x="714" y="427" /> + <di:waypoint xsi:type="dc:Point" x="651" y="474" /> + <di:waypoint xsi:type="dc:Point" x="714" y="474" /> <bpmndi:BPMNLabel> - <dc:Bounds x="677" y="412" width="12" height="12" /> + <dc:Bounds x="677" y="459" width="12" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="ExclusiveGateway_1etgtgi_di" bpmnElement="ExclusiveGateway_1etgtgi" isMarkerVisible="true"> - <dc:Bounds x="870.9141164856861" y="402" width="50" height="50" /> + <dc:Bounds x="871" y="449" width="50" height="50" /> <bpmndi:BPMNLabel> - <dc:Bounds x="909" y="445" width="68" height="24" /> + <dc:Bounds x="862" y="411" width="68" height="24" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_1c0vdki_di" bpmnElement="SequenceFlow_1c0vdki"> - <di:waypoint xsi:type="dc:Point" x="896" y="452" /> - <di:waypoint xsi:type="dc:Point" x="896" y="507" /> - <di:waypoint xsi:type="dc:Point" x="90" y="507" /> - <di:waypoint xsi:type="dc:Point" x="90" y="599" /> - <di:waypoint xsi:type="dc:Point" x="219" y="599" /> + <di:waypoint xsi:type="dc:Point" x="921" y="474" /> + <di:waypoint xsi:type="dc:Point" x="1003" y="474" /> + <di:waypoint xsi:type="dc:Point" x="1003" y="640" /> + <di:waypoint xsi:type="dc:Point" x="102" y="640" /> + <di:waypoint xsi:type="dc:Point" x="102" y="725" /> + <di:waypoint xsi:type="dc:Point" x="195" y="725" /> <bpmndi:BPMNLabel> - <dc:Bounds x="906" y="484" width="12" height="12" /> + <dc:Bounds x="964" y="444.0001202928146" width="12" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_0bduwog_di" bpmnElement="SequenceFlow_0bduwog"> - <di:waypoint xsi:type="dc:Point" x="317" y="402" /> - <di:waypoint xsi:type="dc:Point" x="317" y="354" /> - <di:waypoint xsi:type="dc:Point" x="1182" y="354" /> - <di:waypoint xsi:type="dc:Point" x="1182" y="470" /> + <bpmndi:BPMNShape id="ExclusiveGateway_0ulrq9g_di" bpmnElement="ExclusiveGateway_0ulrq9g" isMarkerVisible="true"> + <dc:Bounds x="595" y="700" width="50" height="50" /> <bpmndi:BPMNLabel> - <dc:Bounds x="375" y="356" width="18" height="12" /> + <dc:Bounds x="578" y="658" width="84" height="36" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_04zwhw4_di" bpmnElement="SequenceFlow_04zwhw4"> + <di:waypoint xsi:type="dc:Point" x="645" y="725" /> + <di:waypoint xsi:type="dc:Point" x="712" y="725" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="679" y="707.4465803421167" width="12" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_0uwar5b_di" bpmnElement="SequenceFlow_0uwar5b"> - <di:waypoint xsi:type="dc:Point" x="626" y="402" /> - <di:waypoint xsi:type="dc:Point" x="626" y="359" /> - <di:waypoint xsi:type="dc:Point" x="1182" y="359" /> - <di:waypoint xsi:type="dc:Point" x="1182" y="470" /> + <bpmndi:BPMNShape id="ExclusiveGateway_02tj4dw_di" bpmnElement="ExclusiveGateway_02tj4dw" isMarkerVisible="true"> + <dc:Bounds x="876" y="700" width="50" height="50" /> <bpmndi:BPMNLabel> - <dc:Bounds x="676" y="367" width="18" height="12" /> + <dc:Bounds x="867" y="665" width="68" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_162mm0m_di" bpmnElement="SequenceFlow_162mm0m"> + <di:waypoint xsi:type="dc:Point" x="926" y="725" /> + <di:waypoint xsi:type="dc:Point" x="1002" y="725" /> + <di:waypoint xsi:type="dc:Point" x="1002" y="903" /> + <di:waypoint xsi:type="dc:Point" x="94" y="903" /> + <di:waypoint xsi:type="dc:Point" x="94" y="983" /> + <di:waypoint xsi:type="dc:Point" x="139" y="983" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="961" y="701.1887293946602" width="12" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_0i7hfj2_di" bpmnElement="SequenceFlow_0i7hfj2"> - <di:waypoint xsi:type="dc:Point" x="921" y="427" /> - <di:waypoint xsi:type="dc:Point" x="1182" y="427" /> - <di:waypoint xsi:type="dc:Point" x="1182" y="470" /> + <bpmndi:BPMNShape id="ExclusiveGateway_1gn5lab_di" bpmnElement="ExclusiveGateway_1gn5lab" isMarkerVisible="true"> + <dc:Bounds x="292" y="958" width="50" height="50" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="281" y="920" width="72" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_197t3qk_di" bpmnElement="SequenceFlow_197t3qk"> + <di:waypoint xsi:type="dc:Point" x="342" y="983" /> + <di:waypoint xsi:type="dc:Point" x="384" y="983" /> + <di:waypoint xsi:type="dc:Point" x="384" y="983" /> + <di:waypoint xsi:type="dc:Point" x="415" y="983" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1044" y="412" width="18" height="12" /> + <dc:Bounds x="367" y="955.268406786947" width="12" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNShape id="ExclusiveGateway_0ulrq9g_di" bpmnElement="ExclusiveGateway_0ulrq9g" isMarkerVisible="true"> - <dc:Bounds x="617" y="574" width="50" height="50" /> + <bpmndi:BPMNShape id="ExclusiveGateway_06mv93h_di" bpmnElement="ExclusiveGateway_06mv93h" isMarkerVisible="true"> + <dc:Bounds x="601" y="958" width="50" height="50" /> <bpmndi:BPMNLabel> - <dc:Bounds x="654" y="618" width="83" height="36" /> + <dc:Bounds x="592" y="918" width="68" height="24" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> - <bpmndi:BPMNEdge id="SequenceFlow_04zwhw4_di" bpmnElement="SequenceFlow_04zwhw4"> - <di:waypoint xsi:type="dc:Point" x="642" y="624" /> - <di:waypoint xsi:type="dc:Point" x="642" y="694" /> - <di:waypoint xsi:type="dc:Point" x="91" y="694" /> - <di:waypoint xsi:type="dc:Point" x="91" y="810" /> - <di:waypoint xsi:type="dc:Point" x="139" y="810" /> + <bpmndi:BPMNEdge id="SequenceFlow_19lg15d_di" bpmnElement="SequenceFlow_19lg15d"> + <di:waypoint xsi:type="dc:Point" x="651" y="983" /> + <di:waypoint xsi:type="dc:Point" x="718" y="983" /> <bpmndi:BPMNLabel> - <dc:Bounds x="361" y="679" width="12" height="12" /> + <dc:Bounds x="676" y="955.051282051282" width="12" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_10ek8l4_di" bpmnElement="SequenceFlow_10ek8l4"> - <di:waypoint xsi:type="dc:Point" x="667" y="599" /> - <di:waypoint xsi:type="dc:Point" x="1182" y="599" /> - <di:waypoint xsi:type="dc:Point" x="1182" y="550" /> + <bpmndi:BPMNShape id="ExclusiveGateway_0l2z6wc_di" bpmnElement="ExclusiveGateway_0l2z6wc" isMarkerVisible="true"> + <dc:Bounds x="882" y="958" width="50" height="50" /> <bpmndi:BPMNLabel> - <dc:Bounds x="916" y="584" width="18" height="12" /> + <dc:Bounds x="870" y="915" width="73" height="36" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_12mfil6_di" bpmnElement="SequenceFlow_12mfil6"> + <di:waypoint xsi:type="dc:Point" x="818" y="983" /> + <di:waypoint xsi:type="dc:Point" x="882" y="983" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="850" y="968" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNShape id="ExclusiveGateway_02tj4dw_di" bpmnElement="ExclusiveGateway_02tj4dw" isMarkerVisible="true"> - <dc:Bounds x="292.1076011846002" y="785" width="50" height="50" /> + <bpmndi:BPMNShape id="ScriptTask_1lb0lk5_di" bpmnElement="Task_1tg549h"> + <dc:Bounds x="1289" y="315" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ExclusiveGateway_1gmvi7n_di" bpmnElement="ExclusiveGateway_0xlxgl0" isMarkerVisible="true"> + <dc:Bounds x="1314" y="485" width="50" height="50" /> <bpmndi:BPMNLabel> - <dc:Bounds x="284" y="835" width="68" height="24" /> + <dc:Bounds x="1303" y="468" width="88" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> - <bpmndi:BPMNEdge id="SequenceFlow_162mm0m_di" bpmnElement="SequenceFlow_162mm0m"> - <di:waypoint xsi:type="dc:Point" x="342" y="810" /> - <di:waypoint xsi:type="dc:Point" x="425" y="810" /> + <bpmndi:BPMNShape id="ExclusiveGateway_0y82zzx_di" bpmnElement="ExclusiveGateway_0y82zzx" isMarkerVisible="true"> + <dc:Bounds x="1431" y="485" width="50" height="50" /> <bpmndi:BPMNLabel> - <dc:Bounds x="378" y="795" width="12" height="12" /> + <dc:Bounds x="1421" y="542" width="69" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_05gpym3_di" bpmnElement="SequenceFlow_05gpym3"> + <di:waypoint xsi:type="dc:Point" x="1364" y="510" /> + <di:waypoint xsi:type="dc:Point" x="1431" y="510" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1387" y="486.98705320489466" width="21" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNShape id="ExclusiveGateway_1gn5lab_di" bpmnElement="ExclusiveGateway_1gn5lab" isMarkerVisible="true"> - <dc:Bounds x="601.1076011846002" y="785" width="50" height="50" /> + <bpmndi:BPMNEdge id="SequenceFlow_19ba94v_di" bpmnElement="SequenceFlow_19ba94v"> + <di:waypoint xsi:type="dc:Point" x="295" y="725" /> + <di:waypoint xsi:type="dc:Point" x="361" y="725" /> + <di:waypoint xsi:type="dc:Point" x="361" y="725" /> + <di:waypoint xsi:type="dc:Point" x="419" y="725" /> <bpmndi:BPMNLabel> - <dc:Bounds x="591" y="835" width="72" height="24" /> + <dc:Bounds x="376" y="725" width="0" height="0" /> </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ScriptTask_0rqgdju_di" bpmnElement="Task_0eae8go"> + <dc:Bounds x="195" y="685" width="100" height="80" /> </bpmndi:BPMNShape> - <bpmndi:BPMNEdge id="SequenceFlow_197t3qk_di" bpmnElement="SequenceFlow_197t3qk"> - <di:waypoint xsi:type="dc:Point" x="651.1076011846002" y="810" /> - <di:waypoint xsi:type="dc:Point" x="714" y="810" /> + <bpmndi:BPMNEdge id="SequenceFlow_1c022sy_di" bpmnElement="SequenceFlow_1c022sy"> + <di:waypoint xsi:type="dc:Point" x="1456" y="485" /> + <di:waypoint xsi:type="dc:Point" x="1456" y="355" /> + <di:waypoint xsi:type="dc:Point" x="1389" y="355" /> <bpmndi:BPMNLabel> - <dc:Bounds x="677" y="795" width="12" height="12" /> + <dc:Bounds x="1471" y="420" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNShape id="ExclusiveGateway_06mv93h_di" bpmnElement="ExclusiveGateway_06mv93h" isMarkerVisible="true"> - <dc:Bounds x="871" y="785" width="50" height="50" /> + <bpmndi:BPMNShape id="CallActivity_0tz2nj7_di" bpmnElement="Task_1dtbnuy"> + <dc:Bounds x="139" y="434" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="CallActivity_0m9b4r4_di" bpmnElement="Task_1fj63ov"> + <dc:Bounds x="425" y="434" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="CallActivity_1131t0j_di" bpmnElement="Task_1cfkcss"> + <dc:Bounds x="714" y="434" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="CallActivity_0x0eohw_di" bpmnElement="Task_1hdg951"> + <dc:Bounds x="712" y="685" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="CallActivity_1hv52rh_di" bpmnElement="Task_1ca5ctq"> + <dc:Bounds x="139" y="943" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="CallActivity_1wftk6z_di" bpmnElement="Task_1sove95"> + <dc:Bounds x="415" y="943" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateThrowEvent_09rkic6_di" bpmnElement="IntermediateThrowEvent_0wc37af"> + <dc:Bounds x="299" y="308" width="36" height="36" /> <bpmndi:BPMNLabel> - <dc:Bounds x="862" y="835" width="68" height="24" /> + <dc:Bounds x="282" y="351.616" width="69" height="24" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> - <bpmndi:BPMNEdge id="SequenceFlow_19lg15d_di" bpmnElement="SequenceFlow_19lg15d"> - <di:waypoint xsi:type="dc:Point" x="921" y="810" /> - <di:waypoint xsi:type="dc:Point" x="960" y="810" /> + <bpmndi:BPMNShape id="IntermediateThrowEvent_1mk2rqe_di" bpmnElement="IntermediateThrowEvent_1r18wa8"> + <dc:Bounds x="608" y="308" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="591" y="352" width="69" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1esmtgy_di" bpmnElement="SequenceFlow_1esmtgy"> + <di:waypoint xsi:type="dc:Point" x="317" y="262" /> + <di:waypoint xsi:type="dc:Point" x="317" y="308" /> <bpmndi:BPMNLabel> - <dc:Bounds x="935" y="795" width="12" height="12" /> + <dc:Bounds x="329" y="274" width="18" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNShape id="ExclusiveGateway_0l2z6wc_di" bpmnElement="ExclusiveGateway_0l2z6wc" isMarkerVisible="true"> - <dc:Bounds x="1105.1076011846003" y="785" width="50" height="50" /> + <bpmndi:BPMNEdge id="SequenceFlow_1jmzl1j_di" bpmnElement="SequenceFlow_1jmzl1j"> + <di:waypoint xsi:type="dc:Point" x="626" y="262" /> + <di:waypoint xsi:type="dc:Point" x="626" y="308" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1145" y="833" width="73" height="36" /> + <dc:Bounds x="631" y="275" width="18" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="IntermediateCatchEvent_0r5r5re_di" bpmnElement="IntermediateThrowEvent_0k7j3qf"> + <dc:Bounds x="457" y="308" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="432" y="344" width="85" height="24" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> - <bpmndi:BPMNEdge id="SequenceFlow_12mfil6_di" bpmnElement="SequenceFlow_12mfil6"> - <di:waypoint xsi:type="dc:Point" x="1060" y="810" /> - <di:waypoint xsi:type="dc:Point" x="1105" y="810" /> + <bpmndi:BPMNEdge id="SequenceFlow_1pj72fw_di" bpmnElement="SequenceFlow_1pj72fw"> + <di:waypoint xsi:type="dc:Point" x="475" y="308" /> + <di:waypoint xsi:type="dc:Point" x="475" y="277" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="490" y="292.5" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="IntermediateCatchEvent_04ceksx_di" bpmnElement="IntermediateThrowEvent_1urs7gm"> + <dc:Bounds x="746" y="308" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="720" y="344" width="88" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1lmijmb_di" bpmnElement="SequenceFlow_1lmijmb"> + <di:waypoint xsi:type="dc:Point" x="764" y="308" /> + <di:waypoint xsi:type="dc:Point" x="764" y="277" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="779" y="292.5" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="IntermediateThrowEvent_0rq7l0k_di" bpmnElement="IntermediateThrowEvent_0wx980v"> + <dc:Bounds x="878" y="308" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="861" y="344" width="69" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_010ynjs_di" bpmnElement="SequenceFlow_010ynjs"> + <di:waypoint xsi:type="dc:Point" x="896" y="262" /> + <di:waypoint xsi:type="dc:Point" x="896" y="308" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="902" y="275" width="18" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="IntermediateCatchEvent_0lpduhk_di" bpmnElement="IntermediateThrowEvent_1khl6dg"> + <dc:Bounds x="171" y="566" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="157" y="601.2375249500998" width="64" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateThrowEvent_1c2pwwh_di" bpmnElement="IntermediateThrowEvent_11rri8p"> + <dc:Bounds x="299" y="566" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="282" y="602" width="69" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateThrowEvent_0vz2acu_di" bpmnElement="IntermediateThrowEvent_0frizqo"> + <dc:Bounds x="608" y="566" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="591" y="602" width="69" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateThrowEvent_0tybfsi_di" bpmnElement="IntermediateThrowEvent_1gmhr39"> + <dc:Bounds x="878" y="566" width="36" height="36" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1083" y="785" width="0" height="0" /> + <dc:Bounds x="861" y="602" width="69" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateCatchEvent_1k86ayn_di" bpmnElement="IntermediateThrowEvent_1m2d0qt"> + <dc:Bounds x="457" y="566" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="449" y="602" width="51" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateCatchEvent_0apaw6k_di" bpmnElement="IntermediateThrowEvent_0p4hkug"> + <dc:Bounds x="746" y="566" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="733" y="602" width="62" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1qsxbp4_di" bpmnElement="SequenceFlow_1qsxbp4"> + <di:waypoint xsi:type="dc:Point" x="317" y="499" /> + <di:waypoint xsi:type="dc:Point" x="317" y="566" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="323" y="522.5" width="18" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_13yjc85_di" bpmnElement="SequenceFlow_13yjc85"> - <di:waypoint xsi:type="dc:Point" x="1155" y="810" /> - <di:waypoint xsi:type="dc:Point" x="1182" y="810" /> - <di:waypoint xsi:type="dc:Point" x="1182" y="550" /> + <bpmndi:BPMNEdge id="SequenceFlow_0qmpjgv_di" bpmnElement="SequenceFlow_0qmpjgv"> + <di:waypoint xsi:type="dc:Point" x="189" y="566" /> + <di:waypoint xsi:type="dc:Point" x="189" y="541" /> + <di:waypoint xsi:type="dc:Point" x="189" y="541" /> + <di:waypoint xsi:type="dc:Point" x="189" y="514" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1160" y="795" width="18" height="12" /> + <dc:Bounds x="204" y="541" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_0waedj5_di" bpmnElement="SequenceFlow_0waedj5"> - <di:waypoint xsi:type="dc:Point" x="317" y="785" /> - <di:waypoint xsi:type="dc:Point" x="317" y="711" /> - <di:waypoint xsi:type="dc:Point" x="1182" y="711" /> - <di:waypoint xsi:type="dc:Point" x="1182" y="550" /> + <bpmndi:BPMNEdge id="SequenceFlow_0tld38t_di" bpmnElement="SequenceFlow_0tld38t"> + <di:waypoint xsi:type="dc:Point" x="475" y="566" /> + <di:waypoint xsi:type="dc:Point" x="475" y="540" /> + <di:waypoint xsi:type="dc:Point" x="475" y="540" /> + <di:waypoint xsi:type="dc:Point" x="475" y="514" /> <bpmndi:BPMNLabel> - <dc:Bounds x="370" y="716" width="18" height="12" /> + <dc:Bounds x="490" y="540" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_1hg9c2l_di" bpmnElement="SequenceFlow_1hg9c2l"> - <di:waypoint xsi:type="dc:Point" x="626" y="785" /> - <di:waypoint xsi:type="dc:Point" x="626" y="714" /> - <di:waypoint xsi:type="dc:Point" x="1182" y="714" /> - <di:waypoint xsi:type="dc:Point" x="1182" y="550" /> + <bpmndi:BPMNEdge id="SequenceFlow_15bl7wd_di" bpmnElement="SequenceFlow_15bl7wd"> + <di:waypoint xsi:type="dc:Point" x="626" y="499" /> + <di:waypoint xsi:type="dc:Point" x="626" y="566" /> <bpmndi:BPMNLabel> - <dc:Bounds x="669" y="717" width="18" height="12" /> + <dc:Bounds x="632" y="522.5" width="18" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_0gej71y_di" bpmnElement="SequenceFlow_0gej71y"> - <di:waypoint xsi:type="dc:Point" x="896" y="785" /> - <di:waypoint xsi:type="dc:Point" x="896" y="720" /> - <di:waypoint xsi:type="dc:Point" x="1182" y="720" /> - <di:waypoint xsi:type="dc:Point" x="1182" y="550" /> + <bpmndi:BPMNEdge id="SequenceFlow_08dyt3l_di" bpmnElement="SequenceFlow_08dyt3l"> + <di:waypoint xsi:type="dc:Point" x="764" y="566" /> + <di:waypoint xsi:type="dc:Point" x="764" y="540" /> + <di:waypoint xsi:type="dc:Point" x="764" y="540" /> + <di:waypoint xsi:type="dc:Point" x="764" y="514" /> <bpmndi:BPMNLabel> - <dc:Bounds x="905" y="738" width="18" height="12" /> + <dc:Bounds x="779" y="540" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNShape id="ScriptTask_1lb0lk5_di" bpmnElement="Task_1tg549h"> - <dc:Bounds x="1438" y="333" width="100" height="80" /> + <bpmndi:BPMNEdge id="SequenceFlow_1m84lq5_di" bpmnElement="SequenceFlow_1m84lq5"> + <di:waypoint xsi:type="dc:Point" x="896" y="499" /> + <di:waypoint xsi:type="dc:Point" x="896" y="566" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="902" y="522.5" width="18" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="IntermediateCatchEvent_0v6yl7l_di" bpmnElement="IntermediateThrowEvent_1s7fnzf"> + <dc:Bounds x="227" y="819" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="203" y="854.0179640718563" width="84" height="36" /> + </bpmndi:BPMNLabel> </bpmndi:BPMNShape> - <bpmndi:BPMNShape id="ExclusiveGateway_1gmvi7n_di" bpmnElement="ExclusiveGateway_0xlxgl0" isMarkerVisible="true"> - <dc:Bounds x="1314" y="485" width="50" height="50" /> + <bpmndi:BPMNShape id="IntermediateThrowEvent_0jr8fuh_di" bpmnElement="IntermediateThrowEvent_1p2yktm"> + <dc:Bounds x="602" y="819" width="36" height="36" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1295" y="534.2201382033564" width="87" height="12" /> + <dc:Bounds x="585" y="855" width="69" height="24" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> - <bpmndi:BPMNShape id="ExclusiveGateway_0y82zzx_di" bpmnElement="ExclusiveGateway_0y82zzx" isMarkerVisible="true"> - <dc:Bounds x="1463" y="671" width="50" height="50" /> + <bpmndi:BPMNShape id="IntermediateCatchEvent_15k8xfs_di" bpmnElement="IntermediateThrowEvent_17j7yap"> + <dc:Bounds x="744" y="819" width="36" height="36" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1499" y="715" width="69" height="24" /> + <dc:Bounds x="730" y="855" width="63" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> - <bpmndi:BPMNEdge id="SequenceFlow_05gpym3_di" bpmnElement="SequenceFlow_05gpym3"> - <di:waypoint xsi:type="dc:Point" x="1339" y="535" /> - <di:waypoint xsi:type="dc:Point" x="1339" y="648" /> - <di:waypoint xsi:type="dc:Point" x="1490" y="648" /> - <di:waypoint xsi:type="dc:Point" x="1489" y="672" /> + <bpmndi:BPMNShape id="IntermediateThrowEvent_1kue0lc_di" bpmnElement="IntermediateThrowEvent_1gjzx99"> + <dc:Bounds x="883" y="819" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="866" y="855" width="69" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1hldqvv_di" bpmnElement="SequenceFlow_1hldqvv"> + <di:waypoint xsi:type="dc:Point" x="245" y="819" /> + <di:waypoint xsi:type="dc:Point" x="245" y="765" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1404" y="633" width="21" height="12" /> + <dc:Bounds x="260" y="792" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_1sla5dr_di" bpmnElement="SequenceFlow_1sla5dr"> - <di:waypoint xsi:type="dc:Point" x="1463" y="696" /> - <di:waypoint xsi:type="dc:Point" x="440" y="696" /> - <di:waypoint xsi:type="dc:Point" x="440" y="467" /> + <bpmndi:BPMNEdge id="SequenceFlow_0fog99f_di" bpmnElement="SequenceFlow_0fog99f"> + <di:waypoint xsi:type="dc:Point" x="620" y="750" /> + <di:waypoint xsi:type="dc:Point" x="620" y="819" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1228" y="699" width="85" height="24" /> + <dc:Bounds x="626" y="784.5" width="18" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_0iektwg_di" bpmnElement="SequenceFlow_0iektwg"> - <di:waypoint xsi:type="dc:Point" x="1467" y="692" /> - <di:waypoint xsi:type="dc:Point" x="1323" y="667" /> - <di:waypoint xsi:type="dc:Point" x="764" y="667" /> - <di:waypoint xsi:type="dc:Point" x="764" y="467" /> + <bpmndi:BPMNEdge id="SequenceFlow_0ye8oij_di" bpmnElement="SequenceFlow_0ye8oij"> + <di:waypoint xsi:type="dc:Point" x="762" y="819" /> + <di:waypoint xsi:type="dc:Point" x="762" y="765" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1214" y="631" width="87" height="24" /> + <dc:Bounds x="777" y="792" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_1ttepat_di" bpmnElement="SequenceFlow_1ttepat"> - <di:waypoint xsi:type="dc:Point" x="1468" y="701" /> - <di:waypoint xsi:type="dc:Point" x="1346" y="735" /> - <di:waypoint xsi:type="dc:Point" x="243" y="735" /> - <di:waypoint xsi:type="dc:Point" x="243" y="639" /> + <bpmndi:BPMNEdge id="SequenceFlow_12g63pl_di" bpmnElement="SequenceFlow_12g63pl"> + <di:waypoint xsi:type="dc:Point" x="901" y="750" /> + <di:waypoint xsi:type="dc:Point" x="901" y="819" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1233" y="743" width="85" height="24" /> + <dc:Bounds x="907" y="784.5" width="18" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_1hx1ur7_di" bpmnElement="SequenceFlow_1hx1ur7"> - <di:waypoint xsi:type="dc:Point" x="1488" y="721" /> - <di:waypoint xsi:type="dc:Point" x="1488" y="789" /> - <di:waypoint xsi:type="dc:Point" x="1322" y="883" /> - <di:waypoint xsi:type="dc:Point" x="475" y="883" /> - <di:waypoint xsi:type="dc:Point" x="475" y="850" /> + <bpmndi:BPMNShape id="IntermediateCatchEvent_1ad2ab4_di" bpmnElement="IntermediateThrowEvent_03lb8ti"> + <dc:Bounds x="171" y="1083" width="36" height="36" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1316" y="811" width="85" height="24" /> + <dc:Bounds x="162" y="1118.566866267465" width="54" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateThrowEvent_1bj88jr_di" bpmnElement="IntermediateThrowEvent_1umr8ik"> + <dc:Bounds x="299" y="1083" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="282" y="1118.566866267465" width="69" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateCatchEvent_1a795jb_di" bpmnElement="IntermediateThrowEvent_044oajb"> + <dc:Bounds x="447" y="1083" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="428" y="1119" width="74" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateThrowEvent_0l74cfl_di" bpmnElement="IntermediateThrowEvent_1c1s0hp"> + <dc:Bounds x="608" y="1083" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="591" y="1119" width="69" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateCatchEvent_1vgxxf3_di" bpmnElement="IntermediateThrowEvent_11i6md0"> + <dc:Bounds x="750" y="1083" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="725" y="1119" width="85" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateThrowEvent_08t3cq7_di" bpmnElement="IntermediateThrowEvent_1d8c9i0"> + <dc:Bounds x="889" y="1083" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="872" y="1119" width="69" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_08kn9ok_di" bpmnElement="SequenceFlow_08kn9ok"> + <di:waypoint xsi:type="dc:Point" x="189" y="1083" /> + <di:waypoint xsi:type="dc:Point" x="189" y="1023" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="204" y="1043" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_0ukzynj_di" bpmnElement="SequenceFlow_0ukzynj"> - <di:waypoint xsi:type="dc:Point" x="1488" y="721" /> - <di:waypoint xsi:type="dc:Point" x="1488" y="818" /> - <di:waypoint xsi:type="dc:Point" x="1346" y="918" /> - <di:waypoint xsi:type="dc:Point" x="764" y="918" /> - <di:waypoint xsi:type="dc:Point" x="764" y="850" /> + <bpmndi:BPMNEdge id="SequenceFlow_0l83v2k_di" bpmnElement="SequenceFlow_0l83v2k"> + <di:waypoint xsi:type="dc:Point" x="317" y="1008" /> + <di:waypoint xsi:type="dc:Point" x="317" y="1083" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1374" y="853.0052048946286" width="85" height="24" /> + <dc:Bounds x="323" y="1035.5" width="18" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_1lsfn19_di" bpmnElement="SequenceFlow_1lsfn19"> - <di:waypoint xsi:type="dc:Point" x="1488" y="721" /> - <di:waypoint xsi:type="dc:Point" x="1488" y="858" /> - <di:waypoint xsi:type="dc:Point" x="1368" y="952" /> - <di:waypoint xsi:type="dc:Point" x="1010" y="952" /> - <di:waypoint xsi:type="dc:Point" x="1010" y="850" /> + <bpmndi:BPMNEdge id="SequenceFlow_02uiht9_di" bpmnElement="SequenceFlow_02uiht9"> + <di:waypoint xsi:type="dc:Point" x="465" y="1083" /> + <di:waypoint xsi:type="dc:Point" x="465" y="1023" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1402" y="937.143889853408" width="85" height="24" /> + <dc:Bounds x="480" y="1043" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_19ba94v_di" bpmnElement="SequenceFlow_19ba94v"> - <di:waypoint xsi:type="dc:Point" x="319" y="599" /> - <di:waypoint xsi:type="dc:Point" x="454" y="599" /> + <bpmndi:BPMNEdge id="SequenceFlow_07fhkt4_di" bpmnElement="SequenceFlow_07fhkt4"> + <di:waypoint xsi:type="dc:Point" x="626" y="1008" /> + <di:waypoint xsi:type="dc:Point" x="626" y="1083" /> <bpmndi:BPMNLabel> - <dc:Bounds x="387" y="584" width="0" height="0" /> + <dc:Bounds x="632" y="1035.5" width="18" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNShape id="ScriptTask_0rqgdju_di" bpmnElement="Task_0eae8go"> - <dc:Bounds x="219" y="559" width="100" height="80" /> + <bpmndi:BPMNEdge id="SequenceFlow_11p8elx_di" bpmnElement="SequenceFlow_11p8elx"> + <di:waypoint xsi:type="dc:Point" x="768" y="1083" /> + <di:waypoint xsi:type="dc:Point" x="768" y="1023" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="783" y="1043" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_0p94lgv_di" bpmnElement="SequenceFlow_0p94lgv"> + <di:waypoint xsi:type="dc:Point" x="907" y="1008" /> + <di:waypoint xsi:type="dc:Point" x="907" y="1083" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="913" y="1035.5" width="18" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_1dqbqqx_di" bpmnElement="SequenceFlow_1dqbqqx"> + <di:waypoint xsi:type="dc:Point" x="181" y="1320" /> + <di:waypoint xsi:type="dc:Point" x="182" y="1280" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="182" y="1285" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="IntermediateCatchEvent_11t1f0p_di" bpmnElement="IntermediateThrowEvent_0xv558x"> + <dc:Bounds x="163" y="1320" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="145" y="1355.045908183633" width="72" height="24" /> + </bpmndi:BPMNLabel> </bpmndi:BPMNShape> - <bpmndi:BPMNEdge id="SequenceFlow_0fxuur5_di" bpmnElement="SequenceFlow_0fxuur5"> - <di:waypoint xsi:type="dc:Point" x="1505" y="688" /> - <di:waypoint xsi:type="dc:Point" x="1700" y="587" /> - <di:waypoint xsi:type="dc:Point" x="1700" y="307" /> - <di:waypoint xsi:type="dc:Point" x="475" y="307" /> - <di:waypoint xsi:type="dc:Point" x="475" y="277" /> + <bpmndi:BPMNShape id="IntermediateCatchEvent_0rgn1jk_di" bpmnElement="IntermediateThrowEvent_0hljxy3"> + <dc:Bounds x="1051" y="492" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1034" y="528" width="69" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1nplvhi_di" bpmnElement="SequenceFlow_1nplvhi"> + <di:waypoint xsi:type="dc:Point" x="1087" y="510" /> + <di:waypoint xsi:type="dc:Point" x="1132" y="510" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1563" y="581.1817056243242" width="88" height="36" /> + <dc:Bounds x="1110" y="485" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_1wax44p_di" bpmnElement="SequenceFlow_1wax44p"> - <di:waypoint xsi:type="dc:Point" x="1507" y="690" /> - <di:waypoint xsi:type="dc:Point" x="1804" y="594" /> - <di:waypoint xsi:type="dc:Point" x="1804" y="307" /> - <di:waypoint xsi:type="dc:Point" x="743" y="307" /> - <di:waypoint xsi:type="dc:Point" x="743" y="277" /> + <bpmndi:BPMNEdge id="SequenceFlow_0tqrgop_di" bpmnElement="SequenceFlow_0tqrgop"> + <di:waypoint xsi:type="dc:Point" x="1462" y="491" /> + <di:waypoint xsi:type="dc:Point" x="1523" y="299" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1671" y="596.5" width="81" height="24" /> + <dc:Bounds x="1493" y="380" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_1nlqlwn_di" bpmnElement="SequenceFlow_1nlqlwn"> - <di:waypoint xsi:type="dc:Point" x="1510" y="693" /> - <di:waypoint xsi:type="dc:Point" x="1904" y="635" /> - <di:waypoint xsi:type="dc:Point" x="1904" y="307" /> - <di:waypoint xsi:type="dc:Point" x="175" y="307" /> - <di:waypoint xsi:type="dc:Point" x="175" y="387" /> + <bpmndi:BPMNEdge id="SequenceFlow_126nlmw_di" bpmnElement="SequenceFlow_126nlmw"> + <di:waypoint xsi:type="dc:Point" x="1466" y="495" /> + <di:waypoint xsi:type="dc:Point" x="1569" y="327" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1762" y="612.956397371246" width="80" height="24" /> + <dc:Bounds x="1518" y="396" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_1c022sy_di" bpmnElement="SequenceFlow_1c022sy"> - <di:waypoint xsi:type="dc:Point" x="1499" y="682" /> - <di:waypoint xsi:type="dc:Point" x="1657" y="478" /> - <di:waypoint xsi:type="dc:Point" x="1657" y="373" /> - <di:waypoint xsi:type="dc:Point" x="1538" y="373" /> + <bpmndi:BPMNEdge id="SequenceFlow_0mw3mwl_di" bpmnElement="SequenceFlow_0mw3mwl"> + <di:waypoint xsi:type="dc:Point" x="1469" y="498" /> + <di:waypoint xsi:type="dc:Point" x="1614" y="360" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1542" y="414" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_13md9cw_di" bpmnElement="SequenceFlow_13md9cw"> + <di:waypoint xsi:type="dc:Point" x="1472" y="501" /> + <di:waypoint xsi:type="dc:Point" x="1652" y="403" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1562" y="437" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_0xylem3_di" bpmnElement="SequenceFlow_0xylem3"> + <di:waypoint xsi:type="dc:Point" x="1476" y="505" /> + <di:waypoint xsi:type="dc:Point" x="1682" y="451" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1579" y="463" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_1c5mxd5_di" bpmnElement="SequenceFlow_1c5mxd5"> + <di:waypoint xsi:type="dc:Point" x="1481" y="510" /> + <di:waypoint xsi:type="dc:Point" x="1697" y="510" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1589" y="495" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_0u8hiu2_di" bpmnElement="SequenceFlow_0u8hiu2"> + <di:waypoint xsi:type="dc:Point" x="1477" y="514" /> + <di:waypoint xsi:type="dc:Point" x="1682" y="559" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1580" y="521.5" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_0fs7ay9_di" bpmnElement="SequenceFlow_0fs7ay9"> + <di:waypoint xsi:type="dc:Point" x="1473" y="518" /> + <di:waypoint xsi:type="dc:Point" x="1652" y="610" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1563" y="549" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_00qwx4v_di" bpmnElement="SequenceFlow_00qwx4v"> + <di:waypoint xsi:type="dc:Point" x="1469" y="522" /> + <di:waypoint xsi:type="dc:Point" x="1615" y="661" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1542" y="576.5" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_14s8ji9_di" bpmnElement="SequenceFlow_14s8ji9"> + <di:waypoint xsi:type="dc:Point" x="1466" y="525" /> + <di:waypoint xsi:type="dc:Point" x="1570" y="692" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1518" y="593.5" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_0kricor_di" bpmnElement="SequenceFlow_0kricor"> + <di:waypoint xsi:type="dc:Point" x="1462" y="529" /> + <di:waypoint xsi:type="dc:Point" x="1524" y="722" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1493" y="610.5" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="IntermediateThrowEvent_11fq8y0_di" bpmnElement="IntermediateThrowEvent_08j8zjs"> + <dc:Bounds x="1511" y="265" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1486" y="233.41716566866268" width="85" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateThrowEvent_0s02puh_di" bpmnElement="IntermediateThrowEvent_0tj8iiy"> + <dc:Bounds x="1561" y="294" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1561" y="259.4171656686627" width="88" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateThrowEvent_0jpplot_di" bpmnElement="IntermediateThrowEvent_0oeqjo1"> + <dc:Bounds x="1609" y="330" width="36" height="36" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1672" y="425.5" width="0" height="0" /> + <dc:Bounds x="1625" y="306.4171656686627" width="64" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateThrowEvent_002ei8c_di" bpmnElement="IntermediateThrowEvent_1939dn7"> + <dc:Bounds x="1650" y="377" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1689" y="354.4171656686627" width="51" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateThrowEvent_0mfh44i_di" bpmnElement="IntermediateThrowEvent_1rn3nlo"> + <dc:Bounds x="1681" y="429" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1724" y="427.4171656686627" width="62" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateThrowEvent_0nuhjay_di" bpmnElement="IntermediateThrowEvent_0weaigg"> + <dc:Bounds x="1697" y="493" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1744" y="492.4171656686626" width="84" height="36" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateThrowEvent_178560e_di" bpmnElement="IntermediateThrowEvent_1q8mns4"> + <dc:Bounds x="1681" y="546" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1730" y="558.2894211576846" width="63" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateThrowEvent_1iiwg3y_di" bpmnElement="IntermediateThrowEvent_16kgzdv"> + <dc:Bounds x="1650" y="601" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1698" y="607.2894211576846" width="54" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateThrowEvent_0q4aaqn_di" bpmnElement="IntermediateThrowEvent_18v3win"> + <dc:Bounds x="1609" y="656" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1654" y="679.2894211576846" width="74" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateThrowEvent_0x5j21r_di" bpmnElement="IntermediateThrowEvent_0kypyu0"> + <dc:Bounds x="1562" y="689" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1595" y="727.2894211576846" width="85" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateThrowEvent_130x96w_di" bpmnElement="IntermediateThrowEvent_024m4nk"> + <dc:Bounds x="1511" y="721" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1507" y="763.2894211576846" width="72" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_178fxkj_di" bpmnElement="SequenceFlow_178fxkj"> + <di:waypoint xsi:type="dc:Point" x="971" y="90" /> + <di:waypoint xsi:type="dc:Point" x="982" y="90" /> + <di:waypoint xsi:type="dc:Point" x="982" y="156" /> + <di:waypoint xsi:type="dc:Point" x="103" y="156" /> + <di:waypoint xsi:type="dc:Point" x="103" y="237" /> + <di:waypoint xsi:type="dc:Point" x="131" y="237" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="543" y="141" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ScriptTask_0d7vlr8_di" bpmnElement="Task_155eyrq"> + <dc:Bounds x="871" y="50" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_0a0lfh8_di" bpmnElement="SequenceFlow_0a0lfh8"> + <di:waypoint xsi:type="dc:Point" x="320" y="1576" /> + <di:waypoint xsi:type="dc:Point" x="353" y="1576" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="337" y="1561" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_0r0o5yt_di" bpmnElement="SequenceFlow_0r0o5yt"> + <di:waypoint xsi:type="dc:Point" x="453" y="1576" /> + <di:waypoint xsi:type="dc:Point" x="490" y="1576" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="472" y="1561" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_0slcwxc_di" bpmnElement="SequenceFlow_0slcwxc"> + <di:waypoint xsi:type="dc:Point" x="590" y="1576" /> + <di:waypoint xsi:type="dc:Point" x="621" y="1576" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="606" y="1561" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ScriptTask_1gdinh5_di" bpmnElement="Task_07rej8l"> + <dc:Bounds x="220" y="1536" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ScriptTask_0l1xjdz_di" bpmnElement="Task_16v4gow"> + <dc:Bounds x="490" y="1536" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="CallActivity_1e4qhkx_di" bpmnElement="Task_18twhln"> + <dc:Bounds x="353" y="1536" width="100" height="80" /> + </bpmndi:BPMNShape> </bpmndi:BPMNPlane> </bpmndi:BPMNDiagram> </bpmn2:definitions> diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/process/VnfConfigUpdate.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/VnfConfigUpdate.bpmn new file mode 100644 index 0000000000..5915b9b592 --- /dev/null +++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/VnfConfigUpdate.bpmn @@ -0,0 +1,1631 @@ +<?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="_F0omAMXGEeW834CKd-K10Q" targetNamespace="http://camunda.org/schema/1.0/bpmn" exporter="Camunda Modeler" exporterVersion="1.4.0" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd"> + <bpmn2:process id="VnfConfigUpdate" name="VnfConfigUpdate" isExecutable="true"> + <bpmn2:scriptTask id="ScriptTask_1" name="Send Synch Response" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_5</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_0y0jt4l</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def uvfm = new VnfConfigUpdate() +uvfm.sendSynchResponse(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_2" name="" sourceRef="Task_1rxiqe1" targetRef="ExclusiveGateway_045e1uz" /> + <bpmn2:scriptTask id="PreProcessRequest" name="Pre-Process Request" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_4</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_5</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def uvfm = new VnfConfigUpdate() +uvfm.preProcessRequest(execution) +]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_5" name="" sourceRef="PreProcessRequest" targetRef="ScriptTask_1" /> + <bpmn2:callActivity id="CallActivity_1" name="Completion Handler" calledElement="CompleteMsoProcess"> + <bpmn2:extensionElements> + <camunda:in source="CompletionHandlerRequest" target="CompleteMsoProcessRequest" /> + <camunda:in source="mso-request-id" target="mso-request-id" /> + <camunda:in source="mso-service-instance-id" target="mso-service-instance-id" /> + <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" /> + </bpmn2:extensionElements> + <bpmn2:incoming>SequenceFlow_17</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_14</bpmn2:outgoing> + </bpmn2:callActivity> + <bpmn2:sequenceFlow id="SequenceFlow_14" name="" sourceRef="CallActivity_1" targetRef="ScriptTask_4" /> + <bpmn2:endEvent id="EndEvent_1" name="TheEnd"> + <bpmn2:incoming>SequenceFlow_6</bpmn2:incoming> + <bpmn2:terminateEventDefinition id="_TerminateEventDefinition_5" /> + </bpmn2:endEvent> + <bpmn2:scriptTask id="ScriptTask_4" name="Set Success Indicator" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_14</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_6</bpmn2:outgoing> + <bpmn2:script><![CDATA[// The following variable is checked by the unit test +execution.setVariable("VnfConfigUpdateSuccessIndicator", true)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_6" name="" sourceRef="ScriptTask_4" targetRef="EndEvent_1" /> + <bpmn2:scriptTask id="ScriptTask_10" name="Completion Handler (prep)" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_3</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_07uuj2d</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_17</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def uvfm = new VnfConfigUpdate() +uvfm.completionHandlerPrep(execution, 'CompletionHandlerRequest') +]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_17" name="" sourceRef="ScriptTask_10" targetRef="CallActivity_1" /> + <bpmn2:subProcess id="SubProcess_1" name="Error Handler" triggeredByEvent="true"> + <bpmn2:startEvent id="StartEvent_3" name="Catch All Errors"> + <bpmn2:outgoing>SequenceFlow_1</bpmn2:outgoing> + <bpmn2:errorEventDefinition id="ErrorEventDefinition_1" /> + </bpmn2:startEvent> + <bpmn2:sequenceFlow id="SequenceFlow_1" name="" sourceRef="StartEvent_3" targetRef="Task_1tx7e9s" /> + <bpmn2:scriptTask id="ScriptTask_3" name="Fallout Handler (prep)" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_0xt2xvx</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_7</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def uvfm = new VnfConfigUpdate() +uvfm.falloutHandlerPrep(execution, 'FalloutHandlerRequest') +]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_7" sourceRef="ScriptTask_3" targetRef="CallActivity_2" /> + <bpmn2:callActivity id="CallActivity_2" name="Fallout Handler" calledElement="FalloutHandler"> + <bpmn2:extensionElements> + <camunda:in source="FalloutHandlerRequest" target="FalloutHandlerRequest" /> + <camunda:in source="mso-request-id" target="mso-request-id" /> + <camunda:in source="mso-service-instance-id" target="mso-service-instance-id" /> + <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" /> + </bpmn2:extensionElements> + <bpmn2:incoming>SequenceFlow_7</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_19</bpmn2:outgoing> + </bpmn2:callActivity> + <bpmn2:endEvent id="EndEvent_2"> + <bpmn2:incoming>SequenceFlow_19</bpmn2:incoming> + <bpmn2:terminateEventDefinition id="TerminateEventDefinition_1" /> + </bpmn2:endEvent> + <bpmn2:sequenceFlow id="SequenceFlow_19" name="" sourceRef="CallActivity_2" targetRef="EndEvent_2" /> + <bpmn2:sequenceFlow id="SequenceFlow_1vxpbd0" sourceRef="Task_1tx7e9s" targetRef="Task_02avn81" /> + <bpmn2:sequenceFlow id="SequenceFlow_03ayqeh" sourceRef="Task_02avn81" targetRef="Task_0b707rs" /> + <bpmn2:sequenceFlow id="SequenceFlow_0xt2xvx" sourceRef="Task_0b707rs" targetRef="ScriptTask_3" /> + <bpmn2:scriptTask id="Task_1tx7e9s" name="PreProcess Rollback" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_1</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_1vxpbd0</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def uvfm = new VnfInPlaceUpdate() +uvfm.preProcessRollback(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:scriptTask id="Task_0b707rs" name="PostProcess Rollback" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_03ayqeh</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_0xt2xvx</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def uvfm = new VnfInPlaceUpdate() +uvfm.postProcessRollback(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:callActivity id="Task_02avn81" name="Rollback Processing" calledElement="RollbackVnf"> + <bpmn2:extensionElements> + <camunda:in source="msoRequestId" target="msoRequestId" /> + <camunda:in source="vnfId" target="vnfId" /> + <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" /> + <camunda:in source="rollbackSetClosedLoopDisabledFlag" target="rollbackSetClosedLoopDisabledFlag" /> + <camunda:in source="rollbackSetVnfInMaintenanceFlag" target="rollbackSetVnfInMaintenanceFlag" /> + <camunda:in source="rollbackVnfStop" target="rollbackVnfStop" /> + <camunda:in source="rollbackVnfLock" target="rollbackVnfLock" /> + <camunda:in source="errorCode" target="errorCode" /> + <camunda:in source="rollbackQuiesceTraffic" target="rollbackQuiesceTraffic" /> + <camunda:out source="rollbackSuccessful" target="rollbackSuccessful" /> + </bpmn2:extensionElements> + <bpmn2:incoming>SequenceFlow_1vxpbd0</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_03ayqeh</bpmn2:outgoing> + </bpmn2:callActivity> + </bpmn2:subProcess> + <bpmn2:endEvent id="EndEvent_3"> + <bpmn2:incoming>SequenceFlow_12</bpmn2:incoming> + <bpmn2:terminateEventDefinition id="TerminateEventDefinition_2" /> + </bpmn2:endEvent> + <bpmn2:boundaryEvent id="BoundaryEvent_1" name="" attachedToRef="SubProcess_1"> + <bpmn2:outgoing>SequenceFlow_12</bpmn2:outgoing> + <bpmn2:errorEventDefinition id="ErrorEventDefinition_2" /> + </bpmn2:boundaryEvent> + <bpmn2:sequenceFlow id="SequenceFlow_12" name="" sourceRef="BoundaryEvent_1" targetRef="EndEvent_3" /> + <bpmn2:startEvent id="StartEvent_1" name="Start"> + <bpmn2:outgoing>SequenceFlow_4</bpmn2:outgoing> + </bpmn2:startEvent> + <bpmn2:sequenceFlow id="SequenceFlow_4" name="" sourceRef="StartEvent_1" targetRef="PreProcessRequest" /> + <bpmn2:sequenceFlow id="SequenceFlow_3" name="no" sourceRef="ExclusiveGateway_18j1ow5" targetRef="ScriptTask_10" /> + <bpmn2:sequenceFlow id="SequenceFlow_053qjfy" sourceRef="Task_1opcb4j" targetRef="Task_0vy2zge" /> + <bpmn2:scriptTask id="Task_1opcb4j" name="Query A&AI for VNF" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_0y0jt4l</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_053qjfy</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def uvfm = new VnfConfigUpdate() +uvfm.queryAAIForVnf(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_0y0jt4l" sourceRef="ScriptTask_1" targetRef="Task_1opcb4j" /> + <bpmn2:scriptTask id="Task_1rxiqe1" name="Check If VNF Is In Maintenance in A&AI" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_16mo99z</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_09lrk4q</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_2</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def uvfm = new VnfConfigUpdate() +uvfm.checkIfVnfInMaintInAAI(execution) +]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_0usxnlk" sourceRef="Task_0vy2zge" targetRef="ExclusiveGateway_0q323wc" /> + <bpmn2:scriptTask id="Task_0ap39ka" name="Set VNF inMaintenance Flag in A&AI" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_0baosqi</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_1eezqx8</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_0k3fx7p</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def uvfm = new VnfConfigUpdate() +uvfm.setVnfInMaintFlagInAAI(execution, true) +]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:scriptTask id="Task_1drglpt" name="Unset VNF In Maintenance Flag in A&AI" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_16ff86u</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_08m0j98</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_12mfil6</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def uvfm = new VnfConfigUpdate() +uvfm.setVnfInMaintFlagInAAI(execution, false) +]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:scriptTask id="Task_0vy2zge" name="Check If Physical Servers Are Locked in A&AI" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_053qjfy</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_179tyul</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_0usxnlk</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def uvfm = new VnfConfigUpdate() +uvfm.checkIfPserversInMaintInAAI(execution) +]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:exclusiveGateway id="ExclusiveGateway_0q323wc" name="Error on PServers Check?" default="SequenceFlow_16mo99z"> + <bpmn2:incoming>SequenceFlow_0usxnlk</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_16mo99z</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_06ev8or</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:sequenceFlow id="SequenceFlow_16mo99z" name="no" sourceRef="ExclusiveGateway_0q323wc" targetRef="Task_1rxiqe1" /> + <bpmn2:exclusiveGateway id="ExclusiveGateway_045e1uz" name="Error On inMaintenance Check?" default="SequenceFlow_0baosqi"> + <bpmn2:incoming>SequenceFlow_2</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_0baosqi</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_1cdfjed</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:sequenceFlow id="SequenceFlow_0baosqi" name="no" sourceRef="ExclusiveGateway_045e1uz" targetRef="Task_0ap39ka" /> + <bpmn2:callActivity id="Task_0q5cdit" name="Rainy Day Handler" calledElement="RainyDayHandler"> + <bpmn2:extensionElements> + <camunda:in source="msoRequestId" target="msoRequestId" /> + <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" /> + <camunda:in source="serviceType" target="serviceType" /> + <camunda:in source="nfRole" target="vnfType" /> + <camunda:in source="currentActivity" target="currentActivity" /> + <camunda:in source="workStep" target="workStep" /> + <camunda:in source="failedActivity" target="failedActivity" /> + <camunda:in source="errorCode" target="errorCode" /> + <camunda:in source="errorText" target="errorText" /> + <camunda:out source="WorkflowException" target="WorkflowException" /> + <camunda:out source="handlingCode" target="disposition" /> + <camunda:in source="requestorId" target="requestorId" /> + <camunda:out source="taskId" target="taskId" /> + <camunda:in source="vnfName" target="vnfName" /> + </bpmn2:extensionElements> + <bpmn2:incoming>SequenceFlow_0nob5cp</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_0v0u7mf</bpmn2:outgoing> + </bpmn2:callActivity> + <bpmn2:sequenceFlow id="SequenceFlow_0v0u7mf" sourceRef="Task_0q5cdit" targetRef="ExclusiveGateway_0xlxgl0" /> + <bpmn2:sequenceFlow id="SequenceFlow_0vpd06n" name="Abort" sourceRef="ExclusiveGateway_0xlxgl0" targetRef="Task_1tg549h"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("disposition") == "Abort"]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_1qr8msw" name="Rollback" sourceRef="ExclusiveGateway_0xlxgl0" targetRef="Task_0zbogrm"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("disposition") == "Rollback"]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:exclusiveGateway id="ExclusiveGateway_0ud5uwa" name="Eror on inMaintenance Set?" default="SequenceFlow_06ajc11"> + <bpmn2:incoming>SequenceFlow_0k3fx7p</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_17g62fl</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_06ajc11</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:sequenceFlow id="SequenceFlow_0k3fx7p" sourceRef="Task_0ap39ka" targetRef="ExclusiveGateway_0ud5uwa" /> + <bpmn2:exclusiveGateway id="ExclusiveGateway_1gn5lab" name="Error on Health PostCheck?" default="SequenceFlow_08m0j98"> + <bpmn2:incoming>SequenceFlow_1c79909</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_1urpp94</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_08m0j98</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:exclusiveGateway id="ExclusiveGateway_0l2z6wc" name="Erorr on inMaintenance Unset?" default="SequenceFlow_0u6ho2p"> + <bpmn2:incoming>SequenceFlow_12mfil6</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_0u6ho2p</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_0k3zxpd</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:sequenceFlow id="SequenceFlow_12mfil6" sourceRef="Task_1drglpt" targetRef="ExclusiveGateway_0l2z6wc" /> + <bpmn2:scriptTask id="Task_1tg549h" name="Abort Processing" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_0vpd06n</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_1c022sy</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_05omwbu</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_18lemf9</bpmn2:incoming> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def uvfm = new VnfConfigUpdate() +uvfm.abortProcessing(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:exclusiveGateway id="ExclusiveGateway_0xlxgl0" name="Check Disposition"> + <bpmn2:incoming>SequenceFlow_0v0u7mf</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_1qr8msw</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_05gpym3</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_0vpd06n</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_0rlmex7</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:exclusiveGateway id="ExclusiveGateway_0y82zzx" name="Next Step? " default="SequenceFlow_1c022sy"> + <bpmn2:incoming>SequenceFlow_05gpym3</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_19myx3o</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_1c022sy</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_0ueoglv</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_15fqlwe</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_0yuj0l5</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_1abb030</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_0ls3ej5</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_1ar6ikk</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_0t53vux</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_11ck4qe</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_16d2ln4</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_1quapjx</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_101n488</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:sequenceFlow id="SequenceFlow_05gpym3" name="Skip" sourceRef="ExclusiveGateway_0xlxgl0" targetRef="ExclusiveGateway_0y82zzx"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("disposition") == "Skip" ]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_1c022sy" sourceRef="ExclusiveGateway_0y82zzx" targetRef="Task_1tg549h" /> + <bpmn2:sequenceFlow id="SequenceFlow_06ev8or" name="yes" sourceRef="ExclusiveGateway_0q323wc" targetRef="IntermediateThrowEvent_0zmqbae"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0zmqbae" name="To Rainy Day Handling"> + <bpmn2:incoming>SequenceFlow_06ev8or</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To Rainy Day Handling" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:sequenceFlow id="SequenceFlow_0nob5cp" sourceRef="IntermediateThrowEvent_0z0t7rn" targetRef="Task_0q5cdit" /> + <bpmn2:sequenceFlow id="SequenceFlow_076leae" sourceRef="Task_0e313zv" targetRef="ExclusiveGateway_1rglbmr" /> + <bpmn2:scriptTask id="Task_0e313zv" name="Check If VF Closed Loop Disabled in A&AI" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_0zzwdwf</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_06ajc11</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_076leae</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def uvfm = new VnfConfigUpdate() +uvfm.checkIfClosedLoopDisabledInAAI(execution) +]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:exclusiveGateway id="ExclusiveGateway_1rglbmr" name="Error on isClosedLoopDisabled Check?" default="SequenceFlow_0du9273"> + <bpmn2:incoming>SequenceFlow_076leae</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_0du9273</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_0zh8r6j</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:sequenceFlow id="SequenceFlow_0du9273" name="no " sourceRef="ExclusiveGateway_1rglbmr" targetRef="Task_0n1d5f2" /> + <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_0z0t7rn" name="To Rainy Day Handling" camunda:asyncBefore="true"> + <bpmn2:outgoing>SequenceFlow_0nob5cp</bpmn2:outgoing> + <bpmn2:linkEventDefinition name="To Rainy Day Handling" /> + </bpmn2:intermediateCatchEvent> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1qkzlba" name="To Rainy Day Handling"> + <bpmn2:incoming>SequenceFlow_1cdfjed</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To Rainy Day Handling" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:sequenceFlow id="SequenceFlow_1cdfjed" name="yes" sourceRef="ExclusiveGateway_045e1uz" targetRef="IntermediateThrowEvent_1qkzlba"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0rnlvmz" name="To Rainy Day Handling"> + <bpmn2:incoming>SequenceFlow_17g62fl</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To Rainy Day Handling" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:sequenceFlow id="SequenceFlow_17g62fl" name="yes" sourceRef="ExclusiveGateway_0ud5uwa" targetRef="IntermediateThrowEvent_0rnlvmz"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0v69raz" name="To Rainy Day Handling"> + <bpmn2:incoming>SequenceFlow_0zh8r6j</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To Rainy Day Handling" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:sequenceFlow id="SequenceFlow_0zh8r6j" name="yes " sourceRef="ExclusiveGateway_1rglbmr" targetRef="IntermediateThrowEvent_0v69raz"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_15hlkuq" name="To inMaintenanceCheck"> + <bpmn2:outgoing>SequenceFlow_09lrk4q</bpmn2:outgoing> + <bpmn2:linkEventDefinition name="To inMaintenanceCheck" /> + </bpmn2:intermediateCatchEvent> + <bpmn2:sequenceFlow id="SequenceFlow_09lrk4q" sourceRef="IntermediateThrowEvent_15hlkuq" targetRef="Task_1rxiqe1" /> + <bpmn2:sequenceFlow id="SequenceFlow_1eezqx8" sourceRef="IntermediateThrowEvent_1lrkrsn" targetRef="Task_0ap39ka" /> + <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_1lrkrsn" name="To InMaintenance Set"> + <bpmn2:outgoing>SequenceFlow_1eezqx8</bpmn2:outgoing> + <bpmn2:linkEventDefinition name="To InMaintenance Set" /> + </bpmn2:intermediateCatchEvent> + <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_1wdxgjm" name="To check if Closed Loop Disabled"> + <bpmn2:outgoing>SequenceFlow_0zzwdwf</bpmn2:outgoing> + <bpmn2:linkEventDefinition name="To check if Closed Loop Disabled" /> + </bpmn2:intermediateCatchEvent> + <bpmn2:sequenceFlow id="SequenceFlow_0zzwdwf" sourceRef="IntermediateThrowEvent_1wdxgjm" targetRef="Task_0e313zv" /> + <bpmn2:sequenceFlow id="SequenceFlow_06ajc11" name="no" sourceRef="ExclusiveGateway_0ud5uwa" targetRef="Task_0e313zv" /> + <bpmn2:sequenceFlow id="SequenceFlow_179z9vl" sourceRef="Task_0n1d5f2" targetRef="ExclusiveGateway_148eo7w" /> + <bpmn2:scriptTask id="Task_0n1d5f2" name="Set VF Is Closed Loop Disabled Flag in A&AI" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_0du9273</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_032tm9y</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_179z9vl</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def uvfm = new VnfConfigUpdate() +uvfm.setClosedLoopDisabledInAAI(execution, true) +]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_032tm9y" sourceRef="IntermediateThrowEvent_1552q1o" targetRef="Task_0n1d5f2" /> + <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_1552q1o" name="To set Closed Loop Disabled"> + <bpmn2:outgoing>SequenceFlow_032tm9y</bpmn2:outgoing> + <bpmn2:linkEventDefinition name="To set Closed Loop Disabled" /> + </bpmn2:intermediateCatchEvent> + <bpmn2:exclusiveGateway id="ExclusiveGateway_148eo7w" name="Error on Set IsClosedLoopDisabled Flag in A&AI?" default="SequenceFlow_1cjiv6i"> + <bpmn2:incoming>SequenceFlow_179z9vl</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_1cjiv6i</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_1q3oxtf</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:sequenceFlow id="SequenceFlow_1cjiv6i" name="no " sourceRef="ExclusiveGateway_148eo7w" targetRef="Task_1hdg951" /> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_16r1jxm" name="To Rainy Day Handling"> + <bpmn2:incoming>SequenceFlow_1q3oxtf</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To Rainy Day Handling" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:sequenceFlow id="SequenceFlow_1q3oxtf" name="yes" sourceRef="ExclusiveGateway_148eo7w" targetRef="IntermediateThrowEvent_16r1jxm"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_02hirbh" name="To ConfigModify"> + <bpmn2:outgoing>SequenceFlow_1wqinjh</bpmn2:outgoing> + <bpmn2:linkEventDefinition name="To ConfigModify" /> + </bpmn2:intermediateCatchEvent> + <bpmn2:sequenceFlow id="SequenceFlow_1urpp94" name="yes" sourceRef="ExclusiveGateway_1gn5lab" targetRef="IntermediateThrowEvent_0vf0a28"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0vf0a28" name="To Rainy Day Handling"> + <bpmn2:incoming>SequenceFlow_1urpp94</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To Rainy Day Handling" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_0pk24h2" name="To Health PreCheck"> + <bpmn2:outgoing>SequenceFlow_1colra4</bpmn2:outgoing> + <bpmn2:linkEventDefinition name="To Health PreCheck" /> + </bpmn2:intermediateCatchEvent> + <bpmn2:exclusiveGateway id="ExclusiveGateway_18j1ow5" name="Error on Unset Closed Loop Disabled?" default="SequenceFlow_3"> + <bpmn2:incoming>SequenceFlow_1tzax6l</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_3</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_0w8mkkn</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:sequenceFlow id="SequenceFlow_0u6ho2p" name="no" sourceRef="ExclusiveGateway_0l2z6wc" targetRef="Task_0y1h8go" /> + <bpmn2:scriptTask id="Task_0y1h8go" name="Unset VF Is Closed Loop DisabledFlag in A&AI" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_0u6ho2p</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_09xxorv</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_1tzax6l</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def uvfm = new VnfConfigUpdate() +uvfm.setClosedLoopDisabledInAAI(execution, false) +]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_1tzax6l" sourceRef="Task_0y1h8go" targetRef="ExclusiveGateway_18j1ow5" /> + <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_0pmevcz" name="To unset inMaintenance"> + <bpmn2:outgoing>SequenceFlow_16ff86u</bpmn2:outgoing> + <bpmn2:linkEventDefinition name="To unset inMaintenance" /> + </bpmn2:intermediateCatchEvent> + <bpmn2:sequenceFlow id="SequenceFlow_16ff86u" sourceRef="IntermediateThrowEvent_0pmevcz" targetRef="Task_1drglpt" /> + <bpmn2:sequenceFlow id="SequenceFlow_0k3zxpd" name="yes" sourceRef="ExclusiveGateway_0l2z6wc" targetRef="IntermediateThrowEvent_1awckg7"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1awckg7" name="To Rainy Day Handling"> + <bpmn2:incoming>SequenceFlow_0k3zxpd</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To Rainy Day Handling" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_1b3smly" name="To unset Closed Loop Disabled"> + <bpmn2:outgoing>SequenceFlow_09xxorv</bpmn2:outgoing> + <bpmn2:linkEventDefinition name="To unset Closed Loop Disabled" /> + </bpmn2:intermediateCatchEvent> + <bpmn2:sequenceFlow id="SequenceFlow_09xxorv" sourceRef="IntermediateThrowEvent_1b3smly" targetRef="Task_0y1h8go" /> + <bpmn2:sequenceFlow id="SequenceFlow_0w8mkkn" name="yes" sourceRef="ExclusiveGateway_18j1ow5" targetRef="IntermediateThrowEvent_1cw8gsw"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1cw8gsw" name="To Rainy Day Handling"> + <bpmn2:incoming>SequenceFlow_0w8mkkn</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To Rainy Day Handling" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_0x846wp" name="To Completion Handler Prep"> + <bpmn2:outgoing>SequenceFlow_07uuj2d</bpmn2:outgoing> + <bpmn2:linkEventDefinition name="To Completion Handler Prep" /> + </bpmn2:intermediateCatchEvent> + <bpmn2:sequenceFlow id="SequenceFlow_07uuj2d" sourceRef="IntermediateThrowEvent_0x846wp" targetRef="ScriptTask_10" /> + <bpmn2:sequenceFlow id="SequenceFlow_0ueoglv" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_0rz6jh4"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[(execution.getVariable("disposition") == "Skip" && execution.getVariable("workStep") == "checkIfPserversInMaintInAAI") || +(execution.getVariable("disposition") == "Retry" && execution.getVariable("workStep") == "checkIfVnfInMaintInAAI")]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_15fqlwe" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_1wip9vc"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[(execution.getVariable("disposition") == "Skip" && execution.getVariable("workStep") == "checkIfVnfInMaintInAAI") || +(execution.getVariable("disposition") == "Retry" && execution.getVariable("workStep") == "setVnfInMaintFlagInAAI")]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_0yuj0l5" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_1hki8xj"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[(execution.getVariable("disposition") == "Skip" && execution.getVariable("workStep") == "setVnfInMaintFlagInAAI") || +(execution.getVariable("disposition") == "Retry" && execution.getVariable("workStep") == "checkClosedLoopDisabledFlagInAAI")]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_1abb030" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_1gfnt9b"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[(execution.getVariable("disposition") == "Skip" && execution.getVariable("workStep") == "checkClosedLoopDisabledFlagInAAI") || +(execution.getVariable("disposition") == "Retry" && execution.getVariable("workStep") == "setClosedLoopDisabledFlagInAAI")]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_0ls3ej5" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_1gzhs1a"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[(execution.getVariable("disposition") == "Skip" && execution.getVariable("workStep") == "setClosedLoopDisabledFlagInAAI") || +(execution.getVariable("disposition") == "Retry" && execution.getVariable("workStep") == "HealthCheck0")]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_1ar6ikk" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_1p9i2bi"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[(execution.getVariable("disposition") == "Skip" && execution.getVariable("workStep") == "ConfigModify") || +(execution.getVariable("disposition") == "Retry" && execution.getVariable("workStep") == "HealthCheck1")]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_0t53vux" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_1cp0hkt"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[(execution.getVariable("disposition") == "Skip" && execution.getVariable("workStep") == "HealthCheck1") || +(execution.getVariable("disposition") == "Retry" && execution.getVariable("workStep") == "unsetVnfInMaintFlagInAAI")]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_11ck4qe" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_184w0i8"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[(execution.getVariable("disposition") == "Skip" && execution.getVariable("workStep") == "unsetVnfInMaintFlagInAAI") || +(execution.getVariable("disposition") == "Retry" && execution.getVariable("workStep") == "unsetClosedLoopDisabledFlagInAAI")]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_16d2ln4" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_1u9f9kp"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[(execution.getVariable("disposition") == "Skip" && execution.getVariable("workStep") == "unsetClosedLoopDisabledFlagInAAI") || +(execution.getVariable("disposition") == "Retry" && execution.getVariable("workStep") == "completionHandlerPrep")]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0rz6jh4" name="To inMaintenanceCheck"> + <bpmn2:incoming>SequenceFlow_0ueoglv</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To inMaintenanceCheck" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1wip9vc" name="To InMaintenance Set"> + <bpmn2:incoming>SequenceFlow_15fqlwe</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To InMaintenance Set" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1hki8xj" name="To check if Closed Loop Disabled"> + <bpmn2:incoming>SequenceFlow_0yuj0l5</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To check if Closed Loop Disabled" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1gfnt9b" name="To set Closed Loop Disabled"> + <bpmn2:incoming>SequenceFlow_1abb030</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To set Closed Loop Disabled" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1gzhs1a" name="To Health PreCheck"> + <bpmn2:incoming>SequenceFlow_0ls3ej5</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To Health PreCheck" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0385ons" name="To ConfigModify"> + <bpmn2:incoming>SequenceFlow_1quapjx</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To ConfigModify" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:sequenceFlow id="SequenceFlow_1quapjx" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_0385ons"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[(execution.getVariable("disposition") == "Skip" && execution.getVariable("workStep") == "HealthCheck0") || +(execution.getVariable("disposition") == "Retry" && execution.getVariable("workStep") == "ConfigModify")]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1p9i2bi" name="To Health PostCheck"> + <bpmn2:incoming>SequenceFlow_1ar6ikk</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To Health PostCheck" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1cp0hkt" name="To unset inMaintenance"> + <bpmn2:incoming>SequenceFlow_0t53vux</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To unset inMaintenance" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_184w0i8" name="To unset Closed Loop Disabled"> + <bpmn2:incoming>SequenceFlow_11ck4qe</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To unset Closed Loop Disabled" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1u9f9kp" name="To Completion Handler Prep"> + <bpmn2:incoming>SequenceFlow_16d2ln4</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To Completion Handler Prep" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_18wrvcy" name="To check if Physical Servers Are Locked"> + <bpmn2:outgoing>SequenceFlow_179tyul</bpmn2:outgoing> + <bpmn2:linkEventDefinition name="To check if Physical Servers Are Locked" /> + </bpmn2:intermediateCatchEvent> + <bpmn2:sequenceFlow id="SequenceFlow_179tyul" sourceRef="IntermediateThrowEvent_18wrvcy" targetRef="Task_0vy2zge" /> + <bpmn2:sequenceFlow id="SequenceFlow_101n488" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_17k1fmk"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("disposition") == "Retry" && execution.getVariable("workStep") == "checkIfPserversInMaintInAAI"]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_17k1fmk" name="To check if Physical Servers Are Locked"> + <bpmn2:incoming>SequenceFlow_101n488</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To check if Physical Servers Are Locked" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:sequenceFlow id="SequenceFlow_1colra4" sourceRef="IntermediateThrowEvent_0pk24h2" targetRef="Task_1hdg951" /> + <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_0fhmhsk" name="To Health PostCheck"> + <bpmn2:outgoing>SequenceFlow_16igl7b</bpmn2:outgoing> + <bpmn2:linkEventDefinition name="To Health PostCheck" /> + </bpmn2:intermediateCatchEvent> + <bpmn2:sequenceFlow id="SequenceFlow_16igl7b" sourceRef="IntermediateThrowEvent_0fhmhsk" targetRef="Task_1ca5ctq" /> + <bpmn2:sequenceFlow id="SequenceFlow_1c79909" sourceRef="Task_1ca5ctq" targetRef="ExclusiveGateway_1gn5lab" /> + <bpmn2:exclusiveGateway id="ExclusiveGateway_16eos6z" name="Error on Health PreCheck?" default="SequenceFlow_188a7lk"> + <bpmn2:incoming>SequenceFlow_0wfzjs1</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_188a7lk</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_12konw1</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:exclusiveGateway id="ExclusiveGateway_1nettij" name="Error on ConfigModify?" default="SequenceFlow_0q1skau"> + <bpmn2:incoming>SequenceFlow_0lpreg4</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_0q1skau</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_1s3pbww</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:sequenceFlow id="SequenceFlow_0wfzjs1" sourceRef="Task_1hdg951" targetRef="ExclusiveGateway_16eos6z" /> + <bpmn2:sequenceFlow id="SequenceFlow_188a7lk" name="no" sourceRef="ExclusiveGateway_16eos6z" targetRef="Task_1fj63ov" /> + <bpmn2:sequenceFlow id="SequenceFlow_0lpreg4" sourceRef="Task_1fj63ov" targetRef="ExclusiveGateway_1nettij" /> + <bpmn2:sequenceFlow id="SequenceFlow_0q1skau" name="no" sourceRef="ExclusiveGateway_1nettij" targetRef="Task_1ca5ctq" /> + <bpmn2:sequenceFlow id="SequenceFlow_08m0j98" name="no" sourceRef="ExclusiveGateway_1gn5lab" targetRef="Task_1drglpt" /> + <bpmn2:sequenceFlow id="SequenceFlow_1wqinjh" sourceRef="IntermediateThrowEvent_02hirbh" targetRef="Task_1fj63ov" /> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0s8cdpt" name="To Rainy Day Handling"> + <bpmn2:incoming>SequenceFlow_12konw1</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To Rainy Day Handling" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:sequenceFlow id="SequenceFlow_12konw1" name="yes" sourceRef="ExclusiveGateway_16eos6z" targetRef="IntermediateThrowEvent_0s8cdpt"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0e2ibog" name="To Rainy Day Handling"> + <bpmn2:incoming>SequenceFlow_1s3pbww</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To Rainy Day Handling" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:sequenceFlow id="SequenceFlow_1s3pbww" name="yes" sourceRef="ExclusiveGateway_1nettij" targetRef="IntermediateThrowEvent_0e2ibog"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:callActivity id="Task_1hdg951" name="Call APP-C Health PreCheck" calledElement="AppCClient"> + <bpmn2:extensionElements> + <camunda:in source="msoRequestId" target="msoRequestId" /> + <camunda:in source="actionHealthCheck" target="action" /> + <camunda:in source="healthCheckIndex0" target="healthCheckIndex" /> + <camunda:in source="payload" target="payload" /> + <camunda:in source="vnfId" target="vnfId" /> + <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" /> + <camunda:out source="errorCode" target="errorCode" /> + <camunda:out source="errorText" target="errorText" /> + <camunda:out source="workStep" target="workStep" /> + <camunda:out source="failedActivity" target="failedActivity" /> + <camunda:in source="vnfName" target="vnfName" /> + <camunda:in source="vnfHostIpAddress" target="vnfHostIpAddress" /> + </bpmn2:extensionElements> + <bpmn2:incoming>SequenceFlow_1cjiv6i</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_1colra4</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_0wfzjs1</bpmn2:outgoing> + </bpmn2:callActivity> + <bpmn2:callActivity id="Task_1ca5ctq" name="Call APP-C Health PostCheck" calledElement="AppCClient"> + <bpmn2:extensionElements> + <camunda:in source="msoRequestId" target="msoRequestId" /> + <camunda:in source="actionHealthCheck" target="action" /> + <camunda:in source="healthCheckIndex1" target="healthCheckIndex" /> + <camunda:in source="payload" target="payload" /> + <camunda:in source="vnfId" target="vnfId" /> + <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" /> + <camunda:out source="errorCode" target="errorCode" /> + <camunda:out source="errorText" target="errorText" /> + <camunda:out source="workStep" target="workStep" /> + <camunda:out source="failedActivity" target="failedActivity" /> + <camunda:in source="vnfName" target="vnfName" /> + <camunda:in source="vnfHostIpAddress" target="vnfHostIpAddress" /> + </bpmn2:extensionElements> + <bpmn2:incoming>SequenceFlow_16igl7b</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_0q1skau</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_1c79909</bpmn2:outgoing> + </bpmn2:callActivity> + <bpmn2:callActivity id="Task_1fj63ov" name="Call APP-C ConfigModify" calledElement="AppCClient"> + <bpmn2:extensionElements> + <camunda:in source="msoRequestId" target="msoRequestId" /> + <camunda:in source="actionConfigModify" target="action" /> + <camunda:in source="payload" target="payload" /> + <camunda:in source="vnfId" target="vnfId" /> + <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" /> + <camunda:out source="errorCode" target="errorCode" /> + <camunda:out source="errorText" target="errorText" /> + <camunda:out source="workStep" target="workStep" /> + <camunda:out source="failedActivity" target="failedActivity" /> + </bpmn2:extensionElements> + <bpmn2:incoming>SequenceFlow_188a7lk</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_1wqinjh</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_0lpreg4</bpmn2:outgoing> + </bpmn2:callActivity> + <bpmn2:sequenceFlow id="SequenceFlow_0rlmex7" name="Retry" sourceRef="ExclusiveGateway_0xlxgl0" targetRef="Task_0em349i"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("disposition") == "Retry"]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:scriptTask id="Task_0em349i" name="Increment Retry Count" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_0rlmex7</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_1xwgemy</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def uvfm = new VnfConfigUpdate() +uvfm.incrementRetryCount(execution) +]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:exclusiveGateway id="ExclusiveGateway_0yu25qy" name="Retries Left?" default="SequenceFlow_05omwbu"> + <bpmn2:incoming>SequenceFlow_1nm4wr1</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_19myx3o</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_05omwbu</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:sequenceFlow id="SequenceFlow_19myx3o" name="yes" sourceRef="ExclusiveGateway_0yu25qy" targetRef="ExclusiveGateway_0y82zzx"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[String retryVariableName = execution.getVariable('retryCountVariableName') + +execution.getVariable(retryVariableName) < execution.getVariable("maxRetryCount")]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_05omwbu" name="no" sourceRef="ExclusiveGateway_0yu25qy" targetRef="Task_1tg549h" /> + <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_0u8jlsq" name="RetryTimer"> + <bpmn2:incoming>SequenceFlow_1xwgemy</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_1nm4wr1</bpmn2:outgoing> + <bpmn2:timerEventDefinition> + <bpmn2:timeDuration xsi:type="bpmn2:tFormalExpression">PT1M</bpmn2:timeDuration> + </bpmn2:timerEventDefinition> + </bpmn2:intermediateCatchEvent> + <bpmn2:sequenceFlow id="SequenceFlow_1xwgemy" sourceRef="Task_0em349i" targetRef="IntermediateThrowEvent_0u8jlsq" /> + <bpmn2:sequenceFlow id="SequenceFlow_1nm4wr1" sourceRef="IntermediateThrowEvent_0u8jlsq" targetRef="ExclusiveGateway_0yu25qy" /> + <bpmn2:callActivity id="Task_0zbogrm" name="Rollback Processing" calledElement="RollbackVnf"> + <bpmn2:extensionElements> + <camunda:in source="msoRequestId" target="msoRequestId" /> + <camunda:in source="vnfId" target="vnfId" /> + <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" /> + <camunda:in source="rollbackSetClosedLoopDisabledFlag" target="rollbackSetClosedLoopDisabledFlag" /> + <camunda:in source="rollbackSetVnfInMaintenanceFlag" target="rollbackSetVnfInMaintenanceFlag" /> + <camunda:in source="rollbackVnfStop" target="rollbackVnfStop" /> + <camunda:in source="rollbackVnfLock" target="rollbackVnfLock" /> + <camunda:in source="errorCode" target="errorCode" /> + <camunda:out source="rollbackSuccessful" target="rollbackSuccessful" /> + </bpmn2:extensionElements> + <bpmn2:incoming>SequenceFlow_1qr8msw</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_18lemf9</bpmn2:outgoing> + </bpmn2:callActivity> + <bpmn2:sequenceFlow id="SequenceFlow_18lemf9" sourceRef="Task_0zbogrm" targetRef="Task_1tg549h" /> + </bpmn2:process> + <bpmn2:error id="Error_1" name="MSOWorkflowException" errorCode="MSOWorkflowException" /> + <bpmndi:BPMNDiagram id="BPMNDiagram_1"> + <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="VnfConfigUpdate"> + <bpmndi:BPMNShape id="_BPMNShape_StartEvent_50" bpmnElement="StartEvent_1"> + <dc:Bounds x="97" y="72" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="103" y="113" width="23" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_EndEvent_125" bpmnElement="EndEvent_1"> + <dc:Bounds x="574" y="734" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="572" y="775" width="39" height="13" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_4" bpmnElement="SequenceFlow_4" sourceElement="_BPMNShape_StartEvent_50" targetElement="_BPMNShape_ScriptTask_124"> + <di:waypoint xsi:type="dc:Point" x="133" y="90" /> + <di:waypoint xsi:type="dc:Point" x="209" y="90" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="171" y="75" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_124" bpmnElement="PreProcessRequest"> + <dc:Bounds x="209" y="50" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_5" bpmnElement="SequenceFlow_5" sourceElement="_BPMNShape_ScriptTask_124" targetElement="_BPMNShape_ScriptTask_125"> + <di:waypoint xsi:type="dc:Point" x="309" y="90" /> + <di:waypoint xsi:type="dc:Point" x="373" y="90" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="341" y="75" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_125" bpmnElement="ScriptTask_1"> + <dc:Bounds x="373" y="50" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_2" bpmnElement="SequenceFlow_2" sourceElement="_BPMNShape_ScriptTask_125"> + <di:waypoint xsi:type="dc:Point" x="473" y="237" /> + <di:waypoint xsi:type="dc:Point" x="513" y="237" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="493" y="222" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_127" bpmnElement="ScriptTask_4"> + <dc:Bounds x="420" y="712" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_6" bpmnElement="SequenceFlow_6" sourceElement="_BPMNShape_ScriptTask_127" targetElement="_BPMNShape_EndEvent_125"> + <di:waypoint xsi:type="dc:Point" x="520" y="752" /> + <di:waypoint xsi:type="dc:Point" x="554" y="752" /> + <di:waypoint xsi:type="dc:Point" x="554" y="752" /> + <di:waypoint xsi:type="dc:Point" x="574" y="752" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="569" y="752" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_133" bpmnElement="ScriptTask_10"> + <dc:Bounds x="131" y="712" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_CallActivity_27" bpmnElement="CallActivity_1"> + <dc:Bounds x="274" y="712" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_17" bpmnElement="SequenceFlow_17" sourceElement="_BPMNShape_ScriptTask_133" targetElement="_BPMNShape_CallActivity_27"> + <di:waypoint xsi:type="dc:Point" x="231" y="752" /> + <di:waypoint xsi:type="dc:Point" x="253" y="752" /> + <di:waypoint xsi:type="dc:Point" x="253" y="752" /> + <di:waypoint xsi:type="dc:Point" x="274" y="752" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="268" y="752" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_SubProcess_17" bpmnElement="SubProcess_1" isExpanded="true"> + <dc:Bounds x="109" y="1075" width="1139" height="244" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_StartEvent_52" bpmnElement="StartEvent_3"> + <dc:Bounds x="173" y="1169" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="152" y="1210" width="78" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_136" bpmnElement="ScriptTask_3"> + <dc:Bounds x="795" y="1147" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_1" bpmnElement="SequenceFlow_1" sourceElement="_BPMNShape_StartEvent_52" targetElement="_BPMNShape_ScriptTask_136"> + <di:waypoint xsi:type="dc:Point" x="209" y="1187" /> + <di:waypoint xsi:type="dc:Point" x="265" y="1187" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="237" y="1172" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_7" bpmnElement="SequenceFlow_7" sourceElement="_BPMNShape_ScriptTask_136" targetElement="_BPMNShape_CallActivity_28"> + <di:waypoint xsi:type="dc:Point" x="895" y="1187" /> + <di:waypoint xsi:type="dc:Point" x="963" y="1187" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="911" y="1187" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_EndEvent_126" bpmnElement="EndEvent_2"> + <dc:Bounds x="1119" y="1169" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1137" y="1210" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_BoundaryEvent_43" bpmnElement="BoundaryEvent_1"> + <dc:Bounds x="1230" y="1170" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1248" y="1211" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_EndEvent_127" bpmnElement="EndEvent_3"> + <dc:Bounds x="1333" y="1169" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1351" y="1210" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_12" bpmnElement="SequenceFlow_12" sourceElement="_BPMNShape_BoundaryEvent_43" targetElement="_BPMNShape_EndEvent_127"> + <di:waypoint xsi:type="dc:Point" x="1266" y="1188" /> + <di:waypoint xsi:type="dc:Point" x="1333" y="1187" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1300" y="1172.5" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_CallActivity_28" bpmnElement="CallActivity_2"> + <dc:Bounds x="963" y="1147" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_14" bpmnElement="SequenceFlow_14" sourceElement="_BPMNShape_CallActivity_27" targetElement="_BPMNShape_ScriptTask_127"> + <di:waypoint xsi:type="dc:Point" x="374" y="752" /> + <di:waypoint xsi:type="dc:Point" x="397" y="752" /> + <di:waypoint xsi:type="dc:Point" x="397" y="752" /> + <di:waypoint xsi:type="dc:Point" x="420" y="752" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="412" y="752" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_19" bpmnElement="SequenceFlow_19" sourceElement="_BPMNShape_CallActivity_28" targetElement="_BPMNShape_EndEvent_126"> + <di:waypoint xsi:type="dc:Point" x="1063" y="1187" /> + <di:waypoint xsi:type="dc:Point" x="1119" y="1187" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="956" y="1247" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_3" bpmnElement="SequenceFlow_3" targetElement="_BPMNShape_ScriptTask_133"> + <di:waypoint xsi:type="dc:Point" x="1227" y="484" /> + <di:waypoint xsi:type="dc:Point" x="1293" y="484" /> + <di:waypoint xsi:type="dc:Point" x="1293" y="662" /> + <di:waypoint xsi:type="dc:Point" x="97" y="662" /> + <di:waypoint xsi:type="dc:Point" x="97" y="752" /> + <di:waypoint xsi:type="dc:Point" x="131" y="752" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1251" y="459" width="12" height="13" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_053qjfy_di" bpmnElement="SequenceFlow_053qjfy"> + <di:waypoint xsi:type="dc:Point" x="642" y="90" /> + <di:waypoint xsi:type="dc:Point" x="982" y="90" /> + <di:waypoint xsi:type="dc:Point" x="982" y="156" /> + <di:waypoint xsi:type="dc:Point" x="103" y="156" /> + <di:waypoint xsi:type="dc:Point" x="103" y="237" /> + <di:waypoint xsi:type="dc:Point" x="131" y="237" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="543" y="141" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ScriptTask_08xzuox_di" bpmnElement="Task_1opcb4j"> + <dc:Bounds x="542" y="50" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_0y0jt4l_di" bpmnElement="SequenceFlow_0y0jt4l"> + <di:waypoint xsi:type="dc:Point" x="473" y="90" /> + <di:waypoint xsi:type="dc:Point" x="542" y="90" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="508" y="75" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ScriptTask_19pf9z8_di" bpmnElement="Task_1rxiqe1"> + <dc:Bounds x="373" y="197" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_0usxnlk_di" bpmnElement="SequenceFlow_0usxnlk"> + <di:waypoint xsi:type="dc:Point" x="231" y="237" /> + <di:waypoint xsi:type="dc:Point" x="279" y="237" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="255" y="222" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ScriptTask_0wa4zya_di" bpmnElement="Task_0ap39ka"> + <dc:Bounds x="608" y="197" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ScriptTask_0sgm9bu_di" bpmnElement="Task_1drglpt"> + <dc:Bounds x="826" y="444" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ScriptTask_16jtt5t_di" bpmnElement="Task_0vy2zge"> + <dc:Bounds x="131" y="197" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ExclusiveGateway_0q323wc_di" bpmnElement="ExclusiveGateway_0q323wc" isMarkerVisible="true"> + <dc:Bounds x="279" y="212" width="50" height="50" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="260" y="173" width="87" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_16mo99z_di" bpmnElement="SequenceFlow_16mo99z"> + <di:waypoint xsi:type="dc:Point" x="329" y="237" /> + <di:waypoint xsi:type="dc:Point" x="373" y="237" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="345" y="213" width="12" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ExclusiveGateway_045e1uz_di" bpmnElement="ExclusiveGateway_045e1uz" isMarkerVisible="true"> + <dc:Bounds x="513" y="212" width="50" height="50" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="501" y="163" width="73" height="36" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_0baosqi_di" bpmnElement="SequenceFlow_0baosqi"> + <di:waypoint xsi:type="dc:Point" x="563" y="237" /> + <di:waypoint xsi:type="dc:Point" x="608" y="237" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="579" y="214" width="12" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="CallActivity_1k5n5d1_di" bpmnElement="Task_0q5cdit"> + <dc:Bounds x="1491" y="390" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_0v0u7mf_di" bpmnElement="SequenceFlow_0v0u7mf"> + <di:waypoint xsi:type="dc:Point" x="1591" y="430" /> + <di:waypoint xsi:type="dc:Point" x="1673" y="430" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1632" y="415" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_0vpd06n_di" bpmnElement="SequenceFlow_0vpd06n"> + <di:waypoint xsi:type="dc:Point" x="1698" y="405" /> + <di:waypoint xsi:type="dc:Point" x="1698" y="312" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1704" y="351" width="27" height="13" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_1qr8msw_di" bpmnElement="SequenceFlow_1qr8msw"> + <di:waypoint xsi:type="dc:Point" x="1698" y="455" /> + <di:waypoint xsi:type="dc:Point" x="1698" y="482" /> + <di:waypoint xsi:type="dc:Point" x="1698" y="482" /> + <di:waypoint xsi:type="dc:Point" x="1698" y="524" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1677" y="473" width="42" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ExclusiveGateway_0ud5uwa_di" bpmnElement="ExclusiveGateway_0ud5uwa" isMarkerVisible="true"> + <dc:Bounds x="735" y="212" width="50" height="50" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="731" y="166" width="73" height="36" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_0k3fx7p_di" bpmnElement="SequenceFlow_0k3fx7p"> + <di:waypoint xsi:type="dc:Point" x="708" y="237" /> + <di:waypoint xsi:type="dc:Point" x="735" y="237" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="722" y="222" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ExclusiveGateway_1gn5lab_di" bpmnElement="ExclusiveGateway_1gn5lab" isMarkerVisible="true"> + <dc:Bounds x="735" y="459" width="50" height="50" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="721" y="419" width="77" height="25" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ExclusiveGateway_0l2z6wc_di" bpmnElement="ExclusiveGateway_0l2z6wc" isMarkerVisible="true"> + <dc:Bounds x="963" y="459" width="50" height="50" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="951" y="412" width="73" height="37" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_12mfil6_di" bpmnElement="SequenceFlow_12mfil6"> + <di:waypoint xsi:type="dc:Point" x="926" y="484" /> + <di:waypoint xsi:type="dc:Point" x="963" y="484" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="945" y="469" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ScriptTask_1lb0lk5_di" bpmnElement="Task_1tg549h"> + <dc:Bounds x="1648" y="232" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ExclusiveGateway_1gmvi7n_di" bpmnElement="ExclusiveGateway_0xlxgl0" isMarkerVisible="true"> + <dc:Bounds x="1673" y="405" width="50" height="50" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1654" y="387" width="87" height="13" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ExclusiveGateway_0y82zzx_di" bpmnElement="ExclusiveGateway_0y82zzx" isMarkerVisible="true"> + <dc:Bounds x="1967" y="405" width="50" height="50" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1927" y="397" width="54" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_05gpym3_di" bpmnElement="SequenceFlow_05gpym3"> + <di:waypoint xsi:type="dc:Point" x="1723" y="430" /> + <di:waypoint xsi:type="dc:Point" x="1967" y="430" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1813" y="436" width="21" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_1c022sy_di" bpmnElement="SequenceFlow_1c022sy"> + <di:waypoint xsi:type="dc:Point" x="1992" y="405" /> + <di:waypoint xsi:type="dc:Point" x="1992" y="272" /> + <di:waypoint xsi:type="dc:Point" x="1748" y="272" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="2007" y="338.5" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_06ev8or_di" bpmnElement="SequenceFlow_06ev8or"> + <di:waypoint xsi:type="dc:Point" x="304" y="262" /> + <di:waypoint xsi:type="dc:Point" x="304" y="288" /> + <di:waypoint xsi:type="dc:Point" x="304" y="288" /> + <di:waypoint xsi:type="dc:Point" x="304" y="308" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="314" y="273" width="18" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="IntermediateThrowEvent_0o6fb4f_di" bpmnElement="IntermediateThrowEvent_0zmqbae"> + <dc:Bounds x="286" y="308" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="269" y="343.609" width="69" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_0nob5cp_di" bpmnElement="SequenceFlow_0nob5cp"> + <di:waypoint xsi:type="dc:Point" x="1405" y="430" /> + <di:waypoint xsi:type="dc:Point" x="1491" y="430" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1448" y="415" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_076leae_di" bpmnElement="SequenceFlow_076leae"> + <di:waypoint xsi:type="dc:Point" x="926" y="237" /> + <di:waypoint xsi:type="dc:Point" x="955" y="237" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="941" y="222" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ScriptTask_0cbpm7l_di" bpmnElement="Task_0e313zv"> + <dc:Bounds x="826" y="197" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ExclusiveGateway_1rglbmr_di" bpmnElement="ExclusiveGateway_1rglbmr" isMarkerVisible="true"> + <dc:Bounds x="955.192" y="212" width="50" height="50" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="936" y="164" width="88" height="36" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_0du9273_di" bpmnElement="SequenceFlow_0du9273"> + <di:waypoint xsi:type="dc:Point" x="1005" y="237" /> + <di:waypoint xsi:type="dc:Point" x="1046" y="237" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1020" y="212" width="12" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="IntermediateCatchEvent_1p06jf5_di" bpmnElement="IntermediateThrowEvent_0z0t7rn"> + <dc:Bounds x="1369" y="412" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1354" y="458" width="66" height="25" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateThrowEvent_0xwlxk9_di" bpmnElement="IntermediateThrowEvent_1qkzlba"> + <dc:Bounds x="520" y="308" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="503" y="344" width="69" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1cdfjed_di" bpmnElement="SequenceFlow_1cdfjed"> + <di:waypoint xsi:type="dc:Point" x="538" y="262" /> + <di:waypoint xsi:type="dc:Point" x="538" y="308" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="544" y="275" width="18" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="IntermediateThrowEvent_113xxsl_di" bpmnElement="IntermediateThrowEvent_0rnlvmz"> + <dc:Bounds x="742" y="308" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="725" y="344" width="69" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_17g62fl_di" bpmnElement="SequenceFlow_17g62fl"> + <di:waypoint xsi:type="dc:Point" x="760" y="262" /> + <di:waypoint xsi:type="dc:Point" x="760" y="308" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="766" y="275" width="18" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="IntermediateThrowEvent_0iyegh1_di" bpmnElement="IntermediateThrowEvent_0v69raz"> + <dc:Bounds x="962" y="308" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="945" y="343.609" width="69" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_0zh8r6j_di" bpmnElement="SequenceFlow_0zh8r6j"> + <di:waypoint xsi:type="dc:Point" x="980" y="262" /> + <di:waypoint xsi:type="dc:Point" x="980" y="308" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="986" y="285" width="17" height="13" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="IntermediateCatchEvent_07pur50_di" bpmnElement="IntermediateThrowEvent_15hlkuq"> + <dc:Bounds x="405" y="308" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="381" y="344" width="83" height="36" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_09lrk4q_di" bpmnElement="SequenceFlow_09lrk4q"> + <di:waypoint xsi:type="dc:Point" x="423" y="308" /> + <di:waypoint xsi:type="dc:Point" x="423" y="277" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="438" y="292.5" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_1eezqx8_di" bpmnElement="SequenceFlow_1eezqx8"> + <di:waypoint xsi:type="dc:Point" x="658" y="308" /> + <di:waypoint xsi:type="dc:Point" x="658" y="277" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="673" y="292.5" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="IntermediateCatchEvent_1pog9t5_di" bpmnElement="IntermediateThrowEvent_1lrkrsn"> + <dc:Bounds x="640" y="308" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="614" y="343.609" width="88" height="25" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateCatchEvent_1rtf0em_di" bpmnElement="IntermediateThrowEvent_1wdxgjm"> + <dc:Bounds x="858" y="308" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="844" y="344" width="64" height="37" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_0zzwdwf_di" bpmnElement="SequenceFlow_0zzwdwf"> + <di:waypoint xsi:type="dc:Point" x="876" y="308" /> + <di:waypoint xsi:type="dc:Point" x="876" y="277" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="891" y="292.5" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_06ajc11_di" bpmnElement="SequenceFlow_06ajc11"> + <di:waypoint xsi:type="dc:Point" x="785" y="237" /> + <di:waypoint xsi:type="dc:Point" x="826" y="237" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="800" y="212" width="12" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_179z9vl_di" bpmnElement="SequenceFlow_179z9vl"> + <di:waypoint xsi:type="dc:Point" x="1146" y="237" /> + <di:waypoint xsi:type="dc:Point" x="1184" y="237" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1165" y="222" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ScriptTask_1iio503_di" bpmnElement="Task_0n1d5f2"> + <dc:Bounds x="1046" y="197" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_032tm9y_di" bpmnElement="SequenceFlow_032tm9y"> + <di:waypoint xsi:type="dc:Point" x="1096" y="308" /> + <di:waypoint xsi:type="dc:Point" x="1096" y="277" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1111" y="292.5" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="IntermediateCatchEvent_0jhmy9d_di" bpmnElement="IntermediateThrowEvent_1552q1o"> + <dc:Bounds x="1078" y="308" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1061" y="344" width="70" height="25" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ExclusiveGateway_148eo7w_di" bpmnElement="ExclusiveGateway_148eo7w" isMarkerVisible="true"> + <dc:Bounds x="1184.192" y="212" width="50" height="50" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1167" y="149" width="83" height="48" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1cjiv6i_di" bpmnElement="SequenceFlow_1cjiv6i"> + <di:waypoint xsi:type="dc:Point" x="1234" y="237" /> + <di:waypoint xsi:type="dc:Point" x="1285" y="237" /> + <di:waypoint xsi:type="dc:Point" x="1285" y="401" /> + <di:waypoint xsi:type="dc:Point" x="105" y="401" /> + <di:waypoint xsi:type="dc:Point" x="105" y="484" /> + <di:waypoint xsi:type="dc:Point" x="131" y="484" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1249" y="211" width="12" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="IntermediateThrowEvent_1qtnv6e_di" bpmnElement="IntermediateThrowEvent_16r1jxm"> + <dc:Bounds x="1191" y="299" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1174" y="334.609" width="69" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1q3oxtf_di" bpmnElement="SequenceFlow_1q3oxtf"> + <di:waypoint xsi:type="dc:Point" x="1209" y="262" /> + <di:waypoint xsi:type="dc:Point" x="1209" y="299" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1215" y="270.5" width="18" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="IntermediateCatchEvent_1ogs7t2_di" bpmnElement="IntermediateThrowEvent_02hirbh"> + <dc:Bounds x="405" y="577" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="383" y="613" width="79" height="13" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1urpp94_di" bpmnElement="SequenceFlow_1urpp94"> + <di:waypoint xsi:type="dc:Point" x="760" y="509" /> + <di:waypoint xsi:type="dc:Point" x="760" y="577" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="772" y="528.3097560975609" width="17" height="13" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="IntermediateThrowEvent_1vi3wf9_di" bpmnElement="IntermediateThrowEvent_0vf0a28"> + <dc:Bounds x="742" y="577" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="726" y="613" width="68" height="25" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateCatchEvent_1bsxf5o_di" bpmnElement="IntermediateThrowEvent_0pk24h2"> + <dc:Bounds x="163" y="577" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="156" y="613" width="50" height="25" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ExclusiveGateway_18j1ow5_di" bpmnElement="ExclusiveGateway_18j1ow5" isMarkerVisible="true"> + <dc:Bounds x="1177" y="459" width="50" height="50" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1172" y="407" width="75" height="37" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_0u6ho2p_di" bpmnElement="SequenceFlow_0u6ho2p"> + <di:waypoint xsi:type="dc:Point" x="1013" y="484" /> + <di:waypoint xsi:type="dc:Point" x="1043" y="484" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1022" y="459" width="13" height="13" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ScriptTask_08r89q9_di" bpmnElement="Task_0y1h8go"> + <dc:Bounds x="1043" y="444" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1tzax6l_di" bpmnElement="SequenceFlow_1tzax6l"> + <di:waypoint xsi:type="dc:Point" x="1143" y="484" /> + <di:waypoint xsi:type="dc:Point" x="1177" y="484" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1333" y="455" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="IntermediateCatchEvent_06j33fe_di" bpmnElement="IntermediateThrowEvent_0pmevcz"> + <dc:Bounds x="858" y="570" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="841" y="606" width="70" height="25" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_16ff86u_di" bpmnElement="SequenceFlow_16ff86u"> + <di:waypoint xsi:type="dc:Point" x="876" y="570" /> + <di:waypoint xsi:type="dc:Point" x="876" y="524" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="891" y="537" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_0k3zxpd_di" bpmnElement="SequenceFlow_0k3zxpd"> + <di:waypoint xsi:type="dc:Point" x="988" y="509" /> + <di:waypoint xsi:type="dc:Point" x="988" y="570" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="994" y="540" width="17" height="13" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="IntermediateThrowEvent_105mp22_di" bpmnElement="IntermediateThrowEvent_1awckg7"> + <dc:Bounds x="970" y="570" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="954" y="606" width="68" height="25" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateCatchEvent_0kglv4e_di" bpmnElement="IntermediateThrowEvent_1b3smly"> + <dc:Bounds x="1075" y="570" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1052" y="606" width="81" height="25" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_09xxorv_di" bpmnElement="SequenceFlow_09xxorv"> + <di:waypoint xsi:type="dc:Point" x="1093" y="570" /> + <di:waypoint xsi:type="dc:Point" x="1093" y="524" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1108" y="537" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_0w8mkkn_di" bpmnElement="SequenceFlow_0w8mkkn"> + <di:waypoint xsi:type="dc:Point" x="1202" y="509" /> + <di:waypoint xsi:type="dc:Point" x="1202" y="570" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1208" y="540" width="17" height="13" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="IntermediateThrowEvent_0jwgx1d_di" bpmnElement="IntermediateThrowEvent_1cw8gsw"> + <dc:Bounds x="1184" y="570" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1168" y="606" width="68" height="25" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateCatchEvent_0zw87jy_di" bpmnElement="IntermediateThrowEvent_0x846wp"> + <dc:Bounds x="163" y="847" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="144" y="883" width="73" height="25" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_07uuj2d_di" bpmnElement="SequenceFlow_07uuj2d"> + <di:waypoint xsi:type="dc:Point" x="181" y="847" /> + <di:waypoint xsi:type="dc:Point" x="181" y="821" /> + <di:waypoint xsi:type="dc:Point" x="181" y="821" /> + <di:waypoint xsi:type="dc:Point" x="181" y="792" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="197" y="821" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_0ueoglv_di" bpmnElement="SequenceFlow_0ueoglv"> + <di:waypoint xsi:type="dc:Point" x="1999" y="412" /> + <di:waypoint xsi:type="dc:Point" x="2079" y="197" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="2039" y="290" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_15fqlwe_di" bpmnElement="SequenceFlow_15fqlwe"> + <di:waypoint xsi:type="dc:Point" x="2002" y="415" /> + <di:waypoint xsi:type="dc:Point" x="2127" y="232" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="2066" y="309" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_0yuj0l5_di" bpmnElement="SequenceFlow_0yuj0l5"> + <di:waypoint xsi:type="dc:Point" x="2006" y="419" /> + <di:waypoint xsi:type="dc:Point" x="2172" y="283" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="2089" y="336" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_1abb030_di" bpmnElement="SequenceFlow_1abb030"> + <di:waypoint xsi:type="dc:Point" x="2010" y="423" /> + <di:waypoint xsi:type="dc:Point" x="2203" y="349" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="2107" y="371" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_0ls3ej5_di" bpmnElement="SequenceFlow_0ls3ej5"> + <di:waypoint xsi:type="dc:Point" x="2016" y="429" /> + <di:waypoint xsi:type="dc:Point" x="2221" y="429" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="2119" y="414" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_1ar6ikk_di" bpmnElement="SequenceFlow_1ar6ikk"> + <di:waypoint xsi:type="dc:Point" x="2006" y="441" /> + <di:waypoint xsi:type="dc:Point" x="2172" y="565" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="2089" y="488" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_0t53vux_di" bpmnElement="SequenceFlow_0t53vux"> + <di:waypoint xsi:type="dc:Point" x="2003" y="444" /> + <di:waypoint xsi:type="dc:Point" x="2128" y="605" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="2066" y="510" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_11ck4qe_di" bpmnElement="SequenceFlow_11ck4qe"> + <di:waypoint xsi:type="dc:Point" x="1999" y="448" /> + <di:waypoint xsi:type="dc:Point" x="2078" y="644" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="2039" y="531" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_16d2ln4_di" bpmnElement="SequenceFlow_16d2ln4"> + <di:waypoint xsi:type="dc:Point" x="1996" y="451" /> + <di:waypoint xsi:type="dc:Point" x="2033" y="670" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="2015" y="546" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="IntermediateThrowEvent_17syve1_di" bpmnElement="IntermediateThrowEvent_0rz6jh4"> + <dc:Bounds x="2067" y="163" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="2073" y="123" width="84" height="36" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateThrowEvent_0nv8aic_di" bpmnElement="IntermediateThrowEvent_1wip9vc"> + <dc:Bounds x="2120" y="200" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="2169" y="196" width="89" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateThrowEvent_1g4pmwc_di" bpmnElement="IntermediateThrowEvent_1hki8xj"> + <dc:Bounds x="2168" y="254" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="2208" y="223" width="64" height="36" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateThrowEvent_1ypnogn_di" bpmnElement="IntermediateThrowEvent_1gfnt9b"> + <dc:Bounds x="2202" y="326" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="2248" y="312" width="71" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateThrowEvent_1i9ttzs_di" bpmnElement="IntermediateThrowEvent_1gzhs1a"> + <dc:Bounds x="2221" y="412" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="2273" y="409" width="51" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateThrowEvent_0840e02_di" bpmnElement="IntermediateThrowEvent_0385ons"> + <dc:Bounds x="2202" y="486" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="2250" y="484" width="78" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1quapjx_di" bpmnElement="SequenceFlow_1quapjx"> + <di:waypoint xsi:type="dc:Point" x="2011" y="436" /> + <di:waypoint xsi:type="dc:Point" x="2204" y="498" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="2108" y="452" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="IntermediateThrowEvent_1xq4kx8_di" bpmnElement="IntermediateThrowEvent_1p9i2bi"> + <dc:Bounds x="2168" y="558" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="2227" y="559" width="54" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateThrowEvent_1vcx5cz_di" bpmnElement="IntermediateThrowEvent_1cp0hkt"> + <dc:Bounds x="2120" y="601" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="2154" y="625" width="70" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateThrowEvent_1y8fmlw_di" bpmnElement="IntermediateThrowEvent_184w0i8"> + <dc:Bounds x="2067" y="642" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="2107" y="679" width="82" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateThrowEvent_024zi9r_di" bpmnElement="IntermediateThrowEvent_1u9f9kp"> + <dc:Bounds x="2016" y="670" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="2021" y="711" width="72" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateCatchEvent_08x53cb_di" bpmnElement="IntermediateThrowEvent_18wrvcy"> + <dc:Bounds x="158" y="308" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="134" y="343.09862671660426" width="83" height="37" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_179tyul_di" bpmnElement="SequenceFlow_179tyul"> + <di:waypoint xsi:type="dc:Point" x="180" y="309" /> + <di:waypoint xsi:type="dc:Point" x="181" y="277" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="181" y="278" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_101n488_di" bpmnElement="SequenceFlow_101n488"> + <di:waypoint xsi:type="dc:Point" x="1996" y="409" /> + <di:waypoint xsi:type="dc:Point" x="2033" y="177" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="2015" y="278" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="IntermediateThrowEvent_1fnxvhb_di" bpmnElement="IntermediateThrowEvent_17k1fmk"> + <dc:Bounds x="2016" y="141" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1991" y="91" width="86" height="36" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1colra4_di" bpmnElement="SequenceFlow_1colra4"> + <di:waypoint xsi:type="dc:Point" x="181" y="577" /> + <di:waypoint xsi:type="dc:Point" x="181" y="524" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="196" y="550.5" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="IntermediateCatchEvent_174wgan_di" bpmnElement="IntermediateThrowEvent_0fhmhsk"> + <dc:Bounds x="640" y="577" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="631" y="613" width="53" height="25" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_16igl7b_di" bpmnElement="SequenceFlow_16igl7b"> + <di:waypoint xsi:type="dc:Point" x="658" y="577" /> + <di:waypoint xsi:type="dc:Point" x="658" y="524" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="673" y="550.5" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_1c79909_di" bpmnElement="SequenceFlow_1c79909"> + <di:waypoint xsi:type="dc:Point" x="708" y="484" /> + <di:waypoint xsi:type="dc:Point" x="735" y="484" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="722" y="469" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ExclusiveGateway_16eos6z_di" bpmnElement="ExclusiveGateway_16eos6z" isMarkerVisible="true"> + <dc:Bounds x="279" y="459" width="50" height="50" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="265" y="422" width="77" height="25" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ExclusiveGateway_1nettij_di" bpmnElement="ExclusiveGateway_1nettij" isMarkerVisible="true"> + <dc:Bounds x="513" y="459" width="50" height="50" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="502" y="417" width="71" height="25" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_0wfzjs1_di" bpmnElement="SequenceFlow_0wfzjs1"> + <di:waypoint xsi:type="dc:Point" x="231" y="484" /> + <di:waypoint xsi:type="dc:Point" x="279" y="484" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="255" y="469" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_188a7lk_di" bpmnElement="SequenceFlow_188a7lk"> + <di:waypoint xsi:type="dc:Point" x="329" y="484" /> + <di:waypoint xsi:type="dc:Point" x="373" y="484" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="345" y="459" width="12" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_0lpreg4_di" bpmnElement="SequenceFlow_0lpreg4"> + <di:waypoint xsi:type="dc:Point" x="473" y="484" /> + <di:waypoint xsi:type="dc:Point" x="513" y="484" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="493" y="469" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_0q1skau_di" bpmnElement="SequenceFlow_0q1skau"> + <di:waypoint xsi:type="dc:Point" x="563" y="484" /> + <di:waypoint xsi:type="dc:Point" x="608" y="484" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="580" y="459" width="12" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_08m0j98_di" bpmnElement="SequenceFlow_08m0j98"> + <di:waypoint xsi:type="dc:Point" x="785" y="484" /> + <di:waypoint xsi:type="dc:Point" x="826" y="484" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="799" y="459" width="13" height="13" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_1wqinjh_di" bpmnElement="SequenceFlow_1wqinjh"> + <di:waypoint xsi:type="dc:Point" x="423" y="577" /> + <di:waypoint xsi:type="dc:Point" x="423" y="524" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="438" y="550.5" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="IntermediateThrowEvent_0jgks05_di" bpmnElement="IntermediateThrowEvent_0s8cdpt"> + <dc:Bounds x="286" y="577" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="269" y="613" width="69" height="25" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_12konw1_di" bpmnElement="SequenceFlow_12konw1"> + <di:waypoint xsi:type="dc:Point" x="304" y="509" /> + <di:waypoint xsi:type="dc:Point" x="304" y="577" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="310" y="532.5983606557377" width="18" height="13" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="IntermediateThrowEvent_1jys13n_di" bpmnElement="IntermediateThrowEvent_0e2ibog"> + <dc:Bounds x="520" y="577" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="503" y="613" width="69" height="25" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1s3pbww_di" bpmnElement="SequenceFlow_1s3pbww"> + <di:waypoint xsi:type="dc:Point" x="538" y="509" /> + <di:waypoint xsi:type="dc:Point" x="538" y="577" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="544" y="533" width="18" height="13" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="CallActivity_0iywyn3_di" bpmnElement="Task_1hdg951"> + <dc:Bounds x="131" y="444" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="CallActivity_0pzya8j_di" bpmnElement="Task_1ca5ctq"> + <dc:Bounds x="608" y="444" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="CallActivity_0ck1c9r_di" bpmnElement="Task_1fj63ov"> + <dc:Bounds x="373" y="444" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_0rlmex7_di" bpmnElement="SequenceFlow_0rlmex7"> + <di:waypoint xsi:type="dc:Point" x="1712" y="441" /> + <di:waypoint xsi:type="dc:Point" x="1823" y="528" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1778" y="468.1344841912912" width="27" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ScriptTask_0dqs9kj_di" bpmnElement="Task_0em349i"> + <dc:Bounds x="1823" y="489" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ExclusiveGateway_0yu25qy_di" bpmnElement="ExclusiveGateway_0yu25qy" isMarkerVisible="true"> + <dc:Bounds x="1909" y="626" width="50" height="50" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1903" y="676" width="62" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_19myx3o_di" bpmnElement="SequenceFlow_19myx3o"> + <di:waypoint xsi:type="dc:Point" x="1959" y="651" /> + <di:waypoint xsi:type="dc:Point" x="1968" y="651" /> + <di:waypoint xsi:type="dc:Point" x="1968" y="431" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1975" y="589.1802690904609" width="18" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_05omwbu_di" bpmnElement="SequenceFlow_05omwbu"> + <di:waypoint xsi:type="dc:Point" x="1934" y="626" /> + <di:waypoint xsi:type="dc:Point" x="1934" y="170" /> + <di:waypoint xsi:type="dc:Point" x="1698" y="170" /> + <di:waypoint xsi:type="dc:Point" x="1698" y="232" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1938" y="581.649978474545" width="12" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="IntermediateCatchEvent_0e4c19r_di" bpmnElement="IntermediateThrowEvent_0u8jlsq"> + <dc:Bounds x="1855" y="601" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1790" y="613" width="55" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1xwgemy_di" bpmnElement="SequenceFlow_1xwgemy"> + <di:waypoint xsi:type="dc:Point" x="1873" y="569" /> + <di:waypoint xsi:type="dc:Point" x="1873" y="601" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1888" y="575" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_1nm4wr1_di" bpmnElement="SequenceFlow_1nm4wr1"> + <di:waypoint xsi:type="dc:Point" x="1873" y="637" /> + <di:waypoint xsi:type="dc:Point" x="1873" y="651" /> + <di:waypoint xsi:type="dc:Point" x="1909" y="651" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1888" y="644" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="CallActivity_0b2drei_di" bpmnElement="Task_0zbogrm"> + <dc:Bounds x="1648" y="524" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_18lemf9_di" bpmnElement="SequenceFlow_18lemf9"> + <di:waypoint xsi:type="dc:Point" x="1648" y="564" /> + <di:waypoint xsi:type="dc:Point" x="1617" y="564" /> + <di:waypoint xsi:type="dc:Point" x="1617" y="272" /> + <di:waypoint xsi:type="dc:Point" x="1648" y="272" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1632" y="418" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_1vxpbd0_di" bpmnElement="SequenceFlow_1vxpbd0"> + <di:waypoint xsi:type="dc:Point" x="365" y="1187" /> + <di:waypoint xsi:type="dc:Point" x="431" y="1187" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="398" y="1172" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_03ayqeh_di" bpmnElement="SequenceFlow_03ayqeh"> + <di:waypoint xsi:type="dc:Point" x="531" y="1187" /> + <di:waypoint xsi:type="dc:Point" x="614" y="1187" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="573" y="1172" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_0xt2xvx_di" bpmnElement="SequenceFlow_0xt2xvx"> + <di:waypoint xsi:type="dc:Point" x="714" y="1187" /> + <di:waypoint xsi:type="dc:Point" x="795" y="1187" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="755" y="1172" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ScriptTask_1w171si_di" bpmnElement="Task_1tx7e9s"> + <dc:Bounds x="265" y="1147" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ScriptTask_0c9vk4v_di" bpmnElement="Task_0b707rs"> + <dc:Bounds x="614" y="1147" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="CallActivity_02c6e2e_di" bpmnElement="Task_02avn81"> + <dc:Bounds x="431" y="1147" width="100" height="80" /> + </bpmndi:BPMNShape> + </bpmndi:BPMNPlane> + </bpmndi:BPMNDiagram> +</bpmn2:definitions> diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/process/VnfInPlaceUpdate.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/VnfInPlaceUpdate.bpmn new file mode 100644 index 0000000000..b6361aaa20 --- /dev/null +++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/VnfInPlaceUpdate.bpmn @@ -0,0 +1,2290 @@ +<?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="_F0omAMXGEeW834CKd-K10Q" targetNamespace="http://camunda.org/schema/1.0/bpmn" exporter="Camunda Modeler" exporterVersion="1.4.0" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd"> + <bpmn2:process id="VnfInPlaceUpdate" name="VnfInPlaceUpdate" isExecutable="true"> + <bpmn2:scriptTask id="ScriptTask_1" name="Send Synch Response" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_5</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_0y0jt4l</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def uvfm = new VnfInPlaceUpdate() +uvfm.sendSynchResponse(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_2" name="" sourceRef="Task_1rxiqe1" targetRef="ExclusiveGateway_045e1uz" /> + <bpmn2:scriptTask id="PreProcessRequest" name="Pre-Process Request" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_4</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_5</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def uvfm = new VnfInPlaceUpdate() +uvfm.preProcessRequest(execution) +]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_5" name="" sourceRef="PreProcessRequest" targetRef="ScriptTask_1" /> + <bpmn2:callActivity id="CallActivity_1" name="Completion Handler" calledElement="CompleteMsoProcess"> + <bpmn2:extensionElements> + <camunda:in source="CompletionHandlerRequest" target="CompleteMsoProcessRequest" /> + <camunda:in source="mso-request-id" target="mso-request-id" /> + <camunda:in source="mso-service-instance-id" target="mso-service-instance-id" /> + <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" /> + </bpmn2:extensionElements> + <bpmn2:incoming>SequenceFlow_17</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_14</bpmn2:outgoing> + </bpmn2:callActivity> + <bpmn2:sequenceFlow id="SequenceFlow_14" name="" sourceRef="CallActivity_1" targetRef="ScriptTask_4" /> + <bpmn2:endEvent id="EndEvent_1" name="TheEnd"> + <bpmn2:incoming>SequenceFlow_6</bpmn2:incoming> + <bpmn2:terminateEventDefinition id="_TerminateEventDefinition_5" /> + </bpmn2:endEvent> + <bpmn2:scriptTask id="ScriptTask_4" name="Set Success Indicator" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_14</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_6</bpmn2:outgoing> + <bpmn2:script><![CDATA[// The following variable is checked by the unit test +execution.setVariable("VnfInPlaceUpdateSuccessIndicator", true)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_6" name="" sourceRef="ScriptTask_4" targetRef="EndEvent_1" /> + <bpmn2:scriptTask id="ScriptTask_10" name="Completion Handler (prep)" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_3</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_07uuj2d</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_17</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def uvfm = new VnfInPlaceUpdate() +uvfm.completionHandlerPrep(execution, 'CompletionHandlerRequest') +]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_17" name="" sourceRef="ScriptTask_10" targetRef="CallActivity_1" /> + <bpmn2:subProcess id="SubProcess_1" name="Error Handler" triggeredByEvent="true"> + <bpmn2:startEvent id="StartEvent_3" name="Catch All Errors"> + <bpmn2:outgoing>SequenceFlow_1</bpmn2:outgoing> + <bpmn2:errorEventDefinition id="ErrorEventDefinition_1" /> + </bpmn2:startEvent> + <bpmn2:sequenceFlow id="SequenceFlow_1" name="" sourceRef="StartEvent_3" targetRef="Task_0ilgwhw" /> + <bpmn2:scriptTask id="ScriptTask_3" name="Fallout Handler (prep)" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_0ib8gb8</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_7</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def uvfm = new VnfInPlaceUpdate() +uvfm.falloutHandlerPrep(execution, 'FalloutHandlerRequest') +]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_7" sourceRef="ScriptTask_3" targetRef="CallActivity_2" /> + <bpmn2:callActivity id="CallActivity_2" name="Fallout Handler" calledElement="FalloutHandler"> + <bpmn2:extensionElements> + <camunda:in source="FalloutHandlerRequest" target="FalloutHandlerRequest" /> + <camunda:in source="mso-request-id" target="mso-request-id" /> + <camunda:in source="mso-service-instance-id" target="mso-service-instance-id" /> + <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" /> + </bpmn2:extensionElements> + <bpmn2:incoming>SequenceFlow_7</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_19</bpmn2:outgoing> + </bpmn2:callActivity> + <bpmn2:endEvent id="EndEvent_2"> + <bpmn2:incoming>SequenceFlow_19</bpmn2:incoming> + <bpmn2:terminateEventDefinition id="TerminateEventDefinition_1" /> + </bpmn2:endEvent> + <bpmn2:sequenceFlow id="SequenceFlow_19" name="" sourceRef="CallActivity_2" targetRef="EndEvent_2" /> + <bpmn2:sequenceFlow id="SequenceFlow_1qnzi6i" sourceRef="Task_13sybx8" targetRef="Task_1mt62gu" /> + <bpmn2:callActivity id="Task_13sybx8" name="Rollback Processing" calledElement="RollbackVnf"> + <bpmn2:extensionElements> + <camunda:in source="msoRequestId" target="msoRequestId" /> + <camunda:in source="vnfId" target="vnfId" /> + <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" /> + <camunda:in source="rollbackSetClosedLoopDisabledFlag" target="rollbackSetClosedLoopDisabledFlag" /> + <camunda:in source="rollbackSetVnfInMaintenanceFlag" target="rollbackSetVnfInMaintenanceFlag" /> + <camunda:in source="rollbackVnfStop" target="rollbackVnfStop" /> + <camunda:in source="rollbackVnfLock" target="rollbackVnfLock" /> + <camunda:in source="errorCode" target="errorCode" /> + <camunda:out source="rollbackSuccessful" target="rollbackSuccessful" /> + <camunda:in source="payload" target="payload" /> + <camunda:in source="vnfName" target="vnfName" /> + <camunda:in source="rollbackQuiesceTraffic" target="rollbackQuiesceTraffic" /> + </bpmn2:extensionElements> + <bpmn2:incoming>SequenceFlow_0hvg70o</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_1qnzi6i</bpmn2:outgoing> + </bpmn2:callActivity> + <bpmn2:sequenceFlow id="SequenceFlow_0hvg70o" sourceRef="Task_0ilgwhw" targetRef="Task_13sybx8" /> + <bpmn2:scriptTask id="Task_0ilgwhw" name="PreProcess Rollback" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_1</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_0hvg70o</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def uvfm = new VnfInPlaceUpdate() +uvfm.preProcessRollback(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_0ib8gb8" sourceRef="Task_1mt62gu" targetRef="ScriptTask_3" /> + <bpmn2:scriptTask id="Task_1mt62gu" name="PostProcess Rollback" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_1qnzi6i</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_0ib8gb8</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def uvfm = new VnfInPlaceUpdate() +uvfm.postProcessRollback(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + </bpmn2:subProcess> + <bpmn2:endEvent id="EndEvent_3"> + <bpmn2:incoming>SequenceFlow_12</bpmn2:incoming> + <bpmn2:terminateEventDefinition id="TerminateEventDefinition_2" /> + </bpmn2:endEvent> + <bpmn2:boundaryEvent id="BoundaryEvent_1" name="" attachedToRef="SubProcess_1"> + <bpmn2:outgoing>SequenceFlow_12</bpmn2:outgoing> + <bpmn2:errorEventDefinition id="ErrorEventDefinition_2" /> + </bpmn2:boundaryEvent> + <bpmn2:sequenceFlow id="SequenceFlow_12" name="" sourceRef="BoundaryEvent_1" targetRef="EndEvent_3" /> + <bpmn2:startEvent id="StartEvent_1" name="Start"> + <bpmn2:outgoing>SequenceFlow_4</bpmn2:outgoing> + </bpmn2:startEvent> + <bpmn2:sequenceFlow id="SequenceFlow_4" name="" sourceRef="StartEvent_1" targetRef="PreProcessRequest" /> + <bpmn2:sequenceFlow id="SequenceFlow_3" name="no" sourceRef="ExclusiveGateway_18j1ow5" targetRef="ScriptTask_10" /> + <bpmn2:sequenceFlow id="SequenceFlow_053qjfy" sourceRef="Task_1opcb4j" targetRef="Task_0vy2zge" /> + <bpmn2:scriptTask id="Task_1opcb4j" name="Query A&AI for VNF" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_0y0jt4l</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_053qjfy</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def uvfm = new VnfInPlaceUpdate() +uvfm.queryAAIForVnf(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_0y0jt4l" sourceRef="ScriptTask_1" targetRef="Task_1opcb4j" /> + <bpmn2:scriptTask id="Task_1rxiqe1" name="Check If VNF Is In Maintenance in A&AI" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_16mo99z</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_09lrk4q</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_2</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def uvfm = new VnfInPlaceUpdate() +uvfm.checkIfVnfInMaintInAAI(execution) +]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_0usxnlk" sourceRef="Task_0vy2zge" targetRef="ExclusiveGateway_0q323wc" /> + <bpmn2:scriptTask id="Task_0ap39ka" name="Set VNF inMaintenance Flag in A&AI" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_0baosqi</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_1eezqx8</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_0k3fx7p</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def uvfm = new VnfInPlaceUpdate() +uvfm.setVnfInMaintFlagInAAI(execution, true) +]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:scriptTask id="Task_1drglpt" name="Unset VNF In Maintenance Flag in A&AI" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_1nr9o85</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_16ff86u</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_12mfil6</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def uvfm = new VnfInPlaceUpdate() +uvfm.setVnfInMaintFlagInAAI(execution, false) +]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:scriptTask id="Task_0vy2zge" name="Check If Physical Servers Are Locked in A&AI" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_053qjfy</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_179tyul</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_0usxnlk</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def uvfm = new VnfInPlaceUpdate() +uvfm.checkIfPserversInMaintInAAI(execution) +]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_0xx8y1s" sourceRef="Task_1dtbnuy" targetRef="ExclusiveGateway_1slvyx2" /> + <bpmn2:sequenceFlow id="SequenceFlow_0a6pdza" sourceRef="Task_1fj63ov" targetRef="ExclusiveGateway_1ichg7h" /> + <bpmn2:sequenceFlow id="SequenceFlow_13h26h9" sourceRef="Task_1cfkcss" targetRef="ExclusiveGateway_1etgtgi" /> + <bpmn2:sequenceFlow id="SequenceFlow_1uno5rs" sourceRef="Task_1hdg951" targetRef="ExclusiveGateway_02tj4dw" /> + <bpmn2:sequenceFlow id="SequenceFlow_1c79909" sourceRef="Task_1ca5ctq" targetRef="ExclusiveGateway_1gn5lab" /> + <bpmn2:sequenceFlow id="SequenceFlow_1xfbwpi" sourceRef="Task_1sove95" targetRef="ExclusiveGateway_123vjyo" /> + <bpmn2:exclusiveGateway id="ExclusiveGateway_0q323wc" name="Error on PServers Check?" default="SequenceFlow_16mo99z"> + <bpmn2:incoming>SequenceFlow_0usxnlk</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_16mo99z</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_06ev8or</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:sequenceFlow id="SequenceFlow_16mo99z" name="no" sourceRef="ExclusiveGateway_0q323wc" targetRef="Task_1rxiqe1" /> + <bpmn2:exclusiveGateway id="ExclusiveGateway_045e1uz" name="Error On inMaintenance Check?" default="SequenceFlow_0baosqi"> + <bpmn2:incoming>SequenceFlow_2</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_0baosqi</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_1cdfjed</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:sequenceFlow id="SequenceFlow_0baosqi" name="no" sourceRef="ExclusiveGateway_045e1uz" targetRef="Task_0ap39ka" /> + <bpmn2:callActivity id="Task_0q5cdit" name="Rainy Day Handler" calledElement="RainyDayHandler"> + <bpmn2:extensionElements> + <camunda:in source="msoRequestId" target="msoRequestId" /> + <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" /> + <camunda:in source="serviceType" target="serviceType" /> + <camunda:in source="nfRole" target="vnfType" /> + <camunda:in source="currentActivity" target="currentActivity" /> + <camunda:in source="workStep" target="workStep" /> + <camunda:in source="failedActivity" target="failedActivity" /> + <camunda:in source="errorCode" target="errorCode" /> + <camunda:in source="errorText" target="errorText" /> + <camunda:out source="WorkflowException" target="WorkflowException" /> + <camunda:out source="handlingCode" target="disposition" /> + <camunda:in source="requestorId" target="requestorId" /> + <camunda:out source="taskId" target="taskId" /> + <camunda:in source="vnfName" target="vnfName" /> + </bpmn2:extensionElements> + <bpmn2:incoming>SequenceFlow_0nob5cp</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_0v0u7mf</bpmn2:outgoing> + </bpmn2:callActivity> + <bpmn2:sequenceFlow id="SequenceFlow_0v0u7mf" sourceRef="Task_0q5cdit" targetRef="ExclusiveGateway_0xlxgl0" /> + <bpmn2:sequenceFlow id="SequenceFlow_0vpd06n" name="Abort" sourceRef="ExclusiveGateway_0xlxgl0" targetRef="Task_1tg549h"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("disposition") == "Abort"]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_1qr8msw" name="Rollback" sourceRef="ExclusiveGateway_0xlxgl0" targetRef="Task_0zbogrm"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("disposition") == "Rollback"]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:exclusiveGateway id="ExclusiveGateway_0ud5uwa" name="Eror on inMaintenance Set?" default="SequenceFlow_06ajc11"> + <bpmn2:incoming>SequenceFlow_0k3fx7p</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_17g62fl</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_06ajc11</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:sequenceFlow id="SequenceFlow_0k3fx7p" sourceRef="Task_0ap39ka" targetRef="ExclusiveGateway_0ud5uwa" /> + <bpmn2:sequenceFlow id="SequenceFlow_0qy68ib" name="no" sourceRef="ExclusiveGateway_1slvyx2" targetRef="Task_1fj63ov" /> + <bpmn2:exclusiveGateway id="ExclusiveGateway_1ichg7h" name="Error on Upgrade PreCheck?" default="SequenceFlow_0q0qan8"> + <bpmn2:incoming>SequenceFlow_0a6pdza</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_0q0qan8</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_02mk8vs</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:sequenceFlow id="SequenceFlow_0q0qan8" name="no" sourceRef="ExclusiveGateway_1ichg7h" targetRef="Task_1cfkcss" /> + <bpmn2:exclusiveGateway id="ExclusiveGateway_1etgtgi" name="Error on Quiesce Traffic?" default="SequenceFlow_1c0vdki"> + <bpmn2:incoming>SequenceFlow_13h26h9</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_1c0vdki</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_11o5j55</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:sequenceFlow id="SequenceFlow_1c0vdki" name="no" sourceRef="ExclusiveGateway_1etgtgi" targetRef="Task_0eae8go" /> + <bpmn2:exclusiveGateway id="ExclusiveGateway_02tj4dw" name="Error on Upgrade Software?" default="SequenceFlow_162mm0m"> + <bpmn2:incoming>SequenceFlow_1uno5rs</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_162mm0m</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_1gagrha</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:sequenceFlow id="SequenceFlow_162mm0m" name="no" sourceRef="ExclusiveGateway_02tj4dw" targetRef="Task_1ca5ctq" /> + <bpmn2:exclusiveGateway id="ExclusiveGateway_1gn5lab" name="Error on Post Health Check?" default="SequenceFlow_1c2xyhk"> + <bpmn2:incoming>SequenceFlow_1c79909</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_1urpp94</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_1c2xyhk</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:exclusiveGateway id="ExclusiveGateway_0l2z6wc" name="Erorr on inMaintenance Unset?" default="SequenceFlow_0u6ho2p"> + <bpmn2:incoming>SequenceFlow_12mfil6</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_0u6ho2p</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_0k3zxpd</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:sequenceFlow id="SequenceFlow_12mfil6" sourceRef="Task_1drglpt" targetRef="ExclusiveGateway_0l2z6wc" /> + <bpmn2:scriptTask id="Task_1tg549h" name="Abort Processing" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_0vpd06n</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_1c022sy</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_0h64c4o</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_0syfgbo</bpmn2:incoming> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def uvfm = new VnfInPlaceUpdate() +uvfm.abortProcessing(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:exclusiveGateway id="ExclusiveGateway_0xlxgl0" name="Check Disposition"> + <bpmn2:incoming>SequenceFlow_0v0u7mf</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_1qr8msw</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_05gpym3</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_0vpd06n</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_1ijc733</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:exclusiveGateway id="ExclusiveGateway_0y82zzx" name="Next Step? " default="SequenceFlow_1c022sy"> + <bpmn2:incoming>SequenceFlow_05gpym3</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_1kntfys</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_1nlqlwn</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_1c022sy</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_0ueoglv</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_15fqlwe</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_0yuj0l5</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_1abb030</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_0ls3ej5</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_1ar6ikk</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_171iq7e</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_1553o9f</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_0dmxwel</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_1id2p8y</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_0t53vux</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_11ck4qe</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_16d2ln4</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_1quapjx</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_101n488</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_021ah63</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:sequenceFlow id="SequenceFlow_05gpym3" name="Skip" sourceRef="ExclusiveGateway_0xlxgl0" targetRef="ExclusiveGateway_0y82zzx"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("disposition") == "Skip"]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_19ba94v" sourceRef="Task_0eae8go" targetRef="ExclusiveGateway_19an3h2" /> + <bpmn2:sequenceFlow id="SequenceFlow_1nlqlwn" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_0ee7wot"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[(execution.getVariable("disposition") == "Skip" && execution.getVariable("workStep") == "QuiesceTraffic") || +(execution.getVariable("disposition") == "Retry" && execution.getVariable("workStep") == "Snapshot")]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_1c022sy" sourceRef="ExclusiveGateway_0y82zzx" targetRef="Task_1tg549h" /> + <bpmn2:sequenceFlow id="SequenceFlow_06ev8or" name="yes" sourceRef="ExclusiveGateway_0q323wc" targetRef="IntermediateThrowEvent_0zmqbae"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0zmqbae" name="To Rainy Day Handling"> + <bpmn2:incoming>SequenceFlow_06ev8or</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To Rainy Day Handling" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:sequenceFlow id="SequenceFlow_0nob5cp" sourceRef="IntermediateThrowEvent_0z0t7rn" targetRef="Task_0q5cdit" /> + <bpmn2:sequenceFlow id="SequenceFlow_076leae" sourceRef="Task_0e313zv" targetRef="ExclusiveGateway_1rglbmr" /> + <bpmn2:scriptTask id="Task_0e313zv" name="Check If VF Closed Loop Disabled in A&AI" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_0zzwdwf</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_06ajc11</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_076leae</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def uvfm = new VnfInPlaceUpdate() +uvfm.checkIfClosedLoopDisabledInAAI(execution) +]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:exclusiveGateway id="ExclusiveGateway_1rglbmr" name="Error on isClosedLoopDisabled Check?" default="SequenceFlow_0du9273"> + <bpmn2:incoming>SequenceFlow_076leae</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_0du9273</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_0zh8r6j</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:sequenceFlow id="SequenceFlow_0du9273" name="no " sourceRef="ExclusiveGateway_1rglbmr" targetRef="Task_0n1d5f2" /> + <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_0z0t7rn" name="To Rainy Day Handling" camunda:asyncBefore="true"> + <bpmn2:outgoing>SequenceFlow_0nob5cp</bpmn2:outgoing> + <bpmn2:linkEventDefinition name="To Rainy Day Handling" /> + </bpmn2:intermediateCatchEvent> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1qkzlba" name="To Rainy Day Handling"> + <bpmn2:incoming>SequenceFlow_1cdfjed</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To Rainy Day Handling" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:sequenceFlow id="SequenceFlow_1cdfjed" name="yes" sourceRef="ExclusiveGateway_045e1uz" targetRef="IntermediateThrowEvent_1qkzlba"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0rnlvmz" name="To Rainy Day Handling"> + <bpmn2:incoming>SequenceFlow_17g62fl</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To Rainy Day Handling" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:sequenceFlow id="SequenceFlow_17g62fl" name="yes" sourceRef="ExclusiveGateway_0ud5uwa" targetRef="IntermediateThrowEvent_0rnlvmz"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0v69raz" name="To Rainy Day Handling"> + <bpmn2:incoming>SequenceFlow_0zh8r6j</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To Rainy Day Handling" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:sequenceFlow id="SequenceFlow_0zh8r6j" name="yes " sourceRef="ExclusiveGateway_1rglbmr" targetRef="IntermediateThrowEvent_0v69raz"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_15hlkuq" name="To inMaintenanceCheck"> + <bpmn2:outgoing>SequenceFlow_09lrk4q</bpmn2:outgoing> + <bpmn2:linkEventDefinition name="To inMaintenanceCheck" /> + </bpmn2:intermediateCatchEvent> + <bpmn2:sequenceFlow id="SequenceFlow_09lrk4q" sourceRef="IntermediateThrowEvent_15hlkuq" targetRef="Task_1rxiqe1" /> + <bpmn2:sequenceFlow id="SequenceFlow_1eezqx8" sourceRef="IntermediateThrowEvent_1lrkrsn" targetRef="Task_0ap39ka" /> + <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_1lrkrsn" name="To InMaintenance Set"> + <bpmn2:outgoing>SequenceFlow_1eezqx8</bpmn2:outgoing> + <bpmn2:linkEventDefinition name="To InMaintenance Set" /> + </bpmn2:intermediateCatchEvent> + <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_1wdxgjm" name="To check if Closed Loop Disabled"> + <bpmn2:outgoing>SequenceFlow_0zzwdwf</bpmn2:outgoing> + <bpmn2:linkEventDefinition name="To check if Closed Loop Disabled" /> + </bpmn2:intermediateCatchEvent> + <bpmn2:sequenceFlow id="SequenceFlow_0zzwdwf" sourceRef="IntermediateThrowEvent_1wdxgjm" targetRef="Task_0e313zv" /> + <bpmn2:sequenceFlow id="SequenceFlow_06ajc11" name="no" sourceRef="ExclusiveGateway_0ud5uwa" targetRef="Task_0e313zv" /> + <bpmn2:sequenceFlow id="SequenceFlow_179z9vl" sourceRef="Task_0n1d5f2" targetRef="ExclusiveGateway_148eo7w" /> + <bpmn2:scriptTask id="Task_0n1d5f2" name="Set VF Is Closed Loop Disabled Flag in A&AI" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_0du9273</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_032tm9y</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_179z9vl</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def uvfm = new VnfInPlaceUpdate() +uvfm.setClosedLoopDisabledInAAI(execution, true) +]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_032tm9y" sourceRef="IntermediateThrowEvent_1552q1o" targetRef="Task_0n1d5f2" /> + <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_1552q1o" name="To set Closed Loop Disabled"> + <bpmn2:outgoing>SequenceFlow_032tm9y</bpmn2:outgoing> + <bpmn2:linkEventDefinition name="To set Closed Loop Disabled" /> + </bpmn2:intermediateCatchEvent> + <bpmn2:exclusiveGateway id="ExclusiveGateway_148eo7w" name="Error on Set IsClosedLoopDisabled Flag in A&AI?" default="SequenceFlow_1cjiv6i"> + <bpmn2:incoming>SequenceFlow_179z9vl</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_1cjiv6i</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_1q3oxtf</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:sequenceFlow id="SequenceFlow_1cjiv6i" name="no " sourceRef="ExclusiveGateway_148eo7w" targetRef="Task_1dtbnuy" /> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_16r1jxm" name="To Rainy Day Handling"> + <bpmn2:incoming>SequenceFlow_1q3oxtf</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To Rainy Day Handling" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:sequenceFlow id="SequenceFlow_1q3oxtf" name="yes" sourceRef="ExclusiveGateway_148eo7w" targetRef="IntermediateThrowEvent_16r1jxm"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1agn6fn" name="To Rainy Day Handling"> + <bpmn2:incoming>SequenceFlow_1j81s6b</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To Rainy Day Handling" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:sequenceFlow id="SequenceFlow_1j81s6b" name="yes" sourceRef="ExclusiveGateway_1slvyx2" targetRef="IntermediateThrowEvent_1agn6fn"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_02hirbh" name="To Upgrade PreCheck"> + <bpmn2:outgoing>SequenceFlow_16t9vai</bpmn2:outgoing> + <bpmn2:linkEventDefinition name="To Upgrade PreCheck" /> + </bpmn2:intermediateCatchEvent> + <bpmn2:sequenceFlow id="SequenceFlow_16t9vai" sourceRef="IntermediateThrowEvent_02hirbh" targetRef="Task_1fj63ov" /> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0pnzq4y" name="To Rainy Day Handling"> + <bpmn2:incoming>SequenceFlow_02mk8vs</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To Rainy Day Handling" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:sequenceFlow id="SequenceFlow_02mk8vs" name="yes" sourceRef="ExclusiveGateway_1ichg7h" targetRef="IntermediateThrowEvent_0pnzq4y"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_1s7qalx" name="To Quiesce Traffic"> + <bpmn2:outgoing>SequenceFlow_1urt6le</bpmn2:outgoing> + <bpmn2:linkEventDefinition name="To Quiesce Traffic" /> + </bpmn2:intermediateCatchEvent> + <bpmn2:sequenceFlow id="SequenceFlow_1urt6le" sourceRef="IntermediateThrowEvent_1s7qalx" targetRef="Task_1cfkcss" /> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0l0rp9y" name="To Rainy Day Handling"> + <bpmn2:incoming>SequenceFlow_11o5j55</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To Rainy Day Handling" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:sequenceFlow id="SequenceFlow_11o5j55" name="yes" sourceRef="ExclusiveGateway_1etgtgi" targetRef="IntermediateThrowEvent_0l0rp9y"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:exclusiveGateway id="ExclusiveGateway_19an3h2" name="Error on SnapShot?" default="SequenceFlow_1fuaq5k"> + <bpmn2:incoming>SequenceFlow_19ba94v</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_1fuaq5k</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_04gth9f</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:sequenceFlow id="SequenceFlow_1fuaq5k" name="no" sourceRef="ExclusiveGateway_19an3h2" targetRef="Task_1mdr1nd" /> + <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_0a1s69h" name="To SnapShot"> + <bpmn2:outgoing>SequenceFlow_0if6xj4</bpmn2:outgoing> + <bpmn2:linkEventDefinition name="To SnapShot" /> + </bpmn2:intermediateCatchEvent> + <bpmn2:sequenceFlow id="SequenceFlow_0if6xj4" sourceRef="IntermediateThrowEvent_0a1s69h" targetRef="Task_0eae8go" /> + <bpmn2:sequenceFlow id="SequenceFlow_04gth9f" name="yes" sourceRef="ExclusiveGateway_19an3h2" targetRef="IntermediateThrowEvent_11vs7u4"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_11vs7u4" name="To Rainy Day Handling"> + <bpmn2:incoming>SequenceFlow_04gth9f</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To Rainy Day Handling" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:sequenceFlow id="SequenceFlow_1v59be9" sourceRef="IntermediateThrowEvent_162mb2a" targetRef="Task_1mdr1nd" /> + <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_162mb2a" name="To Upgrade Backup"> + <bpmn2:outgoing>SequenceFlow_1v59be9</bpmn2:outgoing> + <bpmn2:linkEventDefinition name="To Upgrade Backup" /> + </bpmn2:intermediateCatchEvent> + <bpmn2:exclusiveGateway id="ExclusiveGateway_0ssvndw" name="Error on UpgradeBackup?" default="SequenceFlow_0txgesu"> + <bpmn2:incoming>SequenceFlow_04rprct</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_1uceq96</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_0txgesu</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:sequenceFlow id="SequenceFlow_04rprct" sourceRef="Task_1mdr1nd" targetRef="ExclusiveGateway_0ssvndw" /> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1yfd3sz" name="To Rainy Day Handling"> + <bpmn2:incoming>SequenceFlow_1uceq96</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To Rainy Day Handling" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:sequenceFlow id="SequenceFlow_1uceq96" name="yes" sourceRef="ExclusiveGateway_0ssvndw" targetRef="IntermediateThrowEvent_1yfd3sz"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_0txgesu" name="no" sourceRef="ExclusiveGateway_0ssvndw" targetRef="Task_1hdg951" /> + <bpmn2:sequenceFlow id="SequenceFlow_0trguug" sourceRef="Task_0h2nq31" targetRef="ExclusiveGateway_1ozuicc" /> + <bpmn2:exclusiveGateway id="ExclusiveGateway_1ozuicc" name="Error on Resume Traffic?" default="SequenceFlow_1q3bwlt"> + <bpmn2:incoming>SequenceFlow_0trguug</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_1q3bwlt</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_1xg6pwh</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:sequenceFlow id="SequenceFlow_1q3bwlt" name="no" sourceRef="ExclusiveGateway_1ozuicc" targetRef="Task_1sove95" /> + <bpmn2:exclusiveGateway id="ExclusiveGateway_123vjyo" name="Error on VNF Unlock?" default="SequenceFlow_1nr9o85"> + <bpmn2:incoming>SequenceFlow_1xfbwpi</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_1nr9o85</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_0ttowkv</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:sequenceFlow id="SequenceFlow_1nr9o85" name="no" sourceRef="ExclusiveGateway_123vjyo" targetRef="Task_1drglpt" /> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1nij04n" name="To Rainy Day Handling"> + <bpmn2:incoming>SequenceFlow_1gagrha</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To Rainy Day Handling" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:sequenceFlow id="SequenceFlow_1gagrha" name="yes" sourceRef="ExclusiveGateway_02tj4dw" targetRef="IntermediateThrowEvent_1nij04n"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_16igl7b" sourceRef="IntermediateThrowEvent_0fhmhsk" targetRef="Task_1ca5ctq" /> + <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_0fhmhsk" name="To Upgrade PostCheck"> + <bpmn2:outgoing>SequenceFlow_16igl7b</bpmn2:outgoing> + <bpmn2:linkEventDefinition name="To Upgrade PostCheck" /> + </bpmn2:intermediateCatchEvent> + <bpmn2:sequenceFlow id="SequenceFlow_1urpp94" name="yes" sourceRef="ExclusiveGateway_1gn5lab" targetRef="IntermediateThrowEvent_0vf0a28"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0vf0a28" name="To Rainy Day Handling"> + <bpmn2:incoming>SequenceFlow_1urpp94</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To Rainy Day Handling" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:sequenceFlow id="SequenceFlow_1c2xyhk" name="no" sourceRef="ExclusiveGateway_1gn5lab" targetRef="Task_0h2nq31" /> + <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_0pxvl24" name="To Resume Traffic"> + <bpmn2:outgoing>SequenceFlow_0yja56j</bpmn2:outgoing> + <bpmn2:linkEventDefinition name="To Resume Traffic" /> + </bpmn2:intermediateCatchEvent> + <bpmn2:sequenceFlow id="SequenceFlow_0yja56j" sourceRef="IntermediateThrowEvent_0pxvl24" targetRef="Task_0h2nq31" /> + <bpmn2:sequenceFlow id="SequenceFlow_1xg6pwh" name="yes" sourceRef="ExclusiveGateway_1ozuicc" targetRef="IntermediateThrowEvent_1vjqksl"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1vjqksl" name="To Rainy Day Handling"> + <bpmn2:incoming>SequenceFlow_1xg6pwh</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To Rainy Day Handling" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_1vwqesb" name="To VNF Unlock"> + <bpmn2:outgoing>SequenceFlow_1hwtq9x</bpmn2:outgoing> + <bpmn2:linkEventDefinition name="To VNF Unlock" /> + </bpmn2:intermediateCatchEvent> + <bpmn2:sequenceFlow id="SequenceFlow_1hwtq9x" sourceRef="IntermediateThrowEvent_1vwqesb" targetRef="Task_1sove95" /> + <bpmn2:sequenceFlow id="SequenceFlow_0ttowkv" name="yes" sourceRef="ExclusiveGateway_123vjyo" targetRef="IntermediateThrowEvent_0m9jtv2"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0m9jtv2" name="To Rainy Day Handling"> + <bpmn2:incoming>SequenceFlow_0ttowkv</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To Rainy Day Handling" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_0pk24h2" name="To Upgrade Software"> + <bpmn2:outgoing>SequenceFlow_1colra4</bpmn2:outgoing> + <bpmn2:linkEventDefinition name="To Upgrade Software" /> + </bpmn2:intermediateCatchEvent> + <bpmn2:sequenceFlow id="SequenceFlow_1colra4" sourceRef="IntermediateThrowEvent_0pk24h2" targetRef="Task_1hdg951" /> + <bpmn2:exclusiveGateway id="ExclusiveGateway_18j1ow5" name="Error on Unset Closed Loop Disabled?" default="SequenceFlow_3"> + <bpmn2:incoming>SequenceFlow_1tzax6l</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_3</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_0w8mkkn</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:sequenceFlow id="SequenceFlow_0u6ho2p" name="no" sourceRef="ExclusiveGateway_0l2z6wc" targetRef="Task_0y1h8go" /> + <bpmn2:scriptTask id="Task_0y1h8go" name="Unset VF Is Closed Loop DisabledFlag in A&AI" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_0u6ho2p</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_09xxorv</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_1tzax6l</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def uvfm = new VnfInPlaceUpdate() +uvfm.setClosedLoopDisabledInAAI(execution, false) +]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_1tzax6l" sourceRef="Task_0y1h8go" targetRef="ExclusiveGateway_18j1ow5" /> + <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_0pmevcz" name="To unset inMaintenance"> + <bpmn2:outgoing>SequenceFlow_16ff86u</bpmn2:outgoing> + <bpmn2:linkEventDefinition name="To unset inMaintenance" /> + </bpmn2:intermediateCatchEvent> + <bpmn2:sequenceFlow id="SequenceFlow_16ff86u" sourceRef="IntermediateThrowEvent_0pmevcz" targetRef="Task_1drglpt" /> + <bpmn2:sequenceFlow id="SequenceFlow_0k3zxpd" name="yes" sourceRef="ExclusiveGateway_0l2z6wc" targetRef="IntermediateThrowEvent_1awckg7"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1awckg7" name="To Rainy Day Handling"> + <bpmn2:incoming>SequenceFlow_0k3zxpd</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To Rainy Day Handling" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_1b3smly" name="To unset Closed Loop Disabled"> + <bpmn2:outgoing>SequenceFlow_09xxorv</bpmn2:outgoing> + <bpmn2:linkEventDefinition name="To unset Closed Loop Disabled" /> + </bpmn2:intermediateCatchEvent> + <bpmn2:sequenceFlow id="SequenceFlow_09xxorv" sourceRef="IntermediateThrowEvent_1b3smly" targetRef="Task_0y1h8go" /> + <bpmn2:sequenceFlow id="SequenceFlow_0w8mkkn" name="yes" sourceRef="ExclusiveGateway_18j1ow5" targetRef="IntermediateThrowEvent_1cw8gsw"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("errorCode") != "0"]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1cw8gsw" name="To Rainy Day Handling"> + <bpmn2:incoming>SequenceFlow_0w8mkkn</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To Rainy Day Handling" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_0x846wp" name="To Completion Handler Prep"> + <bpmn2:outgoing>SequenceFlow_07uuj2d</bpmn2:outgoing> + <bpmn2:linkEventDefinition name="To Completion Handler Prep" /> + </bpmn2:intermediateCatchEvent> + <bpmn2:sequenceFlow id="SequenceFlow_07uuj2d" sourceRef="IntermediateThrowEvent_0x846wp" targetRef="ScriptTask_10" /> + <bpmn2:sequenceFlow id="SequenceFlow_0ueoglv" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_0rz6jh4"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[(execution.getVariable("disposition") == "Skip" && execution.getVariable("workStep") == "checkIfPserversInMaintInAAI") || +(execution.getVariable("disposition") == "Retry" && execution.getVariable("workStep") == "checkIfVnfInMaintInAAI")]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_15fqlwe" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_1wip9vc"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[(execution.getVariable("disposition") == "Skip" && execution.getVariable("workStep") == "checkIfVnfInMaintInAAI") || +(execution.getVariable("disposition") == "Retry" && execution.getVariable("workStep") == "setVnfInMaintFlagInAAI")]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_0yuj0l5" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_1hki8xj"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[(execution.getVariable("disposition") == "Skip" && execution.getVariable("workStep") == "setVnfInMaintFlagInAAI") || +(execution.getVariable("disposition") == "Retry" && execution.getVariable("workStep") == "checkClosedLoopDisabledFlagInAAI")]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_1abb030" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_1gfnt9b"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[(execution.getVariable("disposition") == "Skip" && execution.getVariable("workStep") == "checkClosedLoopDisabledFlagInAAI") || +(execution.getVariable("disposition") == "Retry" && execution.getVariable("workStep") == "setClosedLoopDisabledFlagInAAI")]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_0ls3ej5" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_1gzhs1a"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[(execution.getVariable("disposition") == "Skip" && execution.getVariable("workStep") == "setClosedLoopDisabledFlagInAAI") || +(execution.getVariable("disposition") == "Retry" && execution.getVariable("workStep") == "Lock")]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_1ar6ikk" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_1p9i2bi"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[(execution.getVariable("disposition") == "Skip" && execution.getVariable("workStep") == "UpgradePreCheck") || +(execution.getVariable("disposition") == "Retry" && execution.getVariable("workStep") == "QuiesceTraffic")]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_171iq7e" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_0rp1ax0"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[(execution.getVariable("disposition") == "Skip" && execution.getVariable("workStep") == "Snapshot") || +(execution.getVariable("disposition") == "Retry" && execution.getVariable("workStep") == "UpgradeBackup")]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_1553o9f" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_01ngkx2"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[(execution.getVariable("disposition") == "Skip" && execution.getVariable("workStep") == "UpgradeBackup") || +(execution.getVariable("disposition") == "Retry" && execution.getVariable("workStep") == "UpgradeSoftware")]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_0dmxwel" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_0lbd0cs"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[(execution.getVariable("disposition") == "Skip" && execution.getVariable("workStep") == "UpgradePostCheck") || +(execution.getVariable("disposition") == "Retry" && execution.getVariable("workStep") == "ResumeTraffic")]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_1id2p8y" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_1ycbds3"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[(execution.getVariable("disposition") == "Skip" && execution.getVariable("workStep") == "ResumeTraffic") || +(execution.getVariable("disposition") == "Retry" && execution.getVariable("workStep") == "Unlock")]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_0t53vux" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_1cp0hkt"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[(execution.getVariable("disposition") == "Skip" && execution.getVariable("workStep") == "Unlock") || +(execution.getVariable("disposition") == "Retry" && execution.getVariable("workStep") == "unsetVnfInMaintFlagInAAI")]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_11ck4qe" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_184w0i8"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[(execution.getVariable("disposition") == "Skip" && execution.getVariable("workStep") == "unsetVnfInMaintFlagInAAI") || +(execution.getVariable("disposition") == "Retry" && execution.getVariable("workStep") == "unsetClosedLoopDisabledFlagInAAI")]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_16d2ln4" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_1u9f9kp"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[(execution.getVariable("disposition") == "Skip" && execution.getVariable("workStep") == "unsetClosedLoopDisabledFlagInAAI") || +(execution.getVariable("disposition") == "Retry" && execution.getVariable("workStep") == "completionHandlerPrep")]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0rz6jh4" name="To inMaintenanceCheck"> + <bpmn2:incoming>SequenceFlow_0ueoglv</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To inMaintenanceCheck" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1wip9vc" name="To InMaintenance Set"> + <bpmn2:incoming>SequenceFlow_15fqlwe</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To InMaintenance Set" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1hki8xj" name="To check if Closed Loop Disabled"> + <bpmn2:incoming>SequenceFlow_0yuj0l5</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To check if Closed Loop Disabled" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1gfnt9b" name="To set Closed Loop Disabled"> + <bpmn2:incoming>SequenceFlow_1abb030</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To set Closed Loop Disabled" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1gzhs1a" name="To VNF Lock"> + <bpmn2:incoming>SequenceFlow_0ls3ej5</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To VNF Lock" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0385ons" name="To Upgrade PreCheck"> + <bpmn2:incoming>SequenceFlow_1quapjx</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To Upgrade PreCheck" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:sequenceFlow id="SequenceFlow_1quapjx" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_0385ons"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[(execution.getVariable("disposition") == "Skip" && execution.getVariable("workStep") == "Lock") || +(execution.getVariable("disposition") == "Retry" && execution.getVariable("workStep") == "UpgradePreCheck")]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1p9i2bi" name="To Quiesce Traffic"> + <bpmn2:incoming>SequenceFlow_1ar6ikk</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To Quiesce Traffic" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0ee7wot" name="To SnapShot"> + <bpmn2:incoming>SequenceFlow_1nlqlwn</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To SnapShot" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0rp1ax0" name="To Upgrade Backup"> + <bpmn2:incoming>SequenceFlow_171iq7e</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To Upgrade Backup" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_01ngkx2" name="To Upgrade Software"> + <bpmn2:incoming>SequenceFlow_1553o9f</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To Upgrade Software" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0lbd0cs" name="To Resume Traffic"> + <bpmn2:incoming>SequenceFlow_0dmxwel</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To Resume Traffic" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1ycbds3" name="To VNF Unlock"> + <bpmn2:incoming>SequenceFlow_1id2p8y</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To VNF Unlock" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1cp0hkt" name="To unset inMaintenance"> + <bpmn2:incoming>SequenceFlow_0t53vux</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To unset inMaintenance" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_184w0i8" name="To unset Closed Loop Disabled"> + <bpmn2:incoming>SequenceFlow_11ck4qe</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To unset Closed Loop Disabled" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1u9f9kp" name="To Completion Handler Prep"> + <bpmn2:incoming>SequenceFlow_16d2ln4</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To Completion Handler Prep" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_18wrvcy" name="To check if Physical Servers Are Locked"> + <bpmn2:outgoing>SequenceFlow_179tyul</bpmn2:outgoing> + <bpmn2:linkEventDefinition name="To check if Physical Servers Are Locked" /> + </bpmn2:intermediateCatchEvent> + <bpmn2:sequenceFlow id="SequenceFlow_179tyul" sourceRef="IntermediateThrowEvent_18wrvcy" targetRef="Task_0vy2zge" /> + <bpmn2:sequenceFlow id="SequenceFlow_101n488" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_17k1fmk"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("disposition") == "Retry" && execution.getVariable("workStep") == "checkIfPserversInMaintInAAI"]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_17k1fmk" name="To check if Physical Servers Are Locked"> + <bpmn2:incoming>SequenceFlow_101n488</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To check if Physical Servers Are Locked" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:intermediateCatchEvent id="IntermediateThrowEvent_1m7fq7a" name="To VNF Lock"> + <bpmn2:outgoing>SequenceFlow_1ood2pr</bpmn2:outgoing> + <bpmn2:linkEventDefinition name="To VNF Lock" /> + </bpmn2:intermediateCatchEvent> + <bpmn2:sequenceFlow id="SequenceFlow_1ood2pr" sourceRef="IntermediateThrowEvent_1m7fq7a" targetRef="Task_1dtbnuy" /> + <bpmn2:callActivity id="Task_0eae8go" name="Call APP-C SnapShot" calledElement="AppCClient"> + <bpmn2:extensionElements> + <camunda:in source="msoRequestId" target="msoRequestId" /> + <camunda:in source="actionSnapshot" target="action" /> + <camunda:in source="vnfId" target="vnfId" /> + <camunda:in source="payload" target="payload" /> + <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" /> + <camunda:out source="errorCode" target="errorCode" /> + <camunda:out source="errorText" target="errorText" /> + <camunda:out source="workStep" target="workStep" /> + <camunda:out source="failedActivity" target="failedActivity" /> + <camunda:in source="vmIdList" target="vmIdList" /> + <camunda:in source="aicIdentity" target="identityUrl" /> + </bpmn2:extensionElements> + <bpmn2:incoming>SequenceFlow_1c0vdki</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_0if6xj4</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_19ba94v</bpmn2:outgoing> + </bpmn2:callActivity> + <bpmn2:callActivity id="Task_1dtbnuy" name="Call APP-C VNF Lock" calledElement="AppCClient"> + <bpmn2:extensionElements> + <camunda:in source="msoRequestId" target="msoRequestId" /> + <camunda:in source="actionLock" target="action" /> + <camunda:in source="vnfId" target="vnfId" /> + <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" /> + <camunda:out source="errorCode" target="errorCode" /> + <camunda:out source="errorText" target="errorText" /> + <camunda:out source="workStep" target="workStep" /> + <camunda:out source="failedActivity" target="failedActivity" /> + <camunda:out source="rollbackVnfLock" target="rollbackVnfLock" /> + </bpmn2:extensionElements> + <bpmn2:incoming>SequenceFlow_1cjiv6i</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_1ood2pr</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_0xx8y1s</bpmn2:outgoing> + </bpmn2:callActivity> + <bpmn2:callActivity id="Task_1sove95" name="Call APP-C VNF Unlock" calledElement="AppCClient"> + <bpmn2:extensionElements> + <camunda:in source="msoRequestId" target="msoRequestId" /> + <camunda:in source="actionUnlock" target="action" /> + <camunda:in source="vnfId" target="vnfId" /> + <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" /> + <camunda:out source="errorCode" target="errorCode" /> + <camunda:out source="errorText" target="errorText" /> + <camunda:out source="workStep" target="workStep" /> + <camunda:out source="failedActivity" target="failedActivity" /> + <camunda:out source="rollbackVnfLock" target="rollbackVnfLock" /> + </bpmn2:extensionElements> + <bpmn2:incoming>SequenceFlow_1q3bwlt</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_1hwtq9x</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_1xfbwpi</bpmn2:outgoing> + </bpmn2:callActivity> + <bpmn2:callActivity id="Task_1fj63ov" name="Call APP-C UpgradePreCheck" calledElement="AppCClient"> + <bpmn2:extensionElements> + <camunda:in source="msoRequestId" target="msoRequestId" /> + <camunda:in source="actionUpgradePreCheck" target="action" /> + <camunda:in source="payload" target="payload" /> + <camunda:in source="vnfId" target="vnfId" /> + <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" /> + <camunda:out source="errorCode" target="errorCode" /> + <camunda:out source="errorText" target="errorText" /> + <camunda:out source="workStep" target="workStep" /> + <camunda:out source="failedActivity" target="failedActivity" /> + <camunda:in source="vnfName" target="vnfName" /> + </bpmn2:extensionElements> + <bpmn2:incoming>SequenceFlow_0qy68ib</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_16t9vai</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_0a6pdza</bpmn2:outgoing> + </bpmn2:callActivity> + <bpmn2:callActivity id="Task_1ca5ctq" name="Call APP-C Upgrade PostCheck" calledElement="AppCClient"> + <bpmn2:extensionElements> + <camunda:in source="msoRequestId" target="msoRequestId" /> + <camunda:in source="actionUpgradePostCheck" target="action" /> + <camunda:in source="payload" target="payload" /> + <camunda:in source="vnfId" target="vnfId" /> + <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" /> + <camunda:out source="errorCode" target="errorCode" /> + <camunda:out source="errorText" target="errorText" /> + <camunda:out source="workStep" target="workStep" /> + <camunda:out source="failedActivity" target="failedActivity" /> + <camunda:in source="vnfName" target="vnfName" /> + </bpmn2:extensionElements> + <bpmn2:incoming>SequenceFlow_162mm0m</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_16igl7b</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_1c79909</bpmn2:outgoing> + </bpmn2:callActivity> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1kbtw2p" name="To Upgrade PostCheck"> + <bpmn2:incoming>SequenceFlow_021ah63</bpmn2:incoming> + <bpmn2:linkEventDefinition name="To Upgrade PostCheck" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:sequenceFlow id="SequenceFlow_021ah63" sourceRef="ExclusiveGateway_0y82zzx" targetRef="IntermediateThrowEvent_1kbtw2p"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[(execution.getVariable("disposition") == "Skip" && execution.getVariable("workStep") == "UpgradeSoftware") || +(execution.getVariable("disposition") == "Retry" && execution.getVariable("workStep") == "UpgradePostCheck")]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:scriptTask id="ScriptTask_1qr054i" name="Increment Retry Count" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_1ijc733</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_0ai205d</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def uvfm = new VnfInPlaceUpdate() +uvfm.incrementRetryCount(execution) +]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:exclusiveGateway id="ExclusiveGateway_1g8h3lt" name="Retries Left?" default="SequenceFlow_0h64c4o"> + <bpmn2:incoming>SequenceFlow_0a2cv6d</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_1kntfys</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_0h64c4o</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:intermediateCatchEvent id="IntermediateCatchEvent_1bv97n4" name="RetryTimer"> + <bpmn2:incoming>SequenceFlow_0ai205d</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_0a2cv6d</bpmn2:outgoing> + <bpmn2:timerEventDefinition> + <bpmn2:timeDuration xsi:type="bpmn2:tFormalExpression">PT1M</bpmn2:timeDuration> + </bpmn2:timerEventDefinition> + </bpmn2:intermediateCatchEvent> + <bpmn2:sequenceFlow id="SequenceFlow_0ai205d" sourceRef="ScriptTask_1qr054i" targetRef="IntermediateCatchEvent_1bv97n4" /> + <bpmn2:sequenceFlow id="SequenceFlow_0a2cv6d" sourceRef="IntermediateCatchEvent_1bv97n4" targetRef="ExclusiveGateway_1g8h3lt" /> + <bpmn2:sequenceFlow id="SequenceFlow_1ijc733" name="Retry" sourceRef="ExclusiveGateway_0xlxgl0" targetRef="ScriptTask_1qr054i"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("disposition") == "Retry"]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_1kntfys" name="yes" sourceRef="ExclusiveGateway_1g8h3lt" targetRef="ExclusiveGateway_0y82zzx"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[String retryVariableName = execution.getVariable('retryCountVariableName') + +execution.getVariable(retryVariableName) < execution.getVariable("maxRetryCount")]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_0h64c4o" name="no" sourceRef="ExclusiveGateway_1g8h3lt" targetRef="Task_1tg549h" /> + <bpmn2:callActivity id="Task_0zbogrm" name="Rollback Processing" calledElement="RollbackVnf"> + <bpmn2:extensionElements> + <camunda:in source="msoRequestId" target="msoRequestId" /> + <camunda:in source="vnfId" target="vnfId" /> + <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" /> + <camunda:in source="rollbackSetClosedLoopDisabledFlag" target="rollbackSetClosedLoopDisabledFlag" /> + <camunda:in source="rollbackSetVnfInMaintenanceFlag" target="rollbackSetVnfInMaintenanceFlag" /> + <camunda:in source="rollbackVnfStop" target="rollbackVnfStop" /> + <camunda:in source="rollbackVnfLock" target="rollbackVnfLock" /> + <camunda:in source="errorCode" target="errorCode" /> + <camunda:out source="rollbackSuccessful" target="rollbackSuccessful" /> + <camunda:in source="rollbackQuiesceTraffic" target="rollbackQuiesceTraffic" /> + <camunda:in source="payload" target="payload" /> + <camunda:in source="vnfName" target="vnfName" /> + </bpmn2:extensionElements> + <bpmn2:incoming>SequenceFlow_1qr8msw</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_0syfgbo</bpmn2:outgoing> + </bpmn2:callActivity> + <bpmn2:sequenceFlow id="SequenceFlow_0syfgbo" sourceRef="Task_0zbogrm" targetRef="Task_1tg549h" /> + <bpmn2:callActivity id="Task_1cfkcss" name="Call APP-C QuiesceTraffic" calledElement="AppCClient"> + <bpmn2:extensionElements> + <camunda:in source="msoRequestId" target="msoRequestId" /> + <camunda:in source="actionQuiesceTraffic" target="action" /> + <camunda:in source="payload" target="payload" /> + <camunda:in source="vnfId" target="vnfId" /> + <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" /> + <camunda:out source="errorCode" target="errorCode" /> + <camunda:out source="errorText" target="errorText" /> + <camunda:out source="workStep" target="workStep" /> + <camunda:out source="failedActivity" target="failedActivity" /> + <camunda:in source="vnfName" target="vnfName" /> + <camunda:out source="rollbackQuiesceTraffic" target="rollbackQuiesceTraffic" /> + </bpmn2:extensionElements> + <bpmn2:incoming>SequenceFlow_0q0qan8</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_1urt6le</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_13h26h9</bpmn2:outgoing> + </bpmn2:callActivity> + <bpmn2:callActivity id="Task_1mdr1nd" name="Call APP-C Upgrade Backup" calledElement="AppCClient"> + <bpmn2:extensionElements> + <camunda:in source="msoRequestId" target="msoRequestId" /> + <camunda:in source="actionUpgradeBackup" target="action" /> + <camunda:in source="vnfId" target="vnfId" /> + <camunda:in source="payload" target="payload" /> + <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" /> + <camunda:out source="errorCode" target="errorCode" /> + <camunda:out source="errorText" target="errorText" /> + <camunda:out source="workStep" target="workStep" /> + <camunda:out source="failedActivity" target="failedActivity" /> + <camunda:in source="vnfName" target="vnfName" /> + </bpmn2:extensionElements> + <bpmn2:incoming>SequenceFlow_1fuaq5k</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_1v59be9</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_04rprct</bpmn2:outgoing> + </bpmn2:callActivity> + <bpmn2:callActivity id="Task_1hdg951" name="Call APP-C Upgrade Software" calledElement="AppCClient"> + <bpmn2:extensionElements> + <camunda:in source="msoRequestId" target="msoRequestId" /> + <camunda:in source="actionUpgradeSoftware" target="action" /> + <camunda:in source="payload" target="payload" /> + <camunda:in source="vnfId" target="vnfId" /> + <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" /> + <camunda:out source="errorCode" target="errorCode" /> + <camunda:out source="errorText" target="errorText" /> + <camunda:out source="workStep" target="workStep" /> + <camunda:out source="failedActivity" target="failedActivity" /> + <camunda:in source="vnfName" target="vnfName" /> + </bpmn2:extensionElements> + <bpmn2:incoming>SequenceFlow_0txgesu</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_1colra4</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_1uno5rs</bpmn2:outgoing> + </bpmn2:callActivity> + <bpmn2:callActivity id="Task_0h2nq31" name="Call APP-C Resume Traffic" calledElement="AppCClient"> + <bpmn2:extensionElements> + <camunda:in source="msoRequestId" target="msoRequestId" /> + <camunda:in source="actionResumeTraffic" target="action" /> + <camunda:in source="payload" target="payload" /> + <camunda:in source="vnfId" target="vnfId" /> + <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" /> + <camunda:out source="errorCode" target="errorCode" /> + <camunda:out source="errorText" target="errorText" /> + <camunda:out source="workStep" target="workStep" /> + <camunda:out source="failedActivity" target="failedActivity" /> + <camunda:in source="vnfName" target="vnfName" /> + <camunda:out source="rollbackQuiesceTraffic" target="rollbackQuiesceTraffic" /> + </bpmn2:extensionElements> + <bpmn2:incoming>SequenceFlow_1c2xyhk</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_0yja56j</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_0trguug</bpmn2:outgoing> + </bpmn2:callActivity> + <bpmn2:exclusiveGateway id="ExclusiveGateway_1slvyx2" name="Error on VNF Lock?" default="SequenceFlow_0qy68ib"> + <bpmn2:incoming>SequenceFlow_0xx8y1s</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_1j81s6b</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_0qy68ib</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + </bpmn2:process> + <bpmn2:error id="Error_1" name="MSOWorkflowException" errorCode="MSOWorkflowException" /> + <bpmndi:BPMNDiagram id="BPMNDiagram_1"> + <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="VnfInPlaceUpdate"> + <bpmndi:BPMNShape id="_BPMNShape_StartEvent_50" bpmnElement="StartEvent_1"> + <dc:Bounds x="97" y="72" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="103" y="113" width="23" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_EndEvent_125" bpmnElement="EndEvent_1"> + <dc:Bounds x="569" y="1073" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="568" y="1114" width="38" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_4" bpmnElement="SequenceFlow_4" sourceElement="_BPMNShape_StartEvent_50" targetElement="_BPMNShape_ScriptTask_124"> + <di:waypoint xsi:type="dc:Point" x="133" y="90" /> + <di:waypoint xsi:type="dc:Point" x="209" y="90" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="171" y="75" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_124" bpmnElement="PreProcessRequest"> + <dc:Bounds x="209" y="50" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_5" bpmnElement="SequenceFlow_5" sourceElement="_BPMNShape_ScriptTask_124" targetElement="_BPMNShape_ScriptTask_125"> + <di:waypoint xsi:type="dc:Point" x="309" y="90" /> + <di:waypoint xsi:type="dc:Point" x="373" y="90" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="341" y="75" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_125" bpmnElement="ScriptTask_1"> + <dc:Bounds x="373" y="50" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_2" bpmnElement="SequenceFlow_2" sourceElement="_BPMNShape_ScriptTask_125"> + <di:waypoint xsi:type="dc:Point" x="473" y="237" /> + <di:waypoint xsi:type="dc:Point" x="513" y="237" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="493" y="222" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_127" bpmnElement="ScriptTask_4"> + <dc:Bounds x="415" y="1051" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_6" bpmnElement="SequenceFlow_6" sourceElement="_BPMNShape_ScriptTask_127" targetElement="_BPMNShape_EndEvent_125"> + <di:waypoint xsi:type="dc:Point" x="515" y="1091" /> + <di:waypoint xsi:type="dc:Point" x="549" y="1091" /> + <di:waypoint xsi:type="dc:Point" x="549" y="1091" /> + <di:waypoint xsi:type="dc:Point" x="569" y="1091" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="564" y="1091" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_133" bpmnElement="ScriptTask_10"> + <dc:Bounds x="126" y="1051" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_CallActivity_27" bpmnElement="CallActivity_1"> + <dc:Bounds x="269" y="1051" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_17" bpmnElement="SequenceFlow_17" sourceElement="_BPMNShape_ScriptTask_133" targetElement="_BPMNShape_CallActivity_27"> + <di:waypoint xsi:type="dc:Point" x="226" y="1091" /> + <di:waypoint xsi:type="dc:Point" x="248" y="1091" /> + <di:waypoint xsi:type="dc:Point" x="248" y="1091" /> + <di:waypoint xsi:type="dc:Point" x="269" y="1091" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="263" y="1091" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_SubProcess_17" bpmnElement="SubProcess_1" isExpanded="true"> + <dc:Bounds x="103" y="1374" width="836" height="242" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_StartEvent_52" bpmnElement="StartEvent_3"> + <dc:Bounds x="167" y="1468" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="146" y="1509" width="77" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_136" bpmnElement="ScriptTask_3"> + <dc:Bounds x="613" y="1446" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_1" bpmnElement="SequenceFlow_1" sourceElement="_BPMNShape_StartEvent_52" targetElement="_BPMNShape_ScriptTask_136"> + <di:waypoint xsi:type="dc:Point" x="203" y="1486" /> + <di:waypoint xsi:type="dc:Point" x="233" y="1486" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="218" y="1471" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_7" bpmnElement="SequenceFlow_7" sourceElement="_BPMNShape_ScriptTask_136" targetElement="_BPMNShape_CallActivity_28"> + <di:waypoint xsi:type="dc:Point" x="713" y="1486" /> + <di:waypoint xsi:type="dc:Point" x="748" y="1486" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="731" y="1471" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_EndEvent_126" bpmnElement="EndEvent_2"> + <dc:Bounds x="880" y="1468" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="898" y="1509" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_BoundaryEvent_43" bpmnElement="BoundaryEvent_1"> + <dc:Bounds x="921" y="1468" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="939" y="1509" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_EndEvent_127" bpmnElement="EndEvent_3"> + <dc:Bounds x="997" y="1468" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1015" y="1509" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_12" bpmnElement="SequenceFlow_12" sourceElement="_BPMNShape_BoundaryEvent_43" targetElement="_BPMNShape_EndEvent_127"> + <di:waypoint xsi:type="dc:Point" x="957" y="1486" /> + <di:waypoint xsi:type="dc:Point" x="997" y="1486" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="977" y="1471" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_CallActivity_28" bpmnElement="CallActivity_2"> + <dc:Bounds x="748" y="1446" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_14" bpmnElement="SequenceFlow_14" sourceElement="_BPMNShape_CallActivity_27" targetElement="_BPMNShape_ScriptTask_127"> + <di:waypoint xsi:type="dc:Point" x="369" y="1091" /> + <di:waypoint xsi:type="dc:Point" x="392" y="1091" /> + <di:waypoint xsi:type="dc:Point" x="392" y="1091" /> + <di:waypoint xsi:type="dc:Point" x="415" y="1091" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="407" y="1091" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_19" bpmnElement="SequenceFlow_19" sourceElement="_BPMNShape_CallActivity_28" targetElement="_BPMNShape_EndEvent_126"> + <di:waypoint xsi:type="dc:Point" x="848" y="1486" /> + <di:waypoint xsi:type="dc:Point" x="880" y="1486" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="864" y="1471" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_3" bpmnElement="SequenceFlow_3" targetElement="_BPMNShape_ScriptTask_133"> + <di:waypoint xsi:type="dc:Point" x="1459" y="800" /> + <di:waypoint xsi:type="dc:Point" x="1561" y="800" /> + <di:waypoint xsi:type="dc:Point" x="1561" y="989" /> + <di:waypoint xsi:type="dc:Point" x="99" y="989" /> + <di:waypoint xsi:type="dc:Point" x="99" y="1091" /> + <di:waypoint xsi:type="dc:Point" x="126" y="1091" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1482" y="772.5275881403734" width="12" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_053qjfy_di" bpmnElement="SequenceFlow_053qjfy"> + <di:waypoint xsi:type="dc:Point" x="671" y="90" /> + <di:waypoint xsi:type="dc:Point" x="982" y="90" /> + <di:waypoint xsi:type="dc:Point" x="982" y="156" /> + <di:waypoint xsi:type="dc:Point" x="103" y="156" /> + <di:waypoint xsi:type="dc:Point" x="103" y="237" /> + <di:waypoint xsi:type="dc:Point" x="131" y="237" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="543" y="141" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ScriptTask_08xzuox_di" bpmnElement="Task_1opcb4j"> + <dc:Bounds x="571" y="50" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_0y0jt4l_di" bpmnElement="SequenceFlow_0y0jt4l"> + <di:waypoint xsi:type="dc:Point" x="473" y="90" /> + <di:waypoint xsi:type="dc:Point" x="571" y="90" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="522" y="75" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ScriptTask_19pf9z8_di" bpmnElement="Task_1rxiqe1"> + <dc:Bounds x="373" y="197" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_0usxnlk_di" bpmnElement="SequenceFlow_0usxnlk"> + <di:waypoint xsi:type="dc:Point" x="231" y="237" /> + <di:waypoint xsi:type="dc:Point" x="279" y="237" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="255" y="222" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ScriptTask_0wa4zya_di" bpmnElement="Task_0ap39ka"> + <dc:Bounds x="608" y="197" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ScriptTask_0sgm9bu_di" bpmnElement="Task_1drglpt"> + <dc:Bounds x="1058" y="760" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ScriptTask_16jtt5t_di" bpmnElement="Task_0vy2zge"> + <dc:Bounds x="131" y="197" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_0xx8y1s_di" bpmnElement="SequenceFlow_0xx8y1s"> + <di:waypoint xsi:type="dc:Point" x="226" y="510" /> + <di:waypoint xsi:type="dc:Point" x="266" y="510" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="246" y="495" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_0a6pdza_di" bpmnElement="SequenceFlow_0a6pdza"> + <di:waypoint xsi:type="dc:Point" x="464" y="510" /> + <di:waypoint xsi:type="dc:Point" x="513" y="510" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="489" y="495" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_13h26h9_di" bpmnElement="SequenceFlow_13h26h9"> + <di:waypoint xsi:type="dc:Point" x="700" y="510" /> + <di:waypoint xsi:type="dc:Point" x="735" y="510" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="718" y="495" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_1uno5rs_di" bpmnElement="SequenceFlow_1uno5rs"> + <di:waypoint xsi:type="dc:Point" x="223" y="800" /> + <di:waypoint xsi:type="dc:Point" x="266" y="800" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="245" y="785" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_1c79909_di" bpmnElement="SequenceFlow_1c79909"> + <di:waypoint xsi:type="dc:Point" x="464" y="800" /> + <di:waypoint xsi:type="dc:Point" x="513" y="800" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="489" y="785" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_1xfbwpi_di" bpmnElement="SequenceFlow_1xfbwpi"> + <di:waypoint xsi:type="dc:Point" x="926" y="800" /> + <di:waypoint xsi:type="dc:Point" x="955" y="800" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="941" y="785" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ExclusiveGateway_0q323wc_di" bpmnElement="ExclusiveGateway_0q323wc" isMarkerVisible="true"> + <dc:Bounds x="279" y="212" width="50" height="50" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="260" y="173" width="87" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_16mo99z_di" bpmnElement="SequenceFlow_16mo99z"> + <di:waypoint xsi:type="dc:Point" x="329" y="237" /> + <di:waypoint xsi:type="dc:Point" x="373" y="237" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="345" y="213" width="12" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ExclusiveGateway_045e1uz_di" bpmnElement="ExclusiveGateway_045e1uz" isMarkerVisible="true"> + <dc:Bounds x="513" y="212" width="50" height="50" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="501" y="163" width="73" height="36" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_0baosqi_di" bpmnElement="SequenceFlow_0baosqi"> + <di:waypoint xsi:type="dc:Point" x="563" y="237" /> + <di:waypoint xsi:type="dc:Point" x="608" y="237" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="579" y="214" width="12" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="CallActivity_1k5n5d1_di" bpmnElement="Task_0q5cdit"> + <dc:Bounds x="1592" y="470" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_0v0u7mf_di" bpmnElement="SequenceFlow_0v0u7mf"> + <di:waypoint xsi:type="dc:Point" x="1692" y="510" /> + <di:waypoint xsi:type="dc:Point" x="1774" y="510" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1733" y="495" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_0vpd06n_di" bpmnElement="SequenceFlow_0vpd06n"> + <di:waypoint xsi:type="dc:Point" x="1799" y="485" /> + <di:waypoint xsi:type="dc:Point" x="1799" y="392" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1806" y="430.60504201680675" width="26" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_1qr8msw_di" bpmnElement="SequenceFlow_1qr8msw"> + <di:waypoint xsi:type="dc:Point" x="1799" y="535" /> + <di:waypoint xsi:type="dc:Point" x="1799" y="562" /> + <di:waypoint xsi:type="dc:Point" x="1799" y="562" /> + <di:waypoint xsi:type="dc:Point" x="1799" y="604" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1778" y="553" width="42" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ExclusiveGateway_0ud5uwa_di" bpmnElement="ExclusiveGateway_0ud5uwa" isMarkerVisible="true"> + <dc:Bounds x="735" y="212" width="50" height="50" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="731" y="166" width="73" height="36" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_0k3fx7p_di" bpmnElement="SequenceFlow_0k3fx7p"> + <di:waypoint xsi:type="dc:Point" x="708" y="237" /> + <di:waypoint xsi:type="dc:Point" x="735" y="237" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="722" y="222" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_0qy68ib_di" bpmnElement="SequenceFlow_0qy68ib"> + <di:waypoint xsi:type="dc:Point" x="316" y="510" /> + <di:waypoint xsi:type="dc:Point" x="341" y="510" /> + <di:waypoint xsi:type="dc:Point" x="341" y="510" /> + <di:waypoint xsi:type="dc:Point" x="364" y="510" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="333" y="487" width="12" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ExclusiveGateway_1ichg7h_di" bpmnElement="ExclusiveGateway_1ichg7h" isMarkerVisible="true"> + <dc:Bounds x="513" y="485" width="50" height="50" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="495" y="443" width="85" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_0q0qan8_di" bpmnElement="SequenceFlow_0q0qan8"> + <di:waypoint xsi:type="dc:Point" x="563" y="510" /> + <di:waypoint xsi:type="dc:Point" x="600" y="510" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="573" y="491" width="12" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ExclusiveGateway_1etgtgi_di" bpmnElement="ExclusiveGateway_1etgtgi" isMarkerVisible="true"> + <dc:Bounds x="735" y="485" width="50" height="50" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="716" y="445" width="87" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1c0vdki_di" bpmnElement="SequenceFlow_1c0vdki"> + <di:waypoint xsi:type="dc:Point" x="785" y="510" /> + <di:waypoint xsi:type="dc:Point" x="826" y="510" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="804" y="487" width="12" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ExclusiveGateway_02tj4dw_di" bpmnElement="ExclusiveGateway_02tj4dw" isMarkerVisible="true"> + <dc:Bounds x="266" y="775" width="50" height="50" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="247" y="735" width="88" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_162mm0m_di" bpmnElement="SequenceFlow_162mm0m"> + <di:waypoint xsi:type="dc:Point" x="316" y="800" /> + <di:waypoint xsi:type="dc:Point" x="364" y="800" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="333" y="780" width="12" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ExclusiveGateway_1gn5lab_di" bpmnElement="ExclusiveGateway_1gn5lab" isMarkerVisible="true"> + <dc:Bounds x="513" y="775" width="50" height="50" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="502" y="735" width="72" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ExclusiveGateway_0l2z6wc_di" bpmnElement="ExclusiveGateway_0l2z6wc" isMarkerVisible="true"> + <dc:Bounds x="1195" y="775" width="50" height="50" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1183" y="728" width="73" height="36" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_12mfil6_di" bpmnElement="SequenceFlow_12mfil6"> + <di:waypoint xsi:type="dc:Point" x="1158" y="800" /> + <di:waypoint xsi:type="dc:Point" x="1195" y="800" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1178" y="785" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ScriptTask_1lb0lk5_di" bpmnElement="Task_1tg549h"> + <dc:Bounds x="1749" y="312" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ExclusiveGateway_1gmvi7n_di" bpmnElement="ExclusiveGateway_0xlxgl0" isMarkerVisible="true"> + <dc:Bounds x="1774" y="485" width="50" height="50" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1755" y="467" width="88" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ExclusiveGateway_0y82zzx_di" bpmnElement="ExclusiveGateway_0y82zzx" isMarkerVisible="true"> + <dc:Bounds x="2087" y="485" width="50" height="50" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="2047" y="477" width="54" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_05gpym3_di" bpmnElement="SequenceFlow_05gpym3"> + <di:waypoint xsi:type="dc:Point" x="1824" y="510" /> + <di:waypoint xsi:type="dc:Point" x="2087" y="510" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1922" y="516" width="21" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_19ba94v_di" bpmnElement="SequenceFlow_19ba94v"> + <di:waypoint xsi:type="dc:Point" x="926" y="510" /> + <di:waypoint xsi:type="dc:Point" x="955" y="510" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="941" y="495" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_1nlqlwn_di" bpmnElement="SequenceFlow_1nlqlwn"> + <di:waypoint xsi:type="dc:Point" x="2137" y="510" /> + <di:waypoint xsi:type="dc:Point" x="2261" y="510" /> + <di:waypoint xsi:type="dc:Point" x="2261" y="510" /> + <di:waypoint xsi:type="dc:Point" x="2385" y="510" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="2249" y="459" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_1c022sy_di" bpmnElement="SequenceFlow_1c022sy"> + <di:waypoint xsi:type="dc:Point" x="2112" y="485" /> + <di:waypoint xsi:type="dc:Point" x="2112" y="352" /> + <di:waypoint xsi:type="dc:Point" x="1849" y="352" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="2127" y="418.5" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_06ev8or_di" bpmnElement="SequenceFlow_06ev8or"> + <di:waypoint xsi:type="dc:Point" x="304" y="262" /> + <di:waypoint xsi:type="dc:Point" x="304" y="288" /> + <di:waypoint xsi:type="dc:Point" x="304" y="288" /> + <di:waypoint xsi:type="dc:Point" x="304" y="308" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="314" y="273" width="18" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="IntermediateThrowEvent_0o6fb4f_di" bpmnElement="IntermediateThrowEvent_0zmqbae"> + <dc:Bounds x="286" y="308" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="269" y="343.609" width="69" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_0nob5cp_di" bpmnElement="SequenceFlow_0nob5cp"> + <di:waypoint xsi:type="dc:Point" x="1506" y="510" /> + <di:waypoint xsi:type="dc:Point" x="1592" y="510" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1549" y="495" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_076leae_di" bpmnElement="SequenceFlow_076leae"> + <di:waypoint xsi:type="dc:Point" x="926" y="237" /> + <di:waypoint xsi:type="dc:Point" x="955" y="237" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="941" y="222" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ScriptTask_0cbpm7l_di" bpmnElement="Task_0e313zv"> + <dc:Bounds x="826" y="197" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ExclusiveGateway_1rglbmr_di" bpmnElement="ExclusiveGateway_1rglbmr" isMarkerVisible="true"> + <dc:Bounds x="955.192" y="212" width="50" height="50" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="936" y="164" width="88" height="36" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_0du9273_di" bpmnElement="SequenceFlow_0du9273"> + <di:waypoint xsi:type="dc:Point" x="1005" y="237" /> + <di:waypoint xsi:type="dc:Point" x="1046" y="237" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1020" y="212" width="12" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="IntermediateCatchEvent_1p06jf5_di" bpmnElement="IntermediateThrowEvent_0z0t7rn"> + <dc:Bounds x="1470" y="492" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1455" y="538" width="65" height="25" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateThrowEvent_0xwlxk9_di" bpmnElement="IntermediateThrowEvent_1qkzlba"> + <dc:Bounds x="520" y="308" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="503" y="344" width="69" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1cdfjed_di" bpmnElement="SequenceFlow_1cdfjed"> + <di:waypoint xsi:type="dc:Point" x="538" y="262" /> + <di:waypoint xsi:type="dc:Point" x="538" y="308" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="544" y="275" width="18" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="IntermediateThrowEvent_113xxsl_di" bpmnElement="IntermediateThrowEvent_0rnlvmz"> + <dc:Bounds x="742" y="308" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="725" y="344" width="69" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_17g62fl_di" bpmnElement="SequenceFlow_17g62fl"> + <di:waypoint xsi:type="dc:Point" x="760" y="262" /> + <di:waypoint xsi:type="dc:Point" x="760" y="308" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="766" y="275" width="18" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="IntermediateThrowEvent_0iyegh1_di" bpmnElement="IntermediateThrowEvent_0v69raz"> + <dc:Bounds x="962" y="308" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="945" y="343.609" width="69" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_0zh8r6j_di" bpmnElement="SequenceFlow_0zh8r6j"> + <di:waypoint xsi:type="dc:Point" x="980" y="262" /> + <di:waypoint xsi:type="dc:Point" x="980" y="308" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="986" y="285" width="17" height="13" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="IntermediateCatchEvent_07pur50_di" bpmnElement="IntermediateThrowEvent_15hlkuq"> + <dc:Bounds x="405" y="308" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="381" y="344" width="83" height="36" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_09lrk4q_di" bpmnElement="SequenceFlow_09lrk4q"> + <di:waypoint xsi:type="dc:Point" x="423" y="308" /> + <di:waypoint xsi:type="dc:Point" x="423" y="277" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="438" y="292.5" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_1eezqx8_di" bpmnElement="SequenceFlow_1eezqx8"> + <di:waypoint xsi:type="dc:Point" x="658" y="308" /> + <di:waypoint xsi:type="dc:Point" x="658" y="277" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="673" y="292.5" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="IntermediateCatchEvent_1pog9t5_di" bpmnElement="IntermediateThrowEvent_1lrkrsn"> + <dc:Bounds x="640" y="308" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="614" y="343.609" width="88" height="25" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateCatchEvent_1rtf0em_di" bpmnElement="IntermediateThrowEvent_1wdxgjm"> + <dc:Bounds x="858" y="308" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="844" y="344" width="64" height="37" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_0zzwdwf_di" bpmnElement="SequenceFlow_0zzwdwf"> + <di:waypoint xsi:type="dc:Point" x="876" y="308" /> + <di:waypoint xsi:type="dc:Point" x="876" y="277" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="891" y="292.5" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_06ajc11_di" bpmnElement="SequenceFlow_06ajc11"> + <di:waypoint xsi:type="dc:Point" x="785" y="237" /> + <di:waypoint xsi:type="dc:Point" x="826" y="237" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="800" y="212" width="12" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_179z9vl_di" bpmnElement="SequenceFlow_179z9vl"> + <di:waypoint xsi:type="dc:Point" x="1146" y="237" /> + <di:waypoint xsi:type="dc:Point" x="1184" y="237" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1165" y="222" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ScriptTask_1iio503_di" bpmnElement="Task_0n1d5f2"> + <dc:Bounds x="1046" y="197" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_032tm9y_di" bpmnElement="SequenceFlow_032tm9y"> + <di:waypoint xsi:type="dc:Point" x="1096" y="308" /> + <di:waypoint xsi:type="dc:Point" x="1096" y="277" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1111" y="292.5" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="IntermediateCatchEvent_0jhmy9d_di" bpmnElement="IntermediateThrowEvent_1552q1o"> + <dc:Bounds x="1078" y="308" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1061" y="344" width="70" height="25" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ExclusiveGateway_148eo7w_di" bpmnElement="ExclusiveGateway_148eo7w" isMarkerVisible="true"> + <dc:Bounds x="1184.192" y="212" width="50" height="50" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1167" y="149" width="83" height="48" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1cjiv6i_di" bpmnElement="SequenceFlow_1cjiv6i"> + <di:waypoint xsi:type="dc:Point" x="1234" y="237" /> + <di:waypoint xsi:type="dc:Point" x="1285" y="237" /> + <di:waypoint xsi:type="dc:Point" x="1285" y="401" /> + <di:waypoint xsi:type="dc:Point" x="98" y="401" /> + <di:waypoint xsi:type="dc:Point" x="98" y="510" /> + <di:waypoint xsi:type="dc:Point" x="126" y="510" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1249" y="211" width="12" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="IntermediateThrowEvent_1qtnv6e_di" bpmnElement="IntermediateThrowEvent_16r1jxm"> + <dc:Bounds x="1191" y="299" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1174" y="334.609" width="69" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1q3oxtf_di" bpmnElement="SequenceFlow_1q3oxtf"> + <di:waypoint xsi:type="dc:Point" x="1209" y="262" /> + <di:waypoint xsi:type="dc:Point" x="1209" y="299" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1215" y="270.5" width="18" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="IntermediateThrowEvent_1uscpd8_di" bpmnElement="IntermediateThrowEvent_1agn6fn"> + <dc:Bounds x="273" y="581" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="256" y="617" width="69" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1j81s6b_di" bpmnElement="SequenceFlow_1j81s6b"> + <di:waypoint xsi:type="dc:Point" x="291" y="535" /> + <di:waypoint xsi:type="dc:Point" x="291" y="581" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="297" y="548" width="18" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="IntermediateCatchEvent_1ogs7t2_di" bpmnElement="IntermediateThrowEvent_02hirbh"> + <dc:Bounds x="396" y="581" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="384" y="617" width="59" height="25" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_16t9vai_di" bpmnElement="SequenceFlow_16t9vai"> + <di:waypoint xsi:type="dc:Point" x="414" y="581" /> + <di:waypoint xsi:type="dc:Point" x="414" y="550" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="429" y="565.5" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="IntermediateThrowEvent_0f6lh1n_di" bpmnElement="IntermediateThrowEvent_0pnzq4y"> + <dc:Bounds x="520" y="581" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="503" y="617" width="69" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_02mk8vs_di" bpmnElement="SequenceFlow_02mk8vs"> + <di:waypoint xsi:type="dc:Point" x="538" y="535" /> + <di:waypoint xsi:type="dc:Point" x="538" y="558" /> + <di:waypoint xsi:type="dc:Point" x="538" y="558" /> + <di:waypoint xsi:type="dc:Point" x="538" y="581" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="544" y="558" width="18" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="IntermediateCatchEvent_17zqxs1_di" bpmnElement="IntermediateThrowEvent_1s7qalx"> + <dc:Bounds x="632" y="581" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="607" y="617" width="85" height="13" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1urt6le_di" bpmnElement="SequenceFlow_1urt6le"> + <di:waypoint xsi:type="dc:Point" x="650" y="581" /> + <di:waypoint xsi:type="dc:Point" x="650" y="550" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="665" y="565.5" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="IntermediateThrowEvent_077262y_di" bpmnElement="IntermediateThrowEvent_0l0rp9y"> + <dc:Bounds x="742" y="581" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="725" y="617" width="69" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_11o5j55_di" bpmnElement="SequenceFlow_11o5j55"> + <di:waypoint xsi:type="dc:Point" x="760" y="535" /> + <di:waypoint xsi:type="dc:Point" x="760" y="581" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="766" y="548" width="18" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ExclusiveGateway_19an3h2_di" bpmnElement="ExclusiveGateway_19an3h2" isMarkerVisible="true"> + <dc:Bounds x="955" y="485" width="50" height="50" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="953" y="441" width="53" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1fuaq5k_di" bpmnElement="SequenceFlow_1fuaq5k"> + <di:waypoint xsi:type="dc:Point" x="1005" y="510" /> + <di:waypoint xsi:type="dc:Point" x="1064" y="510" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1030" y="485" width="12" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="IntermediateCatchEvent_199cotj_di" bpmnElement="IntermediateThrowEvent_0a1s69h"> + <dc:Bounds x="858" y="581" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="844" y="617" width="63" height="13" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_0if6xj4_di" bpmnElement="SequenceFlow_0if6xj4"> + <di:waypoint xsi:type="dc:Point" x="876" y="581" /> + <di:waypoint xsi:type="dc:Point" x="876" y="550" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="891" y="565.5" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_04gth9f_di" bpmnElement="SequenceFlow_04gth9f"> + <di:waypoint xsi:type="dc:Point" x="980" y="535" /> + <di:waypoint xsi:type="dc:Point" x="980" y="581" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="986" y="558" width="18" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="IntermediateThrowEvent_1ly7m7x_di" bpmnElement="IntermediateThrowEvent_11vs7u4"> + <dc:Bounds x="962" y="581" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="945" y="617" width="69" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1v59be9_di" bpmnElement="SequenceFlow_1v59be9"> + <di:waypoint xsi:type="dc:Point" x="1114" y="581" /> + <di:waypoint xsi:type="dc:Point" x="1114" y="550" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1129" y="565.5" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="IntermediateCatchEvent_0gvhqjf_di" bpmnElement="IntermediateThrowEvent_162mb2a"> + <dc:Bounds x="1096" y="581" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1084" y="617" width="60" height="25" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ExclusiveGateway_0ssvndw_di" bpmnElement="ExclusiveGateway_0ssvndw" isMarkerVisible="true"> + <dc:Bounds x="1195.192" y="485" width="50" height="50" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1177" y="439" width="85" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_04rprct_di" bpmnElement="SequenceFlow_04rprct"> + <di:waypoint xsi:type="dc:Point" x="1164" y="510" /> + <di:waypoint xsi:type="dc:Point" x="1195" y="510" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1180" y="495" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="IntermediateThrowEvent_14s9cw9_di" bpmnElement="IntermediateThrowEvent_1yfd3sz"> + <dc:Bounds x="1202" y="581" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1185" y="617" width="69" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1uceq96_di" bpmnElement="SequenceFlow_1uceq96"> + <di:waypoint xsi:type="dc:Point" x="1220" y="535" /> + <di:waypoint xsi:type="dc:Point" x="1220" y="581" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1226" y="548" width="18" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_0txgesu_di" bpmnElement="SequenceFlow_0txgesu"> + <di:waypoint xsi:type="dc:Point" x="1245" y="510" /> + <di:waypoint xsi:type="dc:Point" x="1286" y="510" /> + <di:waypoint xsi:type="dc:Point" x="1286" y="676" /> + <di:waypoint xsi:type="dc:Point" x="95" y="676" /> + <di:waypoint xsi:type="dc:Point" x="95" y="800" /> + <di:waypoint xsi:type="dc:Point" x="123" y="800" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1259" y="488" width="12" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_0trguug_di" bpmnElement="SequenceFlow_0trguug"> + <di:waypoint xsi:type="dc:Point" x="701" y="800" /> + <di:waypoint xsi:type="dc:Point" x="735" y="800" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="718" y="785" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ExclusiveGateway_1ozuicc_di" bpmnElement="ExclusiveGateway_1ozuicc" isMarkerVisible="true"> + <dc:Bounds x="735.304" y="775" width="50" height="50" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="716" y="735" width="87" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1q3bwlt_di" bpmnElement="SequenceFlow_1q3bwlt"> + <di:waypoint xsi:type="dc:Point" x="785.304" y="800" /> + <di:waypoint xsi:type="dc:Point" x="826" y="800" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="800" y="775" width="12" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ExclusiveGateway_123vjyo_di" bpmnElement="ExclusiveGateway_123vjyo" isMarkerVisible="true"> + <dc:Bounds x="955" y="775" width="50" height="50" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="946" y="735" width="68" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1nr9o85_di" bpmnElement="SequenceFlow_1nr9o85"> + <di:waypoint xsi:type="dc:Point" x="1005" y="800" /> + <di:waypoint xsi:type="dc:Point" x="1037" y="800" /> + <di:waypoint xsi:type="dc:Point" x="1037" y="800" /> + <di:waypoint xsi:type="dc:Point" x="1058" y="800" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1024" y="772" width="12" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="IntermediateThrowEvent_11ot6vh_di" bpmnElement="IntermediateThrowEvent_1nij04n"> + <dc:Bounds x="273" y="886" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="256" y="921.6089999999999" width="69" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1gagrha_di" bpmnElement="SequenceFlow_1gagrha"> + <di:waypoint xsi:type="dc:Point" x="291" y="825" /> + <di:waypoint xsi:type="dc:Point" x="291" y="886" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="297" y="845.5" width="18" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_16igl7b_di" bpmnElement="SequenceFlow_16igl7b"> + <di:waypoint xsi:type="dc:Point" x="414" y="886" /> + <di:waypoint xsi:type="dc:Point" x="414" y="840" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="429" y="863" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="IntermediateCatchEvent_174wgan_di" bpmnElement="IntermediateThrowEvent_0fhmhsk"> + <dc:Bounds x="396" y="886" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="384" y="922" width="59" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1urpp94_di" bpmnElement="SequenceFlow_1urpp94"> + <di:waypoint xsi:type="dc:Point" x="538" y="825" /> + <di:waypoint xsi:type="dc:Point" x="538" y="886" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="544" y="855.5" width="18" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="IntermediateThrowEvent_1vi3wf9_di" bpmnElement="IntermediateThrowEvent_0vf0a28"> + <dc:Bounds x="520" y="886" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="503" y="922" width="69" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1c2xyhk_di" bpmnElement="SequenceFlow_1c2xyhk"> + <di:waypoint xsi:type="dc:Point" x="563" y="800" /> + <di:waypoint xsi:type="dc:Point" x="601" y="800" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="577" y="775" width="12" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="IntermediateCatchEvent_165ve6q_di" bpmnElement="IntermediateThrowEvent_0pxvl24"> + <dc:Bounds x="632" y="886" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="607" y="922" width="85" height="13" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_0yja56j_di" bpmnElement="SequenceFlow_0yja56j"> + <di:waypoint xsi:type="dc:Point" x="650" y="886" /> + <di:waypoint xsi:type="dc:Point" x="651" y="840" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="651" y="848" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_1xg6pwh_di" bpmnElement="SequenceFlow_1xg6pwh"> + <di:waypoint xsi:type="dc:Point" x="760" y="825" /> + <di:waypoint xsi:type="dc:Point" x="760" y="886" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="766" y="855.5" width="18" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="IntermediateThrowEvent_0unfhc9_di" bpmnElement="IntermediateThrowEvent_1vjqksl"> + <dc:Bounds x="742" y="886" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="725" y="922" width="69" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateCatchEvent_1om2udh_di" bpmnElement="IntermediateThrowEvent_1vwqesb"> + <dc:Bounds x="859" y="886" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="842" y="922" width="70" height="13" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1hwtq9x_di" bpmnElement="SequenceFlow_1hwtq9x"> + <di:waypoint xsi:type="dc:Point" x="877" y="886" /> + <di:waypoint xsi:type="dc:Point" x="876" y="840" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="877" y="848" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_0ttowkv_di" bpmnElement="SequenceFlow_0ttowkv"> + <di:waypoint xsi:type="dc:Point" x="980" y="825" /> + <di:waypoint xsi:type="dc:Point" x="980" y="886" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="986" y="855.5" width="18" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="IntermediateThrowEvent_1u04oef_di" bpmnElement="IntermediateThrowEvent_0m9jtv2"> + <dc:Bounds x="962" y="886" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="945" y="922" width="69" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateCatchEvent_1bsxf5o_di" bpmnElement="IntermediateThrowEvent_0pk24h2"> + <dc:Bounds x="155" y="886" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="143" y="922" width="59" height="25" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1colra4_di" bpmnElement="SequenceFlow_1colra4"> + <di:waypoint xsi:type="dc:Point" x="173" y="886" /> + <di:waypoint xsi:type="dc:Point" x="173" y="863" /> + <di:waypoint xsi:type="dc:Point" x="173" y="863" /> + <di:waypoint xsi:type="dc:Point" x="173" y="840" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="188" y="863" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ExclusiveGateway_18j1ow5_di" bpmnElement="ExclusiveGateway_18j1ow5" isMarkerVisible="true"> + <dc:Bounds x="1409.304" y="775" width="50" height="50" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1396" y="724" width="75" height="36" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_0u6ho2p_di" bpmnElement="SequenceFlow_0u6ho2p"> + <di:waypoint xsi:type="dc:Point" x="1245" y="800" /> + <di:waypoint xsi:type="dc:Point" x="1275" y="800" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1255" y="775" width="12" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ScriptTask_08r89q9_di" bpmnElement="Task_0y1h8go"> + <dc:Bounds x="1275" y="760" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1tzax6l_di" bpmnElement="SequenceFlow_1tzax6l"> + <di:waypoint xsi:type="dc:Point" x="1375" y="800" /> + <di:waypoint xsi:type="dc:Point" x="1409" y="800" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1392" y="775" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="IntermediateCatchEvent_06j33fe_di" bpmnElement="IntermediateThrowEvent_0pmevcz"> + <dc:Bounds x="1090" y="886" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1072" y="922" width="72" height="25" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_16ff86u_di" bpmnElement="SequenceFlow_16ff86u"> + <di:waypoint xsi:type="dc:Point" x="1108" y="886" /> + <di:waypoint xsi:type="dc:Point" x="1108" y="840" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1123" y="853" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_0k3zxpd_di" bpmnElement="SequenceFlow_0k3zxpd"> + <di:waypoint xsi:type="dc:Point" x="1220" y="825" /> + <di:waypoint xsi:type="dc:Point" x="1220" y="886" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1226" y="855.5" width="18" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="IntermediateThrowEvent_105mp22_di" bpmnElement="IntermediateThrowEvent_1awckg7"> + <dc:Bounds x="1202" y="886" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1185" y="922" width="69" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateCatchEvent_0kglv4e_di" bpmnElement="IntermediateThrowEvent_1b3smly"> + <dc:Bounds x="1307" y="886" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1285" y="922" width="79" height="25" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_09xxorv_di" bpmnElement="SequenceFlow_09xxorv"> + <di:waypoint xsi:type="dc:Point" x="1325" y="886" /> + <di:waypoint xsi:type="dc:Point" x="1325" y="840" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1340" y="853" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_0w8mkkn_di" bpmnElement="SequenceFlow_0w8mkkn"> + <di:waypoint xsi:type="dc:Point" x="1434" y="825" /> + <di:waypoint xsi:type="dc:Point" x="1434" y="886" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1440" y="855.5" width="18" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="IntermediateThrowEvent_0jwgx1d_di" bpmnElement="IntermediateThrowEvent_1cw8gsw"> + <dc:Bounds x="1416" y="886" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1399" y="922" width="69" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateCatchEvent_0zw87jy_di" bpmnElement="IntermediateThrowEvent_0x846wp"> + <dc:Bounds x="158" y="1186" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="140" y="1221.609" width="72" height="25" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_07uuj2d_di" bpmnElement="SequenceFlow_07uuj2d"> + <di:waypoint xsi:type="dc:Point" x="176" y="1186" /> + <di:waypoint xsi:type="dc:Point" x="176" y="1160" /> + <di:waypoint xsi:type="dc:Point" x="176" y="1160" /> + <di:waypoint xsi:type="dc:Point" x="176" y="1131" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="191" y="1160" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_0ueoglv_di" bpmnElement="SequenceFlow_0ueoglv"> + <di:waypoint xsi:type="dc:Point" x="2117" y="490" /> + <di:waypoint xsi:type="dc:Point" x="2173" y="264" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="2145" y="362" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_15fqlwe_di" bpmnElement="SequenceFlow_15fqlwe"> + <di:waypoint xsi:type="dc:Point" x="2120" y="493" /> + <di:waypoint xsi:type="dc:Point" x="2209" y="290" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="2165" y="377" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_0yuj0l5_di" bpmnElement="SequenceFlow_0yuj0l5"> + <di:waypoint xsi:type="dc:Point" x="2122" y="495" /> + <di:waypoint xsi:type="dc:Point" x="2247" y="319" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="2185" y="392" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_1abb030_di" bpmnElement="SequenceFlow_1abb030"> + <di:waypoint xsi:type="dc:Point" x="2125" y="498" /> + <di:waypoint xsi:type="dc:Point" x="2284" y="348" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="2205" y="408" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_0ls3ej5_di" bpmnElement="SequenceFlow_0ls3ej5"> + <di:waypoint xsi:type="dc:Point" x="2127" y="500" /> + <di:waypoint xsi:type="dc:Point" x="2313" y="386" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="2220" y="428" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_1ar6ikk_di" bpmnElement="SequenceFlow_1ar6ikk"> + <di:waypoint xsi:type="dc:Point" x="2133" y="506" /> + <di:waypoint xsi:type="dc:Point" x="2372" y="460" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="2253" y="468" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_171iq7e_di" bpmnElement="SequenceFlow_171iq7e"> + <di:waypoint xsi:type="dc:Point" x="2134" y="513" /> + <di:waypoint xsi:type="dc:Point" x="2372" y="553" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="2253" y="518" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_1553o9f_di" bpmnElement="SequenceFlow_1553o9f"> + <di:waypoint xsi:type="dc:Point" x="2129" y="518" /> + <di:waypoint xsi:type="dc:Point" x="2353" y="595" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="2241" y="541.5" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_0dmxwel_di" bpmnElement="SequenceFlow_0dmxwel"> + <di:waypoint xsi:type="dc:Point" x="2125" y="522" /> + <di:waypoint xsi:type="dc:Point" x="2294" y="685" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="2210" y="588.5" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_1id2p8y_di" bpmnElement="SequenceFlow_1id2p8y"> + <di:waypoint xsi:type="dc:Point" x="2121" y="526" /> + <di:waypoint xsi:type="dc:Point" x="2247" y="717" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="2184" y="607" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_0t53vux_di" bpmnElement="SequenceFlow_0t53vux"> + <di:waypoint xsi:type="dc:Point" x="2119" y="528" /> + <di:waypoint xsi:type="dc:Point" x="2210" y="737" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="2165" y="618" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_11ck4qe_di" bpmnElement="SequenceFlow_11ck4qe"> + <di:waypoint xsi:type="dc:Point" x="2117" y="530" /> + <di:waypoint xsi:type="dc:Point" x="2172" y="760" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="2145" y="630" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_16d2ln4_di" bpmnElement="SequenceFlow_16d2ln4"> + <di:waypoint xsi:type="dc:Point" x="2113" y="534" /> + <di:waypoint xsi:type="dc:Point" x="2128" y="782" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="2121" y="643" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="IntermediateThrowEvent_17syve1_di" bpmnElement="IntermediateThrowEvent_0rz6jh4"> + <dc:Bounds x="2159" y="229" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="2165" y="189" width="84" height="36" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateThrowEvent_0nv8aic_di" bpmnElement="IntermediateThrowEvent_1wip9vc"> + <dc:Bounds x="2199" y="256" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="2213" y="235" width="89" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateThrowEvent_1g4pmwc_di" bpmnElement="IntermediateThrowEvent_1hki8xj"> + <dc:Bounds x="2240" y="287" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="2280" y="256" width="64" height="36" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateThrowEvent_1ypnogn_di" bpmnElement="IntermediateThrowEvent_1gfnt9b"> + <dc:Bounds x="2279" y="319" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="2325" y="305" width="71" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateThrowEvent_1i9ttzs_di" bpmnElement="IntermediateThrowEvent_1gzhs1a"> + <dc:Bounds x="2311" y="359" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="2357" y="356" width="64" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateThrowEvent_0840e02_di" bpmnElement="IntermediateThrowEvent_0385ons"> + <dc:Bounds x="2343" y="392" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="2393" y="383" width="60" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1quapjx_di" bpmnElement="SequenceFlow_1quapjx"> + <di:waypoint xsi:type="dc:Point" x="2130" y="503" /> + <di:waypoint xsi:type="dc:Point" x="2345" y="416" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="2239" y="445" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="IntermediateThrowEvent_1xq4kx8_di" bpmnElement="IntermediateThrowEvent_1p9i2bi"> + <dc:Bounds x="2371" y="439" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="2412" y="440" width="90" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateThrowEvent_03b4y60_di" bpmnElement="IntermediateThrowEvent_0ee7wot"> + <dc:Bounds x="2385" y="493" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="2433" y="503" width="62" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateThrowEvent_1ghdnpx_di" bpmnElement="IntermediateThrowEvent_0rp1ax0"> + <dc:Bounds x="2371" y="538" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="2424" y="544" width="60" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateThrowEvent_1nls1oo_di" bpmnElement="IntermediateThrowEvent_01ngkx2"> + <dc:Bounds x="2352" y="582" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="2401" y="587" width="60" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateThrowEvent_0qt249a_di" bpmnElement="IntermediateThrowEvent_0lbd0cs"> + <dc:Bounds x="2289" y="679" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="2337" y="706" width="90" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateThrowEvent_0frwxx8_di" bpmnElement="IntermediateThrowEvent_1ycbds3"> + <dc:Bounds x="2240" y="713" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="2276" y="741" width="74" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateThrowEvent_1vcx5cz_di" bpmnElement="IntermediateThrowEvent_1cp0hkt"> + <dc:Bounds x="2199" y="735" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="2233" y="759" width="70" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateThrowEvent_1y8fmlw_di" bpmnElement="IntermediateThrowEvent_184w0i8"> + <dc:Bounds x="2159" y="759" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="2199" y="796" width="82" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateThrowEvent_024zi9r_di" bpmnElement="IntermediateThrowEvent_1u9f9kp"> + <dc:Bounds x="2111" y="782" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="2116" y="823" width="72" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateCatchEvent_08x53cb_di" bpmnElement="IntermediateThrowEvent_18wrvcy"> + <dc:Bounds x="158" y="308" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="134" y="343.09862671660426" width="83" height="37" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_179tyul_di" bpmnElement="SequenceFlow_179tyul"> + <di:waypoint xsi:type="dc:Point" x="180" y="309" /> + <di:waypoint xsi:type="dc:Point" x="181" y="277" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="181" y="278" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_101n488_di" bpmnElement="SequenceFlow_101n488"> + <di:waypoint xsi:type="dc:Point" x="2113" y="486" /> + <di:waypoint xsi:type="dc:Point" x="2127" y="255" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="2120" y="356" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="IntermediateThrowEvent_1fnxvhb_di" bpmnElement="IntermediateThrowEvent_17k1fmk"> + <dc:Bounds x="2111" y="220" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="2086" y="170" width="86" height="36" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateCatchEvent_1g6967r_di" bpmnElement="IntermediateThrowEvent_1m7fq7a"> + <dc:Bounds x="158" y="582" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="146" y="617.147315855181" width="60" height="13" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1ood2pr_di" bpmnElement="SequenceFlow_1ood2pr"> + <di:waypoint xsi:type="dc:Point" x="176" y="582" /> + <di:waypoint xsi:type="dc:Point" x="176" y="550" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="191" y="566" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="CallActivity_1y81g09_di" bpmnElement="Task_0eae8go"> + <dc:Bounds x="826" y="470" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="CallActivity_0n20gvh_di" bpmnElement="Task_1dtbnuy"> + <dc:Bounds x="126" y="470" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="CallActivity_08wyi5l_di" bpmnElement="Task_1sove95"> + <dc:Bounds x="826" y="760" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="CallActivity_1a5n5ff_di" bpmnElement="Task_1fj63ov"> + <dc:Bounds x="364" y="470" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="CallActivity_0mp082m_di" bpmnElement="Task_1ca5ctq"> + <dc:Bounds x="364" y="760" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateThrowEvent_07dp1m8_di" bpmnElement="IntermediateThrowEvent_1kbtw2p"> + <dc:Bounds x="2324" y="634" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="2345" y="668" width="60" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_021ah63_di" bpmnElement="SequenceFlow_021ah63"> + <di:waypoint xsi:type="dc:Point" x="2127" y="520" /> + <di:waypoint xsi:type="dc:Point" x="2327" y="643" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="2227" y="566.5" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ScriptTask_1qr054i_di" bpmnElement="ScriptTask_1qr054i"> + <dc:Bounds x="1922" y="559" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ExclusiveGateway_1g8h3lt_di" bpmnElement="ExclusiveGateway_1g8h3lt" isMarkerVisible="true"> + <dc:Bounds x="2008" y="696" width="50" height="50" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="2002" y="746" width="62" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateCatchEvent_1bv97n4_di" bpmnElement="IntermediateCatchEvent_1bv97n4"> + <dc:Bounds x="1954" y="671" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1889" y="683" width="55" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_0ai205d_di" bpmnElement="SequenceFlow_0ai205d"> + <di:waypoint xsi:type="dc:Point" x="1972" y="639" /> + <di:waypoint xsi:type="dc:Point" x="1972" y="671" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1987" y="645" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_0a2cv6d_di" bpmnElement="SequenceFlow_0a2cv6d"> + <di:waypoint xsi:type="dc:Point" x="1972" y="707" /> + <di:waypoint xsi:type="dc:Point" x="1972" y="721" /> + <di:waypoint xsi:type="dc:Point" x="2008" y="721" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1987" y="714" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_1ijc733_di" bpmnElement="SequenceFlow_1ijc733"> + <di:waypoint xsi:type="dc:Point" x="1816" y="518" /> + <di:waypoint xsi:type="dc:Point" x="1922" y="572" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1852" y="550" width="27" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_1kntfys_di" bpmnElement="SequenceFlow_1kntfys"> + <di:waypoint xsi:type="dc:Point" x="2058" y="721" /> + <di:waypoint xsi:type="dc:Point" x="2085" y="721" /> + <di:waypoint xsi:type="dc:Point" x="2085" y="510" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="2063" y="706" width="18" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_0h64c4o_di" bpmnElement="SequenceFlow_0h64c4o"> + <di:waypoint xsi:type="dc:Point" x="2033" y="696" /> + <di:waypoint xsi:type="dc:Point" x="2033" y="237" /> + <di:waypoint xsi:type="dc:Point" x="1799" y="237" /> + <di:waypoint xsi:type="dc:Point" x="1799" y="312" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="2041" y="646" width="12" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="CallActivity_1ahvtrx_di" bpmnElement="Task_0zbogrm"> + <dc:Bounds x="1749" y="604" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_0syfgbo_di" bpmnElement="SequenceFlow_0syfgbo"> + <di:waypoint xsi:type="dc:Point" x="1749" y="644" /> + <di:waypoint xsi:type="dc:Point" x="1710" y="644" /> + <di:waypoint xsi:type="dc:Point" x="1710" y="352" /> + <di:waypoint xsi:type="dc:Point" x="1749" y="352" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1725" y="498" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="CallActivity_0k9fydp_di" bpmnElement="Task_1cfkcss"> + <dc:Bounds x="600" y="470" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="CallActivity_1kw9f96_di" bpmnElement="Task_1mdr1nd"> + <dc:Bounds x="1064" y="470" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="CallActivity_0d1uai9_di" bpmnElement="Task_1hdg951"> + <dc:Bounds x="123" y="760" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="CallActivity_1onqhy5_di" bpmnElement="Task_0h2nq31"> + <dc:Bounds x="601" y="760" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ExclusiveGateway_1slvyx2_di" bpmnElement="ExclusiveGateway_1slvyx2" isMarkerVisible="true"> + <dc:Bounds x="266" y="485" width="50" height="50" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="257" y="439" width="68" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1qnzi6i_di" bpmnElement="SequenceFlow_1qnzi6i"> + <di:waypoint xsi:type="dc:Point" x="458" y="1486" /> + <di:waypoint xsi:type="dc:Point" x="491" y="1486" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="475" y="1471" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="CallActivity_1ufdbl8_di" bpmnElement="Task_13sybx8"> + <dc:Bounds x="358" y="1446" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_0hvg70o_di" bpmnElement="SequenceFlow_0hvg70o"> + <di:waypoint xsi:type="dc:Point" x="333" y="1486" /> + <di:waypoint xsi:type="dc:Point" x="358" y="1486" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="346" y="1471" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ScriptTask_1qacr3e_di" bpmnElement="Task_0ilgwhw"> + <dc:Bounds x="233" y="1446" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_0ib8gb8_di" bpmnElement="SequenceFlow_0ib8gb8"> + <di:waypoint xsi:type="dc:Point" x="591" y="1486" /> + <di:waypoint xsi:type="dc:Point" x="613" y="1486" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="602" y="1471" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ScriptTask_032b6ij_di" bpmnElement="Task_1mt62gu"> + <dc:Bounds x="491" y="1446" width="100" height="80" /> + </bpmndi:BPMNShape> + </bpmndi:BPMNPlane> + </bpmndi:BPMNDiagram> +</bpmn2:definitions> diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/CreateServiceInstanceV3.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/CreateServiceInstanceV3.bpmn new file mode 100644 index 0000000000..dcb5323fa5 --- /dev/null +++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/CreateServiceInstanceV3.bpmn @@ -0,0 +1,146 @@ +<?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.8.2"> + <bpmn:process id="CreateServiceInstanceV3" name="CreateServiceInstanceV3" isExecutable="true"> + <bpmn:startEvent id="StartEvent_1" name="start"> + <bpmn:outgoing>SequenceFlow_055igqy</bpmn:outgoing> + </bpmn:startEvent> + <bpmn:sequenceFlow id="SequenceFlow_055igqy" sourceRef="StartEvent_1" targetRef="ServiceTask_1" /> + <bpmn:serviceTask id="ServiceTask_1" name="Create Service Instance (AAI)" camunda:class="org.openecomp.mso.bpmn.infrastructure.AAITasks.AAICreateServiceInstance"> + <bpmn:incoming>SequenceFlow_055igqy</bpmn:incoming> + <bpmn:outgoing>SequenceFlow_0n3aqvm</bpmn:outgoing> + </bpmn:serviceTask> + <bpmn:endEvent id="EndEvent_0czacld" name="end"> + <bpmn:incoming>SequenceFlow_011vkoq</bpmn:incoming> + </bpmn:endEvent> + <bpmn:sequenceFlow id="SequenceFlow_0n3aqvm" sourceRef="ServiceTask_1" targetRef="ServiceTask_2" /> + <bpmn:serviceTask id="ServiceTask_2" name="Create Project (AAI)" camunda:class="org.openecomp.mso.bpmn.infrastructure.AAITasks.AAICreateProject"> + <bpmn:incoming>SequenceFlow_0n3aqvm</bpmn:incoming> + <bpmn:outgoing>SequenceFlow_1knhaka</bpmn:outgoing> + </bpmn:serviceTask> + <bpmn:sequenceFlow id="SequenceFlow_1knhaka" sourceRef="ServiceTask_2" targetRef="ServiceTask_3" /> + <bpmn:sequenceFlow id="SequenceFlow_1wvh54c" sourceRef="ServiceTask_3" targetRef="ServiceTask_4" /> + <bpmn:sequenceFlow id="SequenceFlow_011vkoq" sourceRef="ServiceTask_4" targetRef="EndEvent_0czacld" /> + <bpmn:serviceTask id="ServiceTask_3" name="Create Owning Entity (AAI)" camunda:class="org.openecomp.mso.bpmn.infrastructure.AAITasks.AAICreateOwningEntity"> + <bpmn:incoming>SequenceFlow_1knhaka</bpmn:incoming> + <bpmn:outgoing>SequenceFlow_1wvh54c</bpmn:outgoing> + </bpmn:serviceTask> + <bpmn:serviceTask id="ServiceTask_4" name="Create Service Instance (SDNC)" camunda:class="org.openecomp.mso.bpmn.infrastructure.SDNCTasks.SDNCCreateServiceInstance"> + <bpmn:incoming>SequenceFlow_1wvh54c</bpmn:incoming> + <bpmn:outgoing>SequenceFlow_011vkoq</bpmn:outgoing> + </bpmn:serviceTask> + <bpmn:subProcess id="SubProcess_0li0k0e" triggeredByEvent="true"> + <bpmn:sequenceFlow id="SequenceFlow_1hm0qrs" sourceRef="StartEvent_0c0kf3c" targetRef="Task_0g6f9wo" /> + <bpmn:endEvent id="EndEvent_0vqclsg" name="end"> + <bpmn:incoming>SequenceFlow_1lli2e6</bpmn:incoming> + </bpmn:endEvent> + <bpmn:sequenceFlow id="SequenceFlow_1lli2e6" sourceRef="Task_0g6f9wo" targetRef="EndEvent_0vqclsg" /> + <bpmn:startEvent id="StartEvent_0c0kf3c" name="error"> + <bpmn:outgoing>SequenceFlow_1hm0qrs</bpmn:outgoing> + <bpmn:errorEventDefinition /> + </bpmn:startEvent> + <bpmn:callActivity id="Task_0g6f9wo" name="Rollback" calledElement="CreateServiceInstanceV3Rollback"> + <bpmn:extensionElements> + <camunda:in source="aaiServiceInstanceRollback" target="aaiServiceInstanceRollback" /> + <camunda:in source="ServiceDecomposition" target="ServiceDecomposition" /> + </bpmn:extensionElements> + <bpmn:incoming>SequenceFlow_1hm0qrs</bpmn:incoming> + <bpmn:outgoing>SequenceFlow_1lli2e6</bpmn:outgoing> + </bpmn:callActivity> + </bpmn:subProcess> + </bpmn:process> + <bpmndi:BPMNDiagram id="BPMNDiagram_1"> + <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="CreateServiceInstanceV3"> + <bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="StartEvent_1"> + <dc:Bounds x="173" y="102" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="180" y="138" width="22" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_055igqy_di" bpmnElement="SequenceFlow_055igqy"> + <di:waypoint xsi:type="dc:Point" x="209" y="120" /> + <di:waypoint xsi:type="dc:Point" x="245" y="120" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="182" y="99" width="90" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ServiceTask_131yzgl_di" bpmnElement="ServiceTask_1"> + <dc:Bounds x="245" y="80" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="EndEvent_0czacld_di" bpmnElement="EndEvent_0czacld"> + <dc:Bounds x="815" y="102" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="824" y="142" width="18" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_0n3aqvm_di" bpmnElement="SequenceFlow_0n3aqvm"> + <di:waypoint xsi:type="dc:Point" x="345" y="120" /> + <di:waypoint xsi:type="dc:Point" x="386" y="120" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="320.5" y="99" width="90" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ServiceTask_1n62tc6_di" bpmnElement="ServiceTask_2"> + <dc:Bounds x="386" y="80" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1knhaka_di" bpmnElement="SequenceFlow_1knhaka"> + <di:waypoint xsi:type="dc:Point" x="486" y="120" /> + <di:waypoint xsi:type="dc:Point" x="532" y="120" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="464" y="99" width="90" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_1wvh54c_di" bpmnElement="SequenceFlow_1wvh54c"> + <di:waypoint xsi:type="dc:Point" x="632" y="120" /> + <di:waypoint xsi:type="dc:Point" x="674" y="120" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="608" y="99" width="90" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_011vkoq_di" bpmnElement="SequenceFlow_011vkoq"> + <di:waypoint xsi:type="dc:Point" x="774" y="120" /> + <di:waypoint xsi:type="dc:Point" x="815" y="120" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="749.5" y="99" width="90" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ServiceTask_0ulwzil_di" bpmnElement="ServiceTask_3"> + <dc:Bounds x="532" y="80" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ServiceTask_1qe7j08_di" bpmnElement="ServiceTask_4"> + <dc:Bounds x="674" y="80" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="SubProcess_0mrwlu0_di" bpmnElement="SubProcess_0li0k0e" isExpanded="true"> + <dc:Bounds x="315" y="204" width="350" height="200" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1hm0qrs_di" bpmnElement="SequenceFlow_1hm0qrs"> + <di:waypoint xsi:type="dc:Point" x="381" y="287" /> + <di:waypoint xsi:type="dc:Point" x="433" y="287" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="362" y="266" width="90" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="EndEvent_0vqclsg_di" bpmnElement="EndEvent_0vqclsg"> + <dc:Bounds x="571" y="269" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="580" y="309" width="18" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1lli2e6_di" bpmnElement="SequenceFlow_1lli2e6"> + <di:waypoint xsi:type="dc:Point" x="533" y="287" /> + <di:waypoint xsi:type="dc:Point" x="571" y="287" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="507" y="266" width="90" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="StartEvent_070db75_di" bpmnElement="StartEvent_0c0kf3c"> + <dc:Bounds x="345" y="269" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="351" y="309" width="24" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="CallActivity_0lsbpos_di" bpmnElement="Task_0g6f9wo"> + <dc:Bounds x="433" y="247" width="100" height="80" /> + </bpmndi:BPMNShape> + </bpmndi:BPMNPlane> + </bpmndi:BPMNDiagram> +</bpmn:definitions> diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/CreateServiceInstanceV3Rollback.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/CreateServiceInstanceV3Rollback.bpmn new file mode 100644 index 0000000000..392ebd7ac8 --- /dev/null +++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/CreateServiceInstanceV3Rollback.bpmn @@ -0,0 +1,97 @@ +<?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.8.2"> + <bpmn:process id="CreateServiceInstanceV3Rollback" name="CreateServiceInstanceV3Rollback" isExecutable="true"> + <bpmn:startEvent id="StartEvent_1" name="start"> + <bpmn:outgoing>SequenceFlow_15a3kpo</bpmn:outgoing> + </bpmn:startEvent> + <bpmn:sequenceFlow id="SequenceFlow_15a3kpo" sourceRef="StartEvent_1" targetRef="ServiceTask_1" /> + <bpmn:endEvent id="EndEvent_0646ypz" name="end"> + <bpmn:incoming>SequenceFlow_0dqe5xo</bpmn:incoming> + </bpmn:endEvent> + <bpmn:sequenceFlow id="SequenceFlow_0dqe5xo" sourceRef="ServiceTask_1" targetRef="EndEvent_0646ypz" /> + <bpmn:serviceTask id="ServiceTask_1" name="Rollback AAI Service Instance" camunda:class="org.openecomp.mso.bpmn.infrastructure.DoCreateServiceInstance.RollbackAAIServiceInstance"> + <bpmn:incoming>SequenceFlow_15a3kpo</bpmn:incoming> + <bpmn:outgoing>SequenceFlow_0dqe5xo</bpmn:outgoing> + </bpmn:serviceTask> + <bpmn:subProcess id="SubProcess_1omnzt2" triggeredByEvent="true"> + <bpmn:startEvent id="StartEvent_1y39m1e" name="error"> + <bpmn:outgoing>SequenceFlow_10szwpv</bpmn:outgoing> + <bpmn:errorEventDefinition /> + </bpmn:startEvent> + <bpmn:sequenceFlow id="SequenceFlow_10szwpv" sourceRef="StartEvent_1y39m1e" targetRef="ServiceTask_2" /> + <bpmn:endEvent id="EndEvent_0j0lea1" name="end"> + <bpmn:incoming>SequenceFlow_05g9m3e</bpmn:incoming> + </bpmn:endEvent> + <bpmn:sequenceFlow id="SequenceFlow_05g9m3e" sourceRef="ServiceTask_2" targetRef="EndEvent_0j0lea1" /> + <bpmn:serviceTask id="ServiceTask_2" name="Rollback Error" camunda:class="org.openecomp.mso.bpmn.infrastructure.DoCreateServiceInstance.RollbackError"> + <bpmn:incoming>SequenceFlow_10szwpv</bpmn:incoming> + <bpmn:outgoing>SequenceFlow_05g9m3e</bpmn:outgoing> + </bpmn:serviceTask> + </bpmn:subProcess> + </bpmn:process> + <bpmndi:BPMNDiagram id="BPMNDiagram_1"> + <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="CreateServiceInstanceV3Rollback"> + <bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="StartEvent_1"> + <dc:Bounds x="173" y="102" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="180" y="138" width="22" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_15a3kpo_di" bpmnElement="SequenceFlow_15a3kpo"> + <di:waypoint xsi:type="dc:Point" x="209" y="120" /> + <di:waypoint xsi:type="dc:Point" x="266" y="120" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="237.5" y="99" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="EndEvent_0646ypz_di" bpmnElement="EndEvent_0646ypz"> + <dc:Bounds x="427" y="102" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="436" y="142" width="18" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_0dqe5xo_di" bpmnElement="SequenceFlow_0dqe5xo"> + <di:waypoint xsi:type="dc:Point" x="366" y="120" /> + <di:waypoint xsi:type="dc:Point" x="427" y="120" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="396.5" y="99" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ServiceTask_16utus7_di" bpmnElement="ServiceTask_1"> + <dc:Bounds x="266" y="80" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="SubProcess_17vvj4f_di" bpmnElement="SubProcess_1omnzt2" isExpanded="true"> + <dc:Bounds x="141" y="199" width="350" height="200" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="StartEvent_08j7gdd_di" bpmnElement="StartEvent_1y39m1e"> + <dc:Bounds x="172" y="277" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="178" y="317" width="24" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_10szwpv_di" bpmnElement="SequenceFlow_10szwpv"> + <di:waypoint xsi:type="dc:Point" x="208" y="295" /> + <di:waypoint xsi:type="dc:Point" x="268" y="295" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="238" y="274" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="EndEvent_0j0lea1_di" bpmnElement="EndEvent_0j0lea1"> + <dc:Bounds x="423" y="277" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="432" y="317" width="18" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_05g9m3e_di" bpmnElement="SequenceFlow_05g9m3e"> + <di:waypoint xsi:type="dc:Point" x="368" y="295" /> + <di:waypoint xsi:type="dc:Point" x="423" y="295" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="395.5" y="274" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ServiceTask_074yl77_di" bpmnElement="ServiceTask_2"> + <dc:Bounds x="268" y="255" width="100" height="80" /> + </bpmndi:BPMNShape> + </bpmndi:BPMNPlane> + </bpmndi:BPMNDiagram> +</bpmn:definitions> diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCompareModelVersions.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCompareModelVersions.bpmn new file mode 100644 index 0000000000..4779b0acde --- /dev/null +++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCompareModelVersions.bpmn @@ -0,0 +1,330 @@ +<?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="DoCompareModelVersions" name="DoCompareModelVersions" isExecutable="true"> + <bpmn2:scriptTask id="ScriptTask_04rn9mp" name="DoCompareModelVersions" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_1rebkae</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_1lkpfe2</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def csi = new DoCompareModelVersions() +csi.doCompareModelVersions(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_1rebkae" sourceRef="StartEvent_0jhv664" targetRef="ScriptTask_04rn9mp" /> + <bpmn2:intermediateCatchEvent id="StartEvent_0jhv664" name="StartCompare"> + <bpmn2:outgoing>SequenceFlow_1rebkae</bpmn2:outgoing> + <bpmn2:linkEventDefinition name="StartCompare" /> + </bpmn2:intermediateCatchEvent> + <bpmn2:endEvent id="EndEvent_0x8im5g"> + <bpmn2:incoming>SequenceFlow_1lkpfe2</bpmn2:incoming> + </bpmn2:endEvent> + <bpmn2:sequenceFlow id="SequenceFlow_1lkpfe2" sourceRef="ScriptTask_04rn9mp" targetRef="EndEvent_0x8im5g" /> + <bpmn2:subProcess id="SubProcess_0roysbg" name="Sub-process for UnexpectedErrors" triggeredByEvent="true"> + <bpmn2:startEvent id="StartEvent_0xtpw6j"> + <bpmn2:outgoing>SequenceFlow_19sogyb</bpmn2:outgoing> + <bpmn2:errorEventDefinition /> + </bpmn2:startEvent> + <bpmn2:endEvent id="EndEvent_05a2pr9"> + <bpmn2:incoming>SequenceFlow_17mr4jl</bpmn2:incoming> + </bpmn2:endEvent> + <bpmn2:scriptTask id="ScriptTask_0xk9fk3" name="Log / Print Unexpected Error" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_19sogyb</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_17mr4jl</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.*
+ExceptionUtil ex = new ExceptionUtil()
+ex.processJavaException(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_19sogyb" name="" sourceRef="StartEvent_0xtpw6j" targetRef="ScriptTask_0xk9fk3" /> + <bpmn2:sequenceFlow id="SequenceFlow_17mr4jl" name="" sourceRef="ScriptTask_0xk9fk3" targetRef="EndEvent_05a2pr9" /> + </bpmn2:subProcess> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0se5nzs" name="GoTo Decompose_Service_Original"> + <bpmn2:incoming>SequenceFlow_0enm2cg</bpmn2:incoming> + <bpmn2:linkEventDefinition name="Decompose_Service_Original" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:scriptTask id="ScriptTask_1odhh8p" name="PostProcess Decompose Service " scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_1pe6r93</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_0enm2cg</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def dcsi= new DoCompareModelVersions() +dcsi.processDecomposition_Target(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:callActivity id="CallActivity_1va14ul" name="Call Decompose Service" calledElement="DecomposeService"> + <bpmn2:extensionElements> + <camunda:in source="msoRequestId" target="msoRequestId" /> + <camunda:in source="serviceInstanceId" target="serviceInstanceId" /> + <camunda:in source="serviceModelInfo" target="serviceModelInfo" /> + <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" /> + <camunda:out source="serviceDecomposition" target="serviceDecomposition" /> + <camunda:out source="WorkflowException" target="WorkflowException" /> + </bpmn2:extensionElements> + <bpmn2:incoming>SequenceFlow_1lta49u</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_1pe6r93</bpmn2:outgoing> + </bpmn2:callActivity> + <bpmn2:scriptTask id="ScriptTask_1fau2rr" name="Prepare Decompose Service " scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_0frea3k</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_1lta49u</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def dcsi= new DoCompareModelVersions() +dcsi.prepareDecomposeService_Target(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:intermediateCatchEvent id="IntermediateCatchEvent_07fy2ke" name="Decompose_Service_Target"> + <bpmn2:outgoing>SequenceFlow_0frea3k</bpmn2:outgoing> + <bpmn2:linkEventDefinition name="Decompose_Service_Target" /> + </bpmn2:intermediateCatchEvent> + <bpmn2:sequenceFlow id="SequenceFlow_1pe6r93" sourceRef="CallActivity_1va14ul" targetRef="ScriptTask_1odhh8p" /> + <bpmn2:sequenceFlow id="SequenceFlow_0enm2cg" sourceRef="ScriptTask_1odhh8p" targetRef="IntermediateThrowEvent_0se5nzs" /> + <bpmn2:sequenceFlow id="SequenceFlow_1lta49u" sourceRef="ScriptTask_1fau2rr" targetRef="CallActivity_1va14ul" /> + <bpmn2:sequenceFlow id="SequenceFlow_0frea3k" sourceRef="IntermediateCatchEvent_07fy2ke" targetRef="ScriptTask_1fau2rr" /> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0b436w1" name="GoTo StartCompare"> + <bpmn2:incoming>SequenceFlow_08zjjzw</bpmn2:incoming> + <bpmn2:linkEventDefinition name="StartCompare" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:scriptTask id="ScriptTask_1d9qb54" name="PostProcess Decompose Service " scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_1wudpuj</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_08zjjzw</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def dcsi= new DoCompareModelVersions() +dcsi.processDecomposition_Original(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:callActivity id="CallActivity_1fc56sd" name="Call Decompose Service" calledElement="DecomposeService"> + <bpmn2:extensionElements> + <camunda:in source="msoRequestId" target="msoRequestId" /> + <camunda:in source="serviceInstanceId" target="serviceInstanceId" /> + <camunda:in source="serviceModelInfo" target="serviceModelInfo" /> + <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" /> + <camunda:out source="serviceDecomposition" target="serviceDecomposition" /> + <camunda:out source="WorkflowException" target="WorkflowException" /> + </bpmn2:extensionElements> + <bpmn2:incoming>SequenceFlow_04ciw70</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_1wudpuj</bpmn2:outgoing> + </bpmn2:callActivity> + <bpmn2:scriptTask id="ScriptTask_1i06996" name="Prepare Decompose Service " scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_1fgkvpr</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_04ciw70</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def dcsi= new DoCompareModelVersions() +dcsi.prepareDecomposeService_Original(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:intermediateCatchEvent id="IntermediateCatchEvent_1m9q0j7" name="Decompose_Service_Original"> + <bpmn2:outgoing>SequenceFlow_1fgkvpr</bpmn2:outgoing> + <bpmn2:linkEventDefinition name="Decompose_Service_Original" /> + </bpmn2:intermediateCatchEvent> + <bpmn2:sequenceFlow id="SequenceFlow_08zjjzw" sourceRef="ScriptTask_1d9qb54" targetRef="IntermediateThrowEvent_0b436w1" /> + <bpmn2:sequenceFlow id="SequenceFlow_1wudpuj" sourceRef="CallActivity_1fc56sd" targetRef="ScriptTask_1d9qb54" /> + <bpmn2:sequenceFlow id="SequenceFlow_04ciw70" sourceRef="ScriptTask_1i06996" targetRef="CallActivity_1fc56sd" /> + <bpmn2:sequenceFlow id="SequenceFlow_1fgkvpr" sourceRef="IntermediateCatchEvent_1m9q0j7" targetRef="ScriptTask_1i06996" /> + <bpmn2:startEvent id="StartEvent_13da9hl" name="Start Flow"> + <bpmn2:outgoing>SequenceFlow_1chfao3</bpmn2:outgoing> + </bpmn2:startEvent> + <bpmn2:scriptTask id="ScriptTask_0nie46r" name="PreProcess Incoming Request" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_1chfao3</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_164yb3r</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def dcsi = new DoCompareModelVersions() +dcsi.preProcessRequest(execution) +]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1dhdmdy" name="GoTo Decompose_Service_Target"> + <bpmn2:incoming>SequenceFlow_164yb3r</bpmn2:incoming> + <bpmn2:linkEventDefinition name="Decompose_Service_Target" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:sequenceFlow id="SequenceFlow_1chfao3" name="" sourceRef="StartEvent_13da9hl" targetRef="ScriptTask_0nie46r" /> + <bpmn2:sequenceFlow id="SequenceFlow_164yb3r" name="" sourceRef="ScriptTask_0nie46r" targetRef="IntermediateThrowEvent_1dhdmdy" /> + </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="DoCompareModelVersions"> + <bpmndi:BPMNShape id="ScriptTask_04rn9mp_di" bpmnElement="ScriptTask_04rn9mp"> + <dc:Bounds x="426" y="426" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1rebkae_di" bpmnElement="SequenceFlow_1rebkae"> + <di:waypoint xsi:type="dc:Point" x="10" y="466" /> + <di:waypoint xsi:type="dc:Point" x="426" y="466" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="173" y="445" width="90" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="IntermediateCatchEvent_05z1jyy_di" bpmnElement="StartEvent_0jhv664"> + <dc:Bounds x="-26" y="448" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="-42" y="488" width="68" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="EndEvent_0x8im5g_di" bpmnElement="EndEvent_0x8im5g"> + <dc:Bounds x="1040" y="448" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1013" y="488" width="90" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1lkpfe2_di" bpmnElement="SequenceFlow_1lkpfe2"> + <di:waypoint xsi:type="dc:Point" x="526" y="466" /> + <di:waypoint xsi:type="dc:Point" x="1040" y="466" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="738" y="445" width="90" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="SubProcess_0roysbg_di" bpmnElement="SubProcess_0roysbg" isExpanded="true"> + <dc:Bounds x="221" y="751" width="467" height="193" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="StartEvent_0xtpw6j_di" bpmnElement="StartEvent_0xtpw6j"> + <dc:Bounds x="289" y="818" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="172" y="859" width="90" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="EndEvent_05a2pr9_di" bpmnElement="EndEvent_05a2pr9"> + <dc:Bounds x="582" y="818" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="465" y="859" width="90" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ScriptTask_0xk9fk3_di" bpmnElement="ScriptTask_0xk9fk3"> + <dc:Bounds x="393" y="796" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_19sogyb_di" bpmnElement="SequenceFlow_19sogyb"> + <di:waypoint xsi:type="dc:Point" x="325" y="836" /> + <di:waypoint xsi:type="dc:Point" x="393" y="836" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="224" y="821" width="90" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_17mr4jl_di" bpmnElement="SequenceFlow_17mr4jl"> + <di:waypoint xsi:type="dc:Point" x="493" y="836" /> + <di:waypoint xsi:type="dc:Point" x="582" y="836" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="405" y="821" width="90" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="IntermediateThrowEvent_0se5nzs_di" bpmnElement="IntermediateThrowEvent_0se5nzs"> + <dc:Bounds x="1048" y="189" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1022" y="230" width="88" height="36" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ScriptTask_1odhh8p_di" bpmnElement="ScriptTask_1odhh8p"> + <dc:Bounds x="711" y="167" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="CallActivity_1va14ul_di" bpmnElement="CallActivity_1va14ul"> + <dc:Bounds x="426" y="167" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ScriptTask_1fau2rr_di" bpmnElement="ScriptTask_1fau2rr"> + <dc:Bounds x="144" y="167" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateCatchEvent_07fy2ke_di" bpmnElement="IntermediateCatchEvent_07fy2ke"> + <dc:Bounds x="-26" y="189" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="-49" y="225" width="88" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1pe6r93_di" bpmnElement="SequenceFlow_1pe6r93"> + <di:waypoint xsi:type="dc:Point" x="526" y="207" /> + <di:waypoint xsi:type="dc:Point" x="711" y="207" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="573.5" y="186" width="90" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_0enm2cg_di" bpmnElement="SequenceFlow_0enm2cg"> + <di:waypoint xsi:type="dc:Point" x="811" y="207" /> + <di:waypoint xsi:type="dc:Point" x="906" y="207" /> + <di:waypoint xsi:type="dc:Point" x="906" y="207" /> + <di:waypoint xsi:type="dc:Point" x="1048" y="207" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="876" y="201" width="90" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_1lta49u_di" bpmnElement="SequenceFlow_1lta49u"> + <di:waypoint xsi:type="dc:Point" x="244" y="207" /> + <di:waypoint xsi:type="dc:Point" x="426" y="207" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="290" y="186" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_0frea3k_di" bpmnElement="SequenceFlow_0frea3k"> + <di:waypoint xsi:type="dc:Point" x="10" y="207" /> + <di:waypoint xsi:type="dc:Point" x="144" y="207" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="32" y="186" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="IntermediateThrowEvent_0b436w1_di" bpmnElement="IntermediateThrowEvent_0b436w1"> + <dc:Bounds x="1047" y="311" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1032" y="352" width="68" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ScriptTask_1d9qb54_di" bpmnElement="ScriptTask_1d9qb54"> + <dc:Bounds x="711" y="290" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="CallActivity_1fc56sd_di" bpmnElement="CallActivity_1fc56sd"> + <dc:Bounds x="426" y="290" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ScriptTask_1i06996_di" bpmnElement="ScriptTask_1i06996"> + <dc:Bounds x="144" y="290" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateCatchEvent_1m9q0j7_di" bpmnElement="IntermediateCatchEvent_1m9q0j7"> + <dc:Bounds x="-26" y="312" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="-50" y="348" width="88" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_08zjjzw_di" bpmnElement="SequenceFlow_08zjjzw"> + <di:waypoint xsi:type="dc:Point" x="811" y="330" /> + <di:waypoint xsi:type="dc:Point" x="1047" y="329" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="929" y="308.5" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_1wudpuj_di" bpmnElement="SequenceFlow_1wudpuj"> + <di:waypoint xsi:type="dc:Point" x="526" y="330" /> + <di:waypoint xsi:type="dc:Point" x="711" y="330" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="618.5" y="309" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_04ciw70_di" bpmnElement="SequenceFlow_04ciw70"> + <di:waypoint xsi:type="dc:Point" x="244" y="330" /> + <di:waypoint xsi:type="dc:Point" x="426" y="330" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="245" y="309" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_1fgkvpr_di" bpmnElement="SequenceFlow_1fgkvpr"> + <di:waypoint xsi:type="dc:Point" x="10" y="330" /> + <di:waypoint xsi:type="dc:Point" x="144" y="330" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="-13" y="309" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="StartEvent_13da9hl_di" bpmnElement="StartEvent_13da9hl"> + <dc:Bounds x="-20" y="83" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="-26" y="124" width="50" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ScriptTask_0nie46r_di" bpmnElement="ScriptTask_0nie46r"> + <dc:Bounds x="340" y="61" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateThrowEvent_1dhdmdy_di" bpmnElement="IntermediateThrowEvent_1dhdmdy"> + <dc:Bounds x="1048" y="83" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1023" y="123" width="88" height="36" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1chfao3_di" bpmnElement="SequenceFlow_1chfao3"> + <di:waypoint xsi:type="dc:Point" x="16" y="101" /> + <di:waypoint xsi:type="dc:Point" x="181" y="101" /> + <di:waypoint xsi:type="dc:Point" x="181" y="101" /> + <di:waypoint xsi:type="dc:Point" x="340" y="101" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="196" y="95" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_164yb3r_di" bpmnElement="SequenceFlow_164yb3r"> + <di:waypoint xsi:type="dc:Point" x="440" y="101" /> + <di:waypoint xsi:type="dc:Point" x="1048" y="101" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="744" y="80" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + </bpmndi:BPMNPlane> + </bpmndi:BPMNDiagram> +</bpmn2:definitions> diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateServiceInstance.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateServiceInstance.bpmn index 19fd490b9f..7b2ededb6f 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateServiceInstance.bpmn +++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateServiceInstance.bpmn @@ -9,7 +9,7 @@ <bpmn2:incoming>SequenceFlow_2</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_3</bpmn2:outgoing> <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
-def dcsi = new DoCreateServiceInstance() +def dcsi = new DoCreateServiceInstance()
dcsi.getAAICustomerById(execution)]]></bpmn2:script> </bpmn2:scriptTask> <bpmn2:sequenceFlow id="SequenceFlow_3" name="" sourceRef="getAAICustomerById_scriptTask" targetRef="ExclusiveGateway_09wkav2" /> @@ -17,8 +17,8 @@ dcsi.getAAICustomerById(execution)]]></bpmn2:script> <bpmn2:incoming>SequenceFlow_1</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_2</bpmn2:outgoing> <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
-def dcsi = new DoCreateServiceInstance() -dcsi.preProcessRequest(execution) +def dcsi = new DoCreateServiceInstance()
+dcsi.preProcessRequest(execution)
]]></bpmn2:script> </bpmn2:scriptTask> <bpmn2:sequenceFlow id="SequenceFlow_4" name="" sourceRef="callGenericGetService" targetRef="ScriptTask_0i8cqdy" /> @@ -26,14 +26,14 @@ dcsi.preProcessRequest(execution) <bpmn2:incoming>SequenceFlow_156ih25</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_14</bpmn2:outgoing> <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
-def dcsi = new DoCreateServiceInstance() +def dcsi = new DoCreateServiceInstance()
dcsi.preProcessSDNCAssignRequest(execution)]]></bpmn2:script> </bpmn2:scriptTask> <bpmn2:scriptTask id="PostProcessSDNCAssignRequest" name="Post Process SDNC Assign Request" scriptFormat="groovy"> <bpmn2:incoming>SequenceFlow_9</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_10</bpmn2:outgoing> <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
-def dcsi = new DoCreateServiceInstance() +def dcsi = new DoCreateServiceInstance()
dcsi.postProcessSDNCAssign(execution)]]></bpmn2:script> </bpmn2:scriptTask> <bpmn2:callActivity id="CallSDNCAdapterServiceTopologyAssign" name="Call SDNC Adapter Service Topology Assign" calledElement="sdncAdapter"> @@ -80,22 +80,21 @@ dcsi.postProcessSDNCAssign(execution)]]></bpmn2:script> </bpmn2:extensionElements> <bpmn2:incoming>SequenceFlow_1uw2p9a</bpmn2:incoming> <bpmn2:incoming>SequenceFlow_1w01tqs</bpmn2:incoming> - <bpmn2:outgoing>SequenceFlow_129ih1g</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_1jhzmzn</bpmn2:outgoing> </bpmn2:callActivity> - <bpmn2:sequenceFlow id="SequenceFlow_129ih1g" sourceRef="callGenericPutService" targetRef="ScriptTask_0q37vn9" /> - <bpmn2:exclusiveGateway id="ExclusiveGateway_09wkav2" name="sdncVersion is 1610 or serviceInstance name is populated?" default="SequenceFlow_1uw2p9a"> + <bpmn2:exclusiveGateway id="ExclusiveGateway_09wkav2" name="need to check SI name in AAI?" default="SequenceFlow_1uw2p9a"> <bpmn2:incoming>SequenceFlow_3</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_11fnnkb</bpmn2:outgoing> <bpmn2:outgoing>SequenceFlow_1uw2p9a</bpmn2:outgoing> </bpmn2:exclusiveGateway> <bpmn2:sequenceFlow id="SequenceFlow_11fnnkb" name="yes" sourceRef="ExclusiveGateway_09wkav2" targetRef="callGenericGetService"> - <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{(execution.getVariable("serviceInstanceName" ) != null && execution.getVariable("serviceInstanceName" ) != "" ) || execution.getVariable("sdncVersion" ) == "1610" }]]></bpmn2:conditionExpression> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{ execution.getVariable("checkAAI" ) == true }]]></bpmn2:conditionExpression> </bpmn2:sequenceFlow> <bpmn2:sequenceFlow id="SequenceFlow_1uw2p9a" name="no" sourceRef="ExclusiveGateway_09wkav2" targetRef="callGenericPutService" /> <bpmn2:subProcess id="SubProcess_06d8lk8" name="Sub-process for Application Errors" triggeredByEvent="true"> <bpmn2:startEvent id="StartEvent_0yljq9y"> <bpmn2:outgoing>SequenceFlow_0tgrn11</bpmn2:outgoing> - <bpmn2:errorEventDefinition /> + <bpmn2:errorEventDefinition errorRef="Error_2" /> </bpmn2:startEvent> <bpmn2:endEvent id="EndEvent_117lkk3"> <bpmn2:incoming>SequenceFlow_1xzgv5k</bpmn2:incoming> @@ -117,8 +116,8 @@ dcsi.postProcessSDNCAssign(execution)]]></bpmn2:script> <bpmn2:incoming>SequenceFlow_0tgrn11</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_1lqktwf</bpmn2:outgoing> <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
-def dcsi = new DoCreateServiceInstance() -dcsi.preProcessRollback(execution) +def dcsi = new DoCreateServiceInstance()
+dcsi.preProcessRollback(execution)
]]></bpmn2:script> </bpmn2:scriptTask> <bpmn2:sequenceFlow id="SequenceFlow_1lqktwf" sourceRef="ScriptTask_0ocetux" targetRef="CallActivity_1srx6p6" /> @@ -126,14 +125,14 @@ dcsi.preProcessRollback(execution) <bpmn2:incoming>SequenceFlow_0eumzpf</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_1xzgv5k</bpmn2:outgoing> <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
-def dcsi = new DoCreateServiceInstance() -dcsi.postProcessRollback(execution) +def dcsi = new DoCreateServiceInstance()
+dcsi.postProcessRollback(execution)
]]></bpmn2:script> </bpmn2:scriptTask> <bpmn2:sequenceFlow id="SequenceFlow_1xzgv5k" sourceRef="ScriptTask_1p0vyip" targetRef="EndEvent_117lkk3" /> </bpmn2:subProcess> - <bpmn2:exclusiveGateway id="ExclusiveGateway_1nk6aol" name="sdncVersion is 1610?" default="SequenceFlow_156ih25"> - <bpmn2:incoming>SequenceFlow_1dd86x8</bpmn2:incoming> + <bpmn2:exclusiveGateway id="ExclusiveGateway_1nk6aol" name="sdncVersion is 1610 and not port mirror?" default="SequenceFlow_156ih25"> + <bpmn2:incoming>SequenceFlow_0w5i6vf</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_156ih25</bpmn2:outgoing> <bpmn2:outgoing>SequenceFlow_00v4npo</bpmn2:outgoing> </bpmn2:exclusiveGateway> @@ -142,24 +141,16 @@ dcsi.postProcessRollback(execution) <bpmn2:incoming>SequenceFlow_00v4npo</bpmn2:incoming> </bpmn2:endEvent> <bpmn2:sequenceFlow id="SequenceFlow_00v4npo" name="yes" sourceRef="ExclusiveGateway_1nk6aol" targetRef="EndEvent_10659gr"> - <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("sdncVersion" ) == "1610"}]]></bpmn2:conditionExpression> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{!execution.getVariable("sendToSDNC")}]]></bpmn2:conditionExpression> </bpmn2:sequenceFlow> <bpmn2:scriptTask id="ScriptTask_0i8cqdy" name="Post Process AAI GET" scriptFormat="groovy"> <bpmn2:incoming>SequenceFlow_4</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_1w01tqs</bpmn2:outgoing> <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
-def dcsi = new DoCreateServiceInstance() +def dcsi = new DoCreateServiceInstance()
dcsi.postProcessAAIGET(execution)]]></bpmn2:script> </bpmn2:scriptTask> <bpmn2:sequenceFlow id="SequenceFlow_1w01tqs" sourceRef="ScriptTask_0i8cqdy" targetRef="callGenericPutService" /> - <bpmn2:scriptTask id="ScriptTask_0q37vn9" name="Post Process AAI PUT" scriptFormat="groovy"> - <bpmn2:incoming>SequenceFlow_129ih1g</bpmn2:incoming> - <bpmn2:outgoing>SequenceFlow_1dd86x8</bpmn2:outgoing> - <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
-def ddsi = new DoCreateServiceInstance() -ddsi.postProcessAAIPUT(execution)]]></bpmn2:script> - </bpmn2:scriptTask> - <bpmn2:sequenceFlow id="SequenceFlow_1dd86x8" sourceRef="ScriptTask_0q37vn9" targetRef="ExclusiveGateway_1nk6aol" /> <bpmn2:callActivity id="CallActivity_1707jgc" name="Call GenericGetService2" calledElement="GenericGetService"> <bpmn2:extensionElements> <camunda:in source="serviceInstanceId" target="GENGS_serviceInstanceId" /> @@ -179,10 +170,53 @@ ddsi.postProcessAAIPUT(execution)]]></bpmn2:script> <bpmn2:scriptTask id="ScriptTask_1tp0fcx" name="Post Process AAI GET2" scriptFormat="groovy"> <bpmn2:incoming>SequenceFlow_0tx5frq</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_01q6pl4</bpmn2:outgoing> - <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* -def dcsi = new DoCreateServiceInstance() + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def dcsi = new DoCreateServiceInstance()
dcsi.postProcessAAIGET2(execution)]]></bpmn2:script> </bpmn2:scriptTask> + <bpmn2:scriptTask id="ScriptTask_0q37vn9" name="Post Process AAI PUT" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_1jhzmzn</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_16sdyz9</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def ddsi = new DoCreateServiceInstance()
+ddsi.postProcessAAIPUT(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_0k0wn03" sourceRef="Task_0wj9ajs" targetRef="Task_1g8wthf" /> + <bpmn2:scriptTask id="Task_0wj9ajs" name="Create Project" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_16sdyz9</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_0k0wn03</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def dcsi = new DoCreateServiceInstance()
+dcsi.createProject(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:scriptTask id="Task_1g8wthf" name="Create Owning Entity" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_0k0wn03</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_0w5i6vf</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def dcsi = new DoCreateServiceInstance()
+dcsi.createOwningEntity(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_1jhzmzn" sourceRef="callGenericPutService" targetRef="ScriptTask_0q37vn9" /> + <bpmn2:sequenceFlow id="SequenceFlow_0w5i6vf" sourceRef="Task_1g8wthf" targetRef="ExclusiveGateway_1nk6aol" /> + <bpmn2:sequenceFlow id="SequenceFlow_16sdyz9" sourceRef="ScriptTask_0q37vn9" targetRef="Task_0wj9ajs" /> + <bpmn2:subProcess id="SubProcess_1awd8cm" name="Sub-process for UnexpectedErrors" triggeredByEvent="true"> + <bpmn2:scriptTask id="ScriptTask_1thtxi5" name="Log / Print Unexpected Error" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_0x48any</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_052o4xc</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def dcsi = new DoCreateServiceInstance() +dcsi.processJavaException(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:startEvent id="StartEvent_0xjnqhv"> + <bpmn2:outgoing>SequenceFlow_0x48any</bpmn2:outgoing> + <bpmn2:errorEventDefinition errorRef="Error_1" /> + </bpmn2:startEvent> + <bpmn2:endEvent id="EndEvent_0eikrc1"> + <bpmn2:incoming>SequenceFlow_052o4xc</bpmn2:incoming> + </bpmn2:endEvent> + <bpmn2:sequenceFlow id="SequenceFlow_0x48any" name="" sourceRef="StartEvent_0xjnqhv" targetRef="ScriptTask_1thtxi5" /> + <bpmn2:sequenceFlow id="SequenceFlow_052o4xc" name="" sourceRef="ScriptTask_1thtxi5" targetRef="EndEvent_0eikrc1" /> + </bpmn2:subProcess> </bpmn2:process> <bpmn2:error id="Error_2" name="MSOWorkflowException" errorCode="MSOWorkflowException" /> <bpmn2:error id="Error_1" name="java.lang.Exception" errorCode="java.lang.Exception" /> @@ -215,9 +249,9 @@ dcsi.postProcessAAIGET2(execution)]]></bpmn2:script> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="_BPMNShape_EndEvent_177" bpmnElement="EndEvent_3"> - <dc:Bounds x="1115" y="1165" width="36" height="36" /> + <dc:Bounds x="1122" y="1297" width="36" height="36" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1133" y="1206" width="0" height="0" /> + <dc:Bounds x="1095" y="1338" width="90" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_10" bpmnElement="SequenceFlow_4"> @@ -228,13 +262,13 @@ dcsi.postProcessAAIGET2(execution)]]></bpmn2:script> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_334" bpmnElement="PreProcessSDNCAssignRequest"> - <dc:Bounds x="972" y="578" width="100" height="80" /> + <dc:Bounds x="972" y="810" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_335" bpmnElement="PostProcessSDNCAssignRequest"> - <dc:Bounds x="972" y="864" width="100" height="80" /> + <dc:Bounds x="972" y="1054" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="_BPMNShape_CallActivity_74" bpmnElement="CallSDNCAdapterServiceTopologyAssign"> - <dc:Bounds x="972" y="721" width="100" height="80" /> + <dc:Bounds x="972" y="930" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_3" bpmnElement="SequenceFlow_2" sourceElement="_BPMNShape_ScriptTask_61" targetElement="_BPMNShape_ScriptTask_62"> <di:waypoint xsi:type="dc:Point" x="345" y="97" /> @@ -244,28 +278,24 @@ dcsi.postProcessAAIGET2(execution)]]></bpmn2:script> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_8" bpmnElement="SequenceFlow_14" sourceElement="_BPMNShape_ScriptTask_334" targetElement="_BPMNShape_CallActivity_74"> - <di:waypoint xsi:type="dc:Point" x="1020" y="658" /> - <di:waypoint xsi:type="dc:Point" x="1020" y="692" /> - <di:waypoint xsi:type="dc:Point" x="1020" y="692" /> - <di:waypoint xsi:type="dc:Point" x="1020" y="715" /> + <di:waypoint xsi:type="dc:Point" x="1020" y="890" /> + <di:waypoint xsi:type="dc:Point" x="1020" y="930" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1035" y="692" width="0" height="0" /> + <dc:Bounds x="990" y="910" width="90" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_11" bpmnElement="SequenceFlow_9" sourceElement="_BPMNShape_CallActivity_74" targetElement="_BPMNShape_ScriptTask_335"> - <di:waypoint xsi:type="dc:Point" x="1022" y="801" /> - <di:waypoint xsi:type="dc:Point" x="1022" y="840" /> - <di:waypoint xsi:type="dc:Point" x="1022" y="840" /> - <di:waypoint xsi:type="dc:Point" x="1022" y="864" /> + <di:waypoint xsi:type="dc:Point" x="1022" y="1010" /> + <di:waypoint xsi:type="dc:Point" x="1022" y="1054" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1037" y="840" width="0" height="0" /> + <dc:Bounds x="992" y="1032" width="90" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_12" bpmnElement="SequenceFlow_10" sourceElement="_BPMNShape_ScriptTask_335"> - <di:waypoint xsi:type="dc:Point" x="1024" y="944" /> - <di:waypoint xsi:type="dc:Point" x="1024" y="994" /> + <di:waypoint xsi:type="dc:Point" x="1024" y="1134" /> + <di:waypoint xsi:type="dc:Point" x="1024" y="1162" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1039" y="969" width="0" height="0" /> + <dc:Bounds x="994" y="1148" width="90" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="CallActivity_1md4kyb_di" bpmnElement="callGenericGetService"> @@ -274,17 +304,10 @@ dcsi.postProcessAAIGET2(execution)]]></bpmn2:script> <bpmndi:BPMNShape id="CallActivity_0khp0qc_di" bpmnElement="callGenericPutService"> <dc:Bounds x="972" y="206" width="100" height="80" /> </bpmndi:BPMNShape> - <bpmndi:BPMNEdge id="SequenceFlow_129ih1g_di" bpmnElement="SequenceFlow_129ih1g"> - <di:waypoint xsi:type="dc:Point" x="1023" y="286" /> - <di:waypoint xsi:type="dc:Point" x="1022" y="336" /> - <bpmndi:BPMNLabel> - <dc:Bounds x="1023" y="296" width="0" height="0" /> - </bpmndi:BPMNLabel> - </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="ExclusiveGateway_09wkav2_di" bpmnElement="ExclusiveGateway_09wkav2" isMarkerVisible="true"> <dc:Bounds x="565" y="72" width="50" height="50" /> <bpmndi:BPMNLabel> - <dc:Bounds x="547" y="7" width="81" height="62" /> + <dc:Bounds x="547" y="27" width="85" height="24" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_11fnnkb_di" bpmnElement="SequenceFlow_11fnnkb"> @@ -335,31 +358,31 @@ dcsi.postProcessAAIGET2(execution)]]></bpmn2:script> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="ExclusiveGateway_1nk6aol_di" bpmnElement="ExclusiveGateway_1nk6aol" isMarkerVisible="true"> - <dc:Bounds x="997" y="460" width="50" height="50" /> + <dc:Bounds x="997" y="717" width="50" height="50" /> <bpmndi:BPMNLabel> - <dc:Bounds x="903" y="472" width="75" height="24" /> + <dc:Bounds x="898" y="729" width="86" height="36" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_156ih25_di" bpmnElement="SequenceFlow_156ih25"> - <di:waypoint xsi:type="dc:Point" x="1022" y="510" /> - <di:waypoint xsi:type="dc:Point" x="1022" y="545" /> - <di:waypoint xsi:type="dc:Point" x="1022" y="545" /> - <di:waypoint xsi:type="dc:Point" x="1022" y="575" /> + <di:waypoint xsi:type="dc:Point" x="1022" y="767" /> + <di:waypoint xsi:type="dc:Point" x="1022" y="810" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1039" y="510.8721806797853" width="12" height="12" /> + <dc:Bounds x="1039" y="770" width="12" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="EndEvent_10659gr_di" bpmnElement="EndEvent_10659gr"> - <dc:Bounds x="1103" y="467" width="36" height="36" /> + <dc:Bounds x="1105" y="724" width="36" height="36" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1121" y="508" width="0" height="0" /> + <dc:Bounds x="1078" y="765" width="90" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_00v4npo_di" bpmnElement="SequenceFlow_00v4npo"> - <di:waypoint xsi:type="dc:Point" x="1047" y="485" /> - <di:waypoint xsi:type="dc:Point" x="1103" y="485" /> + <di:waypoint xsi:type="dc:Point" x="1047" y="742" /> + <di:waypoint xsi:type="dc:Point" x="1075" y="742" /> + <di:waypoint xsi:type="dc:Point" x="1075" y="742" /> + <di:waypoint xsi:type="dc:Point" x="1105" y="742" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1063" y="461" width="18" height="12" /> + <dc:Bounds x="1050.5" y="718" width="18" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="ScriptTask_0i8cqdy_di" bpmnElement="ScriptTask_0i8cqdy"> @@ -374,16 +397,6 @@ dcsi.postProcessAAIGET2(execution)]]></bpmn2:script> <dc:Bounds x="1036" y="172" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNShape id="ScriptTask_0q37vn9_di" bpmnElement="ScriptTask_0q37vn9"> - <dc:Bounds x="972" y="336" width="100" height="80" /> - </bpmndi:BPMNShape> - <bpmndi:BPMNEdge id="SequenceFlow_1dd86x8_di" bpmnElement="SequenceFlow_1dd86x8"> - <di:waypoint xsi:type="dc:Point" x="1022" y="416" /> - <di:waypoint xsi:type="dc:Point" x="1022" y="460" /> - <bpmndi:BPMNLabel> - <dc:Bounds x="1037" y="438" width="0" height="0" /> - </bpmndi:BPMNLabel> - </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="ScriptTask_0ocetux_di" bpmnElement="ScriptTask_0ocetux"> <dc:Bounds x="330" y="586" width="100" height="80" /> </bpmndi:BPMNShape> @@ -407,25 +420,96 @@ dcsi.postProcessAAIGET2(execution)]]></bpmn2:script> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="CallActivity_1707jgc_di" bpmnElement="CallActivity_1707jgc"> - <dc:Bounds x="972" y="994" width="100" height="80" /> + <dc:Bounds x="972" y="1162" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_0tx5frq_di" bpmnElement="SequenceFlow_0tx5frq"> - <di:waypoint xsi:type="dc:Point" x="1022" y="1074" /> - <di:waypoint xsi:type="dc:Point" x="1022" y="1143" /> + <di:waypoint xsi:type="dc:Point" x="1022" y="1242" /> + <di:waypoint xsi:type="dc:Point" x="1022" y="1275" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1037" y="1108.5" width="0" height="0" /> + <dc:Bounds x="992" y="1258.5" width="90" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_01q6pl4_di" bpmnElement="SequenceFlow_01q6pl4"> - <di:waypoint xsi:type="dc:Point" x="1072" y="1183" /> - <di:waypoint xsi:type="dc:Point" x="1115" y="1183" /> + <di:waypoint xsi:type="dc:Point" x="1072" y="1315" /> + <di:waypoint xsi:type="dc:Point" x="1094" y="1315" /> + <di:waypoint xsi:type="dc:Point" x="1094" y="1315" /> + <di:waypoint xsi:type="dc:Point" x="1122" y="1315" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1094" y="1168" width="0" height="0" /> + <dc:Bounds x="1064" y="1315" width="90" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="ScriptTask_1tp0fcx_di" bpmnElement="ScriptTask_1tp0fcx"> - <dc:Bounds x="972" y="1143" width="100" height="80" /> + <dc:Bounds x="972" y="1275" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ScriptTask_0q37vn9_di" bpmnElement="ScriptTask_0q37vn9"> + <dc:Bounds x="972" y="336" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_0k0wn03_di" bpmnElement="SequenceFlow_0k0wn03"> + <di:waypoint xsi:type="dc:Point" x="1022" y="541" /> + <di:waypoint xsi:type="dc:Point" x="1022" y="589" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="992" y="559" width="90" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ScriptTask_0v8y3ex_di" bpmnElement="Task_0wj9ajs"> + <dc:Bounds x="972" y="461" width="100" height="80" /> </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ScriptTask_0lndrbk_di" bpmnElement="Task_1g8wthf"> + <dc:Bounds x="972" y="589" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1jhzmzn_di" bpmnElement="SequenceFlow_1jhzmzn"> + <di:waypoint xsi:type="dc:Point" x="1022" y="286" /> + <di:waypoint xsi:type="dc:Point" x="1022" y="336" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1037" y="305" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_0w5i6vf_di" bpmnElement="SequenceFlow_0w5i6vf"> + <di:waypoint xsi:type="dc:Point" x="1022" y="669" /> + <di:waypoint xsi:type="dc:Point" x="1022" y="717" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1037" y="687" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_16sdyz9_di" bpmnElement="SequenceFlow_16sdyz9"> + <di:waypoint xsi:type="dc:Point" x="1022" y="416" /> + <di:waypoint xsi:type="dc:Point" x="1022" y="461" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1037" y="432.5" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="SubProcess_1awd8cm_di" bpmnElement="SubProcess_1awd8cm" isExpanded="true"> + <dc:Bounds x="98" y="304" width="394" height="188" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ScriptTask_1thtxi5_di" bpmnElement="ScriptTask_1thtxi5"> + <dc:Bounds x="246" y="359" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="StartEvent_0xjnqhv_di" bpmnElement="StartEvent_0xjnqhv"> + <dc:Bounds x="131" y="381" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="149" y="422" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="EndEvent_0eikrc1_di" bpmnElement="EndEvent_0eikrc1"> + <dc:Bounds x="407" y="381" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="425" y="422" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_0x48any_di" bpmnElement="SequenceFlow_0x48any"> + <di:waypoint xsi:type="dc:Point" x="167" y="399" /> + <di:waypoint xsi:type="dc:Point" x="246" y="399" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="209" y="399" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_052o4xc_di" bpmnElement="SequenceFlow_052o4xc"> + <di:waypoint xsi:type="dc:Point" x="346" y="399" /> + <di:waypoint xsi:type="dc:Point" x="407" y="399" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="381" y="399" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> </bpmndi:BPMNPlane> </bpmndi:BPMNDiagram> </bpmn2:definitions> diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateServiceInstanceRollback.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateServiceInstanceRollback.bpmn index 6c24696cbd..ef5ce351d2 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateServiceInstanceRollback.bpmn +++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateServiceInstanceRollback.bpmn @@ -1,5 +1,5 @@ <?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.4.0" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd"> +<bpmn2:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns: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.8.2" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd"> <bpmn2:process id="DoCreateServiceInstanceRollback" name="DoCreateServiceInstanceRollback" isExecutable="true"> <bpmn2:startEvent id="createSIRollback_startEvent" name="Start Flow"> <bpmn2:outgoing>SequenceFlow_1</bpmn2:outgoing> @@ -35,20 +35,6 @@ rbk.processRollbackException(execution)]]></bpmn2:script> <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:callActivity id="callGenericDeleteService" name="Call AAI GenericDelete Service " calledElement="GenericDeleteService"> - <bpmn2:extensionElements> - <camunda:in source="serviceInstanceId" target="GENDS_serviceInstanceId" /> - <camunda:in source="subscriptionServiceType" target="GENDS_serviceType" /> - <camunda:in source="globalSubscriberId" target="GENDS_globalCustomerId" /> - <camunda:in sourceExpression="service-instance" target="GENDS_type" /> - <camunda:out source="GENDS_FoundIndicator" target="GENDS_FoundIndicator" /> - <camunda:in sourceExpression="""" target="GENGS_serviceType" /> - <camunda:out source="GENDS_SuccessIndicator" target="GENDS_SuccessIndicator" /> - <camunda:out source="WorkflowException" target="WorkflowExecption" /> - </bpmn2:extensionElements> - <bpmn2:incoming>SequenceFlow_1x9eh33</bpmn2:incoming> - <bpmn2:outgoing>SequenceFlow_05wu9i7</bpmn2:outgoing> - </bpmn2:callActivity> <bpmn2:exclusiveGateway id="ExclusiveGateway_09wkav2" name="RollbackSDNC?" default="SequenceFlow_1uw2p9a"> <bpmn2:incoming>SequenceFlow_06aasqh</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_11fnnkb</bpmn2:outgoing> @@ -66,10 +52,6 @@ rbk.processRollbackException(execution)]]></bpmn2:script> <bpmn2:outgoing>SequenceFlow_1x9eh33</bpmn2:outgoing> </bpmn2:exclusiveGateway> <bpmn2:sequenceFlow id="SequenceFlow_1n7wade" name="no" sourceRef="ExclusiveGateway_0ii31dq" targetRef="PostProcess_ScriptTask" /> - <bpmn2:sequenceFlow id="SequenceFlow_05wu9i7" sourceRef="callGenericDeleteService" targetRef="PostProcess_ScriptTask" /> - <bpmn2:sequenceFlow id="SequenceFlow_1x9eh33" name="yes" sourceRef="ExclusiveGateway_0ii31dq" targetRef="callGenericDeleteService"> - <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("rollbackAAI" ) == "true"}]]></bpmn2:conditionExpression> - </bpmn2:sequenceFlow> <bpmn2:sequenceFlow id="SequenceFlow_0k28xib" sourceRef="CallActivity_0ak0ezb" targetRef="ScriptTask_1uxr0cx" /> <bpmn2:callActivity id="CallActivity_0ak0ezb" name="Call SDNC Service Topology Deactivate" calledElement="sdncAdapter"> <bpmn2:extensionElements> @@ -98,9 +80,9 @@ rbk.validateSDNCResponse(execution, response, "deactivate")]]></bpmn2:script> <bpmn2:outgoing>SequenceFlow_1rzlaoy</bpmn2:outgoing> </bpmn2:exclusiveGateway> <bpmn2:scriptTask id="PostProcess_ScriptTask" name="Post Process Request" scriptFormat="groovy"> - <bpmn2:incoming>SequenceFlow_05wu9i7</bpmn2:incoming> <bpmn2:incoming>SequenceFlow_1n7wade</bpmn2:incoming> <bpmn2:incoming>SequenceFlow_1rzlaoy</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_0h3wkj4</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_01l4ssl</bpmn2:outgoing> <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
def rbk = new DoCreateServiceInstanceRollback() @@ -152,6 +134,14 @@ rbk.validateSDNCResponse(execution, response, "delete")]]></bpmn2:script> </bpmn2:callActivity> <bpmn2:sequenceFlow id="SequenceFlow_006g9e8" sourceRef="CallActivity_0ppz9nd" targetRef="ScriptTask_1awt1ds" /> <bpmn2:sequenceFlow id="SequenceFlow_1njogr1" sourceRef="ScriptTask_1awt1ds" targetRef="ExclusiveGateway_0ii31dq" /> + <bpmn2:serviceTask id="Task_06o1aio" name="AAI Delete Service" camunda:class="org.openecomp.mso.bpmn.infrastructure.aai.AAIDeleteServiceInstance"> + <bpmn2:incoming>SequenceFlow_1x9eh33</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_0h3wkj4</bpmn2:outgoing> + </bpmn2:serviceTask> + <bpmn2:sequenceFlow id="SequenceFlow_0h3wkj4" sourceRef="Task_06o1aio" targetRef="PostProcess_ScriptTask" /> + <bpmn2:sequenceFlow id="SequenceFlow_1x9eh33" name="yes" sourceRef="ExclusiveGateway_0ii31dq" targetRef="Task_06o1aio"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("rollbackAAI" ) == "true"}]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> </bpmn2:process> <bpmn2:error id="Error_2" name="MSOWorkflowException" errorCode="MSOWorkflowException" /> <bpmn2:error id="Error_1" name="java.lang.Exception" errorCode="java.lang.Exception" /> @@ -208,9 +198,6 @@ rbk.validateSDNCResponse(execution, response, "delete")]]></bpmn2:script> <dc:Bounds x="350" y="82" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNShape id="CallActivity_1md4kyb_di" bpmnElement="callGenericDeleteService"> - <dc:Bounds x="1167" y="57" width="100" height="80" /> - </bpmndi:BPMNShape> <bpmndi:BPMNShape id="ExclusiveGateway_09wkav2_di" bpmnElement="ExclusiveGateway_09wkav2" isMarkerVisible="true"> <dc:Bounds x="448" y="72" width="50" height="50" /> <bpmndi:BPMNLabel> @@ -247,20 +234,6 @@ rbk.validateSDNCResponse(execution, response, "delete")]]></bpmn2:script> <dc:Bounds x="1081" y="124.63709677419354" width="12" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_05wu9i7_di" bpmnElement="SequenceFlow_05wu9i7"> - <di:waypoint xsi:type="dc:Point" x="1217" y="137" /> - <di:waypoint xsi:type="dc:Point" x="1217" y="201" /> - <bpmndi:BPMNLabel> - <dc:Bounds x="1232" y="169" width="0" height="0" /> - </bpmndi:BPMNLabel> - </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_1x9eh33_di" bpmnElement="SequenceFlow_1x9eh33"> - <di:waypoint xsi:type="dc:Point" x="1096" y="97" /> - <di:waypoint xsi:type="dc:Point" x="1167" y="97" /> - <bpmndi:BPMNLabel> - <dc:Bounds x="1126" y="82" width="18" height="12" /> - </bpmndi:BPMNLabel> - </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_0k28xib_di" bpmnElement="SequenceFlow_0k28xib"> <di:waypoint xsi:type="dc:Point" x="639" y="97" /> <di:waypoint xsi:type="dc:Point" x="671" y="97" /> @@ -374,6 +347,27 @@ rbk.validateSDNCResponse(execution, response, "delete")]]></bpmn2:script> <dc:Bounds x="1034" y="82" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ServiceTask_0e780gv_di" bpmnElement="Task_06o1aio"> + <dc:Bounds x="1176" y="57" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_0h3wkj4_di" bpmnElement="SequenceFlow_0h3wkj4"> + <di:waypoint xsi:type="dc:Point" x="1276" y="97" /> + <di:waypoint xsi:type="dc:Point" x="1296" y="97" /> + <di:waypoint xsi:type="dc:Point" x="1296" y="241" /> + <di:waypoint xsi:type="dc:Point" x="1276" y="241" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1311" y="163" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_1x9eh33_di" bpmnElement="SequenceFlow_1x9eh33"> + <di:waypoint xsi:type="dc:Point" x="1096" y="97" /> + <di:waypoint xsi:type="dc:Point" x="1136" y="97" /> + <di:waypoint xsi:type="dc:Point" x="1136" y="97" /> + <di:waypoint xsi:type="dc:Point" x="1176" y="97" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1115.9718309859154" y="71" width="18" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> </bpmndi:BPMNPlane> </bpmndi:BPMNDiagram> </bpmn2:definitions> diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateServiceInstanceRollbackV2.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateServiceInstanceRollbackV2.bpmn new file mode 100644 index 0000000000..7853aa9586 --- /dev/null +++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateServiceInstanceRollbackV2.bpmn @@ -0,0 +1,103 @@ +<?xml version="1.0" encoding="UTF-8"?> +<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="Definitions_1" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="1.8.2"> + <bpmn:process id="DoCreateServiceInstanceRollbackV2" name="DoCreateServiceInstanceRollbackV2" isExecutable="true"> + <bpmn:startEvent id="StartEvent_1" name="start"> + <bpmn:outgoing>SequenceFlow_0r35zfs</bpmn:outgoing> + </bpmn:startEvent> + <bpmn:sequenceFlow id="SequenceFlow_0r35zfs" sourceRef="StartEvent_1" targetRef="ScriptTask_2" /> + <bpmn:endEvent id="EndEvent_1uwvw04" name="end"> + <bpmn:incoming>SequenceFlow_1f949uf</bpmn:incoming> + </bpmn:endEvent> + <bpmn:sequenceFlow id="SequenceFlow_1f949uf" sourceRef="ScriptTask_2" targetRef="EndEvent_1uwvw04" /> + <bpmn:scriptTask id="ScriptTask_2" name="ServiceInstance Rollback (A&AI)" scriptFormat="groovy"> + <bpmn:incoming>SequenceFlow_0r35zfs</bpmn:incoming> + <bpmn:outgoing>SequenceFlow_1f949uf</bpmn:outgoing> + <bpmn:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def dcsir = new DoCreateServiceInstanceRollbackV2() +dcsir.aaiServiceInstanceRollback(execution)]]></bpmn:script> + </bpmn:scriptTask> + <bpmn:subProcess id="SubProcess_06tpqag" triggeredByEvent="true"> + <bpmn:startEvent id="StartEvent_1n34l5n" name="error start"> + <bpmn:outgoing>SequenceFlow_1tnfu1n</bpmn:outgoing> + <bpmn:errorEventDefinition /> + </bpmn:startEvent> + <bpmn:sequenceFlow id="SequenceFlow_1tnfu1n" sourceRef="StartEvent_1n34l5n" targetRef="Task_11sf5id" /> + <bpmn:endEvent id="EndEvent_1ldhg44" name="end"> + <bpmn:incoming>SequenceFlow_0hi9120</bpmn:incoming> + </bpmn:endEvent> + <bpmn:sequenceFlow id="SequenceFlow_0hi9120" sourceRef="Task_11sf5id" targetRef="EndEvent_1ldhg44" /> + <bpmn:scriptTask id="Task_11sf5id" name="Rollback ERROR" scriptFormat="groovy"> + <bpmn:incoming>SequenceFlow_1tnfu1n</bpmn:incoming> + <bpmn:outgoing>SequenceFlow_0hi9120</bpmn:outgoing> + <bpmn:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def dcsir = new DoCreateServiceInstanceRollbackV2() +dcsir.rollbackError(execution)]]></bpmn:script> + </bpmn:scriptTask> + </bpmn:subProcess> + </bpmn:process> + <bpmndi:BPMNDiagram id="BPMNDiagram_1"> + <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="DoCreateServiceInstanceRollbackV2"> + <bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="StartEvent_1"> + <dc:Bounds x="223" y="102" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="230" y="138" width="22" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_0r35zfs_di" bpmnElement="SequenceFlow_0r35zfs"> + <di:waypoint xsi:type="dc:Point" x="259" y="120" /> + <di:waypoint xsi:type="dc:Point" x="325" y="120" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="247" y="99" width="90" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="EndEvent_1uwvw04_di" bpmnElement="EndEvent_1uwvw04"> + <dc:Bounds x="490" y="102" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="499" y="142" width="18" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1f949uf_di" bpmnElement="SequenceFlow_1f949uf"> + <di:waypoint xsi:type="dc:Point" x="425" y="120" /> + <di:waypoint xsi:type="dc:Point" x="490" y="120" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="412.5" y="99" width="90" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ScriptTask_0kr8b5y_di" bpmnElement="ScriptTask_2"> + <dc:Bounds x="325" y="80" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="SubProcess_03s2qcr_di" bpmnElement="SubProcess_06tpqag" isExpanded="true"> + <dc:Bounds x="200" y="216" width="350" height="200" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="StartEvent_1nwdcsr_di" bpmnElement="StartEvent_1n34l5n"> + <dc:Bounds x="229" y="295" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="223" y="335" width="49" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1tnfu1n_di" bpmnElement="SequenceFlow_1tnfu1n"> + <di:waypoint xsi:type="dc:Point" x="265" y="313" /> + <di:waypoint xsi:type="dc:Point" x="318" y="313" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="291.5" y="292" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="EndEvent_1ldhg44_di" bpmnElement="EndEvent_1ldhg44"> + <dc:Bounds x="453" y="295" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="462" y="335" width="18" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_0hi9120_di" bpmnElement="SequenceFlow_0hi9120"> + <di:waypoint xsi:type="dc:Point" x="418" y="313" /> + <di:waypoint xsi:type="dc:Point" x="453" y="313" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="435.5" y="292" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ScriptTask_1w1j8ao_di" bpmnElement="Task_11sf5id"> + <dc:Bounds x="318" y="273" width="100" height="80" /> + </bpmndi:BPMNShape> + </bpmndi:BPMNPlane> + </bpmndi:BPMNDiagram> +</bpmn:definitions> diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateServiceInstanceV2.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateServiceInstanceV2.bpmn new file mode 100644 index 0000000000..251af54305 --- /dev/null +++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateServiceInstanceV2.bpmn @@ -0,0 +1,197 @@ +<?xml version="1.0" encoding="UTF-8"?> +<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" id="Definitions_1" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="1.8.2"> + <bpmn:process id="DoCreateServiceInstanceV2" name="DoCreateServiceInstanceV2" isExecutable="true"> + <bpmn:startEvent id="StartEvent_1" name="Start"> + <bpmn:outgoing>SequenceFlow_0g8qp84</bpmn:outgoing> + </bpmn:startEvent> + <bpmn:sequenceFlow id="SequenceFlow_0651nnp" sourceRef="ScriptTask_1" targetRef="ScriptTask_2" /> + <bpmn:sequenceFlow id="SequenceFlow_0u0ptz7" sourceRef="ScriptTask_2" targetRef="ScriptTask_3" /> + <bpmn:exclusiveGateway id="ExclusiveGateway_1" name="Run SDNC Request?"> + <bpmn:incoming>SequenceFlow_0ekno6w</bpmn:incoming> + <bpmn:outgoing>SequenceFlow_1t50vt9</bpmn:outgoing> + <bpmn:outgoing>SequenceFlow_0xhy3o1</bpmn:outgoing> + </bpmn:exclusiveGateway> + <bpmn:sequenceFlow id="SequenceFlow_0ekno6w" sourceRef="ScriptTask_3" targetRef="ExclusiveGateway_1" /> + <bpmn:sequenceFlow id="SequenceFlow_1t50vt9" name="Yes" sourceRef="ExclusiveGateway_1" targetRef="ScriptTask_4"> + <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[#{execution.getVariable("callSDNC")}]]></bpmn:conditionExpression> + </bpmn:sequenceFlow> + <bpmn:endEvent id="EndEvent_2" name="End"> + <bpmn:incoming>SequenceFlow_0xhy3o1</bpmn:incoming> + </bpmn:endEvent> + <bpmn:sequenceFlow id="SequenceFlow_0xhy3o1" name="No" sourceRef="ExclusiveGateway_1" targetRef="EndEvent_2" /> + <bpmn:endEvent id="EndEvent_1" name="End"> + <bpmn:incoming>SequenceFlow_0eryvle</bpmn:incoming> + </bpmn:endEvent> + <bpmn:sequenceFlow id="SequenceFlow_0eryvle" sourceRef="ScriptTask_4" targetRef="EndEvent_1" /> + <bpmn:scriptTask id="ScriptTask_1" name="Create Service Instance (A&AI)" scriptFormat="groovy"> + <bpmn:incoming>SequenceFlow_0g8qp84</bpmn:incoming> + <bpmn:outgoing>SequenceFlow_0651nnp</bpmn:outgoing> + <bpmn:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def dcsi = new DoCreateServiceInstanceV2() +dcsi.createServiceInstance(execution)]]></bpmn:script> + </bpmn:scriptTask> + <bpmn:scriptTask id="ScriptTask_2" name="Create Project (A&AI)" scriptFormat="groovy"> + <bpmn:incoming>SequenceFlow_0651nnp</bpmn:incoming> + <bpmn:outgoing>SequenceFlow_0u0ptz7</bpmn:outgoing> + <bpmn:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def dcsi = new DoCreateServiceInstanceV2() +dcsi.createProject(execution)]]></bpmn:script> + </bpmn:scriptTask> + <bpmn:scriptTask id="ScriptTask_3" name="Create Owning Entity (A&AI)" scriptFormat="groovy"> + <bpmn:incoming>SequenceFlow_0u0ptz7</bpmn:incoming> + <bpmn:outgoing>SequenceFlow_0ekno6w</bpmn:outgoing> + <bpmn:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def dcsi = new DoCreateServiceInstanceV2() +dcsi.createOwningEntity(execution)]]></bpmn:script> + </bpmn:scriptTask> + <bpmn:scriptTask id="ScriptTask_4" name="Create Service Instance (SDNC)" scriptFormat="groovy"> + <bpmn:incoming>SequenceFlow_1t50vt9</bpmn:incoming> + <bpmn:outgoing>SequenceFlow_0eryvle</bpmn:outgoing> + <bpmn:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def dcsi = new DoCreateServiceInstanceV2() +dcsi.sdncCreateServiceInstance(execution)]]></bpmn:script> + </bpmn:scriptTask> + <bpmn:subProcess id="SubProcess_0lezgt7" name="Error Handling" triggeredByEvent="true"> + <bpmn:startEvent id="ErrorEvent_2" name="Error"> + <bpmn:outgoing>SequenceFlow_0mk8fd7</bpmn:outgoing> + <bpmn:errorEventDefinition /> + </bpmn:startEvent> + <bpmn:endEvent id="EndEvent_3" name="End"> + <bpmn:incoming>SequenceFlow_14mdxgk</bpmn:incoming> + </bpmn:endEvent> + <bpmn:sequenceFlow id="SequenceFlow_0mk8fd7" sourceRef="ErrorEvent_2" targetRef="SubTask_1" /> + <bpmn:sequenceFlow id="SequenceFlow_14mdxgk" sourceRef="SubTask_1" targetRef="EndEvent_3" /> + <bpmn:callActivity id="SubTask_1" name="DoCreate Rollback" calledElement="DoCreateServiceInstanceRollbackV2"> + <bpmn:extensionElements> + <camunda:in source="sdncRollback" target="sdncRollback" /> + <camunda:in source="aaiServiceInstanceRollback" target="aaiServiceInstanceRollback" /> + <camunda:in source="ServiceDecomposition" target="ServiceDecomposition" /> + </bpmn:extensionElements> + <bpmn:incoming>SequenceFlow_0mk8fd7</bpmn:incoming> + <bpmn:outgoing>SequenceFlow_14mdxgk</bpmn:outgoing> + </bpmn:callActivity> + </bpmn:subProcess> + <bpmn:sequenceFlow id="SequenceFlow_0g8qp84" sourceRef="StartEvent_1" targetRef="ScriptTask_1" /> + </bpmn:process> + <bpmndi:BPMNDiagram id="BPMNDiagram_1"> + <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="DoCreateServiceInstanceV2"> + <bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="StartEvent_1"> + <dc:Bounds x="166" y="102" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="173" y="138" width="23" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_0651nnp_di" bpmnElement="SequenceFlow_0651nnp"> + <di:waypoint xsi:type="dc:Point" x="371" y="120" /> + <di:waypoint xsi:type="dc:Point" x="442" y="120" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="406.5" y="99" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_0u0ptz7_di" bpmnElement="SequenceFlow_0u0ptz7"> + <di:waypoint xsi:type="dc:Point" x="542" y="120" /> + <di:waypoint xsi:type="dc:Point" x="620" y="120" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="581" y="99" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ExclusiveGateway_1hnvq9n_di" bpmnElement="ExclusiveGateway_1" isMarkerVisible="true"> + <dc:Bounds x="784" y="95" width="50" height="50" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="773" y="67" width="72" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_0ekno6w_di" bpmnElement="SequenceFlow_0ekno6w"> + <di:waypoint xsi:type="dc:Point" x="720" y="120" /> + <di:waypoint xsi:type="dc:Point" x="784" y="120" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="752" y="99" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_1t50vt9_di" bpmnElement="SequenceFlow_1t50vt9"> + <di:waypoint xsi:type="dc:Point" x="834" y="120" /> + <di:waypoint xsi:type="dc:Point" x="911" y="120" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="856" y="94" width="14" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="EndEvent_1tlnfr4_di" bpmnElement="EndEvent_2"> + <dc:Bounds x="791" y="196" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="800" y="236" width="19" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_0xhy3o1_di" bpmnElement="SequenceFlow_0xhy3o1"> + <di:waypoint xsi:type="dc:Point" x="809" y="145" /> + <di:waypoint xsi:type="dc:Point" x="809" y="196" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="815" y="165" width="18" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="EndEvent_015y2ht_di" bpmnElement="EndEvent_1"> + <dc:Bounds x="1078" y="102" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1087" y="142" width="19" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_0eryvle_di" bpmnElement="SequenceFlow_0eryvle"> + <di:waypoint xsi:type="dc:Point" x="1011" y="120" /> + <di:waypoint xsi:type="dc:Point" x="1078" y="120" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1044.5" y="99" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ScriptTask_1qtzumy_di" bpmnElement="ScriptTask_1"> + <dc:Bounds x="271" y="80" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ScriptTask_10octqt_di" bpmnElement="ScriptTask_2"> + <dc:Bounds x="442" y="80" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ScriptTask_140drj4_di" bpmnElement="ScriptTask_3"> + <dc:Bounds x="620" y="80" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ScriptTask_1q37c16_di" bpmnElement="ScriptTask_4"> + <dc:Bounds x="911" y="80" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="SubProcess_1p4inl6_di" bpmnElement="SubProcess_0lezgt7" isExpanded="true"> + <dc:Bounds x="368" y="268" width="350" height="200" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="StartEvent_0g6sxcc_di" bpmnElement="ErrorEvent_2"> + <dc:Bounds x="409" y="335" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="415" y="375" width="25" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="EndEvent_061qhx5_di" bpmnElement="EndEvent_3"> + <dc:Bounds x="623" y="335" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="632" y="375" width="19" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_0g8qp84_di" bpmnElement="SequenceFlow_0g8qp84"> + <di:waypoint xsi:type="dc:Point" x="202" y="120" /> + <di:waypoint xsi:type="dc:Point" x="271" y="120" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="191.5" y="99" width="90" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_0mk8fd7_di" bpmnElement="SequenceFlow_0mk8fd7"> + <di:waypoint xsi:type="dc:Point" x="445" y="353" /> + <di:waypoint xsi:type="dc:Point" x="482" y="353" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="463.5" y="332" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_14mdxgk_di" bpmnElement="SequenceFlow_14mdxgk"> + <di:waypoint xsi:type="dc:Point" x="582" y="353" /> + <di:waypoint xsi:type="dc:Point" x="623" y="353" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="602.5" y="332" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="CallActivity_1jzchuz_di" bpmnElement="SubTask_1"> + <dc:Bounds x="482" y="313" width="100" height="80" /> + </bpmndi:BPMNShape> + </bpmndi:BPMNPlane> + </bpmndi:BPMNDiagram> +</bpmn:definitions> diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateVfModule.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateVfModule.bpmn index 5383dc871e..e6d25a4b9f 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateVfModule.bpmn +++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateVfModule.bpmn @@ -75,7 +75,7 @@ </bpmn2:callActivity>
<bpmn2:scriptTask id="PostProcessSDNCAssignRequest" name="PostProcess SDNC Assign Request" scriptFormat="groovy">
<bpmn2:incoming>SequenceFlow_20</bpmn2:incoming>
- <bpmn2:outgoing>SequenceFlow_22</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_1nh92s8</bpmn2:outgoing>
<bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
String response = execution.getVariable("DCVFM_assignSDNCAdapterResponse")
@@ -93,7 +93,8 @@ doCreateVfModule.preProcessSDNCAssignRequest(execution)]]></bpmn2:script> <bpmn2:sequenceFlow id="SequenceFlow_18" name="" sourceRef="PreProcessSDNCAssignRequest" targetRef="CallSDNCAdapterVDModuleTopologyAssign" />
<bpmn2:sequenceFlow id="SequenceFlow_20" name="" sourceRef="CallSDNCAdapterVDModuleTopologyAssign" targetRef="PostProcessSDNCAssignRequest" />
<bpmn2:scriptTask id="PreProcessSDNCGetRequest" name="PreProcess SDNC GET Request" scriptFormat="groovy">
- <bpmn2:incoming>SequenceFlow_22</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_0p61zug</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_0aegg0r</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_23</bpmn2:outgoing>
<bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
def doCreateVfModule = new DoCreateVfModule()
@@ -112,7 +113,6 @@ doCreateVfModule.preProcessSDNCGetRequest(execution, "vfmodule")]]></bpmn2:scrip <bpmn2:incoming>SequenceFlow_23</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_24</bpmn2:outgoing>
</bpmn2:callActivity>
- <bpmn2:sequenceFlow id="SequenceFlow_22" name="" sourceRef="PostProcessSDNCAssignRequest" targetRef="PreProcessSDNCGetRequest" />
<bpmn2:sequenceFlow id="SequenceFlow_23" name="" sourceRef="PreProcessSDNCGetRequest" targetRef="CallSDNCAdapterVFModuleTopologyGET" />
<bpmn2:sequenceFlow id="SequenceFlow_24" name="" sourceRef="CallSDNCAdapterVFModuleTopologyGET" targetRef="PostProcessSDNCGetRequest" />
<bpmn2:scriptTask id="PostProcessSDNCGetRequest" name="PostProcess SDNC GET Request" scriptFormat="groovy">
@@ -174,12 +174,9 @@ doCreateVfModule.validateSDNCResponse(execution, response, "activate")]]></bpmn2 </bpmn2:scriptTask>
<bpmn2:exclusiveGateway id="ExclusiveGateway_5" name="Is volume_group_id specified?" default="SequenceFlow_30">
<bpmn2:incoming>SequenceFlow_14</bpmn2:incoming>
- <bpmn2:outgoing>SequenceFlow_28</bpmn2:outgoing>
<bpmn2:outgoing>SequenceFlow_30</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_28</bpmn2:outgoing>
</bpmn2:exclusiveGateway>
- <bpmn2:sequenceFlow id="SequenceFlow_28" name="yes" sourceRef="ExclusiveGateway_5" targetRef="PrepareCreateAAIVfModuleVolumeGroupRequest">
- <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("DCVFM_volumeGroupId") != null && execution.getVariable("DCVFM_volumeGroupId") != "" }]]></bpmn2:conditionExpression>
- </bpmn2:sequenceFlow>
<bpmn2:sequenceFlow id="SequenceFlow_30" name="no" sourceRef="ExclusiveGateway_5" targetRef="ExclusiveGateway_6" />
<bpmn2:sequenceFlow id="SequenceFlow_5" name="" sourceRef="PreProcessUpdateAAIVfModule_1" targetRef="UpdateAAIVfModule_1" />
<bpmn2:sequenceFlow id="SequenceFlow_10" name="" sourceRef="UpdateAAIVfModule_1" targetRef="PreProcessSDNCActivateRequest" />
@@ -320,7 +317,7 @@ return doCreateVfModule.queryCloudRegion(execution)]]></bpmn2:script> def doCreateVfModule = new DoCreateVfModule()
doCreateVfModule.preProcessRequest(execution)]]></bpmn2:script>
</bpmn2:scriptTask>
- <bpmn2:sequenceFlow id="SequenceFlow_4" name="" sourceRef="PreProcessRequest" targetRef="ExclusiveGateway_0ffvqla" />
+ <bpmn2:sequenceFlow id="SequenceFlow_4" name="" sourceRef="PreProcessRequest" targetRef="ExclusiveGateway_19933zh" />
<bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1" name="To DoCreateVfModule">
<bpmn2:incoming>SequenceFlow_1f53tby</bpmn2:incoming>
<bpmn2:incoming>SequenceFlow_0270n5c</bpmn2:incoming>
@@ -453,7 +450,8 @@ doCreateVfModule.validateSDNCResponse(execution, response, "get")]]></bpmn2:scri </bpmn2:callActivity>
<bpmn2:sequenceFlow id="SequenceFlow_1f53tby" sourceRef="Task_0kuj2a1" targetRef="IntermediateThrowEvent_1" />
<bpmn2:exclusiveGateway id="ExclusiveGateway_0ffvqla" name="Is vf_module_name specified?" default="SequenceFlow_0270n5c">
- <bpmn2:incoming>SequenceFlow_4</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_1y1ttqe</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_0lilmm3</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_0270n5c</bpmn2:outgoing>
<bpmn2:outgoing>SequenceFlow_05og7iw</bpmn2:outgoing>
</bpmn2:exclusiveGateway>
@@ -492,6 +490,7 @@ doCreateVfModule.validateSDNCResponse(execution, response, "get")]]></bpmn2:scri <camunda:out source="rollbackError" target="rollbackError" />
<camunda:in source="disableRollback" target="disableRollback" />
<camunda:in source="sdncVersion" target="sdncVersion" />
+ <camunda:in source="DCVFM_aLaCarte" target="aLaCarte" />
</bpmn2:extensionElements>
<bpmn2:incoming>SequenceFlow_1i1q78e</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_0112l2c</bpmn2:outgoing>
@@ -532,6 +531,174 @@ doCreateVfModule.processBPMNException(execution)]]></bpmn2:script> </bpmn2:scriptTask>
<bpmn2:sequenceFlow id="SequenceFlow_1pgo10r" sourceRef="Task_1fm09pi" targetRef="EndEvent_0wsdptv" />
</bpmn2:subProcess>
+ <bpmn2:exclusiveGateway id="ExclusiveGateway_0jw7ymg" name="Is 2 Phased Design?" default="SequenceFlow_006rnym">
+ <bpmn2:incoming>SequenceFlow_0cc17yk</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_17cp3tn</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_006rnym</bpmn2:outgoing>
+ </bpmn2:exclusiveGateway>
+ <bpmn2:sequenceFlow id="SequenceFlow_28" name="yes" sourceRef="ExclusiveGateway_5" targetRef="PrepareCreateAAIVfModuleVolumeGroupRequest">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("DCVFM_volumeGroupId") != null && execution.getVariable("DCVFM_volumeGroupId") != "" }]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:exclusiveGateway id="ExclusiveGateway_19933zh" name="Is aLaCarte?" default="SequenceFlow_1y1ttqe">
+ <bpmn2:incoming>SequenceFlow_4</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_1y1ttqe</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_1y8q87e</bpmn2:outgoing>
+ </bpmn2:exclusiveGateway>
+ <bpmn2:sequenceFlow id="SequenceFlow_1y1ttqe" name="no" sourceRef="ExclusiveGateway_19933zh" targetRef="ExclusiveGateway_0ffvqla" />
+ <bpmn2:exclusiveGateway id="ExclusiveGateway_02fd6gx" name="Is already PendingActivation or Assigned?" default="SequenceFlow_0lilmm3">
+ <bpmn2:incoming>SequenceFlow_1sf1091</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_0lilmm3</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_15i583d</bpmn2:outgoing>
+ </bpmn2:exclusiveGateway>
+ <bpmn2:sequenceFlow id="SequenceFlow_0lilmm3" name="no" sourceRef="ExclusiveGateway_02fd6gx" targetRef="ExclusiveGateway_0ffvqla" />
+ <bpmn2:sequenceFlow id="SequenceFlow_1y8q87e" name="yes" sourceRef="ExclusiveGateway_19933zh" targetRef="Task_14n44kb">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("DCVFM_aLaCarte") == true]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:sequenceFlow id="SequenceFlow_1sf1091" sourceRef="Task_14n44kb" targetRef="ExclusiveGateway_02fd6gx" />
+ <bpmn2:sequenceFlow id="SequenceFlow_17cp3tn" name="yes" sourceRef="ExclusiveGateway_0jw7ymg" targetRef="Task_0kqh1of">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("DCVFM_twoPhaseDesign") == true]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:endEvent id="EndEvent_0pd6bbj">
+ <bpmn2:incoming>SequenceFlow_00bh7m7</bpmn2:incoming>
+ <bpmn2:terminateEventDefinition />
+ </bpmn2:endEvent>
+ <bpmn2:sequenceFlow id="SequenceFlow_15i583d" name="yes" sourceRef="ExclusiveGateway_02fd6gx" targetRef="ExclusiveGateway_1f6x9ii">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("DCVFM_orchestrationStatus") == "PendingActivation" || execution.getVariable("DCVFM_orchestrationStatus") == "Assigned"]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:exclusiveGateway id="ExclusiveGateway_0gsliyw" name="Is aLaCarte?" default="SequenceFlow_1iyt5i4">
+ <bpmn2:incoming>SequenceFlow_1nh92s8</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_16mgvsd</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_1iyt5i4</bpmn2:outgoing>
+ </bpmn2:exclusiveGateway>
+ <bpmn2:sequenceFlow id="SequenceFlow_16mgvsd" name="yes" sourceRef="ExclusiveGateway_0gsliyw" targetRef="Task_08tnqe1">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("DCVFM_aLaCarte") == true]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:sequenceFlow id="SequenceFlow_1nh92s8" sourceRef="PostProcessSDNCAssignRequest" targetRef="ExclusiveGateway_0gsliyw" />
+ <bpmn2:sequenceFlow id="SequenceFlow_0cc17yk" sourceRef="Task_08tnqe1" targetRef="ExclusiveGateway_0jw7ymg" />
+ <bpmn2:sequenceFlow id="SequenceFlow_1iyt5i4" name="no" sourceRef="ExclusiveGateway_0gsliyw" targetRef="Task_19zw1li" />
+ <bpmn2:sequenceFlow id="SequenceFlow_006rnym" name="no" sourceRef="ExclusiveGateway_0jw7ymg" targetRef="Task_19zw1li" />
+ <bpmn2:sequenceFlow id="SequenceFlow_0ynd0iy" sourceRef="Task_0kqh1of" targetRef="Task_08z2aai" />
+ <bpmn2:sequenceFlow id="SequenceFlow_00bh7m7" sourceRef="Task_16p51r4" targetRef="EndEvent_0pd6bbj" />
+ <bpmn2:sequenceFlow id="SequenceFlow_1mnipp8" sourceRef="Task_08z2aai" targetRef="Task_16p51r4" />
+ <bpmn2:callActivity id="Task_08z2aai" name="Update AAI VF Module PendingActivation" calledElement="UpdateAAIVfModule">
+ <bpmn2:extensionElements>
+ <camunda:in source="DCVFM_updateAAIVfModuleRequest" target="UpdateAAIVfModuleRequest" />
+ <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
+ <camunda:out source="WorkflowException" target="WorkflowException" />
+ <camunda:out source="WorkflowResponse" target="DCVFM_updateAAIVfModuleResponse" />
+ </bpmn2:extensionElements>
+ <bpmn2:incoming>SequenceFlow_0ynd0iy</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_1mnipp8</bpmn2:outgoing>
+ </bpmn2:callActivity>
+ <bpmn2:scriptTask id="Task_0kqh1of" name="PrepareUpdateAAIVfModulePendingActivation" scriptFormat="groovy">
+ <bpmn2:incoming>SequenceFlow_17cp3tn</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_0ynd0iy</bpmn2:outgoing>
+ <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def doCreateVfModule = new DoCreateVfModule()
+doCreateVfModule.preProcessUpdateAAIVfModuleRequestStatus(execution, 'PendingActivation')]]></bpmn2:script>
+ </bpmn2:scriptTask>
+ <bpmn2:scriptTask id="Task_08tnqe1" name="Query Catalog DB" scriptFormat="groovy">
+ <bpmn2:incoming>SequenceFlow_16mgvsd</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_0cc17yk</bpmn2:outgoing>
+ <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def doCreateVfModule = new DoCreateVfModule()
+doCreateVfModule.queryCatalogDB(execution)]]></bpmn2:script>
+ </bpmn2:scriptTask>
+ <bpmn2:scriptTask id="Task_14n44kb" name="Query AAI for Orchestration Status" scriptFormat="groovy">
+ <bpmn2:incoming>SequenceFlow_1y8q87e</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_1sf1091</bpmn2:outgoing>
+ <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def doCreateVfModule = new DoCreateVfModule()
+doCreateVfModule.queryAAIVfModuleForStatus(execution)]]></bpmn2:script>
+ </bpmn2:scriptTask>
+ <bpmn2:scriptTask id="Task_16p51r4" name="Set Success Indicator 1st Phase" scriptFormat="groovy">
+ <bpmn2:incoming>SequenceFlow_1mnipp8</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_00bh7m7</bpmn2:outgoing>
+ <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def doCreateVfModule = new DoCreateVfModule()
+doCreateVfModule.setSuccessIndicator(execution, true)]]></bpmn2:script>
+ </bpmn2:scriptTask>
+ <bpmn2:exclusiveGateway id="ExclusiveGateway_1f6x9ii" name="Is volume_group_id specified for stage 2?" default="SequenceFlow_0tfrcnc">
+ <bpmn2:incoming>SequenceFlow_15i583d</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_0tfrcnc</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_0oadvvx</bpmn2:outgoing>
+ </bpmn2:exclusiveGateway>
+ <bpmn2:sequenceFlow id="SequenceFlow_0tfrcnc" name="no" sourceRef="ExclusiveGateway_1f6x9ii" targetRef="ExclusiveGateway_09r5rvt" />
+ <bpmn2:sequenceFlow id="SequenceFlow_0oadvvx" name="yes" sourceRef="ExclusiveGateway_1f6x9ii" targetRef="Task_0dx8gpp">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("DCVFM_volumeGroupId") != null && execution.getVariable("DCVFM_volumeGroupId") != "" }]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:exclusiveGateway id="ExclusiveGateway_09r5rvt">
+ <bpmn2:incoming>SequenceFlow_0tfrcnc</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_0c6p4aa</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_1qzw172</bpmn2:outgoing>
+ </bpmn2:exclusiveGateway>
+ <bpmn2:sequenceFlow id="SequenceFlow_1qzw172" sourceRef="ExclusiveGateway_09r5rvt" targetRef="ExclusiveGateway_04msdir" />
+ <bpmn2:sequenceFlow id="SequenceFlow_03batve" sourceRef="Task_0dx8gpp" targetRef="Task_0e8s9xm" />
+ <bpmn2:sequenceFlow id="SequenceFlow_0c6p4aa" sourceRef="Task_0e8s9xm" targetRef="ExclusiveGateway_09r5rvt" />
+ <bpmn2:exclusiveGateway id="ExclusiveGateway_04msdir" name="Is Base VF Module for stage 2?" default="SequenceFlow_0p3cspl">
+ <bpmn2:incoming>SequenceFlow_1qzw172</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_0xed5sn</bpmn2:outgoing>
+ <bpmn2:outgoing>SequenceFlow_0p3cspl</bpmn2:outgoing>
+ </bpmn2:exclusiveGateway>
+ <bpmn2:sequenceFlow id="SequenceFlow_0xed5sn" name="yes" sourceRef="ExclusiveGateway_04msdir" targetRef="ExclusiveGateway_1biy4yg">
+ <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("DCVFM_isBaseVfModule") == "true"]]></bpmn2:conditionExpression>
+ </bpmn2:sequenceFlow>
+ <bpmn2:sequenceFlow id="SequenceFlow_0p3cspl" name="no" sourceRef="ExclusiveGateway_04msdir" targetRef="Task_0cdjxcd" />
+ <bpmn2:exclusiveGateway id="ExclusiveGateway_1biy4yg">
+ <bpmn2:incoming>SequenceFlow_0xed5sn</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_1k7xbcu</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_0p61zug</bpmn2:outgoing>
+ </bpmn2:exclusiveGateway>
+ <bpmn2:sequenceFlow id="SequenceFlow_0p61zug" sourceRef="ExclusiveGateway_1biy4yg" targetRef="PreProcessSDNCGetRequest" />
+ <bpmn2:sequenceFlow id="SequenceFlow_1k7xbcu" sourceRef="Task_0cdjxcd" targetRef="ExclusiveGateway_1biy4yg" />
+ <bpmn2:scriptTask id="Task_0dx8gpp" name="Query Cloud Region For Stage 2" scriptFormat="groovy">
+ <bpmn2:incoming>SequenceFlow_0oadvvx</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_03batve</bpmn2:outgoing>
+ <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def doCreateVfModule = new DoCreateVfModule()
+return doCreateVfModule.queryCloudRegion(execution)]]></bpmn2:script>
+ </bpmn2:scriptTask>
+ <bpmn2:callActivity id="Task_0e8s9xm" name="Confirm Volume Group Tenant" calledElement="ConfirmVolumeGroupTenant">
+ <bpmn2:extensionElements>
+ <camunda:in source="DCVFM_volumeGroupId" target="volumeGroupId" />
+ <camunda:in source="DCVFM_tenantId" target="tenantId" />
+ <camunda:in source="DCVFM_cloudRegionForVolume" target="aicCloudRegion" />
+ <camunda:in source="mso-request-id" target="mso-request-id" />
+ <camunda:in source="mso-service-instance-id" target="mso-service-instance-id" />
+ <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
+ <camunda:out source="ConfirmVolumeGroupTenantResponse" target="DCVFM_volumeGroupStackId" />
+ <camunda:out source="WorkflowException" target="WorkflowException" />
+ </bpmn2:extensionElements>
+ <bpmn2:incoming>SequenceFlow_03batve</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_0c6p4aa</bpmn2:outgoing>
+ </bpmn2:callActivity>
+ <bpmn2:scriptTask id="Task_0cdjxcd" name="Query AAI Vf Module for Stage 2" scriptFormat="groovy">
+ <bpmn2:incoming>SequenceFlow_0p3cspl</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_1k7xbcu</bpmn2:outgoing>
+ <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def doCreateVfModule = new DoCreateVfModule()
+doCreateVfModule.queryAAIVfModule(execution)]]></bpmn2:script>
+ </bpmn2:scriptTask>
+ <bpmn2:scriptTask id="Task_19zw1li" name="PrepareUpdateAAIVfModuleAssign" scriptFormat="groovy">
+ <bpmn2:incoming>SequenceFlow_006rnym</bpmn2:incoming>
+ <bpmn2:incoming>SequenceFlow_1iyt5i4</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_0thm33s</bpmn2:outgoing>
+ <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def doCreateVfModule = new DoCreateVfModule()
+doCreateVfModule.preProcessUpdateAAIVfModuleRequestStatus(execution, 'Assigned')]]></bpmn2:script>
+ </bpmn2:scriptTask>
+ <bpmn2:callActivity id="Task_01b1fio" name="Update AAI VF Module Assigned" calledElement="UpdateAAIVfModule">
+ <bpmn2:extensionElements>
+ <camunda:in source="DCVFM_updateAAIVfModuleRequest" target="UpdateAAIVfModuleRequest" />
+ <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" />
+ <camunda:out source="WorkflowException" target="WorkflowException" />
+ <camunda:out source="WorkflowResponse" target="DCVFM_updateAAIVfModuleResponse" />
+ </bpmn2:extensionElements>
+ <bpmn2:incoming>SequenceFlow_0thm33s</bpmn2:incoming>
+ <bpmn2:outgoing>SequenceFlow_0aegg0r</bpmn2:outgoing>
+ </bpmn2:callActivity>
+ <bpmn2:sequenceFlow id="SequenceFlow_0thm33s" sourceRef="Task_19zw1li" targetRef="Task_01b1fio" />
+ <bpmn2:sequenceFlow id="SequenceFlow_0aegg0r" sourceRef="Task_01b1fio" targetRef="PreProcessSDNCGetRequest" />
</bpmn2:process>
<bpmn2:message id="Message_1" name="DoCreateVfModuleRequest" />
<bpmn2:error id="Error_1" name="MSOWorkflowException" errorCode="MSOWorkflowException" />
@@ -560,16 +727,16 @@ doCreateVfModule.processBPMNException(execution)]]></bpmn2:script> </bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_IntermediateThrowEvent_22" bpmnElement="IntermediateThrowEvent_1">
- <dc:Bounds x="530" y="153" width="36" height="36" />
+ <dc:Bounds x="828" y="153" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="571" y="173" width="86" height="36" />
+ <dc:Bounds x="869" y="173" width="86" height="36" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_ScriptTask_157" bpmnElement="CallSDNCAdapterVDModuleTopologyAssign">
<dc:Bounds x="266" y="672" width="121" height="94" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_ScriptTask_158" bpmnElement="CallSDNCAdapterVFModuleTopologyGET">
- <dc:Bounds x="744" y="670" width="133" height="97" />
+ <dc:Bounds x="254" y="1029" width="133" height="97" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_90" bpmnElement="IsVolumeGroupIdSpecified" isMarkerVisible="true">
<dc:Bounds x="144" y="368" width="50" height="50" />
@@ -594,53 +761,44 @@ doCreateVfModule.processBPMNException(execution)]]></bpmn2:script> </bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="_BPMNShape_ScriptTask_173" bpmnElement="CallVNFAdapterVFModuleCreate">
- <dc:Bounds x="1236" y="672" width="121" height="97" />
+ <dc:Bounds x="746" y="1031" width="121" height="97" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_ScriptTask_174" bpmnElement="UpdateAAIVfModule_1">
- <dc:Bounds x="768" y="830" width="117" height="97" />
+ <dc:Bounds x="717" y="1211" width="117" height="97" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_ScriptTask_175" bpmnElement="CallSDNCAdapterVFModuleTopologyActivate">
- <dc:Bounds x="1090" y="828" width="119" height="99" />
+ <dc:Bounds x="1039" y="1209" width="119" height="99" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_92" bpmnElement="ExclusiveGateway_5" isMarkerVisible="true">
- <dc:Bounds x="1435" y="853" width="50" height="50" />
+ <dc:Bounds x="1384" y="1234" width="50" height="50" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1432" y="825" width="86" height="36" />
+ <dc:Bounds x="1381" y="1206" width="86" height="36" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_ScriptTask_176" bpmnElement="CreateAAIVfModuleVolumeGroup">
- <dc:Bounds x="1693" y="986" width="121" height="112" />
+ <dc:Bounds x="1688" y="1204" width="121" height="112" />
</bpmndi:BPMNShape>
- <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_28" bpmnElement="SequenceFlow_28" sourceElement="_BPMNShape_ExclusiveGateway_92" targetElement="_BPMNShape_Task_7">
- <di:waypoint xsi:type="dc:Point" x="1460" y="903" />
- <di:waypoint xsi:type="dc:Point" x="1460" y="1042" />
- <di:waypoint xsi:type="dc:Point" x="1520" y="1042" />
- <bpmndi:BPMNLabel>
- <dc:Bounds x="1452" y="928" width="18" height="12" />
- </bpmndi:BPMNLabel>
- </bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_93" bpmnElement="ExclusiveGateway_6" isMarkerVisible="true">
- <dc:Bounds x="1818" y="854" width="50" height="50" />
+ <dc:Bounds x="1813" y="1072" width="50" height="50" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1843" y="909" width="0" height="0" />
+ <dc:Bounds x="1838" y="1127" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_29" bpmnElement="SequenceFlow_29" sourceElement="_BPMNShape_ScriptTask_176" targetElement="_BPMNShape_ExclusiveGateway_93">
- <di:waypoint xsi:type="dc:Point" x="1813" y="1042" />
- <di:waypoint xsi:type="dc:Point" x="1843" y="1042" />
- <di:waypoint xsi:type="dc:Point" x="1843" y="944" />
- <di:waypoint xsi:type="dc:Point" x="1843" y="904" />
+ <di:waypoint xsi:type="dc:Point" x="1808" y="1260" />
+ <di:waypoint xsi:type="dc:Point" x="1838" y="1260" />
+ <di:waypoint xsi:type="dc:Point" x="1838" y="1162" />
+ <di:waypoint xsi:type="dc:Point" x="1838" y="1122" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1839" y="1042" width="0" height="0" />
+ <dc:Bounds x="1834" y="1260" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_30" bpmnElement="SequenceFlow_30" sourceElement="_BPMNShape_ExclusiveGateway_92" targetElement="_BPMNShape_ExclusiveGateway_93">
- <di:waypoint xsi:type="dc:Point" x="1485" y="878" />
- <di:waypoint xsi:type="dc:Point" x="1651" y="878" />
- <di:waypoint xsi:type="dc:Point" x="1651" y="879" />
- <di:waypoint xsi:type="dc:Point" x="1818" y="879" />
+ <di:waypoint xsi:type="dc:Point" x="1409" y="1234" />
+ <di:waypoint xsi:type="dc:Point" x="1409" y="1097" />
+ <di:waypoint xsi:type="dc:Point" x="1813" y="1097" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1519" y="878" width="12" height="12" />
+ <dc:Bounds x="1419" y="1143.6746987951808" width="12" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_15" bpmnElement="SequenceFlow_15" sourceElement="_BPMNShape_IntermediateCatchEvent_24" targetElement="_BPMNShape_ExclusiveGateway_90">
@@ -693,9 +851,9 @@ doCreateVfModule.processBPMNException(execution)]]></bpmn2:script> </bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_4" bpmnElement="SequenceFlow_4" sourceElement="_BPMNShape_ScriptTask_124" targetElement="_BPMNShape_IntermediateThrowEvent_22">
<di:waypoint xsi:type="dc:Point" x="247" y="171" />
- <di:waypoint xsi:type="dc:Point" x="294" y="171" />
+ <di:waypoint xsi:type="dc:Point" x="302" y="171" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="271" y="156" width="0" height="0" />
+ <dc:Bounds x="275" y="156" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_6" bpmnElement="SequenceFlow_6" sourceElement="_BPMNShape_ExclusiveGateway_91" targetElement="_BPMNShape_ScriptTask_156">
@@ -747,134 +905,140 @@ doCreateVfModule.processBPMNException(execution)]]></bpmn2:script> <di:waypoint xsi:type="dc:Point" x="435" y="721" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="_BPMNShape_ScriptTask_213" bpmnElement="PreProcessSDNCGetRequest">
- <dc:Bounds x="588" y="672" width="121" height="94" />
+ <dc:Bounds x="98" y="1031" width="121" height="94" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_ScriptTask_214" bpmnElement="PostProcessSDNCGetRequest">
- <dc:Bounds x="924" y="672" width="121" height="94" />
+ <dc:Bounds x="434" y="1031" width="121" height="94" />
</bpmndi:BPMNShape>
- <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_22" bpmnElement="SequenceFlow_22" sourceElement="_BPMNShape_ScriptTask_179" targetElement="_BPMNShape_ScriptTask_213">
- <di:waypoint xsi:type="dc:Point" x="555" y="721" />
- <di:waypoint xsi:type="dc:Point" x="572" y="721" />
- <di:waypoint xsi:type="dc:Point" x="572" y="719" />
- <di:waypoint xsi:type="dc:Point" x="588" y="719" />
- </bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_23" bpmnElement="SequenceFlow_23" sourceElement="_BPMNShape_ScriptTask_213" targetElement="_BPMNShape_ScriptTask_158">
- <di:waypoint xsi:type="dc:Point" x="708" y="719" />
- <di:waypoint xsi:type="dc:Point" x="726" y="719" />
- <di:waypoint xsi:type="dc:Point" x="726" y="718" />
- <di:waypoint xsi:type="dc:Point" x="744" y="718" />
+ <di:waypoint xsi:type="dc:Point" x="218" y="1078" />
+ <di:waypoint xsi:type="dc:Point" x="236" y="1078" />
+ <di:waypoint xsi:type="dc:Point" x="236" y="1077" />
+ <di:waypoint xsi:type="dc:Point" x="254" y="1077" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="251" y="1068" width="0" height="0" />
+ </bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_24" bpmnElement="SequenceFlow_24" sourceElement="_BPMNShape_ScriptTask_158" targetElement="_BPMNShape_ScriptTask_214">
- <di:waypoint xsi:type="dc:Point" x="876" y="718" />
- <di:waypoint xsi:type="dc:Point" x="899" y="718" />
- <di:waypoint xsi:type="dc:Point" x="899" y="719" />
- <di:waypoint xsi:type="dc:Point" x="924" y="719" />
+ <di:waypoint xsi:type="dc:Point" x="386" y="1077" />
+ <di:waypoint xsi:type="dc:Point" x="409" y="1077" />
+ <di:waypoint xsi:type="dc:Point" x="409" y="1078" />
+ <di:waypoint xsi:type="dc:Point" x="434" y="1078" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="897" y="719" width="6" height="6" />
+ <dc:Bounds x="410" y="1078" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="_BPMNShape_Task_2" bpmnElement="PreProcessUpdateAAIVfModule_1">
- <dc:Bounds x="609" y="830" width="118" height="97" />
+ <dc:Bounds x="558" y="1211" width="118" height="97" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_Task_33" bpmnElement="PreProcessSDNCActivateRequest">
- <dc:Bounds x="935" y="829" width="118" height="98" />
+ <dc:Bounds x="884" y="1210" width="118" height="98" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_Task_4" bpmnElement="PostProcessSDNCActivateRequest">
- <dc:Bounds x="1252" y="830" width="121" height="95" />
+ <dc:Bounds x="1201" y="1211" width="121" height="95" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_5" bpmnElement="SequenceFlow_5" sourceElement="_BPMNShape_Task_2" targetElement="_BPMNShape_ScriptTask_174">
- <di:waypoint xsi:type="dc:Point" x="727" y="878" />
- <di:waypoint xsi:type="dc:Point" x="768" y="878" />
+ <di:waypoint xsi:type="dc:Point" x="676" y="1259" />
+ <di:waypoint xsi:type="dc:Point" x="717" y="1259" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="748" y="853" width="0" height="0" />
+ <dc:Bounds x="697" y="1234" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_10" bpmnElement="SequenceFlow_10" sourceElement="_BPMNShape_ScriptTask_174" targetElement="_BPMNShape_Task_33">
- <di:waypoint xsi:type="dc:Point" x="884" y="878" />
- <di:waypoint xsi:type="dc:Point" x="935" y="878" />
+ <di:waypoint xsi:type="dc:Point" x="833" y="1259" />
+ <di:waypoint xsi:type="dc:Point" x="884" y="1259" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="910" y="853" width="0" height="0" />
+ <dc:Bounds x="859" y="1234" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_12" bpmnElement="SequenceFlow_12" sourceElement="_BPMNShape_Task_33" targetElement="_BPMNShape_ScriptTask_175">
- <di:waypoint xsi:type="dc:Point" x="1053" y="878" />
- <di:waypoint xsi:type="dc:Point" x="1071" y="878" />
- <di:waypoint xsi:type="dc:Point" x="1071" y="877" />
- <di:waypoint xsi:type="dc:Point" x="1090" y="877" />
+ <di:waypoint xsi:type="dc:Point" x="1002" y="1259" />
+ <di:waypoint xsi:type="dc:Point" x="1020" y="1259" />
+ <di:waypoint xsi:type="dc:Point" x="1020" y="1258" />
+ <di:waypoint xsi:type="dc:Point" x="1039" y="1258" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1086" y="868" width="0" height="0" />
+ <dc:Bounds x="1035" y="1249" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_13" bpmnElement="SequenceFlow_13" sourceElement="_BPMNShape_ScriptTask_175" targetElement="_BPMNShape_Task_4">
- <di:waypoint xsi:type="dc:Point" x="1208" y="877" />
- <di:waypoint xsi:type="dc:Point" x="1252" y="877" />
+ <di:waypoint xsi:type="dc:Point" x="1157" y="1258" />
+ <di:waypoint xsi:type="dc:Point" x="1201" y="1258" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1230" y="852" width="0" height="0" />
+ <dc:Bounds x="1179" y="1233" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_14" bpmnElement="SequenceFlow_14" sourceElement="_BPMNShape_Task_4" targetElement="_BPMNShape_ExclusiveGateway_92">
- <di:waypoint xsi:type="dc:Point" x="1372" y="877" />
- <di:waypoint xsi:type="dc:Point" x="1404" y="877" />
- <di:waypoint xsi:type="dc:Point" x="1404" y="878" />
- <di:waypoint xsi:type="dc:Point" x="1435" y="878" />
+ <di:waypoint xsi:type="dc:Point" x="1321" y="1258" />
+ <di:waypoint xsi:type="dc:Point" x="1353" y="1258" />
+ <di:waypoint xsi:type="dc:Point" x="1353" y="1259" />
+ <di:waypoint xsi:type="dc:Point" x="1384" y="1259" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1419" y="868" width="0" height="0" />
+ <dc:Bounds x="1368" y="1249" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="_BPMNShape_EndEvent_175" bpmnElement="EndEvent_1">
- <dc:Bounds x="2112" y="861" width="36" height="36" />
+ <dc:Bounds x="2107" y="1079" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="2130" y="902" width="0" height="0" />
+ <dc:Bounds x="2125" y="1120" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_16" bpmnElement="SequenceFlow_16" sourceElement="_BPMNShape_ExclusiveGateway_93" targetElement="_BPMNShape_ScriptTask_218">
- <di:waypoint xsi:type="dc:Point" x="1868" y="879" />
- <di:waypoint xsi:type="dc:Point" x="1934" y="878" />
+ <di:waypoint xsi:type="dc:Point" x="1863" y="1097" />
+ <di:waypoint xsi:type="dc:Point" x="1929" y="1096" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1901" y="863.5" width="0" height="0" />
+ <dc:Bounds x="1896" y="1082" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="_BPMNShape_IntermediateThrowEvent_45" bpmnElement="IntermediateThrowEvent_2">
- <dc:Bounds x="1771" y="701" width="36" height="36" />
+ <dc:Bounds x="1281" y="1060" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1747" y="742" width="84" height="36" />
+ <dc:Bounds x="1257" y="1101" width="84" height="36" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_IntermediateCatchEvent_30" bpmnElement="IntermediateCatchEvent_3">
- <dc:Bounds x="24" y="860" width="36" height="36" />
+ <dc:Bounds x="-27" y="1241" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="16" y="901" width="84" height="24" />
+ <dc:Bounds x="-35" y="1282" width="84" height="24" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_Task_7" bpmnElement="PrepareCreateAAIVfModuleVolumeGroupRequest">
- <dc:Bounds x="1520" y="986" width="121" height="112" />
+ <dc:Bounds x="1502" y="1204" width="121" height="112" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_3" bpmnElement="SequenceFlow_3" sourceElement="_BPMNShape_Task_7" targetElement="_BPMNShape_ScriptTask_176">
- <di:waypoint xsi:type="dc:Point" x="1640" y="1042" />
- <di:waypoint xsi:type="dc:Point" x="1693" y="1042" />
+ <di:waypoint xsi:type="dc:Point" x="1623" y="1260" />
+ <di:waypoint xsi:type="dc:Point" x="1688" y="1260" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1667" y="1017" width="0" height="0" />
+ <dc:Bounds x="1656" y="1245" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="_BPMNShape_Task_25" bpmnElement="PreProcessVNFAdapterRequest">
- <dc:Bounds x="1073" y="672" width="121" height="96" />
+ <dc:Bounds x="583" y="1031" width="121" height="96" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="_BPMNShape_Task_35" bpmnElement="PostProcessVNFAdapterRequest">
- <dc:Bounds x="1397" y="674" width="116" height="92" />
+ <dc:Bounds x="907" y="1033" width="116" height="92" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_31" bpmnElement="SequenceFlow_31" sourceElement="_BPMNShape_ScriptTask_214" targetElement="_BPMNShape_Task_25">
- <di:waypoint xsi:type="dc:Point" x="1044" y="719" />
- <di:waypoint xsi:type="dc:Point" x="1059" y="719" />
- <di:waypoint xsi:type="dc:Point" x="1059" y="720" />
- <di:waypoint xsi:type="dc:Point" x="1073" y="720" />
+ <di:waypoint xsi:type="dc:Point" x="554" y="1078" />
+ <di:waypoint xsi:type="dc:Point" x="569" y="1078" />
+ <di:waypoint xsi:type="dc:Point" x="569" y="1079" />
+ <di:waypoint xsi:type="dc:Point" x="583" y="1079" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="584" y="1069" width="0" height="0" />
+ </bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_32" bpmnElement="SequenceFlow_32" sourceElement="_BPMNShape_Task_25" targetElement="_BPMNShape_ScriptTask_173">
- <di:waypoint xsi:type="dc:Point" x="1193" y="720" />
- <di:waypoint xsi:type="dc:Point" x="1236" y="720" />
+ <di:waypoint xsi:type="dc:Point" x="703" y="1079" />
+ <di:waypoint xsi:type="dc:Point" x="746" y="1079" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="725" y="1054" width="0" height="0" />
+ </bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_33" bpmnElement="SequenceFlow_33" sourceElement="_BPMNShape_ScriptTask_173" targetElement="_BPMNShape_Task_35">
- <di:waypoint xsi:type="dc:Point" x="1356" y="720" />
- <di:waypoint xsi:type="dc:Point" x="1397" y="720" />
+ <di:waypoint xsi:type="dc:Point" x="866" y="1079" />
+ <di:waypoint xsi:type="dc:Point" x="907" y="1079" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="887" y="1054" width="0" height="0" />
+ </bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="_BPMNShape_ScriptTask_215" bpmnElement="QueryAAIVfModule">
<dc:Bounds x="1224" y="516" width="125" height="92" />
@@ -928,13 +1092,13 @@ doCreateVfModule.processBPMNException(execution)]]></bpmn2:script> </bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="_BPMNShape_ScriptTask_218" bpmnElement="ScriptTask_setSuccess">
- <dc:Bounds x="1934" y="831" width="128" height="95" />
+ <dc:Bounds x="1929" y="1049" width="128" height="95" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_7" bpmnElement="SequenceFlow_7" sourceElement="_BPMNShape_ScriptTask_218" targetElement="_BPMNShape_EndEvent_175">
- <di:waypoint xsi:type="dc:Point" x="2062" y="879" />
- <di:waypoint xsi:type="dc:Point" x="2112" y="878" />
+ <di:waypoint xsi:type="dc:Point" x="2057" y="1097" />
+ <di:waypoint xsi:type="dc:Point" x="2107" y="1096" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="2087" y="863.5" width="0" height="0" />
+ <dc:Bounds x="2082" y="1082" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="_BPMNShape_ScriptTask_254" bpmnElement="QueryCloudRegion">
@@ -970,110 +1134,109 @@ doCreateVfModule.processBPMNException(execution)]]></bpmn2:script> </bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="ExclusiveGateway_183x8vk_di" bpmnElement="ExclusiveGateway_183x8vk" isMarkerVisible="true">
- <dc:Bounds x="1565.9780439121755" y="696" width="50" height="50" />
+ <dc:Bounds x="1076" y="1055" width="50" height="50" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1546" y="746" width="89" height="36" />
+ <dc:Bounds x="1056" y="1105" width="89" height="36" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_1ushk1d_di" bpmnElement="SequenceFlow_1ushk1d">
- <di:waypoint xsi:type="dc:Point" x="1513" y="720" />
- <di:waypoint xsi:type="dc:Point" x="1566" y="721" />
+ <di:waypoint xsi:type="dc:Point" x="1023" y="1079" />
+ <di:waypoint xsi:type="dc:Point" x="1076" y="1080" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1540" y="705.5" width="0" height="0" />
+ <dc:Bounds x="1050" y="1065" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_0ery1pk_di" bpmnElement="SequenceFlow_0ery1pk">
- <di:waypoint xsi:type="dc:Point" x="1591" y="696" />
- <di:waypoint xsi:type="dc:Point" x="1591" y="616" />
- <di:waypoint xsi:type="dc:Point" x="1621" y="616" />
+ <di:waypoint xsi:type="dc:Point" x="1101" y="1055" />
+ <di:waypoint xsi:type="dc:Point" x="1101" y="979" />
+ <di:waypoint xsi:type="dc:Point" x="1147" y="979" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1558" y="658" width="18" height="12" />
+ <dc:Bounds x="1054" y="1267" width="18" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_0xfanpi_di" bpmnElement="SequenceFlow_0xfanpi">
- <di:waypoint xsi:type="dc:Point" x="1616" y="721" />
- <di:waypoint xsi:type="dc:Point" x="1771" y="719" />
+ <di:waypoint xsi:type="dc:Point" x="1126" y="1080" />
+ <di:waypoint xsi:type="dc:Point" x="1281" y="1078" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1688" y="695" width="12" height="12" />
+ <dc:Bounds x="1198" y="1054" width="12" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_0abffyj_di" bpmnElement="SequenceFlow_0abffyj">
- <di:waypoint xsi:type="dc:Point" x="1721" y="616" />
- <di:waypoint xsi:type="dc:Point" x="1746" y="616" />
- <di:waypoint xsi:type="dc:Point" x="1746" y="719" />
- <di:waypoint xsi:type="dc:Point" x="1771" y="719" />
+ <di:waypoint xsi:type="dc:Point" x="1247" y="979" />
+ <di:waypoint xsi:type="dc:Point" x="1299" y="979" />
+ <di:waypoint xsi:type="dc:Point" x="1299" y="1060" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1761" y="667.5" width="0" height="0" />
+ <dc:Bounds x="1273" y="964" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="ScriptTask_1dv7amn_di" bpmnElement="CreateNetworkPoliciesInAAI">
- <dc:Bounds x="1621" y="576" width="100" height="80" />
+ <dc:Bounds x="1147" y="939" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="ExclusiveGateway_0f54imv_di" bpmnElement="ExclusiveGateway_0f54imv" isMarkerVisible="true">
- <dc:Bounds x="114.59500000000003" y="854" width="50" height="50" />
+ <dc:Bounds x="64" y="1235" width="50" height="50" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="101" y="819" width="77" height="24" />
+ <dc:Bounds x="51" y="1200" width="75" height="24" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="ExclusiveGateway_1edqxlf_di" bpmnElement="ExclusiveGateway_1edqxlf" isMarkerVisible="true">
- <dc:Bounds x="482.595" y="854" width="50" height="50" />
+ <dc:Bounds x="432" y="1235" width="50" height="50" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="508" y="904" width="0" height="0" />
+ <dc:Bounds x="457" y="1285" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_0bi38s7_di" bpmnElement="SequenceFlow_0bi38s7">
- <di:waypoint xsi:type="dc:Point" x="140" y="904" />
- <di:waypoint xsi:type="dc:Point" x="140" y="1057" />
- <di:waypoint xsi:type="dc:Point" x="193" y="1057" />
+ <di:waypoint xsi:type="dc:Point" x="89" y="1285" />
+ <di:waypoint xsi:type="dc:Point" x="89" y="1438" />
+ <di:waypoint xsi:type="dc:Point" x="142" y="1438" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="146" y="980.5" width="18" height="12" />
+ <dc:Bounds x="95" y="1362" width="18" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_1qm81ym_di" bpmnElement="SequenceFlow_1qm81ym">
- <di:waypoint xsi:type="dc:Point" x="293" y="1057" />
- <di:waypoint xsi:type="dc:Point" x="329" y="1057" />
- <di:waypoint xsi:type="dc:Point" x="329" y="1057" />
- <di:waypoint xsi:type="dc:Point" x="365" y="1057" />
+ <di:waypoint xsi:type="dc:Point" x="242" y="1438" />
+ <di:waypoint xsi:type="dc:Point" x="278" y="1438" />
+ <di:waypoint xsi:type="dc:Point" x="278" y="1438" />
+ <di:waypoint xsi:type="dc:Point" x="314" y="1438" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="344" y="1057" width="0" height="0" />
+ <dc:Bounds x="293" y="1438" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_112los9_di" bpmnElement="SequenceFlow_112los9">
- <di:waypoint xsi:type="dc:Point" x="465" y="1057" />
- <di:waypoint xsi:type="dc:Point" x="508" y="1057" />
- <di:waypoint xsi:type="dc:Point" x="508" y="904" />
+ <di:waypoint xsi:type="dc:Point" x="414" y="1438" />
+ <di:waypoint xsi:type="dc:Point" x="457" y="1438" />
+ <di:waypoint xsi:type="dc:Point" x="457" y="1285" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="487" y="1042" width="0" height="0" />
+ <dc:Bounds x="436" y="1423" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_1k5uku2_di" bpmnElement="SequenceFlow_1k5uku2">
- <di:waypoint xsi:type="dc:Point" x="165" y="879" />
- <di:waypoint xsi:type="dc:Point" x="483" y="879" />
+ <di:waypoint xsi:type="dc:Point" x="114" y="1260" />
+ <di:waypoint xsi:type="dc:Point" x="432" y="1260" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="318" y="864" width="12" height="12" />
+ <dc:Bounds x="267" y="1245" width="12" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_1avfxsz_di" bpmnElement="SequenceFlow_1avfxsz">
- <di:waypoint xsi:type="dc:Point" x="533" y="879" />
- <di:waypoint xsi:type="dc:Point" x="571" y="879" />
- <di:waypoint xsi:type="dc:Point" x="571" y="879" />
- <di:waypoint xsi:type="dc:Point" x="609" y="879" />
+ <di:waypoint xsi:type="dc:Point" x="482" y="1260" />
+ <di:waypoint xsi:type="dc:Point" x="520" y="1260" />
+ <di:waypoint xsi:type="dc:Point" x="520" y="1260" />
+ <di:waypoint xsi:type="dc:Point" x="558" y="1260" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="586" y="879" width="0" height="0" />
+ <dc:Bounds x="535" y="1260" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_0363dz7_di" bpmnElement="SequenceFlow_0363dz7">
- <di:waypoint xsi:type="dc:Point" x="60" y="878" />
- <di:waypoint xsi:type="dc:Point" x="115" y="879" />
+ <di:waypoint xsi:type="dc:Point" x="9" y="1259" />
+ <di:waypoint xsi:type="dc:Point" x="64" y="1260" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="88" y="853.5" width="0" height="0" />
+ <dc:Bounds x="37" y="1235" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="ScriptTask_0o3bcyq_di" bpmnElement="PreProcessUpdateAAIGenericVnf">
- <dc:Bounds x="193" y="1018" width="100" height="80" />
+ <dc:Bounds x="142" y="1399" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="CallActivity_0j45ic9_di" bpmnElement="UpdateAAIGenericVNFTask">
- <dc:Bounds x="365" y="1017" width="100" height="80" />
+ <dc:Bounds x="314" y="1398" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_0zcfn2x_di" bpmnElement="SequenceFlow_0zcfn2x">
<di:waypoint xsi:type="dc:Point" x="1458" y="393" />
@@ -1133,123 +1296,406 @@ doCreateVfModule.processBPMNException(execution)]]></bpmn2:script> <dc:Bounds x="1513" y="481" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_1f53tby_di" bpmnElement="SequenceFlow_1f53tby">
- <di:waypoint xsi:type="dc:Point" x="478" y="282" />
- <di:waypoint xsi:type="dc:Point" x="548" y="282" />
- <di:waypoint xsi:type="dc:Point" x="548" y="189" />
+ <di:waypoint xsi:type="dc:Point" x="776" y="282" />
+ <di:waypoint xsi:type="dc:Point" x="846" y="282" />
+ <di:waypoint xsi:type="dc:Point" x="846" y="189" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="513" y="267" width="0" height="0" />
+ <dc:Bounds x="811" y="267" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="ExclusiveGateway_0ffvqla_di" bpmnElement="ExclusiveGateway_0ffvqla" isMarkerVisible="true">
- <dc:Bounds x="294" y="145.86" width="50" height="50" />
+ <dc:Bounds x="592" y="146" width="50" height="50" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="276" y="97.86000000000001" width="86" height="36" />
+ <dc:Bounds x="574" y="98" width="86" height="36" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_0270n5c_di" bpmnElement="SequenceFlow_0270n5c">
- <di:waypoint xsi:type="dc:Point" x="344" y="171" />
- <di:waypoint xsi:type="dc:Point" x="530" y="171" />
+ <di:waypoint xsi:type="dc:Point" x="642" y="171" />
+ <di:waypoint xsi:type="dc:Point" x="828" y="171" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="401" y="145" width="18" height="12" />
+ <dc:Bounds x="699" y="145" width="18" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_05og7iw_di" bpmnElement="SequenceFlow_05og7iw">
- <di:waypoint xsi:type="dc:Point" x="319" y="196" />
- <di:waypoint xsi:type="dc:Point" x="319" y="282" />
- <di:waypoint xsi:type="dc:Point" x="378" y="282" />
+ <di:waypoint xsi:type="dc:Point" x="617" y="196" />
+ <di:waypoint xsi:type="dc:Point" x="617" y="282" />
+ <di:waypoint xsi:type="dc:Point" x="676" y="282" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="328" y="239" width="12" height="12" />
+ <dc:Bounds x="626" y="239" width="12" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="CallActivity_14nvmgk_di" bpmnElement="Task_0kuj2a1">
- <dc:Bounds x="378" y="242" width="100" height="80" />
+ <dc:Bounds x="676" y="242" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="SubProcess_0ltzufk_di" bpmnElement="SubProcess_0ltzufk" isExpanded="true">
- <dc:Bounds x="-50" y="1190" width="1047" height="338" />
+ <dc:Bounds x="-52" y="1578" width="1047" height="338" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="StartEvent_18lzc5m_di" bpmnElement="StartEvent_18lzc5m">
- <dc:Bounds x="93" y="1294" width="36" height="36" />
+ <dc:Bounds x="91" y="1682" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="111" y="1335" width="0" height="0" />
+ <dc:Bounds x="109" y="1723" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="EndEvent_0wsdptv_di" bpmnElement="EndEvent_0wsdptv">
- <dc:Bounds x="861" y="1294" width="36" height="36" />
+ <dc:Bounds x="859" y="1682" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="879" y="1335" width="0" height="0" />
+ <dc:Bounds x="877" y="1723" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="CallActivity_1ehr5kq_di" bpmnElement="CallDoCreateVfModuleRollback">
- <dc:Bounds x="509" y="1272" width="100" height="80" />
+ <dc:Bounds x="507" y="1660" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="ScriptTask_0upatdd_di" bpmnElement="PreProcessRollback">
- <dc:Bounds x="329" y="1272" width="100" height="80" />
+ <dc:Bounds x="327" y="1660" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="ScriptTask_0o1zc29_di" bpmnElement="PostProcessRollback">
- <dc:Bounds x="694" y="1272" width="100" height="80" />
+ <dc:Bounds x="692" y="1660" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_02lc25j_di" bpmnElement="SequenceFlow_02lc25j">
- <di:waypoint xsi:type="dc:Point" x="129" y="1312" />
- <di:waypoint xsi:type="dc:Point" x="196" y="1312" />
+ <di:waypoint xsi:type="dc:Point" x="127" y="1700" />
+ <di:waypoint xsi:type="dc:Point" x="194" y="1700" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="163" y="1297" width="0" height="0" />
+ <dc:Bounds x="161" y="1685" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_0z2rczk_di" bpmnElement="SequenceFlow_0z2rczk">
- <di:waypoint xsi:type="dc:Point" x="794" y="1312" />
- <di:waypoint xsi:type="dc:Point" x="826" y="1312" />
- <di:waypoint xsi:type="dc:Point" x="826" y="1312" />
- <di:waypoint xsi:type="dc:Point" x="861" y="1312" />
+ <di:waypoint xsi:type="dc:Point" x="792" y="1700" />
+ <di:waypoint xsi:type="dc:Point" x="824" y="1700" />
+ <di:waypoint xsi:type="dc:Point" x="824" y="1700" />
+ <di:waypoint xsi:type="dc:Point" x="859" y="1700" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="841" y="1312" width="0" height="0" />
+ <dc:Bounds x="839" y="1700" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_1i1q78e_di" bpmnElement="SequenceFlow_1i1q78e">
- <di:waypoint xsi:type="dc:Point" x="429" y="1312" />
- <di:waypoint xsi:type="dc:Point" x="509" y="1312" />
+ <di:waypoint xsi:type="dc:Point" x="427" y="1700" />
+ <di:waypoint xsi:type="dc:Point" x="507" y="1700" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="469" y="1297" width="0" height="0" />
+ <dc:Bounds x="467" y="1685" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_0112l2c_di" bpmnElement="SequenceFlow_0112l2c">
- <di:waypoint xsi:type="dc:Point" x="609" y="1312" />
- <di:waypoint xsi:type="dc:Point" x="694" y="1312" />
+ <di:waypoint xsi:type="dc:Point" x="607" y="1700" />
+ <di:waypoint xsi:type="dc:Point" x="692" y="1700" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="652" y="1297" width="0" height="0" />
+ <dc:Bounds x="650" y="1685" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="ExclusiveGateway_039bib8_di" bpmnElement="ExclusiveGateway_039bib8" isMarkerVisible="true">
- <dc:Bounds x="196" y="1287" width="50" height="50" />
+ <dc:Bounds x="194" y="1675" width="50" height="50" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="177" y="1259" width="87" height="12" />
+ <dc:Bounds x="175" y="1647" width="87" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_04bd5in_di" bpmnElement="SequenceFlow_04bd5in">
- <di:waypoint xsi:type="dc:Point" x="246" y="1312" />
- <di:waypoint xsi:type="dc:Point" x="329" y="1312" />
+ <di:waypoint xsi:type="dc:Point" x="244" y="1700" />
+ <di:waypoint xsi:type="dc:Point" x="327" y="1700" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="282" y="1297" width="12" height="12" />
+ <dc:Bounds x="280" y="1685" width="12" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_1nh7m8d_di" bpmnElement="SequenceFlow_1nh7m8d">
- <di:waypoint xsi:type="dc:Point" x="221" y="1337" />
- <di:waypoint xsi:type="dc:Point" x="221" y="1436" />
- <di:waypoint xsi:type="dc:Point" x="509" y="1436" />
+ <di:waypoint xsi:type="dc:Point" x="219" y="1725" />
+ <di:waypoint xsi:type="dc:Point" x="219" y="1824" />
+ <di:waypoint xsi:type="dc:Point" x="507" y="1824" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="227" y="1386.5" width="18" height="12" />
+ <dc:Bounds x="225" y="1775" width="18" height="12" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="ScriptTask_05v20n0_di" bpmnElement="Task_1fm09pi">
- <dc:Bounds x="509" y="1396" width="100" height="80" />
+ <dc:Bounds x="507" y="1784" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_1pgo10r_di" bpmnElement="SequenceFlow_1pgo10r">
- <di:waypoint xsi:type="dc:Point" x="609" y="1436" />
- <di:waypoint xsi:type="dc:Point" x="879" y="1436" />
- <di:waypoint xsi:type="dc:Point" x="879" y="1330" />
+ <di:waypoint xsi:type="dc:Point" x="607" y="1824" />
+ <di:waypoint xsi:type="dc:Point" x="877" y="1824" />
+ <di:waypoint xsi:type="dc:Point" x="877" y="1718" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="742" y="1809" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ExclusiveGateway_0jw7ymg_di" bpmnElement="ExclusiveGateway_0jw7ymg" isMarkerVisible="true">
+ <dc:Bounds x="803" y="696" width="50" height="50" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="797" y="653" width="61" height="24" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_28" bpmnElement="SequenceFlow_28" sourceElement="_BPMNShape_ExclusiveGateway_92" targetElement="_BPMNShape_Task_7">
+ <di:waypoint xsi:type="dc:Point" x="1434" y="1259" />
+ <di:waypoint xsi:type="dc:Point" x="1502" y="1260" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1454" y="1264.6906474820144" width="18" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ExclusiveGateway_19933zh_di" bpmnElement="ExclusiveGateway_19933zh" isMarkerVisible="true">
+ <dc:Bounds x="302" y="146" width="50" height="50" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="295" y="196" width="63" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_1y1ttqe_di" bpmnElement="SequenceFlow_1y1ttqe">
+ <di:waypoint xsi:type="dc:Point" x="352" y="171" />
+ <di:waypoint xsi:type="dc:Point" x="592" y="171" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="379" y="147" width="12" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ExclusiveGateway_02fd6gx_di" bpmnElement="ExclusiveGateway_02fd6gx" isMarkerVisible="true">
+ <dc:Bounds x="447" y="-1" width="50" height="50" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="427" y="-48" width="89" height="36" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0lilmm3_di" bpmnElement="SequenceFlow_0lilmm3">
+ <di:waypoint xsi:type="dc:Point" x="472" y="49" />
+ <di:waypoint xsi:type="dc:Point" x="472" y="171" />
+ <di:waypoint xsi:type="dc:Point" x="592" y="171" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="482" y="100" width="12" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_1y8q87e_di" bpmnElement="SequenceFlow_1y8q87e">
+ <di:waypoint xsi:type="dc:Point" x="327" y="146" />
+ <di:waypoint xsi:type="dc:Point" x="327" y="64" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="333" y="95" width="18" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_1sf1091_di" bpmnElement="SequenceFlow_1sf1091">
+ <di:waypoint xsi:type="dc:Point" x="377" y="24" />
+ <di:waypoint xsi:type="dc:Point" x="447" y="24" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="412" y="9" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_17cp3tn_di" bpmnElement="SequenceFlow_17cp3tn">
+ <di:waypoint xsi:type="dc:Point" x="853" y="721" />
+ <di:waypoint xsi:type="dc:Point" x="901" y="720" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="866" y="694.5" width="18" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="EndEvent_0b33fd2_di" bpmnElement="EndEvent_0pd6bbj">
+ <dc:Bounds x="1367" y="701" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1385" y="737" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_15i583d_di" bpmnElement="SequenceFlow_15i583d">
+ <di:waypoint xsi:type="dc:Point" x="497" y="24" />
+ <di:waypoint xsi:type="dc:Point" x="559" y="24" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="513" y="3.588067006526856" width="18" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ExclusiveGateway_0gsliyw_di" bpmnElement="ExclusiveGateway_0gsliyw" isMarkerVisible="true">
+ <dc:Bounds x="592" y="694" width="50" height="50" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="585" y="656" width="63" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_16mgvsd_di" bpmnElement="SequenceFlow_16mgvsd">
+ <di:waypoint xsi:type="dc:Point" x="642" y="719" />
+ <di:waypoint xsi:type="dc:Point" x="668" y="719" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="641" y="696" width="18" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_1nh92s8_di" bpmnElement="SequenceFlow_1nh92s8">
+ <di:waypoint xsi:type="dc:Point" x="556" y="720" />
+ <di:waypoint xsi:type="dc:Point" x="592" y="719" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="574" y="694.5" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0cc17yk_di" bpmnElement="SequenceFlow_0cc17yk">
+ <di:waypoint xsi:type="dc:Point" x="768" y="720" />
+ <di:waypoint xsi:type="dc:Point" x="803" y="721" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="786" y="705.5" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_1iyt5i4_di" bpmnElement="SequenceFlow_1iyt5i4">
+ <di:waypoint xsi:type="dc:Point" x="617" y="744" />
+ <di:waypoint xsi:type="dc:Point" x="617" y="799" />
+ <di:waypoint xsi:type="dc:Point" x="98" y="799" />
+ <di:waypoint xsi:type="dc:Point" x="98" y="881" />
+ <di:waypoint xsi:type="dc:Point" x="119" y="881" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="466" y="776.3184256922661" width="12" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_006rnym_di" bpmnElement="SequenceFlow_006rnym">
+ <di:waypoint xsi:type="dc:Point" x="828" y="746" />
+ <di:waypoint xsi:type="dc:Point" x="828" y="815" />
+ <di:waypoint xsi:type="dc:Point" x="169" y="815" />
+ <di:waypoint xsi:type="dc:Point" x="169" y="841" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="807" y="762.4025974025974" width="12" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0ynd0iy_di" bpmnElement="SequenceFlow_0ynd0iy">
+ <di:waypoint xsi:type="dc:Point" x="1001" y="719" />
+ <di:waypoint xsi:type="dc:Point" x="1057" y="719" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1029" y="704" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_00bh7m7_di" bpmnElement="SequenceFlow_00bh7m7">
+ <di:waypoint xsi:type="dc:Point" x="1312" y="719" />
+ <di:waypoint xsi:type="dc:Point" x="1367" y="719" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1340" y="704" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_1mnipp8_di" bpmnElement="SequenceFlow_1mnipp8">
+ <di:waypoint xsi:type="dc:Point" x="1157" y="719" />
+ <di:waypoint xsi:type="dc:Point" x="1212" y="719" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1185" y="704" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="CallActivity_1bvhxkk_di" bpmnElement="Task_08z2aai">
+ <dc:Bounds x="1057" y="679" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ScriptTask_05mwaoo_di" bpmnElement="Task_0kqh1of">
+ <dc:Bounds x="901" y="679" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ScriptTask_059xue9_di" bpmnElement="Task_08tnqe1">
+ <dc:Bounds x="668" y="679" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ScriptTask_1k3dub4_di" bpmnElement="Task_14n44kb">
+ <dc:Bounds x="277" y="-16" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ScriptTask_0okxyur_di" bpmnElement="Task_16p51r4">
+ <dc:Bounds x="1212" y="679" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ExclusiveGateway_1f6x9ii_di" bpmnElement="ExclusiveGateway_1f6x9ii" isMarkerVisible="true">
+ <dc:Bounds x="559" y="-1" width="50" height="50" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="539" y="49" width="89" height="48" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0tfrcnc_di" bpmnElement="SequenceFlow_0tfrcnc">
+ <di:waypoint xsi:type="dc:Point" x="609" y="24" />
+ <di:waypoint xsi:type="dc:Point" x="946" y="24" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="772" y="9" width="12" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0oadvvx_di" bpmnElement="SequenceFlow_0oadvvx">
+ <di:waypoint xsi:type="dc:Point" x="584" y="-1" />
+ <di:waypoint xsi:type="dc:Point" x="584" y="-63" />
+ <di:waypoint xsi:type="dc:Point" x="616" y="-63" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="590" y="-42" width="18" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ExclusiveGateway_09r5rvt_di" bpmnElement="ExclusiveGateway_09r5rvt" isMarkerVisible="true">
+ <dc:Bounds x="946" y="-1" width="50" height="50" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="971" y="49" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_1qzw172_di" bpmnElement="SequenceFlow_1qzw172">
+ <di:waypoint xsi:type="dc:Point" x="996" y="24" />
+ <di:waypoint xsi:type="dc:Point" x="1074" y="24" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1035" y="9" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_03batve_di" bpmnElement="SequenceFlow_03batve">
+ <di:waypoint xsi:type="dc:Point" x="716" y="-63" />
+ <di:waypoint xsi:type="dc:Point" x="796" y="-63" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="756" y="-78" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0c6p4aa_di" bpmnElement="SequenceFlow_0c6p4aa">
+ <di:waypoint xsi:type="dc:Point" x="896" y="-63" />
+ <di:waypoint xsi:type="dc:Point" x="971" y="-63" />
+ <di:waypoint xsi:type="dc:Point" x="971" y="-1" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="934" y="-78" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ExclusiveGateway_04msdir_di" bpmnElement="ExclusiveGateway_04msdir" isMarkerVisible="true">
+ <dc:Bounds x="1074" y="-1" width="50" height="50" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1057" y="49" width="84" height="36" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0xed5sn_di" bpmnElement="SequenceFlow_0xed5sn">
+ <di:waypoint xsi:type="dc:Point" x="1124" y="24" />
+ <di:waypoint xsi:type="dc:Point" x="1338" y="24" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1222" y="9" width="18" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0p3cspl_di" bpmnElement="SequenceFlow_0p3cspl">
+ <di:waypoint xsi:type="dc:Point" x="1099" y="-1" />
+ <di:waypoint xsi:type="dc:Point" x="1099" y="-63" />
+ <di:waypoint xsi:type="dc:Point" x="1190" y="-63" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1108" y="-41.26315789473686" width="12" height="12" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ExclusiveGateway_1biy4yg_di" bpmnElement="ExclusiveGateway_1biy4yg" isMarkerVisible="true">
+ <dc:Bounds x="1338" y="-1" width="50" height="50" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1363" y="49" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0p61zug_di" bpmnElement="SequenceFlow_0p61zug">
+ <di:waypoint xsi:type="dc:Point" x="1388" y="24" />
+ <di:waypoint xsi:type="dc:Point" x="1436" y="24" />
+ <di:waypoint xsi:type="dc:Point" x="1436" y="-170" />
+ <di:waypoint xsi:type="dc:Point" x="-60" y="-170" />
+ <di:waypoint xsi:type="dc:Point" x="-60" y="1078" />
+ <di:waypoint xsi:type="dc:Point" x="98" y="1078" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="688" y="-185" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_1k7xbcu_di" bpmnElement="SequenceFlow_1k7xbcu">
+ <di:waypoint xsi:type="dc:Point" x="1290" y="-63" />
+ <di:waypoint xsi:type="dc:Point" x="1363" y="-63" />
+ <di:waypoint xsi:type="dc:Point" x="1363" y="-1" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1327" y="-78" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ScriptTask_0ti2a86_di" bpmnElement="Task_0dx8gpp">
+ <dc:Bounds x="616" y="-103" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="CallActivity_1r5f381_di" bpmnElement="Task_0e8s9xm">
+ <dc:Bounds x="796" y="-103" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ScriptTask_0fajmo7_di" bpmnElement="Task_0cdjxcd">
+ <dc:Bounds x="1190" y="-103" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="ScriptTask_065935d_di" bpmnElement="Task_19zw1li">
+ <dc:Bounds x="119" y="841" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="CallActivity_11w102e_di" bpmnElement="Task_01b1fio">
+ <dc:Bounds x="285" y="841" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0thm33s_di" bpmnElement="SequenceFlow_0thm33s">
+ <di:waypoint xsi:type="dc:Point" x="219" y="881" />
+ <di:waypoint xsi:type="dc:Point" x="285" y="881" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="252" y="856" width="0" height="0" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0aegg0r_di" bpmnElement="SequenceFlow_0aegg0r">
+ <di:waypoint xsi:type="dc:Point" x="385" y="881" />
+ <di:waypoint xsi:type="dc:Point" x="438" y="881" />
+ <di:waypoint xsi:type="dc:Point" x="438" y="953" />
+ <di:waypoint xsi:type="dc:Point" x="159" y="953" />
+ <di:waypoint xsi:type="dc:Point" x="159" y="1031" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="744" y="1421" width="0" height="0" />
+ <dc:Bounds x="453" y="917" width="0" height="0" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
-</bpmn2:definitions>
\ No newline at end of file +</bpmn2:definitions>
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateVfModuleRollback.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateVfModuleRollback.bpmn index cb6538c73a..d9f1dc71fb 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateVfModuleRollback.bpmn +++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateVfModuleRollback.bpmn @@ -10,13 +10,6 @@ <bpmn2:outgoing>SequenceFlow_6</bpmn2:outgoing> <bpmn2:outgoing>SequenceFlow_9</bpmn2:outgoing> </bpmn2:exclusiveGateway> - <bpmn2:scriptTask id="PrepareUpdateAAIVfModulePrep" name="PrepareUpdateAAIVfModule Prep" scriptFormat="groovy"> - <bpmn2:incoming>SequenceFlow_6</bpmn2:incoming> - <bpmn2:outgoing>SequenceFlow_7</bpmn2:outgoing> - <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* -def dcvfmr = new DoCreateVfModuleRollback() -dcvfmr.preProcessRequest(execution)]]></bpmn2:script> - </bpmn2:scriptTask> <bpmn2:callActivity id="InvokePrepareUpdateAAIVfModule" name="Invoke PrepareUpdateAAIVfModule" calledElement="PrepareUpdateAAIVfModule"> <bpmn2:extensionElements> <camunda:in source="PrepareUpdateAAIVfModuleRequest" target="PrepareUpdateAAIVfModuleRequest" /> @@ -24,13 +17,12 @@ dcvfmr.preProcessRequest(execution)]]></bpmn2:script> <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" /> <camunda:out source="PUAAIVfMod_heatStackId" target="DCVFMR_heatStackId" /> </bpmn2:extensionElements> - <bpmn2:incoming>SequenceFlow_7</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_6</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_8</bpmn2:outgoing> </bpmn2:callActivity> - <bpmn2:sequenceFlow id="SequenceFlow_6" name="yes" sourceRef="ExclusiveGateway_1" targetRef="PrepareUpdateAAIVfModulePrep"> - <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("DCVFMR_rollbackPrepareUpdateVfModule") == "true"}]]></bpmn2:conditionExpression> + <bpmn2:sequenceFlow id="SequenceFlow_6" name="yes" sourceRef="ExclusiveGateway_1" targetRef="InvokePrepareUpdateAAIVfModule"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("DCVFMR_rollbackPrepareUpdateVfModule") == "true" && !(execution.getVariable('aLaCarte') == true && execution.getVariable("DCVFMR_rollbackSDNCRequestAssign") == "true")]]></bpmn2:conditionExpression> </bpmn2:sequenceFlow> - <bpmn2:sequenceFlow id="SequenceFlow_7" name="" sourceRef="PrepareUpdateAAIVfModulePrep" targetRef="InvokePrepareUpdateAAIVfModule" /> <bpmn2:sequenceFlow id="SequenceFlow_8" name="" sourceRef="InvokePrepareUpdateAAIVfModule" targetRef="ExclusiveGateway_2" /> <bpmn2:sequenceFlow id="SequenceFlow_9" name="no" sourceRef="ExclusiveGateway_1" targetRef="ExclusiveGateway_2" /> <bpmn2:exclusiveGateway id="ExclusiveGateway_2" name="Rollback 1707 SDNC Activate?" default="SequenceFlow_15"> @@ -57,12 +49,11 @@ dcvfmr.prepVNFAdapterRequest(execution)]]></bpmn2:script> <camunda:in source="mso-service-instance-id" target="mso-service-instance-id" /> </bpmn2:extensionElements> <bpmn2:incoming>SequenceFlow_16</bpmn2:incoming> - <bpmn2:outgoing>SequenceFlow_11</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_08aruzz</bpmn2:outgoing> </bpmn2:callActivity> <bpmn2:sequenceFlow id="SequenceFlow_10" name="yes" sourceRef="ExclusiveGateway_2" targetRef="PrepareSDNCDeactivateRequest"> <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("DCVFMR_rollbackSDNCRequestActivate") == "true" && execution.getVariable("sdncVersion") == "1707"}]]></bpmn2:conditionExpression> </bpmn2:sequenceFlow> - <bpmn2:sequenceFlow id="SequenceFlow_11" name="" sourceRef="InvokeVNFAdapterRestV1" targetRef="ExclusiveGateway_3" /> <bpmn2:sequenceFlow id="SequenceFlow_15" name="no" sourceRef="ExclusiveGateway_2" targetRef="ExclusiveGateway_1938vz9" /> <bpmn2:scriptTask id="UpdateAAIVfModulePrep" name="UpdateAAIVfModule Prep" scriptFormat="groovy"> <bpmn2:incoming>SequenceFlow_13</bpmn2:incoming> @@ -83,8 +74,7 @@ dcvfmr.prepUpdateAAIVfModule(execution)]]></bpmn2:script> </bpmn2:callActivity> <bpmn2:sequenceFlow id="SequenceFlow_18" name="" sourceRef="InvokeUpdateAAIVfModule" targetRef="ExclusiveGateway_4" /> <bpmn2:exclusiveGateway id="ExclusiveGateway_3" name="Rollback Update AAI Vf Module?" default="SequenceFlow_17"> - <bpmn2:incoming>SequenceFlow_11</bpmn2:incoming> - <bpmn2:incoming>SequenceFlow_03i4czf</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_1gcfdej</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_13</bpmn2:outgoing> <bpmn2:outgoing>SequenceFlow_17</bpmn2:outgoing> </bpmn2:exclusiveGateway> @@ -256,7 +246,7 @@ dcvfmr.preProcessUpdateAAIGenericVnf(execution)]]></bpmn2:script> <bpmn2:sequenceFlow id="SequenceFlow_1p0v6yk" name="yes " sourceRef="ExclusiveGateway_0uvarlv" targetRef="VNFAdapterPrep"> <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("DCVFMR_rollbackVnfAdapterCreate") == "true"}]]></bpmn2:conditionExpression> </bpmn2:sequenceFlow> - <bpmn2:sequenceFlow id="SequenceFlow_03i4czf" name="no" sourceRef="ExclusiveGateway_0uvarlv" targetRef="ExclusiveGateway_3" /> + <bpmn2:sequenceFlow id="SequenceFlow_03i4czf" name="no" sourceRef="ExclusiveGateway_0uvarlv" targetRef="ExclusiveGateway_0ahc44p" /> <bpmn2:exclusiveGateway id="ExclusiveGateway_1yozzae" name="Skip Rollback?" default="SequenceFlow_11er1t8"> <bpmn2:incoming>SequenceFlow_5</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_11er1t8</bpmn2:outgoing> @@ -351,11 +341,41 @@ dcvfmr.sdncValidateResponse(execution, response)]]></bpmn2:script> <bpmn2:scriptTask id="SetSuccessfulRollbackStatus" name="Set Successful Rollback Status" scriptFormat="groovy"> <bpmn2:incoming>SequenceFlow_21</bpmn2:incoming> <bpmn2:incoming>SequenceFlow_35</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_17it51d</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_1h8ve60</bpmn2:outgoing> <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* def dcvfmr = new DoCreateVfModuleRollback() dcvfmr.setSuccessfulRollbackStatus(execution)]]></bpmn2:script> </bpmn2:scriptTask> + <bpmn2:exclusiveGateway id="ExclusiveGateway_0ahc44p" name="Set AAI Status to Assigned?" default="SequenceFlow_1gcfdej"> + <bpmn2:incoming>SequenceFlow_03i4czf</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_08aruzz</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_1gcfdej</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_17ne2iz</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:sequenceFlow id="SequenceFlow_1gcfdej" name="no" sourceRef="ExclusiveGateway_0ahc44p" targetRef="ExclusiveGateway_3" /> + <bpmn2:sequenceFlow id="SequenceFlow_17ne2iz" name="yes" sourceRef="ExclusiveGateway_0ahc44p" targetRef="Task_1sqxedz"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression" language="groovy"><![CDATA[execution.getVariable('aLaCarte') == true && execution.getVariable("DCVFMR_rollbackSDNCRequestAssign") == "true"]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_17it51d" sourceRef="Task_0k9gnp2" targetRef="SetSuccessfulRollbackStatus" /> + <bpmn2:sequenceFlow id="SequenceFlow_0fvuowt" sourceRef="Task_1sqxedz" targetRef="Task_0k9gnp2" /> + <bpmn2:callActivity id="Task_0k9gnp2" name="Invoke UpdateAAIVfModule to Assigned" calledElement="UpdateAAIVfModule"> + <bpmn2:extensionElements> + <camunda:in source="UpdateAAIVfModuleRequest" target="UpdateAAIVfModuleRequest" /> + <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" /> + <camunda:out source="WorkflowException" target="WorkflowException" /> + </bpmn2:extensionElements> + <bpmn2:incoming>SequenceFlow_0fvuowt</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_17it51d</bpmn2:outgoing> + </bpmn2:callActivity> + <bpmn2:scriptTask id="Task_1sqxedz" name="UpdateAAIVfModule To Assigned Prep" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_17ne2iz</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_0fvuowt</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def dcvfmr = new DoCreateVfModuleRollback() +dcvfmr.prepUpdateAAIVfModuleToAssigned(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_08aruzz" sourceRef="InvokeVNFAdapterRestV1" targetRef="ExclusiveGateway_0ahc44p" /> </bpmn2:process> <bpmn2:error id="Error_1" name="MSO Workflow Exception" errorCode="MSOWorkflowException" /> <bpmn2:message id="Message_1" name="DoCreateVfModuleRollbackRequest" /> @@ -380,9 +400,6 @@ dcvfmr.setSuccessfulRollbackStatus(execution)]]></bpmn2:script> <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_160" bpmnElement="InvokePrepareUpdateAAIVfModule"> <dc:Bounds x="725" y="23" width="100" height="80" /> </bpmndi:BPMNShape> - <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_168" bpmnElement="PrepareUpdateAAIVfModulePrep"> - <dc:Bounds x="552" y="23" width="100" height="80" /> - </bpmndi:BPMNShape> <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_170" bpmnElement="VNFAdapterPrep"> <dc:Bounds x="104" y="763" width="100" height="80" /> </bpmndi:BPMNShape> @@ -397,10 +414,10 @@ dcvfmr.setSuccessfulRollbackStatus(execution)]]></bpmn2:script> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_171" bpmnElement="UpdateAAIVfModulePrep"> - <dc:Bounds x="552" y="758" width="100" height="80" /> + <dc:Bounds x="732" y="758" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="_BPMNShape_CallActivity_14" bpmnElement="InvokeUpdateAAIVfModule"> - <dc:Bounds x="732" y="758" width="100" height="80" /> + <dc:Bounds x="912" y="758" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_172" bpmnElement="SDNCAdapterPrep2"> <dc:Bounds x="187" y="995" width="100" height="80" /> @@ -443,9 +460,9 @@ dcvfmr.setSuccessfulRollbackStatus(execution)]]></bpmn2:script> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_223" bpmnElement="ExclusiveGateway_1" isMarkerVisible="true"> - <dc:Bounds x="404" y="92" width="50" height="50" /> + <dc:Bounds x="538" y="93" width="50" height="50" /> <bpmndi:BPMNLabel> - <dc:Bounds x="326" y="167" width="228" height="22" /> + <dc:Bounds x="519" y="152" width="88" height="36" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_5" bpmnElement="SequenceFlow_5" sourceElement="_BPMNShape_ScriptTask_22" targetElement="_BPMNShape_ExclusiveGateway_223"> @@ -461,19 +478,14 @@ dcvfmr.setSuccessfulRollbackStatus(execution)]]></bpmn2:script> <dc:Bounds x="897" y="152" width="79" height="24" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> - <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_6" bpmnElement="SequenceFlow_6" sourceElement="_BPMNShape_ExclusiveGateway_223" targetElement="_BPMNShape_ScriptTask_168"> - <di:waypoint xsi:type="dc:Point" x="429" y="92" /> - <di:waypoint xsi:type="dc:Point" x="429" y="63" /> - <di:waypoint xsi:type="dc:Point" x="503" y="63" /> - <di:waypoint xsi:type="dc:Point" x="552" y="63" /> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_6" bpmnElement="SequenceFlow_6" sourceElement="_BPMNShape_ExclusiveGateway_223"> + <di:waypoint xsi:type="dc:Point" x="563" y="93" /> + <di:waypoint xsi:type="dc:Point" x="563" y="63" /> + <di:waypoint xsi:type="dc:Point" x="725" y="63" /> <bpmndi:BPMNLabel> - <dc:Bounds x="473" y="63" width="6" height="6" /> + <dc:Bounds x="573" y="39.419820324530114" width="18" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_7" bpmnElement="SequenceFlow_7" sourceElement="_BPMNShape_ScriptTask_168" targetElement="_BPMNShape_ScriptTask_160"> - <di:waypoint xsi:type="dc:Point" x="652" y="63" /> - <di:waypoint xsi:type="dc:Point" x="725" y="63" /> - </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_8" bpmnElement="SequenceFlow_8" sourceElement="_BPMNShape_ScriptTask_160" targetElement="_BPMNShape_ExclusiveGateway_224"> <di:waypoint xsi:type="dc:Point" x="825" y="63" /> <di:waypoint xsi:type="dc:Point" x="862" y="63" /> @@ -484,10 +496,10 @@ dcvfmr.setSuccessfulRollbackStatus(execution)]]></bpmn2:script> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_9" bpmnElement="SequenceFlow_9" sourceElement="_BPMNShape_ExclusiveGateway_223" targetElement="_BPMNShape_ExclusiveGateway_224"> - <di:waypoint xsi:type="dc:Point" x="454" y="117" /> + <di:waypoint xsi:type="dc:Point" x="588" y="118" /> <di:waypoint xsi:type="dc:Point" x="912" y="117" /> <bpmndi:BPMNLabel> - <dc:Bounds x="676" y="117" width="6" height="6" /> + <dc:Bounds x="743" y="117.50867542935495" width="12" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_10" bpmnElement="SequenceFlow_10" sourceElement="_BPMNShape_ExclusiveGateway_224" targetElement="_BPMNShape_ScriptTask_170"> @@ -501,40 +513,31 @@ dcvfmr.setSuccessfulRollbackStatus(execution)]]></bpmn2:script> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_225" bpmnElement="ExclusiveGateway_3" isMarkerVisible="true"> - <dc:Bounds x="414" y="837" width="50" height="50" /> + <dc:Bounds x="594" y="837" width="50" height="50" /> <bpmndi:BPMNLabel> - <dc:Bounds x="398" y="892" width="84" height="26" /> + <dc:Bounds x="578" y="892" width="83" height="24" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> - <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_11" bpmnElement="SequenceFlow_11" sourceElement="_BPMNShape_CallActivity_13" targetElement="_BPMNShape_ExclusiveGateway_225"> - <di:waypoint xsi:type="dc:Point" x="362" y="803" /> - <di:waypoint xsi:type="dc:Point" x="383" y="803" /> - <di:waypoint xsi:type="dc:Point" x="439" y="803" /> - <di:waypoint xsi:type="dc:Point" x="439" y="837" /> - <bpmndi:BPMNLabel> - <dc:Bounds x="424" y="803" width="0" height="0" /> - </bpmndi:BPMNLabel> - </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_13" bpmnElement="SequenceFlow_13" sourceElement="_BPMNShape_ExclusiveGateway_225" targetElement="_BPMNShape_ScriptTask_171"> - <di:waypoint xsi:type="dc:Point" x="464" y="862" /> - <di:waypoint xsi:type="dc:Point" x="485" y="862" /> - <di:waypoint xsi:type="dc:Point" x="485" y="798" /> - <di:waypoint xsi:type="dc:Point" x="552" y="798" /> + <di:waypoint xsi:type="dc:Point" x="644" y="862" /> + <di:waypoint xsi:type="dc:Point" x="665" y="862" /> + <di:waypoint xsi:type="dc:Point" x="665" y="798" /> + <di:waypoint xsi:type="dc:Point" x="732" y="798" /> <bpmndi:BPMNLabel> - <dc:Bounds x="507" y="803" width="18" height="14" /> + <dc:Bounds x="687" y="803" width="18" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_14" bpmnElement="SequenceFlow_14" sourceElement="_BPMNShape_ScriptTask_171" targetElement="_BPMNShape_CallActivity_14"> - <di:waypoint xsi:type="dc:Point" x="652" y="798" /> - <di:waypoint xsi:type="dc:Point" x="732" y="798" /> + <di:waypoint xsi:type="dc:Point" x="832" y="798" /> + <di:waypoint xsi:type="dc:Point" x="912" y="798" /> <bpmndi:BPMNLabel> - <dc:Bounds x="663" y="798" width="0" height="0" /> + <dc:Bounds x="843" y="798" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_226" bpmnElement="ExclusiveGateway_4" isMarkerVisible="true"> - <dc:Bounds x="912" y="837" width="50" height="50" /> + <dc:Bounds x="1092" y="837" width="50" height="50" /> <bpmndi:BPMNLabel> - <dc:Bounds x="898" y="892" width="80" height="26" /> + <dc:Bounds x="1078" y="892" width="79" height="24" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_15" bpmnElement="SequenceFlow_15" sourceElement="_BPMNShape_ExclusiveGateway_224" targetElement="_BPMNShape_ExclusiveGateway_225"> @@ -549,28 +552,28 @@ dcvfmr.setSuccessfulRollbackStatus(execution)]]></bpmn2:script> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_17" bpmnElement="SequenceFlow_17" sourceElement="_BPMNShape_ExclusiveGateway_225" targetElement="_BPMNShape_ExclusiveGateway_226"> - <di:waypoint xsi:type="dc:Point" x="464" y="862" /> - <di:waypoint xsi:type="dc:Point" x="912" y="862" /> + <di:waypoint xsi:type="dc:Point" x="644" y="862" /> + <di:waypoint xsi:type="dc:Point" x="1092" y="862" /> <bpmndi:BPMNLabel> - <dc:Bounds x="675" y="862" width="12" height="14" /> + <dc:Bounds x="855" y="862" width="12" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_18" bpmnElement="SequenceFlow_18" sourceElement="_BPMNShape_CallActivity_14" targetElement="_BPMNShape_ExclusiveGateway_226"> - <di:waypoint xsi:type="dc:Point" x="832" y="798" /> - <di:waypoint xsi:type="dc:Point" x="937" y="798" /> - <di:waypoint xsi:type="dc:Point" x="937" y="837" /> + <di:waypoint xsi:type="dc:Point" x="1012" y="798" /> + <di:waypoint xsi:type="dc:Point" x="1117" y="798" /> + <di:waypoint xsi:type="dc:Point" x="1117" y="837" /> <bpmndi:BPMNLabel> - <dc:Bounds x="910" y="798" width="0" height="0" /> + <dc:Bounds x="1090" y="798" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_19" bpmnElement="SequenceFlow_19" sourceElement="_BPMNShape_ExclusiveGateway_226" targetElement="_BPMNShape_ScriptTask_172"> - <di:waypoint xsi:type="dc:Point" x="937" y="887" /> - <di:waypoint xsi:type="dc:Point" x="937" y="958" /> + <di:waypoint xsi:type="dc:Point" x="1117" y="887" /> + <di:waypoint xsi:type="dc:Point" x="1117" y="958" /> <di:waypoint xsi:type="dc:Point" x="34" y="958" /> <di:waypoint xsi:type="dc:Point" x="34" y="1103" /> - <di:waypoint xsi:type="dc:Point" x="54" y="1103" /> + <di:waypoint xsi:type="dc:Point" x="56" y="1103" /> <bpmndi:BPMNLabel> - <dc:Bounds x="222" y="958" width="18" height="12" /> + <dc:Bounds x="262" y="958" width="18" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_227" bpmnElement="ExclusiveGateway_5" isMarkerVisible="true"> @@ -580,7 +583,7 @@ dcvfmr.setSuccessfulRollbackStatus(execution)]]></bpmn2:script> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_20" bpmnElement="SequenceFlow_20" sourceElement="_BPMNShape_ExclusiveGateway_226" targetElement="_BPMNShape_ExclusiveGateway_227"> - <di:waypoint xsi:type="dc:Point" x="962" y="862" /> + <di:waypoint xsi:type="dc:Point" x="1092" y="862" /> <di:waypoint xsi:type="dc:Point" x="1029" y="862" /> <di:waypoint xsi:type="dc:Point" x="1029" y="942" /> <di:waypoint xsi:type="dc:Point" x="25" y="942" /> @@ -588,7 +591,7 @@ dcvfmr.setSuccessfulRollbackStatus(execution)]]></bpmn2:script> <di:waypoint xsi:type="dc:Point" x="614" y="1246" /> <di:waypoint xsi:type="dc:Point" x="614" y="1148" /> <bpmndi:BPMNLabel> - <dc:Bounds x="796" y="912" width="12" height="12" /> + <dc:Bounds x="976" y="912" width="12" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_21" bpmnElement="SequenceFlow_21" sourceElement="_BPMNShape_ExclusiveGateway_227" targetElement="_BPMNShape_EndEvent_169"> @@ -627,40 +630,42 @@ dcvfmr.setSuccessfulRollbackStatus(execution)]]></bpmn2:script> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="_BPMNShape_SubProcess_22" bpmnElement="SubProcess_1" isExpanded="true"> - <dc:Bounds x="0" y="1362" width="699" height="159" /> + <dc:Bounds x="27" y="1464" width="699" height="159" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="_BPMNShape_StartEvent_59" bpmnElement="CatchExceptions"> - <dc:Bounds x="20" y="1413" width="36" height="36" /> + <dc:Bounds x="47" y="1515" width="36" height="36" /> <bpmndi:BPMNLabel> - <dc:Bounds x="26" y="1458" width="86" height="12" /> + <dc:Bounds x="53" y="1560" width="86" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_281" bpmnElement="LogSaveWorkflowException"> - <dc:Bounds x="364" y="1391" width="100" height="80" /> + <dc:Bounds x="391" y="1493" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="_BPMNShape_EndEvent_188" bpmnElement="EndEvent_1"> - <dc:Bounds x="538" y="1413" width="36" height="36" /> + <dc:Bounds x="565" y="1515" width="36" height="36" /> <bpmndi:BPMNLabel> - <dc:Bounds x="556" y="1449" width="0" height="0" /> + <dc:Bounds x="583" y="1551" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="_BPMNShape_BoundaryEvent_55" bpmnElement="BoundaryEvent_1"> - <dc:Bounds x="681" y="1412" width="36" height="36" /> + <dc:Bounds x="708" y="1514" width="36" height="36" /> <bpmndi:BPMNLabel> - <dc:Bounds x="699" y="1448" width="0" height="0" /> + <dc:Bounds x="726" y="1550" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="_BPMNShape_EndEvent_189" bpmnElement="EndEvent_2"> - <dc:Bounds x="835" y="1412" width="36" height="36" /> + <dc:Bounds x="880" y="1514" width="36" height="36" /> <bpmndi:BPMNLabel> - <dc:Bounds x="853" y="1453" width="0" height="0" /> + <dc:Bounds x="898" y="1555" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_23" bpmnElement="SequenceFlow_23" sourceElement="_BPMNShape_BoundaryEvent_55" targetElement="_BPMNShape_EndEvent_189"> - <di:waypoint xsi:type="dc:Point" x="717" y="1430" /> - <di:waypoint xsi:type="dc:Point" x="835" y="1430" /> + <di:waypoint xsi:type="dc:Point" x="744" y="1532" /> + <di:waypoint xsi:type="dc:Point" x="818" y="1532" /> + <di:waypoint xsi:type="dc:Point" x="818" y="1532" /> + <di:waypoint xsi:type="dc:Point" x="880" y="1532" /> <bpmndi:BPMNLabel> - <dc:Bounds x="776" y="1415" width="0" height="0" /> + <dc:Bounds x="833" y="1532" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="ExclusiveGateway_0a0hroy_di" bpmnElement="ExclusiveGateway_0a0hroy" isMarkerVisible="true"> @@ -743,9 +748,9 @@ dcvfmr.setSuccessfulRollbackStatus(execution)]]></bpmn2:script> <di:waypoint xsi:type="dc:Point" x="1036" y="709" /> <di:waypoint xsi:type="dc:Point" x="30" y="709" /> <di:waypoint xsi:type="dc:Point" x="30" y="862" /> - <di:waypoint xsi:type="dc:Point" x="414" y="862" /> + <di:waypoint xsi:type="dc:Point" x="466" y="862" /> <bpmndi:BPMNLabel> - <dc:Bounds x="508" y="683" width="12" height="14" /> + <dc:Bounds x="508" y="683" width="12" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="ExclusiveGateway_1yozzae_di" bpmnElement="ExclusiveGateway_1yozzae" isMarkerVisible="true"> @@ -756,32 +761,32 @@ dcvfmr.setSuccessfulRollbackStatus(execution)]]></bpmn2:script> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_11er1t8_di" bpmnElement="SequenceFlow_11er1t8"> <di:waypoint xsi:type="dc:Point" x="328" y="118" /> - <di:waypoint xsi:type="dc:Point" x="404" y="117" /> + <di:waypoint xsi:type="dc:Point" x="538" y="118" /> <bpmndi:BPMNLabel> - <dc:Bounds x="360" y="93.5" width="12" height="12" /> + <dc:Bounds x="357" y="91.50148837900852" width="12" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_0ggp8wz_di" bpmnElement="SequenceFlow_0ggp8wz"> <di:waypoint xsi:type="dc:Point" x="303" y="93" /> <di:waypoint xsi:type="dc:Point" x="303" y="-11" /> - <di:waypoint xsi:type="dc:Point" x="1152" y="-11" /> + <di:waypoint xsi:type="dc:Point" x="1158" y="-11" /> <di:waypoint xsi:type="dc:Point" x="1177" y="1105" /> <bpmndi:BPMNLabel> - <dc:Bounds x="719" y="-26" width="18" height="12" /> + <dc:Bounds x="723" y="-26" width="18" height="14" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_22" bpmnElement="SequenceFlow_22" sourceElement="_BPMNShape_ScriptTask_281" targetElement="_BPMNShape_EndEvent_188"> - <di:waypoint xsi:type="dc:Point" x="464" y="1431" /> - <di:waypoint xsi:type="dc:Point" x="538" y="1431" /> + <di:waypoint xsi:type="dc:Point" x="491" y="1533" /> + <di:waypoint xsi:type="dc:Point" x="565" y="1533" /> <bpmndi:BPMNLabel> - <dc:Bounds x="501" y="1416" width="0" height="0" /> + <dc:Bounds x="528" y="1518" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_12" bpmnElement="SequenceFlow_12" sourceElement="_BPMNShape_StartEvent_59" targetElement="_BPMNShape_ScriptTask_281"> - <di:waypoint xsi:type="dc:Point" x="56" y="1431" /> - <di:waypoint xsi:type="dc:Point" x="171" y="1431" /> + <di:waypoint xsi:type="dc:Point" x="83" y="1533" /> + <di:waypoint xsi:type="dc:Point" x="198" y="1533" /> <bpmndi:BPMNLabel> - <dc:Bounds x="114" y="1416" width="0" height="0" /> + <dc:Bounds x="141" y="1518" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="ExclusiveGateway_1938vz9_di" bpmnElement="ExclusiveGateway_1938vz9" isMarkerVisible="true"> @@ -907,15 +912,67 @@ dcvfmr.setSuccessfulRollbackStatus(execution)]]></bpmn2:script> <dc:Bounds x="1028" y="1083" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_02fx6z6_di" bpmnElement="SequenceFlow_02fx6z6"> - <di:waypoint xsi:type="dc:Point" x="271" y="1431" /> - <di:waypoint xsi:type="dc:Point" x="364" y="1431" /> + <di:waypoint xsi:type="dc:Point" x="298" y="1533" /> + <di:waypoint xsi:type="dc:Point" x="391" y="1533" /> <bpmndi:BPMNLabel> - <dc:Bounds x="318" y="1416" width="0" height="0" /> + <dc:Bounds x="345" y="1518" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="ScriptTask_0cd144f_di" bpmnElement="SetFailedRollbackStatus"> - <dc:Bounds x="171" y="1391" width="100" height="80" /> + <dc:Bounds x="198" y="1493" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ExclusiveGateway_0ahc44p_di" bpmnElement="ExclusiveGateway_0ahc44p" isMarkerVisible="true"> + <dc:Bounds x="465.5588822355289" y="837" width="50" height="50" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="500" y="805" width="82" height="24" /> + </bpmndi:BPMNLabel> </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1gcfdej_di" bpmnElement="SequenceFlow_1gcfdej"> + <di:waypoint xsi:type="dc:Point" x="516" y="862" /> + <di:waypoint xsi:type="dc:Point" x="594" y="862" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="551" y="837.0195010054398" width="12" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_17ne2iz_di" bpmnElement="SequenceFlow_17ne2iz"> + <di:waypoint xsi:type="dc:Point" x="491" y="887" /> + <di:waypoint xsi:type="dc:Point" x="491" y="931" /> + <di:waypoint xsi:type="dc:Point" x="-38" y="931" /> + <di:waypoint xsi:type="dc:Point" x="-38" y="1347" /> + <di:waypoint xsi:type="dc:Point" x="104" y="1347" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="459" y="884.8446601941747" width="18" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_17it51d_di" bpmnElement="SequenceFlow_17it51d"> + <di:waypoint xsi:type="dc:Point" x="362" y="1347" /> + <di:waypoint xsi:type="dc:Point" x="1078" y="1347" /> + <di:waypoint xsi:type="dc:Point" x="1078" y="1163" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="720" y="1332" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_0fvuowt_di" bpmnElement="SequenceFlow_0fvuowt"> + <di:waypoint xsi:type="dc:Point" x="204" y="1347" /> + <di:waypoint xsi:type="dc:Point" x="262" y="1347" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="233" y="1332" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="CallActivity_0i5a02m_di" bpmnElement="Task_0k9gnp2"> + <dc:Bounds x="262" y="1307" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ScriptTask_008e45v_di" bpmnElement="Task_1sqxedz"> + <dc:Bounds x="104" y="1308" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_08aruzz_di" bpmnElement="SequenceFlow_08aruzz"> + <di:waypoint xsi:type="dc:Point" x="362" y="803" /> + <di:waypoint xsi:type="dc:Point" x="491" y="803" /> + <di:waypoint xsi:type="dc:Point" x="491" y="837" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="427" y="778" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> </bpmndi:BPMNPlane> </bpmndi:BPMNDiagram> -</bpmn2:definitions>
\ No newline at end of file +</bpmn2:definitions> diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateVfModuleVolumeV2.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateVfModuleVolumeV2.bpmn index 693fd36575..18e972c0a9 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateVfModuleVolumeV2.bpmn +++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateVfModuleVolumeV2.bpmn @@ -1,5 +1,5 @@ <?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="_FhrCQG2BEeaNdqnn65BT4A" targetNamespace="http://camunda.org/schema/1.0/bpmn" exporter="Camunda Modeler" exporterVersion="1.4.0" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd"> +<bpmn2:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns: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="_FhrCQG2BEeaNdqnn65BT4A" targetNamespace="http://camunda.org/schema/1.0/bpmn" exporter="Camunda Modeler" exporterVersion="1.8.0" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd"> <bpmn2:process id="DoCreateVfModuleVolumeV2" name="DoCreateVfModuleVolumeV2" isExecutable="true"> <bpmn2:scriptTask id="ScriptTask_preProcessRequest" name="Preprocess Request" scriptFormat="groovy"> <bpmn2:incoming>SequenceFlow_1</bpmn2:incoming> @@ -21,7 +21,7 @@ doCreateVfModuleVolumeV2.executeMethod('callRESTQueryAAICloudRegion', execution, <bpmn2:outgoing>SequenceFlow_7</bpmn2:outgoing> <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* def doCreateVfModuleVolumeV2 = new DoCreateVfModuleVolumeV2() -doCreateVfModuleVolumeV2.executeMethod('buildWorkflowException', execution, 2500, "Volume group $DCVFMODVOLV2_volumeGroupName already exists in the system.", isDebugLogEnabled)]]></bpmn2:script> +doCreateVfModuleVolumeV2.executeMethod('buildWorkflowException', execution, 2500, "Volume group name already exists in the system.", isDebugLogEnabled)]]></bpmn2:script> </bpmn2:scriptTask> <bpmn2:sequenceFlow id="SequenceFlow_7" name="" sourceRef="ScriptTask_createVolGrpExistsException" targetRef="EndEvent_6" /> <bpmn2:exclusiveGateway id="ExclusiveGateway_aaiReturnCode404" name="AAI Return Code is 404?" default="SequenceFlow_volGrpName404No"> diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateVnf.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateVnf.bpmn index 5aa4d22b0c..9bf3972523 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateVnf.bpmn +++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateVnf.bpmn @@ -31,6 +31,7 @@ exceptionUtil.buildWorkflowException(execution, 404, "Service Instance Not Found <camunda:out source="GENGS_siResourceLink" target="GENGS_siResourceLink" /> <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" /> <camunda:in source="GENGS_type" target="GENGS_type" /> + <camunda:in source="DoCVNF_serviceInstanceName" target="GENGS_serviceInstanceName" /> </bpmn2:extensionElements> <bpmn2:incoming>SequenceFlow_2</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_4</bpmn2:outgoing> diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateVnfAndModules.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateVnfAndModules.bpmn index a90c816bc3..675b8fadb5 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateVnfAndModules.bpmn +++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateVnfAndModules.bpmn @@ -39,6 +39,7 @@ doCreateVnfAndModules.preProcessRequest(execution)]]></bpmn:script> <camunda:in source="lcpCloudRegionId" target="lcpCloudRegionId" /> <camunda:in source="tenantId" target="tenantId" /> <camunda:in source="false" target="usePreload" /> + <camunda:in source="aLaCarte" target="aLaCarte" /> </bpmn:extensionElements> <bpmn:incoming>SequenceFlow_1hf7k7q</bpmn:incoming> <bpmn:outgoing>SequenceFlow_1ixcnb6</bpmn:outgoing> @@ -73,6 +74,7 @@ doCreateVnfAndModules.preProcessRequest(execution)]]></bpmn:script> <camunda:in source="lcpCloudRegionId" target="lcpCloudRegionId" /> <camunda:in source="tenantId" target="tenantId" /> <camunda:in source="false" target="usePreload" /> + <camunda:in source="aLaCarte" target="aLaCarte" /> </bpmn:extensionElements> <bpmn:incoming>SequenceFlow_1lh21yl</bpmn:incoming> <bpmn:outgoing>SequenceFlow_1llbx0k</bpmn:outgoing> @@ -484,4 +486,4 @@ doCreateVnfAndModules.postProcessAddOnModule(execution)]]></bpmn:script> </bpmndi:BPMNShape> </bpmndi:BPMNPlane> </bpmndi:BPMNDiagram> -</bpmn:definitions>
\ No newline at end of file +</bpmn:definitions> diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateVnfAndModulesRollback.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateVnfAndModulesRollback.bpmn index aa362021e0..57baf6ebe5 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateVnfAndModulesRollback.bpmn +++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCreateVnfAndModulesRollback.bpmn @@ -84,6 +84,7 @@ dcvamr.preProcessCreateVfModuleRollback(execution)]]></bpmn2:script> <camunda:in source="sdncVersion" target="sdncVersion" /> <camunda:out source="rolledBack" target="DCVM_rolledBack" /> <camunda:out source="rollbackError" target="rollbackError" /> + <camunda:in source="DCVAMR_aLaCarte" target="aLaCarte" /> </bpmn2:extensionElements> <bpmn2:incoming>SequenceFlow_1ycq005</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_181hb2a</bpmn2:outgoing> @@ -537,4 +538,4 @@ dcvamr.setSuccessfulRollbackStatus(execution)]]></bpmn2:script> </bpmndi:BPMNShape> </bpmndi:BPMNPlane> </bpmndi:BPMNDiagram> -</bpmn2:definitions>
\ No newline at end of file +</bpmn2:definitions> diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCustomDeleteE2EServiceInstance.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCustomDeleteE2EServiceInstance.bpmn index 095948a87c..561a84b7c4 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCustomDeleteE2EServiceInstance.bpmn +++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoCustomDeleteE2EServiceInstance.bpmn @@ -118,7 +118,7 @@ ddsi.preInitResourcesOperStatus(execution)]]></bpmn:script> <bpmn:extensionElements> <camunda:connector> <camunda:inputOutput> - <camunda:inputParameter name="url">${URN_mso_openecomp_adapters_db_endpoint}</camunda:inputParameter> + <camunda:inputParameter name="url">${URN_mso_adapters_openecomp_db_endpoint}</camunda:inputParameter> <camunda:inputParameter name="headers"> <camunda:map> <camunda:entry key="content-type">application/soap+xml</camunda:entry> diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoDeleteServiceInstance.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoDeleteServiceInstance.bpmn index 10f688b30f..e5b18a1303 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoDeleteServiceInstance.bpmn +++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoDeleteServiceInstance.bpmn @@ -74,15 +74,15 @@ ddsi.preProcessSDNCDelete(execution)]]></bpmn2:script> </bpmn2:endEvent> <bpmn2:sequenceFlow id="SequenceFlow_05jfuko" name="no" sourceRef="ExclusiveGateway_0590oev" targetRef="EndEvent_0ronxsz" /> <bpmn2:sequenceFlow id="SequenceFlow_1w8ao21" sourceRef="ScriptTask_1uxr0cx" targetRef="CallActivity_1c5wru8" /> - <bpmn2:exclusiveGateway id="ExclusiveGateway_1mrh7us" name="sdncVersion is 1610 " default="SequenceFlow_1dwch0k"> + <bpmn2:exclusiveGateway id="ExclusiveGateway_1mrh7us" name="need to invoke SDNC" default="SequenceFlow_1dwch0k"> <bpmn2:incoming>SequenceFlow_1hcfvcj</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_0riudmc</bpmn2:outgoing> <bpmn2:outgoing>SequenceFlow_1dwch0k</bpmn2:outgoing> </bpmn2:exclusiveGateway> - <bpmn2:sequenceFlow id="SequenceFlow_0riudmc" name="yes" sourceRef="ExclusiveGateway_1mrh7us" targetRef="callGenericDeleteService"> - <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{ execution.getVariable("sdncVersion" ) == "1610" }]]></bpmn2:conditionExpression> + <bpmn2:sequenceFlow id="SequenceFlow_0riudmc" name="no" sourceRef="ExclusiveGateway_1mrh7us" targetRef="callGenericDeleteService"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{ execution.getVariable("sendToSDNC" ) == false }]]></bpmn2:conditionExpression> </bpmn2:sequenceFlow> - <bpmn2:sequenceFlow id="SequenceFlow_1dwch0k" name="no" sourceRef="ExclusiveGateway_1mrh7us" targetRef="ScriptTask_0xxwbdq" /> + <bpmn2:sequenceFlow id="SequenceFlow_1dwch0k" name="yes" sourceRef="ExclusiveGateway_1mrh7us" targetRef="ScriptTask_0xxwbdq" /> <bpmn2:callActivity id="CallActivity_1s8pf0x" name="Call AAI Generic GetService" calledElement="GenericGetService"> <bpmn2:extensionElements> <camunda:in source="serviceInstanceId" target="GENGS_serviceInstanceId" /> @@ -255,7 +255,7 @@ ddsi.postProcessSDNCDelete(execution, response, "delete")]]></bpmn2:script> <bpmndi:BPMNShape id="ExclusiveGateway_1mrh7us_di" bpmnElement="ExclusiveGateway_1mrh7us" isMarkerVisible="true"> <dc:Bounds x="236" y="72" width="50" height="50" /> <bpmndi:BPMNLabel> - <dc:Bounds x="227" y="126" width="76" height="26" /> + <dc:Bounds x="228" y="126" width="74" height="24" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_0riudmc_di" bpmnElement="SequenceFlow_0riudmc"> @@ -264,7 +264,7 @@ ddsi.postProcessSDNCDelete(execution, response, "delete")]]></bpmn2:script> <di:waypoint xsi:type="dc:Point" x="1252" y="-20" /> <di:waypoint xsi:type="dc:Point" x="1252" y="57" /> <bpmndi:BPMNLabel> - <dc:Bounds x="753" y="-35" width="18" height="14" /> + <dc:Bounds x="756" y="-35" width="12" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_1dwch0k_di" bpmnElement="SequenceFlow_1dwch0k"> @@ -272,7 +272,7 @@ ddsi.postProcessSDNCDelete(execution, response, "delete")]]></bpmn2:script> <di:waypoint xsi:type="dc:Point" x="310" y="97" /> <di:waypoint xsi:type="dc:Point" x="353" y="97" /> <bpmndi:BPMNLabel> - <dc:Bounds x="308" y="101.4811676034096" width="13" height="12" /> + <dc:Bounds x="306" y="101" width="18" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="CallActivity_1s8pf0x_di" bpmnElement="CallActivity_1s8pf0x"> diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoDeleteVfModule.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoDeleteVfModule.bpmn index b8c6aa32a4..f147639a59 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoDeleteVfModule.bpmn +++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoDeleteVfModule.bpmn @@ -27,8 +27,8 @@ dvm.prepUpdateAAIVfModule(execution)]]></bpmn2:script> <camunda:out source="PUAAIVfMod_heatStackId" target="DoDVfMod_heatStackId" /> <camunda:out source="PUAAIVfMod_outVfModule" target="vfModuleFromAAI" /> </bpmn2:extensionElements> - <bpmn2:incoming>SequenceFlow_42</bpmn2:incoming> - <bpmn2:outgoing>SequenceFlow_1j9dvfx</bpmn2:outgoing> + <bpmn2:incoming>SequenceFlow_029ioyr</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_14xn858</bpmn2:outgoing> </bpmn2:callActivity> <bpmn2:sequenceFlow id="SequenceFlow_4" name="" sourceRef="VNFAdapterPrep" targetRef="InvokeVNFAdapterRestV1" /> <bpmn2:callActivity id="InvokeSDNCAdapterV1_2" name="Invoke
SDNCAdapterV1" calledElement="sdncAdapter"> @@ -46,7 +46,7 @@ dvm.prepUpdateAAIVfModule(execution)]]></bpmn2:script> </bpmn2:callActivity> <bpmn2:sequenceFlow id="SequenceFlow_33" name="" sourceRef="InvokeSDNCAdapterV1_2" targetRef="validateSDNCResponse" /> <bpmn2:scriptTask id="VNFAdapterPrep" name="VNFAdapter
Prep" scriptFormat="groovy"> - <bpmn2:incoming>SequenceFlow_1j9dvfx</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_14xn858</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_4</bpmn2:outgoing> <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* def dvm = new DoDeleteVfModule() @@ -70,7 +70,7 @@ dvm.prepSDNCAdapterRequest(execution, "delete")]]></bpmn2:script> <camunda:in source="mso-service-instance-id" target="mso-service-instance-id" /> </bpmn2:extensionElements> <bpmn2:incoming>SequenceFlow_4</bpmn2:incoming> - <bpmn2:outgoing>SequenceFlow_01cvxjf</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_1xruki1</bpmn2:outgoing> </bpmn2:callActivity> <bpmn2:endEvent id="EndEvent_9"> <bpmn2:incoming>SequenceFlow_35</bpmn2:incoming> @@ -117,7 +117,7 @@ dvm.preProcessRequest(execution)]]></bpmn2:script> def dvm = new DoDeleteVfModule() dvm.preProcessRequest(execution)]]></bpmn2:script> </bpmn2:scriptTask> - <bpmn2:sequenceFlow id="SequenceFlow_42" name="" sourceRef="PrepareUpdateAAIVfModulePrep" targetRef="InvokePrepareUpdateAAIVfModule" /> + <bpmn2:sequenceFlow id="SequenceFlow_42" name="" sourceRef="PrepareUpdateAAIVfModulePrep" targetRef="Task_0h2lui6" /> <bpmn2:startEvent id="StartEvent_1"> <bpmn2:outgoing>SequenceFlow_1</bpmn2:outgoing> <bpmn2:messageEventDefinition id="_MessageEventDefinition_6" messageRef="Message_1" /> @@ -130,10 +130,8 @@ dvm.preProcessRequest(execution)]]></bpmn2:script> def dvm = new DoDeleteVfModule() dvm.deleteNetworkPoliciesFromAAI(execution)]]></bpmn2:script> </bpmn2:scriptTask> - <bpmn2:sequenceFlow id="SequenceFlow_1j9dvfx" sourceRef="InvokePrepareUpdateAAIVfModule" targetRef="VNFAdapterPrep" /> - <bpmn2:sequenceFlow id="SequenceFlow_01cvxjf" sourceRef="InvokeVNFAdapterRestV1" targetRef="PostProcessVNFAdapterRequest" /> <bpmn2:scriptTask id="PostProcessVNFAdapterRequest" name="PostProcess VNFAdapter Request" scriptFormat="groovy"> - <bpmn2:incoming>SequenceFlow_01cvxjf</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_1xruki1</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_0coa90m</bpmn2:outgoing> <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* def dvm = new DoDeleteVfModule() @@ -176,6 +174,16 @@ doDeleteVfModule.prepUpdateAAIGenericVnf(execution)]]></bpmn2:script> <bpmn2:incoming>SequenceFlow_1a7lzhz</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_14l7olw</bpmn2:outgoing> </bpmn2:callActivity> + <bpmn2:sequenceFlow id="SequenceFlow_029ioyr" sourceRef="Task_0h2lui6" targetRef="InvokePrepareUpdateAAIVfModule" /> + <bpmn2:scriptTask id="Task_0h2lui6" name="Query AAI for Orchestration Status" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_42</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_029ioyr</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def dvm = new DoDeleteVfModule() +dvm.queryAAIVfModuleForStatus(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_1xruki1" sourceRef="InvokeVNFAdapterRestV1" targetRef="PostProcessVNFAdapterRequest" /> + <bpmn2:sequenceFlow id="SequenceFlow_14xn858" sourceRef="InvokePrepareUpdateAAIVfModule" targetRef="VNFAdapterPrep" /> </bpmn2:process> <bpmn2:error id="Error_1" name="MSO Workflow Exception" errorCode="MSOWorkflowException" /> <bpmn2:message id="Message_1" name="DoDeleteVfModuleRequest" /> @@ -198,7 +206,7 @@ doDeleteVfModule.prepUpdateAAIGenericVnf(execution)]]></bpmn2:script> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_160" bpmnElement="InvokePrepareUpdateAAIVfModule"> - <dc:Bounds x="480" y="36" width="100" height="80" /> + <dc:Bounds x="647" y="36" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_168" bpmnElement="PrepareUpdateAAIVfModulePrep"> <dc:Bounds x="315" y="36" width="100" height="80" /> @@ -211,203 +219,215 @@ doDeleteVfModule.prepUpdateAAIGenericVnf(execution)]]></bpmn2:script> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_170" bpmnElement="VNFAdapterPrep"> - <dc:Bounds x="631" y="36" width="100" height="80" /> + <dc:Bounds x="193" y="206" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="_BPMNShape_CallActivity_13" bpmnElement="InvokeVNFAdapterRestV1"> - <dc:Bounds x="776" y="36" width="100" height="80" /> + <dc:Bounds x="404" y="206" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_171" bpmnElement="UpdateAAIVfModulePrep"> - <dc:Bounds x="871" y="187" width="100" height="80" /> + <dc:Bounds x="844" y="385" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="_BPMNShape_CallActivity_14" bpmnElement="InvokeUpdateAAIVfModule"> - <dc:Bounds x="1022" y="187" width="100" height="80" /> + <dc:Bounds x="995" y="385" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_28" bpmnElement="SequenceFlow_28" sourceElement="_BPMNShape_ScriptTask_171" targetElement="_BPMNShape_CallActivity_14"> - <di:waypoint xsi:type="dc:Point" x="971" y="227" /> - <di:waypoint xsi:type="dc:Point" x="1022" y="227" /> + <di:waypoint xsi:type="dc:Point" x="944" y="425" /> + <di:waypoint xsi:type="dc:Point" x="995" y="425" /> <bpmndi:BPMNLabel> - <dc:Bounds x="997" y="212" width="0" height="0" /> + <dc:Bounds x="970" y="410" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_172" bpmnElement="SDNCAdapterPrep2"> - <dc:Bounds x="97" y="467" width="100" height="80" /> + <dc:Bounds x="140" y="665" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="_BPMNShape_CallActivity_15" bpmnElement="InvokeSDNCAdapterV1_2"> - <dc:Bounds x="229" y="467" width="100" height="80" /> + <dc:Bounds x="272" y="665" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_173" bpmnElement="DeleteAAIVfModulePrep"> - <dc:Bounds x="504" y="467" width="100" height="80" /> + <dc:Bounds x="547" y="665" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="_BPMNShape_CallActivity_16" bpmnElement="InvokeDeleteAAIVfModule"> - <dc:Bounds x="647" y="467" width="100" height="80" /> + <dc:Bounds x="690" y="665" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_31" bpmnElement="SequenceFlow_31" sourceElement="_BPMNShape_CallActivity_14" targetElement="_BPMNShape_ScriptTask_172"> - <di:waypoint xsi:type="dc:Point" x="1072" y="267" /> - <di:waypoint xsi:type="dc:Point" x="1072" y="426" /> - <di:waypoint xsi:type="dc:Point" x="53" y="426" /> - <di:waypoint xsi:type="dc:Point" x="53" y="507" /> - <di:waypoint xsi:type="dc:Point" x="97" y="507" /> + <di:waypoint xsi:type="dc:Point" x="1045" y="465" /> + <di:waypoint xsi:type="dc:Point" x="1045" y="603" /> + <di:waypoint xsi:type="dc:Point" x="70" y="603" /> + <di:waypoint xsi:type="dc:Point" x="70" y="705" /> + <di:waypoint xsi:type="dc:Point" x="140" y="705" /> <bpmndi:BPMNLabel> - <dc:Bounds x="563" y="411" width="0" height="0" /> + <dc:Bounds x="558" y="588" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_32" bpmnElement="SequenceFlow_32" sourceElement="_BPMNShape_ScriptTask_172" targetElement="_BPMNShape_CallActivity_15"> - <di:waypoint xsi:type="dc:Point" x="197" y="507" /> - <di:waypoint xsi:type="dc:Point" x="213" y="507" /> - <di:waypoint xsi:type="dc:Point" x="213" y="508" /> - <di:waypoint xsi:type="dc:Point" x="229" y="508" /> + <di:waypoint xsi:type="dc:Point" x="240" y="705" /> + <di:waypoint xsi:type="dc:Point" x="256" y="705" /> + <di:waypoint xsi:type="dc:Point" x="256" y="706" /> + <di:waypoint xsi:type="dc:Point" x="272" y="706" /> <bpmndi:BPMNLabel> - <dc:Bounds x="225" y="360" width="0" height="0" /> + <dc:Bounds x="268" y="558" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_33" bpmnElement="SequenceFlow_33" sourceElement="_BPMNShape_CallActivity_15" targetElement="_BPMNShape_ScriptTask_251"> - <di:waypoint xsi:type="dc:Point" x="329" y="507" /> - <di:waypoint xsi:type="dc:Point" x="361" y="507" /> + <di:waypoint xsi:type="dc:Point" x="372" y="705" /> + <di:waypoint xsi:type="dc:Point" x="404" y="705" /> <bpmndi:BPMNLabel> - <dc:Bounds x="345" y="507" width="0" height="0" /> + <dc:Bounds x="388" y="705" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_34" bpmnElement="SequenceFlow_34" sourceElement="_BPMNShape_ScriptTask_173" targetElement="_BPMNShape_CallActivity_16"> - <di:waypoint xsi:type="dc:Point" x="604" y="507" /> - <di:waypoint xsi:type="dc:Point" x="647" y="507" /> + <di:waypoint xsi:type="dc:Point" x="647" y="705" /> + <di:waypoint xsi:type="dc:Point" x="690" y="705" /> <bpmndi:BPMNLabel> - <dc:Bounds x="626" y="492" width="0" height="0" /> + <dc:Bounds x="669" y="690" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="_BPMNShape_EndEvent_169" bpmnElement="EndEvent_9"> - <dc:Bounds x="793" y="489" width="36" height="36" /> + <dc:Bounds x="836" y="687" width="36" height="36" /> <bpmndi:BPMNLabel> - <dc:Bounds x="811" y="530" width="0" height="0" /> + <dc:Bounds x="854" y="728" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_35" bpmnElement="SequenceFlow_35" sourceElement="_BPMNShape_CallActivity_16" targetElement="_BPMNShape_EndEvent_169"> - <di:waypoint xsi:type="dc:Point" x="747" y="507" /> - <di:waypoint xsi:type="dc:Point" x="793" y="507" /> + <di:waypoint xsi:type="dc:Point" x="790" y="705" /> + <di:waypoint xsi:type="dc:Point" x="836" y="705" /> <bpmndi:BPMNLabel> - <dc:Bounds x="770" y="492" width="0" height="0" /> + <dc:Bounds x="813" y="690" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_42" bpmnElement="SequenceFlow_42" sourceElement="_BPMNShape_ScriptTask_168" targetElement="_BPMNShape_ScriptTask_160"> <di:waypoint xsi:type="dc:Point" x="415" y="76" /> - <di:waypoint xsi:type="dc:Point" x="480" y="76" /> + <di:waypoint xsi:type="dc:Point" x="483" y="76" /> <bpmndi:BPMNLabel> - <dc:Bounds x="440" y="0" width="6" height="6" /> + <dc:Bounds x="449" y="61" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_3" bpmnElement="SequenceFlow_4" sourceElement="_BPMNShape_ScriptTask_160" targetElement="_BPMNShape_ScriptTask_170"> - <di:waypoint xsi:type="dc:Point" x="731" y="76" /> - <di:waypoint xsi:type="dc:Point" x="753" y="76" /> - <di:waypoint xsi:type="dc:Point" x="753" y="76" /> - <di:waypoint xsi:type="dc:Point" x="776" y="76" /> + <di:waypoint xsi:type="dc:Point" x="293" y="246" /> + <di:waypoint xsi:type="dc:Point" x="404" y="246" /> <bpmndi:BPMNLabel> - <dc:Bounds x="768" y="76" width="0" height="0" /> + <dc:Bounds x="349" y="231" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_251" bpmnElement="validateSDNCResponse"> - <dc:Bounds x="361" y="467" width="100" height="80" /> + <dc:Bounds x="404" y="665" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_2" bpmnElement="SequenceFlow_2" sourceElement="_BPMNShape_ScriptTask_251" targetElement="_BPMNShape_ScriptTask_173"> - <di:waypoint xsi:type="dc:Point" x="461" y="507" /> - <di:waypoint xsi:type="dc:Point" x="504" y="507" /> + <di:waypoint xsi:type="dc:Point" x="504" y="705" /> + <di:waypoint xsi:type="dc:Point" x="547" y="705" /> <bpmndi:BPMNLabel> - <dc:Bounds x="483" y="492" width="0" height="0" /> + <dc:Bounds x="526" y="690" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="ScriptTask_0la8haz_di" bpmnElement="DeleteNetworkPoliciesFromAAI"> - <dc:Bounds x="301" y="187" width="100" height="80" /> + <dc:Bounds x="202" y="385" width="100" height="80" /> </bpmndi:BPMNShape> - <bpmndi:BPMNEdge id="SequenceFlow_1j9dvfx_di" bpmnElement="SequenceFlow_1j9dvfx"> - <di:waypoint xsi:type="dc:Point" x="580" y="76" /> - <di:waypoint xsi:type="dc:Point" x="631" y="76" /> - <bpmndi:BPMNLabel> - <dc:Bounds x="606" y="51" width="0" height="0" /> - </bpmndi:BPMNLabel> - </bpmndi:BPMNEdge> - <bpmndi:BPMNEdge id="SequenceFlow_01cvxjf_di" bpmnElement="SequenceFlow_01cvxjf"> - <di:waypoint xsi:type="dc:Point" x="876" y="76" /> - <di:waypoint xsi:type="dc:Point" x="967" y="76" /> - <di:waypoint xsi:type="dc:Point" x="967" y="150" /> - <di:waypoint xsi:type="dc:Point" x="27" y="150" /> - <di:waypoint xsi:type="dc:Point" x="27" y="227" /> - <di:waypoint xsi:type="dc:Point" x="144" y="227" /> - <bpmndi:BPMNLabel> - <dc:Bounds x="497" y="135" width="0" height="0" /> - </bpmndi:BPMNLabel> - </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="ScriptTask_0lewl6b_di" bpmnElement="PostProcessVNFAdapterRequest"> - <dc:Bounds x="144" y="187" width="100" height="80" /> + <dc:Bounds x="620" y="206" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_0coa90m_di" bpmnElement="SequenceFlow_0coa90m"> - <di:waypoint xsi:type="dc:Point" x="244" y="227" /> - <di:waypoint xsi:type="dc:Point" x="301" y="227" /> + <di:waypoint xsi:type="dc:Point" x="720" y="246" /> + <di:waypoint xsi:type="dc:Point" x="923" y="246" /> + <di:waypoint xsi:type="dc:Point" x="923" y="333" /> + <di:waypoint xsi:type="dc:Point" x="76" y="333" /> + <di:waypoint xsi:type="dc:Point" x="76" y="425" /> + <di:waypoint xsi:type="dc:Point" x="202" y="425" /> <bpmndi:BPMNLabel> - <dc:Bounds x="273" y="212" width="0" height="0" /> + <dc:Bounds x="500" y="318" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="ExclusiveGateway_1drlnlk_di" bpmnElement="ExclusiveGateway_1drlnlk" isMarkerVisible="true"> - <dc:Bounds x="442" y="202" width="50" height="50" /> + <dc:Bounds x="415" y="400" width="50" height="50" /> <bpmndi:BPMNLabel> - <dc:Bounds x="429" y="164" width="75" height="24" /> + <dc:Bounds x="402" y="362" width="75" height="24" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_08g02ch_di" bpmnElement="SequenceFlow_08g02ch"> - <di:waypoint xsi:type="dc:Point" x="401" y="227" /> - <di:waypoint xsi:type="dc:Point" x="442" y="227" /> + <di:waypoint xsi:type="dc:Point" x="302" y="425" /> + <di:waypoint xsi:type="dc:Point" x="415" y="425" /> <bpmndi:BPMNLabel> - <dc:Bounds x="422" y="212" width="0" height="0" /> + <dc:Bounds x="359" y="410" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_1yehsyc_di" bpmnElement="SequenceFlow_1yehsyc"> - <di:waypoint xsi:type="dc:Point" x="467" y="252" /> - <di:waypoint xsi:type="dc:Point" x="467" y="319" /> - <di:waypoint xsi:type="dc:Point" x="504" y="319" /> + <di:waypoint xsi:type="dc:Point" x="440" y="450" /> + <di:waypoint xsi:type="dc:Point" x="440" y="517" /> + <di:waypoint xsi:type="dc:Point" x="477" y="517" /> <bpmndi:BPMNLabel> - <dc:Bounds x="433" y="274.5" width="18" height="12" /> + <dc:Bounds x="406" y="473" width="18" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_1a7lzhz_di" bpmnElement="SequenceFlow_1a7lzhz"> - <di:waypoint xsi:type="dc:Point" x="604" y="319" /> - <di:waypoint xsi:type="dc:Point" x="651" y="319" /> - <di:waypoint xsi:type="dc:Point" x="651" y="319" /> - <di:waypoint xsi:type="dc:Point" x="681" y="319" /> + <di:waypoint xsi:type="dc:Point" x="577" y="517" /> + <di:waypoint xsi:type="dc:Point" x="624" y="517" /> + <di:waypoint xsi:type="dc:Point" x="624" y="517" /> + <di:waypoint xsi:type="dc:Point" x="654" y="517" /> <bpmndi:BPMNLabel> - <dc:Bounds x="666" y="319" width="0" height="0" /> + <dc:Bounds x="639" y="517" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="ExclusiveGateway_0lsru7z_di" bpmnElement="ExclusiveGateway_0lsru7z" isMarkerVisible="true"> - <dc:Bounds x="786" y="202" width="50" height="50" /> + <dc:Bounds x="759" y="400" width="50" height="50" /> <bpmndi:BPMNLabel> - <dc:Bounds x="811" y="252" width="0" height="0" /> + <dc:Bounds x="784" y="450" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_0ep3hjm_di" bpmnElement="SequenceFlow_0ep3hjm"> - <di:waypoint xsi:type="dc:Point" x="492" y="227" /> - <di:waypoint xsi:type="dc:Point" x="786" y="227" /> + <di:waypoint xsi:type="dc:Point" x="465" y="425" /> + <di:waypoint xsi:type="dc:Point" x="759" y="425" /> <bpmndi:BPMNLabel> - <dc:Bounds x="633" y="202" width="12" height="12" /> + <dc:Bounds x="606" y="400" width="12" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_14l7olw_di" bpmnElement="SequenceFlow_14l7olw"> - <di:waypoint xsi:type="dc:Point" x="781" y="319" /> - <di:waypoint xsi:type="dc:Point" x="811" y="319" /> - <di:waypoint xsi:type="dc:Point" x="811" y="252" /> + <di:waypoint xsi:type="dc:Point" x="754" y="517" /> + <di:waypoint xsi:type="dc:Point" x="784" y="517" /> + <di:waypoint xsi:type="dc:Point" x="784" y="450" /> <bpmndi:BPMNLabel> - <dc:Bounds x="796" y="304" width="0" height="0" /> + <dc:Bounds x="769" y="502" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_0fp1wqz_di" bpmnElement="SequenceFlow_0fp1wqz"> - <di:waypoint xsi:type="dc:Point" x="836" y="227" /> - <di:waypoint xsi:type="dc:Point" x="871" y="227" /> + <di:waypoint xsi:type="dc:Point" x="809" y="425" /> + <di:waypoint xsi:type="dc:Point" x="844" y="425" /> <bpmndi:BPMNLabel> - <dc:Bounds x="854" y="202" width="0" height="0" /> + <dc:Bounds x="827" y="400" width="0" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="ScriptTask_18y0guc_di" bpmnElement="PreProcessUpdateAAIGenericVnf"> - <dc:Bounds x="504" y="279" width="100" height="80" /> + <dc:Bounds x="477" y="477" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="CallActivity_0kbqf50_di" bpmnElement="UpdateAAIGenericVnfTask"> - <dc:Bounds x="681" y="279" width="100" height="80" /> + <dc:Bounds x="654" y="477" width="100" height="80" /> </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_029ioyr_di" bpmnElement="SequenceFlow_029ioyr"> + <di:waypoint xsi:type="dc:Point" x="583" y="76" /> + <di:waypoint xsi:type="dc:Point" x="647" y="76" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="615" y="61" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ScriptTask_15vzlxw_di" bpmnElement="Task_0h2lui6"> + <dc:Bounds x="483" y="36" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1xruki1_di" bpmnElement="SequenceFlow_1xruki1"> + <di:waypoint xsi:type="dc:Point" x="504" y="246" /> + <di:waypoint xsi:type="dc:Point" x="620" y="246" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="562" y="231" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_14xn858_di" bpmnElement="SequenceFlow_14xn858"> + <di:waypoint xsi:type="dc:Point" x="747" y="76" /> + <di:waypoint xsi:type="dc:Point" x="914" y="76" /> + <di:waypoint xsi:type="dc:Point" x="914" y="154" /> + <di:waypoint xsi:type="dc:Point" x="71" y="154" /> + <di:waypoint xsi:type="dc:Point" x="71" y="246" /> + <di:waypoint xsi:type="dc:Point" x="193" y="246" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="493" y="139" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> </bpmndi:BPMNPlane> </bpmndi:BPMNDiagram> </bpmn2:definitions> diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoDeleteVnfAndModules.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoDeleteVnfAndModules.bpmn index 9850552a9e..d066d1e2e9 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoDeleteVnfAndModules.bpmn +++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoDeleteVnfAndModules.bpmn @@ -68,6 +68,8 @@ exceptionUtil.processJavaException(execution)]]></bpmn2:script> <camunda:in source="DDVAM_sdncVersion" target="sdncVersion" /> <camunda:in source="DDVAM_isVidRequest" target="isVidRequest" /> <camunda:out source="WorkflowException" target="WorkflowException" /> + <camunda:in source="retainResources" target="retainResources" /> + <camunda:in source="aLaCarte" target="aLaCarte" /> </bpmn2:extensionElements> <bpmn2:incoming>SequenceFlow_1xujrk5</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_1p4ycii</bpmn2:outgoing> diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoUpdateE2EServiceInstance.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoUpdateE2EServiceInstance.bpmn new file mode 100644 index 0000000000..75f6b4c8f8 --- /dev/null +++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoUpdateE2EServiceInstance.bpmn @@ -0,0 +1,821 @@ +<?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="DoUpdateE2EServiceInstance" name="DoUpdateE2EServiceInstance" isExecutable="true"> + <bpmn2:startEvent id="createSI_startEvent" name="Start Flow"> + <bpmn2:outgoing>SequenceFlow_1</bpmn2:outgoing> + </bpmn2:startEvent> + <bpmn2:sequenceFlow id="SequenceFlow_1" name="" sourceRef="createSI_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 dcsi = new DoUpdateE2EServiceInstance() +dcsi.preProcessRequest(execution) +]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_2" name="" sourceRef="preProcessRequest_ScriptTask" targetRef="CallActivity_18nvmnn" /> + <bpmn2:scriptTask id="ScriptTask_0i8cqdy_PostProcessAAIGET" name="Post Process AAI GET" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_0qg0uyn</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_0wc7v9z</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def dcsi = new DoUpdateE2EServiceInstance() +dcsi.postProcessAAIGET(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:scriptTask id="Task_09laxun" name="PreProcess for Add Resources" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_115mdln</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_0yztz2p</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def csi = new DoUpdateE2EServiceInstance() +csi.preProcessForAddResource(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:callActivity id="Task_1wyyy33" 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_0yztz2p</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_0lblyhi</bpmn2:outgoing> + </bpmn2:callActivity> + <bpmn2:scriptTask id="Task_0ag30bf" name="PostProcess for Add Resource" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_0lblyhi</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_1fr4uwt</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def csi = new DoUpdateE2EServiceInstance() +csi.postProcessForAddResource(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:scriptTask id="ScriptTask_04rn9mp" name="Post Config Service Instance Update" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_0cnuo36</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_1lkpfe2</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def csi = new DoUpdateE2EServiceInstance() +csi.postConfigRequest(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:intermediateCatchEvent id="StartEvent_StartResource" name="StartAddResources"> + <bpmn2:outgoing>SequenceFlow_115mdln</bpmn2:outgoing> + <bpmn2:linkEventDefinition name="StartAddResource" /> + </bpmn2:intermediateCatchEvent> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1dwg5lz" name="GoToStartCompareModelVersions"> + <bpmn2:incoming>SequenceFlow_1i45vfx</bpmn2:incoming> + <bpmn2:linkEventDefinition name="StartCompareModelVersions" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:sequenceFlow id="SequenceFlow_1rebkae" sourceRef="StartEvent_0jhv664" targetRef="ScriptTask_1wk7zcu" /> + <bpmn2:intermediateCatchEvent id="StartEvent_0jhv664" name="FinishProcess"> + <bpmn2:outgoing>SequenceFlow_1rebkae</bpmn2:outgoing> + <bpmn2:linkEventDefinition name="FinishProcess" /> + </bpmn2:intermediateCatchEvent> + <bpmn2:endEvent id="EndEvent_0x8im5g"> + <bpmn2:incoming>SequenceFlow_1lkpfe2</bpmn2:incoming> + </bpmn2:endEvent> + <bpmn2:sequenceFlow id="SequenceFlow_1lkpfe2" sourceRef="ScriptTask_04rn9mp" targetRef="EndEvent_0x8im5g" /> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_GoToFinishProcess" name="GoTo StartDeleteResources"> + <bpmn2:incoming>SequenceFlow_1fr4uwt</bpmn2:incoming> + <bpmn2:linkEventDefinition name="StartDeleteResources" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:intermediateCatchEvent id="StartEvent_1p7w4fj" name="Update Resource Oper Status"> + <bpmn2:outgoing>SequenceFlow_0e8oxe4</bpmn2:outgoing> + <bpmn2:linkEventDefinition name="UpdateResourceOperStatus" /> + </bpmn2:intermediateCatchEvent> + <bpmn2:sequenceFlow id="SequenceFlow_0e8oxe4" sourceRef="StartEvent_1p7w4fj" targetRef="ScriptTask_1pwo0jp" /> + <bpmn2:scriptTask id="ScriptTask_1wk7zcu" name="Prepare Update Service Oper Status(100%)" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_1rebkae</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_0gr3l25</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +execution.setVariable("progress", "100") +execution.setVariable("operationStatus", "End") +def ddsi = new DoUpdateE2EServiceInstance() +ddsi.preUpdateServiceOperationStatus(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:serviceTask id="ServiceTask_1a6cmdu" name="Update Service Oper Status"> + <bpmn2:extensionElements> + <camunda:connector> + <camunda:inputOutput> + <camunda:inputParameter name="url">${URN_mso_openecomp_adapters_db_endpoint}</camunda:inputParameter> + <camunda:inputParameter name="headers"> + <camunda:map> + <camunda:entry key="content-type">application/soap+xml</camunda:entry> + <camunda:entry key="Authorization">Basic QlBFTENsaWVudDpwYXNzd29yZDEk</camunda:entry> + </camunda:map> + </camunda:inputParameter> + <camunda:inputParameter name="payload">${CVFMI_updateServiceOperStatusRequest}</camunda:inputParameter> + <camunda:inputParameter name="method">POST</camunda:inputParameter> + <camunda:outputParameter name="CVFMI_dbResponseCode">${statusCode}</camunda:outputParameter> + <camunda:outputParameter name="CVFMI_dbResponse">${response}</camunda:outputParameter> + </camunda:inputOutput> + <camunda:connectorId>http-connector</camunda:connectorId> + </camunda:connector> + </bpmn2:extensionElements> + <bpmn2:incoming>SequenceFlow_0gr3l25</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_0cnuo36</bpmn2:outgoing> + </bpmn2:serviceTask> + <bpmn2:sequenceFlow id="SequenceFlow_0gr3l25" sourceRef="ScriptTask_1wk7zcu" targetRef="ServiceTask_1a6cmdu" /> + <bpmn2:sequenceFlow id="SequenceFlow_0cnuo36" sourceRef="ServiceTask_1a6cmdu" targetRef="ScriptTask_04rn9mp" /> + <bpmn2:scriptTask id="ScriptTask_1pwo0jp" name="Prepare Resource Oper Status" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_0e8oxe4</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_0aylb6e</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def ddsi = new DoUpdateE2EServiceInstance() +ddsi.preInitResourcesOperStatus(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_0aylb6e" sourceRef="ScriptTask_1pwo0jp" targetRef="ServiceTask_1dqzdko" /> + <bpmn2:serviceTask id="ServiceTask_1dqzdko" name="Init Resource Oper Status"> + <bpmn2:extensionElements> + <camunda:connector> + <camunda:inputOutput> + <camunda:inputParameter name="url">${CVFMI_dbAdapterEndpoint}</camunda:inputParameter> + <camunda:inputParameter name="headers"> + <camunda:map> + <camunda:entry key="content-type">application/soap+xml</camunda:entry> + <camunda:entry key="Authorization">Basic QlBFTENsaWVudDpwYXNzd29yZDEk</camunda:entry> + </camunda:map> + </camunda:inputParameter> + <camunda:inputParameter name="payload">${CVFMI_initResOperStatusRequest}</camunda:inputParameter> + <camunda:inputParameter name="method">POST</camunda:inputParameter> + <camunda:outputParameter name="CVFMI_dbResponseCode">${statusCode}</camunda:outputParameter> + <camunda:outputParameter name="CVFMI_dbResponse">${response}</camunda:outputParameter> + </camunda:inputOutput> + <camunda:connectorId>http-connector</camunda:connectorId> + </camunda:connector> + </bpmn2:extensionElements> + <bpmn2:incoming>SequenceFlow_0aylb6e</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_1r1hl23</bpmn2:outgoing> + </bpmn2:serviceTask> + <bpmn2:sequenceFlow id="SequenceFlow_1r1hl23" sourceRef="ServiceTask_1dqzdko" targetRef="ScriptTask_17ssed5" /> + <bpmn2:sequenceFlow id="SequenceFlow_115mdln" sourceRef="StartEvent_StartResource" targetRef="Task_09laxun" /> + <bpmn2:sequenceFlow id="SequenceFlow_0yztz2p" sourceRef="Task_09laxun" targetRef="Task_1wyyy33" /> + <bpmn2:sequenceFlow id="SequenceFlow_0lblyhi" sourceRef="Task_1wyyy33" targetRef="Task_0ag30bf" /> + <bpmn2:sequenceFlow id="SequenceFlow_1fr4uwt" sourceRef="Task_0ag30bf" targetRef="IntermediateThrowEvent_GoToFinishProcess" /> + <bpmn2:scriptTask id="ScriptTask_1xxvnst" name="PreProcess for Delete Resources" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_1qn0865</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_14rubz2</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def csi = new DoUpdateE2EServiceInstance() +csi.preProcessForDeleteResource(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:callActivity id="CallActivity_0yphqzk" 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_14rubz2</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_0tm9bw9</bpmn2:outgoing> + </bpmn2:callActivity> + <bpmn2:scriptTask id="ScriptTask_00wgfrc" name="PostProcess for Delete Resource" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_0tm9bw9</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_0ynd3rm</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def csi = new DoUpdateE2EServiceInstance() +csi.postProcessForDeleteResource(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:intermediateCatchEvent id="IntermediateCatchEvent_0h6d9jb" name="StartDeleteResources"> + <bpmn2:outgoing>SequenceFlow_1qn0865</bpmn2:outgoing> + <bpmn2:linkEventDefinition name="StartDeleteResources" /> + </bpmn2:intermediateCatchEvent> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1er2v7q" name="GoTo FinishProcess"> + <bpmn2:incoming>SequenceFlow_0ynd3rm</bpmn2:incoming> + <bpmn2:linkEventDefinition name="FinishProcess" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:sequenceFlow id="SequenceFlow_1qn0865" sourceRef="IntermediateCatchEvent_0h6d9jb" targetRef="ScriptTask_1xxvnst" /> + <bpmn2:sequenceFlow id="SequenceFlow_14rubz2" sourceRef="ScriptTask_1xxvnst" targetRef="CallActivity_0yphqzk" /> + <bpmn2:sequenceFlow id="SequenceFlow_0tm9bw9" sourceRef="CallActivity_0yphqzk" targetRef="ScriptTask_00wgfrc" /> + <bpmn2:sequenceFlow id="SequenceFlow_0ynd3rm" sourceRef="ScriptTask_00wgfrc" targetRef="IntermediateThrowEvent_1er2v7q" /> + <bpmn2:subProcess id="SubProcess_0roysbg" name="Sub-process for UnexpectedErrors" triggeredByEvent="true"> + <bpmn2:startEvent id="StartEvent_0xtpw6j"> + <bpmn2:outgoing>SequenceFlow_19sogyb</bpmn2:outgoing> + <bpmn2:errorEventDefinition /> + </bpmn2:startEvent> + <bpmn2:scriptTask id="ScriptTask_0xk9fk3" name="Log / Print Unexpected Error" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_19sogyb</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_0ofhz2u</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.*
+ExceptionUtil ex = new ExceptionUtil()
+ex.processJavaException(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_19sogyb" name="" sourceRef="StartEvent_0xtpw6j" targetRef="ScriptTask_0xk9fk3" /> + <bpmn2:endEvent id="EndEvent_05a2pr9"> + <bpmn2:incoming>SequenceFlow_0ofhz2u</bpmn2:incoming> + </bpmn2:endEvent> + <bpmn2:sequenceFlow id="SequenceFlow_0ofhz2u" sourceRef="ScriptTask_0xk9fk3" targetRef="EndEvent_05a2pr9" /> + </bpmn2:subProcess> + <bpmn2:scriptTask id="ScriptTask_0wl77h6" name="Post for Compare Model Versions" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_02d5ibj</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_0l4gosl</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def csi = new DoUpdateE2EServiceInstance() +csi.postCompareModelVersions(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:intermediateCatchEvent id="IntermediateCatchEvent_0gk8ige" name="StartCompareModelVersions"> + <bpmn2:outgoing>SequenceFlow_1vtlt1v</bpmn2:outgoing> + <bpmn2:linkEventDefinition name="StartCompareModelVersions" /> + </bpmn2:intermediateCatchEvent> + <bpmn2:scriptTask id="ScriptTask_1afvv50" name="Prepare for Compare Model Versions" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_1vtlt1v</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_0h40pn8</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def ddsi = new DoUpdateE2EServiceInstance() +ddsi.preCompareModelVersions(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_02d5ibj" sourceRef="ServiceTask_02u5iza" targetRef="ScriptTask_0wl77h6" /> + <bpmn2:sequenceFlow id="SequenceFlow_1vtlt1v" sourceRef="IntermediateCatchEvent_0gk8ige" targetRef="ScriptTask_1afvv50" /> + <bpmn2:sequenceFlow id="SequenceFlow_0h40pn8" sourceRef="ScriptTask_1afvv50" targetRef="ServiceTask_02u5iza" /> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_09ur9ds" name="GoTo StartAddResources"> + <bpmn2:incoming>SequenceFlow_0l4gosl</bpmn2:incoming> + <bpmn2:linkEventDefinition name="StartAddResource" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:sequenceFlow id="SequenceFlow_0l4gosl" sourceRef="ScriptTask_0wl77h6" targetRef="IntermediateThrowEvent_09ur9ds" /> + <bpmn2:callActivity id="ServiceTask_02u5iza" name="Call DoCompareModelVersions" calledElement="DoCompareModelVersions"> + <bpmn2:incoming>SequenceFlow_0h40pn8</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_02d5ibj</bpmn2:outgoing> + </bpmn2:callActivity> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0cabwkq" name="GoTo UpdateResourceOperStatus"> + <bpmn2:incoming>SequenceFlow_0wc7v9z</bpmn2:incoming> + <bpmn2:linkEventDefinition name="UpdateResourceOperStatus" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:callActivity id="CallActivity_18nvmnn" 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_2</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_0qg0uyn</bpmn2:outgoing> + </bpmn2:callActivity> + <bpmn2:sequenceFlow id="SequenceFlow_0qg0uyn" sourceRef="CallActivity_18nvmnn" targetRef="ScriptTask_0i8cqdy_PostProcessAAIGET" /> + <bpmn2:sequenceFlow id="SequenceFlow_0wc7v9z" sourceRef="ScriptTask_0i8cqdy_PostProcessAAIGET" targetRef="IntermediateThrowEvent_0cabwkq" /> + <bpmn2:scriptTask id="ScriptTask_17ssed5" name="Post Resource Oper Status" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_1r1hl23</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_1i45vfx</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def dcsi = new DoUpdateE2EServiceInstance() +dcsi.postResourcesOperStatus(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_1i45vfx" sourceRef="ScriptTask_17ssed5" targetRef="IntermediateThrowEvent_1dwg5lz" /> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_1da7q01" name="GoToStartCompareModelVersions"> + <bpmn2:incoming>SequenceFlow_16evvx4</bpmn2:incoming> + <bpmn2:linkEventDefinition name="StartCompareModelVersions" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:intermediateCatchEvent id="IntermediateCatchEvent_1uv1dxj" name="Update Resource Oper Status"> + <bpmn2:outgoing>SequenceFlow_1sphzdm</bpmn2:outgoing> + <bpmn2:linkEventDefinition name="UpdateResourceOperStatus" /> + </bpmn2:intermediateCatchEvent> + <bpmn2:scriptTask id="ScriptTask_0acnvkp" name="Prepare Resource Oper Status(10%)" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_1sphzdm</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_0r6c0ci</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +execution.setVariable("progress", "10") +def ddsi = new DoUpdateE2EServiceInstance() +ddsi.preUpdateServiceOperationStatus(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:serviceTask id="ServiceTask_17u9q9u" name="Init Resource Oper Status"> + <bpmn2:extensionElements> + <camunda:connector> + <camunda:inputOutput> + <camunda:inputParameter name="url">${CVFMI_dbAdapterEndpoint}</camunda:inputParameter> + <camunda:inputParameter name="headers"> + <camunda:map> + <camunda:entry key="content-type">application/soap+xml</camunda:entry> + <camunda:entry key="Authorization">Basic QlBFTENsaWVudDpwYXNzd29yZDEk</camunda:entry> + </camunda:map> + </camunda:inputParameter> + <camunda:inputParameter name="payload">${CVFMI_initResOperStatusRequest}</camunda:inputParameter> + <camunda:inputParameter name="method">POST</camunda:inputParameter> + <camunda:outputParameter name="CVFMI_dbResponseCode">${statusCode}</camunda:outputParameter> + <camunda:outputParameter name="CVFMI_dbResponse">${response}</camunda:outputParameter> + </camunda:inputOutput> + <camunda:connectorId>http-connector</camunda:connectorId> + </camunda:connector> + </bpmn2:extensionElements> + <bpmn2:incoming>SequenceFlow_0r6c0ci</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_1muxopq</bpmn2:outgoing> + </bpmn2:serviceTask> + <bpmn2:scriptTask id="ScriptTask_0r74c3c" name="Post Resource Oper Status" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_1muxopq</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_16evvx4</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def dcsi = new DoUpdateE2EServiceInstance() +dcsi.postResourcesOperStatus(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_16evvx4" sourceRef="ScriptTask_0r74c3c" targetRef="IntermediateThrowEvent_1da7q01" /> + <bpmn2:sequenceFlow id="SequenceFlow_1sphzdm" sourceRef="IntermediateCatchEvent_1uv1dxj" targetRef="ScriptTask_0acnvkp" /> + <bpmn2:sequenceFlow id="SequenceFlow_0r6c0ci" sourceRef="ScriptTask_0acnvkp" targetRef="ServiceTask_17u9q9u" /> + <bpmn2:sequenceFlow id="SequenceFlow_1muxopq" sourceRef="ServiceTask_17u9q9u" targetRef="ScriptTask_0r74c3c" /> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0vneaao" name="GoToStartCompareModelVersions"> + <bpmn2:incoming>SequenceFlow_0s57qft</bpmn2:incoming> + <bpmn2:linkEventDefinition name="StartCompareModelVersions" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:intermediateCatchEvent id="IntermediateCatchEvent_0a418ef" name="Update Resource Oper Status"> + <bpmn2:outgoing>SequenceFlow_02taco0</bpmn2:outgoing> + <bpmn2:linkEventDefinition name="UpdateResourceOperStatus" /> + </bpmn2:intermediateCatchEvent> + <bpmn2:scriptTask id="ScriptTask_1na4qzo" name="Prepare Resource Oper Status(60%)" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_02taco0</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_07l3twh</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +execution.setVariable("progress", "60") +def ddsi = new DoUpdateE2EServiceInstance() +ddsi.preUpdateServiceOperationStatus(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:serviceTask id="ServiceTask_0c13nyt" name="Init Resource Oper Status"> + <bpmn2:extensionElements> + <camunda:connector> + <camunda:inputOutput> + <camunda:inputParameter name="url">${CVFMI_dbAdapterEndpoint}</camunda:inputParameter> + <camunda:inputParameter name="headers"> + <camunda:map> + <camunda:entry key="content-type">application/soap+xml</camunda:entry> + <camunda:entry key="Authorization">Basic QlBFTENsaWVudDpwYXNzd29yZDEk</camunda:entry> + </camunda:map> + </camunda:inputParameter> + <camunda:inputParameter name="payload">${CVFMI_initResOperStatusRequest}</camunda:inputParameter> + <camunda:inputParameter name="method">POST</camunda:inputParameter> + <camunda:outputParameter name="CVFMI_dbResponseCode">${statusCode}</camunda:outputParameter> + <camunda:outputParameter name="CVFMI_dbResponse">${response}</camunda:outputParameter> + </camunda:inputOutput> + <camunda:connectorId>http-connector</camunda:connectorId> + </camunda:connector> + </bpmn2:extensionElements> + <bpmn2:incoming>SequenceFlow_07l3twh</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_1eg944u</bpmn2:outgoing> + </bpmn2:serviceTask> + <bpmn2:scriptTask id="ScriptTask_0iq531p" name="Post Resource Oper Status" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_1eg944u</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_0s57qft</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def dcsi = new DoUpdateE2EServiceInstance() +dcsi.postResourcesOperStatus(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_0s57qft" sourceRef="ScriptTask_0iq531p" targetRef="IntermediateThrowEvent_0vneaao" /> + <bpmn2:sequenceFlow id="SequenceFlow_02taco0" sourceRef="IntermediateCatchEvent_0a418ef" targetRef="ScriptTask_1na4qzo" /> + <bpmn2:sequenceFlow id="SequenceFlow_07l3twh" sourceRef="ScriptTask_1na4qzo" targetRef="ServiceTask_0c13nyt" /> + <bpmn2:sequenceFlow id="SequenceFlow_1eg944u" sourceRef="ServiceTask_0c13nyt" targetRef="ScriptTask_0iq531p" /> + </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="DoUpdateE2EServiceInstance"> + <bpmndi:BPMNShape id="_BPMNShape_StartEvent_47" bpmnElement="createSI_startEvent"> + <dc:Bounds x="-14" y="334" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="-20" y="375" width="50" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_61" bpmnElement="preProcessRequest_ScriptTask"> + <dc:Bounds x="293" y="312" 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="22" y="352" /> + <di:waypoint xsi:type="dc:Point" x="293" y="352" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="112.5" y="337" width="90" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_3" bpmnElement="SequenceFlow_2" sourceElement="_BPMNShape_ScriptTask_61" targetElement="CallActivity_18nvmnn_di"> + <di:waypoint xsi:type="dc:Point" x="393" y="352" /> + <di:waypoint xsi:type="dc:Point" x="589" y="352" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="446" y="337" width="90" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ScriptTask_0i8cqdy_di" bpmnElement="ScriptTask_0i8cqdy_PostProcessAAIGET"> + <dc:Bounds x="858" y="312" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ScriptTask_1azssf7_di" bpmnElement="Task_09laxun"> + <dc:Bounds x="293" y="828" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="CallActivity_1v57nb9_di" bpmnElement="Task_1wyyy33"> + <dc:Bounds x="589" y="828" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ScriptTask_1fj89ew_di" bpmnElement="Task_0ag30bf"> + <dc:Bounds x="858" y="828" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ScriptTask_04rn9mp_di" bpmnElement="ScriptTask_04rn9mp"> + <dc:Bounds x="858" y="1208" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateCatchEvent_0jks7by_di" bpmnElement="StartEvent_StartResource"> + <dc:Bounds x="-14" y="850" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="-38" y="895" width="84" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateThrowEvent_0ys6800_di" bpmnElement="IntermediateThrowEvent_1dwg5lz"> + <dc:Bounds x="1239" y="473" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1213" y="513" width="90" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1rebkae_di" bpmnElement="SequenceFlow_1rebkae"> + <di:waypoint xsi:type="dc:Point" x="22" y="1248" /> + <di:waypoint xsi:type="dc:Point" x="283" y="1248" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="107.5" y="1227" width="90" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="IntermediateCatchEvent_05z1jyy_di" bpmnElement="StartEvent_0jhv664"> + <dc:Bounds x="-14" y="1230" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="-31" y="1270" width="70" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="EndEvent_0x8im5g_di" bpmnElement="EndEvent_0x8im5g"> + <dc:Bounds x="1239" y="1230" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1212" y="1270" width="90" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1lkpfe2_di" bpmnElement="SequenceFlow_1lkpfe2"> + <di:waypoint xsi:type="dc:Point" x="958" y="1248" /> + <di:waypoint xsi:type="dc:Point" x="1239" y="1248" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1053.5" y="1227" width="90" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="IntermediateThrowEvent_11jt9tx_di" bpmnElement="IntermediateThrowEvent_GoToFinishProcess"> + <dc:Bounds x="1239" y="850" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1214" y="892" width="86" height="36" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateCatchEvent_0v3ecwh_di" bpmnElement="StartEvent_1p7w4fj"> + <dc:Bounds x="-14" y="473" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="-38" y="513" width="86" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_0e8oxe4_di" bpmnElement="SequenceFlow_0e8oxe4"> + <di:waypoint xsi:type="dc:Point" x="22" y="491" /> + <di:waypoint xsi:type="dc:Point" x="158" y="491" /> + <di:waypoint xsi:type="dc:Point" x="158" y="491" /> + <di:waypoint xsi:type="dc:Point" x="293" y="491" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="128" y="485" width="90" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ScriptTask_1wk7zcu_di" bpmnElement="ScriptTask_1wk7zcu"> + <dc:Bounds x="283" y="1208" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ServiceTask_1a6cmdu_di" bpmnElement="ServiceTask_1a6cmdu"> + <dc:Bounds x="589" y="1208" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_0gr3l25_di" bpmnElement="SequenceFlow_0gr3l25"> + <di:waypoint xsi:type="dc:Point" x="383" y="1248" /> + <di:waypoint xsi:type="dc:Point" x="589" y="1248" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="441" y="1227" width="90" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_0cnuo36_di" bpmnElement="SequenceFlow_0cnuo36"> + <di:waypoint xsi:type="dc:Point" x="689" y="1248" /> + <di:waypoint xsi:type="dc:Point" x="858" y="1248" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="728.5" y="1227" width="90" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ScriptTask_1pwo0jp_di" bpmnElement="ScriptTask_1pwo0jp"> + <dc:Bounds x="293" y="451" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_0aylb6e_di" bpmnElement="SequenceFlow_0aylb6e"> + <di:waypoint xsi:type="dc:Point" x="393" y="491" /> + <di:waypoint xsi:type="dc:Point" x="552" y="491" /> + <di:waypoint xsi:type="dc:Point" x="552" y="491" /> + <di:waypoint xsi:type="dc:Point" x="589" y="491" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="522" y="485" width="90" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ServiceTask_1dqzdko_di" bpmnElement="ServiceTask_1dqzdko"> + <dc:Bounds x="589" y="451" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1r1hl23_di" bpmnElement="SequenceFlow_1r1hl23"> + <di:waypoint xsi:type="dc:Point" x="689" y="491" /> + <di:waypoint xsi:type="dc:Point" x="858" y="491" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="728.5" y="470" width="90" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_115mdln_di" bpmnElement="SequenceFlow_115mdln"> + <di:waypoint xsi:type="dc:Point" x="22" y="868" /> + <di:waypoint xsi:type="dc:Point" x="293" y="868" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="112.5" y="847" width="90" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_0yztz2p_di" bpmnElement="SequenceFlow_0yztz2p"> + <di:waypoint xsi:type="dc:Point" x="393" y="868" /> + <di:waypoint xsi:type="dc:Point" x="589" y="868" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="446" y="847" width="90" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_0lblyhi_di" bpmnElement="SequenceFlow_0lblyhi"> + <di:waypoint xsi:type="dc:Point" x="689" y="868" /> + <di:waypoint xsi:type="dc:Point" x="858" y="868" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="728.5" y="847" width="90" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_1fr4uwt_di" bpmnElement="SequenceFlow_1fr4uwt"> + <di:waypoint xsi:type="dc:Point" x="958" y="868" /> + <di:waypoint xsi:type="dc:Point" x="1239" y="868" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1053.5" y="847" width="90" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ScriptTask_1xxvnst_di" bpmnElement="ScriptTask_1xxvnst"> + <dc:Bounds x="293" y="1081" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="CallActivity_0yphqzk_di" bpmnElement="CallActivity_0yphqzk"> + <dc:Bounds x="589" y="1081" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ScriptTask_00wgfrc_di" bpmnElement="ScriptTask_00wgfrc"> + <dc:Bounds x="858" y="1081" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateCatchEvent_0h6d9jb_di" bpmnElement="IntermediateCatchEvent_0h6d9jb"> + <dc:Bounds x="-14" y="1103" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="-38" y="1143" width="86" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateThrowEvent_1er2v7q_di" bpmnElement="IntermediateThrowEvent_1er2v7q"> + <dc:Bounds x="1239" y="1103" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1224" y="1143" width="70" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1qn0865_di" bpmnElement="SequenceFlow_1qn0865"> + <di:waypoint xsi:type="dc:Point" x="22" y="1121" /> + <di:waypoint xsi:type="dc:Point" x="293" y="1121" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="112.5" y="1100" width="90" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_14rubz2_di" bpmnElement="SequenceFlow_14rubz2"> + <di:waypoint xsi:type="dc:Point" x="393" y="1121" /> + <di:waypoint xsi:type="dc:Point" x="589" y="1121" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="446" y="1100" width="90" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_0tm9bw9_di" bpmnElement="SequenceFlow_0tm9bw9"> + <di:waypoint xsi:type="dc:Point" x="689" y="1121" /> + <di:waypoint xsi:type="dc:Point" x="858" y="1121" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="728.5" y="1100" width="90" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_0ynd3rm_di" bpmnElement="SequenceFlow_0ynd3rm"> + <di:waypoint xsi:type="dc:Point" x="958" y="1121" /> + <di:waypoint xsi:type="dc:Point" x="1239" y="1121" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1053.5" y="1100" width="90" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="SubProcess_0roysbg_di" bpmnElement="SubProcess_0roysbg" isExpanded="true"> + <dc:Bounds x="-50" y="1386" width="1361" height="147" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="StartEvent_0xtpw6j_di" bpmnElement="StartEvent_0xtpw6j"> + <dc:Bounds x="-14" y="1453" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="-131" y="1494" width="90" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="EndEvent_05a2pr9_di" bpmnElement="EndEvent_05a2pr9"> + <dc:Bounds x="1229" y="1453" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1112" y="1494" width="90" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ScriptTask_0xk9fk3_di" bpmnElement="ScriptTask_0xk9fk3"> + <dc:Bounds x="585" y="1431" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_19sogyb_di" bpmnElement="SequenceFlow_19sogyb"> + <di:waypoint xsi:type="dc:Point" x="22" y="1471" /> + <di:waypoint xsi:type="dc:Point" x="304" y="1471" /> + <di:waypoint xsi:type="dc:Point" x="304" y="1471" /> + <di:waypoint xsi:type="dc:Point" x="585" y="1471" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="274" y="1465" width="90" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ScriptTask_0wl77h6_di" bpmnElement="ScriptTask_0wl77h6"> + <dc:Bounds x="858" y="600" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateCatchEvent_0gk8ige_di" bpmnElement="IntermediateCatchEvent_0gk8ige"> + <dc:Bounds x="-14" y="622" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="-38" y="684" width="89" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ScriptTask_1afvv50_di" bpmnElement="ScriptTask_1afvv50"> + <dc:Bounds x="293" y="600" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_02d5ibj_di" bpmnElement="SequenceFlow_02d5ibj"> + <di:waypoint xsi:type="dc:Point" x="689" y="640" /> + <di:waypoint xsi:type="dc:Point" x="774" y="640" /> + <di:waypoint xsi:type="dc:Point" x="774" y="640" /> + <di:waypoint xsi:type="dc:Point" x="858" y="640" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="744" y="593" width="90" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_1vtlt1v_di" bpmnElement="SequenceFlow_1vtlt1v"> + <di:waypoint xsi:type="dc:Point" x="22" y="640" /> + <di:waypoint xsi:type="dc:Point" x="293" y="640" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="112.5" y="578" width="90" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_0h40pn8_di" bpmnElement="SequenceFlow_0h40pn8"> + <di:waypoint xsi:type="dc:Point" x="393" y="640" /> + <di:waypoint xsi:type="dc:Point" x="589" y="640" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="446" y="578" width="90" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="IntermediateThrowEvent_09ur9ds_di" bpmnElement="IntermediateThrowEvent_09ur9ds"> + <dc:Bounds x="1239" y="622" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1215" y="663" width="84" height="36" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_0l4gosl_di" bpmnElement="SequenceFlow_0l4gosl"> + <di:waypoint xsi:type="dc:Point" x="958" y="640" /> + <di:waypoint xsi:type="dc:Point" x="1098" y="640" /> + <di:waypoint xsi:type="dc:Point" x="1098" y="640" /> + <di:waypoint xsi:type="dc:Point" x="1239" y="640" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1068" y="593" width="90" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="CallActivity_00ftzjj_di" bpmnElement="ServiceTask_02u5iza"> + <dc:Bounds x="589" y="600" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateThrowEvent_0nf1193_di" bpmnElement="IntermediateThrowEvent_0cabwkq"> + <dc:Bounds x="1235" y="334" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1215" y="374" width="83" height="36" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="CallActivity_18nvmnn_di" bpmnElement="CallActivity_18nvmnn"> + <dc:Bounds x="589" y="312" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_0qg0uyn_di" bpmnElement="SequenceFlow_0qg0uyn"> + <di:waypoint xsi:type="dc:Point" x="689" y="352" /> + <di:waypoint xsi:type="dc:Point" x="858" y="352" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="728.5" y="331" width="90" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_0wc7v9z_di" bpmnElement="SequenceFlow_0wc7v9z"> + <di:waypoint xsi:type="dc:Point" x="958" y="352" /> + <di:waypoint xsi:type="dc:Point" x="1235" y="352" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1096.5" y="331" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ScriptTask_17ssed5_di" bpmnElement="ScriptTask_17ssed5"> + <dc:Bounds x="858" y="451" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1i45vfx_di" bpmnElement="SequenceFlow_1i45vfx"> + <di:waypoint xsi:type="dc:Point" x="958" y="491" /> + <di:waypoint xsi:type="dc:Point" x="1239" y="491" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1098.5" y="470" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="IntermediateThrowEvent_1da7q01_di" bpmnElement="IntermediateThrowEvent_1da7q01"> + <dc:Bounds x="1239" y="718" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1212" y="760" width="90" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateCatchEvent_1uv1dxj_di" bpmnElement="IntermediateCatchEvent_1uv1dxj"> + <dc:Bounds x="-14" y="718" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="-36" y="760" width="86" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ScriptTask_0acnvkp_di" bpmnElement="ScriptTask_0acnvkp"> + <dc:Bounds x="293" y="696" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ServiceTask_17u9q9u_di" bpmnElement="ServiceTask_17u9q9u"> + <dc:Bounds x="589" y="696" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ScriptTask_0r74c3c_di" bpmnElement="ScriptTask_0r74c3c"> + <dc:Bounds x="858" y="696" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_16evvx4_di" bpmnElement="SequenceFlow_16evvx4"> + <di:waypoint xsi:type="dc:Point" x="958" y="736" /> + <di:waypoint xsi:type="dc:Point" x="1239" y="736" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1098.5" y="753" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_1sphzdm_di" bpmnElement="SequenceFlow_1sphzdm"> + <di:waypoint xsi:type="dc:Point" x="22" y="736" /> + <di:waypoint xsi:type="dc:Point" x="158" y="736" /> + <di:waypoint xsi:type="dc:Point" x="158" y="736" /> + <di:waypoint xsi:type="dc:Point" x="293" y="736" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="173" y="768" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_0r6c0ci_di" bpmnElement="SequenceFlow_0r6c0ci"> + <di:waypoint xsi:type="dc:Point" x="393" y="736" /> + <di:waypoint xsi:type="dc:Point" x="552" y="736" /> + <di:waypoint xsi:type="dc:Point" x="552" y="736" /> + <di:waypoint xsi:type="dc:Point" x="589" y="736" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="567" y="768" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_1muxopq_di" bpmnElement="SequenceFlow_1muxopq"> + <di:waypoint xsi:type="dc:Point" x="689" y="736" /> + <di:waypoint xsi:type="dc:Point" x="858" y="736" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="773.5" y="753" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="IntermediateThrowEvent_0vneaao_di" bpmnElement="IntermediateThrowEvent_0vneaao"> + <dc:Bounds x="1239" y="948" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1213" y="988" width="90" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateCatchEvent_0a418ef_di" bpmnElement="IntermediateCatchEvent_0a418ef"> + <dc:Bounds x="-14" y="948" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="-38" y="988" width="86" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ScriptTask_1na4qzo_di" bpmnElement="ScriptTask_1na4qzo"> + <dc:Bounds x="293" y="926" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ServiceTask_0c13nyt_di" bpmnElement="ServiceTask_0c13nyt"> + <dc:Bounds x="589" y="926" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ScriptTask_0iq531p_di" bpmnElement="ScriptTask_0iq531p"> + <dc:Bounds x="858" y="926" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_0s57qft_di" bpmnElement="SequenceFlow_0s57qft"> + <di:waypoint xsi:type="dc:Point" x="958" y="966" /> + <di:waypoint xsi:type="dc:Point" x="1239" y="966" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1098.5" y="945" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_02taco0_di" bpmnElement="SequenceFlow_02taco0"> + <di:waypoint xsi:type="dc:Point" x="22" y="966" /> + <di:waypoint xsi:type="dc:Point" x="158" y="966" /> + <di:waypoint xsi:type="dc:Point" x="158" y="966" /> + <di:waypoint xsi:type="dc:Point" x="293" y="966" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="128" y="960" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_07l3twh_di" bpmnElement="SequenceFlow_07l3twh"> + <di:waypoint xsi:type="dc:Point" x="393" y="966" /> + <di:waypoint xsi:type="dc:Point" x="552" y="966" /> + <di:waypoint xsi:type="dc:Point" x="552" y="966" /> + <di:waypoint xsi:type="dc:Point" x="589" y="966" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="522" y="960" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_1eg944u_di" bpmnElement="SequenceFlow_1eg944u"> + <di:waypoint xsi:type="dc:Point" x="689" y="966" /> + <di:waypoint xsi:type="dc:Point" x="858" y="966" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="728.5" y="945" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_0ofhz2u_di" bpmnElement="SequenceFlow_0ofhz2u"> + <di:waypoint xsi:type="dc:Point" x="685" y="1471" /> + <di:waypoint xsi:type="dc:Point" x="1229" y="1471" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="957" y="1450" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + </bpmndi:BPMNPlane> + </bpmndi:BPMNDiagram> +</bpmn2:definitions> diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoUpdateVnfAndModules.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoUpdateVnfAndModules.bpmn index c110580f5c..609d630429 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoUpdateVnfAndModules.bpmn +++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoUpdateVnfAndModules.bpmn @@ -68,6 +68,7 @@ exceptionUtil.processJavaException(execution)]]></bpmn2:script> <camunda:in source="sdncVersion" target="sdncVersion" /> <camunda:in source="DUVAM_vfModuleModelInfo" target="vfModuleModelInfo" /> <camunda:in source="usePreload" target="usePreload" /> + <camunda:in source="vfModuleInputParams" target="vfModuleInputParams" /> </bpmn2:extensionElements> <bpmn2:incoming>SequenceFlow_04o61yk</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_1p4ycii</bpmn2:outgoing> diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/RollbackVnf.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/RollbackVnf.bpmn new file mode 100644 index 0000000000..2fa1fa932c --- /dev/null +++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/RollbackVnf.bpmn @@ -0,0 +1,343 @@ +<?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.4.0"> + <bpmn:process id="RollbackVnf" name="RollbackVnf" isExecutable="true"> + <bpmn:startEvent id="StartEvent_1"> + <bpmn:outgoing>SequenceFlow_0bie3cu</bpmn:outgoing> + </bpmn:startEvent> + <bpmn:exclusiveGateway id="ExclusiveGateway_0dysixy" name="Start VNF?" default="SequenceFlow_0tj5bkd"> + <bpmn:incoming>SequenceFlow_0mpoa26</bpmn:incoming> + <bpmn:incoming>SequenceFlow_1pirwg0</bpmn:incoming> + <bpmn:outgoing>SequenceFlow_1lne8je</bpmn:outgoing> + <bpmn:outgoing>SequenceFlow_0tj5bkd</bpmn:outgoing> + </bpmn:exclusiveGateway> + <bpmn:exclusiveGateway id="ExclusiveGateway_1iuuwqx" name="Unlock VNF?" default="SequenceFlow_0b2y2dw"> + <bpmn:incoming>SequenceFlow_0tj5bkd</bpmn:incoming> + <bpmn:incoming>SequenceFlow_1ney8l6</bpmn:incoming> + <bpmn:outgoing>SequenceFlow_0gsro0z</bpmn:outgoing> + <bpmn:outgoing>SequenceFlow_0b2y2dw</bpmn:outgoing> + </bpmn:exclusiveGateway> + <bpmn:exclusiveGateway id="ExclusiveGateway_1oswdsn" name="Unset closedLoopDisabled Flag?" default="SequenceFlow_0c5ovtd"> + <bpmn:incoming>SequenceFlow_0b2y2dw</bpmn:incoming> + <bpmn:incoming>SequenceFlow_11556y3</bpmn:incoming> + <bpmn:outgoing>SequenceFlow_0skjb2u</bpmn:outgoing> + <bpmn:outgoing>SequenceFlow_0c5ovtd</bpmn:outgoing> + </bpmn:exclusiveGateway> + <bpmn:exclusiveGateway id="ExclusiveGateway_0bu2ybs" name="Unset VNF inMaintenance Flag?" default="SequenceFlow_03qkk4e"> + <bpmn:incoming>SequenceFlow_0g18wrd</bpmn:incoming> + <bpmn:incoming>SequenceFlow_0c5ovtd</bpmn:incoming> + <bpmn:outgoing>SequenceFlow_12bz15k</bpmn:outgoing> + <bpmn:outgoing>SequenceFlow_03qkk4e</bpmn:outgoing> + </bpmn:exclusiveGateway> + <bpmn:sequenceFlow id="SequenceFlow_1lne8je" name="yes" sourceRef="ExclusiveGateway_0dysixy" targetRef="Task_0zktukf"> + <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("rollbackErrorCode") == "0" && execution.getVariable("rollbackVnfStop") == true]]></bpmn:conditionExpression> + </bpmn:sequenceFlow> + <bpmn:sequenceFlow id="SequenceFlow_0tj5bkd" name="no" sourceRef="ExclusiveGateway_0dysixy" targetRef="ExclusiveGateway_1iuuwqx" /> + <bpmn:sequenceFlow id="SequenceFlow_1ney8l6" sourceRef="Task_0zktukf" targetRef="ExclusiveGateway_1iuuwqx" /> + <bpmn:sequenceFlow id="SequenceFlow_0gsro0z" name="yes" sourceRef="ExclusiveGateway_1iuuwqx" targetRef="Task_10x6bcq"> + <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("rollbackErrorCode") == "0" && execution.getVariable("rollbackVnfLock") == true]]></bpmn:conditionExpression> + </bpmn:sequenceFlow> + <bpmn:sequenceFlow id="SequenceFlow_0b2y2dw" name="no" sourceRef="ExclusiveGateway_1iuuwqx" targetRef="ExclusiveGateway_1oswdsn" /> + <bpmn:sequenceFlow id="SequenceFlow_11556y3" sourceRef="Task_10x6bcq" targetRef="ExclusiveGateway_1oswdsn" /> + <bpmn:sequenceFlow id="SequenceFlow_0skjb2u" name="yes" sourceRef="ExclusiveGateway_1oswdsn" targetRef="Task_0uvsonk"> + <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("rollbackErrorCode") == "0" && execution.getVariable("rollbackSetClosedLoopDisabledFlag") == true]]></bpmn:conditionExpression> + </bpmn:sequenceFlow> + <bpmn:sequenceFlow id="SequenceFlow_0g18wrd" sourceRef="Task_0uvsonk" targetRef="ExclusiveGateway_0bu2ybs" /> + <bpmn:sequenceFlow id="SequenceFlow_12bz15k" name="yes" sourceRef="ExclusiveGateway_0bu2ybs" targetRef="Task_1uwp7nt"> + <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("rollbackErrorCode") == "0" && execution.getVariable("rollbackSetVnfInMaintenanceFlag") == true]]></bpmn:conditionExpression> + </bpmn:sequenceFlow> + <bpmn:sequenceFlow id="SequenceFlow_0bie3cu" sourceRef="StartEvent_1" targetRef="Task_1k4wj72" /> + <bpmn:sequenceFlow id="SequenceFlow_1ix4dpf" sourceRef="Task_1k4wj72" targetRef="ExclusiveGateway_1lztiva" /> + <bpmn:scriptTask id="Task_1k4wj72" name="PreProcess Rollback Request" scriptFormat="groovy"> + <bpmn:incoming>SequenceFlow_0bie3cu</bpmn:incoming> + <bpmn:outgoing>SequenceFlow_1ix4dpf</bpmn:outgoing> + <bpmn:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def uvfm = new RollbackVnf() +uvfm.preProcessRequest(execution) +]]></bpmn:script> + </bpmn:scriptTask> + <bpmn:sequenceFlow id="SequenceFlow_0c5ovtd" name="no" sourceRef="ExclusiveGateway_1oswdsn" targetRef="ExclusiveGateway_0bu2ybs" /> + <bpmn:callActivity id="Task_0zktukf" name="Call APP-C VNF Start" calledElement="AppCClient"> + <bpmn:extensionElements> + <camunda:in source="msoRequestId" target="msoRequestId" /> + <camunda:in source="actionStart" target="action" /> + <camunda:in source="vnfId" target="vnfId" /> + <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" /> + <camunda:out source="errorCode" target="rollbackErrorCode" /> + </bpmn:extensionElements> + <bpmn:incoming>SequenceFlow_1lne8je</bpmn:incoming> + <bpmn:outgoing>SequenceFlow_1ney8l6</bpmn:outgoing> + </bpmn:callActivity> + <bpmn:callActivity id="Task_10x6bcq" name="Call APP-C VNF Unlock" calledElement="AppCClient"> + <bpmn:extensionElements> + <camunda:in source="msoRequestId" target="msoRequestId" /> + <camunda:in source="actionUnlock" target="action" /> + <camunda:in source="vnfId" target="vnfId" /> + <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" /> + <camunda:out source="errorCode" target="rollbackErrorCode" /> + </bpmn:extensionElements> + <bpmn:incoming>SequenceFlow_0gsro0z</bpmn:incoming> + <bpmn:outgoing>SequenceFlow_11556y3</bpmn:outgoing> + </bpmn:callActivity> + <bpmn:scriptTask id="Task_0uvsonk" name="Unset VF Is Closed Loop DisabledFlag in A&AI" scriptFormat="groovy"> + <bpmn:incoming>SequenceFlow_0skjb2u</bpmn:incoming> + <bpmn:outgoing>SequenceFlow_0g18wrd</bpmn:outgoing> + <bpmn:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def uvfm = new RollbackVnf() +uvfm.setClosedLoopDisabledInAAI(execution, false) +]]></bpmn:script> + </bpmn:scriptTask> + <bpmn:scriptTask id="Task_1uwp7nt" name="Unset VNF In Maintenance Flag in A&AI" scriptFormat="groovy"> + <bpmn:incoming>SequenceFlow_12bz15k</bpmn:incoming> + <bpmn:outgoing>SequenceFlow_0tkvd6f</bpmn:outgoing> + <bpmn:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def uvfm = new RollbackVnf() +uvfm.setVnfInMaintFlagInAAI(execution, false) +]]></bpmn:script> + </bpmn:scriptTask> + <bpmn:endEvent id="EndEvent_1ull6mm"> + <bpmn:incoming>SequenceFlow_1p3pyal</bpmn:incoming> + </bpmn:endEvent> + <bpmn:sequenceFlow id="SequenceFlow_03qkk4e" name="no" sourceRef="ExclusiveGateway_0bu2ybs" targetRef="Task_1bahewx" /> + <bpmn:sequenceFlow id="SequenceFlow_0tkvd6f" sourceRef="Task_1uwp7nt" targetRef="Task_1bahewx" /> + <bpmn:scriptTask id="Task_1bahewx" name="Set Rollback Result" scriptFormat="groovy"> + <bpmn:incoming>SequenceFlow_03qkk4e</bpmn:incoming> + <bpmn:incoming>SequenceFlow_0tkvd6f</bpmn:incoming> + <bpmn:outgoing>SequenceFlow_1p3pyal</bpmn:outgoing> + <bpmn:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def uvfm = new RollbackVnf() +uvfm.setRollbackResult(execution) +]]></bpmn:script> + </bpmn:scriptTask> + <bpmn:sequenceFlow id="SequenceFlow_1p3pyal" sourceRef="Task_1bahewx" targetRef="EndEvent_1ull6mm" /> + <bpmn:exclusiveGateway id="ExclusiveGateway_1lztiva" name="Resume Traffic?" default="SequenceFlow_0mpoa26"> + <bpmn:incoming>SequenceFlow_1ix4dpf</bpmn:incoming> + <bpmn:outgoing>SequenceFlow_0mpoa26</bpmn:outgoing> + <bpmn:outgoing>SequenceFlow_05ihl7f</bpmn:outgoing> + </bpmn:exclusiveGateway> + <bpmn:sequenceFlow id="SequenceFlow_0mpoa26" name="no" sourceRef="ExclusiveGateway_1lztiva" targetRef="ExclusiveGateway_0dysixy" /> + <bpmn:sequenceFlow id="SequenceFlow_05ihl7f" name="yes" sourceRef="ExclusiveGateway_1lztiva" targetRef="Task_0d4mz7a"> + <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression" language="groovy"><![CDATA[execution.getVariable("rollbackErrorCode") == "0" && execution.getVariable("rollbackQuiesceTraffic") == true]]></bpmn:conditionExpression> + </bpmn:sequenceFlow> + <bpmn:sequenceFlow id="SequenceFlow_1pirwg0" sourceRef="Task_0d4mz7a" targetRef="ExclusiveGateway_0dysixy" /> + <bpmn:callActivity id="Task_0d4mz7a" name="Call APP-C Resume Traffic" calledElement="AppCClient"> + <bpmn:extensionElements> + <camunda:in source="msoRequestId" target="msoRequestId" /> + <camunda:in source="actionResumeTraffic" target="action" /> + <camunda:in source="payload" target="payload" /> + <camunda:in source="vnfId" target="vnfId" /> + <camunda:in source="vnfName" target="vnfName" /> + <camunda:in source="isDebugLogEnabled" target="isDebugLogEnabled" /> + <camunda:out source="errorCode" target="rollbackErrorCode" /> + </bpmn:extensionElements> + <bpmn:incoming>SequenceFlow_05ihl7f</bpmn:incoming> + <bpmn:outgoing>SequenceFlow_1pirwg0</bpmn:outgoing> + </bpmn:callActivity> + </bpmn:process> + <bpmndi:BPMNDiagram id="BPMNDiagram_1"> + <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="RollbackVnf"> + <bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="StartEvent_1"> + <dc:Bounds x="164" y="154" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="182" y="190" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ExclusiveGateway_0dysixy_di" bpmnElement="ExclusiveGateway_0dysixy" isMarkerVisible="true"> + <dc:Bounds x="786" y="147" width="50" height="50" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="784" y="197" width="54" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ExclusiveGateway_1iuuwqx_di" bpmnElement="ExclusiveGateway_1iuuwqx" isMarkerVisible="true"> + <dc:Bounds x="1040" y="147" width="50" height="50" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1032" y="197" width="65" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ExclusiveGateway_1oswdsn_di" bpmnElement="ExclusiveGateway_1oswdsn" isMarkerVisible="true"> + <dc:Bounds x="1297" y="147" width="50" height="50" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1279" y="197" width="86" height="36" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ExclusiveGateway_0bu2ybs_di" bpmnElement="ExclusiveGateway_0bu2ybs" isMarkerVisible="true"> + <dc:Bounds x="1532" y="147" width="50" height="50" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1520" y="197" width="73" height="36" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1lne8je_di" bpmnElement="SequenceFlow_1lne8je"> + <di:waypoint xsi:type="dc:Point" x="811" y="147" /> + <di:waypoint xsi:type="dc:Point" x="811" y="61" /> + <di:waypoint xsi:type="dc:Point" x="877" y="61" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="817" y="104" width="18" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_0tj5bkd_di" bpmnElement="SequenceFlow_0tj5bkd"> + <di:waypoint xsi:type="dc:Point" x="836" y="172" /> + <di:waypoint xsi:type="dc:Point" x="1040" y="172" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="932" y="151" width="12" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_1ney8l6_di" bpmnElement="SequenceFlow_1ney8l6"> + <di:waypoint xsi:type="dc:Point" x="977" y="61" /> + <di:waypoint xsi:type="dc:Point" x="1065" y="61" /> + <di:waypoint xsi:type="dc:Point" x="1065" y="147" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1021" y="46" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_0gsro0z_di" bpmnElement="SequenceFlow_0gsro0z"> + <di:waypoint xsi:type="dc:Point" x="1065" y="147" /> + <di:waypoint xsi:type="dc:Point" x="1065" y="61" /> + <di:waypoint xsi:type="dc:Point" x="1143" y="61" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1071" y="94" width="18" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_0b2y2dw_di" bpmnElement="SequenceFlow_0b2y2dw"> + <di:waypoint xsi:type="dc:Point" x="1090" y="172" /> + <di:waypoint xsi:type="dc:Point" x="1297" y="172" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1188" y="147" width="12" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_11556y3_di" bpmnElement="SequenceFlow_11556y3"> + <di:waypoint xsi:type="dc:Point" x="1243" y="61" /> + <di:waypoint xsi:type="dc:Point" x="1322" y="61" /> + <di:waypoint xsi:type="dc:Point" x="1322" y="147" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1283" y="46" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_0skjb2u_di" bpmnElement="SequenceFlow_0skjb2u"> + <di:waypoint xsi:type="dc:Point" x="1322" y="147" /> + <di:waypoint xsi:type="dc:Point" x="1322" y="61" /> + <di:waypoint xsi:type="dc:Point" x="1376" y="61" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1328" y="94" width="18" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_0g18wrd_di" bpmnElement="SequenceFlow_0g18wrd"> + <di:waypoint xsi:type="dc:Point" x="1476" y="61" /> + <di:waypoint xsi:type="dc:Point" x="1557" y="61" /> + <di:waypoint xsi:type="dc:Point" x="1557" y="147" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1517" y="46" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_12bz15k_di" bpmnElement="SequenceFlow_12bz15k"> + <di:waypoint xsi:type="dc:Point" x="1557" y="147" /> + <di:waypoint xsi:type="dc:Point" x="1557" y="61" /> + <di:waypoint xsi:type="dc:Point" x="1600" y="61" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1563" y="94" width="18" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_0bie3cu_di" bpmnElement="SequenceFlow_0bie3cu"> + <di:waypoint xsi:type="dc:Point" x="200" y="172" /> + <di:waypoint xsi:type="dc:Point" x="315" y="172" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="258" y="157" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_1ix4dpf_di" bpmnElement="SequenceFlow_1ix4dpf"> + <di:waypoint xsi:type="dc:Point" x="415" y="172" /> + <di:waypoint xsi:type="dc:Point" x="524" y="172" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="470" y="157" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ScriptTask_12bnvgq_di" bpmnElement="Task_1k4wj72"> + <dc:Bounds x="315" y="132" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_0c5ovtd_di" bpmnElement="SequenceFlow_0c5ovtd"> + <di:waypoint xsi:type="dc:Point" x="1347" y="172" /> + <di:waypoint xsi:type="dc:Point" x="1532" y="172" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1434" y="147" width="12" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="CallActivity_0gw56ug_di" bpmnElement="Task_0zktukf"> + <dc:Bounds x="877" y="21" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="CallActivity_04vh5qa_di" bpmnElement="Task_10x6bcq"> + <dc:Bounds x="1143" y="21" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ScriptTask_0k4zdeb_di" bpmnElement="Task_0uvsonk"> + <dc:Bounds x="1376" y="21" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ScriptTask_1uergdm_di" bpmnElement="Task_1uwp7nt"> + <dc:Bounds x="1600" y="21" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="EndEvent_1ull6mm_di" bpmnElement="EndEvent_1ull6mm"> + <dc:Bounds x="1909" y="145" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1927" y="181" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_03qkk4e_di" bpmnElement="SequenceFlow_03qkk4e"> + <di:waypoint xsi:type="dc:Point" x="1582" y="172" /> + <di:waypoint xsi:type="dc:Point" x="1664" y="172" /> + <di:waypoint xsi:type="dc:Point" x="1664" y="172" /> + <di:waypoint xsi:type="dc:Point" x="1728" y="172" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1678" y="145" width="12" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_0tkvd6f_di" bpmnElement="SequenceFlow_0tkvd6f"> + <di:waypoint xsi:type="dc:Point" x="1700" y="61" /> + <di:waypoint xsi:type="dc:Point" x="1778" y="61" /> + <di:waypoint xsi:type="dc:Point" x="1778" y="123" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1739" y="46" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ScriptTask_1hobybp_di" bpmnElement="Task_1bahewx"> + <dc:Bounds x="1728" y="123" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1p3pyal_di" bpmnElement="SequenceFlow_1p3pyal"> + <di:waypoint xsi:type="dc:Point" x="1829" y="163" /> + <di:waypoint xsi:type="dc:Point" x="1877" y="163" /> + <di:waypoint xsi:type="dc:Point" x="1877" y="163" /> + <di:waypoint xsi:type="dc:Point" x="1909" y="163" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1892" y="163" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ExclusiveGateway_1lztiva_di" bpmnElement="ExclusiveGateway_1lztiva" isMarkerVisible="true"> + <dc:Bounds x="524" y="147" width="50" height="50" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="508" y="197" width="81" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_0mpoa26_di" bpmnElement="SequenceFlow_0mpoa26"> + <di:waypoint xsi:type="dc:Point" x="574" y="172" /> + <di:waypoint xsi:type="dc:Point" x="786" y="172" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="674" y="147" width="12" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_05ihl7f_di" bpmnElement="SequenceFlow_05ihl7f"> + <di:waypoint xsi:type="dc:Point" x="549" y="147" /> + <di:waypoint xsi:type="dc:Point" x="549" y="61" /> + <di:waypoint xsi:type="dc:Point" x="623" y="61" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="555" y="94" width="18" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_1pirwg0_di" bpmnElement="SequenceFlow_1pirwg0"> + <di:waypoint xsi:type="dc:Point" x="723" y="61" /> + <di:waypoint xsi:type="dc:Point" x="811" y="61" /> + <di:waypoint xsi:type="dc:Point" x="811" y="147" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="767" y="46" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="CallActivity_1tber80_di" bpmnElement="Task_0d4mz7a"> + <dc:Bounds x="623" y="21" width="100" height="80" /> + </bpmndi:BPMNShape> + </bpmndi:BPMNPlane> + </bpmndi:BPMNDiagram> +</bpmn:definitions> diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/SetRefactorServiceDecomp.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/SetRefactorServiceDecomp.bpmn new file mode 100644 index 0000000000..c4f107b0b5 --- /dev/null +++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/SetRefactorServiceDecomp.bpmn @@ -0,0 +1,68 @@ +<?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.8.2"> + <bpmn:process id="SetRefactorServiceDecomp" name="SetRefactorServiceDecomp" isExecutable="true"> + <bpmn:startEvent id="StartEvent_1" name="start"> + <bpmn:outgoing>SequenceFlow_1aizx5q</bpmn:outgoing> + </bpmn:startEvent> + <bpmn:sequenceFlow id="SequenceFlow_1aizx5q" sourceRef="StartEvent_1" targetRef="Task_0gznhje" /> + <bpmn:endEvent id="EndEvent_1yia7od" name="end"> + <bpmn:incoming>SequenceFlow_1fypndb</bpmn:incoming> + </bpmn:endEvent> + <bpmn:sequenceFlow id="SequenceFlow_1ipdcwj" sourceRef="Task_0gznhje" targetRef="CallActivity_0fl1ppe" /> + <bpmn:serviceTask id="Task_0gznhje" name="Setup ServiceDecomp" camunda:class="org.openecomp.mso.bpmn.infrastructure.DoCreateServiceInstance.SetupServiceDecomp"> + <bpmn:incoming>SequenceFlow_1aizx5q</bpmn:incoming> + <bpmn:outgoing>SequenceFlow_1ipdcwj</bpmn:outgoing> + </bpmn:serviceTask> + <bpmn:callActivity id="CallActivity_0fl1ppe" name="Call CreateSI" calledElement="CreateServiceInstanceV3"> + <bpmn:extensionElements> + <camunda:in source="ServiceDecomposition" target="ServiceDecomposition" /> + </bpmn:extensionElements> + <bpmn:incoming>SequenceFlow_1ipdcwj</bpmn:incoming> + <bpmn:outgoing>SequenceFlow_1fypndb</bpmn:outgoing> + </bpmn:callActivity> + <bpmn:sequenceFlow id="SequenceFlow_1fypndb" sourceRef="CallActivity_0fl1ppe" targetRef="EndEvent_1yia7od" /> + </bpmn:process> + <bpmndi:BPMNDiagram id="BPMNDiagram_1"> + <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="SetRefactorServiceDecomp"> + <bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="StartEvent_1"> + <dc:Bounds x="173" y="102" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="180" y="138" width="22" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1aizx5q_di" bpmnElement="SequenceFlow_1aizx5q"> + <di:waypoint xsi:type="dc:Point" x="209" y="120" /> + <di:waypoint xsi:type="dc:Point" x="254" y="120" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="231.5" y="99" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="EndEvent_1yia7od_di" bpmnElement="EndEvent_1yia7od"> + <dc:Bounds x="544" y="102" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="553" y="142" width="18" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1ipdcwj_di" bpmnElement="SequenceFlow_1ipdcwj"> + <di:waypoint xsi:type="dc:Point" x="354" y="120" /> + <di:waypoint xsi:type="dc:Point" x="392" y="120" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="328" y="99" width="90" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ServiceTask_0kwb6lz_di" bpmnElement="Task_0gznhje"> + <dc:Bounds x="254" y="80" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="CallActivity_0fl1ppe_di" bpmnElement="CallActivity_0fl1ppe"> + <dc:Bounds x="392" y="80" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1fypndb_di" bpmnElement="SequenceFlow_1fypndb"> + <di:waypoint xsi:type="dc:Point" x="492" y="120" /> + <di:waypoint xsi:type="dc:Point" x="544" y="120" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="518" y="99" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + </bpmndi:BPMNPlane> + </bpmndi:BPMNDiagram> +</bpmn:definitions> diff --git a/bpmn/MSOInfrastructureBPMN/src/main/webapp/WEB-INF/web.xml b/bpmn/MSOInfrastructureBPMN/src/main/webapp/WEB-INF/web.xml index 907f511551..a357c2a6f3 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/webapp/WEB-INF/web.xml +++ b/bpmn/MSOInfrastructureBPMN/src/main/webapp/WEB-INF/web.xml @@ -25,7 +25,7 @@ <servlet-class>org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher</servlet-class>
<init-param>
<param-name>javax.ws.rs.Application</param-name>
- <param-value>org.openecomp.mso.bpmn.infrastructure.workflow.service.WorkflowResourceApplication</param-value>
+ <param-value>org.openecomp.mso.bpmn.common.workflow.service.WorkflowResourceApplication</param-value>
</init-param>
</servlet>
<servlet-mapping>
@@ -33,6 +33,10 @@ <url-pattern>/*</url-pattern>
</servlet-mapping>
<context-param>
+ <param-name>contextConfigLocation</param-name>
+ <param-value>/WEB-INF/applicationContext.xml</param-value>
+ </context-param>
+ <context-param>
<param-name>mso.configuration</param-name>
<param-value>MSO_PROP_TOPOLOGY=topology.properties</param-value>
</context-param>
@@ -44,6 +48,9 @@ <param-name>resteasy.resources</param-name>
<param-value>org.openecomp.mso.logger.MsoLoggingServlet,org.openecomp.mso.bpmn.core.HealthCheckHandler</param-value>
</context-param>
+ <listener>
+ <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
+ </listener>
<filter>
<filter-name>LogFilter</filter-name>
<filter-class>org.openecomp.mso.logger.LogFilter</filter-class>
|