diff options
12 files changed, 449 insertions, 271 deletions
diff --git a/adapters/mso-adapter-utils/src/main/java/org/onap/so/openstack/utils/MsoMulticloudUtils.java b/adapters/mso-adapter-utils/src/main/java/org/onap/so/openstack/utils/MsoMulticloudUtils.java index 73e0da1cd9..8d700751a9 100644 --- a/adapters/mso-adapter-utils/src/main/java/org/onap/so/openstack/utils/MsoMulticloudUtils.java +++ b/adapters/mso-adapter-utils/src/main/java/org/onap/so/openstack/utils/MsoMulticloudUtils.java @@ -205,17 +205,24 @@ public class MsoMulticloudUtils extends MsoHeatUtils implements VduPlugin{ createInfo.setName(stackName); MulticloudCreateResponse multicloudResponseBody = null; - if (response.getStatus() == Response.Status.CREATED.getStatusCode() && response.hasEntity()) { + if (response.hasEntity()) { multicloudResponseBody = getCreateBody((java.io.InputStream)response.getEntity()); + } + if (response.getStatus() == Response.Status.CREATED.getStatusCode() && response.hasEntity()) { createInfo.setCanonicalName(stackName + "/" + multicloudResponseBody.getWorkloadId()); if (logger.isDebugEnabled()) { logger.debug("Multicloud Create Response Body: " + multicloudResponseBody); } return getStackStatus(cloudSiteId, tenantId, createInfo.getCanonicalName(), pollForCompletion, timeoutMinutes, backout); } else { - createInfo.setStatus(HeatStatus.FAILED); - createInfo.setStatusMessage(response.getStatusInfo().getReasonPhrase()); - return createInfo; + StringBuilder stackErrorStatusReason = new StringBuilder(response.getStatusInfo().getReasonPhrase()); + if (null != multicloudResponseBody) { + stackErrorStatusReason.append(multicloudResponseBody.toString()); + } + MsoOpenstackException me = new MsoOpenstackException(0, "", stackErrorStatusReason.toString()); + me.addContext(CREATE_STACK); + alarmLogger.sendAlarm(HEAT_ERROR, MsoAlarmLogger.CRITICAL, me.getContextMessage()); + throw me; } } @@ -383,7 +390,7 @@ public class MsoMulticloudUtils extends MsoHeatUtils implements VduPlugin{ if (pollTimeout <= 0) { // Note that this should not occur, since there is a timeout specified // in the Openstack (multicloud?) call. - logger.error(String.format("%d %s %s %s %s %s %d %s", MessageEnum.RA_CREATE_STACK_TIMEOUT, cloudSiteId, tenantId, instanceId, stackInfo.getStatus(), "", "", MsoLogger.ErrorCode.AvailabilityError, "Create stack timeout")); + logger.error(String.format("%s %s %s %s %s %s %s %d %s", MessageEnum.RA_CREATE_STACK_TIMEOUT.toString(), cloudSiteId, tenantId, instanceId, stackInfo.getStatus(), "", "", MsoLogger.ErrorCode.AvailabilityError.getValue(), "Create stack timeout")); createTimedOut = true; break; } @@ -401,7 +408,7 @@ public class MsoMulticloudUtils extends MsoHeatUtils implements VduPlugin{ // Cannot query the stack status. Something is wrong. // Try to roll back the stack if (!backout) { - logger.warn(String.format("%d %s %s %s %s %s %d %s", MessageEnum.RA_CREATE_STACK_ERR, "Create Stack errored, stack deletion suppressed", "", "", MsoLogger.ErrorCode.BusinessProcesssError, "Exception in Create Stack, stack deletion suppressed")); + logger.warn(String.format("%s %s %s %s %d %s", MessageEnum.RA_CREATE_STACK_ERR.toString(), "Create Stack error, stack deletion suppressed", "", "", MsoLogger.ErrorCode.BusinessProcesssError.getValue(), "Exception in Create Stack, stack deletion suppressed")); } else { try { logger.debug("Create Stack error - unable to query for stack status - attempting to delete stack: " + instanceId + " - This will likely fail and/or we won't be able to query to see if delete worked"); @@ -415,8 +422,8 @@ public class MsoMulticloudUtils extends MsoHeatUtils implements VduPlugin{ logger.debug("Deleting " + instanceId + ", status: " + queryInfo.getStatus()); if (HeatStatus.DELETING.equals(queryInfo.getStatus())) { if (deletePollTimeout <= 0) { - logger.error(String.format("%d %s %s %s %s %s %d %s", MessageEnum.RA_CREATE_STACK_TIMEOUT, cloudSiteId, tenantId, instanceId, - queryInfo.getStatus(), "", "", MsoLogger.ErrorCode.AvailabilityError, + logger.error(String.format("%s %s %s %s %s %s %s %d %s", MessageEnum.RA_CREATE_STACK_TIMEOUT.toString(), cloudSiteId, tenantId, instanceId, + queryInfo.getStatus(), "", "", MsoLogger.ErrorCode.AvailabilityError.getValue(), "Rollback: DELETE stack timeout")); break; } else { @@ -433,12 +440,12 @@ public class MsoMulticloudUtils extends MsoHeatUtils implements VduPlugin{ } } catch (Exception e3) { // Just log this one. We will report the original exception. - logger.error(String.format("%d %s %s %s %d %s", MessageEnum.RA_CREATE_STACK_ERR, "Create Stack: Nested exception rolling back stack: " + e3, "", "", MsoLogger.ErrorCode.BusinessProcesssError, "Create Stack: Nested exception rolling back stack on error on query")); + logger.error(String.format("%s %s %s %s %d %s", MessageEnum.RA_CREATE_STACK_ERR.toString(), "Create Stack: Nested exception rolling back stack: " + e3, "", "", MsoLogger.ErrorCode.BusinessProcesssError.getValue(), "Create Stack: Nested exception rolling back stack on error on query")); } } } catch (Exception e2) { // Just log this one. We will report the original exception. - logger.error(String.format("%d %s %s %s %s %s %d %s", MessageEnum.RA_CREATE_STACK_ERR, "Create Stack: Nested exception rolling back stack: " + e2, "", "", MsoLogger.ErrorCode.BusinessProcesssError, "Create Stack: Nested exception rolling back stack")); + logger.error(String.format("%s %s %s %s %d %s", MessageEnum.RA_CREATE_STACK_ERR.toString(), "Create Stack: Nested exception rolling back stack: " + e2, "", "", MsoLogger.ErrorCode.BusinessProcesssError.getValue(), "Create Stack: Nested exception rolling back stack")); } } @@ -449,12 +456,12 @@ public class MsoMulticloudUtils extends MsoHeatUtils implements VduPlugin{ } if (!HeatStatus.CREATED.equals(stackInfo.getStatus())) { - logger.error(String.format("%d %s %s %s %s %s %d %s", MessageEnum.RA_CREATE_STACK_ERR, "Create Stack error: Polling complete with non-success status: " - + stackInfo.getStatus () + ", " + stackInfo.getStatusMessage(), "", "", MsoLogger.ErrorCode.BusinessProcesssError, "Create Stack error")); + logger.error(String.format("%s %s %s %s %d %s", MessageEnum.RA_CREATE_STACK_ERR.toString(), "Create Stack error: Polling complete with non-success status: " + + stackInfo.getStatus () + ", " + stackInfo.getStatusMessage(), "", "", MsoLogger.ErrorCode.BusinessProcesssError.getValue(), "Create Stack error")); // Rollback the stack creation, since it is in an indeterminate state. if (!backout) { - logger.warn(String.format("%d %s %s %s %s %s %d %s", MessageEnum.RA_CREATE_STACK_ERR, "Create Stack errored, stack deletion suppressed", "", "", MsoLogger.ErrorCode.BusinessProcesssError, "Create Stack error, stack deletion suppressed")); + logger.warn(String.format("%s %s %s %s %d %s", MessageEnum.RA_CREATE_STACK_ERR.toString(), "Create Stack errored, stack deletion suppressed", "", "", MsoLogger.ErrorCode.BusinessProcesssError.getValue(), "Create Stack error, stack deletion suppressed")); } else { @@ -469,8 +476,8 @@ public class MsoMulticloudUtils extends MsoHeatUtils implements VduPlugin{ logger.debug("Deleting " + instanceId + ", status: " + queryInfo.getStatus()); if (HeatStatus.DELETING.equals(queryInfo.getStatus())) { if (deletePollTimeout <= 0) { - logger.error(String.format("%d %s %s %s %s %s %d %s", MessageEnum.RA_CREATE_STACK_TIMEOUT, cloudSiteId, tenantId, instanceId, - queryInfo.getStatus(), "", "", MsoLogger.ErrorCode.AvailabilityError, + logger.error(String.format("%s %s %s %s %s %s %s %d %s", MessageEnum.RA_CREATE_STACK_TIMEOUT.toString(), cloudSiteId, tenantId, instanceId, + queryInfo.getStatus(), "", "", MsoLogger.ErrorCode.AvailabilityError.getValue(), "Rollback: DELETE stack timeout")); break; } else { @@ -483,14 +490,14 @@ public class MsoMulticloudUtils extends MsoHeatUtils implements VduPlugin{ continue; } else { //got a status other than DELETE_IN_PROGRESS or DELETE_COMPLETE - so break and evaluate - logger.warn(String.format("%d %s %s %s %d %s", MessageEnum.RA_CREATE_STACK_ERR, "Create Stack errored, stack deletion FAILED", "", "", MsoLogger.ErrorCode.BusinessProcesssError, "Create Stack error, stack deletion FAILED")); + logger.warn(String.format("%s %s %s %s %d %s", MessageEnum.RA_CREATE_STACK_ERR.toString(), "Create Stack errored, stack deletion FAILED", "", "", MsoLogger.ErrorCode.BusinessProcesssError.getValue(), "Create Stack error, stack deletion FAILED")); logger.debug("Stack deletion FAILED on a rollback of a create - " + instanceId + ", status=" + queryInfo.getStatus() + ", reason=" + queryInfo.getStatusMessage()); break; } } catch (MsoException me2) { // Just log this one. We will report the original exception. logger.debug("Exception thrown trying to delete " + instanceId + " on a create->rollback: " + me2.getContextMessage(), me2); - logger.warn(String.format("%d %s %s %s %d %s", MessageEnum.RA_CREATE_STACK_ERR, "Create Stack errored, then stack deletion FAILED - exception thrown", "", "", MsoLogger.ErrorCode.BusinessProcesssError, me2.getContextMessage())); + logger.warn(String.format("%s %s %s %s %d %s", MessageEnum.RA_CREATE_STACK_ERR.toString(), "Create Stack errored, then stack deletion FAILED - exception thrown", "", "", MsoLogger.ErrorCode.BusinessProcesssError.getValue(), me2.getContextMessage())); } } StringBuilder errorContextMessage; @@ -506,7 +513,7 @@ public class MsoMulticloudUtils extends MsoHeatUtils implements VduPlugin{ } } catch (MsoException e2) { // shouldn't happen - but handle - logger.error(String.format("%d %s %s %s %d %s", MessageEnum.RA_CREATE_STACK_ERR, "Create Stack: Nested exception rolling back stack: " + e2, "", "", MsoLogger.ErrorCode.BusinessProcesssError, "Exception in Create Stack: rolling back stack")); + logger.error(String.format("%s %s %s %s %d %s", MessageEnum.RA_CREATE_STACK_ERR.toString(), "Create Stack: Nested exception rolling back stack: " + e2, "", "", MsoLogger.ErrorCode.BusinessProcesssError.getValue(), "Exception in Create Stack: rolling back stack")); } } MsoOpenstackException me = new MsoOpenstackException(0, "", stackErrorStatusReason.toString()); @@ -613,10 +620,10 @@ public class MsoMulticloudUtils extends MsoHeatUtils implements VduPlugin{ try { return JSON_MAPPER.readTree(directives); } catch (Exception e) { - logger.error(String.format("%d %s %s %s %d %s", - MessageEnum.RA_CREATE_STACK_ERR, + logger.error(String.format("%s %s %s %s %d %s", + MessageEnum.RA_CREATE_STACK_ERR.toString(), "Create Stack: " + e, "", "", - MsoLogger.ErrorCode.BusinessProcesssError, + MsoLogger.ErrorCode.BusinessProcesssError.getValue(), "Exception in Create Stack: Invalid JSON format of directives" + directives)); MsoException me = new MsoAdapterException("Invalid JSON format of directives parameter: " + directives); me.addContext(CREATE_STACK); 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 2348af5dec..55910518e0 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 @@ -20,6 +22,12 @@ 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 java.util.HashMap; +import java.util.Map; +import java.util.UUID; import org.assertj.core.api.Assertions; import org.camunda.bpm.engine.RuntimeService; import org.camunda.bpm.engine.runtime.ProcessInstance; @@ -34,11 +42,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringRunner; -import java.util.HashMap; -import java.util.Map; - -import static org.onap.so.bpmn.infrastructure.pnf.delegate.ExecutionVariableNames.CORRELATION_ID; - @RunWith(SpringRunner.class) @ContextConfiguration(locations = "/applicationContext_forPnfTesting.xml") public class CreateAndActivatePnfResourceTest { @@ -50,6 +53,7 @@ public class CreateAndActivatePnfResourceTest { @Autowired @Rule public ProcessEngineRule processEngineRule; + private static final String VALID_UUID = UUID.nameUUIDFromBytes("testUuid".getBytes()).toString(); @Autowired private AaiConnectionTestImpl aaiConnection; @@ -66,6 +70,7 @@ public class CreateAndActivatePnfResourceTest { 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); @@ -94,6 +99,7 @@ public class CreateAndActivatePnfResourceTest { 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); @@ -106,7 +112,7 @@ public class CreateAndActivatePnfResourceTest { "CheckInputs", "CheckAiiForCorrelationId", "DoesAaiContainInfoAboutPnf", - "CreateAndActivatePnf_CreateAaiEntry", + "CreatePnfEntryInAai", "AaiEntryExists", "InformDmaapClient", "WaitForDmaapPnfReadyNotification", diff --git a/bpmn/mso-infrastructure-bpmn/src/test/resources/applicationContext_forPnfTesting.xml b/bpmn/mso-infrastructure-bpmn/src/test/resources/applicationContext_forPnfTesting.xml index 3a41801d4a..9e9e5a2177 100644 --- a/bpmn/mso-infrastructure-bpmn/src/test/resources/applicationContext_forPnfTesting.xml +++ b/bpmn/mso-infrastructure-bpmn/src/test/resources/applicationContext_forPnfTesting.xml @@ -52,7 +52,7 @@ <property name="aaiConnection" ref="aaiConnection"/> </bean> - <bean id="CreateAaiEntryWithPnfIdDelegate" class="org.onap.so.bpmn.infrastructure.pnf.delegate.CreateAaiEntryWithPnfIdDelegate"> + <bean id="CreatePnfEntryInAaiDelegate" class="org.onap.so.bpmn.infrastructure.pnf.delegate.CreatePnfEntryInAaiDelegate"> <property name="aaiConnection" ref="aaiConnection"/> </bean> 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 a8754cd4a0..12cb6ffdff 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,23 +23,28 @@ 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; import org.onap.aai.domain.yang.Pnf; import org.onap.so.bpmn.infrastructure.pnf.implementation.AaiConnection; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; 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(CreatePnfEntryInAaiDelegate.class); private AaiConnection aaiConnection; @Autowired @@ -48,10 +55,12 @@ 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: {}, 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 164f51f579..c1ddf2e04e 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,8 +23,10 @@ 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 org.camunda.bpm.engine.delegate.DelegateExecution; import org.camunda.bpm.engine.delegate.JavaDelegate; import org.onap.so.bpmn.common.scripts.ExceptionUtil; @@ -34,6 +38,7 @@ import org.springframework.stereotype.Component; @Component public class PnfCheckInputs implements JavaDelegate { + public 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}$"; private static MsoLogger LOGGER = MsoLogger.getMsoLogger(MsoLogger.Catalog.GENERAL, PnfCheckInputs.class); private String defaultTimeout; @@ -45,19 +50,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 (correlationId == null) { + 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 (!pnfUuid.matches(UUID_REGEX)) { + 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 (timeout == null) { + 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/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..ce6b766fa2 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,30 +22,34 @@ 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(); } 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..c351706aff --- /dev/null +++ b/bpmn/so-bpmn-infrastructure-common/src/test/java/org/onap/so/bpmn/infrastructure/pnf/delegate/GeneratePnfUuidDelegateTest.java @@ -0,0 +1,41 @@ +/*- + * ============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 { + @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(PnfCheckInputs.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 2e8fb4be78..3e146be3c2 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 @@ -20,62 +20,89 @@ package org.onap.so.bpmn.infrastructure.pnf.delegate; +import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; -import static org.mockito.Matchers.eq; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.verify; -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 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.camunda.bpm.extension.mockito.delegate.DelegateExecutionFake; +import org.junit.Before; import org.junit.Test; 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 mockDelegateExecution() { - new PnfCheckInputs(DEFAULT_TIMEOUT); - DelegateExecution delegateExecution = mock(DelegateExecution.class); - when(delegateExecution.getVariable("testProcessKey")).thenReturn("testProcessKeyValue"); - return delegateExecution; + private DelegateExecution 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 + public void shouldThrowException_whenCorrelationIdNotSet() { + PnfCheckInputs testedObject = prepareExecutionForCorrelationId(null); + assertThatThrownBy(() -> testedObject.execute(delegateExecution)).isInstanceOf(BpmnError.class); + } + + @Test + public void shouldThrowException_whenTimeoutIsEmptyStringAndDefaultIsNotDefined() { + PnfCheckInputs testedObject = prepareExecutionForTimeout(null, ""); 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 shouldSetDefaultTimeout_whenTimeoutIsNotSet() { + PnfCheckInputs testedObject = prepareExecutionForTimeout(DEFAULT_TIMEOUT, null); + testedObject.execute(delegateExecution); + assertThat(delegateExecution.getVariable(TIMEOUT_FOR_NOTIFICATION)).isEqualTo(DEFAULT_TIMEOUT); } @Test - public void shouldThrowException_whenTimeoutIsNotSetAndDefaultIsNotDefined() { - // given - PnfCheckInputs testedObject = new PnfCheckInputs(null); - DelegateExecution delegateExecution = mockDelegateExecutionWithCorrelationId(); - // when, then + public void shouldThrowException_whenPnfUuidIsNotSet() { + PnfCheckInputs testedObject = prepareExecutionForUuid(null); assertThatThrownBy(() -> testedObject.execute(delegateExecution)).isInstanceOf(BpmnError.class); } @Test - public void shouldSetDefaultTimeout_whenTimeoutIsNotSet() { - // given + 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; } }
\ No newline at end of file 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> |