diff options
Diffstat (limited to 'bpmn')
19 files changed, 661 insertions, 471 deletions
diff --git a/bpmn/MSOCoreBPMN/src/main/java/org/onap/so/bpmn/core/domain/CompareModelsResult.java b/bpmn/MSOCoreBPMN/src/main/java/org/onap/so/bpmn/core/domain/CompareModelsResult.java index bb50597c31..d021394731 100644 --- a/bpmn/MSOCoreBPMN/src/main/java/org/onap/so/bpmn/core/domain/CompareModelsResult.java +++ b/bpmn/MSOCoreBPMN/src/main/java/org/onap/so/bpmn/core/domain/CompareModelsResult.java @@ -27,9 +27,9 @@ public class CompareModelsResult extends JsonWrapper implements Serializable { private static final long serialVersionUID = 1L; - List<ResourceModelInfo> addedResourceList; - List<ResourceModelInfo> deletedResourceList; - List<String> requestInputs; + private List<ResourceModelInfo> addedResourceList; + private List<ResourceModelInfo> deletedResourceList; + private List<String> requestInputs; public List<ResourceModelInfo> getAddedResourceList() { return addedResourceList; diff --git a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/infrastructure/pnf/delegate/CreateAndActivatePnfResourceTest.java b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/infrastructure/pnf/delegate/CreateAndActivatePnfResourceTest.java index 74e5a6c964..2d0d4b51a9 100644 --- a/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/infrastructure/pnf/delegate/CreateAndActivatePnfResourceTest.java +++ b/bpmn/mso-infrastructure-bpmn/src/test/java/org/onap/so/bpmn/infrastructure/pnf/delegate/CreateAndActivatePnfResourceTest.java @@ -4,6 +4,8 @@ * ================================================================================ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. * ================================================================================ + * Modifications Copyright 2018 Nokia + * ================================================================================ * 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 @@ -22,10 +24,12 @@ package org.onap.so.bpmn.infrastructure.pnf.delegate; import static org.camunda.bpm.engine.test.assertions.bpmn.BpmnAwareAssertions.assertThat; import static org.onap.so.bpmn.infrastructure.pnf.delegate.ExecutionVariableNames.CORRELATION_ID; +import static org.onap.so.bpmn.infrastructure.pnf.delegate.ExecutionVariableNames.PNF_UUID; import java.util.HashMap; import java.util.Map; +import java.util.UUID; import org.assertj.core.api.Assertions; import org.camunda.bpm.engine.runtime.ProcessInstance; import org.junit.Test; @@ -35,6 +39,7 @@ import org.springframework.beans.factory.annotation.Autowired; public class CreateAndActivatePnfResourceTest extends BaseIntegrationTest { private static final String TIMEOUT_10_S = "PT10S"; + private static final String VALID_UUID = UUID.nameUUIDFromBytes("testUuid".getBytes()).toString(); @Autowired private AaiConnectionTestImpl aaiConnection; @@ -49,6 +54,7 @@ public class CreateAndActivatePnfResourceTest extends BaseIntegrationTest { Map<String, Object> variables = new HashMap<>(); variables.put("timeoutForPnfEntryNotification", TIMEOUT_10_S); variables.put(CORRELATION_ID, AaiConnectionTestImpl.ID_WITH_ENTRY); + variables.put(PNF_UUID, VALID_UUID); // when ProcessInstance instance = runtimeService .startProcessInstanceByKey("CreateAndActivatePnfResource", "businessKey", variables); @@ -76,6 +82,7 @@ public class CreateAndActivatePnfResourceTest extends BaseIntegrationTest { Map<String, Object> variables = new HashMap<>(); variables.put("timeoutForPnfEntryNotification", TIMEOUT_10_S); variables.put(CORRELATION_ID, AaiConnectionTestImpl.ID_WITHOUT_ENTRY); + variables.put(PNF_UUID, VALID_UUID); // when ProcessInstance instance = runtimeService .startProcessInstanceByKey("CreateAndActivatePnfResource", "businessKey", variables); @@ -88,7 +95,7 @@ public class CreateAndActivatePnfResourceTest extends BaseIntegrationTest { "CheckInputs", "CheckAiiForCorrelationId", "DoesAaiContainInfoAboutPnf", - "CreateAndActivatePnf_CreateAaiEntry", + "CreatePnfEntryInAai", "AaiEntryExists", "InformDmaapClient", "WaitForDmaapPnfReadyNotification", diff --git a/bpmn/pom.xml b/bpmn/pom.xml index c66178b182..e28bedda99 100644 --- a/bpmn/pom.xml +++ b/bpmn/pom.xml @@ -67,6 +67,12 @@ <version>3.11.1</version> <scope>test</scope> </dependency> + <dependency> + <groupId>org.camunda.bpm.extension.mockito</groupId> + <artifactId>camunda-bpm-mockito</artifactId> + <version>4.0.0</version> + <scope>test</scope> + </dependency> </dependencies> </dependencyManagement> diff --git a/bpmn/so-bpmn-infrastructure-common/pom.xml b/bpmn/so-bpmn-infrastructure-common/pom.xml index b29017ea8d..9ba278a119 100644 --- a/bpmn/so-bpmn-infrastructure-common/pom.xml +++ b/bpmn/so-bpmn-infrastructure-common/pom.xml @@ -308,5 +308,14 @@ <version>${camunda.springboot.version}</version> <scope>test</scope> </dependency> + <dependency> + <groupId>org.assertj</groupId> + <artifactId>assertj-core</artifactId> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.camunda.bpm.extension.mockito</groupId> + <artifactId>camunda-bpm-mockito</artifactId> + </dependency> </dependencies> </project> diff --git a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/CreateSDNCNetworkResource.groovy b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/CreateSDNCNetworkResource.groovy index a505f3ff5e..b2c278b64c 100644 --- a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/CreateSDNCNetworkResource.groovy +++ b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/CreateSDNCNetworkResource.groovy @@ -538,8 +538,8 @@ public class CreateSDNCNetworkResource extends AbstractServiceTaskProcessor { } private def getInstnaceId(DelegateExecution execution) { - def responce = new XmlSlurper().parseText(execution.getVariable("CRENWKI_createSDNCResponse")) - def data = responce.toString() + def response = new XmlSlurper().parseText(execution.getVariable("CRENWKI_createSDNCResponse")) + def data = response.toString() data = data.substring(data.indexOf("<")) def resp = new XmlSlurper().parseText(data) @@ -548,11 +548,6 @@ public class CreateSDNCNetworkResource extends AbstractServiceTaskProcessor { def val = "" switch (modelName) { - case ~/[\w\s\W]*SOTNConnectivity[\w\s\W]*/ : - case ~/[\w\s\W]*SDWANConnectivity[\w\s\W]*/ : - val = resp."network-response-information"."instance-id" - break - case ~/[\w\s\W]*deviceVF[\w\s\W]*/ : case ~/[\w\s\W]*SiteWANVF[\w\s\W]*/ : case ~/[\w\s\W]*Site[\w\s\W]*/: @@ -563,6 +558,11 @@ public class CreateSDNCNetworkResource extends AbstractServiceTaskProcessor { case ~/[\w\s\W]*sotnvpnattachment[\w\s\W]*/: val = resp."connection-attachment-response-information"."instance-id" break + + // for SDWANConnectivity and SOTNConnectivity and default: + default: + val = resp."network-response-information"."instance-id" + break } return val.toString() diff --git a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DeleteCustomE2EServiceInstance.groovy b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DeleteCustomE2EServiceInstance.groovy index 519f064802..5bb8c83628 100644 --- a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DeleteCustomE2EServiceInstance.groovy +++ b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DeleteCustomE2EServiceInstance.groovy @@ -52,7 +52,6 @@ public class DeleteCustomE2EServiceInstance extends AbstractServiceTaskProcessor private static final MsoLogger msoLogger = MsoLogger.getMsoLogger(MsoLogger.Catalog.BPEL, DeleteCustomE2EServiceInstance.class); public void preProcessRequest (DelegateExecution execution) { - def isDebugEnabled=execution.getVariable("isDebugLogEnabled") execution.setVariable("prefix",Prefix) String msg = "" @@ -111,7 +110,7 @@ public class DeleteCustomE2EServiceInstance extends AbstractServiceTaskProcessor execution.setVariable("operationType", "DELETE") } catch (BpmnError e) { - throw e; + throw e } catch (Exception ex){ msg = "Exception in preProcessRequest " + ex.getMessage() msoLogger.info(msg) @@ -121,7 +120,6 @@ public class DeleteCustomE2EServiceInstance extends AbstractServiceTaskProcessor } public void sendSyncResponse (DelegateExecution execution) { - def isDebugEnabled=execution.getVariable("isDebugLogEnabled") msoLogger.trace("Staring sendSyncResponse") try { @@ -166,7 +164,6 @@ public class DeleteCustomE2EServiceInstance extends AbstractServiceTaskProcessor } public void prepareCompletionRequest (DelegateExecution execution) { - def isDebugEnabled=execution.getVariable("isDebugLogEnabled") msoLogger.trace("Starting prepareCompletion") try { @@ -339,8 +336,7 @@ public class DeleteCustomE2EServiceInstance extends AbstractServiceTaskProcessor * Init the service Operation Status */ public void prepareInitServiceOperationStatus(DelegateExecution execution){ - def isDebugEnabled = execution.getVariable("isDebugLogEnabled") - utils.log("DEBUG", " ======== STARTED prepareInitServiceOperationStatus Process ======== ", isDebugEnabled) + msoLogger.debug("======== STARTED prepareInitServiceOperationStatus Process ======== ") try{ String serviceId = execution.getVariable("serviceInstanceId") String operationId = execution.getVariable("operationId") @@ -349,12 +345,12 @@ public class DeleteCustomE2EServiceInstance extends AbstractServiceTaskProcessor String progress = "0" String reason = "" String operationContent = "Prepare service creation" - utils.log("DEBUG", "Generated new operation for Service Instance serviceId:" + serviceId + " operationId:" + operationId, isDebugEnabled) + msoLogger.debug("Generated new operation for Service Instance serviceId:" + serviceId + " operationId:" + operationId) serviceId = UriUtils.encode(serviceId,"UTF-8") def dbAdapterEndpoint = UrnPropertiesReader.getVariable("mso.adapters.openecomp.db.endpoint", execution) execution.setVariable("CVFMI_dbAdapterEndpoint", dbAdapterEndpoint) - utils.log("DEBUG", "DB Adapter Endpoint is: " + dbAdapterEndpoint, isDebugEnabled) + msoLogger.debug("DB Adapter Endpoint is: " + dbAdapterEndpoint) String payload = """<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" @@ -376,12 +372,12 @@ public class DeleteCustomE2EServiceInstance extends AbstractServiceTaskProcessor payload = utils.formatXml(payload) execution.setVariable("CVFMI_updateServiceOperStatusRequest", payload) - utils.log("DEBUG", "Outgoing updateServiceOperStatusRequest: \n" + payload, isDebugEnabled) + msoLogger.debug("Outgoing updateServiceOperStatusRequest: \n" + payload) }catch(Exception e){ - utils.log("ERROR", "Exception Occured Processing prepareInitServiceOperationStatus. Exception is:\n" + e, isDebugEnabled) + msoLogger.error("Exception Occured Processing prepareInitServiceOperationStatus. Exception is:\n" + e) execution.setVariable("CVFMI_ErrorResponse", "Error Occurred during prepareInitServiceOperationStatus Method:\n" + e.getMessage()) } - utils.log("DEBUG", "======== COMPLETED prepareInitServiceOperationStatus Process ======== ", isDebugEnabled) + msoLogger.debug("======== COMPLETED prepareInitServiceOperationStatus Process ======== ") } } diff --git a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoDeleteE2EServiceInstance.groovy b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoDeleteE2EServiceInstance.groovy index a981abf011..5f50afa613 100644 --- a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoDeleteE2EServiceInstance.groovy +++ b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoDeleteE2EServiceInstance.groovy @@ -19,6 +19,8 @@ */ package org.onap.so.bpmn.infrastructure.scripts +import org.onap.so.logger.MsoLogger + import static org.apache.commons.lang3.StringUtils.*; import javax.ws.rs.core.Response @@ -78,10 +80,11 @@ public class DoDeleteE2EServiceInstance extends AbstractServiceTaskProcessor { String Prefix="DDEESI_" ExceptionUtil exceptionUtil = new ExceptionUtil() JsonUtils jsonUtil = new JsonUtils() + private static final MsoLogger msoLogger = MsoLogger.getMsoLogger(MsoLogger.Catalog.BPEL, DoDeleteE2EServiceInstance.class); + public void preProcessRequest (DelegateExecution execution) { - def isDebugEnabled = execution.getVariable("isDebugLogEnabled") - utils.log("INFO"," ***** preProcessRequest *****", isDebugEnabled) + msoLogger.debug(" ***** preProcessRequest *****") String msg = "" try { @@ -107,23 +110,23 @@ public class DoDeleteE2EServiceInstance extends AbstractServiceTaskProcessor { String serviceInstanceId = execution.getVariable("serviceInstanceId") if (isBlank(serviceInstanceId)){ msg = "Input serviceInstanceId is null" - utils.log("INFO", msg, isDebugEnabled) + msoLogger.info(msg) exceptionUtil.buildAndThrowWorkflowException(execution, 500, msg) } - String sdncCallbackUrl = execution.getVariable('URN_mso_workflow_sdncadapter_callback') + String sdncCallbackUrl = UrnPropertiesReader.getVariable('URN_mso_workflow_sdncadapter_callback', execution) if (isBlank(sdncCallbackUrl)) { msg = "URN_mso_workflow_sdncadapter_callback is null" - utils.log("INFO", msg, isDebugEnabled) + msoLogger.info(msg) exceptionUtil.buildAndThrowWorkflowException(execution, 500, msg) } execution.setVariable("sdncCallbackUrl", sdncCallbackUrl) - utils.log("INFO","SDNC Callback URL: " + sdncCallbackUrl, isDebugEnabled) + msoLogger.info("SDNC Callback URL: " + sdncCallbackUrl) StringBuilder sbParams = new StringBuilder() Map<String, String> paramsMap = execution.getVariable("serviceInputParams") - if (paramsMap != null) - { + + if (paramsMap != null) { sbParams.append("<service-input-parameters>") for (Map.Entry<String, String> entry : paramsMap.entrySet()) { String paramsXml @@ -148,15 +151,14 @@ public class DoDeleteE2EServiceInstance extends AbstractServiceTaskProcessor { throw e; } catch (Exception ex){ msg = "Exception in preProcessRequest " + ex.getMessage() - utils.log("INFO", msg, isDebugEnabled) + msoLogger.error(msg) exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg) } - utils.log("INFO"," ***** Exit preProcessRequest *****", isDebugEnabled) + msoLogger.debug("***** Exit preProcessRequest *****") } public void postProcessAAIGET(DelegateExecution execution) { - def isDebugEnabled=execution.getVariable("isDebugLogEnabled") - utils.log("INFO"," ***** postProcessAAIGET ***** ", isDebugEnabled) + msoLogger.debug(" ***** postProcessAAIGET ***** ") String msg = "" try { @@ -165,14 +167,14 @@ public class DoDeleteE2EServiceInstance extends AbstractServiceTaskProcessor { String serviceType = "" if(foundInAAI){ - utils.log("INFO","Found Service-instance in AAI", isDebugEnabled) + msoLogger.debug("Found Service-instance in AAI") String siData = execution.getVariable("GENGS_service") - utils.log("INFO", "SI Data", isDebugEnabled) + msoLogger.debug("SI Data") if (isBlank(siData)) { msg = "Could not retrive ServiceInstance data from AAI to delete id:" + serviceInstanceId - utils.log("INFO", msg, isDebugEnabled) + msoLogger.error(msg) exceptionUtil.buildAndThrowWorkflowException(execution, 500, msg) } else @@ -185,7 +187,7 @@ public class DoDeleteE2EServiceInstance extends AbstractServiceTaskProcessor { // get model invariant id // Get Template uuid and version if (utils.nodeExists(siData, "model-invariant-id") && utils.nodeExists(siData, "model-version-id") ) { - utils.log("INFO", "SI Data model-invariant-id and model-version-id exist:", isDebugEnabled) + msoLogger.debug("SI Data model-invariant-id and model-version-id exist") def modelInvariantId = serviceXml.getElementsByTagName("model-invariant-id").item(0).getTextContent() def modelVersionId = serviceXml.getElementsByTagName("model-version-id").item(0).getTextContent() @@ -194,10 +196,10 @@ public class DoDeleteE2EServiceInstance extends AbstractServiceTaskProcessor { execution.setVariable("model-version-id-original", modelVersionId) } - utils.log("INFO", "SI Data" + siData, isDebugEnabled) + msoLogger.debug("SI Data" + siData) //Confirm there are no related service instances (vnf/network or volume) if (utils.nodeExists(siData, "relationship-list")) { - utils.log("INFO", "SI Data relationship-list exists:", isDebugEnabled) + msoLogger.debug("SI Data relationship-list exists") JSONArray jArray = new JSONArray() XmlParser xmlParser = new XmlParser() @@ -211,109 +213,35 @@ public class DoDeleteE2EServiceInstance extends AbstractServiceTaskProcessor { } execution.setVariable("serviceRelationShip", jArray.toString()) - -// //test(siData) -// NodeList nodeList = serviceXml.getElementsByTagName("relationship") -// JSONArray jArray = new JSONArray() -// for (int x = 0; x < nodeList.getLength(); x++) { -// Node node = nodeList.item(x) -// if (node.getNodeType() == Node.ELEMENT_NODE) { -// Element eElement = (Element) node -// def e = eElement.getElementsByTagName("related-to").item(0).getTextContent() //for ns -// if(e.equals("service-instance")){ -// def relatedObject = eElement.getElementsByTagName("related-link").item(0).getTextContent() -// utils.log("INFO", "ServiceInstance Related NS :" + relatedObject, isDebugEnabled) -// NodeList dataList = node.getChildNodes() -// if(null != dataList) { -// JSONObject jObj = new JSONObject() -// for (int i = 0; i < dataList.getLength(); i++) { -// Node dNode = dataList.item(i) -// if(dNode.getNodeName() == "relationship-data") { -// Element rDataEle = (Element)dNode -// def eKey = rDataEle.getElementsByTagName("relationship-key").item(0).getTextContent() -// def eValue = rDataEle.getElementsByTagName("relationship-value").item(0).getTextContent() -// if(eKey.equals("service-instance.service-instance-id")){ -// jObj.put("resourceInstanceId", eValue) -// } -// -// } -// else if(dNode.getNodeName() == "related-to-property"){ -// Element rDataEle = (Element)dNode -// def eKey = rDataEle.getElementsByTagName("property-key").item(0).getTextContent() -// def eValue = rDataEle.getElementsByTagName("property-value").item(0).getTextContent() -// if(eKey.equals("service-instance.service-instance-name")){ -// jObj.put("resourceType", eValue) -// } -// } -// } -// utils.log("INFO", "Relationship related to Resource:" + jObj.toString(), isDebugEnabled) -// jArray.put(jObj) -// } -// //for overlay/underlay -// }else if (e.equals("configuration")){ -// def relatedObject = eElement.getElementsByTagName("related-link").item(0).getTextContent() -// utils.log("INFO", "ServiceInstance Related Configuration :" + relatedObject, isDebugEnabled) -// NodeList dataList = node.getChildNodes() -// if(null != dataList) { -// JSONObject jObj = new JSONObject() -// for (int i = 0; i < dataList.getLength(); i++) { -// Node dNode = dataList.item(i) -// if(dNode.getNodeName() == "relationship-data") { -// Element rDataEle = (Element)dNode -// def eKey = rDataEle.getElementsByTagName("relationship-key").item(0).getTextContent() -// def eValue = rDataEle.getElementsByTagName("relationship-value").item(0).getTextContent() -// if(eKey.equals("configuration.configuration-id")){ -// jObj.put("resourceInstanceId", eValue) -// } -// } -// else if(dNode.getNodeName() == "related-to-property"){ -// Element rDataEle = (Element)dNode -// def eKey = rDataEle.getElementsByTagName("property-key").item(0).getTextContent() -// def eValue = rDataEle.getElementsByTagName("property-value").item(0).getTextContent() -// if(eKey.equals("configuration.configuration-type")){ -// jObj.put("resourceType", eValue) -// } -// } -// } -// utils.log("INFO", "Relationship related to Resource:" + jObj.toString(), isDebugEnabled) -// jArray.put(jObj) -// } -// // for SP-Partner -// }else if (e.equals("sp-partner")){ -// -// } -// } -// } -// execution.setVariable("serviceRelationShip", jArray.toString()) + execution.setVariable("serviceRelationShip", jArray.toString()) } } }else{ boolean succInAAI = execution.getVariable("GENGS_SuccessIndicator") if(!succInAAI){ - utils.log("INFO","Error getting Service-instance from AAI", + serviceInstanceId, isDebugEnabled) + msoLogger.debug("Error getting Service-instance from AAI :" + serviceInstanceId) WorkflowException workflowException = execution.getVariable("WorkflowException") - utils.logAudit("workflowException: " + workflowException) if(workflowException != null){ + msoLogger.error("workflowException: " + workflowException) exceptionUtil.buildAndThrowWorkflowException(execution, workflowException.getErrorCode(), workflowException.getErrorMessage()) } - else - { + else { msg = "Failure in postProcessAAIGET GENGS_SuccessIndicator:" + succInAAI - utils.log("INFO", msg, isDebugEnabled) + msoLogger.error(msg) exceptionUtil.buildAndThrowWorkflowException(execution, 2500, msg) } } - utils.log("INFO","Service-instance NOT found in AAI. Silent Success", isDebugEnabled) + msoLogger.debug("Service-instance NOT found in AAI. Silent Success") } }catch (BpmnError e) { - throw e; + throw e } catch (Exception ex) { msg = "Exception in DoDeleteE2EServiceInstance.postProcessAAIGET. " + ex.getMessage() - utils.log("INFO", msg, isDebugEnabled) + msoLogger.debug(msg) exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg) } - utils.log("INFO"," *** Exit postProcessAAIGET *** ", isDebugEnabled) + msoLogger.debug(" *** Exit postProcessAAIGET *** ") } private JSONObject getRelationShipData(node, isDebugEnabled){ @@ -323,7 +251,7 @@ public class DoDeleteE2EServiceInstance extends AbstractServiceTaskProcessor { def rt = utils.getNodeText(relation, "related-to") def rl = utils.getNodeText(relation, "related-link") - utils.log("INFO", "ServiceInstance Related NS/Configuration :" + rl, isDebugEnabled) + msoLogger.debug("ServiceInstance Related NS/Configuration :" + rl) def rl_datas = utils.getIdenticalChildren(node, "relationship-data") for(def rl_data : rl_datas) { @@ -357,13 +285,11 @@ public class DoDeleteE2EServiceInstance extends AbstractServiceTaskProcessor { } } - utils.log("INFO", "Relationship related to Resource:" + jObj.toString(), isDebugEnabled) - + msoLogger.debug("Relationship related to Resource:" + jObj.toString()) return jObj } public void getCurrentNS(DelegateExecution execution){ - def isDebugEnabled=execution.getVariable("isDebugLogEnabled") utils.log("INFO", "======== Start getCurrentNS Process ======== ", isDebugEnabled) def currentIndex = execution.getVariable("currentNSIndex") @@ -375,14 +301,12 @@ public class DoDeleteE2EServiceInstance extends AbstractServiceTaskProcessor { execution.setVariable("GENGS_serviceInstanceId", "") execution.setVariable("GENGS_serviceInstanceName", nsResourceType) - utils.log("INFO", "======== COMPLETED getCurrentNS Process ======== ", isDebugEnabled) + msoLogger.debug("======== COMPLETED getCurrentNS Process ======== ") } public void prepareDecomposeService(DelegateExecution execution) { - def isDebugEnabled=execution.getVariable("isDebugLogEnabled") - try { - utils.log("DEBUG", " ***** Inside prepareDecomposeService of create generic e2e service ***** ", isDebugEnabled) + msoLogger.debug(" ***** Inside prepareDecomposeService of create generic e2e service ***** ") String modelInvariantUuid = execution.getVariable("model-invariant-id-original") String modelVersionId = execution.getVariable("model-version-id-original") @@ -393,10 +317,11 @@ public class DoDeleteE2EServiceInstance extends AbstractServiceTaskProcessor { }""" execution.setVariable("serviceModelInfo", serviceModelInfo) - utils.log("DEBUG", " ***** Completed prepareDecomposeService of create generic e2e service ***** ", isDebugEnabled) + msoLogger.debug(" ***** Completed prepareDecomposeService of create generic e2e service ***** ") } catch (Exception ex) { // try error in method block String exceptionMessage = "Bpmn error encountered in create generic e2e service flow. Unexpected Error from method prepareDecomposeService() - " + ex.getMessage() + msoLogger.error(exceptionMessage) exceptionUtil.buildAndThrowWorkflowException(execution, 7000, exceptionMessage) } } @@ -415,11 +340,8 @@ public class DoDeleteE2EServiceInstance extends AbstractServiceTaskProcessor { private JSONObject getRelatedResourceInAAI (DelegateExecution execution, JSONObject jObj) { - def isDebugEnabled = execution.getVariable("isDebugLogEnabled") - utils.log("INFO"," ***** Started getRelatedResourceInAAI *****", isDebugEnabled) + msoLogger.debug(" ***** Started getRelatedResourceInAAI *****") -// AaiUtil aaiUriUtil = new AaiUtil() -// String aai_endpoint = execution.getVariable("URN_aai_endpoint") String aai_endpoint = UrnPropertiesReader.getVariable("aai.endpoint", execution) String urlLink = jObj.get("resourceLinkUrl") String serviceAaiPath = "${aai_endpoint}${urlLink}" @@ -431,7 +353,7 @@ public class DoDeleteE2EServiceInstance extends AbstractServiceTaskProcessor { Response response = client.get() int responseCode = response.getStatus() execution.setVariable(Prefix + "GeRelatedResourceResponseCode", responseCode) - utils.log("DEBUG", " Get RelatedResource code is: " + responseCode, isDebugEnabled) + msoLogger.debug(" Get RelatedResource code is: " + responseCode) String aaiResponse = response.readEntity(String.class) execution.setVariable(Prefix + "GetRelatedResourceResponse", aaiResponse) @@ -440,7 +362,7 @@ public class DoDeleteE2EServiceInstance extends AbstractServiceTaskProcessor { if(responseCode == 200 || responseCode == 201 || responseCode == 202 ) //200 OK 201 CREATED 202 ACCEPTED { - utils.log("DEBUG", "GET RelatedResource Received a Good Response", isDebugEnabled) + msoLogger.debug("GET RelatedResource Received a Good Response") execution.setVariable(Prefix + "SuccessIndicator", true) execution.setVariable(Prefix + "FoundIndicator", true) @@ -460,20 +382,18 @@ public class DoDeleteE2EServiceInstance extends AbstractServiceTaskProcessor { jObj.put("modelVersionId", modelUuid) jObj.put("modelCustomizationId", modelCustomizationId) } - else - { - utils.log("ERROR", "Get RelatedResource Received a Bad Response Code. Response Code is: " + responseCode, isDebugEnabled) - } - - utils.log("INFO", " ***** Exit getRelatedResourceInAAI *****", isDebugEnabled) - return jObj; + else { + String exceptionMessage = "Get RelatedResource Received a Bad Response Code. Response Code is: " + responseCode + msoLogger.error(exceptionMessage) + exceptionUtil.buildAndThrowWorkflowException(execution, 7000, exceptionMessage) + } + msoLogger.debug(" ***** Exit getRelatedResourceInAAI *****") + return jObj } public void postDecomposeService(DelegateExecution execution) { - def isDebugEnabled=execution.getVariable("isDebugLogEnabled") - - utils.log("DEBUG", " ***** Inside processDecomposition() of delete generic e2e service flow ***** ", isDebugEnabled) + msoLogger.debug(" ***** Inside processDecomposition() of delete generic e2e service flow ***** ") try { ServiceDecomposition serviceDecomposition = execution.getVariable("serviceDecomposition") @@ -527,19 +447,17 @@ public class DoDeleteE2EServiceInstance extends AbstractServiceTaskProcessor { } execution.setVariable("isDeleteResourceListValid", isDeleteResourceListValid) - utils.log("DEBUG", "delete resource list : " + deleteRealResourceList, isDebugEnabled) + msoLogger.debug("delete resource list : " + deleteRealResourceList) } catch (Exception ex) { String exceptionMessage = "Bpmn error encountered in create generic e2e service flow. processDecomposition() - " + ex.getMessage() - utils.log("DEBUG", exceptionMessage, isDebugEnabled) + msoLogger.error(exceptionMessage) exceptionUtil.buildAndThrowWorkflowException(execution, 7000, exceptionMessage) } utils.log("DEBUG", " ***** exit processDecomposition() of delete generic e2e service flow ***** ", isDebugEnabled) } public void preInitResourcesOperStatus(DelegateExecution execution){ - def isDebugEnabled = execution.getVariable("isDebugLogEnabled") - - utils.log("INFO", " ======== STARTED preInitResourcesOperStatus Process ======== ", isDebugEnabled) + msoLogger.debug(" ======== STARTED preInitResourcesOperStatus Process ======== ") try{ String serviceId = execution.getVariable("serviceInstanceId") String operationId = execution.getVariable("operationId") @@ -549,7 +467,7 @@ public class DoDeleteE2EServiceInstance extends AbstractServiceTaskProcessor { String progress = "0" String reason = "" String operationContent = "Prepare service creation" - utils.log("INFO", "Generated new operation for Service Instance serviceId:" + serviceId + " operationId:" + operationId + " operationType:" + operationType, isDebugEnabled) + msoLogger.debug("Generated new operation for Service Instance serviceId:" + serviceId + " operationId:" + operationId + " operationType:" + operationType) serviceId = UriUtils.encode(serviceId,"UTF-8") execution.setVariable("serviceInstanceId", serviceId) execution.setVariable("operationId", operationId) @@ -580,19 +498,18 @@ public class DoDeleteE2EServiceInstance extends AbstractServiceTaskProcessor { payload = utils.formatXml(payload) execution.setVariable("CVFMI_initResOperStatusRequest", payload) - utils.log("INFO", "Outgoing initResourceOperationStatus: \n" + payload, isDebugEnabled) - utils.logAudit("CreateVfModuleInfra Outgoing initResourceOperationStatus Request: " + payload) + msoLogger.debug("Outgoing initResourceOperationStatus: \n" + payload) + msoLogger.debug("CreateVfModuleInfra Outgoing initResourceOperationStatus Request: " + payload) }catch(Exception e){ - utils.log("ERROR", "Exception Occured Processing preInitResourcesOperStatus. Exception is:\n" + e, isDebugEnabled) + msoLogger.debug("Exception Occured Processing preInitResourcesOperStatus. Exception is:\n" + e) execution.setVariable("CVFMI_ErrorResponse", "Error Occurred during preInitResourcesOperStatus Method:\n" + e.getMessage()) } - utils.log("INFO", "======== COMPLETED preInitResourcesOperStatus Process ======== ", isDebugEnabled) + msoLogger.debug("======== COMPLETED preInitResourcesOperStatus Process ======== ") } public void prepareUpdateServiceOperationStatus(DelegateExecution execution){ - def isDebugEnabled = execution.getVariable("isDebugLogEnabled") - utils.log("DEBUG", " ======== STARTED prepareUpdateServiceOperationStatus Process ======== ", isDebugEnabled) + msoLogger.debug(" ======== STARTED prepareUpdateServiceOperationStatus Process ======== ") try{ String serviceId = execution.getVariable("serviceInstanceId") String operationId = execution.getVariable("operationId") @@ -606,7 +523,7 @@ public class DoDeleteE2EServiceInstance extends AbstractServiceTaskProcessor { def dbAdapterEndpoint = UrnPropertiesReader.getVariable("mso.adapters.openecomp.db.endpoint", execution) execution.setVariable("CVFMI_dbAdapterEndpoint", dbAdapterEndpoint) - utils.log("DEBUG", "DB Adapter Endpoint is: " + dbAdapterEndpoint, isDebugEnabled) + msoLogger.debug("DB Adapter Endpoint is: " + dbAdapterEndpoint) String payload = """<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" @@ -628,13 +545,13 @@ public class DoDeleteE2EServiceInstance extends AbstractServiceTaskProcessor { payload = utils.formatXml(payload) execution.setVariable("CVFMI_updateServiceOperStatusRequest", payload) - utils.log("DEBUG", "Outgoing updateServiceOperStatusRequest: \n" + payload, isDebugEnabled) + msoLogger.debug("Outgoing updateServiceOperStatusRequest: \n" + payload) }catch(Exception e){ - utils.log("ERROR", "Exception Occured Processing prepareUpdateServiceOperationStatus. Exception is:\n" + e, isDebugEnabled) + msoLogger.error("Exception Occured Processing prepareUpdateServiceOperationStatus. Exception is:\n" + e) execution.setVariable("CVFMI_ErrorResponse", "Error Occurred during prepareUpdateServiceOperationStatus Method:\n" + e.getMessage()) } - utils.log("DEBUG", "======== COMPLETED prepareUpdateServiceOperationStatus Process ======== ", isDebugEnabled) + msoLogger.debug("======== COMPLETED prepareUpdateServiceOperationStatus Process ======== ") } /** diff --git a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoDeleteResourcesV1.groovy b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoDeleteResourcesV1.groovy index 9116b5ab14..6a31095920 100644 --- a/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoDeleteResourcesV1.groovy +++ b/bpmn/so-bpmn-infrastructure-common/src/main/groovy/org/onap/so/bpmn/infrastructure/scripts/DoDeleteResourcesV1.groovy @@ -70,8 +70,7 @@ public class DoDeleteResourcesV1 extends AbstractServiceTaskProcessor { CatalogDbUtils catalogDbUtils = new CatalogDbUtilsFactory().create() public void preProcessRequest (DelegateExecution execution) { - def isDebugEnabled = execution.getVariable("isDebugLogEnabled") - utils.log("INFO"," ***** preProcessRequest *****", isDebugEnabled) + msoLogger.debug(" ***** preProcessRequest *****") String msg = "" try { @@ -81,8 +80,7 @@ public class DoDeleteResourcesV1 extends AbstractServiceTaskProcessor { //Inputs //requestDetails.subscriberInfo. for AAI GET & PUT & SDNC assignToplology String globalSubscriberId = execution.getVariable("globalSubscriberId") //globalCustomerId - if (globalSubscriberId == null) - { + if (globalSubscriberId == null) { execution.setVariable("globalSubscriberId", "") } @@ -97,18 +95,18 @@ public class DoDeleteResourcesV1 extends AbstractServiceTaskProcessor { String serviceInstanceId = execution.getVariable("serviceInstanceId") if (isBlank(serviceInstanceId)){ msg = "Input serviceInstanceId is null" - utils.log("INFO", msg, isDebugEnabled) + msoLogger.error(msg) exceptionUtil.buildAndThrowWorkflowException(execution, 500, msg) } - String sdncCallbackUrl = execution.getVariable('URN_mso_workflow_sdncadapter_callback') + String sdncCallbackUrl = UrnPropertiesReader.getVariable('URN_mso_workflow_sdncadapter_callback', execution) if (isBlank(sdncCallbackUrl)) { msg = "URN_mso_workflow_sdncadapter_callback is null" - utils.log("INFO", msg, isDebugEnabled) + msoLogger.error(msg) exceptionUtil.buildAndThrowWorkflowException(execution, 500, msg) } execution.setVariable("sdncCallbackUrl", sdncCallbackUrl) - utils.log("INFO","SDNC Callback URL: " + sdncCallbackUrl, isDebugEnabled) + msoLogger.debug("SDNC Callback URL: " + sdncCallbackUrl) StringBuilder sbParams = new StringBuilder() Map<String, String> paramsMap = execution.getVariable("serviceInputParams") @@ -138,16 +136,14 @@ public class DoDeleteResourcesV1 extends AbstractServiceTaskProcessor { throw e; } catch (Exception ex){ msg = "Exception in preProcessRequest " + ex.getMessage() - utils.log("INFO", msg, isDebugEnabled) + msoLogger.error(msg) exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg) } - utils.log("INFO"," ***** Exit preProcessRequest *****", isDebugEnabled) + msoLogger.debug(" ***** Exit preProcessRequest *****",) } public void sequenceResource(DelegateExecution execution){ - def isDebugEnabled = execution.getVariable("isDebugLogEnabled") - - utils.log("INFO", " ======== STARTED sequenceResource Process ======== ", isDebugEnabled) + msoLogger.debug(" ======== STARTED sequenceResource Process ======== ") List<Resource> sequencedResourceList = new ArrayList<Resource>() List<Resource> wanResources = new ArrayList<Resource>() @@ -200,18 +196,15 @@ public class DoDeleteResourcesV1 extends AbstractServiceTaskProcessor { execution.setVariable("isContainsWanResource", isContainsWanResource) execution.setVariable("currentResourceIndex", 0) execution.setVariable("sequencedResourceList", sequencedResourceList) - utils.log("INFO", "resourceSequence: " + resourceSequence, isDebugEnabled) - utils.log("INFO", " ======== END sequenceResource Process ======== ", isDebugEnabled) + msoLogger.debug("resourceSequence: " + resourceSequence) + msoLogger.debug(" ======== END sequenceResource Process ======== ") } /** * prepare delete parameters */ public void preResourceDelete(DelegateExecution execution){ - - def isDebugEnabled = execution.getVariable("isDebugLogEnabled") - - utils.log("INFO", " ======== STARTED preResourceDelete Process ======== ", isDebugEnabled) + msoLogger.debug(" ======== STARTED preResourceDelete Process ======== ") List<Resource> sequencedResourceList = execution.getVariable("sequencedResourceList") @@ -223,14 +216,14 @@ public class DoDeleteResourcesV1 extends AbstractServiceTaskProcessor { String resourceTemplateUUID = curResource.getModelInfo().getModelUuid() execution.setVariable("resourceInstanceId", resourceInstanceUUID) execution.setVariable("currentResource", curResource) - utils.log("INFO", "Delete Resource Info resourceTemplate Id :" + resourceTemplateUUID + " resourceInstanceId: " - + resourceInstanceUUID + " resourceModelName: " + curResource.getModelInfo().getModelName(), isDebugEnabled) + msoLogger.debug("Delete Resource Info resourceTemplate Id :" + resourceTemplateUUID + " resourceInstanceId: " + + resourceInstanceUUID + " resourceModelName: " + curResource.getModelInfo().getModelName()) } else { execution.setVariable("resourceInstanceId", "") } - utils.log("INFO", " ======== END preResourceDelete Process ======== ", isDebugEnabled) + msoLogger.debug(" ======== END preResourceDelete Process ======== ") } @@ -238,8 +231,7 @@ public class DoDeleteResourcesV1 extends AbstractServiceTaskProcessor { * Execute delete workflow for resource */ public void executeResourceDelete(DelegateExecution execution) { - def isDebugEnabled=execution.getVariable("isDebugLogEnabled") - utils.log("INFO", "======== Start executeResourceDelete Process ======== ", isDebugEnabled) + msoLogger.debug("======== Start executeResourceDelete Process ======== ") try { String requestId = execution.getVariable("msoRequestId") String serviceInstanceId = execution.getVariable("serviceInstanceId") @@ -271,20 +263,19 @@ public class DoDeleteResourcesV1 extends AbstractServiceTaskProcessor { String recipeURL = BPMNProperties.getProperty("bpelURL", "http://mso:8080") + recipeUri HttpResponse resp = BpmnRestClient.post(recipeURL, requestId, recipeTimeout, action, serviceInstanceId, serviceType, resourceInput.toString(), recipeParamXsd) - utils.log("INFO", " ======== END executeResourceDelete Process ======== ", isDebugEnabled) + msoLogger.debug(" ======== END executeResourceDelete Process ======== ") }catch(BpmnError b){ - msoLogger.debug("Rethrowing MSOWorkflowException") + msoLogger.error("Rethrowing MSOWorkflowException") throw b }catch(Exception e){ - msoLogger.debug("Error occured within DoDeleteResourcesV1 executeResourceDelete method: " + e) + msoLogger.error("Error occured within DoDeleteResourcesV1 executeResourceDelete method: " + e) exceptionUtil.buildAndThrowWorkflowException(execution, 2500, "Internal Error - Occured during DoDeleteResourcesV1 executeResourceDelete Catalog") } } public void parseNextResource(DelegateExecution execution){ - def isDebugEnabled=execution.getVariable("isDebugLogEnabled") - utils.log("INFO", "======== Start parseNextResource Process ======== ", isDebugEnabled) + msoLogger.debug("======== Start parseNextResource Process ======== ") def currentIndex = execution.getVariable("currentResourceIndex") def nextIndex = currentIndex + 1 execution.setVariable("currentResourceIndex", nextIndex) @@ -294,7 +285,7 @@ public class DoDeleteResourcesV1 extends AbstractServiceTaskProcessor { }else{ execution.setVariable("allResourceFinished", "false") } - utils.log("INFO", "======== COMPLETED parseNextResource Process ======== ", isDebugEnabled) + msoLogger.debug("======== COMPLETED parseNextResource Process ======== ") } public void prepareFinishedProgressForResource(DelegateExecution execution) { @@ -342,8 +333,7 @@ public class DoDeleteResourcesV1 extends AbstractServiceTaskProcessor { } public void prepareSDNCServiceRequest (DelegateExecution execution, String svcAction) { - def isDebugEnabled = execution.getVariable("isDebugLogEnabled") - utils.log("INFO"," ***** Started prepareSDNCServiceRequest for " + svcAction + "*****", isDebugEnabled) + msoLogger.debug(" ***** Started prepareSDNCServiceRequest for " + svcAction + "*****") try { // get variables @@ -401,16 +391,16 @@ public class DoDeleteResourcesV1 extends AbstractServiceTaskProcessor { </aetgt:SDNCAdapterWorkflowRequest>""".trim() String sndcTopologyDeleteRequesAsString = utils.formatXml(sndcTopologyDeleteRequest) - utils.logAudit(sndcTopologyDeleteRequesAsString) + msoLogger.debug(sndcTopologyDeleteRequesAsString) execution.setVariable("sdncAdapterWorkflowRequest", sndcTopologyDeleteRequesAsString) - utils.log("INFO","sdncAdapterWorkflowRequest - " + "\n" + sndcTopologyDeleteRequesAsString, isDebugEnabled) + msoLogger.debug("sdncAdapterWorkflowRequest - " + "\n" + sndcTopologyDeleteRequesAsString) } catch (Exception ex) { String exceptionMessage = " Bpmn error encountered in DoDeleteResourcesV1 flow. prepareSDNCServiceRequest() - " + ex.getMessage() - utils.log("DEBUG", exceptionMessage, isDebugEnabled) + msoLogger.debug(exceptionMessage) exceptionUtil.buildAndThrowWorkflowException(execution, 7000, exceptionMessage) } - utils.log("INFO","***** Exit prepareSDNCServiceRequest for " + svcAction + "*****", isDebugEnabled) + msoLogger.debug("***** Exit prepareSDNCServiceRequest for " + svcAction + "*****") } } diff --git a/bpmn/so-bpmn-infrastructure-common/src/main/java/org/onap/so/bpmn/infrastructure/pnf/delegate/CreateAaiEntryWithPnfIdDelegate.java b/bpmn/so-bpmn-infrastructure-common/src/main/java/org/onap/so/bpmn/infrastructure/pnf/delegate/CreatePnfEntryInAaiDelegate.java index 209cbac98a..2268d22bd2 100644 --- a/bpmn/so-bpmn-infrastructure-common/src/main/java/org/onap/so/bpmn/infrastructure/pnf/delegate/CreateAaiEntryWithPnfIdDelegate.java +++ b/bpmn/so-bpmn-infrastructure-common/src/main/java/org/onap/so/bpmn/infrastructure/pnf/delegate/CreatePnfEntryInAaiDelegate.java @@ -4,6 +4,8 @@ * ================================================================================ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. * ================================================================================ + * Modifications Copyright 2018 Nokia + * ================================================================================ * 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 @@ -21,6 +23,7 @@ package org.onap.so.bpmn.infrastructure.pnf.delegate; import static org.onap.so.bpmn.infrastructure.pnf.delegate.ExecutionVariableNames.CORRELATION_ID; +import static org.onap.so.bpmn.infrastructure.pnf.delegate.ExecutionVariableNames.PNF_UUID; import org.camunda.bpm.engine.delegate.DelegateExecution; import org.camunda.bpm.engine.delegate.JavaDelegate; @@ -32,15 +35,16 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; /** - * Implementation of "Create AAI entry with pnf-id = correlation_id" task in CreateAndActivatePnfResource.bpmn + * Implementation of "Create Pnf entry in AAI" task in CreateAndActivatePnfResource.bpmn * * Inputs: * - correlationId - String + * - pnfUuid - String */ @Component -public class CreateAaiEntryWithPnfIdDelegate implements JavaDelegate { +public class CreatePnfEntryInAaiDelegate implements JavaDelegate { - private static final Logger logger = LoggerFactory.getLogger(CreateAaiEntryWithPnfIdDelegate.class); + private static final Logger logger = LoggerFactory.getLogger(CreatePnfEntryInAaiDelegate.class); private AaiConnection aaiConnection; @Autowired @@ -51,11 +55,11 @@ public class CreateAaiEntryWithPnfIdDelegate implements JavaDelegate { @Override public void execute(DelegateExecution execution) throws Exception { String correlationId = (String) execution.getVariable(CORRELATION_ID); + String pnfUuid = (String) execution.getVariable(PNF_UUID); Pnf pnf = new Pnf(); - pnf.setInMaint(true); - pnf.setPnfId(correlationId); + pnf.setPnfId(pnfUuid); pnf.setPnfName(correlationId); aaiConnection.createEntry(correlationId, pnf); - logger.debug("AAI entry is created for pnf correlation id: {}", correlationId); + logger.debug("AAI entry is created for pnf correlation id: {}, pnf uuid: {}", correlationId, pnfUuid); } } diff --git a/bpmn/so-bpmn-infrastructure-common/src/main/java/org/onap/so/bpmn/infrastructure/pnf/delegate/ExecutionVariableNames.java b/bpmn/so-bpmn-infrastructure-common/src/main/java/org/onap/so/bpmn/infrastructure/pnf/delegate/ExecutionVariableNames.java index b3f2f726a0..1407cb9211 100644 --- a/bpmn/so-bpmn-infrastructure-common/src/main/java/org/onap/so/bpmn/infrastructure/pnf/delegate/ExecutionVariableNames.java +++ b/bpmn/so-bpmn-infrastructure-common/src/main/java/org/onap/so/bpmn/infrastructure/pnf/delegate/ExecutionVariableNames.java @@ -4,6 +4,8 @@ * ================================================================================ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. * ================================================================================ + * Modifications Copyright 2018 Nokia + * ================================================================================ * 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 @@ -30,4 +32,5 @@ public class ExecutionVariableNames { public final static String AAI_CONTAINS_INFO_ABOUT_IP = "aaiContainsInfoAboutIp"; public final static String DMAAP_MESSAGE = "dmaapMessage"; public final static String TIMEOUT_FOR_NOTIFICATION = "timeoutForPnfEntryNotification"; + public final static String PNF_UUID = "pnfUuid"; } diff --git a/bpmn/so-bpmn-infrastructure-common/src/main/java/org/onap/so/bpmn/infrastructure/pnf/delegate/GeneratePnfUuidDelegate.java b/bpmn/so-bpmn-infrastructure-common/src/main/java/org/onap/so/bpmn/infrastructure/pnf/delegate/GeneratePnfUuidDelegate.java new file mode 100644 index 0000000000..f5483e489e --- /dev/null +++ b/bpmn/so-bpmn-infrastructure-common/src/main/java/org/onap/so/bpmn/infrastructure/pnf/delegate/GeneratePnfUuidDelegate.java @@ -0,0 +1,43 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP - SO + * ================================================================================ + * Copyright (C) 2018 Nokia. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.onap.so.bpmn.infrastructure.pnf.delegate; + +import static org.onap.so.bpmn.infrastructure.pnf.delegate.ExecutionVariableNames.PNF_UUID; + +import java.util.UUID; +import org.camunda.bpm.engine.delegate.DelegateExecution; +import org.camunda.bpm.engine.delegate.JavaDelegate; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Component; + +@Component +public class GeneratePnfUuidDelegate implements JavaDelegate { + + private static final Logger logger = LoggerFactory.getLogger(GeneratePnfUuidDelegate.class); + + @Override + public void execute(DelegateExecution delegateExecution){ + UUID uuid = UUID.randomUUID(); + logger.debug("Generated UUID for pnf: {}, version: {}, variant: {}", uuid, uuid.version(), uuid.variant()); + delegateExecution.setVariable(PNF_UUID, uuid.toString()); + } +} diff --git a/bpmn/so-bpmn-infrastructure-common/src/main/java/org/onap/so/bpmn/infrastructure/pnf/delegate/PnfCheckInputs.java b/bpmn/so-bpmn-infrastructure-common/src/main/java/org/onap/so/bpmn/infrastructure/pnf/delegate/PnfCheckInputs.java index 94fb6a8674..e9b0bc77b2 100644 --- a/bpmn/so-bpmn-infrastructure-common/src/main/java/org/onap/so/bpmn/infrastructure/pnf/delegate/PnfCheckInputs.java +++ b/bpmn/so-bpmn-infrastructure-common/src/main/java/org/onap/so/bpmn/infrastructure/pnf/delegate/PnfCheckInputs.java @@ -4,6 +4,8 @@ * ================================================================================ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. * ================================================================================ + * Modifications Copyright 2018 Nokia + * ================================================================================ * 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 @@ -21,9 +23,11 @@ package org.onap.so.bpmn.infrastructure.pnf.delegate; import static org.onap.so.bpmn.infrastructure.pnf.delegate.ExecutionVariableNames.CORRELATION_ID; +import static org.onap.so.bpmn.infrastructure.pnf.delegate.ExecutionVariableNames.PNF_UUID; import static org.onap.so.bpmn.infrastructure.pnf.delegate.ExecutionVariableNames.TIMEOUT_FOR_NOTIFICATION; import com.google.common.base.Strings; +import java.util.regex.Pattern; import org.camunda.bpm.engine.delegate.DelegateExecution; import org.camunda.bpm.engine.delegate.JavaDelegate; import org.onap.so.bpmn.common.scripts.ExceptionUtil; @@ -35,6 +39,8 @@ import org.springframework.stereotype.Component; @Component public class PnfCheckInputs implements JavaDelegate { + private static final Pattern UUID_PATTERN = Pattern + .compile("(?i)^[0-9a-f]{8}-[0-9a-f]{4}-[1-5]{1}[0-9a-f]{3}-[89ab]{1}[0-9a-f]{3}-[0-9a-f]{12}$"); private static MsoLogger LOGGER = MsoLogger.getMsoLogger(MsoLogger.Catalog.GENERAL, PnfCheckInputs.class); private String defaultTimeout; @@ -46,19 +52,37 @@ public class PnfCheckInputs implements JavaDelegate { @Override public void execute(DelegateExecution execution) { + validateCorrelationId(execution); + validatePnfUuid(execution); + validateTimeout(execution); + } + + private void validateCorrelationId(DelegateExecution execution) { String correlationId = (String) execution.getVariable(CORRELATION_ID); if (Strings.isNullOrEmpty(correlationId)) { new ExceptionUtil().buildAndThrowWorkflowException(execution, 9999, "correlationId variable not defined"); } + } + + private void validatePnfUuid(DelegateExecution execution) { + String pnfUuid = (String) execution.getVariable(PNF_UUID); + if (Strings.isNullOrEmpty(pnfUuid)) { + new ExceptionUtil().buildAndThrowWorkflowException(execution, 9999, "pnfUuid variable not defined"); + } + if (!UUID_PATTERN.matcher(pnfUuid).matches()) { + new ExceptionUtil().buildAndThrowWorkflowException(execution, 9999, "pnfUuid is not a valid UUID"); + } + } + + private void validateTimeout(DelegateExecution execution) { String timeout = (String) execution.getVariable(TIMEOUT_FOR_NOTIFICATION); if (Strings.isNullOrEmpty(timeout)) { LOGGER.debug("timeoutForPnfEntryNotification variable not found, setting default"); if (defaultTimeout == null) { new ExceptionUtil().buildAndThrowWorkflowException(execution, 9999, - "default timeoutForPnfEntryNotification value not defined"); + "default timeoutForPnfEntryNotification value not defined"); } execution.setVariable(TIMEOUT_FOR_NOTIFICATION, defaultTimeout); } } - } diff --git a/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/CreateSDNCNetworkResourceTest.groovy b/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/CreateSDNCNetworkResourceTest.groovy new file mode 100644 index 0000000000..9ee995e036 --- /dev/null +++ b/bpmn/so-bpmn-infrastructure-common/src/test/groovy/org/onap/so/bpmn/infrastructure/scripts/CreateSDNCNetworkResourceTest.groovy @@ -0,0 +1,118 @@ +package org.onap.so.bpmn.infrastructure.scripts + +import com.github.tomakehurst.wiremock.junit.WireMockRule +import org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity +import org.junit.Rule +import org.junit.Test +import org.mockito.MockitoAnnotations +import org.onap.so.bpmn.common.recipe.ResourceInput +import org.onap.so.bpmn.common.resource.ResourceRequestBuilder + +import static org.mockito.Mockito.* +/** + * Copyright 2018 ZTE Corporation. + * + * 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. + */ +class CreateSDNCNetworkResourceTest extends GroovyTestCase { + + @Rule + public WireMockRule wireMockRule = new WireMockRule(8090) + + String Prefix = "CRESDNCRES_" + String sdncAdapterWorkflowResponse + + void init() { + MockitoAnnotations.initMocks(this) + sdncAdapterWorkflowResponse = """ + <sdncadapterworkflow:SDNCAdapterWorkflowResponse xmlns:sdncadapterworkflow="http://org.onap/so/workflow/schema/v1"> + <sdncadapterworkflow:response-data> + <CallbackHeader> + <RequestId>726420e0-3962-4bf2-9655-aac82fc7055e</RequestId> + <ResponseCode>200</ResponseCode> + <ResponseMessage>OK</ResponseMessage> + </CallbackHeader> + <RequestData xsi:type="xs:string" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><output xmlns="org:onap:sdnc:northbound:generic-resource"><response-message></response-message><ack-final-indicator>Y</ack-final-indicator><svc-request-id>726420e0-3962-4bf2-9655-aac82fc7055e</svc-request-id><network-response-information><instance-id>9fa732b8-2c54-4eba-926d-464d18c07474</instance-id><object-path>restconf/config/GENERIC-RESOURCE-API:services/service/a99deffb-12e2-4656-8cf2-2d2a996d0f52/service-data/networks/network/9fa732b8-2c54-4eba-926d-464d18c07474/network-data/</object-path></network-response-information><response-code>200</response-code><service-response-information><instance-id>a99deffb-12e2-4656-8cf2-2d2a996d0f52</instance-id></service-response-information></output></RequestData> + </sdncadapterworkflow:response-data> + </sdncadapterworkflow:SDNCAdapterWorkflowResponse>""" + + } + + private ResourceInput getResInputObj(String modelName) { + String resourceInput = "{\n" + + "\t\"resourceInstanceName\": \"SotnFc-wan-connection_wanconnection-37\",\n" + + "\t\"resourceInstanceDes\": null,\n" + + "\t\"globalSubscriberId\": \"sdwandemo\",\n" + + "\t\"serviceType\": \"CCVPN\",\n" + + "\t\"operationId\": \"df3387b5-4fbf-41bd-82a0-13a955ac178a\",\n" + + "\t\"serviceModelInfo\": {\n" + + "\t\t\"modelName\": \"WanConnectionSvc03\",\n" + + "\t\t\"modelUuid\": \"198b066c-0771-4157-9594-1824adfdda7e\",\n" + + "\t\t\"modelInvariantUuid\": \"43fb5165-7d03-4009-8951-a8f45d3f0148\",\n" + + "\t\t\"modelVersion\": \"1.0\",\n" + + "\t\t\"modelCustomizationUuid\": \"\",\n" + + "\t\t\"modelCustomizationName\": \"\",\n" + + "\t\t\"modelInstanceName\": \"\",\n" + + "\t\t\"modelType\": \"\"\n" + + "\t},\n" + + "\t\"resourceModelInfo\": {\n" + + "\t\t\"modelName\": \"" + + modelName + + "\",\n" + + "\t\t\"modelUuid\": \"6a0bf88b-343c-415b-88c1-6f73702452c4\",\n" + + "\t\t\"modelInvariantUuid\": \"50bc3415-2e01-4e50-a9e1-ec9584599bb3\",\n" + + "\t\t\"modelCustomizationUuid\": \"b205d620-84bd-4058-afa0-e3aeee8bb712\",\n" + + "\t\t\"modelCustomizationName\": \"\",\n" + + "\t\t\"modelInstanceName\": \"SotnFc-wan-connection 0\",\n" + + "\t\t\"modelType\": \"\"\n" + + "\t},\n" + + "\t\"resourceInstancenUuid\": null,\n" + + "\t\"resourceParameters\": \"{\\n\\\"locationConstraints\\\":[],\\n\\\"requestInputs\\\":{\\\"sotnfcspecwanconnection0_route-objective-function\\\":null,\\\"sotnfcspecwanconnection0_colorAware\\\":null,\\\"3rdctlspecwanconnection0_thirdPartyAdaptorRpc\\\":null,\\\"sotnfcspecwanconnection0_couplingFlag\\\":null,\\\"sotnfcspecwanconnection0_pbs\\\":null,\\\"3rdctlspecwanconnection0_thirdPartySdncId\\\":null,\\\"sotnfcspecwanconnection0_cbs\\\":null,\\\"3rdctlspecwanconnection0_thirdpartySdncName\\\":null,\\\"sotnfcspecwanconnection0_total-size\\\":null,\\\"3rdctlspecwanconnection0_templateFileName\\\":\\\"sotn_create_zte_template.json\\\",\\\"fcwanconnection0_type\\\":null,\\\"sotnfcspecwanconnection0_cir\\\":null,\\\"fcwanconnection0_uuid\\\":null,\\\"sotnfcspecwanconnection0_diversity-policy\\\":null,\\\"nf_naming\\\":true,\\\"multi_stage_design\\\":false,\\\"availability_zone_max_count\\\":1,\\\"3rdctlspecwanconnection0_restapiUrl\\\":\\\"http://10.80.80.21:8443/restconf/operations/ZTE-API-ConnectivityService:create-connectivity-service\\\",\\\"max_instances\\\":null,\\\"sotnfcspecwanconnection0_reroute\\\":null,\\\"fcwanconnection0_name\\\":null,\\\"sotnfcspecwanconnection0_dualLink\\\":null,\\\"min_instances\\\":null,\\\"sotnfcspecwanconnection0_pir\\\":null,\\\"sotnfcspecwanconnection0_service-type\\\":null}\\n}\",\n" + + "\t\"operationType\": \"createInstance\",\n" + + "\t\"serviceInstanceId\": \"ffa07ae4-f820-45af-9439-1416b3bc1d39\",\n" + + "\t\"requestsInputs\": \"{\\r\\n\\t\\\"service\\\": {\\r\\n\\t\\t\\\"name\\\": \\\"wanconnection-37\\\",\\r\\n\\t\\t\\\"description\\\": \\\"deafe\\\",\\r\\n\\t\\t\\\"serviceInvariantUuid\\\": \\\"43fb5165-7d03-4009-8951-a8f45d3f0148\\\",\\r\\n\\t\\t\\\"serviceUuid\\\": \\\"198b066c-0771-4157-9594-1824adfdda7e\\\",\\r\\n\\t\\t\\\"globalSubscriberId\\\": \\\"sdwandemo\\\",\\r\\n\\t\\t\\\"serviceType\\\": \\\"CCVPN\\\",\\r\\n\\t\\t\\\"parameters\\\": {\\r\\n\\t\\t\\t\\\"resources\\\": [\\r\\n\\t\\t\\t],\\r\\n\\t\\t\\t\\\"requestInputs\\\": {\\r\\n\\t\\t\\t\\t\\\"sotnfcwanconnection0_3rdctlspecwanconnection0_restapiUrl\\\": \\\"http://10.80.80.21:8443/restconf/operations/ZTE-API-ConnectivityService:create-connectivity-service\\\",\\r\\n\\t\\t\\t\\t\\\"sotnfcwanconnection0_3rdctlspecwanconnection0_templateFileName\\\": \\\"sotn_create_zte_template.json\\\",\\r\\n\\t\\t\\t\\t\\\"sdwanfcwanconnection0_3rdctlspecwanconnection0_restapiUrl\\\": \\\"http://10.80.80.21:8443/restconf/operations/ZTE-API-ConnectivityService:create-connectivity-service\\\",\\r\\n\\t\\t\\t\\t\\\"sdwanfcwanconnection0_3rdctlspecwanconnection0_templateFileName\\\": \\\"sdwan_create_zte_template.json\\\"\\r\\n\\t\\t\\t}\\r\\n\\t\\t}\\r\\n\\t}\\r\\n}\"\n" + + "}" + ResourceInput resourceInputObj = ResourceRequestBuilder.getJsonObject(resourceInput, ResourceInput.class) + return resourceInputObj + } + + @Test + void testAfterCreateSDNCCall() { + init() + checkGetInstanceId(getResInputObj("SotnFc-wan-connection")) + checkGetInstanceId(getResInputObj("SOTNConnectivity")) + checkGetInstanceId(getResInputObj("SDWANConnectivity")) + } + + private void checkGetInstanceId(ResourceInput input) { + ExecutionEntity mockExecution = mock(ExecutionEntity.class) + when(mockExecution.getVariable(Prefix + "sdncCreateReturnCode")).thenReturn("200") + when(mockExecution.getVariable(Prefix + "SuccessIndicator")).thenReturn("false") + when(mockExecution.getVariable("isActivateRequired")).thenReturn("true") + when(mockExecution.getVariable("CRENWKI_createSDNCResponse")).thenReturn(sdncAdapterWorkflowResponse) + when(mockExecution.getVariable(Prefix + "resourceInput")).thenReturn(input.toString()) + CreateSDNCNetworkResource createSDNCNetworkResource = new CreateSDNCNetworkResource() + createSDNCNetworkResource.afterCreateSDNCCall(mockExecution) + def instanceId = getInstanceId() + verify(mockExecution).setVariable("networkInstanceId", instanceId) + } + + private getInstanceId() { + def response = new XmlSlurper().parseText(sdncAdapterWorkflowResponse) + def data = response.toString() + data = data.substring(data.indexOf("<")) + def resp = new XmlSlurper().parseText(data) + def instanceId = resp."network-response-information"."instance-id" + return instanceId + } +} diff --git a/bpmn/so-bpmn-infrastructure-common/src/test/java/org/onap/so/bpmn/infrastructure/pnf/delegate/CreateAaiEntryWithPnfIdDelegateTest.java b/bpmn/so-bpmn-infrastructure-common/src/test/java/org/onap/so/bpmn/infrastructure/pnf/delegate/CreatePnfEntryInAaiDelegateTest.java index 465dc085fc..0872060d55 100644 --- a/bpmn/so-bpmn-infrastructure-common/src/test/java/org/onap/so/bpmn/infrastructure/pnf/delegate/CreateAaiEntryWithPnfIdDelegateTest.java +++ b/bpmn/so-bpmn-infrastructure-common/src/test/java/org/onap/so/bpmn/infrastructure/pnf/delegate/CreatePnfEntryInAaiDelegateTest.java @@ -4,6 +4,8 @@ * ================================================================================ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. * ================================================================================ + * Modifications Copyright 2018 Nokia + * ================================================================================ * 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 @@ -20,31 +22,35 @@ package org.onap.so.bpmn.infrastructure.pnf.delegate; import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.BDDMockito.given; import static org.mockito.Matchers.eq; import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.when; import static org.onap.so.bpmn.infrastructure.pnf.delegate.ExecutionVariableNames.CORRELATION_ID; +import static org.onap.so.bpmn.infrastructure.pnf.delegate.ExecutionVariableNames.PNF_UUID; +import java.util.UUID; import org.camunda.bpm.engine.delegate.DelegateExecution; import org.junit.Test; import org.onap.aai.domain.yang.Pnf; -public class CreateAaiEntryWithPnfIdDelegateTest { +public class CreatePnfEntryInAaiDelegateTest { @Test public void shouldSetPnfIdAndPnfName() throws Exception { // given - CreateAaiEntryWithPnfIdDelegate delegate = new CreateAaiEntryWithPnfIdDelegate(); + String pnfUuid = UUID.nameUUIDFromBytes("testUuid".getBytes()).toString(); + CreatePnfEntryInAaiDelegate delegate = new CreatePnfEntryInAaiDelegate(); AaiConnectionTestImpl aaiConnection = new AaiConnectionTestImpl(); delegate.setAaiConnection(aaiConnection); DelegateExecution execution = mock(DelegateExecution.class); - when(execution.getVariable(eq(CORRELATION_ID))).thenReturn("testCorrelationId"); + given(execution.getVariable(eq(CORRELATION_ID))).willReturn("testCorrelationId"); + given(execution.getVariable(eq(PNF_UUID))).willReturn(pnfUuid); // when delegate.execute(execution); // then Pnf createdEntry = aaiConnection.getCreated().get("testCorrelationId"); - assertThat(createdEntry.getPnfId()).isEqualTo("testCorrelationId"); + assertThat(createdEntry.getPnfId()).isEqualTo(pnfUuid); assertThat(createdEntry.getPnfName()).isEqualTo("testCorrelationId"); - assertThat(createdEntry.isInMaint()).isTrue(); + assertThat(createdEntry.isInMaint()).isNull(); } }
\ No newline at end of file diff --git a/bpmn/so-bpmn-infrastructure-common/src/test/java/org/onap/so/bpmn/infrastructure/pnf/delegate/GeneratePnfUuidDelegateTest.java b/bpmn/so-bpmn-infrastructure-common/src/test/java/org/onap/so/bpmn/infrastructure/pnf/delegate/GeneratePnfUuidDelegateTest.java new file mode 100644 index 0000000000..763a4546e8 --- /dev/null +++ b/bpmn/so-bpmn-infrastructure-common/src/test/java/org/onap/so/bpmn/infrastructure/pnf/delegate/GeneratePnfUuidDelegateTest.java @@ -0,0 +1,43 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP - SO + * ================================================================================ + * Copyright (C) 2018 Nokia. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.onap.so.bpmn.infrastructure.pnf.delegate; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.onap.so.bpmn.infrastructure.pnf.delegate.ExecutionVariableNames.PNF_UUID; + +import org.camunda.bpm.engine.delegate.DelegateExecution; +import org.camunda.bpm.extension.mockito.delegate.DelegateExecutionFake; +import org.junit.Test; + +public class GeneratePnfUuidDelegateTest { + private static final String UUID_REGEX = "(?i)^[0-9a-f]{8}-[0-9a-f]{4}-[1-5]{1}[0-9a-f]{3}-[89ab]{1}[0-9a-f]{3}-[0-9a-f]{12}$"; + + @Test + public void execute_shouldSetValidUuidAsPnfUuid() { + // given + GeneratePnfUuidDelegate delegate = new GeneratePnfUuidDelegate(); + DelegateExecution execution = new DelegateExecutionFake(); + // when + delegate.execute(execution); + // then + assertThat((String) execution.getVariable(PNF_UUID)).matches(UUID_REGEX); + } +}
\ No newline at end of file diff --git a/bpmn/so-bpmn-infrastructure-common/src/test/java/org/onap/so/bpmn/infrastructure/pnf/delegate/PnfCheckInputsTest.java b/bpmn/so-bpmn-infrastructure-common/src/test/java/org/onap/so/bpmn/infrastructure/pnf/delegate/PnfCheckInputsTest.java index ab8d206a62..d670305a9a 100644 --- a/bpmn/so-bpmn-infrastructure-common/src/test/java/org/onap/so/bpmn/infrastructure/pnf/delegate/PnfCheckInputsTest.java +++ b/bpmn/so-bpmn-infrastructure-common/src/test/java/org/onap/so/bpmn/infrastructure/pnf/delegate/PnfCheckInputsTest.java @@ -4,6 +4,8 @@ * ================================================================================ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. * ================================================================================ + * Modifications Copyright 2018 Nokia + * ================================================================================ * 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 @@ -20,90 +22,101 @@ package org.onap.so.bpmn.infrastructure.pnf.delegate; -import static org.mockito.ArgumentMatchers.eq; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; +import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.AssertionsForClassTypes.assertThatThrownBy; import static org.onap.so.bpmn.infrastructure.pnf.delegate.ExecutionVariableNames.CORRELATION_ID; +import static org.onap.so.bpmn.infrastructure.pnf.delegate.ExecutionVariableNames.PNF_UUID; import static org.onap.so.bpmn.infrastructure.pnf.delegate.ExecutionVariableNames.TIMEOUT_FOR_NOTIFICATION; +import java.util.UUID; import org.camunda.bpm.engine.delegate.BpmnError; import org.camunda.bpm.engine.delegate.DelegateExecution; -import org.junit.Rule; +import org.camunda.bpm.extension.mockito.delegate.DelegateExecutionFake; +import org.junit.Before; import org.junit.Test; -import org.junit.rules.ExpectedException; public class PnfCheckInputsTest { private static final String DEFAULT_TIMEOUT = "P1D"; + private static final String VALID_UUID = UUID.nameUUIDFromBytes("testUuid".getBytes()).toString(); + private static final String RESERVED_UUID = new UUID(0, 0).toString(); + + private DelegateExecution delegateExecution; - @Rule - public ExpectedException expectedException = ExpectedException.none(); - - private DelegateExecution mockDelegateExecution() { - new PnfCheckInputs(DEFAULT_TIMEOUT); - DelegateExecution delegateExecution = mock(DelegateExecution.class); - when(delegateExecution.getVariable("testProcessKey")).thenReturn("testProcessKeyValue"); - return delegateExecution; + @Before + public void setUp() { + delegateExecution = new DelegateExecutionFake(); + delegateExecution.setVariable("testProcessKey", "testProcessKeyValue"); } @Test - public void shouldThrowException_whenPnfIdNotSet() { - // given - PnfCheckInputs testedObject = new PnfCheckInputs(DEFAULT_TIMEOUT); - DelegateExecution delegateExecution = mockDelegateExecution(); - // when, then - expectedException.expect(BpmnError.class); - testedObject.execute(delegateExecution); + public void shouldThrowException_whenCorrelationIdNotSet() { + PnfCheckInputs testedObject = prepareExecutionForCorrelationId(null); + assertThatThrownBy(() -> testedObject.execute(delegateExecution)).isInstanceOf(BpmnError.class); } @Test - public void shouldThrowException_whenPnfIdIsEmptyString() throws Exception { - // given - PnfCheckInputs testedObject = new PnfCheckInputs(DEFAULT_TIMEOUT); - DelegateExecution delegateExecution = mockDelegateExecution(); - when(delegateExecution.getVariable(CORRELATION_ID)).thenReturn(""); - // when, then - expectedException.expect(BpmnError.class); - testedObject.execute(delegateExecution); + public void shouldThrowException_whenCorrelationIdIsEmptyString() { + PnfCheckInputs testedObject = prepareExecutionForCorrelationId(""); + assertThatThrownBy(() -> testedObject.execute(delegateExecution)).isInstanceOf(BpmnError.class); } - private DelegateExecution mockDelegateExecutionWithCorrelationId() { - new PnfCheckInputs(DEFAULT_TIMEOUT); - DelegateExecution delegateExecution = mockDelegateExecution(); - when(delegateExecution.getVariable(CORRELATION_ID)).thenReturn("testCorrelationId"); - return delegateExecution; + @Test + public void shouldThrowException_whenTimeoutIsNotSetAndDefaultIsNotDefined() { + PnfCheckInputs testedObject = prepareExecutionForTimeout(null, null); + assertThatThrownBy(() -> testedObject.execute(delegateExecution)).isInstanceOf(BpmnError.class); } @Test - public void shouldThrowException_whenTimeoutIsNotSetAndDefaultIsNotDefined() { - // given - PnfCheckInputs testedObject = new PnfCheckInputs(null); - DelegateExecution delegateExecution = mockDelegateExecutionWithCorrelationId(); - // when, then - expectedException.expect(BpmnError.class); - testedObject.execute(delegateExecution); + public void shouldThrowException_whenTimeoutIsEmptyStringAndDefaultIsNotDefined() { + PnfCheckInputs testedObject = prepareExecutionForTimeout(null, ""); + assertThatThrownBy(() -> testedObject.execute(delegateExecution)).isInstanceOf(BpmnError.class); } @Test - public void shouldThrowException_whenTimeoutIsEmptyStringAndDefaultIsNotDefined() throws Exception { - // given - PnfCheckInputs testedObject = new PnfCheckInputs(null); - DelegateExecution delegateExecution = mockDelegateExecutionWithCorrelationId(); - when(delegateExecution.getVariable(TIMEOUT_FOR_NOTIFICATION)).thenReturn(""); - // when, then - expectedException.expect(BpmnError.class); + public void shouldSetDefaultTimeout_whenTimeoutIsNotSet() { + PnfCheckInputs testedObject = prepareExecutionForTimeout(DEFAULT_TIMEOUT, null); testedObject.execute(delegateExecution); + assertThat(delegateExecution.getVariable(TIMEOUT_FOR_NOTIFICATION)).isEqualTo(DEFAULT_TIMEOUT); } @Test - public void shouldSetDefaultTimeout_whenTimeoutIsNotSet() { - // given + public void shouldThrowException_whenPnfUuidIsNotSet() { + PnfCheckInputs testedObject = prepareExecutionForUuid(null); + assertThatThrownBy(() -> testedObject.execute(delegateExecution)).isInstanceOf(BpmnError.class); + } + + @Test + public void shouldThrowException_whenPnfUuidIsEmptyString() { + PnfCheckInputs testedObject = prepareExecutionForUuid(""); + assertThatThrownBy(() -> testedObject.execute(delegateExecution)).isInstanceOf(BpmnError.class); + } + + @Test + public void shouldThrowException_whenPnfUuidIsReservedUuid() { + PnfCheckInputs testedObject = prepareExecutionForUuid(RESERVED_UUID); + assertThatThrownBy(() -> testedObject.execute(delegateExecution)).isInstanceOf(BpmnError.class); + } + + private PnfCheckInputs prepareExecutionForCorrelationId(String correlationId) { PnfCheckInputs testedObject = new PnfCheckInputs(DEFAULT_TIMEOUT); - DelegateExecution delegateExecution = mockDelegateExecutionWithCorrelationId(); - // when - testedObject.execute(delegateExecution); - // then - verify(delegateExecution).setVariable(eq(TIMEOUT_FOR_NOTIFICATION), eq(DEFAULT_TIMEOUT)); + delegateExecution.setVariable(CORRELATION_ID, correlationId); + delegateExecution.setVariable(PNF_UUID, VALID_UUID); + return testedObject; + } + + private PnfCheckInputs prepareExecutionForTimeout(String defaultTimeout, String timeout) { + PnfCheckInputs testedObject = new PnfCheckInputs(defaultTimeout); + delegateExecution.setVariable(CORRELATION_ID, "testCorrelationId"); + delegateExecution.setVariable(PNF_UUID, VALID_UUID); + delegateExecution.setVariable(TIMEOUT_FOR_NOTIFICATION, timeout); + return testedObject; + } + + private PnfCheckInputs prepareExecutionForUuid(String uuid) { + PnfCheckInputs testedObject = new PnfCheckInputs(DEFAULT_TIMEOUT); + delegateExecution.setVariable(CORRELATION_ID, "testCorrelationId"); + delegateExecution.setVariable(PNF_UUID, uuid); + return testedObject; } } diff --git a/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/CreateAndActivatePnfResource.bpmn b/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/CreateAndActivatePnfResource.bpmn index e0b14ab0db..d8079174c1 100644 --- a/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/CreateAndActivatePnfResource.bpmn +++ b/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/CreateAndActivatePnfResource.bpmn @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8"?> -<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="Definitions_1" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="1.16.2"> +<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="Definitions_1" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="2.0.3"> <bpmn:collaboration id="Collaboration_1d0w8lf"> <bpmn:participant id="Participant_1egg397" name="SO Create and Activate Pnf Resource" processRef="CreateAndActivatePnfResource" /> <bpmn:participant id="Participant_0atuyq0" name="AAI" /> <bpmn:participant id="Participant_19w87ws" name="Workflow Message Service (communication with DMAAP) " /> - <bpmn:messageFlow id="MessageFlow_1h3xu88" sourceRef="CreateAndActivatePnf_CreateAaiEntry" targetRef="Participant_0atuyq0" /> + <bpmn:messageFlow id="MessageFlow_1h3xu88" sourceRef="CreatePnfEntryInAai" targetRef="Participant_0atuyq0" /> <bpmn:messageFlow id="MessageFlow_09ibv5a" sourceRef="CheckAiiForCorrelationId" targetRef="Participant_0atuyq0" /> <bpmn:messageFlow id="MessageFlow_0vjul4t" sourceRef="Participant_0atuyq0" targetRef="CheckAiiForCorrelationId" /> <bpmn:messageFlow id="MessageFlow_1vrcp2d" sourceRef="Participant_19w87ws" targetRef="WaitForDmaapPnfReadyNotification" /> @@ -14,12 +14,12 @@ <bpmn:process id="CreateAndActivatePnfResource" name="CreateAndActivatePnfResource" isExecutable="true"> <bpmn:sequenceFlow id="SequenceFlow_1kc34bc" sourceRef="WaitForDmaapTimeout" targetRef="CancelDmaapClientSubscription" /> <bpmn:sequenceFlow id="SequenceFlow_1o8od8e" sourceRef="InformDmaapClient" targetRef="WaitForDmaapPnfReadyNotification" /> - <bpmn:sequenceFlow id="SequenceFlow_0v5ffpe" name="No" sourceRef="DoesAaiContainInfoAboutPnf" targetRef="CreateAndActivatePnf_CreateAaiEntry"> + <bpmn:sequenceFlow id="SequenceFlow_0v5ffpe" name="No" sourceRef="DoesAaiContainInfoAboutPnf" targetRef="CreatePnfEntryInAai"> <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression">#{!aaiContainsInfoAboutPnf}</bpmn:conditionExpression> </bpmn:sequenceFlow> <bpmn:sequenceFlow id="SequenceFlow_0p09qgm" sourceRef="WaitForDmaapPnfReadyNotification" targetRef="AaiEntryUpdated" /> <bpmn:sequenceFlow id="SequenceFlow_17s9025" sourceRef="AaiEntryExists" targetRef="InformDmaapClient" /> - <bpmn:sequenceFlow id="SequenceFlow_1qr6cmf" sourceRef="CreateAndActivatePnf_CreateAaiEntry" targetRef="AaiEntryExists" /> + <bpmn:sequenceFlow id="SequenceFlow_1qr6cmf" sourceRef="CreatePnfEntryInAai" targetRef="AaiEntryExists" /> <bpmn:sequenceFlow id="SequenceFlow_1j4r3zt" sourceRef="CheckAiiForCorrelationId" targetRef="DoesAaiContainInfoAboutPnf" /> <bpmn:sequenceFlow id="SequenceFlow_0j5ksz1" sourceRef="CreateAndActivatePnf_StartEvent" targetRef="CheckInputs" /> <bpmn:sequenceFlow id="SequenceFlow_1miyzfe" sourceRef="CancelDmaapClientSubscription" targetRef="ThrowTimeoutException" /> @@ -35,16 +35,11 @@ <bpmn:incoming>SequenceFlow_1kc34bc</bpmn:incoming> <bpmn:outgoing>SequenceFlow_1miyzfe</bpmn:outgoing> </bpmn:serviceTask> - <bpmn:serviceTask id="InformDmaapClient" name="Inform DmaapClient about business key and corresponding pnf-id" camunda:delegateExpression="${InformDmaapClient}"> + <bpmn:serviceTask id="InformDmaapClient" name="Register in Dmaap" camunda:delegateExpression="${InformDmaapClient}"> <bpmn:incoming>SequenceFlow_17s9025</bpmn:incoming> <bpmn:outgoing>SequenceFlow_1o8od8e</bpmn:outgoing> </bpmn:serviceTask> - <bpmn:intermediateThrowEvent id="AaiEntryExists" name="AAI entry exists"> - <bpmn:incoming>SequenceFlow_1qr6cmf</bpmn:incoming> - <bpmn:incoming>SequenceFlow_1l1t6ak</bpmn:incoming> - <bpmn:outgoing>SequenceFlow_17s9025</bpmn:outgoing> - </bpmn:intermediateThrowEvent> - <bpmn:serviceTask id="CreateAndActivatePnf_CreateAaiEntry" name="Create AAI entry with pnf-id = correlation_id" camunda:delegateExpression="${CreateAaiEntryWithPnfIdDelegate}"> + <bpmn:serviceTask id="CreatePnfEntryInAai" name="Create Pnf entry in AAI" camunda:delegateExpression="${CreatePnfEntryInAaiDelegate}"> <bpmn:incoming>SequenceFlow_0v5ffpe</bpmn:incoming> <bpmn:outgoing>SequenceFlow_1qr6cmf</bpmn:outgoing> </bpmn:serviceTask> @@ -77,11 +72,17 @@ <bpmn:timeDuration xsi:type="bpmn:tFormalExpression">#{timeoutForPnfEntryNotification}</bpmn:timeDuration> </bpmn:timerEventDefinition> </bpmn:boundaryEvent> + <bpmn:exclusiveGateway id="AaiEntryExists" name="AAI entry exists"> + <bpmn:incoming>SequenceFlow_1l1t6ak</bpmn:incoming> + <bpmn:incoming>SequenceFlow_1qr6cmf</bpmn:incoming> + <bpmn:outgoing>SequenceFlow_17s9025</bpmn:outgoing> + </bpmn:exclusiveGateway> <bpmn:association id="Association_0d7oxnz" sourceRef="CreateAndActivatePnf_StartEvent" targetRef="TextAnnotation_1eyzes8" /> <bpmn:textAnnotation id="TextAnnotation_1eyzes8"> <bpmn:text>Inputs: Â -Â timeoutForPnfEntryNotification - String - correlationId - String + - uuid - String </bpmn:text> </bpmn:textAnnotation> </bpmn:process> @@ -113,7 +114,7 @@ <bpmndi:BPMNShape id="ServiceTask_0a5uk9o_di" bpmnElement="CheckAiiForCorrelationId"> <dc:Bounds x="219" y="167" width="100" height="80" /> </bpmndi:BPMNShape> - <bpmndi:BPMNShape id="ServiceTask_0iimk5v_di" bpmnElement="CreateAndActivatePnf_CreateAaiEntry"> + <bpmndi:BPMNShape id="ServiceTask_0iimk5v_di" bpmnElement="CreatePnfEntryInAai"> <dc:Bounds x="511" y="167" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_1j4r3zt_di" bpmnElement="SequenceFlow_1j4r3zt"> @@ -124,12 +125,12 @@ </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_1l1t6ak_di" bpmnElement="SequenceFlow_1l1t6ak"> - <di:waypoint x="415" y="207" /> + <di:waypoint x="415" y="182" /> <di:waypoint x="415" y="66" /> - <di:waypoint x="707" y="66" /> - <di:waypoint x="707" y="189" /> + <di:waypoint x="711" y="66" /> + <di:waypoint x="711" y="182" /> <bpmndi:BPMNLabel> - <dc:Bounds x="430" y="180" width="19" height="14" /> + <dc:Bounds x="430" y="159" width="19" height="14" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_0v5ffpe_di" bpmnElement="SequenceFlow_0v5ffpe"> @@ -141,7 +142,7 @@ </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_1qr6cmf_di" bpmnElement="SequenceFlow_1qr6cmf"> <di:waypoint x="611" y="207" /> - <di:waypoint x="689" y="207" /> + <di:waypoint x="686" y="207" /> <bpmndi:BPMNLabel> <dc:Bounds x="605" y="187" width="90" height="10" /> </bpmndi:BPMNLabel> @@ -186,18 +187,12 @@ <dc:Bounds x="1305" y="382" width="70" height="27" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> - <bpmndi:BPMNShape id="IntermediateThrowEvent_0fjcdy4_di" bpmnElement="AaiEntryExists"> - <dc:Bounds x="689" y="189" width="36" height="36" /> - <bpmndi:BPMNLabel> - <dc:Bounds x="672" y="235" width="77" height="14" /> - </bpmndi:BPMNLabel> - </bpmndi:BPMNShape> <bpmndi:BPMNShape id="TextAnnotation_1eyzes8_di" bpmnElement="TextAnnotation_1eyzes8"> - <dc:Bounds x="-37" y="70" width="243" height="54" /> + <dc:Bounds x="-37" y="70" width="243" height="82" /> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="Association_0d7oxnz_di" bpmnElement="Association_0d7oxnz"> <di:waypoint x="-36" y="189" /> - <di:waypoint x="-36" y="124" /> + <di:waypoint x="-36" y="152" /> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="MessageFlow_1vrcp2d_di" bpmnElement="MessageFlow_1vrcp2d"> <di:waypoint x="1060" y="523" /> @@ -207,7 +202,7 @@ </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_17s9025_di" bpmnElement="SequenceFlow_17s9025"> - <di:waypoint x="725" y="207" /> + <di:waypoint x="736" y="207" /> <di:waypoint x="803" y="207" /> <bpmndi:BPMNLabel> <dc:Bounds x="719" y="187" width="90" height="10" /> @@ -281,6 +276,12 @@ <bpmndi:BPMNShape id="ServiceTask_0lx02qn_di" bpmnElement="CheckInputs"> <dc:Bounds x="48" y="167" width="100" height="80" /> </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ExclusiveGateway_0qwrtuy_di" bpmnElement="AaiEntryExists" isMarkerVisible="true"> + <dc:Bounds x="686" y="182" width="50" height="50" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="672" y="242" width="77" height="14" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> </bpmndi:BPMNPlane> </bpmndi:BPMNDiagram> </bpmn:definitions> diff --git a/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/CreateVcpeResCustService_simplified.bpmn b/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/CreateVcpeResCustService_simplified.bpmn index 02b564e81f..3940dece12 100644 --- a/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/CreateVcpeResCustService_simplified.bpmn +++ b/bpmn/so-bpmn-infrastructure-flows/src/main/resources/process/CreateVcpeResCustService_simplified.bpmn @@ -1,12 +1,12 @@ <?xml version="1.0" encoding="UTF-8"?> -<bpmn2:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" id="_MagIIMOUEeW8asg-vCEgWQ" targetNamespace="http://camunda.org/schema/1.0/bpmn" exporter="Camunda Modeler" exporterVersion="1.11.3" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd"> +<bpmn2:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" id="_MagIIMOUEeW8asg-vCEgWQ" targetNamespace="http://camunda.org/schema/1.0/bpmn" exporter="Camunda Modeler" exporterVersion="2.0.3" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd"> <bpmn2:process id="CreateVcpeResCustService_simplified" name="CreateVcpeResCustService_simplified" isExecutable="true"> <bpmn2:scriptTask id="sendSyncAckResponse_ScriptTask" name="Send Sync Ack Response" scriptFormat="groovy"> <bpmn2:incoming>SequenceFlow_7</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_3</bpmn2:outgoing> - <bpmn2:script><![CDATA[import org.onap.so.bpmn.vcpe.scripts.* + <bpmn2:script>import org.onap.so.bpmn.vcpe.scripts.* def CreateVcpeResCustService = new CreateVcpeResCustService() -CreateVcpeResCustService.sendSyncResponse(execution)]]></bpmn2:script> +CreateVcpeResCustService.sendSyncResponse(execution)</bpmn2:script> </bpmn2:scriptTask> <bpmn2:sequenceFlow id="SequenceFlow_3" name="" sourceRef="sendSyncAckResponse_ScriptTask" targetRef="IntermediateThrowEvent_2" /> <bpmn2:startEvent id="createVCPE_startEvent" name="Start Flow"> @@ -16,10 +16,9 @@ CreateVcpeResCustService.sendSyncResponse(execution)]]></bpmn2:script> <bpmn2:scriptTask id="preProcessRequest_ScriptTask" name="PreProcess Incoming Request" scriptFormat="groovy"> <bpmn2:incoming>SequenceFlow_1</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_7</bpmn2:outgoing> - <bpmn2:script><![CDATA[import org.onap.so.bpmn.vcpe.scripts.* + <bpmn2:script>import org.onap.so.bpmn.vcpe.scripts.* def CreateVcpeResCustService = new CreateVcpeResCustService() -CreateVcpeResCustService.preProcessRequest(execution) -]]></bpmn2:script> +CreateVcpeResCustService.preProcessRequest(execution)</bpmn2:script> </bpmn2:scriptTask> <bpmn2:sequenceFlow id="SequenceFlow_7" name="" sourceRef="preProcessRequest_ScriptTask" targetRef="sendSyncAckResponse_ScriptTask" /> <bpmn2:intermediateCatchEvent id="IntermediateCatchEvent_3" name="vCPE-RESCUST"> @@ -29,9 +28,9 @@ CreateVcpeResCustService.preProcessRequest(execution) <bpmn2:scriptTask id="postProcessAndCompletionRequest_ScriptTask" name="Post Process & Completion Request" scriptFormat="groovy"> <bpmn2:incoming>SequenceFlow_0afe2pg</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_29</bpmn2:outgoing> - <bpmn2:script><![CDATA[import org.onap.so.bpmn.vcpe.scripts.* + <bpmn2:script>import org.onap.so.bpmn.vcpe.scripts.* def CreateVcpeResCustService = new CreateVcpeResCustService() -CreateVcpeResCustService.postProcessResponse(execution)]]></bpmn2:script> +CreateVcpeResCustService.postProcessResponse(execution)</bpmn2:script> </bpmn2:scriptTask> <bpmn2:sequenceFlow id="SequenceFlow_29" name="" sourceRef="postProcessAndCompletionRequest_ScriptTask" targetRef="callCompleteMsoProcess_CallActivity" /> <bpmn2:callActivity id="callCompleteMsoProcess_CallActivity" name="Call CompleteMsoProcess" calledElement="CompleteMsoProcess"> @@ -52,8 +51,8 @@ CreateVcpeResCustService.postProcessResponse(execution)]]></bpmn2:script> <bpmn2:scriptTask id="ScriptTask_2" name="Set Success Indicator" scriptFormat="groovy"> <bpmn2:incoming>SequenceFlow_8</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_6</bpmn2:outgoing> - <bpmn2:script><![CDATA[// The following variable is checked by the unit test -execution.setVariable("CreateVcpeResCustServiceSuccessIndicator", true)]]></bpmn2:script> + <bpmn2:script>// The following variable is checked by the unit test +execution.setVariable("CreateVcpeResCustServiceSuccessIndicator", true)</bpmn2:script> </bpmn2:scriptTask> <bpmn2:sequenceFlow id="SequenceFlow_6" name="" sourceRef="ScriptTask_2" targetRef="CreateVCPE_EndEvent" /> <bpmn2:endEvent id="CreateVCPE_EndEvent" name="End"> @@ -72,9 +71,9 @@ execution.setVariable("CreateVcpeResCustServiceSuccessIndicator", true)]]></bpmn <bpmn2:scriptTask id="ScriptTask_1" name="Log / Print Unexpected Error" scriptFormat="groovy"> <bpmn2:incoming>SequenceFlow_2</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_5</bpmn2:outgoing> - <bpmn2:script><![CDATA[import org.onap.so.bpmn.common.scripts.* + <bpmn2:script>import org.onap.so.bpmn.common.scripts.* ExceptionUtil ex = new ExceptionUtil() -ex.processJavaException(execution)]]></bpmn2:script> +ex.processJavaException(execution)</bpmn2:script> </bpmn2:scriptTask> <bpmn2:sequenceFlow id="SequenceFlow_5" name="" sourceRef="ScriptTask_1" targetRef="EndEvent_1" /> </bpmn2:subProcess> @@ -124,16 +123,16 @@ ex.processJavaException(execution)]]></bpmn2:script> <bpmn2:scriptTask id="ScriptTask_0yk02h3" name="Prepare FalloutHandler" scriptFormat="groovy"> <bpmn2:incoming>SequenceFlow_0jg47xm</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_0807ukc</bpmn2:outgoing> - <bpmn2:script><![CDATA[import org.onap.so.bpmn.vcpe.scripts.* + <bpmn2:script>import org.onap.so.bpmn.vcpe.scripts.* def CreateVcpeResCustService = new CreateVcpeResCustService() -CreateVcpeResCustService.prepareFalloutRequest(execution)]]></bpmn2:script> +CreateVcpeResCustService.prepareFalloutRequest(execution)</bpmn2:script> </bpmn2:scriptTask> <bpmn2:sequenceFlow id="SequenceFlow_0zpbskl" name="Yes" sourceRef="ExclusiveGateway_1vwgs6p" targetRef="ExclusiveGateway_0ydrtdx"> - <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("disableRollback") != true}]]></bpmn2:conditionExpression> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression">#{execution.getVariable("disableRollback") != true}</bpmn2:conditionExpression> </bpmn2:sequenceFlow> <bpmn2:sequenceFlow id="SequenceFlow_0dhf2js" name="No" sourceRef="ExclusiveGateway_1vwgs6p" targetRef="InclusiveGateway_0foywso" /> <bpmn2:sequenceFlow id="SequenceFlow_1sx5llu" name="Yes" sourceRef="ExclusiveGateway_0ydrtdx" targetRef="InclusiveGateway_0foywso"> - <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("PONR") == true}]]></bpmn2:conditionExpression> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression">#{execution.getVariable("PONR") == true}</bpmn2:conditionExpression> </bpmn2:sequenceFlow> <bpmn2:sequenceFlow id="SequenceFlow_02o4yqx" name="No" sourceRef="ExclusiveGateway_0ydrtdx" targetRef="ScriptTask_17doerz" /> <bpmn2:sequenceFlow id="SequenceFlow_19mxskt" name="No" sourceRef="ExclusiveGateway_1kvn1pz" targetRef="ExclusiveGateway_05indeh" /> @@ -176,16 +175,16 @@ CreateVcpeResCustService.prepareFalloutRequest(execution)]]></bpmn2:script> <bpmn2:scriptTask id="ScriptTask_17doerz" name="Pre Process Rollback" scriptFormat="groovy"> <bpmn2:incoming>SequenceFlow_02o4yqx</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_0ftzjjm</bpmn2:outgoing> - <bpmn2:script><![CDATA[import org.onap.so.bpmn.vcpe.scripts.* + <bpmn2:script>import org.onap.so.bpmn.vcpe.scripts.* def CreateVcpeResCustService= new CreateVcpeResCustService() -CreateVcpeResCustService.preProcessRollback(execution)]]></bpmn2:script> +CreateVcpeResCustService.preProcessRollback(execution)</bpmn2:script> </bpmn2:scriptTask> <bpmn2:scriptTask id="ScriptTask_0wyub4x" name="Post Process Rollback" scriptFormat="groovy"> <bpmn2:incoming>SequenceFlow_0dvsqpp</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_1rabks0</bpmn2:outgoing> - <bpmn2:script><![CDATA[import org.onap.so.bpmn.vcpe.scripts.* + <bpmn2:script>import org.onap.so.bpmn.vcpe.scripts.* def CreateVcpeResCustService= new CreateVcpeResCustService() -CreateVcpeResCustService.postProcessRollback(execution)]]></bpmn2:script> +CreateVcpeResCustService.postProcessRollback(execution)</bpmn2:script> </bpmn2:scriptTask> <bpmn2:sequenceFlow id="SequenceFlow_1rabks0" sourceRef="ScriptTask_0wyub4x" targetRef="InclusiveGateway_0foywso" /> <bpmn2:exclusiveGateway id="ExclusiveGateway_06gq6em" name="is AR_BRG Ok?" default="SequenceFlow_0ya1cr3"> @@ -210,7 +209,7 @@ CreateVcpeResCustService.postProcessRollback(execution)]]></bpmn2:script> <bpmn2:outgoing>SequenceFlow_027lz43</bpmn2:outgoing> </bpmn2:inclusiveGateway> <bpmn2:sequenceFlow id="SequenceFlow_0orpdrl" name="Yes" sourceRef="ExclusiveGateway_06gq6em" targetRef="CallActivity_1bpuf2p"> - <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("DCARBRG_rollbackData") != null }]]></bpmn2:conditionExpression> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression">#{execution.getVariable("DCARBRG_rollbackData") != null }</bpmn2:conditionExpression> </bpmn2:sequenceFlow> <bpmn2:sequenceFlow id="SequenceFlow_1t3cnnx" sourceRef="CallActivity_1bpuf2p" targetRef="ExclusiveGateway_1mjdcct" /> <bpmn2:sequenceFlow id="SequenceFlow_0ya1cr3" name="No" sourceRef="ExclusiveGateway_06gq6em" targetRef="InclusiveGateway_131ozdf" /> @@ -231,7 +230,7 @@ CreateVcpeResCustService.postProcessRollback(execution)]]></bpmn2:script> <bpmn2:outgoing>SequenceFlow_0dr2fem</bpmn2:outgoing> </bpmn2:exclusiveGateway> <bpmn2:sequenceFlow id="SequenceFlow_1sim44y" name="Yes" sourceRef="ExclusiveGateway_1mjdcct" targetRef="InclusiveGateway_131ozdf"> - <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{ execution.getVariable("DCARBRG_rolledBack") == true }]]></bpmn2:conditionExpression> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression">#{ execution.getVariable("DCARBRG_rolledBack") == true }</bpmn2:conditionExpression> </bpmn2:sequenceFlow> <bpmn2:sequenceFlow id="SequenceFlow_0dr2fem" name="No" sourceRef="ExclusiveGateway_1mjdcct" targetRef="InclusiveGateway_1xenadu" /> <bpmn2:exclusiveGateway id="ExclusiveGateway_05dg1m1" name="Rollback success?" default="SequenceFlow_1mbymcu"> @@ -240,7 +239,7 @@ CreateVcpeResCustService.postProcessRollback(execution)]]></bpmn2:script> <bpmn2:outgoing>SequenceFlow_1mbymcu</bpmn2:outgoing> </bpmn2:exclusiveGateway> <bpmn2:sequenceFlow id="SequenceFlow_1quvahv" name="Yes" sourceRef="ExclusiveGateway_05dg1m1" targetRef="InclusiveGateway_142br6v"> - <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{ execution.getVariable("DCVAM_rolledBack") ==true }]]></bpmn2:conditionExpression> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression">#{ execution.getVariable("DCVAM_rolledBack") ==true }</bpmn2:conditionExpression> </bpmn2:sequenceFlow> <bpmn2:sequenceFlow id="SequenceFlow_1mbymcu" name="No" sourceRef="ExclusiveGateway_05dg1m1" targetRef="InclusiveGateway_0m9f5ka" /> <bpmn2:exclusiveGateway id="ExclusiveGateway_0y7gtd9" name="rollback failed?" default="SequenceFlow_12dakwh"> @@ -259,7 +258,7 @@ CreateVcpeResCustService.postProcessRollback(execution)]]></bpmn2:script> <bpmn2:sequenceFlow id="SequenceFlow_1lv5ld6" sourceRef="InclusiveGateway_0m9f5ka" targetRef="InclusiveGateway_1xenadu" /> <bpmn2:sequenceFlow id="SequenceFlow_0dvsqpp" sourceRef="InclusiveGateway_1xenadu" targetRef="ScriptTask_0wyub4x" /> <bpmn2:sequenceFlow id="SequenceFlow_09nn9a9" name="Yes" sourceRef="ExclusiveGateway_0y7gtd9" targetRef="InclusiveGateway_1xenadu"> - <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("rolledBack") != null && execution.getVariable("rolledBack") == false}]]></bpmn2:conditionExpression> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression">#{execution.getVariable("rolledBack") != null && execution.getVariable("rolledBack") == false}</bpmn2:conditionExpression> </bpmn2:sequenceFlow> <bpmn2:sequenceFlow id="SequenceFlow_027lz43" sourceRef="InclusiveGateway_131ozdf" targetRef="ExclusiveGateway_14tl857" /> <bpmn2:sequenceFlow id="SequenceFlow_0t3mtod" sourceRef="InclusiveGateway_142br6v" targetRef="ExclusiveGateway_1kvn1pz" /> @@ -275,7 +274,7 @@ CreateVcpeResCustService.postProcessRollback(execution)]]></bpmn2:script> <bpmn2:outgoing>SequenceFlow_0ne9n0g</bpmn2:outgoing> </bpmn2:callActivity> <bpmn2:sequenceFlow id="SequenceFlow_1sl79hn" name="Yes" sourceRef="ExclusiveGateway_1kvn1pz" targetRef="CallActivity_071yaf8"> - <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("DCARTXC_rollbackData") != null }]]></bpmn2:conditionExpression> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression">#{execution.getVariable("DCARTXC_rollbackData") != null }</bpmn2:conditionExpression> </bpmn2:sequenceFlow> <bpmn2:exclusiveGateway id="ExclusiveGateway_0y158bb" name="Rollback success?" default="SequenceFlow_00by7l7"> <bpmn2:incoming>SequenceFlow_0ne9n0g</bpmn2:incoming> @@ -284,11 +283,11 @@ CreateVcpeResCustService.postProcessRollback(execution)]]></bpmn2:script> </bpmn2:exclusiveGateway> <bpmn2:sequenceFlow id="SequenceFlow_0ne9n0g" sourceRef="CallActivity_071yaf8" targetRef="ExclusiveGateway_0y158bb" /> <bpmn2:sequenceFlow id="SequenceFlow_1a7e8l1" name="Yes" sourceRef="ExclusiveGateway_05indeh" targetRef="DoRollbackService_CallActivity"> - <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{ execution.getVariable("DCRESI_rollbackData") != null }]]></bpmn2:conditionExpression> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression">#{ execution.getVariable("DCRESI_rollbackData") != null }</bpmn2:conditionExpression> </bpmn2:sequenceFlow> <bpmn2:sequenceFlow id="SequenceFlow_00by7l7" name="No" sourceRef="ExclusiveGateway_0y158bb" targetRef="InclusiveGateway_0m9f5ka" /> <bpmn2:sequenceFlow id="SequenceFlow_17cz98f" name="Yes" sourceRef="ExclusiveGateway_0y158bb" targetRef="ExclusiveGateway_05indeh"> - <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{ execution.getVariable("DCARTXC_rolledBack") == true }]]></bpmn2:conditionExpression> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression">#{ execution.getVariable("DCARTXC_rolledBack") == true }</bpmn2:conditionExpression> </bpmn2:sequenceFlow> <bpmn2:callActivity id="CallActivity_1cl4iu4" name="DoRollback VNF and Modules " calledElement="DoCreateVnfAndModulesRollback"> <bpmn2:extensionElements> @@ -303,13 +302,13 @@ CreateVcpeResCustService.postProcessRollback(execution)]]></bpmn2:script> </bpmn2:callActivity> <bpmn2:sequenceFlow id="SequenceFlow_1mpsdaj" sourceRef="CallActivity_1cl4iu4" targetRef="ExclusiveGateway_05dg1m1" /> <bpmn2:sequenceFlow id="SequenceFlow_007p8k3" name="Yes" sourceRef="ExclusiveGateway_14tl857" targetRef="CallActivity_1cl4iu4"> - <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("DCVAM_rollbackData") != null }]]></bpmn2:conditionExpression> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression">#{execution.getVariable("DCVAM_rollbackData") != null }</bpmn2:conditionExpression> </bpmn2:sequenceFlow> </bpmn2:subProcess> <bpmn2:scriptTask id="setPONR_ScriptTask" name="set PONR"> <bpmn2:incoming>SequenceFlow_12ilko1</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_0afe2pg</bpmn2:outgoing> - <bpmn2:script><![CDATA[#{execution.setVariable("PONR", true)}]]></bpmn2:script> + <bpmn2:script>#{execution.setVariable("PONR", true)}</bpmn2:script> </bpmn2:scriptTask> <bpmn2:sequenceFlow id="SequenceFlow_12ilko1" sourceRef="IntermediateCatchEvent_4" targetRef="setPONR_ScriptTask" /> <bpmn2:sequenceFlow id="SequenceFlow_0afe2pg" sourceRef="setPONR_ScriptTask" targetRef="postProcessAndCompletionRequest_ScriptTask" /> @@ -332,9 +331,9 @@ CreateVcpeResCustService.postProcessRollback(execution)]]></bpmn2:script> <bpmn2:scriptTask id="ScriptTask_0cdtchu" name="Prepare Decompose Service " scriptFormat="groovy"> <bpmn2:incoming>SequenceFlow_1eu60rt</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_00h6hmd</bpmn2:outgoing> - <bpmn2:script><![CDATA[import org.onap.so.bpmn.vcpe.scripts.* + <bpmn2:script>import org.onap.so.bpmn.vcpe.scripts.* def CreateVcpeResCustService = new CreateVcpeResCustService() -CreateVcpeResCustService.prepareDecomposeService(execution)]]></bpmn2:script> +CreateVcpeResCustService.prepareDecomposeService(execution)</bpmn2:script> </bpmn2:scriptTask> <bpmn2:sequenceFlow id="SequenceFlow_1eu60rt" sourceRef="IntermediateCatchEvent_3" targetRef="ScriptTask_0cdtchu" /> <bpmn2:sequenceFlow id="SequenceFlow_00h6hmd" sourceRef="ScriptTask_0cdtchu" targetRef="DecomposeService" /> @@ -350,20 +349,21 @@ CreateVcpeResCustService.prepareDecomposeService(execution)]]></bpmn2:script> <bpmn2:scriptTask id="ScriptTask_0lpv2da" name="PostProcess Decompose Service " scriptFormat="groovy"> <bpmn2:incoming>SequenceFlow_17g05fd</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_11efpvh</bpmn2:outgoing> - <bpmn2:script><![CDATA[import org.onap.so.bpmn.vcpe.scripts.* + <bpmn2:script>import org.onap.so.bpmn.vcpe.scripts.* def CreateVcpeResCustService = new CreateVcpeResCustService() -CreateVcpeResCustService.processDecomposition(execution)]]></bpmn2:script> +CreateVcpeResCustService.processDecomposition(execution)</bpmn2:script> </bpmn2:scriptTask> <bpmn2:sequenceFlow id="SequenceFlow_11efpvh" sourceRef="ScriptTask_0lpv2da" targetRef="IntermediateThrowEvent_0prlju0" /> - <bpmn2:sequenceFlow id="SequenceFlow_0gj4vud" sourceRef="IntermediateCatchEvent_17pzn7m" targetRef="Task_14l19kv" /> + <bpmn2:sequenceFlow id="SequenceFlow_0gj4vud" sourceRef="IntermediateCatchEvent_17pzn7m" targetRef="GeneratePnfUuid" /> <bpmn2:sequenceFlow id="SequenceFlow_0clhseq" sourceRef="Task_14l19kv" targetRef="IntermediateThrowEvent_0lt5ltv" /> <bpmn2:callActivity id="Task_14l19kv" name="Create And Activate Pnf Resource" calledElement="CreateAndActivatePnfResource"> <bpmn2:extensionElements> <camunda:in source="timeoutForPnfEntryNotification" target="timeoutForPnfEntryNotification" /> <camunda:in source="correlationId" target="correlationId" /> <camunda:in businessKey="#{execution.processBusinessKey}" /> + <camunda:in source="pnfUuid" target="pnfUuid" /> </bpmn2:extensionElements> - <bpmn2:incoming>SequenceFlow_0gj4vud</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_1yojilk</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_0clhseq</bpmn2:outgoing> </bpmn2:callActivity> <bpmn2:callActivity id="CallActivity_1vc4jeh" name="Call Create ServiceInstance " calledElement="DoCreateServiceInstance"> @@ -393,16 +393,16 @@ CreateVcpeResCustService.processDecomposition(execution)]]></bpmn2:script> <bpmn2:scriptTask id="ScriptTask_1y241p8" name="Prepare Create Service " scriptFormat="groovy"> <bpmn2:incoming>SequenceFlow_1429lyc</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_0bt420h</bpmn2:outgoing> - <bpmn2:script><![CDATA[import org.onap.so.bpmn.vcpe.scripts.* + <bpmn2:script>import org.onap.so.bpmn.vcpe.scripts.* def CreateVcpeResCustService = new CreateVcpeResCustService() -CreateVcpeResCustService.prepareCreateServiceInstance(execution)]]></bpmn2:script> +CreateVcpeResCustService.prepareCreateServiceInstance(execution)</bpmn2:script> </bpmn2:scriptTask> <bpmn2:scriptTask id="ScriptTask_1y5lvl7" name="Post Process Create Service " scriptFormat="groovy"> <bpmn2:incoming>SequenceFlow_0ocy2qp</bpmn2:incoming> <bpmn2:outgoing>SequenceFlow_11gw54u</bpmn2:outgoing> - <bpmn2:script><![CDATA[import org.onap.so.bpmn.vcpe.scripts.* + <bpmn2:script>import org.onap.so.bpmn.vcpe.scripts.* def CreateVcpeResCustService = new CreateVcpeResCustService() -CreateVcpeResCustService.postProcessServiceInstanceCreate(execution)]]></bpmn2:script> +CreateVcpeResCustService.postProcessServiceInstanceCreate(execution)</bpmn2:script> </bpmn2:scriptTask> <bpmn2:intermediateCatchEvent id="IntermediateCatchEvent_0m5yuay" name="StartService"> <bpmn2:outgoing>SequenceFlow_1429lyc</bpmn2:outgoing> @@ -416,6 +416,11 @@ CreateVcpeResCustService.postProcessServiceInstanceCreate(execution)]]></bpmn2:s <bpmn2:sequenceFlow id="SequenceFlow_0ocy2qp" sourceRef="CallActivity_1vc4jeh" targetRef="ScriptTask_1y5lvl7" /> <bpmn2:sequenceFlow id="SequenceFlow_1429lyc" sourceRef="IntermediateCatchEvent_0m5yuay" targetRef="ScriptTask_1y241p8" /> <bpmn2:sequenceFlow id="SequenceFlow_11gw54u" sourceRef="ScriptTask_1y5lvl7" targetRef="IntermediateThrowEvent_13xv36r" /> + <bpmn2:sequenceFlow id="SequenceFlow_1yojilk" sourceRef="GeneratePnfUuid" targetRef="Task_14l19kv" /> + <bpmn2:serviceTask id="GeneratePnfUuid" name="Generate Pnf UUID" camunda:delegateExpression="${GeneratePnfUuidDelegate}"> + <bpmn2:incoming>SequenceFlow_0gj4vud</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_1yojilk</bpmn2:outgoing> + </bpmn2:serviceTask> </bpmn2:process> <bpmn2:error id="Error_2" name="MSOWorkflowException" errorCode="MSOWorkflowException" /> <bpmn2:error id="Error_1" name="java.lang.Exception" errorCode="java.lang.Exception" /> @@ -431,8 +436,8 @@ CreateVcpeResCustService.postProcessServiceInstanceCreate(execution)]]></bpmn2:s <dc:Bounds x="256" y="789" 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="103" y="829" /> - <di:waypoint xsi:type="dc:Point" x="256" y="829" /> + <di:waypoint x="103" y="829" /> + <di:waypoint x="256" y="829" /> <bpmndi:BPMNLabel> <dc:Bounds x="100" y="829" width="90" height="0" /> </bpmndi:BPMNLabel> @@ -444,8 +449,8 @@ CreateVcpeResCustService.postProcessServiceInstanceCreate(execution)]]></bpmn2:s <dc:Bounds x="490" y="1432" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_12" bpmnElement="SequenceFlow_7" sourceElement="_BPMNShape_ScriptTask_61" targetElement="_BPMNShape_ScriptTask_127"> - <di:waypoint xsi:type="dc:Point" x="356" y="829" /> - <di:waypoint xsi:type="dc:Point" x="447" y="829" /> + <di:waypoint x="356" y="829" /> + <di:waypoint x="447" y="829" /> <bpmndi:BPMNLabel> <dc:Bounds x="200" y="790" width="90" height="0" /> </bpmndi:BPMNLabel> @@ -454,8 +459,8 @@ CreateVcpeResCustService.postProcessServiceInstanceCreate(execution)]]></bpmn2:s <dc:Bounds x="447" y="789" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_42" bpmnElement="SequenceFlow_29" sourceElement="_BPMNShape_ScriptTask_80" targetElement="_BPMNShape_CallActivity_4"> - <di:waypoint xsi:type="dc:Point" x="590" y="1472" /> - <di:waypoint xsi:type="dc:Point" x="763" y="1472" /> + <di:waypoint x="590" y="1472" /> + <di:waypoint x="763" y="1472" /> <bpmndi:BPMNLabel> <dc:Bounds x="632" y="1457" width="90" height="0" /> </bpmndi:BPMNLabel> @@ -467,8 +472,8 @@ CreateVcpeResCustService.postProcessServiceInstanceCreate(execution)]]></bpmn2:s </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_8" bpmnElement="SequenceFlow_8" sourceElement="_BPMNShape_CallActivity_4" targetElement="_BPMNShape_ScriptTask_337"> - <di:waypoint xsi:type="dc:Point" x="863" y="1472" /> - <di:waypoint xsi:type="dc:Point" x="1071" y="1471" /> + <di:waypoint x="863" y="1472" /> + <di:waypoint x="1071" y="1471" /> <bpmndi:BPMNLabel> <dc:Bounds x="922" y="1457" width="90" height="0" /> </bpmndi:BPMNLabel> @@ -492,24 +497,24 @@ CreateVcpeResCustService.postProcessServiceInstanceCreate(execution)]]></bpmn2:s </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_4" bpmnElement="SequenceFlow_2" sourceElement="_BPMNShape_StartEvent_70" targetElement="_BPMNShape_ScriptTask_269"> - <di:waypoint xsi:type="dc:Point" x="1361" y="1825" /> - <di:waypoint xsi:type="dc:Point" x="1400" y="1825" /> + <di:waypoint x="1361" y="1825" /> + <di:waypoint x="1400" y="1825" /> <bpmndi:BPMNLabel> <dc:Bounds x="1344" y="1825" width="90" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_5" bpmnElement="SequenceFlow_5" sourceElement="_BPMNShape_ScriptTask_269" targetElement="_BPMNShape_EndEvent_219"> - <di:waypoint xsi:type="dc:Point" x="1500" y="1825" /> - <di:waypoint xsi:type="dc:Point" x="1533" y="1825" /> - <di:waypoint xsi:type="dc:Point" x="1533" y="1825" /> - <di:waypoint xsi:type="dc:Point" x="1553" y="1825" /> + <di:waypoint x="1500" y="1825" /> + <di:waypoint x="1533" y="1825" /> + <di:waypoint x="1533" y="1825" /> + <di:waypoint x="1553" y="1825" /> <bpmndi:BPMNLabel> <dc:Bounds x="1503" y="1825" width="90" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_2" bpmnElement="SequenceFlow_3" sourceElement="_BPMNShape_ScriptTask_127"> - <di:waypoint xsi:type="dc:Point" x="547" y="829" /> - <di:waypoint xsi:type="dc:Point" x="699" y="829" /> + <di:waypoint x="547" y="829" /> + <di:waypoint x="699" y="829" /> <bpmndi:BPMNLabel> <dc:Bounds x="578" y="814" width="90" height="0" /> </bpmndi:BPMNLabel> @@ -518,8 +523,8 @@ CreateVcpeResCustService.postProcessServiceInstanceCreate(execution)]]></bpmn2:s <dc:Bounds x="1071" y="1431" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_3" bpmnElement="SequenceFlow_6" sourceElement="_BPMNShape_ScriptTask_337" targetElement="_BPMNShape_EndEvent_177"> - <di:waypoint xsi:type="dc:Point" x="1171" y="1470" /> - <di:waypoint xsi:type="dc:Point" x="1262" y="1470" /> + <di:waypoint x="1171" y="1470" /> + <di:waypoint x="1262" y="1470" /> <bpmndi:BPMNLabel> <dc:Bounds x="1172" y="1455" width="90" height="0" /> </bpmndi:BPMNLabel> @@ -582,41 +587,41 @@ CreateVcpeResCustService.postProcessServiceInstanceCreate(execution)]]></bpmn2:s <dc:Bounds x="891" y="2945" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_0zpbskl_di" bpmnElement="SequenceFlow_0zpbskl"> - <di:waypoint xsi:type="dc:Point" x="75" y="2971" /> - <di:waypoint xsi:type="dc:Point" x="75" y="2938" /> + <di:waypoint x="75" y="2971" /> + <di:waypoint x="75" y="2938" /> <bpmndi:BPMNLabel> <dc:Bounds x="81" y="2958" width="19" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_0dhf2js_di" bpmnElement="SequenceFlow_0dhf2js"> - <di:waypoint xsi:type="dc:Point" x="100" y="2996" /> - <di:waypoint xsi:type="dc:Point" x="734" y="2996" /> - <di:waypoint xsi:type="dc:Point" x="734" y="2938" /> + <di:waypoint x="100" y="2996" /> + <di:waypoint x="734" y="2996" /> + <di:waypoint x="734" y="2938" /> <bpmndi:BPMNLabel> <dc:Bounds x="140" y="3001" width="15" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_1sx5llu_di" bpmnElement="SequenceFlow_1sx5llu"> - <di:waypoint xsi:type="dc:Point" x="100" y="2913" /> - <di:waypoint xsi:type="dc:Point" x="405" y="2913" /> - <di:waypoint xsi:type="dc:Point" x="405" y="2913" /> - <di:waypoint xsi:type="dc:Point" x="709" y="2913" /> + <di:waypoint x="100" y="2913" /> + <di:waypoint x="405" y="2913" /> + <di:waypoint x="405" y="2913" /> + <di:waypoint x="709" y="2913" /> <bpmndi:BPMNLabel> <dc:Bounds x="419" y="2917" width="19" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_02o4yqx_di" bpmnElement="SequenceFlow_02o4yqx"> - <di:waypoint xsi:type="dc:Point" x="75" y="2888" /> - <di:waypoint xsi:type="dc:Point" x="75" y="2866" /> + <di:waypoint x="75" y="2888" /> + <di:waypoint x="75" y="2866" /> <bpmndi:BPMNLabel> <dc:Bounds x="86" y="2871" width="15" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_19mxskt_di" bpmnElement="SequenceFlow_19mxskt"> - <di:waypoint xsi:type="dc:Point" x="202" y="1821" /> - <di:waypoint xsi:type="dc:Point" x="202" y="1725" /> - <di:waypoint xsi:type="dc:Point" x="681" y="1725" /> - <di:waypoint xsi:type="dc:Point" x="681" y="1941" /> + <di:waypoint x="202" y="1821" /> + <di:waypoint x="202" y="1725" /> + <di:waypoint x="681" y="1725" /> + <di:waypoint x="681" y="1941" /> <bpmndi:BPMNLabel> <dc:Bounds x="392" y="1704" width="15" height="12" /> </bpmndi:BPMNLabel> @@ -625,16 +630,16 @@ CreateVcpeResCustService.postProcessServiceInstanceCreate(execution)]]></bpmn2:s <dc:Bounds x="204" y="1432" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_12ilko1_di" bpmnElement="SequenceFlow_12ilko1"> - <di:waypoint xsi:type="dc:Point" x="96" y="1472" /> - <di:waypoint xsi:type="dc:Point" x="204" y="1472" /> + <di:waypoint x="96" y="1472" /> + <di:waypoint x="204" y="1472" /> <bpmndi:BPMNLabel> <dc:Bounds x="105" y="1447" width="90" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_0afe2pg_di" bpmnElement="SequenceFlow_0afe2pg"> - <di:waypoint xsi:type="dc:Point" x="304" y="1472" /> - <di:waypoint xsi:type="dc:Point" x="447" y="1472" /> - <di:waypoint xsi:type="dc:Point" x="490" y="1472" /> + <di:waypoint x="304" y="1472" /> + <di:waypoint x="447" y="1472" /> + <di:waypoint x="490" y="1472" /> <bpmndi:BPMNLabel> <dc:Bounds x="331" y="1457" width="90" height="0" /> </bpmndi:BPMNLabel> @@ -649,30 +654,30 @@ CreateVcpeResCustService.postProcessServiceInstanceCreate(execution)]]></bpmn2:s </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_1f1hd3l_di" bpmnElement="SequenceFlow_1f1hd3l"> - <di:waypoint xsi:type="dc:Point" x="1026" y="2006" /> - <di:waypoint xsi:type="dc:Point" x="1026" y="2103" /> + <di:waypoint x="1026" y="2006" /> + <di:waypoint x="1026" y="2103" /> <bpmndi:BPMNLabel> <dc:Bounds x="996" y="2055" width="90" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_0jg47xm_di" bpmnElement="SequenceFlow_0jg47xm"> - <di:waypoint xsi:type="dc:Point" x="759" y="2913" /> - <di:waypoint xsi:type="dc:Point" x="941" y="2913" /> - <di:waypoint xsi:type="dc:Point" x="941" y="2945" /> + <di:waypoint x="759" y="2913" /> + <di:waypoint x="941" y="2913" /> + <di:waypoint x="941" y="2945" /> <bpmndi:BPMNLabel> <dc:Bounds x="805" y="2898" width="90" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_0807ukc_di" bpmnElement="SequenceFlow_0807ukc"> - <di:waypoint xsi:type="dc:Point" x="991" y="2985" /> - <di:waypoint xsi:type="dc:Point" x="1023" y="2985" /> + <di:waypoint x="991" y="2985" /> + <di:waypoint x="1023" y="2985" /> <bpmndi:BPMNLabel> <dc:Bounds x="962" y="2970" width="90" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_19yywk8_di" bpmnElement="SequenceFlow_19yywk8"> - <di:waypoint xsi:type="dc:Point" x="1123" y="2985" /> - <di:waypoint xsi:type="dc:Point" x="1160" y="2985" /> + <di:waypoint x="1123" y="2985" /> + <di:waypoint x="1160" y="2985" /> <bpmndi:BPMNLabel> <dc:Bounds x="1097" y="2970" width="90" height="0" /> </bpmndi:BPMNLabel> @@ -690,9 +695,9 @@ CreateVcpeResCustService.postProcessServiceInstanceCreate(execution)]]></bpmn2:s </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_0sezboq_di" bpmnElement="SequenceFlow_0sezboq"> - <di:waypoint xsi:type="dc:Point" x="681" y="1991" /> - <di:waypoint xsi:type="dc:Point" x="681" y="2128" /> - <di:waypoint xsi:type="dc:Point" x="1001" y="2128" /> + <di:waypoint x="681" y="1991" /> + <di:waypoint x="681" y="2128" /> + <di:waypoint x="1001" y="2128" /> <bpmndi:BPMNLabel> <dc:Bounds x="689" y="2045" width="15" height="12" /> </bpmndi:BPMNLabel> @@ -701,10 +706,10 @@ CreateVcpeResCustService.postProcessServiceInstanceCreate(execution)]]></bpmn2:s <dc:Bounds x="25" y="2786" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_0zq7i3q_di" bpmnElement="SequenceFlow_0zq7i3q"> - <di:waypoint xsi:type="dc:Point" x="-27" y="2997" /> - <di:waypoint xsi:type="dc:Point" x="20" y="2997" /> - <di:waypoint xsi:type="dc:Point" x="20" y="2996" /> - <di:waypoint xsi:type="dc:Point" x="50" y="2996" /> + <di:waypoint x="-27" y="2997" /> + <di:waypoint x="20" y="2997" /> + <di:waypoint x="20" y="2996" /> + <di:waypoint x="50" y="2996" /> <bpmndi:BPMNLabel> <dc:Bounds x="-56" y="2998" width="90" height="0" /> </bpmndi:BPMNLabel> @@ -719,8 +724,8 @@ CreateVcpeResCustService.postProcessServiceInstanceCreate(execution)]]></bpmn2:s <dc:Bounds x="684" y="2786" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_1rabks0_di" bpmnElement="SequenceFlow_1rabks0"> - <di:waypoint xsi:type="dc:Point" x="734" y="2866" /> - <di:waypoint xsi:type="dc:Point" x="734" y="2888" /> + <di:waypoint x="734" y="2866" /> + <di:waypoint x="734" y="2888" /> <bpmndi:BPMNLabel> <dc:Bounds x="704" y="2877" width="90" height="0" /> </bpmndi:BPMNLabel> @@ -732,15 +737,15 @@ CreateVcpeResCustService.postProcessServiceInstanceCreate(execution)]]></bpmn2:s <dc:Bounds x="256" y="944" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_1eu60rt_di" bpmnElement="SequenceFlow_1eu60rt"> - <di:waypoint xsi:type="dc:Point" x="103" y="984" /> - <di:waypoint xsi:type="dc:Point" x="256" y="984" /> + <di:waypoint x="103" y="984" /> + <di:waypoint x="256" y="984" /> <bpmndi:BPMNLabel> <dc:Bounds x="135" y="969" width="90" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_00h6hmd_di" bpmnElement="SequenceFlow_00h6hmd"> - <di:waypoint xsi:type="dc:Point" x="356" y="984" /> - <di:waypoint xsi:type="dc:Point" x="447" y="984" /> + <di:waypoint x="356" y="984" /> + <di:waypoint x="447" y="984" /> <bpmndi:BPMNLabel> <dc:Bounds x="357" y="969" width="90" height="0" /> </bpmndi:BPMNLabel> @@ -761,25 +766,25 @@ CreateVcpeResCustService.postProcessServiceInstanceCreate(execution)]]></bpmn2:s </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_0orpdrl_di" bpmnElement="SequenceFlow_0orpdrl"> - <di:waypoint xsi:type="dc:Point" x="100" y="2628" /> - <di:waypoint xsi:type="dc:Point" x="202" y="2628" /> - <di:waypoint xsi:type="dc:Point" x="202" y="2598" /> + <di:waypoint x="100" y="2628" /> + <di:waypoint x="202" y="2628" /> + <di:waypoint x="202" y="2598" /> <bpmndi:BPMNLabel> <dc:Bounds x="141" y="2613" width="19" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_1t3cnnx_di" bpmnElement="SequenceFlow_1t3cnnx"> - <di:waypoint xsi:type="dc:Point" x="202" y="2518" /> - <di:waypoint xsi:type="dc:Point" x="202" y="2481" /> + <di:waypoint x="202" y="2518" /> + <di:waypoint x="202" y="2481" /> <bpmndi:BPMNLabel> <dc:Bounds x="172" y="2500" width="90" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_0ya1cr3_di" bpmnElement="SequenceFlow_0ya1cr3"> - <di:waypoint xsi:type="dc:Point" x="75" y="2603" /> - <di:waypoint xsi:type="dc:Point" x="75" y="2542" /> - <di:waypoint xsi:type="dc:Point" x="75" y="2542" /> - <di:waypoint xsi:type="dc:Point" x="75" y="2481" /> + <di:waypoint x="75" y="2603" /> + <di:waypoint x="75" y="2542" /> + <di:waypoint x="75" y="2542" /> + <di:waypoint x="75" y="2481" /> <bpmndi:BPMNLabel> <dc:Bounds x="88" y="2508" width="15" height="12" /> </bpmndi:BPMNLabel> @@ -797,8 +802,8 @@ CreateVcpeResCustService.postProcessServiceInstanceCreate(execution)]]></bpmn2:s </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_1kpdu1j_di" bpmnElement="SequenceFlow_1kpdu1j"> - <di:waypoint xsi:type="dc:Point" x="75" y="2282" /> - <di:waypoint xsi:type="dc:Point" x="75" y="2153" /> + <di:waypoint x="75" y="2282" /> + <di:waypoint x="75" y="2153" /> <bpmndi:BPMNLabel> <dc:Bounds x="83" y="2218" width="15" height="12" /> </bpmndi:BPMNLabel> @@ -810,16 +815,16 @@ CreateVcpeResCustService.postProcessServiceInstanceCreate(execution)]]></bpmn2:s </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_1sim44y_di" bpmnElement="SequenceFlow_1sim44y"> - <di:waypoint xsi:type="dc:Point" x="177" y="2456" /> - <di:waypoint xsi:type="dc:Point" x="100" y="2456" /> + <di:waypoint x="177" y="2456" /> + <di:waypoint x="100" y="2456" /> <bpmndi:BPMNLabel> <dc:Bounds x="107" y="2431" width="19" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_0dr2fem_di" bpmnElement="SequenceFlow_0dr2fem"> - <di:waypoint xsi:type="dc:Point" x="226" y="2457" /> - <di:waypoint xsi:type="dc:Point" x="734" y="2457" /> - <di:waypoint xsi:type="dc:Point" x="734" y="2695" /> + <di:waypoint x="226" y="2457" /> + <di:waypoint x="734" y="2457" /> + <di:waypoint x="734" y="2695" /> <bpmndi:BPMNLabel> <dc:Bounds x="316" y="2436" width="15" height="12" /> </bpmndi:BPMNLabel> @@ -831,22 +836,22 @@ CreateVcpeResCustService.postProcessServiceInstanceCreate(execution)]]></bpmn2:s </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_1quvahv_di" bpmnElement="SequenceFlow_1quvahv"> - <di:waypoint xsi:type="dc:Point" x="177" y="2128" /> - <di:waypoint xsi:type="dc:Point" x="100" y="2128" /> + <di:waypoint x="177" y="2128" /> + <di:waypoint x="100" y="2128" /> <bpmndi:BPMNLabel> <dc:Bounds x="129" y="2103" width="19" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_1mbymcu_di" bpmnElement="SequenceFlow_1mbymcu"> - <di:waypoint xsi:type="dc:Point" x="227" y="2128" /> - <di:waypoint xsi:type="dc:Point" x="1001" y="2128" /> + <di:waypoint x="227" y="2128" /> + <di:waypoint x="1001" y="2128" /> <bpmndi:BPMNLabel> <dc:Bounds x="290" y="2097" width="15" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_17g05fd_di" bpmnElement="SequenceFlow_17g05fd"> - <di:waypoint xsi:type="dc:Point" x="547" y="984" /> - <di:waypoint xsi:type="dc:Point" x="638" y="984" /> + <di:waypoint x="547" y="984" /> + <di:waypoint x="638" y="984" /> <bpmndi:BPMNLabel> <dc:Bounds x="548" y="969" width="90" height="0" /> </bpmndi:BPMNLabel> @@ -858,15 +863,15 @@ CreateVcpeResCustService.postProcessServiceInstanceCreate(execution)]]></bpmn2:s </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_0ftzjjm_di" bpmnElement="SequenceFlow_0ftzjjm"> - <di:waypoint xsi:type="dc:Point" x="75" y="2786" /> - <di:waypoint xsi:type="dc:Point" x="75" y="2745" /> + <di:waypoint x="75" y="2786" /> + <di:waypoint x="75" y="2745" /> <bpmndi:BPMNLabel> <dc:Bounds x="45" y="2766" width="90" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_12dakwh_di" bpmnElement="SequenceFlow_12dakwh"> - <di:waypoint xsi:type="dc:Point" x="75" y="2695" /> - <di:waypoint xsi:type="dc:Point" x="75" y="2653" /> + <di:waypoint x="75" y="2695" /> + <di:waypoint x="75" y="2653" /> <bpmndi:BPMNLabel> <dc:Bounds x="83" y="2666" width="15" height="12" /> </bpmndi:BPMNLabel> @@ -878,40 +883,40 @@ CreateVcpeResCustService.postProcessServiceInstanceCreate(execution)]]></bpmn2:s </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_1lv5ld6_di" bpmnElement="SequenceFlow_1lv5ld6"> - <di:waypoint xsi:type="dc:Point" x="1026" y="2153" /> - <di:waypoint xsi:type="dc:Point" x="1026" y="2720" /> - <di:waypoint xsi:type="dc:Point" x="759" y="2720" /> + <di:waypoint x="1026" y="2153" /> + <di:waypoint x="1026" y="2720" /> + <di:waypoint x="759" y="2720" /> <bpmndi:BPMNLabel> <dc:Bounds x="996" y="2437" width="90" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_0dvsqpp_di" bpmnElement="SequenceFlow_0dvsqpp"> - <di:waypoint xsi:type="dc:Point" x="734" y="2745" /> - <di:waypoint xsi:type="dc:Point" x="734" y="2786" /> + <di:waypoint x="734" y="2745" /> + <di:waypoint x="734" y="2786" /> <bpmndi:BPMNLabel> <dc:Bounds x="704" y="2766" width="90" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_09nn9a9_di" bpmnElement="SequenceFlow_09nn9a9"> - <di:waypoint xsi:type="dc:Point" x="100" y="2720" /> - <di:waypoint xsi:type="dc:Point" x="423" y="2720" /> - <di:waypoint xsi:type="dc:Point" x="423" y="2720" /> - <di:waypoint xsi:type="dc:Point" x="709" y="2720" /> + <di:waypoint x="100" y="2720" /> + <di:waypoint x="423" y="2720" /> + <di:waypoint x="423" y="2720" /> + <di:waypoint x="709" y="2720" /> <bpmndi:BPMNLabel> <dc:Bounds x="144" y="2693" width="19" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_027lz43_di" bpmnElement="SequenceFlow_027lz43"> - <di:waypoint xsi:type="dc:Point" x="75" y="2431" /> - <di:waypoint xsi:type="dc:Point" x="75" y="2332" /> + <di:waypoint x="75" y="2431" /> + <di:waypoint x="75" y="2332" /> <bpmndi:BPMNLabel> <dc:Bounds x="45" y="2372" width="90" height="0" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_0t3mtod_di" bpmnElement="SequenceFlow_0t3mtod"> - <di:waypoint xsi:type="dc:Point" x="75" y="2103" /> - <di:waypoint xsi:type="dc:Point" x="75" y="1846" /> - <di:waypoint xsi:type="dc:Point" x="177" y="1846" /> + <di:waypoint x="75" y="2103" /> + <di:waypoint x="75" y="1846" /> + <di:waypoint x="177" y="1846" /> <bpmndi:BPMNLabel> <dc:Bounds x="45" y="1965" width="90" height="0" /> </bpmndi:BPMNLabel> @@ -923,19 +928,19 @@ CreateVcpeResCustService.postProcessServiceInstanceCreate(execution)]]></bpmn2:s </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="IntermediateThrowEvent_0lt5ltv_di" bpmnElement="IntermediateThrowEvent_0lt5ltv"> - <dc:Bounds x="466" y="1259" width="36" height="36" /> + <dc:Bounds x="725" y="1259" width="36" height="36" /> <bpmndi:BPMNLabel> - <dc:Bounds x="441" y="1306" width="85" height="24" /> + <dc:Bounds x="700" y="1306" width="85" height="27" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="CallActivity_071yaf8_di" bpmnElement="CallActivity_071yaf8"> <dc:Bounds x="321" y="1806" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_1sl79hn_di" bpmnElement="SequenceFlow_1sl79hn"> - <di:waypoint xsi:type="dc:Point" x="227" y="1846" /> - <di:waypoint xsi:type="dc:Point" x="256" y="1846" /> - <di:waypoint xsi:type="dc:Point" x="256" y="1846" /> - <di:waypoint xsi:type="dc:Point" x="321" y="1846" /> + <di:waypoint x="227" y="1846" /> + <di:waypoint x="256" y="1846" /> + <di:waypoint x="256" y="1846" /> + <di:waypoint x="321" y="1846" /> <bpmndi:BPMNLabel> <dc:Bounds x="271" y="1826" width="19" height="12" /> </bpmndi:BPMNLabel> @@ -947,30 +952,30 @@ CreateVcpeResCustService.postProcessServiceInstanceCreate(execution)]]></bpmn2:s </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_0ne9n0g_di" bpmnElement="SequenceFlow_0ne9n0g"> - <di:waypoint xsi:type="dc:Point" x="421" y="1846" /> - <di:waypoint xsi:type="dc:Point" x="521" y="1846" /> + <di:waypoint x="421" y="1846" /> + <di:waypoint x="521" y="1846" /> <bpmndi:BPMNLabel> <dc:Bounds x="426" y="1825" width="90" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_1a7e8l1_di" bpmnElement="SequenceFlow_1a7e8l1"> - <di:waypoint xsi:type="dc:Point" x="706" y="1966" /> - <di:waypoint xsi:type="dc:Point" x="976" y="1966" /> + <di:waypoint x="706" y="1966" /> + <di:waypoint x="976" y="1966" /> <bpmndi:BPMNLabel> <dc:Bounds x="832" y="1945" width="19" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_00by7l7_di" bpmnElement="SequenceFlow_00by7l7"> - <di:waypoint xsi:type="dc:Point" x="546" y="1871" /> - <di:waypoint xsi:type="dc:Point" x="546" y="2128" /> - <di:waypoint xsi:type="dc:Point" x="1001" y="2128" /> + <di:waypoint x="546" y="1871" /> + <di:waypoint x="546" y="2128" /> + <di:waypoint x="1001" y="2128" /> <bpmndi:BPMNLabel> <dc:Bounds x="554" y="1994" width="15" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_17cz98f_di" bpmnElement="SequenceFlow_17cz98f"> - <di:waypoint xsi:type="dc:Point" x="559" y="1858" /> - <di:waypoint xsi:type="dc:Point" x="668" y="1954" /> + <di:waypoint x="559" y="1858" /> + <di:waypoint x="668" y="1954" /> <bpmndi:BPMNLabel> <dc:Bounds x="615" y="1889" width="19" height="12" /> </bpmndi:BPMNLabel> @@ -979,16 +984,16 @@ CreateVcpeResCustService.postProcessServiceInstanceCreate(execution)]]></bpmn2:s <dc:Bounds x="152" y="2193" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_1mpsdaj_di" bpmnElement="SequenceFlow_1mpsdaj"> - <di:waypoint xsi:type="dc:Point" x="202" y="2193" /> - <di:waypoint xsi:type="dc:Point" x="202" y="2153" /> + <di:waypoint x="202" y="2193" /> + <di:waypoint x="202" y="2153" /> <bpmndi:BPMNLabel> <dc:Bounds x="172" y="2167" width="90" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_007p8k3_di" bpmnElement="SequenceFlow_007p8k3"> - <di:waypoint xsi:type="dc:Point" x="100" y="2307" /> - <di:waypoint xsi:type="dc:Point" x="202" y="2307" /> - <di:waypoint xsi:type="dc:Point" x="202" y="2273" /> + <di:waypoint x="100" y="2307" /> + <di:waypoint x="202" y="2307" /> + <di:waypoint x="202" y="2273" /> <bpmndi:BPMNLabel> <dc:Bounds x="142" y="2286" width="19" height="12" /> </bpmndi:BPMNLabel> @@ -997,28 +1002,28 @@ CreateVcpeResCustService.postProcessServiceInstanceCreate(execution)]]></bpmn2:s <dc:Bounds x="638" y="944" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_11efpvh_di" bpmnElement="SequenceFlow_11efpvh"> - <di:waypoint xsi:type="dc:Point" x="738" y="984" /> - <di:waypoint xsi:type="dc:Point" x="902" y="984" /> + <di:waypoint x="738" y="984" /> + <di:waypoint x="902" y="984" /> <bpmndi:BPMNLabel> <dc:Bounds x="775" y="963" width="90" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_0gj4vud_di" bpmnElement="SequenceFlow_0gj4vud"> - <di:waypoint xsi:type="dc:Point" x="103" y="1277" /> - <di:waypoint xsi:type="dc:Point" x="256" y="1277" /> + <di:waypoint x="103" y="1277" /> + <di:waypoint x="256" y="1277" /> <bpmndi:BPMNLabel> <dc:Bounds x="134.5" y="1257" width="90" height="10" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_0clhseq_di" bpmnElement="SequenceFlow_0clhseq"> - <di:waypoint xsi:type="dc:Point" x="356" y="1277" /> - <di:waypoint xsi:type="dc:Point" x="466" y="1277" /> + <di:waypoint x="547" y="1277" /> + <di:waypoint x="725" y="1277" /> <bpmndi:BPMNLabel> <dc:Bounds x="366" y="1257" width="90" height="10" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="CallActivity_1totpg4_di" bpmnElement="Task_14l19kv"> - <dc:Bounds x="256" y="1237" width="100" height="80" /> + <dc:Bounds x="447" y="1237" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id="CallActivity_1vc4jeh_di" bpmnElement="CallActivity_1vc4jeh"> <dc:Bounds x="447" y="1072" width="100" height="80" /> @@ -1042,33 +1047,40 @@ CreateVcpeResCustService.postProcessServiceInstanceCreate(execution)]]></bpmn2:s </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="SequenceFlow_0bt420h_di" bpmnElement="SequenceFlow_0bt420h"> - <di:waypoint xsi:type="dc:Point" x="356" y="1112" /> - <di:waypoint xsi:type="dc:Point" x="447" y="1112" /> + <di:waypoint x="356" y="1112" /> + <di:waypoint x="447" y="1112" /> <bpmndi:BPMNLabel> <dc:Bounds x="356.5" y="1091" width="90" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_0ocy2qp_di" bpmnElement="SequenceFlow_0ocy2qp"> - <di:waypoint xsi:type="dc:Point" x="547" y="1112" /> - <di:waypoint xsi:type="dc:Point" x="638" y="1112" /> + <di:waypoint x="547" y="1112" /> + <di:waypoint x="638" y="1112" /> <bpmndi:BPMNLabel> <dc:Bounds x="547.5" y="1091" width="90" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_1429lyc_di" bpmnElement="SequenceFlow_1429lyc"> - <di:waypoint xsi:type="dc:Point" x="101" y="1112" /> - <di:waypoint xsi:type="dc:Point" x="256" y="1112" /> + <di:waypoint x="101" y="1112" /> + <di:waypoint x="256" y="1112" /> <bpmndi:BPMNLabel> <dc:Bounds x="133.5" y="1091" width="90" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id="SequenceFlow_11gw54u_di" bpmnElement="SequenceFlow_11gw54u"> - <di:waypoint xsi:type="dc:Point" x="738" y="1112" /> - <di:waypoint xsi:type="dc:Point" x="902" y="1112" /> + <di:waypoint x="738" y="1112" /> + <di:waypoint x="902" y="1112" /> <bpmndi:BPMNLabel> <dc:Bounds x="775" y="1091" width="90" height="12" /> </bpmndi:BPMNLabel> </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_1yojilk_di" bpmnElement="SequenceFlow_1yojilk"> + <di:waypoint x="356" y="1277" /> + <di:waypoint x="447" y="1277" /> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="ServiceTask_1j71wic_di" bpmnElement="GeneratePnfUuid"> + <dc:Bounds x="256" y="1237" width="100" height="80" /> + </bpmndi:BPMNShape> </bpmndi:BPMNPlane> </bpmndi:BPMNDiagram> </bpmn2:definitions> diff --git a/bpmn/so-bpmn-tasks/pom.xml b/bpmn/so-bpmn-tasks/pom.xml index ebd1affea5..becb66a6dc 100644 --- a/bpmn/so-bpmn-tasks/pom.xml +++ b/bpmn/so-bpmn-tasks/pom.xml @@ -109,8 +109,6 @@ <dependency> <groupId>org.camunda.bpm.extension.mockito</groupId> <artifactId>camunda-bpm-mockito</artifactId> - <version>3.2.1</version> - <scope>test</scope> </dependency> <dependency> <groupId>org.onap.so</groupId> |