diff options
9 files changed, 1579 insertions, 373 deletions
diff --git a/adapters/mso-adapter-utils/pom.xml b/adapters/mso-adapter-utils/pom.xml index 2efb336161..e264a20d9d 100644 --- a/adapters/mso-adapter-utils/pom.xml +++ b/adapters/mso-adapter-utils/pom.xml @@ -54,34 +54,22 @@ <version>${project.version}</version> </dependency> <dependency> -<!-- <groupId>org.onap.so.libs.openstack-java-sdk</groupId> ---> - <groupId>org.openecomp.so.libs.openstack-java-sdk</groupId> <artifactId>keystone-client</artifactId> <version>${openstack.version}</version> </dependency> <dependency> -<!-- <groupId>org.onap.so.libs.openstack-java-sdk</groupId> ---> - <groupId>org.openecomp.so.libs.openstack-java-sdk</groupId> <artifactId>heat-client</artifactId> <version>${openstack.version}</version> </dependency> <dependency> -<!-- <groupId>org.onap.so.libs.openstack-java-sdk</groupId> ---> - <groupId>org.openecomp.so.libs.openstack-java-sdk</groupId> <artifactId>quantum-client</artifactId> <version>${openstack.version}</version> </dependency> <dependency> -<!-- <groupId>org.onap.so.libs.openstack-java-sdk.client-connectors</groupId> ---> - <groupId>org.openecomp.so.libs.openstack-java-sdk.client-connectors</groupId> <artifactId>http-connector</artifactId> <version>${openstack.version}</version> </dependency> diff --git a/adapters/mso-requests-db-adapter/src/main/java/org/openecomp/mso/adapters/requestsdb/MsoRequestsDbAdapterImpl.java b/adapters/mso-requests-db-adapter/src/main/java/org/openecomp/mso/adapters/requestsdb/MsoRequestsDbAdapterImpl.java index 358fe53ecb..925086a9d3 100644 --- a/adapters/mso-requests-db-adapter/src/main/java/org/openecomp/mso/adapters/requestsdb/MsoRequestsDbAdapterImpl.java +++ b/adapters/mso-requests-db-adapter/src/main/java/org/openecomp/mso/adapters/requestsdb/MsoRequestsDbAdapterImpl.java @@ -70,59 +70,59 @@ public class MsoRequestsDbAdapterImpl implements MsoRequestsDbAdapter { long startTime = System.currentTimeMillis (); try { session.beginTransaction (); - String queryString = "update InfraActiveRequests set "; + StringBuilder queryString = new StringBuilder("update InfraActiveRequests set "); if (statusMessage != null) { - queryString += "statusMessage = :statusMessage, "; + queryString.append("statusMessage = :statusMessage, "); } if (responseBody != null) { - queryString += "responseBody = :responseBody, "; + queryString.append("responseBody = :responseBody, "); } if (requestStatus != null) { - queryString += "requestStatus = :requestStatus, "; + queryString.append("requestStatus = :requestStatus, "); } if (progress != null) { - queryString += "progress = :progress, "; + queryString.append("progress = :progress, "); } if (vnfOutputs != null) { - queryString += "vnfOutputs = :vnfOutputs, "; + queryString.append("vnfOutputs = :vnfOutputs, "); } if (serviceInstanceId != null) { - queryString += "serviceInstanceId = :serviceInstanceId, "; + queryString.append("serviceInstanceId = :serviceInstanceId, "); } if (networkId != null) { - queryString += "networkId = :networkId, "; + queryString.append("networkId = :networkId, "); } if (vnfId != null) { - queryString += "vnfId = :vnfId, "; + queryString.append("vnfId = :vnfId, "); } if (vfModuleId != null) { - queryString += "vfModuleId = :vfModuleId, "; + queryString.append("vfModuleId = :vfModuleId, "); } if (volumeGroupId != null) { - queryString += "volumeGroupId = :volumeGroupId, "; + queryString.append("volumeGroupId = :volumeGroupId, "); } if (serviceInstanceName != null) { - queryString += "serviceInstanceName = :serviceInstanceName, "; + queryString.append("serviceInstanceName = :serviceInstanceName, "); } if (vfModuleName != null) { - queryString += "vfModuleName = :vfModuleName, "; + queryString.append("vfModuleName = :vfModuleName, "); } if (configurationId != null) { - queryString += "configurationId = :configurationId, "; + queryString.append("configurationId = :configurationId, "); } if (configurationName != null) { - queryString += "configurationName = :configurationName, "; + queryString.append("configurationName = :configurationName, "); } if (requestStatus == RequestStatusType.COMPLETE || requestStatus == RequestStatusType.FAILED) { - queryString += "endTime = :endTime, "; + queryString.append("endTime = :endTime, "); } else { - queryString += "modifyTime = :modifyTime, "; + queryString.append("modifyTime = :modifyTime, "); } - queryString += "lastModifiedBy = :lastModifiedBy where requestId = :requestId OR clientRequestId = :requestId"; + queryString.append("lastModifiedBy = :lastModifiedBy where requestId = :requestId OR clientRequestId = :requestId"); - logger.debug("Executing update: " + queryString); + logger.debug("Executing update: " + queryString.toString()); - Query query = session.createQuery (queryString); + Query query = session.createQuery (queryString.toString()); query.setParameter ("requestId", requestId); if (statusMessage != null) { query.setParameter ("statusMessage", statusMessage); diff --git a/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/client/adapter/requests/db/MsoRequestsDbAdapterClient.java b/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/client/adapter/requests/db/MsoRequestsDbAdapterClient.java index 109da17ea2..2443169151 100644 --- a/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/client/adapter/requests/db/MsoRequestsDbAdapterClient.java +++ b/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/client/adapter/requests/db/MsoRequestsDbAdapterClient.java @@ -51,7 +51,7 @@ public class MsoRequestsDbAdapterClient implements MsoRequestsDbAdapter { MsoLogger.setLogContext(request.getRequestId(), null);
try {
session.beginTransaction();
- String queryString = "update InfraActiveRequests set ";
+ StringBuilder queryString = new StringBuilder("update InfraActiveRequests set ");
String statusMessage = null;
String responseBody = null;
RequestStatusType requestStatus = null;
@@ -67,72 +67,72 @@ public class MsoRequestsDbAdapterClient implements MsoRequestsDbAdapter { String configurationId = null;
String configurationName = null;
if (request.getStatusMessage() != null) {
- queryString += "statusMessage = :statusMessage, ";
+ queryString.append("statusMessage = :statusMessage, ");
statusMessage = request.getStatusMessage();
}
if (request.getResponseBody() != null) {
- queryString += "responseBody = :responseBody, ";
+ queryString.append("responseBody = :responseBody, ");
responseBody = request.getResponseBody();
}
if (request.getRequestStatus() != null) {
- queryString += "requestStatus = :requestStatus, ";
+ queryString.append("requestStatus = :requestStatus, ");
requestStatus = request.getRequestStatus();
}
if (request.getProgress() != null) {
- queryString += "progress = :progress, ";
+ queryString.append("progress = :progress, ");
progress = request.getProgress();
}
if (request.getVnfOutputs() != null) {
- queryString += "vnfOutputs = :vnfOutputs, ";
+ queryString.append("vnfOutputs = :vnfOutputs, ");
vnfOutputs = request.getVnfOutputs();
}
if (request.getServiceInstanceId() != null) {
- queryString += "serviceInstanceId = :serviceInstanceId, ";
+ queryString.append("serviceInstanceId = :serviceInstanceId, ");
serviceInstanceId = request.getServiceInstanceId();
}
if (request.getNetworkId() != null) {
- queryString += "networkId = :networkId, ";
+ queryString.append("networkId = :networkId, ");
networkId = request.getNetworkId();
}
if (request.getVnfId() != null) {
- queryString += "vnfId = :vnfId, ";
+ queryString.append("vnfId = :vnfId, ");
vnfId = request.getVnfId();
}
if (request.getVfModuleId() != null) {
- queryString += "vfModuleId = :vfModuleId, ";
+ queryString.append("vfModuleId = :vfModuleId, ");
vfModuleId = request.getVfModuleId();
}
if (request.getVolumeGroupId() != null) {
- queryString += "volumeGroupId = :volumeGroupId, ";
+ queryString.append("volumeGroupId = :volumeGroupId, ");
volumeGroupId = request.getVolumeGroupId();
}
if (request.getServiceInstanceName() != null) {
- queryString += "serviceInstanceName = :serviceInstanceName, ";
+ queryString.append("serviceInstanceName = :serviceInstanceName, ");
serviceInstanceName = request.getServiceInstanceName();
}
if (request.getVfModuleName() != null) {
- queryString += "vfModuleName = :vfModuleName, ";
+ queryString.append("vfModuleName = :vfModuleName, ");
vfModuleName = request.getVfModuleName();
}
if (request.getConfigurationId() != null) {
- queryString += "configurationId = :configurationId, ";
+ queryString.append("configurationId = :configurationId, ");
configurationId = request.getConfigurationId();
}
if (request.getConfigurationName() != null) {
- queryString += "configurationName = :configurationName, ";
+ queryString.append("configurationName = :configurationName, ");
configurationName = request.getConfigurationName();
}
if (request.getRequestStatus() == RequestStatusType.COMPLETE
|| request.getRequestStatus() == RequestStatusType.FAILED) {
- queryString += "endTime = :endTime, ";
+ queryString.append("endTime = :endTime, ");
} else {
- queryString += "modifyTime = :modifyTime, ";
+ queryString.append("modifyTime = :modifyTime, ");
}
- queryString += "lastModifiedBy = :lastModifiedBy where requestId = :requestId OR clientRequestId = :requestId";
+ queryString.append("lastModifiedBy = :lastModifiedBy where requestId = :requestId OR clientRequestId = :requestId");
- LOGGER.debug("Executing update: " + queryString);
+ LOGGER.debug("Executing update: " + queryString.toString());
- Query query = session.createQuery(queryString);
+ Query query = session.createQuery(queryString.toString());
query.setParameter("requestId", request.getRequestId());
if (statusMessage != null) {
query.setParameter("statusMessage", statusMessage);
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateResources.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateResources.groovy new file mode 100644 index 0000000000..07f13767ba --- /dev/null +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoCreateResources.groovy @@ -0,0 +1,213 @@ +/*- + * ============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 java.util.ArrayList +import java.util.Iterator +import java.util.List +import javax.mail.Quota.Resource +import org.apache.commons.lang3.StringUtils +import org.apache.http.HttpResponse +import org.camunda.bpm.engine.delegate.DelegateExecution +import org.codehaus.groovy.runtime.ArrayUtil +import org.codehaus.groovy.runtime.ScriptBytecodeAdapter +import org.codehaus.groovy.runtime.callsite.CallSite +import org.codehaus.groovy.runtime.typehandling.DefaultTypeTransformation +import org.codehaus.groovy.runtime.typehandling.ShortTypeHandling +import org.json.JSONArray +import org.json.JSONObject +import org.openecomp.mso.bpmn.common.recipe.BpmnRestClient +import org.openecomp.mso.bpmn.common.recipe.ResourceInput +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.core.domain.AllottedResource +import org.openecomp.mso.bpmn.core.domain.NetworkResource +import org.openecomp.mso.bpmn.core.domain.VnfResource +import org.openecomp.mso.bpmn.core.json.JsonUtils + +/** + * This groovy class supports the <class>DoCreateResources.bpmn</class> process. + * + * Inputs: + * @param - msoRequestId + * @param - globalSubscriberId - O + * @param - subscriptionServiceType - O + * @param - serviceInstanceId + * @param - serviceInstanceName - O + * @param - serviceInputParams (should contain aic_zone for serviceTypes TRANSPORT,ATM) + * @param - sdncVersion + * + * @param - addResourceList + * + * Outputs: + * @param - WorkflowException + + */ +public class DoCreateResources extends AbstractServiceTaskProcessor +{ + ExceptionUtil exceptionUtil = new ExceptionUtil() + JsonUtils jsonUtil = new JsonUtils() + + public void preProcessRequest(DelegateExecution execution) + { + def isDebugEnabled = execution.getVariable("isDebugLogEnabled") + utils.log("INFO"," ***** preProcessRequest *****", isDebugEnabled) + String msg = "" + + List addResourceList = execution.getVariable("addResourceList") + if (addResourceList == null) + { + msg = "Input addResourceList is null" + utils.log("INFO", msg, isDebugEnabled) + exceptionUtil.buildAndThrowWorkflowException(execution, 500, msg) + } + else if (addResourceList.size() == 0) + { + msg = "No resource in addResourceList" + utils.log("INFO", msg, isDebugEnabled) + } + utils.log("INFO", " ***** Exit preProcessRequest *****", isDebugEnabled) + } + + public void sequenceResoure(Object execution) + { + def isDebugEnabled = execution.getVariable("isDebugLogEnabled") + utils.log("INFO", "======== Start sequenceResoure Process ======== ", isDebugEnabled) + + String serviceModelUUID = execution.getVariable("modelUuid") + + List<Resource> addResourceList = execution.getVariable("addResourceList") + + //we use VF to define a network service + List<VnfResource> vnfResourceList = new ArrayList<VnfResource>() + //here wan is defined as a network resource + List<NetworkResource> networkResourceList = new ArrayList<NetworkResource>() + //allotted resource + List<AllottedResource> arResourceList = new ArrayList<AllottedResource>() + + //define sequenced resource list, we deploy vf first and then network and then ar + //this is defaule sequence + List<Resource> sequencedResourceList = new ArrayList<Resource>() + for (Resource rc : addResourceList){ + if (rc instanceof VnfResource) { + vnfResourceList.add(rc) + } else if (rc instanceof NetworkResource) { + NetworkResource.add(rc) + } else if (rc instanceof AllottedResource) { + AllottedResource.add(rc) + } + } + sequencedResourceList.addAll(vnfResourceList) + sequencedResourceList.addAll(networkResourceList) + sequencedResourceList.addAll(arResourceList) + + String isContainsWanResource = networkResourceList.isEmpty() ? "false" : "true" + execution.setVariable("isContainsWanResource", isContainsWanResource) + execution.setVariable("currentResourceIndex", 0) + execution.setVariable("sequencedResourceList", sequencedResourceList) + utils.log("INFO", "sequencedResourceList: " + sequencedResourceList, isDebugEnabled) + utils.log("INFO", "======== COMPLETED sequenceResoure Process ======== ", isDebugEnabled) + } + + public void getCurrentResoure(execution){ + def isDebugEnabled=execution.getVariable("isDebugLogEnabled") + utils.log("INFO", "======== Start getCurrentResoure Process ======== ", isDebugEnabled) + def currentIndex = execution.getVariable("currentResourceIndex") + List<Resource> sequencedResourceList = execution.getVariable("sequencedResourceList") + Resource currentResource = sequencedResourceList.get(currentIndex) + utils.log("INFO", "Now we deal with resouce:" + currentResource.getModelInfo().getModelName(), isDebugEnabled) + utils.log("INFO", "======== COMPLETED getCurrentResoure Process ======== ", isDebugEnabled) + } + + public void parseNextResource(execution){ + def isDebugEnabled=execution.getVariable("isDebugLogEnabled") + utils.log("INFO", "======== Start parseNextResource Process ======== ", isDebugEnabled) + def currentIndex = execution.getVariable("currentResourceIndex") + def nextIndex = currentIndex + 1 + execution.setVariable("currentResourceIndex", nextIndex) + List<String> sequencedResourceList = execution.getVariable("sequencedResourceList") + if(nextIndex >= sequencedResourceList.size()){ + execution.setVariable("allResourceFinished", "true") + }else{ + execution.setVariable("allResourceFinished", "false") + } + utils.log("INFO", "======== COMPLETED parseNextResource Process ======== ", isDebugEnabled) + } + + public void prepareResourceRecipeRequest(execution){ + def isDebugEnabled=execution.getVariable("isDebugLogEnabled") + utils.log("INFO", "======== Start prepareResourceRecipeRequest Process ======== ", isDebugEnabled) + ResourceInput resourceInput = new ResourceInput() + String serviceInstanceName = execution.getVariable("serviceInstanceName") + String resourceInstanceName = resourceType + "_" + serviceInstanceName + resourceInput.setResourceInstanceName(resourceInstanceName) + utils.log("INFO", "Prepare Resource Request resourceInstanceName:" + resourceInstanceName, isDebugEnabled) + String globalSubscriberId = execution.getVariable("globalSubscriberId") + String serviceType = execution.getVariable("serviceType") + String serviceInstanceId = execution.getVariable("serviceInstanceId") + String operationId = execution.getVariable("operationId") + String operationType = execution.getVariable("operationType") + resourceInput.setGlobalSubscriberId(globalSubscriberId) + resourceInput.setServiceType(serviceType) + resourceInput.setServiceInstanceId(serviceInstanceId) + resourceInput.setOperationId(operationId) + resourceInput.setOperationType(operationType); + def currentIndex = execution.getVariable("currentResourceIndex") + List<Resource> sequencedResourceList = execution.getVariable("sequencedResourceList") + Resource currentResource = sequencedResourceList.get(currentIndex) + String resourceCustomizationUuid = currentResource.getModelInfo().getModelCustomizationUuid() + resourceInput.setResourceCustomizationUuid(resourceCustomizationUuid); + String resourceInvariantUuid = currentResource.getModelInfo().getModelInvariantUuid() + resourceInput.setResourceInvariantUuid(resourceInvariantUuid) + String resourceUuid = currentResource.getModelInfo().getModelUuid() + resourceInput.setResourceUuid(resourceUuid) + + String incomingRequest = execution.getVariable("uuiRequest") + //set the requestInputs from tempalte To Be Done + String serviceModelUuid = execution.getVariable("modelUuid") + String serviceParameters = jsonUtil.getJsonValue(incomingRequest, "service.parameters") + String resourceParameters = ResourceRequestBuilder.buildResourceRequestParameters(execution, serviceModelUuid, resourceCustomizationUuid, serviceParameters) + resourceInput.setResourceParameters(resourceParameters) + execution.setVariable("resourceInput", resourceInput) + utils.log("INFO", "======== COMPLETED prepareResourceRecipeRequest Process ======== ", isDebugEnabled) + } + + public void executeResourceRecipe(execution){ + def isDebugEnabled=execution.getVariable("isDebugLogEnabled") + utils.log("INFO", "======== Start executeResourceRecipe Process ======== ", isDebugEnabled) + String requestId = execution.getVariable("msoRequestId") + String serviceInstanceId = execution.getVariable("serviceInstanceId") + String serviceType = execution.getVariable("serviceType") + ResourceInput resourceInput = execution.getVariable("resourceInput") + String requestAction = resourceInput.getOperationType() + JSONObject resourceRecipe = cutils.getResourceRecipe(execution, resourceInput.getResourceUuid(), requestAction) + String recipeUri = resourceRecipe.getString("orchestrationUri") + String recipeTimeOut = resourceRecipe.getString("recipeTimeout") + String recipeParamXsd = resourceRecipe.get("paramXSD") + HttpResponse resp = BpmnRestClient.post(recipeUri, requestId, recipeTimeout, requestAction, serviceInstanceId, serviceType, resourceInput.toString(), recipeParamXsd) + + } + + public void postConfigRequest(execution){ + //now do noting + } +} diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteResources.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteResources.groovy new file mode 100644 index 0000000000..dc4ce6878a --- /dev/null +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoDeleteResources.groovy @@ -0,0 +1,325 @@ +/*- + * ============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 org.json.JSONArray; + +import static org.apache.commons.lang3.StringUtils.*; +import groovy.xml.XmlUtil +import groovy.json.* + +import org.openecomp.mso.bpmn.core.domain.ModelInfo +import org.openecomp.mso.bpmn.core.domain.Resource +import org.openecomp.mso.bpmn.core.domain.ServiceInstance +import org.openecomp.mso.bpmn.core.json.JsonUtils +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.rest.APIResponse; +import org.openecomp.mso.rest.RESTClient +import org.openecomp.mso.rest.RESTConfig + +import java.util.List; +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.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; + +/** + * This groovy class supports the <class>DoDeleteResources.bpmn</class> process. + * + * Inputs: + * @param - msoRequestId + * @param - globalSubscriberId - O + * @param - subscriptionServiceType - O + * @param - serviceInstanceId + * @param - serviceInstanceName - O + * @param - serviceInputParams (should contain aic_zone for serviceTypes TRANSPORT,ATM) + * @param - sdncVersion + * @param - failNotFound - TODO + * @param - serviceInputParams - TODO + * + * @param - delResourceList + * @param - serviceRelationShip + * + * Outputs: + * @param - WorkflowException + * + * Rollback - Deferred + */ +public class DoDeleteResources extends AbstractServiceTaskProcessor { + + String Prefix="DDELR_" + ExceptionUtil exceptionUtil = new ExceptionUtil() + JsonUtils jsonUtil = new JsonUtils() + + public void preProcessRequest (DelegateExecution execution) { + def isDebugEnabled = execution.getVariable("isDebugLogEnabled") + utils.log("INFO"," ***** preProcessRequest *****", isDebugEnabled) + String msg = "" + + List<ServiceInstance> realNSRessources = new ArrayList<ServiceInstance>() + + // related ns from AAI + String serviceRelationShip = execution.getVariable("serviceRelationShip") + def jsonSlurper = new JsonSlurper() + def jsonOutput = new JsonOutput() + List<String> nsSequence = new ArrayList<String>() + List relationShipList = jsonSlurper.parseText(serviceRelationShip) + if (relationShipList != null) { + relationShipList.each { + String resourceType = it.resourceType + nsSequence.add(resourceType) + } + } + + execution.setVariable("currentNSIndex", 0) + execution.setVariable("nsSequence", nsSequence) + execution.setVariable("realNSRessources", realNSRessources) + utils.log("INFO", "nsSequence: " + nsSequence, isDebugEnabled) + + utils.log("INFO"," ***** Exit preProcessRequest *****", isDebugEnabled) + } + + public void getCurrentNS(execution){ + def isDebugEnabled=execution.getVariable("isDebugLogEnabled") + utils.log("INFO", "======== Start getCurrentNS Process ======== ", isDebugEnabled) + + def currentIndex = execution.getVariable("currentNSIndex") + List<String> nsSequence = execution.getVariable("nsSequence") + String nsResourceType = nsSequence.get(currentIndex) + + // GET AAI by Name, not ID, for process convenient + execution.setVariable("GENGS_type", "service-instance") + execution.setVariable("GENGS_serviceInstanceId", "") + execution.setVariable("GENGS_serviceInstanceName", nsResourceType) + + utils.log("INFO", "======== COMPLETED getCurrentNS Process ======== ", isDebugEnabled) + } + + public void postProcessAAIGET(DelegateExecution execution) { + def isDebugEnabled=execution.getVariable("isDebugLogEnabled") + utils.log("INFO"," ***** postProcessAAIGET2 ***** ", isDebugEnabled) + String msg = "" + + try { + String nsResourceName = execution.getVariable("GENGS_serviceInstanceName") + boolean succInAAI = execution.getVariable("GENGS_SuccessIndicator") + if(!succInAAI){ + utils.log("INFO","Error getting Service-instance from AAI in postProcessAAIGET", + nsResourceName, isDebugEnabled) + WorkflowException workflowException = execution.getVariable("WorkflowException") + utils.logAudit("workflowException: " + workflowException) + if(workflowException != null){ + exceptionUtil.buildAndThrowWorkflowException(execution, workflowException.getErrorCode(), workflowException.getErrorMessage()) + } + else + { + msg = "Failure in postProcessAAIGET GENGS_SuccessIndicator:" + succInAAI + utils.log("INFO", msg, isDebugEnabled) + exceptionUtil.buildAndThrowWorkflowException(execution, 2500, msg) + } + } + else + { + boolean foundInAAI = execution.getVariable("GENGS_FoundIndicator") + if(foundInAAI){ + String aaiService = execution.getVariable("GENGS_service") + if (!isBlank(aaiService)) { + String svcId = utils.getNodeText1(aaiService, "service-instance-id") + //String mn = utils.getNodeText1(aaiService, "model-name") + String mIuuid = utils.getNodeText1(aaiService, "model-invariant-id") + String muuid = utils.getNodeText1(aaiService, "model-version-id") + String mCuuid = utils.getNodeText1(aaiService, "model-customization-uuid") + ServiceInstance rc = new ServiceInstance() + ModelInfo modelInfo = new ModelInfo() + //modelInfo.setModelName(mn) + modelInfo.setModelUuid(muuid) + modelInfo.setModelInvariantUuid(mIuuid) + modelInfo.getModelCustomizationUuid(mCuuid) + rc.setModelInfo(modelInfo) + rc.setInstanceId(svcId) + rc.setInstanceName(nsResourceName) + + List<ServiceInstance> realNSRessources = execution.getVariable("realNSRessources") + realNSRessources.add(rc) + execution.setVariable("realNSRessources", realNSRessources) + + utils.log("INFO","Found Service-instance in AAI.serviceInstanceName:" + execution.getVariable("serviceInstanceName"), isDebugEnabled) + } + } + } + } catch (BpmnError e) { + throw e; + } catch (Exception ex) { + msg = "Exception in DoDeleteResources.postProcessAAIGET " + ex.getMessage() + utils.log("INFO", msg, isDebugEnabled) + exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg) + } + utils.log("INFO"," *** Exit postProcessAAIGET *** ", isDebugEnabled) + } + + public void parseNextNS(execution){ + def isDebugEnabled=execution.getVariable("isDebugLogEnabled") + utils.log("INFO", "======== Start parseNextNS Process ======== ", isDebugEnabled) + def currentIndex = execution.getVariable("currentNSIndex") + def nextIndex = currentIndex + 1 + execution.setVariable("currentNSIndex", nextIndex) + List<String> nsSequence = execution.getVariable("nsSequence") + if(nextIndex >= nsSequence.size()){ + execution.setVariable("allNsFinished", "true") + }else{ + execution.setVariable("allNsFinished", "false") + } + utils.log("INFO", "======== COMPLETED parseNextNS Process ======== ", isDebugEnabled) + } + + + public void sequenceResource(execution){ + def isDebugEnabled = execution.getVariable("isDebugLogEnabled") + + utils.log("INFO", " ======== STARTED sequenceResource Process ======== ", isDebugEnabled) + List<String> nsResources = new ArrayList<String>() + List<String> wanResources = new ArrayList<String>() + List<String> resourceSequence = new ArrayList<String>() + + // get delete resource list and order list + List<Resource> delResourceList = execution.getVariable("delResourceList") + // existing resource list + List<ServiceInstance> existResourceList = execution.getVariable("realNSRessources") + + for(ServiceInstance rc_e : existResourceList){ + + String muuid = rc_e.getModelInfo().getModelUuid() + String mIuuid = rc_e.getModelInfo().getModelInvariantUuid() + String mCuuid = rc_e.getModelInfo().getModelCustomizationUuid() + rcType = rc_e.getInstanceName() + + for(Resource rc_d : delResourceList){ + + if(rc_d.getModelInfo().getModelUuid() == muuid + && rc_d.getModelInfo().getModelInvariantUuid() == mIuuid + && rc_d.getModelInfo().getModelCustomizationUuid() == mCuuid) { + + if(StringUtils.containsIgnoreCase(rcType, "overlay") + || StringUtils.containsIgnoreCase(rcType, "underlay")){ + wanResources.add(rcType) + }else{ + nsResources.add(rcType) + } + + } + } + + } + + resourceSequence.addAll(wanResources) + resourceSequence.addAll(nsResources) + String isContainsWanResource = wanResources.isEmpty() ? "false" : "true" + execution.setVariable("isContainsWanResource", isContainsWanResource) + execution.setVariable("currentResourceIndex", 0) + execution.setVariable("resourceSequence", resourceSequence) + utils.log("INFO", "resourceSequence: " + resourceSequence, isDebugEnabled) + execution.setVariable("wanResources", wanResources) + utils.log("INFO", " ======== END sequenceResource Process ======== ", isDebugEnabled) + } + + public void getCurrentResource(execution){ + def isDebugEnabled=execution.getVariable("isDebugLogEnabled") + utils.log("INFO", "======== Start getCurrentResoure Process ======== ", isDebugEnabled) + def currentIndex = execution.getVariable("currentResourceIndex") + List<String> resourceSequence = execution.getVariable("resourceSequence") + List<String> wanResources = execution.getVariable("wanResources") + String resourceName = resourceSequence.get(currentIndex) + execution.setVariable("resourceType",resourceName) + if(wanResources.contains(resourceName)){ + execution.setVariable("controllerInfo", "SDN-C") + }else{ + execution.setVariable("controllerInfo", "VF-C") + } + utils.log("INFO", "======== COMPLETED getCurrentResoure Process ======== ", isDebugEnabled) + } + + /** + * prepare delete parameters + */ + public void preResourceDelete(execution, resourceName){ + + def isDebugEnabled = execution.getVariable("isDebugLogEnabled") + + utils.log("INFO", " ======== STARTED preResourceDelete Process ======== ", isDebugEnabled) + + List<ServiceInstance> existResourceList = execution.getVariable("realNSRessources") + + for(ServiceInstance rc_e : existResourceList){ + + if(StringUtils.containsIgnoreCase(rc_e.getInstanceName(), resourceName)) { + + String resourceInstanceUUID = rc_e.getInstanceId() + String resourceTemplateUUID = rc_e.getModelInfo().getModelUuid() + execution.setVariable("resourceInstanceId", resourceInstanceUUID) + execution.setVariable("resourceTemplateId", resourceTemplateUUID) + execution.setVariable("resourceType", resourceName) + utils.log("INFO", "Delete Resource Info resourceTemplate Id :" + resourceTemplateUUID + " resourceInstanceId: " + + resourceInstanceUUID + " resourceType: " + resourceName, isDebugEnabled) + } + } + + utils.log("INFO", " ======== END preResourceDelete Process ======== ", isDebugEnabled) + } + + public void parseNextResource(execution){ + def isDebugEnabled=execution.getVariable("isDebugLogEnabled") + utils.log("INFO", "======== Start parseNextResource Process ======== ", isDebugEnabled) + def currentIndex = execution.getVariable("currentResourceIndex") + def nextIndex = currentIndex + 1 + execution.setVariable("currentResourceIndex", nextIndex) + List<String> resourceSequence = execution.getVariable("resourceSequence") + if(nextIndex >= resourceSequence.size()){ + execution.setVariable("allResourceFinished", "true") + }else{ + execution.setVariable("allResourceFinished", "false") + } + utils.log("INFO", "======== COMPLETED parseNextResource Process ======== ", isDebugEnabled) + } + + /** + * post config request. + */ + public void postConfigRequest(execution){ + //to do + } + +} +
\ No newline at end of file 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 index 0372d955b5..deea707a3e 100644 --- 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 @@ -534,7 +534,167 @@ public class DoUpdateE2EServiceInstance extends AbstractServiceTaskProcessor { public void postProcessForDeleteResource(DelegateExecution execution) {
def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
- }
+ }
+
+ public void preProcessAAIGET2(DelegateExecution execution) {
+ def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
+ }
+
+ public void postProcessAAIGET2(DelegateExecution execution) {
+ def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
+ utils.log("INFO"," ***** postProcessAAIGET2 ***** ", isDebugEnabled)
+ String msg = ""
+
+ try {
+ String serviceInstanceName = execution.getVariable("serviceInstanceName")
+ boolean succInAAI = execution.getVariable("GENGS_SuccessIndicator")
+ if(!succInAAI){
+ utils.log("INFO","Error getting Service-instance from AAI in postProcessAAIGET2", + serviceInstanceName, isDebugEnabled)
+ WorkflowException workflowException = execution.getVariable("WorkflowException")
+ utils.logAudit("workflowException: " + workflowException)
+ if(workflowException != null){
+ exceptionUtil.buildAndThrowWorkflowException(execution, workflowException.getErrorCode(), workflowException.getErrorMessage())
+ }
+ else
+ {
+ msg = "Failure in postProcessAAIGET2 GENGS_SuccessIndicator:" + succInAAI
+ utils.log("INFO", msg, isDebugEnabled)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 2500, msg)
+ }
+ }
+ else
+ {
+ boolean foundInAAI = execution.getVariable("GENGS_FoundIndicator")
+ if(foundInAAI){
+ String aaiService = execution.getVariable("GENGS_service")
+ if (!isBlank(aaiService) && (utils.nodeExists(aaiService, "resource-version"))) {
+ execution.setVariable("serviceInstanceVersion", utils.getNodeText1(aaiService, "resource-version"))
+ utils.log("INFO","Found Service-instance in AAI.serviceInstanceName:" + execution.getVariable("serviceInstanceName"), isDebugEnabled)
+ }
+ }
+ }
+ } catch (BpmnError e) {
+ throw e;
+ } catch (Exception ex) {
+ msg = "Exception in DoCreateServiceInstance.postProcessAAIGET2 " + ex.getMessage()
+ utils.log("INFO", msg, isDebugEnabled)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg)
+ }
+ utils.log("INFO"," *** Exit postProcessAAIGET2 *** ", isDebugEnabled)
+ }
+
+ public void preProcessAAIPUT(DelegateExecution execution) {
+ def method = getClass().getSimpleName() + '.preProcessRequest(' +'execution=' + execution.getId() +')'
+ def isDebugEnabled = execution.getVariable("isDebugLogEnabled")
+ utils.log("INFO","Entered " + method, isDebugEnabled)
+ String msg = ""
+ utils.log("INFO"," ***** preProcessAAIPUTt *****", isDebugEnabled)
+
+ String modelUuid = execution.getVariable("modelUuid")
+ String serviceInstanceVersion = execution.getVariable("serviceInstanceVersion")
+ execution.setVariable("GENPS_serviceResourceVersion", serviceInstanceVersion)
+
+ 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}\">
+ <model-version-id">${modelUuid}</model-version-id>
+ </service-instance>""".trim()
+
+ execution.setVariable("serviceInstanceData", serviceInstanceData)
+ utils.log("INFO","serviceInstanceData: " + serviceInstanceData, isDebugEnabled)
+ utils.logAudit(serviceInstanceData)
+ utils.log("INFO", " aai_uri " + aai_uri + " namespace:" + namespace, isDebugEnabled)
+ utils.log("INFO", " 'payload' to update Service Instance in AAI - " + "\n" + serviceInstanceData, isDebugEnabled)
+
+ utils.log("INFO", "Exited " + method, isDebugEnabled)
+ }
+
+ public void postProcessAAIPUT(DelegateExecution execution) {
+ def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
+ utils.log("INFO"," ***** postProcessAAIPUT ***** ", isDebugEnabled)
+ String msg = ""
+ try {
+ String serviceInstanceId = execution.getVariable("serviceInstanceId")
+ boolean succInAAI = execution.getVariable("GENPS_SuccessIndicator")
+ if(!succInAAI){
+ utils.log("INFO","Error putting Service-instance in AAI", + serviceInstanceId, isDebugEnabled)
+ WorkflowException workflowException = execution.getVariable("WorkflowException")
+ utils.logAudit("workflowException: " + workflowException)
+ if(workflowException != null){
+ exceptionUtil.buildAndThrowWorkflowException(execution, workflowException.getErrorCode(), workflowException.getErrorMessage())
+ }
+ }
+ else
+ {
+ //start rollback set up
+ RollbackData rollbackData = new RollbackData()
+ def disableRollback = execution.getVariable("disableRollback")
+ rollbackData.put("SERVICEINSTANCE", "disableRollback", disableRollback.toString())
+ rollbackData.put("SERVICEINSTANCE", "rollbackAAI", "true")
+ rollbackData.put("SERVICEINSTANCE", "serviceInstanceId", serviceInstanceId)
+ rollbackData.put("SERVICEINSTANCE", "subscriptionServiceType", execution.getVariable("subscriptionServiceType"))
+ rollbackData.put("SERVICEINSTANCE", "globalSubscriberId", execution.getVariable("globalSubscriberId"))
+ execution.setVariable("rollbackData", rollbackData)
+ }
+
+ } catch (BpmnError e) {
+ throw e;
+ } catch (Exception ex) {
+ msg = "Exception in DoCreateServiceInstance.postProcessAAIDEL. " + ex.getMessage()
+ utils.log("INFO", msg, isDebugEnabled)
+ exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg)
+ }
+ utils.log("INFO"," *** Exit postProcessAAIPUT *** ", isDebugEnabled)
+ }
+
+ public void preProcessRollback (DelegateExecution execution) {
+ def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
+ utils.log("INFO"," ***** preProcessRollback ***** ", isDebugEnabled)
+ try {
+
+ Object workflowException = execution.getVariable("WorkflowException");
+
+ if (workflowException instanceof WorkflowException) {
+ utils.log("INFO", "Prev workflowException: " + workflowException.getErrorMessage(), isDebugEnabled)
+ execution.setVariable("prevWorkflowException", workflowException);
+ //execution.setVariable("WorkflowException", null);
+ }
+ } catch (BpmnError e) {
+ utils.log("INFO", "BPMN Error during preProcessRollback", isDebugEnabled)
+ } catch(Exception ex) {
+ String msg = "Exception in preProcessRollback. " + ex.getMessage()
+ utils.log("INFO", msg, isDebugEnabled)
+ }
+ utils.log("INFO"," *** Exit preProcessRollback *** ", isDebugEnabled)
+ }
+
+ public void postProcessRollback (DelegateExecution execution) {
+ def isDebugEnabled=execution.getVariable("isDebugLogEnabled")
+ utils.log("INFO"," ***** postProcessRollback ***** ", isDebugEnabled)
+ String msg = ""
+ try {
+ Object workflowException = execution.getVariable("prevWorkflowException");
+ if (workflowException instanceof WorkflowException) {
+ utils.log("INFO", "Setting prevException to WorkflowException: ", isDebugEnabled)
+ execution.setVariable("WorkflowException", workflowException);
+ }
+ execution.setVariable("rollbackData", null)
+ } catch (BpmnError b) {
+ utils.log("INFO", "BPMN Error during postProcessRollback", isDebugEnabled)
+ throw b;
+ } catch(Exception ex) {
+ msg = "Exception in postProcessRollback. " + ex.getMessage()
+ utils.log("INFO", msg, isDebugEnabled)
+ }
+ utils.log("INFO"," *** Exit postProcessRollback *** ", isDebugEnabled)
+ }
+
public void postConfigRequest(execution){
//now do noting
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoUpdateE2EServiceInstanceRollback.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoUpdateE2EServiceInstanceRollback.groovy new file mode 100644 index 0000000000..2891855e8f --- /dev/null +++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoUpdateE2EServiceInstanceRollback.groovy @@ -0,0 +1,341 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP - SO + * ================================================================================ + * Copyright (C) 2018 Huawei Technologies Co., Ltd. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ +package org.openecomp.mso.bpmn.infrastructure.scripts + + +import static org.apache.commons.lang3.StringUtils.*; +import groovy.xml.XmlUtil +import groovy.json.* + +import org.openecomp.mso.bpmn.core.json.JsonUtils +import org.openecomp.mso.bpmn.common.scripts.AbstractServiceTaskProcessor +import org.openecomp.mso.bpmn.common.scripts.SDNCAdapterUtils +import org.openecomp.mso.bpmn.core.RollbackData +import org.openecomp.mso.bpmn.core.WorkflowException +import org.openecomp.mso.rest.APIResponse; +import org.openecomp.mso.rest.RESTClient +import org.openecomp.mso.rest.RESTConfig + +import java.util.UUID; + +import org.camunda.bpm.engine.delegate.BpmnError +import org.camunda.bpm.engine.delegate.DelegateExecution +import org.json.JSONObject; +import org.apache.commons.lang3.* +import org.apache.commons.codec.binary.Base64; +import org.springframework.web.util.UriUtils; +/** + * This groovy class supports the <class>DoUpdateE2EServiceInstanceRollback.bpmn</class> process. + * + * Inputs: + * @param - msoRequestId + * @param - rollbackData with + * globalCustomerId + * subscriptionServiceType + * serviceInstanceId + * disableRollback + * rollbackAAI + * rollbackAdded + * rollbackDeleted + * + * + * Outputs: + * @param - rollbackError + * @param - rolledBack (no localRB->null, localRB F->false, localRB S->true) + * + */ +public class DoUpdateE2EServiceInstanceRollback extends AbstractServiceTaskProcessor{ + + String Prefix="DUPDSIRB_" + + public void preProcessRequest(DelegateExecution execution) { + def isDebugEnabled = execution.getVariable("isDebugLogEnabled") + execution.setVariable("prefix",Prefix) + String msg = "" + utils.log("DEBUG"," ***** preProcessRequest *****", isDebugEnabled) + execution.setVariable("rollbackAAI",false) + execution.setVariable("rollbackAdded",false) + execution.setVariable("rollbackDeleted",false) + + List addResourceList = execution.getVariable("addResourceList") + List delResourceList = execution.getVariable("delResourceList") + execution.setVariable("addResourceList_o", addResourceList) + execution.setVariable("addResourceList", delResourceList) + execution.setVariable("delResourceList_o", delResourceList) + execution.setVariable("delResourceList", addResourceList) + + try { + def rollbackData = execution.getVariable("rollbackData") + utils.log("DEBUG", "RollbackData:" + rollbackData, isDebugEnabled) + + if (rollbackData != null) { + if (rollbackData.hasType("SERVICEINSTANCE")) { + + def serviceInstanceId = rollbackData.get("SERVICEINSTANCE", "serviceInstanceId") + execution.setVariable("serviceInstanceId", serviceInstanceId) + + def subscriptionServiceType = rollbackData.get("SERVICEINSTANCE", "subscriptionServiceType") + execution.setVariable("subscriptionServiceType", subscriptionServiceType) + + def globalSubscriberId = rollbackData.get("SERVICEINSTANCE", "globalSubscriberId") + execution.setVariable("globalSubscriberId", globalSubscriberId) + + def rollbackAAI = rollbackData.get("SERVICEINSTANCE", "rollbackAAI") + if ("true".equals(rollbackAAI)) + { + execution.setVariable("rollbackAAI",true) + } + + def rollbackAdded = rollbackData.get("SERVICEINSTANCE", "rollbackAdded") + if ("true".equals(rollbackAdded)) + { + execution.setVariable("rollbackAdded", true) + } + + def rollbackDeleted = rollbackData.get("SERVICEINSTANCE", "rollbackDeleted") + if ("true".equals(rollbackDeleted)) + { + execution.setVariable("rollbackDeleted", true) + } + + if (execution.getVariable("rollbackAAI") != true && execution.getVariable("rollbackAdded") != true + && execution.getVariable("rollbackDeleted") != true) + { + execution.setVariable("skipRollback", true) + } + + } + else { + execution.setVariable("skipRollback", true) + } + } + else { + execution.setVariable("skipRollback", true) + } + if (execution.getVariable("disableRollback").equals("true" )) + { + execution.setVariable("skipRollback", true) + } + + } catch (BpmnError e) { + throw e; + } catch (Exception ex){ + msg = "Exception in Update ServiceInstance Rollback preProcessRequest " + ex.getMessage() + utils.log("DEBUG", msg, isDebugEnabled) + exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg) + } + utils.log("DEBUG"," ***** Exit preProcessRequest *****", isDebugEnabled) + } + + public void postProcessRequest(DelegateExecution execution) { + def isDebugEnabled=execution.getVariable("isDebugLogEnabled") + utils.log("DEBUG"," ***** postProcessRequest ***** ", isDebugEnabled) + String msg = "" + try { + execution.setVariable("rollbackData", null) + String serviceInstanceId = execution.getVariable("serviceInstanceId") + boolean rollbackAAI = execution.getVariable("rollbackAAI") + boolean rollbackAdded = execution.getVariable("rollbackAdded") + boolean rollbackDeleted = execution.getVariable("rollbackDeleted") + + List addResourceList = execution.getVariable("addResourceList_o") + List delResourceList = execution.getVariable("delResourceList_o") + execution.setVariable("addResourceList", addResourceList) + execution.setVariable("delResourceList", delResourceList) + + if (rollbackAAI || rollbackAdded || rollbackDeleted) + { + execution.setVariable("rolledBack", true) + } + if (rollbackAAI) + { + boolean succInAAI = execution.getVariable("GENDS_SuccessIndicator") + if(!succInAAI){ + execution.setVariable("rolledBack", false) //both sdnc and aai must be successful to declare rollback Succesful + execution.setVariable("rollbackError", "Error deleting service-instance in AAI for rollback") + utils.log("DEBUG","Error deleting service-instance in AAI for rollback", + serviceInstanceId, isDebugEnabled) + } + } + utils.log("DEBUG","*** Exit postProcessRequest ***", isDebugEnabled) + + } catch (BpmnError e) { + msg = "Exception in Create ServiceInstance Rollback postProcessRequest. " + e.getMessage() + utils.log("DEBUG", msg, isDebugEnabled) + } catch (Exception ex) { + msg = "Exception in Create ServiceInstance Rollback postProcessRequest. " + ex.getMessage() + utils.log("DEBUG", msg, isDebugEnabled) + } + } + + + public void preProcessForAddResource(DelegateExecution execution) { + def isDebugEnabled=execution.getVariable("isDebugLogEnabled") + } + + public void postProcessForAddResource(DelegateExecution execution) { + def isDebugEnabled=execution.getVariable("isDebugLogEnabled") + + } + + public void preProcessForDeleteResource(DelegateExecution execution) { + def isDebugEnabled=execution.getVariable("isDebugLogEnabled") + + } + + public void postProcessForDeleteResource(DelegateExecution execution) { + def isDebugEnabled=execution.getVariable("isDebugLogEnabled") + + } + + public void preProcessAAIGET2(DelegateExecution execution) { + def isDebugEnabled=execution.getVariable("isDebugLogEnabled") + } + + public void postProcessAAIGET(DelegateExecution execution) { + def isDebugEnabled=execution.getVariable("isDebugLogEnabled") + utils.log("INFO"," ***** postProcessAAIGET ***** ", isDebugEnabled) + String msg = "" + + try { + String serviceInstanceName = execution.getVariable("serviceInstanceName") + boolean succInAAI = execution.getVariable("GENGS_SuccessIndicator") + if(!succInAAI){ + utils.log("INFO","Error getting Service-instance from AAI in postProcessAAIGET", + serviceInstanceName, isDebugEnabled) + WorkflowException workflowException = execution.getVariable("WorkflowException") + utils.logAudit("workflowException: " + workflowException) + if(workflowException != null){ + exceptionUtil.buildAndThrowWorkflowException(execution, workflowException.getErrorCode(), workflowException.getErrorMessage()) + } + else + { + msg = "Failure in postProcessAAIGET GENGS_SuccessIndicator:" + succInAAI + utils.log("INFO", msg, isDebugEnabled) + exceptionUtil.buildAndThrowWorkflowException(execution, 2500, msg) + } + } + else + { + boolean foundInAAI = execution.getVariable("GENGS_FoundIndicator") + if(foundInAAI){ + String aaiService = execution.getVariable("GENGS_service") + if (!isBlank(aaiService) && (utils.nodeExists(aaiService, "resource-version"))) { + execution.setVariable("serviceInstanceVersion_n", utils.getNodeText1(aaiService, "resource-version")) + utils.log("INFO","Found Service-instance in AAI.serviceInstanceName:" + execution.getVariable("serviceInstanceName"), isDebugEnabled) + } + } + } + } catch (BpmnError e) { + throw e; + } catch (Exception ex) { + msg = "Exception in DoCreateServiceInstance.postProcessAAIGET " + ex.getMessage() + utils.log("INFO", msg, isDebugEnabled) + exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg) + } + utils.log("INFO"," *** Exit postProcessAAIGET *** ", isDebugEnabled) + } + + public void preProcessAAIPUT(DelegateExecution execution) { + def method = getClass().getSimpleName() + '.preProcessRequest(' +'execution=' + execution.getId() +')' + def isDebugEnabled = execution.getVariable("isDebugLogEnabled") + utils.log("INFO","Entered " + method, isDebugEnabled) + String msg = "" + utils.log("INFO"," ***** preProcessAAIPUT *****", isDebugEnabled) + + String modelUuid = execution.getVariable("model-version-id-original") + String serviceInstanceVersion = execution.getVariable("serviceInstanceVersion_n") + execution.setVariable("GENPS_serviceResourceVersion", serviceInstanceVersion) + + String serviceInstanceData = + """<service-instance xmlns=\"${namespace}\"> + <resource-version">${serviceInstanceVersion}</resource-version> + </service-instance>""".trim() + + execution.setVariable("serviceInstanceData", serviceInstanceData) + utils.log("INFO","serviceInstanceData: " + serviceInstanceData, isDebugEnabled) + utils.logAudit(serviceInstanceData) + utils.log("INFO", " aai_uri " + aai_uri + " namespace:" + namespace, isDebugEnabled) + utils.log("INFO", " 'payload' to update Service Instance in AAI - " + "\n" + serviceInstanceData, isDebugEnabled) + + utils.log("INFO", "Exited " + method, isDebugEnabled) + } + + public void postProcessAAIPUT(DelegateExecution execution) { + def isDebugEnabled=execution.getVariable("isDebugLogEnabled") + utils.log("INFO"," ***** postProcessAAIPUT ***** ", isDebugEnabled) + String msg = "" + try { + String serviceInstanceId = execution.getVariable("serviceInstanceId") + boolean succInAAI = execution.getVariable("GENPS_SuccessIndicator") + if(!succInAAI){ + utils.log("INFO","Error putting Service-instance in AAI", + serviceInstanceId, isDebugEnabled) + WorkflowException workflowException = execution.getVariable("WorkflowException") + utils.logAudit("workflowException: " + workflowException) + if(workflowException != null){ + exceptionUtil.buildAndThrowWorkflowException(execution, workflowException.getErrorCode(), workflowException.getErrorMessage()) + } + } + else + { + + } + + } catch (BpmnError e) { + throw e; + } catch (Exception ex) { + msg = "Exception in DoCreateServiceInstance.postProcessAAIDEL. " + ex.getMessage() + utils.log("INFO", msg, isDebugEnabled) + exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg) + } + utils.log("INFO"," *** Exit postProcessAAIPUT *** ", isDebugEnabled) + } + + public void processRollbackException(DelegateExecution execution){ + def isDebugEnabled=execution.getVariable("isDebugLogEnabled") + utils.log("DEBUG"," ***** processRollbackException ***** ", isDebugEnabled) + try{ + utils.log("DEBUG", "Caught an Exception in DoCreateServiceInstanceRollback", isDebugEnabled) + execution.setVariable("rollbackData", null) + execution.setVariable("rollbackError", "Caught exception in ServiceInstance Update Rollback") + execution.setVariable("WorkflowException", null) + + }catch(BpmnError b){ + utils.log("DEBUG", "BPMN Error during processRollbackExceptions Method: ", isDebugEnabled) + }catch(Exception e){ + utils.log("DEBUG", "Caught Exception during processRollbackExceptions Method: " + e.getMessage(), isDebugEnabled) + } + + utils.log("DEBUG", " Exit processRollbackException", isDebugEnabled) + } + + public void processRollbackJavaException(DelegateExecution execution){ + def isDebugEnabled=execution.getVariable("isDebugLogEnabled") + utils.log("DEBUG"," ***** processRollbackJavaException ***** ", isDebugEnabled) + try{ + execution.setVariable("rollbackData", null) + execution.setVariable("rollbackError", "Caught Java exception in ServiceInstance Update Rollback") + utils.log("DEBUG", "Caught Exception in processRollbackJavaException", isDebugEnabled) + + }catch(Exception e){ + utils.log("DEBUG", "Caught Exception in processRollbackJavaException " + e.getMessage(), isDebugEnabled) + } + utils.log("DEBUG", "***** Exit processRollbackJavaException *****", isDebugEnabled) + } + +} diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoUpdateE2EServiceInstance.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoUpdateE2EServiceInstance.bpmn index 75f6b4c8f8..53450fcb8e 100644 --- a/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoUpdateE2EServiceInstance.bpmn +++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/subprocess/DoUpdateE2EServiceInstance.bpmn @@ -16,7 +16,7 @@ dcsi.preProcessRequest(execution) <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:outgoing>SequenceFlow_167wc99</bpmn2:outgoing> <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* def dcsi = new DoUpdateE2EServiceInstance() dcsi.postProcessAAIGET(execution)]]></bpmn2:script> @@ -46,14 +46,14 @@ csi.preProcessForAddResource(execution)]]></bpmn2:script> </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:outgoing>SequenceFlow_1nqfgvs</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:outgoing>SequenceFlow_1ryg78h</bpmn2:outgoing> <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* def csi = new DoUpdateE2EServiceInstance() csi.postConfigRequest(execution)]]></bpmn2:script> @@ -66,30 +66,11 @@ csi.postConfigRequest(execution)]]></bpmn2:script> <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:scriptTask id="ScriptTask_1wk7zcu" name="Prepare Update Service Oper Status(90%)" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_1uu6uiu</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") +execution.setVariable("progress", "90") def ddsi = new DoUpdateE2EServiceInstance() ddsi.preUpdateServiceOperationStatus(execution)]]></bpmn2:script> </bpmn2:scriptTask> @@ -118,7 +99,7 @@ ddsi.preUpdateServiceOperationStatus(execution)]]></bpmn2:script> <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:incoming>SequenceFlow_167wc99</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_0aylb6e</bpmn2:outgoing> <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* def ddsi = new DoUpdateE2EServiceInstance() @@ -151,7 +132,6 @@ ddsi.preInitResourcesOperStatus(execution)]]></bpmn2:script> <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> @@ -177,7 +157,7 @@ csi.preProcessForDeleteResource(execution)]]></bpmn2:script> </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:outgoing>SequenceFlow_1uu6uiu</bpmn2:outgoing> <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* def csi = new DoUpdateE2EServiceInstance() csi.postProcessForDeleteResource(execution)]]></bpmn2:script> @@ -186,32 +166,9 @@ csi.postProcessForDeleteResource(execution)]]></bpmn2:script> <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> @@ -233,19 +190,10 @@ ddsi.preCompareModelVersions(execution)]]></bpmn2:script> <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" /> @@ -262,7 +210,6 @@ ddsi.preCompareModelVersions(execution)]]></bpmn2:script> <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> @@ -271,16 +218,8 @@ 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:incoming>SequenceFlow_0l4gosl</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_0r6c0ci</bpmn2:outgoing> <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* execution.setVariable("progress", "10") @@ -311,26 +250,20 @@ ddsi.preUpdateServiceOperationStatus(execution)]]></bpmn2:script> </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:outgoing>SequenceFlow_1sgsysh</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:intermediateThrowEvent id="IntermediateThrowEvent_0vneaao" name="GoTo StartDeleteResources"> <bpmn2:incoming>SequenceFlow_0s57qft</bpmn2:incoming> - <bpmn2:linkEventDefinition name="StartCompareModelVersions" /> + <bpmn2:linkEventDefinition name="StartDeleteResources" /> </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:incoming>SequenceFlow_1nqfgvs</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_1fa1yjd</bpmn2:outgoing> <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* execution.setVariable("progress", "60") def ddsi = new DoUpdateE2EServiceInstance() @@ -355,7 +288,7 @@ ddsi.preUpdateServiceOperationStatus(execution)]]></bpmn2:script> <camunda:connectorId>http-connector</camunda:connectorId> </camunda:connector> </bpmn2:extensionElements> - <bpmn2:incoming>SequenceFlow_07l3twh</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_1fa1yjd</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_1eg944u</bpmn2:outgoing> </bpmn2:serviceTask> <bpmn2:scriptTask id="ScriptTask_0iq531p" name="Post Resource Oper Status" scriptFormat="groovy"> @@ -366,39 +299,213 @@ 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:callActivity id="CallActivity_1nm9zq7" name="Call Custom E2E Put Service" calledElement="CustomE2EPutService"> + <bpmn2:extensionElements> + <camunda:in source="globalSubscriberId" target="GENPS_globalSubscriberId" /> + <camunda:in source="serviceInstanceId" target="GENPS_serviceInstanceId" /> + <camunda:in source="serviceType" target="GENPS_serviceType" /> + <camunda:in sourceExpression="service-instance" target="GENPS_type" /> + <camunda:in source="serviceInstanceData" target="GENPS_payload" /> + <camunda:out source="GENPS_SuccessIndicator" target="GENPS_SuccessIndicator" /> + <camunda:in source="msoRequestId" target="GENPS_requesId" /> + <camunda:out source="WorkflowException" target="WorkflowException" /> + </bpmn2:extensionElements> + <bpmn2:incoming>SequenceFlow_1kx5ke9</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_0f76thv</bpmn2:outgoing> + </bpmn2:callActivity> + <bpmn2:scriptTask id="ScriptTask_0xtabf8" name="Post Process AAI PUT" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_0f76thv</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_0x0mhlj</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def ddsi = new DoUpdateE2EServiceInstance() +ddsi.postProcessAAIPUT(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:intermediateCatchEvent id="IntermediateCatchEvent_0a9bdjw" name="UpdateAAI"> + <bpmn2:outgoing>SequenceFlow_1demy08</bpmn2:outgoing> + <bpmn2:linkEventDefinition name="UpdateAAI" /> + </bpmn2:intermediateCatchEvent> + <bpmn2:sequenceFlow id="SequenceFlow_1demy08" sourceRef="IntermediateCatchEvent_0a9bdjw" targetRef="ScriptTask_195nptq" /> + <bpmn2:sequenceFlow id="SequenceFlow_0f76thv" sourceRef="CallActivity_1nm9zq7" targetRef="ScriptTask_0xtabf8" /> + <bpmn2:scriptTask id="ScriptTask_19v8l1w" name="Post Config Service Instance Update" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_0h3kdi2</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_07aa121</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="IntermediateCatchEvent_0z04o3s" name="FinishProcess"> + <bpmn2:outgoing>SequenceFlow_0ku36oy</bpmn2:outgoing> + <bpmn2:linkEventDefinition name="FinishProcess" /> + </bpmn2:intermediateCatchEvent> + <bpmn2:endEvent id="EndEvent_0exzmfn"> + <bpmn2:incoming>SequenceFlow_07aa121</bpmn2:incoming> + </bpmn2:endEvent> + <bpmn2:scriptTask id="ScriptTask_0jsblrq" name="Prepare Update Service Oper Status(100%)" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_0ku36oy</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_0mwh16g</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_1ydxyw0" 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_0mwh16g</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_0h3kdi2</bpmn2:outgoing> + </bpmn2:serviceTask> + <bpmn2:sequenceFlow id="SequenceFlow_0h3kdi2" sourceRef="ServiceTask_1ydxyw0" targetRef="ScriptTask_19v8l1w" /> + <bpmn2:sequenceFlow id="SequenceFlow_07aa121" sourceRef="ScriptTask_19v8l1w" targetRef="EndEvent_0exzmfn" /> + <bpmn2:sequenceFlow id="SequenceFlow_0ku36oy" sourceRef="IntermediateCatchEvent_0z04o3s" targetRef="ScriptTask_0jsblrq" /> + <bpmn2:sequenceFlow id="SequenceFlow_0mwh16g" sourceRef="ScriptTask_0jsblrq" targetRef="ServiceTask_1ydxyw0" /> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_06lo96a" name="GoTo UpdateAAI"> + <bpmn2:incoming>SequenceFlow_1ryg78h</bpmn2:incoming> + <bpmn2:linkEventDefinition name="UpdateAAI" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:sequenceFlow id="SequenceFlow_1ryg78h" sourceRef="ScriptTask_04rn9mp" targetRef="IntermediateThrowEvent_06lo96a" /> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_0hucdtk" name="GoTo FinishProcess"> + <bpmn2:incoming>SequenceFlow_0x0mhlj</bpmn2:incoming> + <bpmn2:linkEventDefinition name="FinishProcess" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:sequenceFlow id="SequenceFlow_0x0mhlj" sourceRef="ScriptTask_0xtabf8" targetRef="IntermediateThrowEvent_0hucdtk" /> + <bpmn2:sequenceFlow id="SequenceFlow_167wc99" sourceRef="ScriptTask_0i8cqdy_PostProcessAAIGET" targetRef="ScriptTask_1pwo0jp" /> + <bpmn2:intermediateThrowEvent id="IntermediateThrowEvent_09ur9ds" name="GoTo StartAddResources"> + <bpmn2:incoming>SequenceFlow_1sgsysh</bpmn2:incoming> + <bpmn2:linkEventDefinition name="StartAddResource" /> + </bpmn2:intermediateThrowEvent> + <bpmn2:sequenceFlow id="SequenceFlow_0l4gosl" sourceRef="ScriptTask_0wl77h6" targetRef="ScriptTask_0acnvkp" /> + <bpmn2:sequenceFlow id="SequenceFlow_1sgsysh" sourceRef="ScriptTask_0r74c3c" targetRef="IntermediateThrowEvent_09ur9ds" /> + <bpmn2:sequenceFlow id="SequenceFlow_1fa1yjd" sourceRef="ScriptTask_1na4qzo" targetRef="ServiceTask_0c13nyt" /> + <bpmn2:sequenceFlow id="SequenceFlow_1nqfgvs" sourceRef="Task_0ag30bf" targetRef="ScriptTask_1na4qzo" /> + <bpmn2:sequenceFlow id="SequenceFlow_1uu6uiu" sourceRef="ScriptTask_00wgfrc" targetRef="ScriptTask_1wk7zcu" /> + <bpmn2:subProcess id="SubProcess_0jo0nms" name="Sub-process for Application Errors" triggeredByEvent="true"> + <bpmn2:startEvent id="StartEvent_06768u3"> + <bpmn2:outgoing>SequenceFlow_05j3sat</bpmn2:outgoing> + <bpmn2:errorEventDefinition /> + </bpmn2:startEvent> + <bpmn2:endEvent id="EndEvent_014jyvb"> + <bpmn2:incoming>SequenceFlow_02znk15</bpmn2:incoming> + </bpmn2:endEvent> + <bpmn2:callActivity id="CallActivity_1lu6rx0" name="Call DoUpdateE2EServiceInstanceRollback" calledElement="DoUpdateE2EServiceInstanceRollback"> + <bpmn2:extensionElements> + <camunda:in source="msoRequestId" target="mso-request-id" /> + <camunda:in source="rollbackData" target="rollbackData" /> + <camunda:out source="rolledBack" target="rolledBack" /> + <camunda:in source="disableRollback" target="disableRollback" /> + <camunda:out source="rollbackError" target="rollbackErrror" /> + </bpmn2:extensionElements> + <bpmn2:incoming>SequenceFlow_19ly8h7</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_0jsdqmq</bpmn2:outgoing> + </bpmn2:callActivity> + <bpmn2:scriptTask id="ScriptTask_1awrp72" name="Pre Process Rollback" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_05j3sat</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_19ly8h7</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def dcsi = new DoCreateResources()
+dcsi.preProcessRollback(execution)
+]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:scriptTask id="ScriptTask_0vc9jgo" name="Post Process Rollback" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_0jsdqmq</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_02znk15</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.*
+def dcsi = new DoCreateResources()
+dcsi.postProcessRollback(execution)
+]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_05j3sat" sourceRef="StartEvent_06768u3" targetRef="ScriptTask_1awrp72" /> + <bpmn2:sequenceFlow id="SequenceFlow_02znk15" sourceRef="ScriptTask_0vc9jgo" targetRef="EndEvent_014jyvb" /> + <bpmn2:sequenceFlow id="SequenceFlow_19ly8h7" sourceRef="ScriptTask_1awrp72" targetRef="CallActivity_1lu6rx0" /> + <bpmn2:sequenceFlow id="SequenceFlow_0jsdqmq" sourceRef="CallActivity_1lu6rx0" targetRef="ScriptTask_0vc9jgo" /> + </bpmn2:subProcess> + <bpmn2:scriptTask id="ScriptTask_195nptq" name="Pre Process AAI GET 2" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_1demy08</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_1cy5gq2</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def dcsi = new DoUpdateE2EServiceInstance() +dcsi.preProcessAAIGET2(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_1cy5gq2" sourceRef="ScriptTask_195nptq" targetRef="CallActivity_069o6fn" /> + <bpmn2:callActivity id="CallActivity_069o6fn" 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_1cy5gq2</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_1vy856f</bpmn2:outgoing> + </bpmn2:callActivity> + <bpmn2:scriptTask id="ScriptTask_0lp9y03" name="Post Process AAI GET 2" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_1vy856f</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_14ggluy</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def dcsi = new DoUpdateE2EServiceInstance() +dcsi.postProcessAAIGET2(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_1vy856f" sourceRef="CallActivity_069o6fn" targetRef="ScriptTask_0lp9y03" /> + <bpmn2:sequenceFlow id="SequenceFlow_14ggluy" sourceRef="ScriptTask_0lp9y03" targetRef="ScriptTask_0sis7k0" /> + <bpmn2:scriptTask id="ScriptTask_0sis7k0" name="Pre Process AAI PUT" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_14ggluy</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_1kx5ke9</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.infrastructure.scripts.* +def dcsi = new DoUpdateE2EServiceInstance() +dcsi.preProcessAAIPUT(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_1kx5ke9" sourceRef="ScriptTask_0sis7k0" targetRef="CallActivity_1nm9zq7" /> </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" /> + <dc:Bounds x="74" y="404" width="36" height="36" /> <bpmndi:BPMNLabel> - <dc:Bounds x="-20" y="375" width="50" height="12" /> + <dc:Bounds x="68" y="445" 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" /> + <dc:Bounds x="293" y="382" 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" /> + <di:waypoint xsi:type="dc:Point" x="110" y="422" /> + <di:waypoint xsi:type="dc:Point" x="293" y="422" /> <bpmndi:BPMNLabel> - <dc:Bounds x="112.5" y="337" width="90" height="0" /> + <dc:Bounds x="156.5" y="407" 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" /> + <di:waypoint xsi:type="dc:Point" x="393" y="422" /> + <di:waypoint xsi:type="dc:Point" x="581" y="420" /> <bpmndi:BPMNLabel> - <dc:Bounds x="446" y="337" width="90" height="0" /> + <dc:Bounds x="442" y="406" 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" /> + <dc:Bounds x="858" y="382" 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" /> @@ -410,114 +517,69 @@ dcsi.postResourcesOperStatus(execution)]]></bpmn2:script> <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" /> + <dc:Bounds x="1675" y="1081" 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" /> + <dc:Bounds x="74" y="850" width="36" height="36" /> <bpmndi:BPMNLabel> - <dc:Bounds x="-38" y="895" width="84" height="24" /> + <dc:Bounds x="50" 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" /> + <dc:Bounds x="1951" y="404" width="36" height="36" /> <bpmndi:BPMNLabel> - <dc:Bounds x="-31" y="1270" width="70" height="12" /> + <dc:Bounds x="1925" y="444" width="90" height="24" /> </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" /> + <dc:Bounds x="1152" y="1081" 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" /> + <dc:Bounds x="1421" y="1081" 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" /> + <di:waypoint xsi:type="dc:Point" x="1252" y="1121" /> + <di:waypoint xsi:type="dc:Point" x="1421" y="1121" /> <bpmndi:BPMNLabel> - <dc:Bounds x="441" y="1227" width="90" height="12" /> + <dc:Bounds x="1291.5" y="1100" 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" /> + <di:waypoint xsi:type="dc:Point" x="1521" y="1121" /> + <di:waypoint xsi:type="dc:Point" x="1675" y="1121" /> <bpmndi:BPMNLabel> - <dc:Bounds x="728.5" y="1227" width="90" height="12" /> + <dc:Bounds x="1553" y="1100" 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" /> + <dc:Bounds x="1152" y="382" 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" /> + <di:waypoint xsi:type="dc:Point" x="1252" y="422" /> + <di:waypoint xsi:type="dc:Point" x="1337" y="422" /> + <di:waypoint xsi:type="dc:Point" x="1337" y="422" /> + <di:waypoint xsi:type="dc:Point" x="1421" y="422" /> <bpmndi:BPMNLabel> - <dc:Bounds x="522" y="485" width="90" height="12" /> + <dc:Bounds x="1307" y="416" 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" /> + <dc:Bounds x="1421" y="382" 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" /> + <di:waypoint xsi:type="dc:Point" x="1521" y="422" /> + <di:waypoint xsi:type="dc:Point" x="1598" y="422" /> + <di:waypoint xsi:type="dc:Point" x="1598" y="422" /> + <di:waypoint xsi:type="dc:Point" x="1675" y="422" /> <bpmndi:BPMNLabel> - <dc:Bounds x="728.5" y="470" width="90" height="12" /> + <dc:Bounds x="1568" y="416" 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="110" 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" /> + <dc:Bounds x="156.5" y="847" width="90" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_0yztz2p_di" bpmnElement="SequenceFlow_0yztz2p"> @@ -534,13 +596,6 @@ dcsi.postResourcesOperStatus(execution)]]></bpmn2:script> <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> @@ -551,22 +606,18 @@ dcsi.postResourcesOperStatus(execution)]]></bpmn2:script> <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" /> + <dc:Bounds x="74" 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" /> + <dc:Bounds x="50" y="1143" width="86" 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="110" y="1121" /> + <di:waypoint xsi:type="dc:Point" x="202" y="1121" /> + <di:waypoint xsi:type="dc:Point" x="202" 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" /> + <dc:Bounds x="172" y="1115" width="90" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_14rubz2_di" bpmnElement="SequenceFlow_14rubz2"> @@ -583,47 +634,13 @@ dcsi.postResourcesOperStatus(execution)]]></bpmn2:script> <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" /> + <dc:Bounds x="74" y="622" width="36" height="36" /> <bpmndi:BPMNLabel> - <dc:Bounds x="-38" y="684" width="89" height="24" /> + <dc:Bounds x="50" y="684" width="89" height="24" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="ScriptTask_1afvv50_di" bpmnElement="ScriptTask_1afvv50"> @@ -639,10 +656,10 @@ dcsi.postResourcesOperStatus(execution)]]></bpmn2:script> </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="110" 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" /> + <dc:Bounds x="156.5" y="619" width="90" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_0h40pn8_di" bpmnElement="SequenceFlow_0h40pn8"> @@ -652,168 +669,330 @@ dcsi.postResourcesOperStatus(execution)]]></bpmn2:script> <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:BPMNShape id="CallActivity_00ftzjj_di" bpmnElement="ServiceTask_02u5iza"> + <dc:Bounds x="589" y="600" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="CallActivity_18nvmnn_di" bpmnElement="CallActivity_18nvmnn"> + <dc:Bounds x="581" y="380" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_0qg0uyn_di" bpmnElement="SequenceFlow_0qg0uyn"> + <di:waypoint xsi:type="dc:Point" x="681" y="420" /> + <di:waypoint xsi:type="dc:Point" x="858" y="422" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1215" y="663" width="84" height="36" /> + <dc:Bounds x="724.5" y="400" width="90" height="12" /> </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ScriptTask_17ssed5_di" bpmnElement="ScriptTask_17ssed5"> + <dc:Bounds x="1675" y="382" width="100" height="80" /> </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:BPMNEdge id="SequenceFlow_1i45vfx_di" bpmnElement="SequenceFlow_1i45vfx"> + <di:waypoint xsi:type="dc:Point" x="1775" y="422" /> + <di:waypoint xsi:type="dc:Point" x="1951" y="422" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1068" y="593" width="90" height="12" /> + <dc:Bounds x="1818" y="401" 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 id="ScriptTask_0acnvkp_di" bpmnElement="ScriptTask_0acnvkp"> + <dc:Bounds x="1152" y="600" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ServiceTask_17u9q9u_di" bpmnElement="ServiceTask_17u9q9u"> + <dc:Bounds x="1421" y="600" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ScriptTask_0r74c3c_di" bpmnElement="ScriptTask_0r74c3c"> + <dc:Bounds x="1675" 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:BPMNEdge id="SequenceFlow_0r6c0ci_di" bpmnElement="SequenceFlow_0r6c0ci"> + <di:waypoint xsi:type="dc:Point" x="1252" y="640" /> + <di:waypoint xsi:type="dc:Point" x="1421" y="640" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1291.5" y="619" width="90" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_1muxopq_di" bpmnElement="SequenceFlow_1muxopq"> + <di:waypoint xsi:type="dc:Point" x="1521" y="640" /> + <di:waypoint xsi:type="dc:Point" x="1675" y="640" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1553" y="619" width="90" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="IntermediateThrowEvent_0vneaao_di" bpmnElement="IntermediateThrowEvent_0vneaao"> + <dc:Bounds x="1951" y="850" width="36" height="36" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1215" y="374" width="83" height="36" /> + <dc:Bounds x="1925" y="890" width="90" height="24" /> </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 id="ScriptTask_1na4qzo_di" bpmnElement="ScriptTask_1na4qzo"> + <dc:Bounds x="1152" y="828" 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:BPMNShape id="ServiceTask_0c13nyt_di" bpmnElement="ServiceTask_0c13nyt"> + <dc:Bounds x="1421" y="828" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ScriptTask_0iq531p_di" bpmnElement="ScriptTask_0iq531p"> + <dc:Bounds x="1675" y="828" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_0s57qft_di" bpmnElement="SequenceFlow_0s57qft"> + <di:waypoint xsi:type="dc:Point" x="1775" y="868" /> + <di:waypoint xsi:type="dc:Point" x="1951" y="868" /> <bpmndi:BPMNLabel> - <dc:Bounds x="728.5" y="331" width="90" height="12" /> + <dc:Bounds x="1818" y="847" 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:BPMNEdge id="SequenceFlow_1eg944u_di" bpmnElement="SequenceFlow_1eg944u"> + <di:waypoint xsi:type="dc:Point" x="1521" y="868" /> + <di:waypoint xsi:type="dc:Point" x="1675" y="868" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1096.5" y="331" width="0" height="12" /> + <dc:Bounds x="1553" y="847" width="90" 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 id="CallActivity_1nm9zq7_di" bpmnElement="CallActivity_1nm9zq7"> + <dc:Bounds x="1410" y="1333" 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:BPMNShape id="ScriptTask_0xtabf8_di" bpmnElement="ScriptTask_0xtabf8"> + <dc:Bounds x="1666" y="1333" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="IntermediateCatchEvent_0a9bdjw_di" bpmnElement="IntermediateCatchEvent_0a9bdjw"> + <dc:Bounds x="74" y="1355" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="69" y="1391" width="52" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1demy08_di" bpmnElement="SequenceFlow_1demy08"> + <di:waypoint xsi:type="dc:Point" x="110" y="1373" /> + <di:waypoint xsi:type="dc:Point" x="197" y="1373" /> + <di:waypoint xsi:type="dc:Point" x="197" y="1373" /> + <di:waypoint xsi:type="dc:Point" x="293" y="1373" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1098.5" y="470" width="0" height="12" /> + <dc:Bounds x="212" y="1367" 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:BPMNEdge id="SequenceFlow_0f76thv_di" bpmnElement="SequenceFlow_0f76thv"> + <di:waypoint xsi:type="dc:Point" x="1510" y="1373" /> + <di:waypoint xsi:type="dc:Point" x="1594" y="1373" /> + <di:waypoint xsi:type="dc:Point" x="1594" y="1373" /> + <di:waypoint xsi:type="dc:Point" x="1666" y="1373" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1212" y="760" width="90" height="24" /> + <dc:Bounds x="1609" y="1367" width="0" height="12" /> </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ScriptTask_19v8l1w_di" bpmnElement="ScriptTask_19v8l1w"> + <dc:Bounds x="1460" y="1474" width="100" height="80" /> </bpmndi:BPMNShape> - <bpmndi:BPMNShape id="IntermediateCatchEvent_1uv1dxj_di" bpmnElement="IntermediateCatchEvent_1uv1dxj"> - <dc:Bounds x="-14" y="718" width="36" height="36" /> + <bpmndi:BPMNShape id="IntermediateCatchEvent_0z04o3s_di" bpmnElement="IntermediateCatchEvent_0z04o3s"> + <dc:Bounds x="74" y="1496" width="36" height="36" /> <bpmndi:BPMNLabel> - <dc:Bounds x="-36" y="760" width="86" height="24" /> + <dc:Bounds x="57" y="1536" width="70" height="12" /> </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 id="EndEvent_0exzmfn_di" bpmnElement="EndEvent_0exzmfn"> + <dc:Bounds x="1951" y="1496" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1924" y="1536" width="0" height="12" /> + </bpmndi:BPMNLabel> </bpmndi:BPMNShape> - <bpmndi:BPMNShape id="ServiceTask_17u9q9u_di" bpmnElement="ServiceTask_17u9q9u"> - <dc:Bounds x="589" y="696" width="100" height="80" /> + <bpmndi:BPMNShape id="ScriptTask_0jsblrq_di" bpmnElement="ScriptTask_0jsblrq"> + <dc:Bounds x="283" y="1474" 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 id="ServiceTask_1ydxyw0_di" bpmnElement="ServiceTask_1ydxyw0"> + <dc:Bounds x="858" y="1474" 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:BPMNEdge id="SequenceFlow_0h3kdi2_di" bpmnElement="SequenceFlow_0h3kdi2"> + <di:waypoint xsi:type="dc:Point" x="958" y="1514" /> + <di:waypoint xsi:type="dc:Point" x="1460" y="1514" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1098.5" y="753" width="0" height="12" /> + <dc:Bounds x="1209" y="1493" 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:BPMNEdge id="SequenceFlow_07aa121_di" bpmnElement="SequenceFlow_07aa121"> + <di:waypoint xsi:type="dc:Point" x="1560" y="1514" /> + <di:waypoint xsi:type="dc:Point" x="1951" y="1514" /> <bpmndi:BPMNLabel> - <dc:Bounds x="173" y="768" width="0" height="12" /> + <dc:Bounds x="1755.5" y="1493" 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:BPMNEdge id="SequenceFlow_0ku36oy_di" bpmnElement="SequenceFlow_0ku36oy"> + <di:waypoint xsi:type="dc:Point" x="110" y="1514" /> + <di:waypoint xsi:type="dc:Point" x="283" y="1514" /> <bpmndi:BPMNLabel> - <dc:Bounds x="567" y="768" width="0" height="12" /> + <dc:Bounds x="196.5" y="1493" 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:BPMNEdge id="SequenceFlow_0mwh16g_di" bpmnElement="SequenceFlow_0mwh16g"> + <di:waypoint xsi:type="dc:Point" x="383" y="1514" /> + <di:waypoint xsi:type="dc:Point" x="858" y="1514" /> <bpmndi:BPMNLabel> - <dc:Bounds x="773.5" y="753" width="0" height="12" /> + <dc:Bounds x="620.5" y="1493" 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:BPMNShape id="IntermediateThrowEvent_06lo96a_di" bpmnElement="IntermediateThrowEvent_06lo96a"> + <dc:Bounds x="1951" y="1103" width="36" height="36" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1213" y="988" width="90" height="24" /> + <dc:Bounds x="1939" y="1143" width="82" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> - <bpmndi:BPMNShape id="IntermediateCatchEvent_0a418ef_di" bpmnElement="IntermediateCatchEvent_0a418ef"> - <dc:Bounds x="-14" y="948" width="36" height="36" /> + <bpmndi:BPMNEdge id="SequenceFlow_1ryg78h_di" bpmnElement="SequenceFlow_1ryg78h"> + <di:waypoint xsi:type="dc:Point" x="1775" y="1121" /> + <di:waypoint xsi:type="dc:Point" x="1951" y="1121" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1863" y="1100" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="IntermediateThrowEvent_0hucdtk_di" bpmnElement="IntermediateThrowEvent_0hucdtk"> + <dc:Bounds x="1951" y="1355" width="36" height="36" /> <bpmndi:BPMNLabel> - <dc:Bounds x="-38" y="988" width="86" height="24" /> + <dc:Bounds x="1945" y="1395" width="70" 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:BPMNEdge id="SequenceFlow_0x0mhlj_di" bpmnElement="SequenceFlow_0x0mhlj"> + <di:waypoint xsi:type="dc:Point" x="1766" y="1373" /> + <di:waypoint xsi:type="dc:Point" x="1863" y="1373" /> + <di:waypoint xsi:type="dc:Point" x="1863" y="1373" /> + <di:waypoint xsi:type="dc:Point" x="1951" y="1373" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1878" y="1367" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_167wc99_di" bpmnElement="SequenceFlow_167wc99"> + <di:waypoint xsi:type="dc:Point" x="958" y="422" /> + <di:waypoint xsi:type="dc:Point" x="1152" y="422" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1055" y="401" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="IntermediateThrowEvent_09ur9ds_di" bpmnElement="IntermediateThrowEvent_09ur9ds"> + <dc:Bounds x="1951" y="622" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1927" y="663" width="84" height="36" /> + </bpmndi:BPMNLabel> </bpmndi:BPMNShape> - <bpmndi:BPMNShape id="ServiceTask_0c13nyt_di" bpmnElement="ServiceTask_0c13nyt"> - <dc:Bounds x="589" y="926" width="100" height="80" /> + <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="1152" y="640" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1010" y="619" width="90" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_1sgsysh_di" bpmnElement="SequenceFlow_1sgsysh"> + <di:waypoint xsi:type="dc:Point" x="1775" y="640" /> + <di:waypoint xsi:type="dc:Point" x="1951" y="640" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1863" y="619" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_1fa1yjd_di" bpmnElement="SequenceFlow_1fa1yjd"> + <di:waypoint xsi:type="dc:Point" x="1252" y="868" /> + <di:waypoint xsi:type="dc:Point" x="1421" y="868" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1336.5" y="847" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_1nqfgvs_di" bpmnElement="SequenceFlow_1nqfgvs"> + <di:waypoint xsi:type="dc:Point" x="958" y="868" /> + <di:waypoint xsi:type="dc:Point" x="1152" y="868" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1055" y="847" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_1uu6uiu_di" bpmnElement="SequenceFlow_1uu6uiu"> + <di:waypoint xsi:type="dc:Point" x="958" y="1121" /> + <di:waypoint xsi:type="dc:Point" x="1152" y="1121" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1055" y="1100" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="SubProcess_0jo0nms_di" bpmnElement="SubProcess_0jo0nms" isExpanded="true"> + <dc:Bounds x="236" y="1818" width="1428" height="210" /> </bpmndi:BPMNShape> - <bpmndi:BPMNShape id="ScriptTask_0iq531p_di" bpmnElement="ScriptTask_0iq531p"> - <dc:Bounds x="858" y="926" width="100" height="80" /> + <bpmndi:BPMNShape id="StartEvent_06768u3_di" bpmnElement="StartEvent_06768u3"> + <dc:Bounds x="266" y="1895" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="239" y="1936" width="0" height="12" /> + </bpmndi:BPMNLabel> </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:BPMNShape id="EndEvent_014jyvb_di" bpmnElement="EndEvent_014jyvb"> + <dc:Bounds x="1581" y="1895" width="36" height="36" /> <bpmndi:BPMNLabel> - <dc:Bounds x="1098.5" y="945" width="0" height="12" /> + <dc:Bounds x="1554" y="1936" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="CallActivity_1lu6rx0_di" bpmnElement="CallActivity_1lu6rx0"> + <dc:Bounds x="923" y="1873" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ScriptTask_1awrp72_di" bpmnElement="ScriptTask_1awrp72"> + <dc:Bounds x="557" y="1873" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ScriptTask_0vc9jgo_di" bpmnElement="ScriptTask_0vc9jgo"> + <dc:Bounds x="1248" y="1873" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_05j3sat_di" bpmnElement="SequenceFlow_05j3sat"> + <di:waypoint xsi:type="dc:Point" x="302" y="1913" /> + <di:waypoint xsi:type="dc:Point" x="557" y="1913" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="385.5" y="1898" 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:BPMNEdge id="SequenceFlow_02znk15_di" bpmnElement="SequenceFlow_02znk15"> + <di:waypoint xsi:type="dc:Point" x="1348" y="1913" /> + <di:waypoint xsi:type="dc:Point" x="1581" y="1913" /> <bpmndi:BPMNLabel> - <dc:Bounds x="128" y="960" width="0" height="12" /> + <dc:Bounds x="1420.5" y="1898" 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:BPMNEdge id="SequenceFlow_19ly8h7_di" bpmnElement="SequenceFlow_19ly8h7"> + <di:waypoint xsi:type="dc:Point" x="657" y="1913" /> + <di:waypoint xsi:type="dc:Point" x="923" y="1913" /> <bpmndi:BPMNLabel> - <dc:Bounds x="522" y="960" width="0" height="12" /> + <dc:Bounds x="745" y="1898" 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:BPMNEdge id="SequenceFlow_0jsdqmq_di" bpmnElement="SequenceFlow_0jsdqmq"> + <di:waypoint xsi:type="dc:Point" x="1023" y="1913" /> + <di:waypoint xsi:type="dc:Point" x="1248" y="1913" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1091.5" y="1898" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ScriptTask_195nptq_di" bpmnElement="ScriptTask_195nptq"> + <dc:Bounds x="293" y="1333" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1cy5gq2_di" bpmnElement="SequenceFlow_1cy5gq2"> + <di:waypoint xsi:type="dc:Point" x="393" y="1373" /> + <di:waypoint xsi:type="dc:Point" x="589" y="1373" /> <bpmndi:BPMNLabel> - <dc:Bounds x="728.5" y="945" width="0" height="12" /> + <dc:Bounds x="491" y="1352" 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:BPMNShape id="CallActivity_069o6fn_di" bpmnElement="CallActivity_069o6fn"> + <dc:Bounds x="589" y="1333" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ScriptTask_0lp9y03_di" bpmnElement="ScriptTask_0lp9y03"> + <dc:Bounds x="858" y="1333" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1vy856f_di" bpmnElement="SequenceFlow_1vy856f"> + <di:waypoint xsi:type="dc:Point" x="689" y="1373" /> + <di:waypoint xsi:type="dc:Point" x="806" y="1373" /> + <di:waypoint xsi:type="dc:Point" x="806" y="1373" /> + <di:waypoint xsi:type="dc:Point" x="858" y="1373" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="821" y="1367" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_14ggluy_di" bpmnElement="SequenceFlow_14ggluy"> + <di:waypoint xsi:type="dc:Point" x="958" y="1373" /> + <di:waypoint xsi:type="dc:Point" x="1055" y="1373" /> + <di:waypoint xsi:type="dc:Point" x="1055" y="1373" /> + <di:waypoint xsi:type="dc:Point" x="1152" y="1373" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1070" y="1367" width="0" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ScriptTask_0sis7k0_di" bpmnElement="ScriptTask_0sis7k0"> + <dc:Bounds x="1152" y="1333" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1kx5ke9_di" bpmnElement="SequenceFlow_1kx5ke9"> + <di:waypoint xsi:type="dc:Point" x="1252" y="1373" /> + <di:waypoint xsi:type="dc:Point" x="1410" y="1373" /> <bpmndi:BPMNLabel> - <dc:Bounds x="957" y="1450" width="0" height="12" /> + <dc:Bounds x="1331" y="1352" width="0" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> </bpmndi:BPMNPlane> @@ -48,7 +48,7 @@ <!-- this is used for Chef mso-code cookbook --> <swm.version>2.19.3-1</swm.version> <!-- <openstack.version>1.2.0-SNAPSHOT</openstack.version> --> - <openstack.version>1.1.0</openstack.version> + <openstack.version>1.2.0</openstack.version> <nexusproxy>https://nexus.onap.org</nexusproxy> <maven.build.timestamp.format>yyyyMMdd'T'HHmm</maven.build.timestamp.format> <resteasy.version>3.0.19.Final</resteasy.version> |