diff options
Diffstat (limited to 'bpmn/MSOCommonBPMN/src/main/resources')
25 files changed, 6295 insertions, 0 deletions
diff --git a/bpmn/MSOCommonBPMN/src/main/resources/META-INF/persistence.xml b/bpmn/MSOCommonBPMN/src/main/resources/META-INF/persistence.xml new file mode 100644 index 0000000..fb027b8 --- /dev/null +++ b/bpmn/MSOCommonBPMN/src/main/resources/META-INF/persistence.xml @@ -0,0 +1,37 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + ============LICENSE_START======================================================= + ECOMP MSO + ================================================================================ + Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + ================================================================================ + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + ============LICENSE_END========================================================= + --> + +<persistence version="2.0" + xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation=" + http://java.sun.com/xml/ns/persistence + http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"> + + <persistence-unit name="common"> + <jta-data-source>java:jboss/datasources/ProcessEngine</jta-data-source> + <properties> + <!-- Properties for Hibernate --> + <property name="hibernate.hbm2ddl.auto" value="create-drop" /> + <property name="hibernate.show_sql" value="true" /> + </properties> + </persistence-unit> + +</persistence> diff --git a/bpmn/MSOCommonBPMN/src/main/resources/META-INF/processes.xml b/bpmn/MSOCommonBPMN/src/main/resources/META-INF/processes.xml new file mode 100644 index 0000000..1745af6 --- /dev/null +++ b/bpmn/MSOCommonBPMN/src/main/resources/META-INF/processes.xml @@ -0,0 +1,81 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!-- + ============LICENSE_START======================================================= + ECOMP MSO + ================================================================================ + Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + ================================================================================ + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + ============LICENSE_END========================================================= + --> + + +<process-application + xmlns="http://www.camunda.org/schema/1.0/ProcessApplication" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <process-engine name="common"> + <configuration>org.camunda.bpm.engine.impl.cfg.StandaloneProcessEngineConfiguration</configuration> + <datasource>java:jboss/datasources/ProcessEngine</datasource> + <properties> + <property name="history">full</property> + <property name="databaseSchemaUpdate">true</property> + <property name="authorizationEnabled">true</property> + <property name="jobExecutorDeploymentAware">true</property> + <property name="jobExecutorActivate">true</property> + </properties> + <plugins> + + <!-- plugin enabling Process Application event listener support --> + <plugin> + <class>org.camunda.bpm.application.impl.event.ProcessApplicationEventListenerPlugin</class> + </plugin> + + <!-- plugin enabling integration of camunda Spin --> + <plugin> + <class>org.camunda.spin.plugin.impl.SpinProcessEnginePlugin</class> + </plugin> + + <!-- plugin enabling connect support --> + <plugin> + <class>org.camunda.connect.plugin.impl.ConnectProcessEnginePlugin</class> + </plugin> + + <plugin> + <class>org.openecomp.mso.bpmn.core.plugins.LoggingAndURNMappingPlugin</class> + </plugin> + + <!-- Needed until all subflows generate MSOWorkflowException events --> + <plugin> + <class>org.openecomp.mso.bpmn.core.plugins.WorkflowExceptionPlugin</class> + </plugin> + + <!-- Optional Plugin for Camunda BPM Workbench --> + <!-- <plugin> + <class>org.camunda.bpm.debugger.server.EmbeddableDebugWebsocketBootstrap</class> + <properties> + <property name="httpPort">8088</property> + </properties> + </plugin> --> + </plugins> + </process-engine> + + + <process-archive name="MSOCommonBPMN"> + <process-engine>common</process-engine> + <properties> + <property name="isDeleteUponUndeploy">false</property> + <property name="isScanForProcessDefinitions">true</property> + </properties> + </process-archive> + +</process-application> diff --git a/bpmn/MSOCommonBPMN/src/main/resources/logback.xml b/bpmn/MSOCommonBPMN/src/main/resources/logback.xml new file mode 100644 index 0000000..133fa54 --- /dev/null +++ b/bpmn/MSOCommonBPMN/src/main/resources/logback.xml @@ -0,0 +1,159 @@ +<!-- + ============LICENSE_START======================================================= + ECOMP MSO + ================================================================================ + Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + ================================================================================ + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + ============LICENSE_END========================================================= + --> + +<configuration scan="true" scanPeriod="3 seconds" debug="true"> + <!--<jmxConfigurator /> --> + <!-- directory path for all other type logs --> + <property name="logDir" value="/var/log/ecomp" /> + + <!-- directory path for debugging type logs --> + <property name="debugDir" value="/var/log/ecomp" /> + + <!-- specify the component name + <ECOMP-component-name>::= "MSO" | "DCAE" | "ASDC " | "AAI" |"Policy" | "SDNC" | "AC" --> + <property name="componentName" value="MSO"></property> + <property name="subComponentName" value="BPMN"></property> + <!-- log file names --> + <property name="errorLogName" value="error" /> + <property name="metricsLogName" value="metrics" /> + <property name="auditLogName" value="audit" /> + <property name="debugLogName" value="debug" /> + + <property name="errorPattern" value="%d{"yyyy-MM-dd'T'HH:mm:ss.SSSXXX", UTC}|%X{RequestId}|%thread|%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%.-5level|%X{ErrorCode}|%X{ErrorDesc}|%msg%n" /> + <property name="debugPattern" value="%d{"yyyy-MM-dd'T'HH:mm:ss.SSSXXX", UTC}|%X{RequestId}|%msg%n" /> + + <property name="auditPattern" value="%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%thread||%X{ServiceName}|%X{PartnerName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDesc}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{Timer}|%X{ServerFQDN}|%X{RemoteHost}||||||||%msg%n" /> + <property name="metricPattern" value="%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%thread||%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDesc}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{Timer}|%X{ServerFQDN}|%X{RemoteHost}||||%X{TargetVirtualEntity}|||||%msg%n" /> + <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" /> + <property name="debugLogDirectory" value="${debugDir}/${componentName}/${subComponentName}" /> + + + <!-- ============================================================================ --> + <!-- EELF Appenders --> + <!-- ============================================================================ --> + + <!-- The EELFAppender is used to record events to the general application + log --> + + <!-- EELF Audit Appender. This appender is used to record audit engine + related logging events. The audit logger and appender are specializations + of the EELF application root logger and appender. This can be used to segregate + Policy engine events from other components, or it can be eliminated to record + these events as part of the application root log. --> + + <appender name="EELFAudit" + class="ch.qos.logback.core.rolling.RollingFileAppender"> + <file>${logDirectory}/${auditLogName}${jboss.server.name}.log</file> + <rollingPolicy + class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <fileNamePattern>${logDirectory}/${auditLogName}${jboss.server.name}.log.%d</fileNamePattern> + <!--<maxHistory>30</maxHistory>--> + </rollingPolicy> + <encoder> + <pattern>${auditPattern}</pattern> + </encoder> + </appender> + <appender name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender"> + <queueSize>256</queueSize> + <appender-ref ref="EELFAudit" /> + </appender> + + <appender name="EELFMetrics" + class="ch.qos.logback.core.rolling.RollingFileAppender"> + <file>${logDirectory}/${metricsLogName}${jboss.server.name}.log</file> + <rollingPolicy + class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <fileNamePattern>${logDirectory}/${metricsLogName}${jboss.server.name}.log.%d</fileNamePattern> + <!--<maxHistory>30</maxHistory>--> + </rollingPolicy> + <encoder> + <!-- <pattern>"%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - + %msg%n"</pattern> --> + <pattern>${metricPattern}</pattern> + </encoder> + </appender> + + + <appender name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender"> + <queueSize>256</queueSize> + <appender-ref ref="EELFMetrics"/> + </appender> + + <appender name="EELFError" + class="ch.qos.logback.core.rolling.RollingFileAppender"> + <file>${logDirectory}/${errorLogName}${jboss.server.name}.log</file> + <rollingPolicy + class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <fileNamePattern>${logDirectory}/${errorLogName}${jboss.server.name}.log.%d</fileNamePattern> + <!--<maxHistory>30</maxHistory>--> + </rollingPolicy> + <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> + <level>INFO</level> + </filter> + <encoder> + <pattern>${errorPattern}</pattern> + </encoder> + </appender> + + <appender name="asyncEELFError" class="ch.qos.logback.classic.AsyncAppender"> + <queueSize>256</queueSize> + <appender-ref ref="EELFError"/> + </appender> + + <appender name="EELFDebug" + class="ch.qos.logback.core.rolling.RollingFileAppender"> + <file>${debugLogDirectory}/${debugLogName}${jboss.server.name}.log</file> + <rollingPolicy + class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <fileNamePattern>${debugLogDirectory}/${debugLogName}${jboss.server.name}.log.%d</fileNamePattern> + <!--<maxHistory>30</maxHistory>--> + </rollingPolicy> + <encoder> + <pattern>${debugPattern}</pattern> + </encoder> + </appender> + + <appender name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender"> + <queueSize>256</queueSize> + <appender-ref ref="EELFDebug" /> + <includeCallerData>true</includeCallerData> + </appender> + + + <!-- ============================================================================ --> + <!-- EELF loggers --> + <!-- ============================================================================ --> + + <logger name="com.att.eelf.audit" level="info" additivity="false"> + <appender-ref ref="asyncEELFAudit" /> + </logger> + + <logger name="com.att.eelf.metrics" level="info" additivity="false"> + <appender-ref ref="asyncEELFMetrics" /> + </logger> + + <logger name="com.att.eelf.error" level="debug" additivity="false"> + <appender-ref ref="asyncEELFError" /> + </logger> + <root level="INFO"> + <appender-ref ref="asyncEELFDebug" /> + </root> + +</configuration> diff --git a/bpmn/MSOCommonBPMN/src/main/resources/processengine.properties b/bpmn/MSOCommonBPMN/src/main/resources/processengine.properties new file mode 100644 index 0000000..c21925c --- /dev/null +++ b/bpmn/MSOCommonBPMN/src/main/resources/processengine.properties @@ -0,0 +1,20 @@ +### +# ============LICENSE_START======================================================= +# ECOMP MSO +# ================================================================================ +# Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. +# ================================================================================ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============LICENSE_END========================================================= +### +processEngineName=common diff --git a/bpmn/MSOCommonBPMN/src/main/resources/subprocess/CompleteMsoProcess.bpmn b/bpmn/MSOCommonBPMN/src/main/resources/subprocess/CompleteMsoProcess.bpmn new file mode 100644 index 0000000..caf3901 --- /dev/null +++ b/bpmn/MSOCommonBPMN/src/main/resources/subprocess/CompleteMsoProcess.bpmn @@ -0,0 +1,447 @@ +<?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="_EsMs0HcuEeW2U_kkOHX1ZQ" targetNamespace="http://camunda.org/schema/1.0/bpmn" exporter="Camunda Modeler" exporterVersion="1.4.0" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd"> + <bpmn2:process id="CompleteMsoProcess" name="CompleteMsoProcess" isExecutable="true"> + <bpmn2:scriptTask id="preProcessRequest" name="Pre-Process Request" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_1s593bx</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_1epmndu</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +def preProcessRequestData = new CompleteMsoProcess() +preProcessRequestData.preProcessRequest(execution) + +]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:startEvent id="StartEvent_1" name="Start With Message "> + <bpmn2:outgoing>SequenceFlow_1s593bx</bpmn2:outgoing> + <bpmn2:messageEventDefinition id="MessageEventDefinition_1" messageRef="Message_2" /> + </bpmn2:startEvent> + <bpmn2:subProcess id="subProcessExceptionCompleteMSO" name="Sub Process Exception Complete MSO" triggeredByEvent="true"> + <bpmn2:endEvent id="endEventExceptionCompleteMSO"> + <bpmn2:extensionElements> + <camunda:connector> + <camunda:inputOutput> + <camunda:outputParameter name="DB_ADAPTER_ERROR">${CMSO_updateRequestResponse}</camunda:outputParameter> + </camunda:inputOutput> + </camunda:connector> + </bpmn2:extensionElements> + <bpmn2:incoming>SequenceFlow_19</bpmn2:incoming> + <bpmn2:terminateEventDefinition id="MessageEventDefinition_3" /> + </bpmn2:endEvent> + <bpmn2:startEvent id="startEventExceptionCompleteMSO"> + <bpmn2:outgoing>SequenceFlow_19</bpmn2:outgoing> + <bpmn2:errorEventDefinition id="ErrorEventDefinition_4" /> + </bpmn2:startEvent> + <bpmn2:sequenceFlow id="SequenceFlow_19" name="" sourceRef="startEventExceptionCompleteMSO" targetRef="endEventExceptionCompleteMSO" /> + </bpmn2:subProcess> + <bpmn2:endEvent id="EndEvent_13"> + <bpmn2:incoming>SequenceFlow_21</bpmn2:incoming> + </bpmn2:endEvent> + <bpmn2:exclusiveGateway id="ParallelGateway_7"> + <bpmn2:incoming>SequenceFlow_7</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_24</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_0fni7aq</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:endEvent id="EndEvent_4"> + <bpmn2:incoming>SequenceFlow_9</bpmn2:incoming> + <bpmn2:errorEventDefinition id="ErrorEventDefinition_5" errorRef="Error_3" /> + </bpmn2:endEvent> + <bpmn2:scriptTask id="ScriptTask_3" name="Prepare
Update DB Request" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_72</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_10</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +def completeMsoProcess = new CompleteMsoProcess() +completeMsoProcess.setUpdateDBstatustoSuccessPayload(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_10" name="" sourceRef="ScriptTask_3" targetRef="updateInfraRequest" /> + <bpmn2:endEvent id="EndEvent_5"> + <bpmn2:incoming>SequenceFlow_13</bpmn2:incoming> + <bpmn2:errorEventDefinition id="ErrorEventDefinition_3" errorRef="Error_3" /> + </bpmn2:endEvent> + <bpmn2:exclusiveGateway id="ExclusiveGateway_3" name="Active Request?" default="SequenceFlow_72"> + <bpmn2:incoming>SequenceFlow_1epmndu</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_72</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_81</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:sequenceFlow id="SequenceFlow_72" name="No" sourceRef="ExclusiveGateway_3" targetRef="ScriptTask_3" /> + <bpmn2:sequenceFlow id="SequenceFlow_81" name="Yes" sourceRef="ExclusiveGateway_3" targetRef="prepareUpdateRequest"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("CMSO_request_id-Ok") ==true}]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:scriptTask id="BuildErrorMessage1" name="Build Error Message" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_25</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_13</bpmn2:outgoing> + <bpmn2:script><![CDATA[//println "INSIDE --> Build Error Message @@@@" +import org.openecomp.mso.bpmn.common.scripts.* +def buildDataErrorMessage = new CompleteMsoProcess() +buildDataErrorMessage.buildDataError(execution, "Complete --Update DB status to SUCCESS-- Failed")]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_13" name="" sourceRef="BuildErrorMessage1" targetRef="EndEvent_5" /> + <bpmn2:scriptTask id="prepareUpdateRequest" name="Prepare
Update DB Request" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_81</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_49</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +def completeMsoProcess = new CompleteMsoProcess() +completeMsoProcess.updateDBStatusToSuccessPayload(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_49" name="" sourceRef="prepareUpdateRequest" targetRef="updateDBStatus" /> + <bpmn2:serviceTask id="updateInfraRequest" name="Update DB status to SUCCESS"> + <bpmn2:extensionElements> + <camunda:connector> + <camunda:inputOutput> + <camunda:inputParameter name="url">${URN_mso_adapters_db_endpoint}</camunda:inputParameter> + <camunda:inputParameter name="payload"><![CDATA[${execution.getVariable("CMSO_setUpdateDBstatustoSuccessPayload")}]]></camunda:inputParameter> + <camunda:inputParameter name="headers"> + <camunda:map> + <camunda:entry key="content-type">application/soap+xml</camunda:entry> + <camunda:entry key="Authorization">#{BasicAuthHeaderValueDB}</camunda:entry> + </camunda:map> + </camunda:inputParameter> + <camunda:inputParameter name="method">POST</camunda:inputParameter> + <camunda:outputParameter name="CMSO_updateRequestResponse"><![CDATA[${statusCode == null || statusCode == 204 ? "" : response}]]></camunda:outputParameter> + <camunda:outputParameter name="CMSO_updateRequestResponseCode">${statusCode}</camunda:outputParameter> + </camunda:inputOutput> + <camunda:connectorId>soap-http-connector</camunda:connectorId> + </camunda:connector> + </bpmn2:extensionElements> + <bpmn2:incoming>SequenceFlow_10</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_6</bpmn2:outgoing> + </bpmn2:serviceTask> + <bpmn2:sequenceFlow id="SequenceFlow_6" name="" sourceRef="updateInfraRequest" targetRef="ExclusiveGateway_7" /> + <bpmn2:boundaryEvent id="BoundaryEvent_6" name="" attachedToRef="updateDBStatus"> + <bpmn2:outgoing>SequenceFlow_14</bpmn2:outgoing> + <bpmn2:errorEventDefinition id="_ErrorEventDefinition_83" errorRef="Error_1" /> + </bpmn2:boundaryEvent> + <bpmn2:sequenceFlow id="SequenceFlow_14" name="" sourceRef="BoundaryEvent_6" targetRef="EndEvent_12" /> + <bpmn2:scriptTask id="BuildErrorMessage" name="Build Error Message" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_1</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_9</bpmn2:outgoing> + <bpmn2:script><![CDATA[//println "INSIDE --> Build Error Message @@@@" +//println "CMSO_updateRequestResponse IS --> " + execution.getVariable("CMSO_updateRequestResponse") +import org.openecomp.mso.bpmn.common.scripts.* +def buildDataErrorMessage = new CompleteMsoProcess() +buildDataErrorMessage.buildDataError(execution, "Complete MSO -- Update DB status to SUCCESS -- Failed")]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_9" name="" sourceRef="BuildErrorMessage" targetRef="EndEvent_4" /> + <bpmn2:exclusiveGateway id="ExclusiveGateway_10" default="SequenceFlow_25"> + <bpmn2:incoming>SequenceFlow_23</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_24</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_25</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:sequenceFlow id="SequenceFlow_24" name="" sourceRef="ExclusiveGateway_10" targetRef="ParallelGateway_7"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("CMSO_updateRequestResponseCode")==200}]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_25" name="" sourceRef="ExclusiveGateway_10" targetRef="BuildErrorMessage1" /> + <bpmn2:exclusiveGateway id="ExclusiveGateway_7" default="SequenceFlow_1"> + <bpmn2:incoming>SequenceFlow_6</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_7</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_1</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:sequenceFlow id="SequenceFlow_7" sourceRef="ExclusiveGateway_7" targetRef="ParallelGateway_7"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("CMSO_updateRequestResponseCode")==200}]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_1" name="" sourceRef="ExclusiveGateway_7" targetRef="BuildErrorMessage" /> + <bpmn2:serviceTask id="updateDBStatus" name="Update DB status to SUCCESS"> + <bpmn2:extensionElements> + <camunda:connector> + <camunda:inputOutput> + <camunda:inputParameter name="url">${URN_mso_adapters_db_endpoint}</camunda:inputParameter> + <camunda:inputParameter name="payload"><![CDATA[${execution.getVariable("CMSO_updateDBStatusToSuccessPayload")}]]></camunda:inputParameter> + <camunda:inputParameter name="headers"> + <camunda:map> + <camunda:entry key="content-type">application/soap+xml</camunda:entry> + <camunda:entry key="Authorization">#{BasicAuthHeaderValueDB}</camunda:entry> + </camunda:map> + </camunda:inputParameter> + <camunda:inputParameter name="method">POST</camunda:inputParameter> + <camunda:outputParameter name="CMSO_updateRequestResponse"><![CDATA[${statusCode == null || statusCode == 204 ? "" : response}]]></camunda:outputParameter> + <camunda:outputParameter name="CMSO_updateRequestResponseCode">${statusCode}</camunda:outputParameter> + </camunda:inputOutput> + <camunda:connectorId>soap-http-connector</camunda:connectorId> + </camunda:connector> + </bpmn2:extensionElements> + <bpmn2:incoming>SequenceFlow_49</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_23</bpmn2:outgoing> + </bpmn2:serviceTask> + <bpmn2:sequenceFlow id="SequenceFlow_23" name="" sourceRef="updateDBStatus" targetRef="ExclusiveGateway_10" /> + <bpmn2:endEvent id="EndEvent_12"> + <bpmn2:incoming>SequenceFlow_14</bpmn2:incoming> + </bpmn2:endEvent> + <bpmn2:boundaryEvent id="BoundaryEvent_7" name="" attachedToRef="updateInfraRequest"> + <bpmn2:outgoing>SequenceFlow_21</bpmn2:outgoing> + <bpmn2:errorEventDefinition id="_ErrorEventDefinition_84" errorRef="Error_1" /> + </bpmn2:boundaryEvent> + <bpmn2:sequenceFlow id="SequenceFlow_21" name="" sourceRef="BoundaryEvent_7" targetRef="EndEvent_13" /> + <bpmn2:scriptTask id="Done" name="Prepare Response" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_0fni7aq</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_17</bpmn2:outgoing> + <bpmn2:script><![CDATA[println "INSIDE --> Complete MSO Process Done SUCCESSFULLY" +import org.openecomp.mso.bpmn.common.scripts.* +def postProcessResponseData = new CompleteMsoProcess() +postProcessResponseData.postProcessResponse(execution) +println "CompleteMsoProcess Response -->" + "\n" + execution.getVariable("CompletionHandlerResponse")]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_17" name="" sourceRef="Done" targetRef="EndEvent_1" /> + <bpmn2:endEvent id="EndEvent_1"> + <bpmn2:incoming>SequenceFlow_17</bpmn2:incoming> + <bpmn2:terminateEventDefinition id="_TerminateEventDefinition_2" /> + </bpmn2:endEvent> + <bpmn2:sequenceFlow id="SequenceFlow_1s593bx" sourceRef="StartEvent_1" targetRef="preProcessRequest" /> + <bpmn2:sequenceFlow id="SequenceFlow_1epmndu" sourceRef="preProcessRequest" targetRef="ExclusiveGateway_3" /> + <bpmn2:sequenceFlow id="SequenceFlow_0fni7aq" sourceRef="ParallelGateway_7" targetRef="Done" /> + </bpmn2:process> + <bpmn2:message id="Message_2" name="CompleteMsoProcessRequest" /> + <bpmn2:error id="Error_3" name="MSOWorkflowException" errorCode="MSOWorkflowException" /> + <bpmn2:error id="Error_1" name="Java Lang Exception" errorCode="java.lang.Exception" /> + <bpmndi:BPMNDiagram id="BPMNDiagram_1"> + <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="CompleteMsoProcess"> + <bpmndi:BPMNShape id="_BPMNShape_StartEvent_41" bpmnElement="StartEvent_1"> + <dc:Bounds x="377" y="1075" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="401" y="1116" width="54" height="24" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_34" bpmnElement="preProcessRequest"> + <dc:Bounds x="543" y="1053" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_60" bpmnElement="ExclusiveGateway_3" isMarkerVisible="true"> + <dc:Bounds x="734" y="1068" width="50" height="50" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="782" y="1083" width="100" height="22" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ParallelGateway_9" bpmnElement="ParallelGateway_7" isMarkerVisible="true"> + <dc:Bounds x="1214" y="1068" width="50" height="50" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1239" y="1123" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_51" bpmnElement="updateInfraRequest"> + <dc:Bounds x="973" y="1144" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_52" bpmnElement="updateDBStatus"> + <dc:Bounds x="970" y="963" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_64" bpmnElement="prepareUpdateRequest"> + <dc:Bounds x="822" y="963" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_50" bpmnElement="SequenceFlow_49" sourceElement="_BPMNShape_ScriptTask_64" targetElement="_BPMNShape_ScriptTask_52"> + <di:waypoint xsi:type="dc:Point" x="922" y="1003" /> + <di:waypoint xsi:type="dc:Point" x="970" y="1003" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="937" y="1003" width="6" height="6" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_73" bpmnElement="SequenceFlow_72" sourceElement="_BPMNShape_ExclusiveGateway_60" targetElement="_BPMNShape_ScriptTask_88"> + <di:waypoint xsi:type="dc:Point" x="759" y="1118" /> + <di:waypoint xsi:type="dc:Point" x="759" y="1184" /> + <di:waypoint xsi:type="dc:Point" x="822" y="1184" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="761" y="1141" width="22" height="22" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_82" bpmnElement="SequenceFlow_81" sourceElement="_BPMNShape_ExclusiveGateway_60" targetElement="_BPMNShape_ScriptTask_64"> + <di:waypoint xsi:type="dc:Point" x="759" y="1068" /> + <di:waypoint xsi:type="dc:Point" x="759" y="1003" /> + <di:waypoint xsi:type="dc:Point" x="822" y="1003" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="758" y="1022" width="29" height="22" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_SubProcess_13" bpmnElement="subProcessExceptionCompleteMSO" isExpanded="true"> + <dc:Bounds x="596" y="1416" width="427" height="169" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_EndEvent_110" bpmnElement="endEventExceptionCompleteMSO"> + <dc:Bounds x="896" y="1483" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="914" y="1524" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_StartEvent_51" bpmnElement="startEventExceptionCompleteMSO"> + <dc:Bounds x="692" y="1483" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="710" y="1524" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_63" bpmnElement="ExclusiveGateway_7" isMarkerVisible="true"> + <dc:Bounds x="1132" y="1158" width="50" height="50" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1157" y="1213" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_6" bpmnElement="SequenceFlow_6" sourceElement="_BPMNShape_ScriptTask_51" targetElement="_BPMNShape_ExclusiveGateway_63"> + <di:waypoint xsi:type="dc:Point" x="1073" y="1184" /> + <di:waypoint xsi:type="dc:Point" x="1132" y="1183" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1255" y="1227" width="6" height="6" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_7" bpmnElement="SequenceFlow_7" sourceElement="_BPMNShape_ExclusiveGateway_63" targetElement="_BPMNShape_ParallelGateway_9"> + <di:waypoint xsi:type="dc:Point" x="1182" y="1183" /> + <di:waypoint xsi:type="dc:Point" x="1239" y="1183" /> + <di:waypoint xsi:type="dc:Point" x="1239" y="1118" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1158" y="1141" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_EndEvent_111" bpmnElement="EndEvent_4"> + <dc:Bounds x="1269" y="1271" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1287" y="1312" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_76" bpmnElement="BuildErrorMessage"> + <dc:Bounds x="1108" y="1249" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_1" bpmnElement="SequenceFlow_1" sourceElement="_BPMNShape_ExclusiveGateway_63" targetElement="_BPMNShape_ScriptTask_76"> + <di:waypoint xsi:type="dc:Point" x="1157" y="1208" /> + <di:waypoint xsi:type="dc:Point" x="1158" y="1249" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1199" y="1035" width="6" height="6" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_9" bpmnElement="SequenceFlow_9" sourceElement="_BPMNShape_ScriptTask_76" targetElement="_BPMNShape_EndEvent_111"> + <di:waypoint xsi:type="dc:Point" x="1208" y="1289" /> + <di:waypoint xsi:type="dc:Point" x="1269" y="1289" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1236" y="1289" width="6" height="6" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_77" bpmnElement="Done"> + <dc:Bounds x="1409" y="1053" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_66" bpmnElement="ExclusiveGateway_10" isMarkerVisible="true"> + <dc:Bounds x="1132" y="977" width="50" height="50" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1157" y="1032" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_23" bpmnElement="SequenceFlow_23" sourceElement="_BPMNShape_ScriptTask_52" targetElement="_BPMNShape_ExclusiveGateway_66"> + <di:waypoint xsi:type="dc:Point" x="1070" y="1003" /> + <di:waypoint xsi:type="dc:Point" x="1132" y="1002" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1261" y="1003" width="6" height="6" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_25" bpmnElement="SequenceFlow_24" sourceElement="_BPMNShape_ExclusiveGateway_66" targetElement="_BPMNShape_ParallelGateway_9"> + <di:waypoint xsi:type="dc:Point" x="1182" y="1002" /> + <di:waypoint xsi:type="dc:Point" x="1239" y="1002" /> + <di:waypoint xsi:type="dc:Point" x="1239" y="1068" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1348" y="1003" width="6" height="6" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_79" bpmnElement="BuildErrorMessage1"> + <dc:Bounds x="1108" y="856" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_26" bpmnElement="SequenceFlow_25" sourceElement="_BPMNShape_ExclusiveGateway_66" targetElement="_BPMNShape_ScriptTask_79"> + <di:waypoint xsi:type="dc:Point" x="1157" y="977" /> + <di:waypoint xsi:type="dc:Point" x="1158" y="936" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1242" y="957" width="6" height="6" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_EndEvent_113" bpmnElement="EndEvent_5"> + <dc:Bounds x="1269" y="878" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1287" y="919" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_14" bpmnElement="SequenceFlow_13" sourceElement="_BPMNShape_ScriptTask_79" targetElement="_BPMNShape_EndEvent_113"> + <di:waypoint xsi:type="dc:Point" x="1208" y="896" /> + <di:waypoint xsi:type="dc:Point" x="1269" y="896" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1225" y="896" width="6" height="6" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_EndEvent_128" bpmnElement="EndEvent_1"> + <dc:Bounds x="1623" y="1075" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1641" y="1116" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_18" bpmnElement="SequenceFlow_17" sourceElement="_BPMNShape_ScriptTask_77" targetElement="_BPMNShape_EndEvent_128"> + <di:waypoint xsi:type="dc:Point" x="1509" y="1093" /> + <di:waypoint xsi:type="dc:Point" x="1623" y="1093" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1566" y="1078" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_BoundaryEvent_28" bpmnElement="BoundaryEvent_6"> + <dc:Bounds x="1001" y="945" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1016" y="986" width="6" height="6" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_BoundaryEvent_29" bpmnElement="BoundaryEvent_7"> + <dc:Bounds x="1002" y="1206" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1292" y="1088" width="6" height="6" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_EndEvent_218" bpmnElement="EndEvent_12"> + <dc:Bounds x="1001" y="864" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1019" y="905" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_15" bpmnElement="SequenceFlow_14" sourceElement="_BPMNShape_BoundaryEvent_28" targetElement="_BPMNShape_EndEvent_218"> + <di:waypoint xsi:type="dc:Point" x="1019" y="945" /> + <di:waypoint xsi:type="dc:Point" x="1019" y="900" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1180" y="927" width="6" height="6" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_EndEvent_219" bpmnElement="EndEvent_13"> + <dc:Bounds x="1002" y="1292" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1020" y="1333" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_22" bpmnElement="SequenceFlow_21" sourceElement="_BPMNShape_BoundaryEvent_29" targetElement="_BPMNShape_EndEvent_219"> + <di:waypoint xsi:type="dc:Point" x="1020" y="1242" /> + <di:waypoint xsi:type="dc:Point" x="1020" y="1292" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="847" y="747" width="6" height="6" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_88" bpmnElement="ScriptTask_3"> + <dc:Bounds x="822" y="1144" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_11" bpmnElement="SequenceFlow_10" sourceElement="_BPMNShape_ScriptTask_88" targetElement="_BPMNShape_ScriptTask_51"> + <di:waypoint xsi:type="dc:Point" x="922" y="1184" /> + <di:waypoint xsi:type="dc:Point" x="973" y="1184" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="939" y="1208" width="6" height="6" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_21" bpmnElement="SequenceFlow_19" sourceElement="_BPMNShape_StartEvent_51" targetElement="_BPMNShape_EndEvent_110"> + <di:waypoint xsi:type="dc:Point" x="728" y="1501" /> + <di:waypoint xsi:type="dc:Point" x="896" y="1501" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="854" y="1501" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_1s593bx_di" bpmnElement="SequenceFlow_1s593bx"> + <di:waypoint xsi:type="dc:Point" x="413" y="1093" /> + <di:waypoint xsi:type="dc:Point" x="543" y="1093" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="478" y="1078" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_1epmndu_di" bpmnElement="SequenceFlow_1epmndu"> + <di:waypoint xsi:type="dc:Point" x="643" y="1093" /> + <di:waypoint xsi:type="dc:Point" x="734" y="1093" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="689" y="1078" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_0fni7aq_di" bpmnElement="SequenceFlow_0fni7aq"> + <di:waypoint xsi:type="dc:Point" x="1264" y="1093" /> + <di:waypoint xsi:type="dc:Point" x="1319" y="1093" /> + <di:waypoint xsi:type="dc:Point" x="1319" y="1093" /> + <di:waypoint xsi:type="dc:Point" x="1409" y="1093" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1334" y="1093" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + </bpmndi:BPMNPlane> + </bpmndi:BPMNDiagram> +</bpmn2:definitions> diff --git a/bpmn/MSOCommonBPMN/src/main/resources/subprocess/ConfirmVolumeGroupName.bpmn b/bpmn/MSOCommonBPMN/src/main/resources/subprocess/ConfirmVolumeGroupName.bpmn new file mode 100644 index 0000000..b190107 --- /dev/null +++ b/bpmn/MSOCommonBPMN/src/main/resources/subprocess/ConfirmVolumeGroupName.bpmn @@ -0,0 +1,229 @@ +<?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" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd" id="_Wblj8GyfEeWUWLTvug7ZOg" exporter="camunda modeler" exporterVersion="2.7.0" targetNamespace="http://camunda.org/schema/1.0/bpmn"> + <bpmn2:process id="ConfirmVolumeGroupName" name="ConfirmVolumeGroupName" isExecutable="true"> + <bpmn2:exclusiveGateway id="ExclusiveGateway_3" default="SequenceFlow_2"> + <bpmn2:incoming>SequenceFlow_39</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_23</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_2</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:sequenceFlow id="SequenceFlow_23" name="" sourceRef="ExclusiveGateway_3" targetRef="AAIQueryFailure"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("CVGN_queryVolumeGroupResponseCode") != 200 && execution.getVariable("CVGN_queryVolumeGroupResponseCode") != 404}]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:scriptTask id="AAIQueryFailure" name="AAI Query Failure" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_23</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_18</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +def cvgn= new ConfirmVolumeGroupName() +cvgn.handleAAIQueryFailure(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_18" name="" sourceRef="AAIQueryFailure" targetRef="EndEvent_7"/> + <bpmn2:endEvent id="EndEvent_7"> + <bpmn2:incoming>SequenceFlow_18</bpmn2:incoming> + <bpmn2:errorEventDefinition id="_ErrorEventDefinition_68" errorRef="Error_1"/> + </bpmn2:endEvent> + <bpmn2:scriptTask id="QueryAAIForVolumeGroupId" name="Query AAI for
Volume Group Id" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_38</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_39</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +def cvgn= new ConfirmVolumeGroupName() +cvgn.queryAAIForVolumeGroupId(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_39" name="" sourceRef="QueryAAIForVolumeGroupId" targetRef="ExclusiveGateway_3"/> + <bpmn2:scriptTask id="InitializeVariables" name="Initialize Variables" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_1</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_38</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +def cvgn= new ConfirmVolumeGroupName() +cvgn.preProcessRequest(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_38" name="" sourceRef="InitializeVariables" targetRef="QueryAAIForVolumeGroupId"/> + <bpmn2:sequenceFlow id="SequenceFlow_2" name="" sourceRef="ExclusiveGateway_3" targetRef="CheckAAIQueryResult"/> + <bpmn2:scriptTask id="CheckAAIQueryResult" name="Check AAI Query Result" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_2</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_4</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +def cvgn= new ConfirmVolumeGroupName() +cvgn.checkAAIQueryResult(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_4" name="" sourceRef="CheckAAIQueryResult" targetRef="ExclusiveGateway_1"/> + <bpmn2:scriptTask id="VolumeGroupNotInName" name="Volume Group Not In Name" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_7</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_11</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +def cvgn= new ConfirmVolumeGroupName() +cvgn.handleVolumeGroupNameNoMatch(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:exclusiveGateway id="ExclusiveGateway_1" default="SequenceFlow_7"> + <bpmn2:incoming>SequenceFlow_4</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_5</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_7</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:sequenceFlow id="SequenceFlow_5" name="" sourceRef="ExclusiveGateway_1" targetRef="EndEvent_4"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("CVGN_volumeGroupNameMatches")==true}]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_7" name="" sourceRef="ExclusiveGateway_1" targetRef="VolumeGroupNotInName"/> + <bpmn2:endEvent id="EndEvent_4"> + <bpmn2:extensionElements> + <camunda:connector> + <camunda:inputOutput> + <camunda:outputParameter name="WorkflowResponse"><![CDATA[<aetgt:CreateVfModuleResponse xmlns:aetgt="http://org.openecomp/mso/workflow/schema/v1" xmlns:ns="http://org.openecomp/mso/workflow/schema/v1"> + <ns:response>SUCCESS</ns:response> + </aetgt:CreateVfModuleResponse>]]></camunda:outputParameter> + </camunda:inputOutput> + </camunda:connector> + </bpmn2:extensionElements> + <bpmn2:incoming>SequenceFlow_5</bpmn2:incoming> + <bpmn2:terminateEventDefinition id="_TerminateEventDefinition_2"/> + </bpmn2:endEvent> + <bpmn2:sequenceFlow id="SequenceFlow_11" name="" sourceRef="VolumeGroupNotInName" targetRef="EndEvent_1"/> + <bpmn2:endEvent id="EndEvent_1"> + <bpmn2:incoming>SequenceFlow_11</bpmn2:incoming> + <bpmn2:errorEventDefinition id="_ErrorEventDefinition_70" errorRef="Error_1"/> + </bpmn2:endEvent> + <bpmn2:startEvent id="StartEvent_1"> + <bpmn2:outgoing>SequenceFlow_1</bpmn2:outgoing> + </bpmn2:startEvent> + <bpmn2:sequenceFlow id="SequenceFlow_1" name="" sourceRef="StartEvent_1" targetRef="InitializeVariables"/> + </bpmn2:process> + <bpmn2:message id="Message_1" name="ConfirmVolumeGroupNameRequest"/> + <bpmn2:error id="Error_1" errorCode="MSOWorkflowException" name="MSO Workflow Exception"/> + <bpmndi:BPMNDiagram id="BPMNDiagram_1"> + <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="CreateAAIVfModule"> + <bpmndi:BPMNShape id="_BPMNShape_StartEvent_37" bpmnElement="StartEvent_1"> + <dc:Bounds height="36.0" width="36.0" x="43.0" y="199.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="61.0" y="240.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_22" bpmnElement="InitializeVariables"> + <dc:Bounds height="80.0" width="100.0" x="204.0" y="178.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_1" bpmnElement="SequenceFlow_1" sourceElement="_BPMNShape_StartEvent_37" targetElement="_BPMNShape_ScriptTask_22"> + <di:waypoint xsi:type="dc:Point" x="79.0" y="217.0"/> + <di:waypoint xsi:type="dc:Point" x="120.0" y="217.0"/> + <di:waypoint xsi:type="dc:Point" x="120.0" y="218.0"/> + <di:waypoint xsi:type="dc:Point" x="204.0" y="218.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="101.0" y="217.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_EndEvent_92" bpmnElement="EndEvent_4"> + <dc:Bounds height="36.0" width="36.0" x="912.0" y="199.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="930.0" y="240.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_86" bpmnElement="ExclusiveGateway_3" isMarkerVisible="true"> + <dc:Bounds height="50.0" width="50.0" x="468.0" y="191.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="493.0" y="246.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_155" bpmnElement="AAIQueryFailure"> + <dc:Bounds height="80.0" width="100.0" x="518.0" y="297.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_24" bpmnElement="SequenceFlow_23" sourceElement="_BPMNShape_ExclusiveGateway_86" targetElement="_BPMNShape_ScriptTask_155"> + <di:waypoint xsi:type="dc:Point" x="493.0" y="241.0"/> + <di:waypoint xsi:type="dc:Point" x="493.0" y="259.0"/> + <di:waypoint xsi:type="dc:Point" x="568.0" y="259.0"/> + <di:waypoint xsi:type="dc:Point" x="568.0" y="297.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="547.0" y="259.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_EndEvent_160" bpmnElement="EndEvent_7"> + <dc:Bounds height="36.0" width="36.0" x="550.0" y="416.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="568.0" y="457.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_18" bpmnElement="SequenceFlow_18" sourceElement="_BPMNShape_ScriptTask_155" targetElement="_BPMNShape_EndEvent_160"> + <di:waypoint xsi:type="dc:Point" x="568.0" y="377.0"/> + <di:waypoint xsi:type="dc:Point" x="568.0" y="416.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="565.0" y="388.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_160" bpmnElement="QueryAAIForVolumeGroupId"> + <dc:Bounds height="80.0" width="100.0" x="336.0" y="178.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_38" bpmnElement="SequenceFlow_38" sourceElement="_BPMNShape_ScriptTask_22" targetElement="_BPMNShape_ScriptTask_160"> + <di:waypoint xsi:type="dc:Point" x="304.0" y="218.0"/> + <di:waypoint xsi:type="dc:Point" x="336.0" y="218.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="324.0" y="218.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_39" bpmnElement="SequenceFlow_39" sourceElement="_BPMNShape_ScriptTask_160" targetElement="_BPMNShape_ExclusiveGateway_86"> + <di:waypoint xsi:type="dc:Point" x="436.0" y="218.0"/> + <di:waypoint xsi:type="dc:Point" x="452.0" y="218.0"/> + <di:waypoint xsi:type="dc:Point" x="452.0" y="216.0"/> + <di:waypoint xsi:type="dc:Point" x="468.0" y="216.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="449.0" y="217.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_EndEvent_162" bpmnElement="EndEvent_1"> + <dc:Bounds height="36.0" width="36.0" x="720.0" y="415.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="738.0" y="456.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_177" bpmnElement="CheckAAIQueryResult"> + <dc:Bounds height="80.0" width="100.0" x="624.0" y="177.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_2" bpmnElement="SequenceFlow_2" sourceElement="_BPMNShape_ExclusiveGateway_86" targetElement="_BPMNShape_ScriptTask_177"> + <di:waypoint xsi:type="dc:Point" x="518.0" y="216.0"/> + <di:waypoint xsi:type="dc:Point" x="551.0" y="216.0"/> + <di:waypoint xsi:type="dc:Point" x="551.0" y="217.0"/> + <di:waypoint xsi:type="dc:Point" x="624.0" y="217.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="548.0" y="217.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_103" bpmnElement="ExclusiveGateway_1" isMarkerVisible="true"> + <dc:Bounds height="50.0" width="50.0" x="801.0" y="191.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="826.0" y="246.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_3" bpmnElement="SequenceFlow_4" sourceElement="_BPMNShape_ScriptTask_177" targetElement="_BPMNShape_ExclusiveGateway_103"> + <di:waypoint xsi:type="dc:Point" x="724.0" y="217.0"/> + <di:waypoint xsi:type="dc:Point" x="762.0" y="217.0"/> + <di:waypoint xsi:type="dc:Point" x="762.0" y="216.0"/> + <di:waypoint xsi:type="dc:Point" x="801.0" y="216.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="735.0" y="217.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_5" bpmnElement="SequenceFlow_5" sourceElement="_BPMNShape_ExclusiveGateway_103" targetElement="_BPMNShape_EndEvent_92"> + <di:waypoint xsi:type="dc:Point" x="851.0" y="216.0"/> + <di:waypoint xsi:type="dc:Point" x="869.0" y="216.0"/> + <di:waypoint xsi:type="dc:Point" x="869.0" y="217.0"/> + <di:waypoint xsi:type="dc:Point" x="912.0" y="217.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="855.0" y="216.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_179" bpmnElement="VolumeGroupNotInName"> + <dc:Bounds height="80.0" width="100.0" x="688.0" y="297.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_8" bpmnElement="SequenceFlow_7" sourceElement="_BPMNShape_ExclusiveGateway_103" targetElement="_BPMNShape_ScriptTask_179"> + <di:waypoint xsi:type="dc:Point" x="826.0" y="241.0"/> + <di:waypoint xsi:type="dc:Point" x="826.0" y="269.0"/> + <di:waypoint xsi:type="dc:Point" x="738.0" y="269.0"/> + <di:waypoint xsi:type="dc:Point" x="738.0" y="297.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="822.0" y="269.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_11" bpmnElement="SequenceFlow_11" sourceElement="_BPMNShape_ScriptTask_179" targetElement="_BPMNShape_EndEvent_162"> + <di:waypoint xsi:type="dc:Point" x="738.0" y="377.0"/> + <di:waypoint xsi:type="dc:Point" x="738.0" y="415.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="735.0" y="391.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + </bpmndi:BPMNPlane> + </bpmndi:BPMNDiagram> +</bpmn2:definitions>
\ No newline at end of file diff --git a/bpmn/MSOCommonBPMN/src/main/resources/subprocess/ConfirmVolumeGroupTenant.bpmn b/bpmn/MSOCommonBPMN/src/main/resources/subprocess/ConfirmVolumeGroupTenant.bpmn new file mode 100644 index 0000000..fee4dbd --- /dev/null +++ b/bpmn/MSOCommonBPMN/src/main/resources/subprocess/ConfirmVolumeGroupTenant.bpmn @@ -0,0 +1,190 @@ +<?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" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd" id="_jPy0EB7JEeaR94RQz1cKqQ" exporter="camunda modeler" exporterVersion="2.7.0" targetNamespace="http://camunda.org/schema/1.0/bpmn"> + <bpmn2:process id="ConfirmVolumeGroupTenant" name="ConfirmVolumeGroupTenant" isExecutable="true"> + <bpmn2:scriptTask id="queryAAIForVolumeGroup" name="Query AAI Volume Group" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_1</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_2</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +ConfirmVolumeGroupTenant volume = new ConfirmVolumeGroupTenant() +volume.preProcessRequest(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:exclusiveGateway id="tenantIdMatchCheck" name="Tenant Ids
Match?" default="idsMatchNo"> + <bpmn2:incoming>SequenceFlow_2</bpmn2:incoming> + <bpmn2:outgoing>idsMatchNo</bpmn2:outgoing> + <bpmn2:outgoing>idsMatchYes</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:sequenceFlow id="SequenceFlow_2" name="" sourceRef="queryAAIForVolumeGroup" targetRef="tenantIdMatchCheck"/> + <bpmn2:sequenceFlow id="idsMatchNo" name="No" sourceRef="tenantIdMatchCheck" targetRef="assignError"/> + <bpmn2:sequenceFlow id="idsMatchYes" name="Yes" sourceRef="tenantIdMatchCheck" targetRef="tenantNamesMatchCheck"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("tenantIdsMatch")==true}]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:endEvent id="EndEvent_1"> + <bpmn2:incoming>SequenceFlow_7</bpmn2:incoming> + <bpmn2:terminateEventDefinition id="_TerminateEventDefinition_2"/> + </bpmn2:endEvent> + <bpmn2:scriptTask id="assignError" name="Assign Workflow Exception" scriptFormat="groovy"> + <bpmn2:incoming>idsMatchNo</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_8</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +ConfirmVolumeGroupTenant volume = new ConfirmVolumeGroupTenant() +volume.assignWorkflowException(execution, "does not belong to your tenant")]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_8" name="" sourceRef="assignError" targetRef="EndEvent_3"/> + <bpmn2:endEvent id="EndEvent_3"> + <bpmn2:incoming>SequenceFlow_8</bpmn2:incoming> + <bpmn2:errorEventDefinition id="_ErrorEventDefinition_75" errorRef="Error_1"/> + </bpmn2:endEvent> + <bpmn2:scriptTask id="assignVolumeHeatId" name="Assign Volume Heat Id" scriptFormat="groovy"> + <bpmn2:incoming>groupNamesMatchYes</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_7</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +ConfirmVolumeGroupTenant volume = new ConfirmVolumeGroupTenant() +volume.assignVolumeHeatId(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_7" name="" sourceRef="assignVolumeHeatId" targetRef="EndEvent_1"/> + <bpmn2:scriptTask id="assignErrorNames" name="Assign Workflow Exception" scriptFormat="groovy"> + <bpmn2:incoming>groupNamesMatchNo</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_9</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +ConfirmVolumeGroupTenant volume = new ConfirmVolumeGroupTenant() +volume.assignWorkflowException(execution, "name does not match")]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_9" name="" sourceRef="assignErrorNames" targetRef="EndEvent_2"/> + <bpmn2:endEvent id="EndEvent_2"> + <bpmn2:incoming>SequenceFlow_9</bpmn2:incoming> + <bpmn2:errorEventDefinition id="_ErrorEventDefinition_74" errorRef="Error_1"/> + </bpmn2:endEvent> + <bpmn2:exclusiveGateway id="tenantNamesMatchCheck" name="Volume Group
Names Match?" default="groupNamesMatchNo"> + <bpmn2:incoming>idsMatchYes</bpmn2:incoming> + <bpmn2:outgoing>groupNamesMatchNo</bpmn2:outgoing> + <bpmn2:outgoing>groupNamesMatchYes</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:sequenceFlow id="groupNamesMatchNo" name="No" sourceRef="tenantNamesMatchCheck" targetRef="assignErrorNames"/> + <bpmn2:sequenceFlow id="groupNamesMatchYes" name="Yes" sourceRef="tenantNamesMatchCheck" targetRef="assignVolumeHeatId"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("groupNamesMatch")==true}]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:startEvent id="StartEvent_1"> + <bpmn2:outgoing>SequenceFlow_1</bpmn2:outgoing> + </bpmn2:startEvent> + <bpmn2:sequenceFlow id="SequenceFlow_1" name="" sourceRef="StartEvent_1" targetRef="queryAAIForVolumeGroup"/> + </bpmn2:process> + <bpmn2:error id="Error_1" errorCode="MSOWorkflowException" name="MSO Workflow Exception"/> + <bpmndi:BPMNDiagram id="BPMNDiagram_1"> + <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="ConfirmVolumeGroupTenant"> + <bpmndi:BPMNShape id="_BPMNShape_StartEvent_61" bpmnElement="StartEvent_1"> + <dc:Bounds height="36.0" width="36.0" x="129.0" y="324.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="147.0" y="365.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_237" bpmnElement="queryAAIForVolumeGroup"> + <dc:Bounds height="80.0" width="100.0" x="252.0" y="302.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_1" bpmnElement="SequenceFlow_1" sourceElement="_BPMNShape_StartEvent_61" targetElement="_BPMNShape_ScriptTask_237"> + <di:waypoint xsi:type="dc:Point" x="165.0" y="342.0"/> + <di:waypoint xsi:type="dc:Point" x="252.0" y="342.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="179.0" y="342.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_209" bpmnElement="tenantIdMatchCheck" isMarkerVisible="true"> + <dc:Bounds height="50.0" width="50.0" x="384.0" y="316.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="38.0" width="76.0" x="414.0" y="347.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_2" bpmnElement="SequenceFlow_2" sourceElement="_BPMNShape_ScriptTask_237" targetElement="_BPMNShape_ExclusiveGateway_209"> + <di:waypoint xsi:type="dc:Point" x="352.0" y="342.0"/> + <di:waypoint xsi:type="dc:Point" x="368.0" y="342.0"/> + <di:waypoint xsi:type="dc:Point" x="368.0" y="341.0"/> + <di:waypoint xsi:type="dc:Point" x="384.0" y="341.0"/> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_210" bpmnElement="tenantNamesMatchCheck" isMarkerVisible="true"> + <dc:Bounds height="50.0" width="50.0" x="460.0" y="216.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="38.0" width="99.0" x="494.0" y="246.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_238" bpmnElement="assignError"> + <dc:Bounds height="80.0" width="100.0" x="456.0" y="400.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_3" bpmnElement="idsMatchNo" sourceElement="_BPMNShape_ExclusiveGateway_209" targetElement="_BPMNShape_ScriptTask_238"> + <di:waypoint xsi:type="dc:Point" x="409.0" y="366.0"/> + <di:waypoint xsi:type="dc:Point" x="409.0" y="440.0"/> + <di:waypoint xsi:type="dc:Point" x="456.0" y="440.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="22.0" width="22.0" x="414.0" y="400.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_4" bpmnElement="idsMatchYes" sourceElement="_BPMNShape_ExclusiveGateway_209" targetElement="_BPMNShape_ExclusiveGateway_210"> + <di:waypoint xsi:type="dc:Point" x="409.0" y="316.0"/> + <di:waypoint xsi:type="dc:Point" x="409.0" y="241.0"/> + <di:waypoint xsi:type="dc:Point" x="460.0" y="241.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="22.0" width="29.0" x="411.0" y="266.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_239" bpmnElement="assignErrorNames"> + <dc:Bounds height="80.0" width="100.0" x="555.0" y="296.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_5" bpmnElement="groupNamesMatchNo" sourceElement="_BPMNShape_ExclusiveGateway_210" targetElement="_BPMNShape_ScriptTask_239"> + <di:waypoint xsi:type="dc:Point" x="485.0" y="266.0"/> + <di:waypoint xsi:type="dc:Point" x="485.0" y="336.0"/> + <di:waypoint xsi:type="dc:Point" x="555.0" y="336.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="22.0" width="22.0" x="491.0" y="296.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_240" bpmnElement="assignVolumeHeatId"> + <dc:Bounds height="80.0" width="100.0" x="555.0" y="120.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_6" bpmnElement="groupNamesMatchYes" sourceElement="_BPMNShape_ExclusiveGateway_210" targetElement="_BPMNShape_ScriptTask_240"> + <di:waypoint xsi:type="dc:Point" x="485.0" y="216.0"/> + <di:waypoint xsi:type="dc:Point" x="485.0" y="160.0"/> + <di:waypoint xsi:type="dc:Point" x="555.0" y="160.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="22.0" width="29.0" x="487.0" y="173.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_EndEvent_200" bpmnElement="EndEvent_1"> + <dc:Bounds height="36.0" width="36.0" x="738.0" y="142.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="756.0" y="183.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_7" bpmnElement="SequenceFlow_7" sourceElement="_BPMNShape_ScriptTask_240" targetElement="_BPMNShape_EndEvent_200"> + <di:waypoint xsi:type="dc:Point" x="655.0" y="160.0"/> + <di:waypoint xsi:type="dc:Point" x="738.0" y="160.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="692.0" y="160.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_EndEvent_210" bpmnElement="EndEvent_2"> + <dc:Bounds height="36.0" width="36.0" x="709.0" y="318.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="727.0" y="359.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_EndEvent_211" bpmnElement="EndEvent_3"> + <dc:Bounds height="36.0" width="36.0" x="605.0" y="422.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="623.0" y="463.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_8" bpmnElement="SequenceFlow_8" sourceElement="_BPMNShape_ScriptTask_238" targetElement="_BPMNShape_EndEvent_211"> + <di:waypoint xsi:type="dc:Point" x="556.0" y="440.0"/> + <di:waypoint xsi:type="dc:Point" x="605.0" y="440.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="591.0" y="440.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_9" bpmnElement="SequenceFlow_9" sourceElement="_BPMNShape_ScriptTask_239" targetElement="_BPMNShape_EndEvent_210"> + <di:waypoint xsi:type="dc:Point" x="655.0" y="336.0"/> + <di:waypoint xsi:type="dc:Point" x="709.0" y="336.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="680.0" y="336.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + </bpmndi:BPMNPlane> + </bpmndi:BPMNDiagram> +</bpmn2:definitions>
\ No newline at end of file diff --git a/bpmn/MSOCommonBPMN/src/main/resources/subprocess/CreateAAIVfModule.bpmn b/bpmn/MSOCommonBPMN/src/main/resources/subprocess/CreateAAIVfModule.bpmn new file mode 100644 index 0000000..2ca2693 --- /dev/null +++ b/bpmn/MSOCommonBPMN/src/main/resources/subprocess/CreateAAIVfModule.bpmn @@ -0,0 +1,519 @@ +<?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" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd" id="_Wblj8GyfEeWUWLTvug7ZOg" exporter="camunda modeler" exporterVersion="2.7.0" targetNamespace="http://camunda.org/schema/1.0/bpmn"> + <bpmn2:process id="CreateAAIVfModule" name="CreateAAIVfModule" isExecutable="true"> + <bpmn2:exclusiveGateway id="ExclusiveGateway_5" default="SequenceFlow_7"> + <bpmn2:incoming>SequenceFlow_24</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_6</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_7</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_28</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:sequenceFlow id="SequenceFlow_6" name="" sourceRef="ExclusiveGateway_5" targetRef="ExclusiveGateway_6"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{(execution.getVariable("CAAIVfMod_newGenericVnf") == true && execution.getVariable("CAAIVfMod_queryGenericVnfResponseCode") == 404) || execution.getVariable("CAAIVfMod_isBaseVfModule") == true}]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_7" name="" sourceRef="ExclusiveGateway_5" targetRef="ScriptTask_2"/> + <bpmn2:exclusiveGateway id="ExclusiveGateway_3" default="SequenceFlow_22"> + <bpmn2:incoming>SequenceFlow_39</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_22</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_23</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:sequenceFlow id="SequenceFlow_22" name="" sourceRef="ExclusiveGateway_3" targetRef="ProcessAAISearch"/> + <bpmn2:sequenceFlow id="SequenceFlow_23" name="" sourceRef="ExclusiveGateway_3" targetRef="AAIQueryFailure"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("CAAIVfMod_queryGenericVnfResponseCode") != 200 && execution.getVariable("CAAIVfMod_queryGenericVnfResponseCode") != 404}]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:scriptTask id="AAIQueryFailure" name="AAI Query Failure" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_23</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_18</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +def cvm = new CreateAAIVfModule() +cvm.handleAAIQueryFailure(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_18" name="" sourceRef="AAIQueryFailure" targetRef="EndEvent_7"/> + <bpmn2:endEvent id="EndEvent_7"> + <bpmn2:incoming>SequenceFlow_18</bpmn2:incoming> + <bpmn2:errorEventDefinition id="_ErrorEventDefinition_68" errorRef="Error_1"/> + </bpmn2:endEvent> + <bpmn2:scriptTask id="ProcessAAISearch" name="Process AAI Generic Vnf Query" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_22</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_24</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +def cvm = new CreateAAIVfModule() +cvm.processAAIGenericVnfQuery(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_24" name="" sourceRef="ProcessAAISearch" targetRef="ExclusiveGateway_5"/> + <bpmn2:exclusiveGateway id="ExclusiveGateway_1" default="SequenceFlow_5"> + <bpmn2:incoming>SequenceFlow_8</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_5</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_10</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:exclusiveGateway id="ExclusiveGateway_7"> + <bpmn2:incoming>SequenceFlow_4</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_35</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_8</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:sequenceFlow id="SequenceFlow_28" name="Generic Vnf does not exist
 and Vnf Id != null or
Generic Vnf does exist
and Vnf Id == null" sourceRef="ExclusiveGateway_5" targetRef="CreateGenericVnfFailure"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{(execution.getVariable("CAAIVfMod_newGenericVnf") == false && execution.getVariable("CAAIVfMod_queryGenericVnfResponseCode") == 404) || (execution.getVariable("CAAIVfMod_newGenericVnf") == true && execution.getVariable("CAAIVfMod_queryGenericVnfResponseCode") == 200)}]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:scriptTask id="CreateGenericVnfFailure" name="Create Generic Vnf Failure" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_28</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_26</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_33</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_29</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +def cvm = new CreateAAIVfModule() +cvm.handleCreateVfModuleFailure(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:endEvent id="EndEvent_8"> + <bpmn2:incoming>SequenceFlow_29</bpmn2:incoming> + <bpmn2:errorEventDefinition id="_ErrorEventDefinition_69" errorRef="Error_1"/> + </bpmn2:endEvent> + <bpmn2:sequenceFlow id="SequenceFlow_29" name="" sourceRef="CreateGenericVnfFailure" targetRef="EndEvent_8"/> + <bpmn2:scriptTask id="ScriptTask_2" name="Parse For Add-on Module" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_7</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_31</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +def cvm = new CreateAAIVfModule() +cvm.parseForAddOnModule(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_31" name="" sourceRef="ScriptTask_2" targetRef="ExclusiveGateway_4"/> + <bpmn2:scriptTask id="ScriptTask_8" name="Create Add-on Module" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_34</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_35</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +def cvm = new CreateAAIVfModule() +cvm.createVfModule(execution, false)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_35" name="" sourceRef="ScriptTask_8" targetRef="ExclusiveGateway_7"/> + <bpmn2:exclusiveGateway id="ExclusiveGateway_4" default="SequenceFlow_33"> + <bpmn2:incoming>SequenceFlow_31</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_33</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_34</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:sequenceFlow id="SequenceFlow_33" name="Vnf Module Exists
" sourceRef="ExclusiveGateway_4" targetRef="CreateGenericVnfFailure"/> + <bpmn2:sequenceFlow id="SequenceFlow_34" name="" sourceRef="ExclusiveGateway_4" targetRef="ScriptTask_8"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("CAAIVfMod_moduleExists") != true}]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:scriptTask id="QueryAAIForGenericVnf" name="Query AAI for
Generic Vnf" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_38</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_39</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +def cvm = new CreateAAIVfModule() +cvm.queryAAIForGenericVnf(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_39" name="" sourceRef="QueryAAIForGenericVnf" targetRef="ExclusiveGateway_3"/> + <bpmn2:scriptTask id="InitializeVariables" name="Initialize Variables" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_1</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_38</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +def cvm = new CreateAAIVfModule() +cvm.preProcessRequest(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_38" name="" sourceRef="InitializeVariables" targetRef="QueryAAIForGenericVnf"/> + <bpmn2:endEvent id="EndEvent_2"> + <bpmn2:incoming>SequenceFlow_2</bpmn2:incoming> + <bpmn2:errorEventDefinition id="_ErrorEventDefinition_50" errorRef="Error_1"/> + </bpmn2:endEvent> + <bpmn2:scriptTask id="CreateVfModuleFailure" name="Create Vf Module Failure" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_5</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_2</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +def cvm = new CreateAAIVfModule() +cvm.handleCreateVfModuleFailure(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_2" name="" sourceRef="CreateVfModuleFailure" targetRef="EndEvent_2"/> + <bpmn2:sequenceFlow id="SequenceFlow_5" name="" sourceRef="ExclusiveGateway_1" targetRef="CreateVfModuleFailure"/> + <bpmn2:sequenceFlow id="SequenceFlow_8" name="" sourceRef="ExclusiveGateway_7" targetRef="ExclusiveGateway_1"/> + <bpmn2:endEvent id="EndEvent_1"> + <bpmn2:incoming>SequenceFlow_10</bpmn2:incoming> + </bpmn2:endEvent> + <bpmn2:sequenceFlow id="SequenceFlow_10" name="" sourceRef="ExclusiveGateway_1" targetRef="EndEvent_1"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("CAAIVfMod_createVfModuleResponseCode") == 200 || execution.getVariable("CAAIVfMod_createVfModuleResponseCode") == 201}]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:exclusiveGateway id="ExclusiveGateway_2" default="SequenceFlow_26"> + <bpmn2:incoming>SequenceFlow_20</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_13</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_26</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_27</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:sequenceFlow id="SequenceFlow_26" name="Create Generic Vnf
Failure" sourceRef="ExclusiveGateway_2" targetRef="CreateGenericVnfFailure"/> + <bpmn2:sequenceFlow id="SequenceFlow_27" name="" sourceRef="ExclusiveGateway_2" targetRef="ScriptTask_4"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("CAAIVfMod_createGenericVnfResponseCode") == 200 || execution.getVariable("CAAIVfMod_createGenericVnfResponseCode") == 201}]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:exclusiveGateway id="ExclusiveGateway_6" name="Is VID Request?" default="SequenceFlow_9"> + <bpmn2:incoming>SequenceFlow_6</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_9</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_11</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:sequenceFlow id="SequenceFlow_9" name="No" sourceRef="ExclusiveGateway_6" targetRef="ScriptTask_3"/> + <bpmn2:scriptTask id="ScriptTask_3" name="Create Generic Vnf" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_9</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_20</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +def cvm = new CreateAAIVfModule() +cvm.createGenericVnf(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_20" name="" sourceRef="ScriptTask_3" targetRef="ExclusiveGateway_2"/> + <bpmn2:sequenceFlow id="SequenceFlow_11" name="Yes" sourceRef="ExclusiveGateway_6" targetRef="ScriptTask_1"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("isVidRequest") =="true"}]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:scriptTask id="ScriptTask_4" name="Create Base Module" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_27</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_12</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_4</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +def cvm = new CreateAAIVfModule() +cvm.createVfModule(execution, true)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_4" name="" sourceRef="ScriptTask_4" targetRef="ExclusiveGateway_7"/> + <bpmn2:startEvent id="StartEvent_1"> + <bpmn2:outgoing>SequenceFlow_1</bpmn2:outgoing> + <bpmn2:messageEventDefinition id="_MessageEventDefinition_6" messageRef="Message_1"/> + </bpmn2:startEvent> + <bpmn2:sequenceFlow id="SequenceFlow_1" name="" sourceRef="StartEvent_1" targetRef="InitializeVariables"/> + <bpmn2:scriptTask id="ScriptTask_1" name="Parse for Base Module" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_11</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_3</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +def cvm = new CreateAAIVfModule() +cvm.parseForBaseModule(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_3" name="" sourceRef="ScriptTask_1" targetRef="ExclusiveGateway_8"/> + <bpmn2:exclusiveGateway id="ExclusiveGateway_8" default="SequenceFlow_13"> + <bpmn2:incoming>SequenceFlow_3</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_12</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_13</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:sequenceFlow id="SequenceFlow_12" name="" sourceRef="ExclusiveGateway_8" targetRef="ScriptTask_4"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{(execution.getVariable("CAAIVfMod_baseModuleConflict") != true) && (execution.getVariable("CAAIVfMod_moduleExists") != true)}]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_13" name="Base Module Conflict" sourceRef="ExclusiveGateway_8" targetRef="ExclusiveGateway_2"/> + </bpmn2:process> + <bpmn2:message id="Message_1" name="CreateAAIVfModuleRequest"/> + <bpmn2:error id="Error_1" errorCode="MSOWorkflowException" name="MSO Workflow Exception"/> + <bpmndi:BPMNDiagram id="BPMNDiagram_1"> + <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="CreateAAIVfModule"> + <bpmndi:BPMNShape id="_BPMNShape_StartEvent_37" bpmnElement="StartEvent_1"> + <dc:Bounds height="36.0" width="36.0" x="65.0" y="240.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="83.0" y="281.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_22" bpmnElement="InitializeVariables"> + <dc:Bounds height="80.0" width="100.0" x="204.0" y="216.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_1" bpmnElement="SequenceFlow_1" sourceElement="_BPMNShape_StartEvent_37" targetElement="_BPMNShape_ScriptTask_22"> + <di:waypoint xsi:type="dc:Point" x="101.0" y="258.0"/> + <di:waypoint xsi:type="dc:Point" x="160.0" y="258.0"/> + <di:waypoint xsi:type="dc:Point" x="160.0" y="256.0"/> + <di:waypoint xsi:type="dc:Point" x="204.0" y="256.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="123.0" y="258.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_Task_2" bpmnElement="ProcessAAISearch"> + <dc:Bounds height="80.0" width="100.0" x="518.0" y="117.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_50" bpmnElement="ExclusiveGateway_5" isMarkerVisible="true"> + <dc:Bounds height="50.0" width="50.0" x="630.0" y="230.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="655.0" y="285.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_52" bpmnElement="ExclusiveGateway_7" isMarkerVisible="true"> + <dc:Bounds height="50.0" width="50.0" x="1120.0" y="230.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="1145.0" y="285.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_47" bpmnElement="ScriptTask_3"> + <dc:Bounds height="80.0" width="100.0" x="718.0" y="93.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_7" bpmnElement="SequenceFlow_6" sourceElement="_BPMNShape_ExclusiveGateway_50" targetElement="_BPMNShape_ExclusiveGateway_225"> + <di:waypoint xsi:type="dc:Point" x="655.0" y="230.0"/> + <di:waypoint xsi:type="dc:Point" x="655.0" y="88.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="601.0" y="133.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_48" bpmnElement="ScriptTask_2"> + <dc:Bounds height="80.0" width="100.0" x="695.0" y="391.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_8" bpmnElement="SequenceFlow_7" sourceElement="_BPMNShape_ExclusiveGateway_50" targetElement="_BPMNShape_ScriptTask_48"> + <di:waypoint xsi:type="dc:Point" x="655.0" y="280.0"/> + <di:waypoint xsi:type="dc:Point" x="655.0" y="431.0"/> + <di:waypoint xsi:type="dc:Point" x="695.0" y="431.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="574.0" y="256.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_54" bpmnElement="ExclusiveGateway_1" isMarkerVisible="true"> + <dc:Bounds height="50.0" width="50.0" x="1216.0" y="230.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="1241.0" y="285.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_EndEvent_120" bpmnElement="EndEvent_2"> + <dc:Bounds height="36.0" width="36.0" x="1224.0" y="454.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="1242.0" y="495.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_115" bpmnElement="ScriptTask_4"> + <dc:Bounds height="80.0" width="100.0" x="996.0" y="24.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_5" bpmnElement="SequenceFlow_4" sourceElement="_BPMNShape_ScriptTask_115" targetElement="_BPMNShape_ExclusiveGateway_52"> + <di:waypoint xsi:type="dc:Point" x="1096.0" y="64.0"/> + <di:waypoint xsi:type="dc:Point" x="1145.0" y="64.0"/> + <di:waypoint xsi:type="dc:Point" x="1145.0" y="177.0"/> + <di:waypoint xsi:type="dc:Point" x="1145.0" y="230.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="1282.0" y="51.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_86" bpmnElement="ExclusiveGateway_3" isMarkerVisible="true"> + <dc:Bounds height="50.0" width="50.0" x="468.0" y="229.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="493.0" y="284.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_23" bpmnElement="SequenceFlow_22" sourceElement="_BPMNShape_ExclusiveGateway_86" targetElement="_BPMNShape_Task_2"> + <di:waypoint xsi:type="dc:Point" x="493.0" y="229.0"/> + <di:waypoint xsi:type="dc:Point" x="493.0" y="158.0"/> + <di:waypoint xsi:type="dc:Point" x="518.0" y="158.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="490.0" y="192.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_155" bpmnElement="AAIQueryFailure"> + <dc:Bounds height="80.0" width="100.0" x="518.0" y="335.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_24" bpmnElement="SequenceFlow_23" sourceElement="_BPMNShape_ExclusiveGateway_86" targetElement="_BPMNShape_ScriptTask_155"> + <di:waypoint xsi:type="dc:Point" x="493.0" y="279.0"/> + <di:waypoint xsi:type="dc:Point" x="493.0" y="297.0"/> + <di:waypoint xsi:type="dc:Point" x="568.0" y="297.0"/> + <di:waypoint xsi:type="dc:Point" x="568.0" y="335.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="547.0" y="297.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_25" bpmnElement="SequenceFlow_24" sourceElement="_BPMNShape_Task_2" targetElement="_BPMNShape_ExclusiveGateway_50"> + <di:waypoint xsi:type="dc:Point" x="568.0" y="197.0"/> + <di:waypoint xsi:type="dc:Point" x="568.0" y="255.0"/> + <di:waypoint xsi:type="dc:Point" x="630.0" y="255.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="565.0" y="250.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_EndEvent_160" bpmnElement="EndEvent_7"> + <dc:Bounds height="36.0" width="36.0" x="550.0" y="454.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="568.0" y="495.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_18" bpmnElement="SequenceFlow_18" sourceElement="_BPMNShape_ScriptTask_155" targetElement="_BPMNShape_EndEvent_160"> + <di:waypoint xsi:type="dc:Point" x="568.0" y="415.0"/> + <di:waypoint xsi:type="dc:Point" x="568.0" y="454.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="565.0" y="426.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_158" bpmnElement="CreateGenericVnfFailure"> + <dc:Bounds height="80.0" width="100.0" x="837.0" y="213.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_99" bpmnElement="ExclusiveGateway_2" isMarkerVisible="true"> + <dc:Bounds height="50.0" width="50.0" x="861.0" y="107.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="886.0" y="162.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_20" bpmnElement="SequenceFlow_20" sourceElement="_BPMNShape_ScriptTask_47" targetElement="_BPMNShape_ExclusiveGateway_99"> + <di:waypoint xsi:type="dc:Point" x="818.0" y="133.0"/> + <di:waypoint xsi:type="dc:Point" x="839.0" y="133.0"/> + <di:waypoint xsi:type="dc:Point" x="839.0" y="132.0"/> + <di:waypoint xsi:type="dc:Point" x="861.0" y="132.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="839.0" y="132.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_21" bpmnElement="SequenceFlow_26" sourceElement="_BPMNShape_ExclusiveGateway_99" targetElement="_BPMNShape_ScriptTask_158"> + <di:waypoint xsi:type="dc:Point" x="886.0" y="157.0"/> + <di:waypoint xsi:type="dc:Point" x="887.0" y="213.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="38.0" width="126.0" x="899.0" y="162.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_27" bpmnElement="SequenceFlow_27" sourceElement="_BPMNShape_ExclusiveGateway_99" targetElement="_BPMNShape_ScriptTask_115"> + <di:waypoint xsi:type="dc:Point" x="911.0" y="132.0"/> + <di:waypoint xsi:type="dc:Point" x="953.0" y="132.0"/> + <di:waypoint xsi:type="dc:Point" x="1045.0" y="132.0"/> + <di:waypoint xsi:type="dc:Point" x="1045.0" y="104.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="959.0" y="132.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_28" bpmnElement="SequenceFlow_28" sourceElement="_BPMNShape_ExclusiveGateway_50" targetElement="_BPMNShape_ScriptTask_158"> + <di:waypoint xsi:type="dc:Point" x="680.0" y="255.0"/> + <di:waypoint xsi:type="dc:Point" x="758.0" y="255.0"/> + <di:waypoint xsi:type="dc:Point" x="758.0" y="253.0"/> + <di:waypoint xsi:type="dc:Point" x="837.0" y="253.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="38.0" width="170.0" x="669.0" y="260.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_EndEvent_161" bpmnElement="EndEvent_8"> + <dc:Bounds height="36.0" width="36.0" x="987.0" y="235.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_29" bpmnElement="SequenceFlow_29" sourceElement="_BPMNShape_ScriptTask_158" targetElement="_BPMNShape_EndEvent_161"> + <di:waypoint xsi:type="dc:Point" x="937.0" y="253.0"/> + <di:waypoint xsi:type="dc:Point" x="987.0" y="253.0"/> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_100" bpmnElement="ExclusiveGateway_4" isMarkerVisible="true"> + <dc:Bounds height="50.0" width="50.0" x="863.0" y="403.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="888.0" y="458.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_31" bpmnElement="SequenceFlow_31" sourceElement="_BPMNShape_ScriptTask_48" targetElement="_BPMNShape_ExclusiveGateway_100"> + <di:waypoint xsi:type="dc:Point" x="795.0" y="431.0"/> + <di:waypoint xsi:type="dc:Point" x="822.0" y="431.0"/> + <di:waypoint xsi:type="dc:Point" x="822.0" y="428.0"/> + <di:waypoint xsi:type="dc:Point" x="863.0" y="428.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="817.0" y="431.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_33" bpmnElement="SequenceFlow_33" sourceElement="_BPMNShape_ExclusiveGateway_100" targetElement="_BPMNShape_ScriptTask_158"> + <di:waypoint xsi:type="dc:Point" x="888.0" y="403.0"/> + <di:waypoint xsi:type="dc:Point" x="888.0" y="348.0"/> + <di:waypoint xsi:type="dc:Point" x="887.0" y="348.0"/> + <di:waypoint xsi:type="dc:Point" x="887.0" y="293.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="22.0" width="122.0" x="889.0" y="344.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_159" bpmnElement="ScriptTask_8"> + <dc:Bounds height="80.0" width="100.0" x="996.0" y="389.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_34" bpmnElement="SequenceFlow_34" sourceElement="_BPMNShape_ExclusiveGateway_100" targetElement="_BPMNShape_ScriptTask_159"> + <di:waypoint xsi:type="dc:Point" x="913.0" y="428.0"/> + <di:waypoint xsi:type="dc:Point" x="954.0" y="428.0"/> + <di:waypoint xsi:type="dc:Point" x="954.0" y="429.0"/> + <di:waypoint xsi:type="dc:Point" x="996.0" y="429.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="955.0" y="429.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_35" bpmnElement="SequenceFlow_35" sourceElement="_BPMNShape_ScriptTask_159" targetElement="_BPMNShape_ExclusiveGateway_52"> + <di:waypoint xsi:type="dc:Point" x="1096.0" y="429.0"/> + <di:waypoint xsi:type="dc:Point" x="1108.0" y="429.0"/> + <di:waypoint xsi:type="dc:Point" x="1145.0" y="429.0"/> + <di:waypoint xsi:type="dc:Point" x="1145.0" y="280.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="1142.0" y="379.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_160" bpmnElement="QueryAAIForGenericVnf"> + <dc:Bounds height="80.0" width="100.0" x="336.0" y="216.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_38" bpmnElement="SequenceFlow_38" sourceElement="_BPMNShape_ScriptTask_22" targetElement="_BPMNShape_ScriptTask_160"> + <di:waypoint xsi:type="dc:Point" x="304.0" y="256.0"/> + <di:waypoint xsi:type="dc:Point" x="336.0" y="256.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="324.0" y="256.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_39" bpmnElement="SequenceFlow_39" sourceElement="_BPMNShape_ScriptTask_160" targetElement="_BPMNShape_ExclusiveGateway_86"> + <di:waypoint xsi:type="dc:Point" x="436.0" y="256.0"/> + <di:waypoint xsi:type="dc:Point" x="452.0" y="256.0"/> + <di:waypoint xsi:type="dc:Point" x="452.0" y="254.0"/> + <di:waypoint xsi:type="dc:Point" x="468.0" y="254.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="449.0" y="255.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_161" bpmnElement="CreateVfModuleFailure"> + <dc:Bounds height="80.0" width="100.0" x="1192.0" y="324.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_2" bpmnElement="SequenceFlow_2" sourceElement="_BPMNShape_ScriptTask_161" targetElement="_BPMNShape_EndEvent_120"> + <di:waypoint xsi:type="dc:Point" x="1242.0" y="404.0"/> + <di:waypoint xsi:type="dc:Point" x="1242.0" y="454.0"/> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_3" bpmnElement="SequenceFlow_5" sourceElement="_BPMNShape_ExclusiveGateway_54" targetElement="_BPMNShape_ScriptTask_161"> + <di:waypoint xsi:type="dc:Point" x="1241.0" y="280.0"/> + <di:waypoint xsi:type="dc:Point" x="1241.0" y="302.0"/> + <di:waypoint xsi:type="dc:Point" x="1242.0" y="302.0"/> + <di:waypoint xsi:type="dc:Point" x="1242.0" y="324.0"/> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_6" bpmnElement="SequenceFlow_8" sourceElement="_BPMNShape_ExclusiveGateway_52" targetElement="_BPMNShape_ExclusiveGateway_54"> + <di:waypoint xsi:type="dc:Point" x="1170.0" y="255.0"/> + <di:waypoint xsi:type="dc:Point" x="1216.0" y="255.0"/> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_EndEvent_164" bpmnElement="EndEvent_1"> + <dc:Bounds height="36.0" width="36.0" x="1316.0" y="237.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_10" bpmnElement="SequenceFlow_10" sourceElement="_BPMNShape_ExclusiveGateway_54" targetElement="_BPMNShape_EndEvent_164"> + <di:waypoint xsi:type="dc:Point" x="1266.0" y="255.0"/> + <di:waypoint xsi:type="dc:Point" x="1316.0" y="255.0"/> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_225" bpmnElement="ExclusiveGateway_6" isMarkerVisible="true"> + <dc:Bounds height="50.0" width="50.0" x="630.0" y="38.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="22.0" width="100.0" x="617.0" y="18.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_9" bpmnElement="SequenceFlow_9" sourceElement="_BPMNShape_ExclusiveGateway_225" targetElement="_BPMNShape_ScriptTask_47"> + <di:waypoint xsi:type="dc:Point" x="680.0" y="64.0"/> + <di:waypoint xsi:type="dc:Point" x="699.0" y="64.0"/> + <di:waypoint xsi:type="dc:Point" x="699.0" y="133.0"/> + <di:waypoint xsi:type="dc:Point" x="718.0" y="133.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="22.0" width="22.0" x="669.0" y="93.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_11" bpmnElement="SequenceFlow_11" sourceElement="_BPMNShape_ExclusiveGateway_225" targetElement="_BPMNShape_ScriptTask_162"> + <di:waypoint xsi:type="dc:Point" x="680.0" y="63.0"/> + <di:waypoint xsi:type="dc:Point" x="702.0" y="63.0"/> + <di:waypoint xsi:type="dc:Point" x="702.0" y="40.0"/> + <di:waypoint xsi:type="dc:Point" x="724.0" y="40.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="22.0" width="29.0" x="688.0" y="54.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_226" bpmnElement="ExclusiveGateway_8" isMarkerVisible="true"> + <dc:Bounds height="50.0" width="50.0" x="863.0" y="14.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="888.0" y="69.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_162" bpmnElement="ScriptTask_1"> + <dc:Bounds height="80.0" width="100.0" x="724.0" y="0.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_4" bpmnElement="SequenceFlow_3" sourceElement="_BPMNShape_ScriptTask_162" targetElement="_BPMNShape_ExclusiveGateway_226"> + <di:waypoint xsi:type="dc:Point" x="824.0" y="40.0"/> + <di:waypoint xsi:type="dc:Point" x="843.0" y="40.0"/> + <di:waypoint xsi:type="dc:Point" x="843.0" y="39.0"/> + <di:waypoint xsi:type="dc:Point" x="863.0" y="39.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="840.0" y="39.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_12" bpmnElement="SequenceFlow_12" sourceElement="_BPMNShape_ExclusiveGateway_226" targetElement="_BPMNShape_ScriptTask_115"> + <di:waypoint xsi:type="dc:Point" x="913.0" y="39.0"/> + <di:waypoint xsi:type="dc:Point" x="954.0" y="39.0"/> + <di:waypoint xsi:type="dc:Point" x="954.0" y="64.0"/> + <di:waypoint xsi:type="dc:Point" x="996.0" y="64.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="951.0" y="52.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_13" bpmnElement="SequenceFlow_13" sourceElement="_BPMNShape_ExclusiveGateway_226" targetElement="_BPMNShape_ExclusiveGateway_99"> + <di:waypoint xsi:type="dc:Point" x="888.0" y="64.0"/> + <di:waypoint xsi:type="dc:Point" x="888.0" y="85.0"/> + <di:waypoint xsi:type="dc:Point" x="886.0" y="85.0"/> + <di:waypoint xsi:type="dc:Point" x="886.0" y="107.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="884.0" y="85.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + </bpmndi:BPMNPlane> + </bpmndi:BPMNDiagram> +</bpmn2:definitions>
\ No newline at end of file diff --git a/bpmn/MSOCommonBPMN/src/main/resources/subprocess/CreateAAIVfModuleVolumeGroup.bpmn b/bpmn/MSOCommonBPMN/src/main/resources/subprocess/CreateAAIVfModuleVolumeGroup.bpmn new file mode 100644 index 0000000..dc94c89 --- /dev/null +++ b/bpmn/MSOCommonBPMN/src/main/resources/subprocess/CreateAAIVfModuleVolumeGroup.bpmn @@ -0,0 +1,224 @@ +<?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" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd" id="_Wblj8GyfEeWUWLTvug7ZOg" exporter="camunda modeler" exporterVersion="2.7.0" targetNamespace="http://camunda.org/schema/1.0/bpmn"> + <bpmn2:process id="CreateAAIVfModuleVolumeGroup" name="CreateAAIVfModuleVolumeGroup" isExecutable="true"> + <bpmn2:documentation>This flow expects its incoming request to be in the variable 'CreateAAIVfModuleVolumeGroupRequest'. This flow produces no output.</bpmn2:documentation> + <bpmn2:scriptTask id="QueryAAIForVfModule" name="Query AAI for VF Module" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_38</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_39</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +def cvfvg = new CreateAAIVfModuleVolumeGroup() +cvfvg.getVfModule(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_39" name="" sourceRef="QueryAAIForVfModule" targetRef="ExclusiveGateway_3"/> + <bpmn2:endEvent id="EndEvent_7"> + <bpmn2:incoming>SequenceFlow_18</bpmn2:incoming> + <bpmn2:errorEventDefinition id="_ErrorEventDefinition_68" errorRef="Error_1"/> + </bpmn2:endEvent> + <bpmn2:scriptTask id="AAIQueryFailure" name="Handle AAI Query Failure" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_23</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_18</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +def cvfvg = new CreateAAIVfModuleVolumeGroup() +cvfvg.handleAAIQueryFailure(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_18" name="" sourceRef="AAIQueryFailure" targetRef="EndEvent_7"/> + <bpmn2:endEvent id="EndEvent_2"> + <bpmn2:incoming>SequenceFlow_8</bpmn2:incoming> + <bpmn2:errorEventDefinition id="_ErrorEventDefinition_50" errorRef="Error_1"/> + </bpmn2:endEvent> + <bpmn2:endEvent id="EndEvent_4" name="TheEnd"> + <bpmn2:extensionElements> + <camunda:connector> + <camunda:inputOutput> + <camunda:outputParameter name="CreateCustomerV1Response"><![CDATA[<aetgt:CreateCustomerResponse xmlns:aetgt="http://org.openecomp/mso/workflow/schema/v1" xmlns:ns="http://org.openecomp/mso/workflow/schema/v1"> + <ns:GlobalCustomerId>${CCV1_subscriberglobalid}</ns:GlobalCustomerId> + </aetgt:CreateCustomerResponse>]]></camunda:outputParameter> + </camunda:inputOutput> + </camunda:connector> + </bpmn2:extensionElements> + <bpmn2:incoming>SequenceFlow_13</bpmn2:incoming> + </bpmn2:endEvent> + <bpmn2:exclusiveGateway id="ExclusiveGateway_3" default="SequenceFlow_23"> + <bpmn2:incoming>SequenceFlow_39</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_22</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_23</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:sequenceFlow id="SequenceFlow_22" name="" sourceRef="ExclusiveGateway_3" targetRef="UpdateVfModule"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression">#{execution.getVariable('CAAIVfModVG_getVfModuleResponseCode') == 200}</bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_23" name="AAI Query failure or
VF Module not found" sourceRef="ExclusiveGateway_3" targetRef="AAIQueryFailure"/> + <bpmn2:scriptTask id="HandleUpdateVfModuleFailure" name="Handle Update VF Module Failure" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_4</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_8</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +def cvfvg = new CreateAAIVfModuleVolumeGroup() +cvfvg.handleUpdateVfModuleFailure(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_8" name="" sourceRef="HandleUpdateVfModuleFailure" targetRef="EndEvent_2"/> + <bpmn2:startEvent id="StartEvent_1" name="Start"> + <bpmn2:outgoing>SequenceFlow_2</bpmn2:outgoing> + </bpmn2:startEvent> + <bpmn2:sequenceFlow id="SequenceFlow_2" name="" sourceRef="StartEvent_1" targetRef="ProcessReceivedRequest"/> + <bpmn2:scriptTask id="ProcessReceivedRequest" name="Process Received Request" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_2</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_38</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +def cvfvg = new CreateAAIVfModuleVolumeGroup() +cvfvg.preProcessRequest(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_38" name="" sourceRef="ProcessReceivedRequest" targetRef="QueryAAIForVfModule"/> + <bpmn2:scriptTask id="UpdateVfModule" name="Update VF Module with Volume Group" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_22</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_14</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +def cvfvg = new CreateAAIVfModuleVolumeGroup() +cvfvg.updateVfModule(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_14" name="" sourceRef="UpdateVfModule" targetRef="ExclusiveGateway_1"/> + <bpmn2:exclusiveGateway id="ExclusiveGateway_1" default="SequenceFlow_4"> + <bpmn2:incoming>SequenceFlow_14</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_13</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_4</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:sequenceFlow id="SequenceFlow_13" sourceRef="ExclusiveGateway_1" targetRef="EndEvent_4"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression">#{execution.getVariable('CAAIVfModVG_updateVfModuleResponseCode') == 200}</bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_4" name="Update VF Module Failure" sourceRef="ExclusiveGateway_1" targetRef="HandleUpdateVfModuleFailure"/> + </bpmn2:process> + <bpmn2:error id="Error_1" errorCode="MSOWorkflowException" name="MSO Workflow Exception"/> + <bpmndi:BPMNDiagram id="BPMNDiagram_1"> + <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="CreateAAIVfModuleVolumeGroup"> + <bpmndi:BPMNShape id="_BPMNShape_StartEvent_37" bpmnElement="StartEvent_1"> + <dc:Bounds height="36.0" width="36.0" x="60.0" y="212.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="22.0" width="34.0" x="61.0" y="253.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_22" bpmnElement="ProcessReceivedRequest"> + <dc:Bounds height="80.0" width="100.0" x="168.0" y="190.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_Task_2" bpmnElement="UpdateVfModule"> + <dc:Bounds height="80.0" width="100.0" x="672.0" y="190.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_EndEvent_92" bpmnElement="EndEvent_4"> + <dc:Bounds height="36.0" width="36.0" x="1016.0" y="212.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="22.0" width="50.0" x="1009.0" y="253.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_54" bpmnElement="ExclusiveGateway_1" isMarkerVisible="true"> + <dc:Bounds height="50.0" width="50.0" x="841.0" y="204.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="866.0" y="259.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_14" bpmnElement="SequenceFlow_13" sourceElement="_BPMNShape_ExclusiveGateway_54" targetElement="_BPMNShape_EndEvent_92"> + <di:waypoint xsi:type="dc:Point" x="891.0" y="229.0"/> + <di:waypoint xsi:type="dc:Point" x="993.0" y="229.0"/> + <di:waypoint xsi:type="dc:Point" x="993.0" y="230.0"/> + <di:waypoint xsi:type="dc:Point" x="1016.0" y="230.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="929.0" y="229.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_EndEvent_120" bpmnElement="EndEvent_2"> + <dc:Bounds height="36.0" width="36.0" x="848.0" y="0.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="866.0" y="41.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_86" bpmnElement="ExclusiveGateway_3" isMarkerVisible="true"> + <dc:Bounds height="50.0" width="50.0" x="493.0" y="204.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="518.0" y="259.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_23" bpmnElement="SequenceFlow_22" sourceElement="_BPMNShape_ExclusiveGateway_86" targetElement="_BPMNShape_Task_2"> + <di:waypoint xsi:type="dc:Point" x="543.0" y="229.0"/> + <di:waypoint xsi:type="dc:Point" x="607.0" y="229.0"/> + <di:waypoint xsi:type="dc:Point" x="607.0" y="230.0"/> + <di:waypoint xsi:type="dc:Point" x="672.0" y="230.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="558.0" y="229.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_155" bpmnElement="AAIQueryFailure"> + <dc:Bounds height="80.0" width="100.0" x="468.0" y="60.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_24" bpmnElement="SequenceFlow_23" sourceElement="_BPMNShape_ExclusiveGateway_86" targetElement="_BPMNShape_ScriptTask_155"> + <di:waypoint xsi:type="dc:Point" x="518.0" y="204.0"/> + <di:waypoint xsi:type="dc:Point" x="518.0" y="140.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="38.0" width="130.0" x="528.0" y="152.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_EndEvent_160" bpmnElement="EndEvent_7"> + <dc:Bounds height="36.0" width="36.0" x="500.0" y="0.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="518.0" y="41.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_18" bpmnElement="SequenceFlow_18" sourceElement="_BPMNShape_ScriptTask_155" targetElement="_BPMNShape_EndEvent_160"> + <di:waypoint xsi:type="dc:Point" x="518.0" y="60.0"/> + <di:waypoint xsi:type="dc:Point" x="518.0" y="36.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="515.0" y="49.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_160" bpmnElement="QueryAAIForVfModule"> + <dc:Bounds height="80.0" width="100.0" x="336.0" y="190.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_38" bpmnElement="SequenceFlow_38" sourceElement="_BPMNShape_ScriptTask_22" targetElement="_BPMNShape_ScriptTask_160"> + <di:waypoint xsi:type="dc:Point" x="268.0" y="230.0"/> + <di:waypoint xsi:type="dc:Point" x="336.0" y="230.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="288.0" y="230.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_39" bpmnElement="SequenceFlow_39" sourceElement="_BPMNShape_ScriptTask_160" targetElement="_BPMNShape_ExclusiveGateway_86"> + <di:waypoint xsi:type="dc:Point" x="436.0" y="230.0"/> + <di:waypoint xsi:type="dc:Point" x="452.0" y="230.0"/> + <di:waypoint xsi:type="dc:Point" x="452.0" y="229.0"/> + <di:waypoint xsi:type="dc:Point" x="493.0" y="229.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="449.0" y="229.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_161" bpmnElement="HandleUpdateVfModuleFailure"> + <dc:Bounds height="80.0" width="100.0" x="816.0" y="60.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_6" bpmnElement="SequenceFlow_8" sourceElement="_BPMNShape_ScriptTask_161" targetElement="_BPMNShape_EndEvent_120"> + <di:waypoint xsi:type="dc:Point" x="866.0" y="60.0"/> + <di:waypoint xsi:type="dc:Point" x="866.0" y="36.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="863.0" y="51.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_13" bpmnElement="SequenceFlow_14" sourceElement="_BPMNShape_Task_2" targetElement="_BPMNShape_ExclusiveGateway_54"> + <di:waypoint xsi:type="dc:Point" x="772.0" y="230.0"/> + <di:waypoint xsi:type="dc:Point" x="797.0" y="230.0"/> + <di:waypoint xsi:type="dc:Point" x="797.0" y="229.0"/> + <di:waypoint xsi:type="dc:Point" x="841.0" y="229.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="801.0" y="229.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_3" bpmnElement="SequenceFlow_4" sourceElement="_BPMNShape_ExclusiveGateway_54" targetElement="_BPMNShape_ScriptTask_161"> + <di:waypoint xsi:type="dc:Point" x="866.0" y="204.0"/> + <di:waypoint xsi:type="dc:Point" x="865.0" y="172.0"/> + <di:waypoint xsi:type="dc:Point" x="867.0" y="172.0"/> + <di:waypoint xsi:type="dc:Point" x="867.0" y="140.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="22.0" width="157.0" x="883.0" y="158.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_2" bpmnElement="SequenceFlow_2" sourceElement="_BPMNShape_StartEvent_37" targetElement="_BPMNShape_ScriptTask_22"> + <di:waypoint xsi:type="dc:Point" x="96.0" y="230.0"/> + <di:waypoint xsi:type="dc:Point" x="168.0" y="230.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="148.0" y="230.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + </bpmndi:BPMNPlane> + </bpmndi:BPMNDiagram> +</bpmn2:definitions>
\ No newline at end of file diff --git a/bpmn/MSOCommonBPMN/src/main/resources/subprocess/DeleteAAIVfModule.bpmn b/bpmn/MSOCommonBPMN/src/main/resources/subprocess/DeleteAAIVfModule.bpmn new file mode 100644 index 0000000..0fce6d8 --- /dev/null +++ b/bpmn/MSOCommonBPMN/src/main/resources/subprocess/DeleteAAIVfModule.bpmn @@ -0,0 +1,482 @@ +<?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" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd" id="_Wblj8GyfEeWUWLTvug7ZOg" exporter="camunda modeler" exporterVersion="2.7.0" targetNamespace="http://camunda.org/schema/1.0/bpmn"> + <bpmn2:process id="DeleteAAIVfModule" name="DeleteAAIVfModule" isExecutable="true"> + <bpmn2:exclusiveGateway id="ExclusiveGateway_5" default="SequenceFlow_8"> + <bpmn2:incoming>SequenceFlow_24</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_6</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_8</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:sequenceFlow id="SequenceFlow_6" name="" sourceRef="ExclusiveGateway_5" targetRef="DeleteVfModule"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("DAAIVfMod_moduleExists") == true && (execution.getVariable("DAAIVfMod_isBaseModule") == false || (execution.getVariable("DAAIVfMod_isBaseModule") == true && execution.getVariable("DAAIVfMod_isLastModule") == true ))}]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:exclusiveGateway id="ExclusiveGateway_3" default="SequenceFlow_22"> + <bpmn2:incoming>SequenceFlow_39</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_22</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_23</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:sequenceFlow id="SequenceFlow_22" name="" sourceRef="ExclusiveGateway_3" targetRef="ParseForAddonModule"/> + <bpmn2:sequenceFlow id="SequenceFlow_23" name="" sourceRef="ExclusiveGateway_3" targetRef="AAIQueryFailure"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("DAAIVfMod_queryGenericVnfResponseCode") != 200}]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:scriptTask id="AAIQueryFailure" name="AAI Query Failure" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_23</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_18</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +def dvm = new DeleteAAIVfModule() +dvm.handleAAIQueryFailure(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_18" name="" sourceRef="AAIQueryFailure" targetRef="EndEvent_7"/> + <bpmn2:endEvent id="EndEvent_7"> + <bpmn2:incoming>SequenceFlow_18</bpmn2:incoming> + <bpmn2:errorEventDefinition id="_ErrorEventDefinition_68" errorRef="Error_1"/> + </bpmn2:endEvent> + <bpmn2:scriptTask id="ParseForAddonModule" name="Parse For Vf Module" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_22</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_24</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +def dvm = new DeleteAAIVfModule() +dvm.parseForVfModule(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_24" name="" sourceRef="ParseForAddonModule" targetRef="ExclusiveGateway_5"/> + <bpmn2:scriptTask id="DeleteVfModule" name="Delete Vf Module" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_6</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_20</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +def dvm = new DeleteAAIVfModule() +dvm.deleteVfModule(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_20" name="" sourceRef="DeleteVfModule" targetRef="ExclusiveGateway_2"/> + <bpmn2:exclusiveGateway id="ExclusiveGateway_2" default="SequenceFlow_26"> + <bpmn2:incoming>SequenceFlow_20</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_26</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_27</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_11</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:sequenceFlow id="SequenceFlow_26" name="Delete Vf Module
Failure" sourceRef="ExclusiveGateway_2" targetRef="DeleteVfModuleFailure"/> + <bpmn2:sequenceFlow id="SequenceFlow_27" name="" sourceRef="ExclusiveGateway_2" targetRef="ExclusiveGateway_6"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{(execution.getVariable("DAAIVfMod_deleteVfModuleResponseCode") == 200 || execution.getVariable("DAAIVfMod_deleteVfModuleResponseCode") == 204) && execution.getVariable("DAAIVfMod_isLastModule") == true}]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:scriptTask id="DeleteVfModuleFailure" name="Delete Vf Module Failure" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_26</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_8</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_29</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +def dvm = new DeleteAAIVfModule() +dvm.handleDeleteVfModuleFailure(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_29" name="" sourceRef="DeleteVfModuleFailure" targetRef="EndEvent_8"/> + <bpmn2:scriptTask id="QueryAAIForGenericVnf" name="Query AAI for
Generic Vnf" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_38</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_39</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +def dvm = new DeleteAAIVfModule() +dvm.queryAAIForGenericVnf(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_39" name="" sourceRef="QueryAAIForGenericVnf" targetRef="ExclusiveGateway_3"/> + <bpmn2:sequenceFlow id="SequenceFlow_8" name="Vf Module
Does Not Exist or
Base Module is Not
the Last Vf Module" sourceRef="ExclusiveGateway_5" targetRef="DeleteVfModuleFailure"/> + <bpmn2:endEvent id="EndEvent_8"> + <bpmn2:incoming>SequenceFlow_29</bpmn2:incoming> + <bpmn2:errorEventDefinition id="_ErrorEventDefinition_69" errorRef="Error_1"/> + </bpmn2:endEvent> + <bpmn2:sequenceFlow id="SequenceFlow_11" name="" sourceRef="ExclusiveGateway_2" targetRef="ExclusiveGateway_1"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{(execution.getVariable("DAAIVfMod_deleteVfModuleResponseCode") == 200 || execution.getVariable("DAAIVfMod_deleteVfModuleResponseCode") == 204) && execution.getVariable("DAAIVfMod_isLastModule") == false} ]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:scriptTask id="QueryAAIForGenericVnf1" name="Query AAI for Generif VNF 1" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_3</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_9</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +def dvm = new DeleteAAIVfModule() +dvm.queryAAIForGenericVnf(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_9" name="" sourceRef="QueryAAIForGenericVnf1" targetRef="ExclusiveGateway_4"/> + <bpmn2:scriptTask id="DeleteGenericVnfFailure" name="Delete Generic Vnf Failure" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_5</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_2</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +def dvm = new DeleteAAIVfModule() +dvm.handleDeleteGenericVnfFailure(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_2" name="" sourceRef="DeleteGenericVnfFailure" targetRef="EndEvent_2"/> + <bpmn2:endEvent id="EndEvent_2"> + <bpmn2:incoming>SequenceFlow_2</bpmn2:incoming> + <bpmn2:errorEventDefinition id="_ErrorEventDefinition_50" errorRef="Error_1"/> + </bpmn2:endEvent> + <bpmn2:exclusiveGateway id="ExclusiveGateway_1" default="SequenceFlow_5"> + <bpmn2:incoming>SequenceFlow_11</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_4</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_5</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_7</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:sequenceFlow id="SequenceFlow_5" name="" sourceRef="ExclusiveGateway_1" targetRef="DeleteGenericVnfFailure"/> + <bpmn2:sequenceFlow id="SequenceFlow_7" name="" sourceRef="ExclusiveGateway_1" targetRef="EndEvent_1"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{((execution.getVariable("DAAIVfMod_deleteVfModuleResponseCode") == 200 || execution.getVariable("DAAIVfMod_deleteVfModuleResponseCode") == 204) && execution.getVariable("DAAIVfMod_isLastModule") == false) || (execution.getVariable("DAAIVfMod_deleteGenericVnfResponseCode") == 200 || execution.getVariable("DAAIVfMod_deleteGenericVnfResponseCode") == 204)}]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:endEvent id="EndEvent_1"> + <bpmn2:incoming>SequenceFlow_7</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_15</bpmn2:incoming> + </bpmn2:endEvent> + <bpmn2:scriptTask id="AAIQueryFailure1" name="AAI Query Failure 1" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_10</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_12</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +def dvm = new DeleteAAIVfModule() +dvm.handleAAIQueryFailure(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_12" name="" sourceRef="AAIQueryFailure1" targetRef="EndEvent_3"/> + <bpmn2:endEvent id="EndEvent_3"> + <bpmn2:incoming>SequenceFlow_12</bpmn2:incoming> + <bpmn2:errorEventDefinition id="_ErrorEventDefinition_70" errorRef="Error_1"/> + </bpmn2:endEvent> + <bpmn2:scriptTask id="DeleteGenericVnf" name="Delete Generic Vnf" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_14</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_4</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +def dvm = new DeleteAAIVfModule() +dvm.deleteGenericVnf(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_4" name="" sourceRef="DeleteGenericVnf" targetRef="ExclusiveGateway_1"/> + <bpmn2:scriptTask id="ParseForGenericVNFResourceVersion" name="Parse for Generic VNF Resource Version" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_13</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_14</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +def dvm = new DeleteAAIVfModule() +dvm.parseForResourceVersion(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_14" name="" sourceRef="ParseForGenericVNFResourceVersion" targetRef="DeleteGenericVnf"/> + <bpmn2:exclusiveGateway id="ExclusiveGateway_4" default="SequenceFlow_13"> + <bpmn2:incoming>SequenceFlow_9</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_10</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_13</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:sequenceFlow id="SequenceFlow_10" name="" sourceRef="ExclusiveGateway_4" targetRef="AAIQueryFailure1"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("DAAIVfMod_queryGenericVnfResponseCode") != 200}]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_13" name="" sourceRef="ExclusiveGateway_4" targetRef="ParseForGenericVNFResourceVersion"/> + <bpmn2:startEvent id="StartEvent_1"> + <bpmn2:outgoing>SequenceFlow_1</bpmn2:outgoing> + <bpmn2:messageEventDefinition id="_MessageEventDefinition_6" messageRef="Message_1"/> + </bpmn2:startEvent> + <bpmn2:sequenceFlow id="SequenceFlow_1" name="" sourceRef="StartEvent_1" targetRef="InitializeVariables"/> + <bpmn2:scriptTask id="InitializeVariables" name="Initialize Variables" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_1</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_38</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +def dvm = new DeleteAAIVfModule() +dvm.preProcessRequest(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_38" name="" sourceRef="InitializeVariables" targetRef="QueryAAIForGenericVnf"/> + <bpmn2:exclusiveGateway id="ExclusiveGateway_6" name="Is VID Request?" default="SequenceFlow_3"> + <bpmn2:incoming>SequenceFlow_27</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_3</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_15</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:sequenceFlow id="SequenceFlow_3" name="no" sourceRef="ExclusiveGateway_6" targetRef="QueryAAIForGenericVnf1"/> + <bpmn2:sequenceFlow id="SequenceFlow_15" name="yes" sourceRef="ExclusiveGateway_6" targetRef="EndEvent_1"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("isVidRequest") =="true"}]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + </bpmn2:process> + <bpmn2:error id="Error_1" errorCode="MSOWorkflowException" name="MSO Workflow Exception"/> + <bpmn2:message id="Message_1" name="DeleteAAIVfModuleRequest"/> + <bpmndi:BPMNDiagram id="BPMNDiagram_1"> + <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="DeleteAAIVfModule"> + <bpmndi:BPMNShape id="_BPMNShape_StartEvent_37" bpmnElement="StartEvent_1"> + <dc:Bounds height="36.0" width="36.0" x="59.0" y="200.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="77.0" y="241.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_22" bpmnElement="InitializeVariables"> + <dc:Bounds height="80.0" width="100.0" x="192.0" y="178.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_1" bpmnElement="SequenceFlow_1" sourceElement="_BPMNShape_StartEvent_37" targetElement="_BPMNShape_ScriptTask_22"> + <di:waypoint xsi:type="dc:Point" x="95.0" y="218.0"/> + <di:waypoint xsi:type="dc:Point" x="192.0" y="218.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="117.0" y="218.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_Task_2" bpmnElement="ParseForAddonModule"> + <dc:Bounds height="80.0" width="100.0" x="518.0" y="79.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_50" bpmnElement="ExclusiveGateway_5" isMarkerVisible="true"> + <dc:Bounds height="50.0" width="50.0" x="630.0" y="192.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="655.0" y="247.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_47" bpmnElement="DeleteVfModule"> + <dc:Bounds height="80.0" width="100.0" x="695.0" y="0.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_7" bpmnElement="SequenceFlow_6" sourceElement="_BPMNShape_ExclusiveGateway_50" targetElement="_BPMNShape_ScriptTask_47"> + <di:waypoint xsi:type="dc:Point" x="655.0" y="192.0"/> + <di:waypoint xsi:type="dc:Point" x="655.0" y="40.0"/> + <di:waypoint xsi:type="dc:Point" x="695.0" y="40.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="579.0" y="73.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_54" bpmnElement="ExclusiveGateway_1" isMarkerVisible="true"> + <dc:Bounds height="50.0" width="50.0" x="1681.0" y="297.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="1706.0" y="352.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_EndEvent_120" bpmnElement="EndEvent_2"> + <dc:Bounds height="36.0" width="36.0" x="1689.0" y="564.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="1707.0" y="605.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_115" bpmnElement="DeleteGenericVnf"> + <dc:Bounds height="80.0" width="100.0" x="1582.0" y="0.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_86" bpmnElement="ExclusiveGateway_3" isMarkerVisible="true"> + <dc:Bounds height="50.0" width="50.0" x="468.0" y="191.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="493.0" y="246.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_23" bpmnElement="SequenceFlow_22" sourceElement="_BPMNShape_ExclusiveGateway_86" targetElement="_BPMNShape_Task_2"> + <di:waypoint xsi:type="dc:Point" x="493.0" y="191.0"/> + <di:waypoint xsi:type="dc:Point" x="493.0" y="120.0"/> + <di:waypoint xsi:type="dc:Point" x="518.0" y="120.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="490.0" y="154.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_155" bpmnElement="AAIQueryFailure"> + <dc:Bounds height="80.0" width="100.0" x="518.0" y="297.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_24" bpmnElement="SequenceFlow_23" sourceElement="_BPMNShape_ExclusiveGateway_86" targetElement="_BPMNShape_ScriptTask_155"> + <di:waypoint xsi:type="dc:Point" x="493.0" y="241.0"/> + <di:waypoint xsi:type="dc:Point" x="493.0" y="259.0"/> + <di:waypoint xsi:type="dc:Point" x="568.0" y="259.0"/> + <di:waypoint xsi:type="dc:Point" x="568.0" y="297.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="547.0" y="259.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_25" bpmnElement="SequenceFlow_24" sourceElement="_BPMNShape_Task_2" targetElement="_BPMNShape_ExclusiveGateway_50"> + <di:waypoint xsi:type="dc:Point" x="568.0" y="159.0"/> + <di:waypoint xsi:type="dc:Point" x="568.0" y="217.0"/> + <di:waypoint xsi:type="dc:Point" x="630.0" y="217.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="565.0" y="212.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_EndEvent_160" bpmnElement="EndEvent_7"> + <dc:Bounds height="36.0" width="36.0" x="550.0" y="416.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="568.0" y="457.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_18" bpmnElement="SequenceFlow_18" sourceElement="_BPMNShape_ScriptTask_155" targetElement="_BPMNShape_EndEvent_160"> + <di:waypoint xsi:type="dc:Point" x="568.0" y="377.0"/> + <di:waypoint xsi:type="dc:Point" x="568.0" y="416.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="565.0" y="388.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_158" bpmnElement="DeleteVfModuleFailure"> + <dc:Bounds height="80.0" width="100.0" x="837.0" y="175.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_99" bpmnElement="ExclusiveGateway_2" isMarkerVisible="true"> + <dc:Bounds height="50.0" width="50.0" x="861.0" y="14.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="886.0" y="69.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_20" bpmnElement="SequenceFlow_20" sourceElement="_BPMNShape_ScriptTask_47" targetElement="_BPMNShape_ExclusiveGateway_99"> + <di:waypoint xsi:type="dc:Point" x="795.0" y="40.0"/> + <di:waypoint xsi:type="dc:Point" x="861.0" y="39.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="817.0" y="40.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_21" bpmnElement="SequenceFlow_26" sourceElement="_BPMNShape_ExclusiveGateway_99" targetElement="_BPMNShape_ScriptTask_158"> + <di:waypoint xsi:type="dc:Point" x="886.0" y="64.0"/> + <di:waypoint xsi:type="dc:Point" x="886.0" y="98.0"/> + <di:waypoint xsi:type="dc:Point" x="887.0" y="98.0"/> + <di:waypoint xsi:type="dc:Point" x="887.0" y="175.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="38.0" width="126.0" x="887.0" y="100.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_27" bpmnElement="SequenceFlow_27" sourceElement="_BPMNShape_ExclusiveGateway_99" targetElement="_BPMNShape_ExclusiveGateway_226"> + <di:waypoint xsi:type="dc:Point" x="911.0" y="39.0"/> + <di:waypoint xsi:type="dc:Point" x="1068.0" y="39.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="959.0" y="39.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_EndEvent_161" bpmnElement="EndEvent_8"> + <dc:Bounds height="36.0" width="36.0" x="869.0" y="299.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="887.0" y="340.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_29" bpmnElement="SequenceFlow_29" sourceElement="_BPMNShape_ScriptTask_158" targetElement="_BPMNShape_EndEvent_161"> + <di:waypoint xsi:type="dc:Point" x="887.0" y="255.0"/> + <di:waypoint xsi:type="dc:Point" x="887.0" y="299.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="884.0" y="280.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_160" bpmnElement="QueryAAIForGenericVnf"> + <dc:Bounds height="80.0" width="100.0" x="336.0" y="178.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_38" bpmnElement="SequenceFlow_38" sourceElement="_BPMNShape_ScriptTask_22" targetElement="_BPMNShape_ScriptTask_160"> + <di:waypoint xsi:type="dc:Point" x="292.0" y="218.0"/> + <di:waypoint xsi:type="dc:Point" x="336.0" y="218.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="299.0" y="218.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_39" bpmnElement="SequenceFlow_39" sourceElement="_BPMNShape_ScriptTask_160" targetElement="_BPMNShape_ExclusiveGateway_86"> + <di:waypoint xsi:type="dc:Point" x="436.0" y="218.0"/> + <di:waypoint xsi:type="dc:Point" x="452.0" y="218.0"/> + <di:waypoint xsi:type="dc:Point" x="452.0" y="216.0"/> + <di:waypoint xsi:type="dc:Point" x="468.0" y="216.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="449.0" y="217.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_161" bpmnElement="DeleteGenericVnfFailure"> + <dc:Bounds height="80.0" width="100.0" x="1656.0" y="432.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_2" bpmnElement="SequenceFlow_2" sourceElement="_BPMNShape_ScriptTask_161" targetElement="_BPMNShape_EndEvent_120"> + <di:waypoint xsi:type="dc:Point" x="1706.0" y="512.0"/> + <di:waypoint xsi:type="dc:Point" x="1707.0" y="564.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="1703.0" y="515.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_3" bpmnElement="SequenceFlow_5" sourceElement="_BPMNShape_ExclusiveGateway_54" targetElement="_BPMNShape_ScriptTask_161"> + <di:waypoint xsi:type="dc:Point" x="1706.0" y="347.0"/> + <di:waypoint xsi:type="dc:Point" x="1706.0" y="432.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="1703.0" y="390.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_6" bpmnElement="SequenceFlow_8" sourceElement="_BPMNShape_ExclusiveGateway_50" targetElement="_BPMNShape_ScriptTask_158"> + <di:waypoint xsi:type="dc:Point" x="680.0" y="217.0"/> + <di:waypoint xsi:type="dc:Point" x="758.0" y="217.0"/> + <di:waypoint xsi:type="dc:Point" x="758.0" y="215.0"/> + <di:waypoint xsi:type="dc:Point" x="837.0" y="215.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="38.0" width="94.0" x="708.0" y="231.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_11" bpmnElement="SequenceFlow_11" sourceElement="_BPMNShape_ExclusiveGateway_99" targetElement="_BPMNShape_ExclusiveGateway_54"> + <di:waypoint xsi:type="dc:Point" x="911.0" y="39.0"/> + <di:waypoint xsi:type="dc:Point" x="1008.0" y="39.0"/> + <di:waypoint xsi:type="dc:Point" x="1008.0" y="140.0"/> + <di:waypoint xsi:type="dc:Point" x="1008.0" y="322.0"/> + <di:waypoint xsi:type="dc:Point" x="1681.0" y="322.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="1005.0" y="197.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_5" bpmnElement="SequenceFlow_4" sourceElement="_BPMNShape_ScriptTask_115" targetElement="_BPMNShape_ExclusiveGateway_54"> + <di:waypoint xsi:type="dc:Point" x="1632.0" y="80.0"/> + <di:waypoint xsi:type="dc:Point" x="1632.0" y="322.0"/> + <di:waypoint xsi:type="dc:Point" x="1681.0" y="322.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="1629.0" y="187.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_EndEvent_162" bpmnElement="EndEvent_1"> + <dc:Bounds height="36.0" width="36.0" x="1806.0" y="305.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="1824.0" y="346.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_8" bpmnElement="SequenceFlow_7" sourceElement="_BPMNShape_ExclusiveGateway_54" targetElement="_BPMNShape_EndEvent_162"> + <di:waypoint xsi:type="dc:Point" x="1731.0" y="322.0"/> + <di:waypoint xsi:type="dc:Point" x="1806.0" y="323.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="1753.0" y="322.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_242" bpmnElement="QueryAAIForGenericVnf1"> + <dc:Bounds height="80.0" width="100.0" x="1166.0" y="0.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_213" bpmnElement="ExclusiveGateway_4" isMarkerVisible="true"> + <dc:Bounds height="50.0" width="50.0" x="1325.0" y="15.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="1350.0" y="70.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_9" bpmnElement="SequenceFlow_9" sourceElement="_BPMNShape_ScriptTask_242" targetElement="_BPMNShape_ExclusiveGateway_213"> + <di:waypoint xsi:type="dc:Point" x="1266.0" y="40.0"/> + <di:waypoint xsi:type="dc:Point" x="1325.0" y="40.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="1292.0" y="40.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_243" bpmnElement="AAIQueryFailure1"> + <dc:Bounds height="80.0" width="100.0" x="1300.0" y="117.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_244" bpmnElement="ParseForGenericVNFResourceVersion"> + <dc:Bounds height="80.0" width="100.0" x="1440.0" y="0.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_EndEvent_181" bpmnElement="EndEvent_3"> + <dc:Bounds height="36.0" width="36.0" x="1332.0" y="244.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="1350.0" y="285.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_10" bpmnElement="SequenceFlow_10" sourceElement="_BPMNShape_ExclusiveGateway_213" targetElement="_BPMNShape_ScriptTask_243"> + <di:waypoint xsi:type="dc:Point" x="1350.0" y="65.0"/> + <di:waypoint xsi:type="dc:Point" x="1349.0" y="90.0"/> + <di:waypoint xsi:type="dc:Point" x="1350.0" y="90.0"/> + <di:waypoint xsi:type="dc:Point" x="1350.0" y="117.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="1347.0" y="95.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_12" bpmnElement="SequenceFlow_12" sourceElement="_BPMNShape_ScriptTask_243" targetElement="_BPMNShape_EndEvent_181"> + <di:waypoint xsi:type="dc:Point" x="1350.0" y="197.0"/> + <di:waypoint xsi:type="dc:Point" x="1350.0" y="244.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="1347.0" y="226.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_13" bpmnElement="SequenceFlow_13" sourceElement="_BPMNShape_ExclusiveGateway_213" targetElement="_BPMNShape_ScriptTask_244"> + <di:waypoint xsi:type="dc:Point" x="1375.0" y="40.0"/> + <di:waypoint xsi:type="dc:Point" x="1440.0" y="40.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="1394.0" y="40.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_14" bpmnElement="SequenceFlow_14" sourceElement="_BPMNShape_ScriptTask_244" targetElement="_BPMNShape_ScriptTask_115"> + <di:waypoint xsi:type="dc:Point" x="1540.0" y="40.0"/> + <di:waypoint xsi:type="dc:Point" x="1582.0" y="40.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="1565.0" y="40.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_226" bpmnElement="ExclusiveGateway_6" isMarkerVisible="true"> + <dc:Bounds height="50.0" width="50.0" x="1068.0" y="14.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="22.0" width="100.0" x="1044.0" y="-6.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_4" bpmnElement="SequenceFlow_3" sourceElement="_BPMNShape_ExclusiveGateway_226" targetElement="_BPMNShape_ScriptTask_242"> + <di:waypoint xsi:type="dc:Point" x="1118.0" y="39.0"/> + <di:waypoint xsi:type="dc:Point" x="1142.0" y="39.0"/> + <di:waypoint xsi:type="dc:Point" x="1142.0" y="40.0"/> + <di:waypoint xsi:type="dc:Point" x="1166.0" y="40.0"/> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_15" bpmnElement="SequenceFlow_15" sourceElement="_BPMNShape_ExclusiveGateway_226" targetElement="_BPMNShape_EndEvent_162"> + <di:waypoint xsi:type="dc:Point" x="1093.0" y="64.0"/> + <di:waypoint xsi:type="dc:Point" x="1093.0" y="289.0"/> + <di:waypoint xsi:type="dc:Point" x="1823.0" y="289.0"/> + <di:waypoint xsi:type="dc:Point" x="1823.0" y="305.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="22.0" width="27.0" x="1104.0" y="146.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + </bpmndi:BPMNPlane> + </bpmndi:BPMNDiagram> +</bpmn2:definitions>
\ No newline at end of file diff --git a/bpmn/MSOCommonBPMN/src/main/resources/subprocess/FalloutHandler.bpmn b/bpmn/MSOCommonBPMN/src/main/resources/subprocess/FalloutHandler.bpmn new file mode 100644 index 0000000..5f5fd3d --- /dev/null +++ b/bpmn/MSOCommonBPMN/src/main/resources/subprocess/FalloutHandler.bpmn @@ -0,0 +1,421 @@ +<?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="_3SPHsLr9EeWak-hhutJWuQ" targetNamespace="http://camunda.org/schema/1.0/bpmn" exporter="Camunda Modeler" exporterVersion="1.4.0" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd"> + <bpmn2:process id="FalloutHandler" name="Fallout Handler" isExecutable="true"> + <bpmn2:scriptTask id="ScriptTask_8" name="Pre-Process Request" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_10</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_1nn37a8</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +def preProcessRequestData = new FalloutHandler() +preProcessRequestData.preProcessRequest(execution) + +]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:startEvent id="StartEvent_1" name="Start"> + <bpmn2:outgoing>SequenceFlow_10</bpmn2:outgoing> + </bpmn2:startEvent> + <bpmn2:sequenceFlow id="SequenceFlow_10" name="" sourceRef="StartEvent_1" targetRef="ScriptTask_8" /> + <bpmn2:scriptTask id="ScriptTask_2" name="Post Process Response" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_0fg02po</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_0x2jgo4</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +def falloutHandler = new FalloutHandler() +falloutHandler.postProcessResponse(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:exclusiveGateway id="ExclusiveGateway_6" default="SequenceFlow_26"> + <bpmn2:incoming>SequenceFlow_1nn37a8</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_25</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_26</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:sequenceFlow id="SequenceFlow_25" name="" sourceRef="ExclusiveGateway_6" targetRef="ServiceTask_3"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("FH_request_id-Ok") ==true}]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_26" name="" sourceRef="ExclusiveGateway_6" targetRef="ServiceTask_2" /> + <bpmn2:serviceTask id="ServiceTask_3" name="Update Request Gamma"> + <bpmn2:extensionElements> + <camunda:connector> + <camunda:inputOutput> + <camunda:inputParameter name="url">${URN_mso_adapters_db_endpoint}</camunda:inputParameter> + <camunda:inputParameter name="method">POST</camunda:inputParameter> + <camunda:inputParameter name="headers"> + <camunda:map> + <camunda:entry key="content-type">application/soap+xml</camunda:entry> + <camunda:entry key="Authorization">#{BasicAuthHeaderValueDB}</camunda:entry> + </camunda:map> + </camunda:inputParameter> + <camunda:inputParameter name="payload"> + <camunda:script scriptFormat="groovy"><![CDATA[//println"INSIDE --> update Request Gamma" +import org.openecomp.mso.bpmn.common.scripts.* +def updateRequestGamma= new FalloutHandler() +return updateRequestGamma.updateRequestGammaPayload(execution)]]></camunda:script> + </camunda:inputParameter> + <camunda:outputParameter name="FH_updateRequestGammaResponse"><![CDATA[${statusCode == null || statusCode == 204 ? "" : response}]]></camunda:outputParameter> + <camunda:outputParameter name="FH_updateRequestGammaResponseCode">${statusCode}</camunda:outputParameter> + </camunda:inputOutput> + <camunda:connectorId>soap-http-connector</camunda:connectorId> + </camunda:connector> + </bpmn2:extensionElements> + <bpmn2:incoming>SequenceFlow_25</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_29</bpmn2:outgoing> + </bpmn2:serviceTask> + <bpmn2:sequenceFlow id="SequenceFlow_29" name="" sourceRef="ServiceTask_3" targetRef="ExclusiveGateway_7" /> + <bpmn2:boundaryEvent id="BoundaryEvent_2" name="Connect Fault" attachedToRef="ServiceTask_3"> + <bpmn2:outgoing>SequenceFlow_72</bpmn2:outgoing> + <bpmn2:errorEventDefinition id="_ErrorEventDefinition_89" errorRef="Error_2" /> + </bpmn2:boundaryEvent> + <bpmn2:exclusiveGateway id="ParallelGateway_5"> + <bpmn2:incoming>SequenceFlow_35</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_36</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_0fg02po</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:endEvent id="EndEvent_6" name="Normal End"> + <bpmn2:incoming>SequenceFlow_0x2jgo4</bpmn2:incoming> + </bpmn2:endEvent> + <bpmn2:sequenceFlow id="SequenceFlow_72" name="" sourceRef="BoundaryEvent_2" targetRef="ScriptTask_6" /> + <bpmn2:scriptTask id="ScriptTask_6" name="Build Workflow Exception" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_72</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_31</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_79</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +def falloutHandler = new FalloutHandler() +falloutHandler.buildDBWorkflowException(execution, "FH_updateRequestGammaResponseCode")]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_79" name="" sourceRef="ScriptTask_6" targetRef="EndEvent_13" /> + <bpmn2:exclusiveGateway id="ExclusiveGateway_7" name="Update Success?" default="SequenceFlow_31"> + <bpmn2:incoming>SequenceFlow_29</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_31</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_35</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:sequenceFlow id="SequenceFlow_31" name="" sourceRef="ExclusiveGateway_7" targetRef="ScriptTask_6" /> + <bpmn2:sequenceFlow id="SequenceFlow_35" name="" sourceRef="ExclusiveGateway_7" targetRef="ParallelGateway_5"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("FH_updateRequestGammaResponseCode")==200}]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:scriptTask id="ScriptTask_7" name="Build Workflow Exception" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_32</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_80</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_73</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +def falloutHandler = new FalloutHandler() +falloutHandler.buildDBWorkflowException(execution, "FH_updateRequestInfraResponseCode")]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_73" name="" sourceRef="ScriptTask_7" targetRef="EndEvent_14" /> + <bpmn2:serviceTask id="ServiceTask_2" name="Update Request Infra"> + <bpmn2:extensionElements> + <camunda:connector> + <camunda:inputOutput> + <camunda:inputParameter name="url">${URN_mso_adapters_db_endpoint}</camunda:inputParameter> + <camunda:inputParameter name="method">POST</camunda:inputParameter> + <camunda:inputParameter name="headers"> + <camunda:map> + <camunda:entry key="content-type">application/soap+xml</camunda:entry> + <camunda:entry key="Authorization">#{BasicAuthHeaderValueDB}</camunda:entry> + </camunda:map> + </camunda:inputParameter> + <camunda:inputParameter name="payload"> + <camunda:script scriptFormat="groovy"><![CDATA[//println"INSIDE --> update Request Infra" +import org.openecomp.mso.bpmn.common.scripts.* +def updateRequestInfra= new FalloutHandler() +return updateRequestInfra.updateRequestInfraPayload(execution)]]></camunda:script> + </camunda:inputParameter> + <camunda:outputParameter name="FH_updateRequestInfraResponse"><![CDATA[${statusCode == null || statusCode == 204 ? "" : response}]]></camunda:outputParameter> + <camunda:outputParameter name="FH_updateRequestInfraResponseCode">${statusCode}</camunda:outputParameter> + </camunda:inputOutput> + <camunda:connectorId>soap-http-connector</camunda:connectorId> + </camunda:connector> + </bpmn2:extensionElements> + <bpmn2:incoming>SequenceFlow_26</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_30</bpmn2:outgoing> + </bpmn2:serviceTask> + <bpmn2:sequenceFlow id="SequenceFlow_30" name="" sourceRef="ServiceTask_2" targetRef="ExclusiveGateway_8" /> + <bpmn2:exclusiveGateway id="ExclusiveGateway_8" name="Update Success?" default="SequenceFlow_32"> + <bpmn2:incoming>SequenceFlow_30</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_32</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_36</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:sequenceFlow id="SequenceFlow_32" name="" sourceRef="ExclusiveGateway_8" targetRef="ScriptTask_7" /> + <bpmn2:sequenceFlow id="SequenceFlow_36" name="" sourceRef="ExclusiveGateway_8" targetRef="ParallelGateway_5"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("FH_updateRequestInfraResponseCode")==200}]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:boundaryEvent id="BoundaryEvent_3" name="Connect Fault" attachedToRef="ServiceTask_2"> + <bpmn2:outgoing>SequenceFlow_80</bpmn2:outgoing> + <bpmn2:errorEventDefinition id="_ErrorEventDefinition_90" errorRef="Error_2" /> + </bpmn2:boundaryEvent> + <bpmn2:sequenceFlow id="SequenceFlow_80" name="" sourceRef="BoundaryEvent_3" targetRef="ScriptTask_7" /> + <bpmn2:subProcess id="SubProcess_1" name="Event Handler" triggeredByEvent="true"> + <bpmn2:scriptTask id="ScriptTask_4" name="Handle Event" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_1k7it63</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_0celhl1</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +execution.setVariable("FH_success", false) +def falloutHandler = new FalloutHandler() + +// This does not (and cannot) throw exceptions +falloutHandler.postProcessResponse(execution) + +// Clear any WorkflowException object that might be in the execution, but keep a copy in FH_WorkflowException +def wfe = execution.getVariable("WorkflowException") +execution.setVariable("WorkflowException", null) +execution.setVariable("FH_WorkflowException", wfe)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:startEvent id="StartEvent_2"> + <bpmn2:outgoing>SequenceFlow_1k7it63</bpmn2:outgoing> + <bpmn2:errorEventDefinition id="ErrorEventDefinition_8" /> + </bpmn2:startEvent> + <bpmn2:endEvent id="EndEvent_2" name="Error End"> + <bpmn2:incoming>SequenceFlow_0celhl1</bpmn2:incoming> + <bpmn2:terminateEventDefinition /> + </bpmn2:endEvent> + <bpmn2:sequenceFlow id="SequenceFlow_1k7it63" sourceRef="StartEvent_2" targetRef="ScriptTask_4" /> + <bpmn2:sequenceFlow id="SequenceFlow_0celhl1" sourceRef="ScriptTask_4" targetRef="EndEvent_2" /> + </bpmn2:subProcess> + <bpmn2:endEvent id="EndEvent_14"> + <bpmn2:incoming>SequenceFlow_73</bpmn2:incoming> + <bpmn2:terminateEventDefinition /> + </bpmn2:endEvent> + <bpmn2:endEvent id="EndEvent_13"> + <bpmn2:incoming>SequenceFlow_79</bpmn2:incoming> + <bpmn2:terminateEventDefinition /> + </bpmn2:endEvent> + <bpmn2:sequenceFlow id="SequenceFlow_1nn37a8" sourceRef="ScriptTask_8" targetRef="ExclusiveGateway_6" /> + <bpmn2:sequenceFlow id="SequenceFlow_0fg02po" sourceRef="ParallelGateway_5" targetRef="ScriptTask_2" /> + <bpmn2:sequenceFlow id="SequenceFlow_0x2jgo4" sourceRef="ScriptTask_2" targetRef="EndEvent_6" /> + </bpmn2:process> + <bpmn2:error id="Error_1" name="MSOWorkflowException" errorCode="MSOWorkflowException" /> + <bpmn2:error id="Error_2" name="Java Lang Exception" errorCode="java.lang.Exception" /> + <bpmndi:BPMNDiagram id="BPMNDiagram_1"> + <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="FalloutHandler"> + <bpmndi:BPMNShape id="_BPMNShape_StartEvent_52" bpmnElement="StartEvent_1"> + <dc:Bounds x="122" y="1112" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="128" y="1149" width="23" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_79" bpmnElement="ExclusiveGateway_6" isMarkerVisible="true"> + <dc:Bounds x="381" y="1105" width="50" height="50" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="406" y="1160" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_25" bpmnElement="SequenceFlow_25" sourceElement="_BPMNShape_ExclusiveGateway_79" targetElement="_BPMNShape_ServiceTask_90"> + <di:waypoint xsi:type="dc:Point" x="406" y="1105" /> + <di:waypoint xsi:type="dc:Point" x="406" y="1039" /> + <di:waypoint xsi:type="dc:Point" x="461" y="1039" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="403" y="1081" width="6" height="6" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_26" bpmnElement="SequenceFlow_26" sourceElement="_BPMNShape_ExclusiveGateway_79" targetElement="_BPMNShape_ServiceTask_91"> + <di:waypoint xsi:type="dc:Point" x="406" y="1155" /> + <di:waypoint xsi:type="dc:Point" x="406" y="1287" /> + <di:waypoint xsi:type="dc:Point" x="457" y="1287" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="403" y="1233" width="6" height="6" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_ServiceTask_90" bpmnElement="ServiceTask_3"> + <dc:Bounds x="461" y="999" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ServiceTask_91" bpmnElement="ServiceTask_2"> + <dc:Bounds x="457" y="1247" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_80" bpmnElement="ExclusiveGateway_7" isMarkerVisible="true"> + <dc:Bounds x="644" y="1013" width="50" height="50" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="615" y="1068" width="109" height="22" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_29" bpmnElement="SequenceFlow_29" sourceElement="_BPMNShape_ServiceTask_90" targetElement="_BPMNShape_ExclusiveGateway_80"> + <di:waypoint xsi:type="dc:Point" x="561" y="1039" /> + <di:waypoint xsi:type="dc:Point" x="644" y="1038" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="598" y="1041" width="6" height="6" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_81" bpmnElement="ExclusiveGateway_8" isMarkerVisible="true"> + <dc:Bounds x="643" y="1262" width="50" height="50" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="614" y="1317" width="109" height="22" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_30" bpmnElement="SequenceFlow_30" sourceElement="_BPMNShape_ServiceTask_91" targetElement="_BPMNShape_ExclusiveGateway_81"> + <di:waypoint xsi:type="dc:Point" x="557" y="1287" /> + <di:waypoint xsi:type="dc:Point" x="595" y="1287" /> + <di:waypoint xsi:type="dc:Point" x="595" y="1286" /> + <di:waypoint xsi:type="dc:Point" x="643" y="1287" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="602" y="1288" width="6" height="6" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_31" bpmnElement="SequenceFlow_31" sourceElement="_BPMNShape_ExclusiveGateway_80" targetElement="_BPMNShape_ScriptTask_252"> + <di:waypoint xsi:type="dc:Point" x="669" y="1013" /> + <di:waypoint xsi:type="dc:Point" x="670" y="961" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="673" y="988" width="6" height="6" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_32" bpmnElement="SequenceFlow_32" sourceElement="_BPMNShape_ExclusiveGateway_81" targetElement="_BPMNShape_ScriptTask_253"> + <di:waypoint xsi:type="dc:Point" x="668" y="1262" /> + <di:waypoint xsi:type="dc:Point" x="668" y="1245" /> + <di:waypoint xsi:type="dc:Point" x="668" y="1214" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="675" y="1294" width="6" height="6" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_ParallelGateway_16" bpmnElement="ParallelGateway_5" isMarkerVisible="true"> + <dc:Bounds x="822" y="1105" width="50" height="50" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="847" y="1160" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_35" bpmnElement="SequenceFlow_35" sourceElement="_BPMNShape_ExclusiveGateway_80" targetElement="_BPMNShape_ParallelGateway_16"> + <di:waypoint xsi:type="dc:Point" x="694" y="1038" /> + <di:waypoint xsi:type="dc:Point" x="847" y="1038" /> + <di:waypoint xsi:type="dc:Point" x="847" y="1105" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="728" y="1029" width="6" height="6" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_36" bpmnElement="SequenceFlow_36" sourceElement="_BPMNShape_ExclusiveGateway_81" targetElement="_BPMNShape_ParallelGateway_16"> + <di:waypoint xsi:type="dc:Point" x="693" y="1287" /> + <di:waypoint xsi:type="dc:Point" x="847" y="1287" /> + <di:waypoint xsi:type="dc:Point" x="847" y="1155" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="844" y="1211" width="6" height="6" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_10" bpmnElement="SequenceFlow_10" sourceElement="_BPMNShape_StartEvent_52" targetElement="_BPMNShape_ScriptTask_99"> + <di:waypoint xsi:type="dc:Point" x="158" y="1130" /> + <di:waypoint xsi:type="dc:Point" x="212" y="1130" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="185" y="1115" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_99" bpmnElement="ScriptTask_8"> + <dc:Bounds x="212" y="1090" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_SubProcess_14" bpmnElement="SubProcess_1" isExpanded="true"> + <dc:Bounds x="115" y="1396" width="329" height="167" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_100" bpmnElement="ScriptTask_4"> + <dc:Bounds x="228" y="1440" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_StartEvent_54" bpmnElement="StartEvent_2"> + <dc:Bounds x="144" y="1462" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="162" y="1506" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_101" bpmnElement="ScriptTask_2"> + <dc:Bounds x="913" y="1090" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_EndEvent_129" bpmnElement="EndEvent_6"> + <dc:Bounds x="1062" y="1112" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1051" y="1153" width="57" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_BoundaryEvent_31" bpmnElement="BoundaryEvent_2"> + <dc:Bounds x="494" y="981" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="522" y="937" width="87" height="22" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_BoundaryEvent_32" bpmnElement="BoundaryEvent_3"> + <dc:Bounds x="490" y="1229" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="522" y="1191" width="87" height="22" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_72" bpmnElement="SequenceFlow_72" sourceElement="_BPMNShape_BoundaryEvent_31" targetElement="_BPMNShape_ScriptTask_252"> + <di:waypoint xsi:type="dc:Point" x="512" y="981" /> + <di:waypoint xsi:type="dc:Point" x="512" y="921" /> + <di:waypoint xsi:type="dc:Point" x="620" y="921" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="509" y="963" width="6" height="6" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_73" bpmnElement="SequenceFlow_73" sourceElement="_BPMNShape_ScriptTask_253"> + <di:waypoint xsi:type="dc:Point" x="719" y="1174" /> + <di:waypoint xsi:type="dc:Point" x="759" y="1174" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="739" y="1159" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_252" bpmnElement="ScriptTask_6"> + <dc:Bounds x="620" y="881" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_253" bpmnElement="ScriptTask_7"> + <dc:Bounds x="619" y="1134" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_79" bpmnElement="SequenceFlow_79" sourceElement="_BPMNShape_ScriptTask_252"> + <di:waypoint xsi:type="dc:Point" x="720" y="921" /> + <di:waypoint xsi:type="dc:Point" x="762" y="921" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="741" y="906" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_80" bpmnElement="SequenceFlow_80" sourceElement="_BPMNShape_BoundaryEvent_32" targetElement="_BPMNShape_ScriptTask_253"> + <di:waypoint xsi:type="dc:Point" x="508" y="1229" /> + <di:waypoint xsi:type="dc:Point" x="508" y="1174" /> + <di:waypoint xsi:type="dc:Point" x="619" y="1174" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="533" y="1174" width="6" height="6" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="EndEvent_0b9vn2u_di" bpmnElement="EndEvent_2"> + <dc:Bounds x="372" y="1462" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="368" y="1506" width="47" height="12" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="EndEvent_1fmpj5u_di" bpmnElement="EndEvent_14"> + <dc:Bounds x="759" y="1156" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="777" y="1197" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="EndEvent_0w1puhf_di" bpmnElement="EndEvent_13"> + <dc:Bounds x="762" y="903" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="780" y="944" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1nn37a8_di" bpmnElement="SequenceFlow_1nn37a8"> + <di:waypoint xsi:type="dc:Point" x="312" y="1130" /> + <di:waypoint xsi:type="dc:Point" x="340" y="1130" /> + <di:waypoint xsi:type="dc:Point" x="340" y="1130" /> + <di:waypoint xsi:type="dc:Point" x="381" y="1130" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="355" y="1130" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_0fg02po_di" bpmnElement="SequenceFlow_0fg02po"> + <di:waypoint xsi:type="dc:Point" x="872" y="1130" /> + <di:waypoint xsi:type="dc:Point" x="913" y="1130" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="893" y="1115" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_0x2jgo4_di" bpmnElement="SequenceFlow_0x2jgo4"> + <di:waypoint xsi:type="dc:Point" x="1013" y="1130" /> + <di:waypoint xsi:type="dc:Point" x="1062" y="1130" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1038" y="1105" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_1k7it63_di" bpmnElement="SequenceFlow_1k7it63"> + <di:waypoint xsi:type="dc:Point" x="180" y="1480" /> + <di:waypoint xsi:type="dc:Point" x="228" y="1480" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="204" y="1455" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_0celhl1_di" bpmnElement="SequenceFlow_0celhl1"> + <di:waypoint xsi:type="dc:Point" x="328" y="1480" /> + <di:waypoint xsi:type="dc:Point" x="372" y="1480" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="350" y="1455" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + </bpmndi:BPMNPlane> + </bpmndi:BPMNDiagram> +</bpmn2:definitions> diff --git a/bpmn/MSOCommonBPMN/src/main/resources/subprocess/GenerateVfModuleName.bpmn b/bpmn/MSOCommonBPMN/src/main/resources/subprocess/GenerateVfModuleName.bpmn new file mode 100644 index 0000000..ab4afda --- /dev/null +++ b/bpmn/MSOCommonBPMN/src/main/resources/subprocess/GenerateVfModuleName.bpmn @@ -0,0 +1,87 @@ +<?xml version="1.0" encoding="UTF-8"?> +<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="Definitions_1" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="1.4.0"> + <bpmn:process id="GenerateVfModuleName" name="GenerateVfModuleName" isExecutable="true"> + <bpmn:startEvent id="StartEvent_1"> + <bpmn:outgoing>SequenceFlow_1opqmjl</bpmn:outgoing> + </bpmn:startEvent> + <bpmn:scriptTask id="InitializeVariables" name="Initialize Variables" scriptFormat="groovy"> + <bpmn:incoming>SequenceFlow_1opqmjl</bpmn:incoming> + <bpmn:outgoing>SequenceFlow_0aqc89s</bpmn:outgoing> + <bpmn:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +def generateVfModuleName = new GenerateVfModuleName() +generateVfModuleName.preProcessRequest(execution)]]></bpmn:script> + </bpmn:scriptTask> + <bpmn:scriptTask id="QueryAAIForIndex" name="Query AAI for Index" scriptFormat="groovy"> + <bpmn:incoming>SequenceFlow_0aqc89s</bpmn:incoming> + <bpmn:outgoing>SequenceFlow_1afb896</bpmn:outgoing> + <bpmn:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +def generateVfModuleName = new GenerateVfModuleName() +generateVfModuleName.queryAAI(execution)]]></bpmn:script> + </bpmn:scriptTask> + <bpmn:sequenceFlow id="SequenceFlow_1opqmjl" sourceRef="StartEvent_1" targetRef="InitializeVariables" /> + <bpmn:sequenceFlow id="SequenceFlow_0aqc89s" sourceRef="InitializeVariables" targetRef="QueryAAIForIndex" /> + <bpmn:sequenceFlow id="SequenceFlow_1afb896" sourceRef="QueryAAIForIndex" targetRef="PostProcessAAIResponse" /> + <bpmn:sequenceFlow id="SequenceFlow_0o6nle0" sourceRef="PostProcessAAIResponse" targetRef="EndEvent_0mj5vyw" /> + <bpmn:endEvent id="EndEvent_0mj5vyw"> + <bpmn:incoming>SequenceFlow_0o6nle0</bpmn:incoming> + <bpmn:terminateEventDefinition /> + </bpmn:endEvent> + <bpmn:scriptTask id="PostProcessAAIResponse" name="Generate Name Based on Lowest Index" scriptFormat="groovy"> + <bpmn:incoming>SequenceFlow_1afb896</bpmn:incoming> + <bpmn:outgoing>SequenceFlow_0o6nle0</bpmn:outgoing> + <bpmn:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +def generateVfModuleName = new GenerateVfModuleName() +generateVfModuleName.generateName(execution)]]></bpmn:script> + </bpmn:scriptTask> + </bpmn:process> + <bpmndi:BPMNDiagram id="BPMNDiagram_1"> + <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="GenerateVfModuleName"> + <bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="StartEvent_1"> + <dc:Bounds x="173" y="102" width="36" height="36" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ScriptTask_0jnmm07_di" bpmnElement="InitializeVariables"> + <dc:Bounds x="327" y="80" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ScriptTask_1pyh00w_di" bpmnElement="QueryAAIForIndex"> + <dc:Bounds x="518" y="80" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_1opqmjl_di" bpmnElement="SequenceFlow_1opqmjl"> + <di:waypoint xsi:type="dc:Point" x="209" y="120" /> + <di:waypoint xsi:type="dc:Point" x="327" y="120" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="268" y="95" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_0aqc89s_di" bpmnElement="SequenceFlow_0aqc89s"> + <di:waypoint xsi:type="dc:Point" x="427" y="120" /> + <di:waypoint xsi:type="dc:Point" x="518" y="120" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="473" y="95" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_1afb896_di" bpmnElement="SequenceFlow_1afb896"> + <di:waypoint xsi:type="dc:Point" x="618" y="120" /> + <di:waypoint xsi:type="dc:Point" x="696" y="120" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="657" y="105" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="SequenceFlow_0o6nle0_di" bpmnElement="SequenceFlow_0o6nle0"> + <di:waypoint xsi:type="dc:Point" x="796" y="120" /> + <di:waypoint xsi:type="dc:Point" x="903" y="120" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="850" y="105" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="EndEvent_0dr0y6r_di" bpmnElement="EndEvent_0mj5vyw"> + <dc:Bounds x="903" y="102" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="921" y="138" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="ScriptTask_00yhljy_di" bpmnElement="PostProcessAAIResponse"> + <dc:Bounds x="696" y="80" width="100" height="80" /> + </bpmndi:BPMNShape> + </bpmndi:BPMNPlane> + </bpmndi:BPMNDiagram> +</bpmn:definitions> diff --git a/bpmn/MSOCommonBPMN/src/main/resources/subprocess/GenericDeleteService.bpmn b/bpmn/MSOCommonBPMN/src/main/resources/subprocess/GenericDeleteService.bpmn new file mode 100644 index 0000000..f4edac6 --- /dev/null +++ b/bpmn/MSOCommonBPMN/src/main/resources/subprocess/GenericDeleteService.bpmn @@ -0,0 +1,303 @@ +<?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" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd" id="_wAtdAGrUEeaJwpcpVN5gXw" exporter="camunda modeler" exporterVersion="2.7.0" targetNamespace="http://camunda.org/schema/1.0/bpmn"> + <bpmn2:process id="GenericDeleteService" name="GenericDeleteService" isExecutable="true"> + <bpmn2:subProcess id="bpmnExceptionHandlingSubProcess" name="Error Handling Sub Process" triggeredByEvent="true"> + <bpmn2:scriptTask id="processError" name="Process Error" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_9</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_10</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* + +ExceptionUtil ex = new ExceptionUtil() +ex.processSubflowsBPMNException(execution) +]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_10" name="" sourceRef="processError" targetRef="EndEvent_3"/> + <bpmn2:startEvent id="StartEvent_2"> + <bpmn2:outgoing>SequenceFlow_9</bpmn2:outgoing> + <bpmn2:errorEventDefinition id="ErrorEventDefinition_1"/> + </bpmn2:startEvent> + <bpmn2:sequenceFlow id="SequenceFlow_9" name="" sourceRef="StartEvent_2" targetRef="processError"/> + <bpmn2:endEvent id="EndEvent_3"> + <bpmn2:incoming>SequenceFlow_10</bpmn2:incoming> + <bpmn2:terminateEventDefinition id="_TerminateEventDefinition_25"/> + </bpmn2:endEvent> + </bpmn2:subProcess> + <bpmn2:subProcess id="javaExceptionSubProcess" name="Java Exception Handling Sub Process" triggeredByEvent="true"> + <bpmn2:endEvent id="EndEvent_2"> + <bpmn2:incoming>SequenceFlow_12</bpmn2:incoming> + </bpmn2:endEvent> + <bpmn2:scriptTask id="processJavaError" name="Process Error"> + <bpmn2:incoming>SequenceFlow_11</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_12</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* + +ExceptionUtil ex = new ExceptionUtil() +ex.processSubflowsJavaException(execution) +]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:startEvent id="StartEvent_3"> + <bpmn2:outgoing>SequenceFlow_11</bpmn2:outgoing> + <bpmn2:errorEventDefinition id="ErrorEventDefinition_2"/> + </bpmn2:startEvent> + <bpmn2:sequenceFlow id="SequenceFlow_11" name="" sourceRef="StartEvent_3" targetRef="processJavaError"/> + <bpmn2:sequenceFlow id="SequenceFlow_12" name="" sourceRef="processJavaError" targetRef="EndEvent_2"/> + </bpmn2:subProcess> + <bpmn2:startEvent id="StartEvent_1"> + <bpmn2:outgoing>SequenceFlow_1</bpmn2:outgoing> + </bpmn2:startEvent> + <bpmn2:sequenceFlow id="SequenceFlow_1" name="" sourceRef="StartEvent_1" targetRef="initialization"/> + <bpmn2:scriptTask id="initialization" name="Initialization" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_1</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_3</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +GenericDeleteService deleteService = new GenericDeleteService() +deleteService.preProcessRequest(execution) +]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_3" name="" sourceRef="initialization" targetRef="resourceVersionCheck"/> + <bpmn2:exclusiveGateway id="resourceVersionCheck" name="Resource Version Provided?" default="yes"> + <bpmn2:incoming>SequenceFlow_3</bpmn2:incoming> + <bpmn2:outgoing>no</bpmn2:outgoing> + <bpmn2:outgoing>yes</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:sequenceFlow id="no" name="No" sourceRef="resourceVersionCheck" targetRef="queryForResourceVersion"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("GENDS_resourceVersionProvidedFlag" ) == false}]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="yes" name="Yes" sourceRef="resourceVersionCheck" targetRef="ExclusiveGateway_2"/> + <bpmn2:scriptTask id="toggleSuccess" name="Toggle Success Indicator" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_7</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_4</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +GenericDeleteService deleteService = new GenericDeleteService() +deleteService.setSuccessIndicator(execution, true) + +execution.setVariable("WorkflowResponse", " ") //for junits +]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_4" name="" sourceRef="toggleSuccess" targetRef="EndEvent_1"/> + <bpmn2:exclusiveGateway id="ExclusiveGateway_2"> + <bpmn2:incoming>yes</bpmn2:incoming> + <bpmn2:incoming>siExistYes</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_6</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:sequenceFlow id="SequenceFlow_6" name="" sourceRef="ExclusiveGateway_2" targetRef="deleteServiceInstance"/> + <bpmn2:endEvent id="EndEvent_1"> + <bpmn2:incoming>SequenceFlow_4</bpmn2:incoming> + <bpmn2:terminateEventDefinition id="_TerminateEventDefinition_24"/> + </bpmn2:endEvent> + <bpmn2:scriptTask id="deleteServiceInstance" name="DELETE
Service Instance" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_6</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_7</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +GenericDeleteService deleteService = new GenericDeleteService() +deleteService.deleteServiceObject(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_7" name="" sourceRef="deleteServiceInstance" targetRef="toggleSuccess"/> + <bpmn2:scriptTask id="queryForResourceVersion" name="Query SI Resource Version" scriptFormat="groovy"> + <bpmn2:incoming>no</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_5</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +GenericDeleteService deleteService = new GenericDeleteService() +deleteService.getServiceResourceVersion(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_5" name="" sourceRef="queryForResourceVersion" targetRef="siExistCheck"/> + <bpmn2:exclusiveGateway id="siExistCheck" name="Service Exist?"> + <bpmn2:incoming>SequenceFlow_5</bpmn2:incoming> + <bpmn2:outgoing>siExistYes</bpmn2:outgoing> + <bpmn2:outgoing>siExistNo</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:sequenceFlow id="siExistYes" name="Yes" sourceRef="siExistCheck" targetRef="ExclusiveGateway_2"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("GENDS_FoundIndicator" ) == true}]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="siExistNo" name="No" sourceRef="siExistCheck" targetRef="EndEvent_4"/> + <bpmn2:endEvent id="EndEvent_4"> + <bpmn2:incoming>siExistNo</bpmn2:incoming> + <bpmn2:terminateEventDefinition id="_TerminateEventDefinition_38"/> + </bpmn2:endEvent> + </bpmn2:process> + <bpmn2:error id="Error_1" errorCode="MSOWorkflowException" name="MSO Workflow Exception"/> + <bpmndi:BPMNDiagram id="BPMNDiagram_1"> + <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="GenericDeleteService"> + <bpmndi:BPMNShape id="_BPMNShape_StartEvent_63" bpmnElement="StartEvent_1"> + <dc:Bounds height="36.0" width="36.0" x="84.0" y="221.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="102.0" y="262.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_267" bpmnElement="initialization"> + <dc:Bounds height="80.0" width="100.0" x="216.0" y="199.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_224" bpmnElement="resourceVersionCheck" isMarkerVisible="true"> + <dc:Bounds height="50.0" width="50.0" x="365.0" y="213.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="22.0" width="169.0" x="401.0" y="243.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_268" bpmnElement="queryForResourceVersion"> + <dc:Bounds height="80.0" width="100.0" x="457.0" y="100.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_225" bpmnElement="ExclusiveGateway_2" isMarkerVisible="true"> + <dc:Bounds height="50.0" width="50.0" x="600.0" y="213.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="625.0" y="268.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_269" bpmnElement="deleteServiceInstance"> + <dc:Bounds height="80.0" width="100.0" x="684.0" y="199.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_EndEvent_213" bpmnElement="EndEvent_1"> + <dc:Bounds height="36.0" width="36.0" x="1006.0" y="221.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="1024.0" y="262.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_SubProcess_20" bpmnElement="bpmnExceptionHandlingSubProcess" isExpanded="true"> + <dc:Bounds height="169.0" width="321.0" x="155.0" y="384.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_1" bpmnElement="SequenceFlow_1" sourceElement="_BPMNShape_StartEvent_63" targetElement="_BPMNShape_ScriptTask_267"> + <di:waypoint xsi:type="dc:Point" x="120.0" y="239.0"/> + <di:waypoint xsi:type="dc:Point" x="216.0" y="239.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="147.0" y="239.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_3" bpmnElement="SequenceFlow_3" sourceElement="_BPMNShape_ScriptTask_267" targetElement="_BPMNShape_ExclusiveGateway_224"> + <di:waypoint xsi:type="dc:Point" x="316.0" y="239.0"/> + <di:waypoint xsi:type="dc:Point" x="365.0" y="238.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="217.0" y="238.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_4" bpmnElement="no" sourceElement="_BPMNShape_ExclusiveGateway_224" targetElement="_BPMNShape_ScriptTask_268"> + <di:waypoint xsi:type="dc:Point" x="390.0" y="213.0"/> + <di:waypoint xsi:type="dc:Point" x="390.0" y="140.0"/> + <di:waypoint xsi:type="dc:Point" x="457.0" y="140.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="22.0" width="22.0" x="392.0" y="179.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_5" bpmnElement="SequenceFlow_5" sourceElement="_BPMNShape_ScriptTask_268" targetElement="_BPMNShape_ExclusiveGateway_241"> + <di:waypoint xsi:type="dc:Point" x="557.0" y="140.0"/> + <di:waypoint xsi:type="dc:Point" x="600.0" y="139.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="492.0" y="140.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_6" bpmnElement="SequenceFlow_6" sourceElement="_BPMNShape_ExclusiveGateway_225" targetElement="_BPMNShape_ScriptTask_269"> + <di:waypoint xsi:type="dc:Point" x="650.0" y="238.0"/> + <di:waypoint xsi:type="dc:Point" x="684.0" y="239.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="556.0" y="239.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_7" bpmnElement="SequenceFlow_7" sourceElement="_BPMNShape_ScriptTask_269" targetElement="_BPMNShape_ScriptTask_272"> + <di:waypoint xsi:type="dc:Point" x="784.0" y="239.0"/> + <di:waypoint xsi:type="dc:Point" x="826.0" y="239.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="778.0" y="239.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_8" bpmnElement="yes" sourceElement="_BPMNShape_ExclusiveGateway_224" targetElement="_BPMNShape_ExclusiveGateway_225"> + <di:waypoint xsi:type="dc:Point" x="390.0" y="263.0"/> + <di:waypoint xsi:type="dc:Point" x="390.0" y="310.0"/> + <di:waypoint xsi:type="dc:Point" x="517.0" y="310.0"/> + <di:waypoint xsi:type="dc:Point" x="625.0" y="310.0"/> + <di:waypoint xsi:type="dc:Point" x="625.0" y="263.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="22.0" width="29.0" x="389.0" y="278.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_SubProcess_23" bpmnElement="javaExceptionSubProcess" isExpanded="true"> + <dc:Bounds height="157.0" width="306.0" x="163.0" y="576.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_StartEvent_65" bpmnElement="StartEvent_2"> + <dc:Bounds height="36.0" width="36.0" x="180.0" y="451.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="198.0" y="492.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_StartEvent_66" bpmnElement="StartEvent_3"> + <dc:Bounds height="36.0" width="36.0" x="192.0" y="637.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="210.0" y="678.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_EndEvent_216" bpmnElement="EndEvent_2"> + <dc:Bounds height="36.0" width="36.0" x="408.0" y="637.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="426.0" y="678.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_EndEvent_217" bpmnElement="EndEvent_3"> + <dc:Bounds height="36.0" width="36.0" x="420.0" y="451.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="438.0" y="492.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_270" bpmnElement="processError"> + <dc:Bounds height="80.0" width="100.0" x="266.0" y="429.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_271" bpmnElement="processJavaError"> + <dc:Bounds height="80.0" width="100.0" x="267.0" y="615.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_9" bpmnElement="SequenceFlow_9" sourceElement="_BPMNShape_StartEvent_65" targetElement="_BPMNShape_ScriptTask_270"> + <di:waypoint xsi:type="dc:Point" x="216.0" y="469.0"/> + <di:waypoint xsi:type="dc:Point" x="266.0" y="469.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="232.0" y="469.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_10" bpmnElement="SequenceFlow_10" sourceElement="_BPMNShape_ScriptTask_270" targetElement="_BPMNShape_EndEvent_217"> + <di:waypoint xsi:type="dc:Point" x="366.0" y="469.0"/> + <di:waypoint xsi:type="dc:Point" x="420.0" y="469.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="384.0" y="469.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_11" bpmnElement="SequenceFlow_11" sourceElement="_BPMNShape_StartEvent_66" targetElement="_BPMNShape_ScriptTask_271"> + <di:waypoint xsi:type="dc:Point" x="228.0" y="655.0"/> + <di:waypoint xsi:type="dc:Point" x="267.0" y="655.0"/> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_12" bpmnElement="SequenceFlow_12" sourceElement="_BPMNShape_ScriptTask_271" targetElement="_BPMNShape_EndEvent_216"> + <di:waypoint xsi:type="dc:Point" x="367.0" y="655.0"/> + <di:waypoint xsi:type="dc:Point" x="408.0" y="655.0"/> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_272" bpmnElement="toggleSuccess"> + <dc:Bounds height="80.0" width="100.0" x="826.0" y="199.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_13" bpmnElement="SequenceFlow_4" sourceElement="_BPMNShape_ScriptTask_272" targetElement="_BPMNShape_EndEvent_213"> + <di:waypoint xsi:type="dc:Point" x="926.0" y="239.0"/> + <di:waypoint xsi:type="dc:Point" x="1006.0" y="239.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="828.0" y="239.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_241" bpmnElement="siExistCheck" isMarkerVisible="true"> + <dc:Bounds height="50.0" width="50.0" x="600.0" y="114.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="22.0" width="59.0" x="596.0" y="94.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_2" bpmnElement="siExistYes" sourceElement="_BPMNShape_ExclusiveGateway_241" targetElement="_BPMNShape_ExclusiveGateway_225"> + <di:waypoint xsi:type="dc:Point" x="625.0" y="164.0"/> + <di:waypoint xsi:type="dc:Point" x="625.0" y="213.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="22.0" width="29.0" x="624.0" y="168.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_15" bpmnElement="siExistNo" sourceElement="_BPMNShape_ExclusiveGateway_241" targetElement="_BPMNShape_EndEvent_241"> + <di:waypoint xsi:type="dc:Point" x="650.0" y="139.0"/> + <di:waypoint xsi:type="dc:Point" x="733.0" y="140.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="22.0" width="22.0" x="664.0" y="140.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_EndEvent_241" bpmnElement="EndEvent_4"> + <dc:Bounds height="36.0" width="36.0" x="733.0" y="122.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="751.0" y="163.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + </bpmndi:BPMNPlane> + </bpmndi:BPMNDiagram> +</bpmn2:definitions>
\ No newline at end of file diff --git a/bpmn/MSOCommonBPMN/src/main/resources/subprocess/GenericDeleteVnf.bpmn b/bpmn/MSOCommonBPMN/src/main/resources/subprocess/GenericDeleteVnf.bpmn new file mode 100644 index 0000000..e68f6ec --- /dev/null +++ b/bpmn/MSOCommonBPMN/src/main/resources/subprocess/GenericDeleteVnf.bpmn @@ -0,0 +1,251 @@ +<?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:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" id="_oBLSkHqWEea26OhQB97uCQ" targetNamespace="http://camunda.org/schema/1.0/bpmn" exporter="Camunda Modeler" exporterVersion="1.4.0" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd"> + <bpmn2:process id="GenericDeleteVnf" name="GenericDeleteVnf" isExecutable="true"> + <bpmn2:startEvent id="StartEvent_1"> + <bpmn2:outgoing>SequenceFlow_1</bpmn2:outgoing> + </bpmn2:startEvent> + <bpmn2:scriptTask id="initialization" name="Initialization" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_1</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_9</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +GenericDeleteVnf deleteVnf= new GenericDeleteVnf() +deleteVnf.preProcessRequest(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_1" name="" sourceRef="StartEvent_1" targetRef="initialization" /> + <bpmn2:sequenceFlow id="SequenceFlow_9" name="" sourceRef="initialization" targetRef="resourceVersionCheck" /> + <bpmn2:exclusiveGateway id="resourceVersionCheck" name="Resource Version Provided?" default="resourceVersionProvided"> + <bpmn2:incoming>SequenceFlow_9</bpmn2:incoming> + <bpmn2:outgoing>resourceVariableNotProvided</bpmn2:outgoing> + <bpmn2:outgoing>resourceVersionProvided</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:sequenceFlow id="resourceVariableNotProvided" name="No" sourceRef="resourceVersionCheck" targetRef="queryForResourceVersion"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("GENDV_resourceVersionProvided") == false}]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="resourceVersionProvided" name="Yes" sourceRef="resourceVersionCheck" targetRef="ExclusiveGateway_2" /> + <bpmn2:subProcess id="bpmnExceptionHandlingSubProcess" name="Error Handling Sub Process" triggeredByEvent="true"> + <bpmn2:scriptTask id="processBPMNError" name="Process Error" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_2</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_3</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* + +ExceptionUtil ex = new ExceptionUtil() +ex.processSubflowsBPMNException(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_3" name="" sourceRef="processBPMNError" targetRef="EndEvent_2" /> + <bpmn2:startEvent id="StartEvent_2"> + <bpmn2:outgoing>SequenceFlow_2</bpmn2:outgoing> + <bpmn2:errorEventDefinition id="ErrorEventDefinition_1" /> + </bpmn2:startEvent> + <bpmn2:sequenceFlow id="SequenceFlow_2" name="" sourceRef="StartEvent_2" targetRef="processBPMNError" /> + <bpmn2:endEvent id="EndEvent_2"> + <bpmn2:incoming>SequenceFlow_3</bpmn2:incoming> + <bpmn2:terminateEventDefinition id="_TerminateEventDefinition_40" /> + </bpmn2:endEvent> + </bpmn2:subProcess> + <bpmn2:scriptTask id="queryForResourceVersion" name="Query SI Resource Version" scriptFormat="groovy"> + <bpmn2:incoming>resourceVariableNotProvided</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_5</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +GenericDeleteVnf deleteVnf= new GenericDeleteVnf() +deleteVnf.getVnfResourceVersion(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_5" name="" sourceRef="queryForResourceVersion" targetRef="vnfFoundCheck" /> + <bpmn2:scriptTask id="toggleSuccess" name="Toggle Success Indicator" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_7</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_8</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +GenericDeleteVnf deleteVnf= new GenericDeleteVnf() +deleteVnf.setSuccessIndicator(execution, true) + +execution.setVariable("WorkflowResponse", " ") //for junits]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_8" name="" sourceRef="toggleSuccess" targetRef="EndEvent_1" /> + <bpmn2:scriptTask id="deleteVnf" name="DELETE + Vnf" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_6</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_7</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +GenericDeleteVnf deleteVnf= new GenericDeleteVnf() +deleteVnf.deleteVnf(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_7" name="" sourceRef="deleteVnf" targetRef="toggleSuccess" /> + <bpmn2:endEvent id="EndEvent_3"> + <bpmn2:incoming>vnfFoundNo</bpmn2:incoming> + <bpmn2:terminateEventDefinition id="_TerminateEventDefinition_41" /> + </bpmn2:endEvent> + <bpmn2:exclusiveGateway id="vnfFoundCheck" name="Vnf Found?" default="vnfFoundNo"> + <bpmn2:incoming>SequenceFlow_5</bpmn2:incoming> + <bpmn2:outgoing>vnfFoundYes</bpmn2:outgoing> + <bpmn2:outgoing>vnfFoundNo</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:sequenceFlow id="vnfFoundYes" name="Yes" sourceRef="vnfFoundCheck" targetRef="ExclusiveGateway_2"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("GENDV_FoundIndicator") == true}]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="vnfFoundNo" name="No" sourceRef="vnfFoundCheck" targetRef="EndEvent_3" /> + <bpmn2:exclusiveGateway id="ExclusiveGateway_2"> + <bpmn2:incoming>resourceVersionProvided</bpmn2:incoming> + <bpmn2:incoming>vnfFoundYes</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_6</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:sequenceFlow id="SequenceFlow_6" name="" sourceRef="ExclusiveGateway_2" targetRef="deleteVnf" /> + <bpmn2:endEvent id="EndEvent_1"> + <bpmn2:incoming>SequenceFlow_8</bpmn2:incoming> + <bpmn2:terminateEventDefinition id="_TerminateEventDefinition_39" /> + </bpmn2:endEvent> + </bpmn2:process> + <bpmndi:BPMNDiagram id="BPMNDiagram_1"> + <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="GenericDeleteVnf"> + <bpmndi:BPMNShape id="_BPMNShape_StartEvent_78" bpmnElement="StartEvent_1"> + <dc:Bounds x="74" y="216" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="92" y="257" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_310" bpmnElement="initialization"> + <dc:Bounds x="192" y="194" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_1" bpmnElement="SequenceFlow_1" sourceElement="_BPMNShape_StartEvent_78" targetElement="_BPMNShape_ScriptTask_310"> + <di:waypoint xsi:type="dc:Point" x="110" y="234" /> + <di:waypoint xsi:type="dc:Point" x="192" y="234" /> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_239" bpmnElement="resourceVersionCheck" isMarkerVisible="true"> + <dc:Bounds x="326" y="208" width="50" height="50" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="360" y="238" width="169" height="22" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_2" bpmnElement="SequenceFlow_2" sourceElement="_BPMNShape_ScriptTask_310" targetElement="_BPMNShape_ExclusiveGateway_239"> + <di:waypoint xsi:type="dc:Point" x="236" y="476" /> + <di:waypoint xsi:type="dc:Point" x="288" y="476" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="262" y="476" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_320" bpmnElement="queryForResourceVersion"> + <dc:Bounds x="408" y="96" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_321" bpmnElement="deleteVnf"> + <dc:Bounds x="658" y="194" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_240" bpmnElement="ExclusiveGateway_2" isMarkerVisible="true"> + <dc:Bounds x="562" y="208" width="50" height="50" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="587" y="263" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_322" bpmnElement="toggleSuccess"> + <dc:Bounds x="802" y="194" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_EndEvent_240" bpmnElement="EndEvent_1"> + <dc:Bounds x="1001" y="216" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1019" y="257" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_3" bpmnElement="resourceVariableNotProvided" sourceElement="_BPMNShape_ExclusiveGateway_239" targetElement="_BPMNShape_ScriptTask_320"> + <di:waypoint xsi:type="dc:Point" x="351" y="208" /> + <di:waypoint xsi:type="dc:Point" x="351" y="136" /> + <di:waypoint xsi:type="dc:Point" x="408" y="136" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="354" y="165" width="22" height="22" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_4" bpmnElement="resourceVersionProvided" sourceElement="_BPMNShape_ExclusiveGateway_239" targetElement="_BPMNShape_ExclusiveGateway_240"> + <di:waypoint xsi:type="dc:Point" x="351" y="258" /> + <di:waypoint xsi:type="dc:Point" x="351" y="312" /> + <di:waypoint xsi:type="dc:Point" x="459" y="312" /> + <di:waypoint xsi:type="dc:Point" x="587" y="312" /> + <di:waypoint xsi:type="dc:Point" x="587" y="258" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="351" y="276" width="29" height="22" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_5" bpmnElement="SequenceFlow_5" sourceElement="_BPMNShape_ScriptTask_320" targetElement="_BPMNShape_ExclusiveGateway_242"> + <di:waypoint xsi:type="dc:Point" x="508" y="136" /> + <di:waypoint xsi:type="dc:Point" x="562" y="135" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="558" y="135" width="6" height="6" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_6" bpmnElement="SequenceFlow_6" sourceElement="_BPMNShape_ExclusiveGateway_240" targetElement="_BPMNShape_ScriptTask_321"> + <di:waypoint xsi:type="dc:Point" x="612" y="233" /> + <di:waypoint xsi:type="dc:Point" x="658" y="234" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="633" y="234" width="6" height="6" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_7" bpmnElement="SequenceFlow_7" sourceElement="_BPMNShape_ScriptTask_321" targetElement="_BPMNShape_ScriptTask_322"> + <di:waypoint xsi:type="dc:Point" x="758" y="234" /> + <di:waypoint xsi:type="dc:Point" x="802" y="234" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="777" y="234" width="6" height="6" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_8" bpmnElement="SequenceFlow_8" sourceElement="_BPMNShape_ScriptTask_322" targetElement="_BPMNShape_EndEvent_240"> + <di:waypoint xsi:type="dc:Point" x="902" y="234" /> + <di:waypoint xsi:type="dc:Point" x="1001" y="234" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="949" y="234" width="6" height="6" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_9" bpmnElement="SequenceFlow_9" sourceElement="_BPMNShape_ScriptTask_310" targetElement="_BPMNShape_ExclusiveGateway_239"> + <di:waypoint xsi:type="dc:Point" x="292" y="234" /> + <di:waypoint xsi:type="dc:Point" x="326" y="233" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="311" y="233" width="6" height="6" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_SubProcess_36" bpmnElement="bpmnExceptionHandlingSubProcess" isExpanded="true"> + <dc:Bounds x="185" y="397" width="304" height="157" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_StartEvent_82" bpmnElement="StartEvent_2"> + <dc:Bounds x="200" y="458" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="218" y="499" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_EndEvent_242" bpmnElement="EndEvent_2"> + <dc:Bounds x="440" y="458" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="458" y="499" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_323" bpmnElement="processBPMNError"> + <dc:Bounds x="288" y="436" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_10" bpmnElement="SequenceFlow_3" sourceElement="_BPMNShape_ScriptTask_323" targetElement="_BPMNShape_EndEvent_242"> + <di:waypoint xsi:type="dc:Point" x="388" y="476" /> + <di:waypoint xsi:type="dc:Point" x="440" y="476" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="414" y="476" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_242" bpmnElement="vnfFoundCheck" isMarkerVisible="true"> + <dc:Bounds x="562" y="110" width="50" height="50" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="552" y="90" width="72" height="22" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_EndEvent_243" bpmnElement="EndEvent_3"> + <dc:Bounds x="708" y="118" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="726" y="159" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_11" bpmnElement="vnfFoundYes" sourceElement="_BPMNShape_ExclusiveGateway_242" targetElement="_BPMNShape_ExclusiveGateway_240"> + <di:waypoint xsi:type="dc:Point" x="587" y="160" /> + <di:waypoint xsi:type="dc:Point" x="587" y="208" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="587" y="165" width="29" height="22" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_12" bpmnElement="vnfFoundNo" sourceElement="_BPMNShape_ExclusiveGateway_242" targetElement="_BPMNShape_EndEvent_243"> + <di:waypoint xsi:type="dc:Point" x="612" y="135" /> + <di:waypoint xsi:type="dc:Point" x="708" y="136" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="637" y="135" width="22" height="22" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + </bpmndi:BPMNPlane> + </bpmndi:BPMNDiagram> +</bpmn2:definitions>
\ No newline at end of file diff --git a/bpmn/MSOCommonBPMN/src/main/resources/subprocess/GenericGetService.bpmn b/bpmn/MSOCommonBPMN/src/main/resources/subprocess/GenericGetService.bpmn new file mode 100644 index 0000000..af615e3 --- /dev/null +++ b/bpmn/MSOCommonBPMN/src/main/resources/subprocess/GenericGetService.bpmn @@ -0,0 +1,321 @@ +<?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:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd" id="_D5VzAHElEeaJwpcpVN5gXw" exporter="camunda modeler" exporterVersion="2.7.0" targetNamespace="http://camunda.org/schema/1.0/bpmn"> + <bpmn2:process id="GenericGetService" name="GenericGetService" isExecutable="true"> + <bpmn2:scriptTask id="intialization" name="Initialization" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_1</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_2</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +GenericGetService getService = new GenericGetService() +getService.preProcessRequest(execution) +]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_2" name="" sourceRef="intialization" targetRef="getUrl"/> + <bpmn2:exclusiveGateway id="getUrl" name="Get Url?" default="getUrlNo"> + <bpmn2:incoming>SequenceFlow_2</bpmn2:incoming> + <bpmn2:outgoing>getUrlYes</bpmn2:outgoing> + <bpmn2:outgoing>getUrlNo</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:sequenceFlow id="getUrlYes" name="Yes" sourceRef="getUrl" targetRef="obtain"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("GENGS_obtainServiceInstanceUrl" ) == true}]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="getUrlNo" name="No" sourceRef="getUrl" targetRef="ExclusiveGateway_2"/> + <bpmn2:subProcess id="bpmnExceptionHandlingSubProcess" name="Error Handling Sub Process" triggeredByEvent="true"> + <bpmn2:scriptTask id="processBPMNException" name="Process Error" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_7</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_8</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* + +ExceptionUtil ex = new ExceptionUtil() +ex.processSubflowsBPMNException(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_8" name="" sourceRef="processBPMNException" targetRef="EndEvent_2"/> + <bpmn2:startEvent id="StartEvent_2"> + <bpmn2:outgoing>SequenceFlow_7</bpmn2:outgoing> + <bpmn2:errorEventDefinition id="ErrorEventDefinition_1"/> + </bpmn2:startEvent> + <bpmn2:sequenceFlow id="SequenceFlow_7" name="" sourceRef="StartEvent_2" targetRef="processBPMNException"/> + <bpmn2:endEvent id="EndEvent_2"> + <bpmn2:incoming>SequenceFlow_8</bpmn2:incoming> + </bpmn2:endEvent> + </bpmn2:subProcess> + <bpmn2:scriptTask id="toggleSuccess" name="Toggle Success Indicator" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_3</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_6</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +GenericGetService getService = new GenericGetService() +getService.setSuccessIndicator(execution, true) +]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_6" name="" sourceRef="toggleSuccess" targetRef="EndEvent_1"/> + <bpmn2:scriptTask id="getServiceInstance" name="GET
Service Instance" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_5</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_3</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +GenericGetService getService = new GenericGetService() +getService.getServiceObject(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_3" name="" sourceRef="getServiceInstance" targetRef="toggleSuccess"/> + <bpmn2:exclusiveGateway id="ExclusiveGateway_2"> + <bpmn2:incoming>getUrlNo</bpmn2:incoming> + <bpmn2:incoming>foundYes</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_5</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:sequenceFlow id="SequenceFlow_5" name="" sourceRef="ExclusiveGateway_2" targetRef="getServiceInstance"/> + <bpmn2:scriptTask id="obtainServiceUrlById" name="Obtain Service URL Using
Id" scriptFormat="groovy"> + <bpmn2:incoming>obtainById</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_4</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +GenericGetService getService = new GenericGetService() +getService.obtainServiceInstanceUrlById(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_4" name="" sourceRef="obtainServiceUrlById" targetRef="ExclusiveGateway_3"/> + <bpmn2:scriptTask id="obtainServiceUrlByName" name="Obtain Service Url Using
Name" scriptFormat="groovy"> + <bpmn2:incoming>obtainByName</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_13</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +GenericGetService getService = new GenericGetService() +getService.obtainServiceInstanceUrlByName(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_13" name="" sourceRef="obtainServiceUrlByName" targetRef="ExclusiveGateway_3"/> + <bpmn2:exclusiveGateway id="obtain" name="Obtain By?" default="obtainById"> + <bpmn2:incoming>getUrlYes</bpmn2:incoming> + <bpmn2:outgoing>obtainById</bpmn2:outgoing> + <bpmn2:outgoing>obtainByName</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:sequenceFlow id="obtainById" name="Id" sourceRef="obtain" targetRef="obtainServiceUrlById"/> + <bpmn2:sequenceFlow id="obtainByName" name="Name" sourceRef="obtain" targetRef="obtainServiceUrlByName"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("GENGS_obtainServiceInstanceUrlByName" ) == true}]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:exclusiveGateway id="serviceFoundCheck" name="Service Exist?" default="notFound"> + <bpmn2:incoming>SequenceFlow_14</bpmn2:incoming> + <bpmn2:outgoing>foundYes</bpmn2:outgoing> + <bpmn2:outgoing>notFound</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:sequenceFlow id="foundYes" name="Yes" sourceRef="serviceFoundCheck" targetRef="ExclusiveGateway_2"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("GENGS_FoundIndicator" ) == true}]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="notFound" name="No" sourceRef="serviceFoundCheck" targetRef="EndEvent_3"/> + <bpmn2:endEvent id="EndEvent_3"> + <bpmn2:incoming>notFound</bpmn2:incoming> + <bpmn2:terminateEventDefinition id="_TerminateEventDefinition_29"/> + </bpmn2:endEvent> + <bpmn2:exclusiveGateway id="ExclusiveGateway_3"> + <bpmn2:incoming>SequenceFlow_4</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_13</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_14</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:sequenceFlow id="SequenceFlow_14" name="" sourceRef="ExclusiveGateway_3" targetRef="serviceFoundCheck"/> + <bpmn2:endEvent id="EndEvent_1"> + <bpmn2:incoming>SequenceFlow_6</bpmn2:incoming> + <bpmn2:terminateEventDefinition id="_TerminateEventDefinition_26"/> + </bpmn2:endEvent> + <bpmn2:startEvent id="StartEvent_1"> + <bpmn2:outgoing>SequenceFlow_1</bpmn2:outgoing> + </bpmn2:startEvent> + <bpmn2:sequenceFlow id="SequenceFlow_1" name="" sourceRef="StartEvent_1" targetRef="intialization"/> + </bpmn2:process> + <bpmndi:BPMNDiagram id="BPMNDiagram_1"> + <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="GenericGetService"> + <bpmndi:BPMNShape id="_BPMNShape_StartEvent_69" bpmnElement="StartEvent_1"> + <dc:Bounds height="36.0" width="36.0" x="108.0" y="264.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="126.0" y="305.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_288" bpmnElement="intialization"> + <dc:Bounds height="80.0" width="100.0" x="228.0" y="242.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_1" bpmnElement="SequenceFlow_1" sourceElement="_BPMNShape_StartEvent_69" targetElement="_BPMNShape_ScriptTask_288"> + <di:waypoint xsi:type="dc:Point" x="144.0" y="282.0"/> + <di:waypoint xsi:type="dc:Point" x="228.0" y="282.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="177.0" y="282.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_227" bpmnElement="getUrl" isMarkerVisible="true"> + <dc:Bounds height="50.0" width="50.0" x="372.0" y="256.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="22.0" width="70.0" x="408.0" y="286.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_2" bpmnElement="SequenceFlow_2" sourceElement="_BPMNShape_ScriptTask_288" targetElement="_BPMNShape_ExclusiveGateway_227"> + <di:waypoint xsi:type="dc:Point" x="328.0" y="282.0"/> + <di:waypoint xsi:type="dc:Point" x="372.0" y="281.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="350.0" y="281.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_289" bpmnElement="obtainServiceUrlById"> + <dc:Bounds height="80.0" width="100.0" x="528.0" y="197.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_228" bpmnElement="ExclusiveGateway_2" isMarkerVisible="true"> + <dc:Bounds height="50.0" width="50.0" x="738.0" y="256.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="763.0" y="311.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_290" bpmnElement="getServiceInstance"> + <dc:Bounds height="80.0" width="100.0" x="820.0" y="242.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_3" bpmnElement="getUrlYes" sourceElement="_BPMNShape_ExclusiveGateway_227" targetElement="_BPMNShape_ExclusiveGateway_233"> + <di:waypoint xsi:type="dc:Point" x="397.0" y="256.0"/> + <di:waypoint xsi:type="dc:Point" x="397.0" y="170.0"/> + <di:waypoint xsi:type="dc:Point" x="446.0" y="170.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="22.0" width="29.0" x="397.0" y="213.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_4" bpmnElement="SequenceFlow_4" sourceElement="_BPMNShape_ScriptTask_289" targetElement="_BPMNShape_ExclusiveGateway_234"> + <di:waypoint xsi:type="dc:Point" x="628.0" y="237.0"/> + <di:waypoint xsi:type="dc:Point" x="671.0" y="237.0"/> + <di:waypoint xsi:type="dc:Point" x="671.0" y="195.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="668.0" y="221.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_5" bpmnElement="SequenceFlow_5" sourceElement="_BPMNShape_ExclusiveGateway_228" targetElement="_BPMNShape_ScriptTask_290"> + <di:waypoint xsi:type="dc:Point" x="788.0" y="281.0"/> + <di:waypoint xsi:type="dc:Point" x="820.0" y="282.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="798.0" y="281.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_6" bpmnElement="getUrlNo" sourceElement="_BPMNShape_ExclusiveGateway_227" targetElement="_BPMNShape_ExclusiveGateway_228"> + <di:waypoint xsi:type="dc:Point" x="397.0" y="306.0"/> + <di:waypoint xsi:type="dc:Point" x="397.0" y="370.0"/> + <di:waypoint xsi:type="dc:Point" x="763.0" y="370.0"/> + <di:waypoint xsi:type="dc:Point" x="763.0" y="306.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="22.0" width="22.0" x="400.0" y="324.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_291" bpmnElement="toggleSuccess"> + <dc:Bounds height="80.0" width="100.0" x="960.0" y="242.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_7" bpmnElement="SequenceFlow_3" sourceElement="_BPMNShape_ScriptTask_290" targetElement="_BPMNShape_ScriptTask_291"> + <di:waypoint xsi:type="dc:Point" x="920.0" y="282.0"/> + <di:waypoint xsi:type="dc:Point" x="960.0" y="282.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="937.0" y="282.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_EndEvent_223" bpmnElement="EndEvent_1"> + <dc:Bounds height="36.0" width="36.0" x="1133.0" y="264.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="1151.0" y="305.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_8" bpmnElement="SequenceFlow_6" sourceElement="_BPMNShape_ScriptTask_291" targetElement="_BPMNShape_EndEvent_223"> + <di:waypoint xsi:type="dc:Point" x="1060.0" y="282.0"/> + <di:waypoint xsi:type="dc:Point" x="1133.0" y="282.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="1100.0" y="282.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_SubProcess_25" bpmnElement="bpmnExceptionHandlingSubProcess" isExpanded="true"> + <dc:Bounds height="169.0" width="325.0" x="152.0" y="468.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_StartEvent_70" bpmnElement="StartEvent_2"> + <dc:Bounds height="36.0" width="36.0" x="176.0" y="535.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="194.0" y="576.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_EndEvent_224" bpmnElement="EndEvent_2"> + <dc:Bounds height="36.0" width="36.0" x="416.0" y="535.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="434.0" y="576.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_292" bpmnElement="processBPMNException"> + <dc:Bounds height="80.0" width="100.0" x="265.0" y="513.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_9" bpmnElement="SequenceFlow_7" sourceElement="_BPMNShape_StartEvent_70" targetElement="_BPMNShape_ScriptTask_292"> + <di:waypoint xsi:type="dc:Point" x="212.0" y="553.0"/> + <di:waypoint xsi:type="dc:Point" x="265.0" y="553.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="233.0" y="553.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_10" bpmnElement="SequenceFlow_8" sourceElement="_BPMNShape_ScriptTask_292" targetElement="_BPMNShape_EndEvent_224"> + <di:waypoint xsi:type="dc:Point" x="365.0" y="553.0"/> + <di:waypoint xsi:type="dc:Point" x="416.0" y="553.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="385.0" y="553.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_301" bpmnElement="obtainServiceUrlByName"> + <dc:Bounds height="80.0" width="100.0" x="528.0" y="59.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_233" bpmnElement="obtain" isMarkerVisible="true"> + <dc:Bounds height="50.0" width="50.0" x="446.0" y="145.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="22.0" width="71.0" x="496.0" y="162.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_234" bpmnElement="ExclusiveGateway_3" isMarkerVisible="true"> + <dc:Bounds height="50.0" width="50.0" x="646.0" y="145.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="671.0" y="200.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_13" bpmnElement="obtainById" sourceElement="_BPMNShape_ExclusiveGateway_233" targetElement="_BPMNShape_ScriptTask_289"> + <di:waypoint xsi:type="dc:Point" x="471.0" y="195.0"/> + <di:waypoint xsi:type="dc:Point" x="471.0" y="236.0"/> + <di:waypoint xsi:type="dc:Point" x="528.0" y="237.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="22.0" width="16.0" x="476.0" y="207.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_14" bpmnElement="obtainByName" sourceElement="_BPMNShape_ExclusiveGateway_233" targetElement="_BPMNShape_ScriptTask_301"> + <di:waypoint xsi:type="dc:Point" x="471.0" y="145.0"/> + <di:waypoint xsi:type="dc:Point" x="471.0" y="99.0"/> + <di:waypoint xsi:type="dc:Point" x="528.0" y="99.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="22.0" width="40.0" x="471.0" y="115.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_15" bpmnElement="SequenceFlow_13" sourceElement="_BPMNShape_ScriptTask_301" targetElement="_BPMNShape_ExclusiveGateway_234"> + <di:waypoint xsi:type="dc:Point" x="628.0" y="99.0"/> + <di:waypoint xsi:type="dc:Point" x="671.0" y="99.0"/> + <di:waypoint xsi:type="dc:Point" x="671.0" y="145.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="665.0" y="99.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_235" bpmnElement="serviceFoundCheck" isMarkerVisible="true"> + <dc:Bounds height="50.0" width="50.0" x="738.0" y="145.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="22.0" width="59.0" x="735.0" y="125.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_16" bpmnElement="SequenceFlow_14" sourceElement="_BPMNShape_ExclusiveGateway_234" targetElement="_BPMNShape_ExclusiveGateway_235"> + <di:waypoint xsi:type="dc:Point" x="696.0" y="170.0"/> + <di:waypoint xsi:type="dc:Point" x="738.0" y="170.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="704.0" y="170.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_17" bpmnElement="foundYes" sourceElement="_BPMNShape_ExclusiveGateway_235" targetElement="_BPMNShape_ExclusiveGateway_228"> + <di:waypoint xsi:type="dc:Point" x="763.0" y="195.0"/> + <di:waypoint xsi:type="dc:Point" x="763.0" y="256.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="22.0" width="29.0" x="762.0" y="205.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_18" bpmnElement="notFound" sourceElement="_BPMNShape_ExclusiveGateway_235" targetElement="_BPMNShape_EndEvent_229"> + <di:waypoint xsi:type="dc:Point" x="788.0" y="170.0"/> + <di:waypoint xsi:type="dc:Point" x="877.0" y="171.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="22.0" width="22.0" x="798.0" y="170.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_EndEvent_229" bpmnElement="EndEvent_3"> + <dc:Bounds height="36.0" width="36.0" x="877.0" y="153.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="895.0" y="194.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + </bpmndi:BPMNPlane> + </bpmndi:BPMNDiagram> +</bpmn2:definitions>
\ No newline at end of file diff --git a/bpmn/MSOCommonBPMN/src/main/resources/subprocess/GenericGetVnf.bpmn b/bpmn/MSOCommonBPMN/src/main/resources/subprocess/GenericGetVnf.bpmn new file mode 100644 index 0000000..db0d35d --- /dev/null +++ b/bpmn/MSOCommonBPMN/src/main/resources/subprocess/GenericGetVnf.bpmn @@ -0,0 +1,212 @@ +<?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:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd" id="_eb5eEHR6EeaJwpcpVN5gXw" exporter="camunda modeler" exporterVersion="2.7.0" targetNamespace="http://camunda.org/schema/1.0/bpmn"> + <bpmn2:process id="GenericGetVnf" name="GenericGetVnf" isExecutable="true"> + <bpmn2:startEvent id="StartEvent_1"> + <bpmn2:outgoing>SequenceFlow_1</bpmn2:outgoing> + </bpmn2:startEvent> + <bpmn2:scriptTask id="intialization" name="Intialization" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_1</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_2</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +GenericGetVnf genericGetVnf = new GenericGetVnf () +genericGetVnf.preProcessRequest(execution) +]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_1" name="" sourceRef="StartEvent_1" targetRef="intialization"/> + <bpmn2:sequenceFlow id="SequenceFlow_2" name="" sourceRef="intialization" targetRef="vnfIdProvided"/> + <bpmn2:exclusiveGateway id="vnfIdProvided" name="Vnf Id Provided?" default="noVnfId"> + <bpmn2:incoming>SequenceFlow_2</bpmn2:incoming> + <bpmn2:outgoing>noVnfId</bpmn2:outgoing> + <bpmn2:outgoing>haveVnfId</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:sequenceFlow id="noVnfId" name="No" sourceRef="vnfIdProvided" targetRef="getVnfByName"/> + <bpmn2:sequenceFlow id="haveVnfId" name="Yes" sourceRef="vnfIdProvided" targetRef="getGenericVnf"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("GENGV_getVnfByName") == false}]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:scriptTask id="getVnfByName" name="GET Vnf By Name" scriptFormat="groovy"> + <bpmn2:incoming>noVnfId</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_9</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +GenericGetVnf genericGetVnf = new GenericGetVnf() +genericGetVnf.getVnfByName(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_9" name="" sourceRef="getVnfByName" targetRef="ExclusiveGateway_2"/> + <bpmn2:exclusiveGateway id="ExclusiveGateway_2"> + <bpmn2:incoming>SequenceFlow_9</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_10</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_7</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:sequenceFlow id="SequenceFlow_7" name="" sourceRef="ExclusiveGateway_2" targetRef="toggleSuccess"/> + <bpmn2:scriptTask id="getGenericVnf" name="GET Vnf By
Id" scriptFormat="groovy"> + <bpmn2:incoming>haveVnfId</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_10</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +GenericGetVnf genericGetVnf = new GenericGetVnf() +genericGetVnf.getVnfById(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_10" name="" sourceRef="getGenericVnf" targetRef="ExclusiveGateway_2"/> + <bpmn2:subProcess id="bpmnExceptionHandlingSubProcess" name="Error Handling Sub Process" triggeredByEvent="true"> + <bpmn2:endEvent id="EndEvent_3"> + <bpmn2:incoming>SequenceFlow_12</bpmn2:incoming> + <bpmn2:terminateEventDefinition id="_TerminateEventDefinition_31"/> + </bpmn2:endEvent> + <bpmn2:scriptTask id="proccessBPMNError" name="Process Error" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_11</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_12</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* + +ExceptionUtil ex = new ExceptionUtil() +ex.processSubflowsBPMNException(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_12" name="" sourceRef="proccessBPMNError" targetRef="EndEvent_3"/> + <bpmn2:startEvent id="catchMSOWorkflowException"> + <bpmn2:outgoing>SequenceFlow_11</bpmn2:outgoing> + <bpmn2:errorEventDefinition id="ErrorEventDefinition_1"/> + </bpmn2:startEvent> + <bpmn2:sequenceFlow id="SequenceFlow_11" name="" sourceRef="catchMSOWorkflowException" targetRef="proccessBPMNError"/> + </bpmn2:subProcess> + <bpmn2:scriptTask id="toggleSuccess" name="Toggle Success Indicator" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_7</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_8</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +GenericGetVnf genericGetVnf = new GenericGetVnf() +genericGetVnf.setSuccessIndicator(execution, true) +]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_8" name="" sourceRef="toggleSuccess" targetRef="EndEvent_1"/> + <bpmn2:endEvent id="EndEvent_1"> + <bpmn2:incoming>SequenceFlow_8</bpmn2:incoming> + <bpmn2:terminateEventDefinition id="_TerminateEventDefinition_28"/> + </bpmn2:endEvent> + </bpmn2:process> + <bpmn2:error id="Error_1" errorCode="MSOWorkflowException" name="MSO Workflow Exception"/> + <bpmndi:BPMNDiagram id="BPMNDiagram_1"> + <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="GenericGetVnf"> + <bpmndi:BPMNShape id="_BPMNShape_StartEvent_71" bpmnElement="StartEvent_1"> + <dc:Bounds height="36.0" width="36.0" x="110.0" y="271.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="128.0" y="312.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_295" bpmnElement="intialization"> + <dc:Bounds height="80.0" width="100.0" x="228.0" y="249.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_230" bpmnElement="vnfIdProvided" isMarkerVisible="true"> + <dc:Bounds height="50.0" width="50.0" x="372.0" y="263.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="22.0" width="99.0" x="419.0" y="292.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_1" bpmnElement="SequenceFlow_1" sourceElement="_BPMNShape_StartEvent_71" targetElement="_BPMNShape_ScriptTask_295"> + <di:waypoint xsi:type="dc:Point" x="146.0" y="289.0"/> + <di:waypoint xsi:type="dc:Point" x="228.0" y="289.0"/> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_2" bpmnElement="SequenceFlow_2" sourceElement="_BPMNShape_ScriptTask_295" targetElement="_BPMNShape_ExclusiveGateway_230"> + <di:waypoint xsi:type="dc:Point" x="328.0" y="289.0"/> + <di:waypoint xsi:type="dc:Point" x="372.0" y="288.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="347.0" y="288.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_296" bpmnElement="getVnfByName"> + <dc:Bounds height="80.0" width="100.0" x="456.0" y="156.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_231" bpmnElement="ExclusiveGateway_2" isMarkerVisible="true"> + <dc:Bounds height="50.0" width="50.0" x="600.0" y="263.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="625.0" y="318.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_3" bpmnElement="noVnfId" sourceElement="_BPMNShape_ExclusiveGateway_230" targetElement="_BPMNShape_ScriptTask_296"> + <di:waypoint xsi:type="dc:Point" x="397.0" y="263.0"/> + <di:waypoint xsi:type="dc:Point" x="397.0" y="196.0"/> + <di:waypoint xsi:type="dc:Point" x="456.0" y="196.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="22.0" width="22.0" x="399.0" y="219.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_5" bpmnElement="haveVnfId" sourceElement="_BPMNShape_ExclusiveGateway_230" targetElement="_BPMNShape_ScriptTask_297"> + <di:waypoint xsi:type="dc:Point" x="397.0" y="313.0"/> + <di:waypoint xsi:type="dc:Point" x="397.0" y="368.0"/> + <di:waypoint xsi:type="dc:Point" x="456.0" y="368.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="22.0" width="29.0" x="396.0" y="328.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_297" bpmnElement="getGenericVnf"> + <dc:Bounds height="80.0" width="100.0" x="456.0" y="328.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_298" bpmnElement="toggleSuccess"> + <dc:Bounds height="80.0" width="100.0" x="696.0" y="249.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_EndEvent_226" bpmnElement="EndEvent_1"> + <dc:Bounds height="36.0" width="36.0" x="888.0" y="271.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="906.0" y="312.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_7" bpmnElement="SequenceFlow_7" sourceElement="_BPMNShape_ExclusiveGateway_231" targetElement="_BPMNShape_ScriptTask_298"> + <di:waypoint xsi:type="dc:Point" x="650.0" y="288.0"/> + <di:waypoint xsi:type="dc:Point" x="696.0" y="289.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="673.0" y="289.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_8" bpmnElement="SequenceFlow_8" sourceElement="_BPMNShape_ScriptTask_298" targetElement="_BPMNShape_EndEvent_226"> + <di:waypoint xsi:type="dc:Point" x="796.0" y="289.0"/> + <di:waypoint xsi:type="dc:Point" x="888.0" y="289.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="829.0" y="289.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_11" bpmnElement="SequenceFlow_9" sourceElement="_BPMNShape_ScriptTask_296" targetElement="_BPMNShape_ExclusiveGateway_231"> + <di:waypoint xsi:type="dc:Point" x="556.0" y="196.0"/> + <di:waypoint xsi:type="dc:Point" x="625.0" y="196.0"/> + <di:waypoint xsi:type="dc:Point" x="625.0" y="263.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="622.0" y="205.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_12" bpmnElement="SequenceFlow_10" sourceElement="_BPMNShape_ScriptTask_297" targetElement="_BPMNShape_ExclusiveGateway_231"> + <di:waypoint xsi:type="dc:Point" x="556.0" y="368.0"/> + <di:waypoint xsi:type="dc:Point" x="625.0" y="368.0"/> + <di:waypoint xsi:type="dc:Point" x="625.0" y="313.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="621.0" y="368.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_SubProcess_30" bpmnElement="bpmnExceptionHandlingSubProcess" isExpanded="true"> + <dc:Bounds height="169.0" width="313.0" x="168.0" y="468.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_StartEvent_74" bpmnElement="catchMSOWorkflowException"> + <dc:Bounds height="36.0" width="36.0" x="180.0" y="535.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="198.0" y="576.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_302" bpmnElement="proccessBPMNError"> + <dc:Bounds height="80.0" width="100.0" x="275.0" y="513.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_EndEvent_231" bpmnElement="EndEvent_3"> + <dc:Bounds height="36.0" width="36.0" x="432.0" y="535.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="450.0" y="576.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_13" bpmnElement="SequenceFlow_11" sourceElement="_BPMNShape_StartEvent_74" targetElement="_BPMNShape_ScriptTask_302"> + <di:waypoint xsi:type="dc:Point" x="216.0" y="553.0"/> + <di:waypoint xsi:type="dc:Point" x="275.0" y="553.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="238.0" y="553.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_14" bpmnElement="SequenceFlow_12" sourceElement="_BPMNShape_ScriptTask_302" targetElement="_BPMNShape_EndEvent_231"> + <di:waypoint xsi:type="dc:Point" x="375.0" y="553.0"/> + <di:waypoint xsi:type="dc:Point" x="432.0" y="553.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="402.0" y="553.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + </bpmndi:BPMNPlane> + </bpmndi:BPMNDiagram> +</bpmn2:definitions>
\ No newline at end of file diff --git a/bpmn/MSOCommonBPMN/src/main/resources/subprocess/GenericPutService.bpmn b/bpmn/MSOCommonBPMN/src/main/resources/subprocess/GenericPutService.bpmn new file mode 100644 index 0000000..8c8412d --- /dev/null +++ b/bpmn/MSOCommonBPMN/src/main/resources/subprocess/GenericPutService.bpmn @@ -0,0 +1,201 @@ +<?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:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd" id="_FatVcHn0EeaH6vX1RRdc_w" exporter="camunda modeler" exporterVersion="2.7.0" targetNamespace="http://camunda.org/schema/1.0/bpmn"> + <bpmn2:process id="GenericPutService" name="GenericPutService" isExecutable="true"> + <bpmn2:startEvent id="StartEvent_1"> + <bpmn2:outgoing>SequenceFlow_1</bpmn2:outgoing> + </bpmn2:startEvent> + <bpmn2:sequenceFlow id="SequenceFlow_1" name="" sourceRef="StartEvent_1" targetRef="Initialization"/> + <bpmn2:endEvent id="EndEvent_1"> + <bpmn2:incoming>SequenceFlow_5</bpmn2:incoming> + <bpmn2:terminateEventDefinition id="TerminateEventDefinition_1"/> + </bpmn2:endEvent> + <bpmn2:scriptTask id="toggleSuccess" name="Toggle Success Indicator" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_4</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_5</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* + +def serviceInstance= new GenericPutService() +serviceInstance.setSuccessIndicator(execution, true) + +execution.setVariable("WorkflowResponse", " ") //for junits]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_5" name="" sourceRef="toggleSuccess" targetRef="EndEvent_1"/> + <bpmn2:scriptTask id="putServiceInstance" name="Put Service Instance" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_3</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_4</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* + +def serviceInstance= new GenericPutService() +serviceInstance.putServiceInstance(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_4" name="" sourceRef="putServiceInstance" targetRef="toggleSuccess"/> + <bpmn2:scriptTask id="Initialization" name="Initialization" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_1</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_3</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* + +def serviceInstance= new GenericPutService() +serviceInstance.preProcessRequest(execution) +]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_3" name="" sourceRef="Initialization" targetRef="putServiceInstance"/> + <bpmn2:subProcess id="bpmnExceptionHandlingSubProcess" name="Error Handling Sub Process" triggeredByEvent="true"> + <bpmn2:startEvent id="StartEvent_2"> + <bpmn2:outgoing>SequenceFlow_6</bpmn2:outgoing> + <bpmn2:errorEventDefinition id="ErrorEventDefinition_1"/> + </bpmn2:startEvent> + <bpmn2:sequenceFlow id="SequenceFlow_6" name="" sourceRef="StartEvent_2" targetRef="processError"/> + <bpmn2:endEvent id="EndEvent_2"> + <bpmn2:incoming>SequenceFlow_7</bpmn2:incoming> + </bpmn2:endEvent> + <bpmn2:scriptTask id="processError" name="Process Error" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_6</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_7</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* + +ExceptionUtil ex = new ExceptionUtil() +ex.processSubflowsBPMNException(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_7" name="" sourceRef="processError" targetRef="EndEvent_2"/> + </bpmn2:subProcess> + <bpmn2:subProcess id="javaExceptionSubProcess" name="Java Exception Handling Sub Process" triggeredByEvent="true"> + <bpmn2:startEvent id="catchJavaExcep"> + <bpmn2:outgoing>SequenceFlow_9</bpmn2:outgoing> + <bpmn2:errorEventDefinition id="ErrorEventDefinition_2" errorRef="Error_2"/> + </bpmn2:startEvent> + <bpmn2:sequenceFlow id="SequenceFlow_9" name="" sourceRef="catchJavaExcep" targetRef="processJavaError"/> + <bpmn2:scriptTask id="processJavaError" name="Process Java Error" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_9</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_10</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* + +ExceptionUtil ex = new ExceptionUtil() +ex.processSubflowsJavaException(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:endEvent id="EndEvent_3"> + <bpmn2:incoming>SequenceFlow_10</bpmn2:incoming> + <bpmn2:terminateEventDefinition id="TerminateEventDefinition_2"/> + </bpmn2:endEvent> + <bpmn2:sequenceFlow id="SequenceFlow_10" name="" sourceRef="processJavaError" targetRef="EndEvent_3"/> + </bpmn2:subProcess> + </bpmn2:process> + <bpmn2:error id="Error_1" errorCode="MSOWorkflowException" name="MSO Workflow Exception"/> + <bpmn2:error id="Error_2" errorCode="java.lang.Exception" name="Java Lang Exception"/> + <bpmndi:BPMNDiagram id="BPMNDiagram_1"> + <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="GenericPutService"> + <bpmndi:BPMNShape id="_BPMNShape_StartEvent_71" bpmnElement="StartEvent_1"> + <dc:Bounds height="36.0" width="36.0" x="182.0" y="180.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="200.0" y="221.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_302" bpmnElement="Initialization"> + <dc:Bounds height="80.0" width="100.0" x="324.0" y="158.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_1" bpmnElement="SequenceFlow_1" sourceElement="_BPMNShape_StartEvent_71" targetElement="_BPMNShape_ScriptTask_302"> + <di:waypoint xsi:type="dc:Point" x="218.0" y="198.0"/> + <di:waypoint xsi:type="dc:Point" x="324.0" y="198.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="250.0" y="198.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_304" bpmnElement="putServiceInstance"> + <dc:Bounds height="80.0" width="100.0" x="528.0" y="158.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_3" bpmnElement="SequenceFlow_3" sourceElement="_BPMNShape_ScriptTask_302" targetElement="_BPMNShape_ScriptTask_304"> + <di:waypoint xsi:type="dc:Point" x="424.0" y="198.0"/> + <di:waypoint xsi:type="dc:Point" x="528.0" y="198.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="446.0" y="198.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_305" bpmnElement="toggleSuccess"> + <dc:Bounds height="80.0" width="100.0" x="732.0" y="158.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_4" bpmnElement="SequenceFlow_4" sourceElement="_BPMNShape_ScriptTask_304" targetElement="_BPMNShape_ScriptTask_305"> + <di:waypoint xsi:type="dc:Point" x="628.0" y="198.0"/> + <di:waypoint xsi:type="dc:Point" x="732.0" y="198.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="650.0" y="198.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_EndEvent_230" bpmnElement="EndEvent_1"> + <dc:Bounds height="36.0" width="36.0" x="908.0" y="180.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="926.0" y="221.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_5" bpmnElement="SequenceFlow_5" sourceElement="_BPMNShape_ScriptTask_305" targetElement="_BPMNShape_EndEvent_230"> + <di:waypoint xsi:type="dc:Point" x="832.0" y="198.0"/> + <di:waypoint xsi:type="dc:Point" x="908.0" y="198.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="854.0" y="198.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_SubProcess_27" bpmnElement="bpmnExceptionHandlingSubProcess" isExpanded="true"> + <dc:Bounds height="150.0" width="418.0" x="324.0" y="312.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_StartEvent_72" bpmnElement="StartEvent_2"> + <dc:Bounds height="36.0" width="36.0" x="357.0" y="370.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="375.0" y="411.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_306" bpmnElement="processError"> + <dc:Bounds height="80.0" width="100.0" x="466.0" y="348.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_6" bpmnElement="SequenceFlow_6" sourceElement="_BPMNShape_StartEvent_72" targetElement="_BPMNShape_ScriptTask_306"> + <di:waypoint xsi:type="dc:Point" x="393.0" y="388.0"/> + <di:waypoint xsi:type="dc:Point" x="466.0" y="388.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="415.0" y="388.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_EndEvent_231" bpmnElement="EndEvent_2"> + <dc:Bounds height="36.0" width="36.0" x="615.0" y="370.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="633.0" y="411.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_7" bpmnElement="SequenceFlow_7" sourceElement="_BPMNShape_ScriptTask_306" targetElement="_BPMNShape_EndEvent_231"> + <di:waypoint xsi:type="dc:Point" x="566.0" y="388.0"/> + <di:waypoint xsi:type="dc:Point" x="615.0" y="388.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="588.0" y="388.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_SubProcess_28" bpmnElement="javaExceptionSubProcess" isExpanded="true"> + <dc:Bounds height="150.0" width="419.0" x="323.0" y="486.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_StartEvent_73" bpmnElement="catchJavaExcep"> + <dc:Bounds height="36.0" width="36.0" x="357.0" y="538.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="375.0" y="579.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_308" bpmnElement="processJavaError"> + <dc:Bounds height="80.0" width="100.0" x="465.0" y="516.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_9" bpmnElement="SequenceFlow_9" sourceElement="_BPMNShape_StartEvent_73" targetElement="_BPMNShape_ScriptTask_308"> + <di:waypoint xsi:type="dc:Point" x="393.0" y="556.0"/> + <di:waypoint xsi:type="dc:Point" x="465.0" y="556.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="415.0" y="556.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_EndEvent_232" bpmnElement="EndEvent_3"> + <dc:Bounds height="36.0" width="36.0" x="615.0" y="538.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="633.0" y="579.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_10" bpmnElement="SequenceFlow_10" sourceElement="_BPMNShape_ScriptTask_308" targetElement="_BPMNShape_EndEvent_232"> + <di:waypoint xsi:type="dc:Point" x="565.0" y="556.0"/> + <di:waypoint xsi:type="dc:Point" x="615.0" y="556.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="587.0" y="556.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + </bpmndi:BPMNPlane> + </bpmndi:BPMNDiagram> +</bpmn2:definitions>
\ No newline at end of file diff --git a/bpmn/MSOCommonBPMN/src/main/resources/subprocess/GenericPutVnf.bpmn b/bpmn/MSOCommonBPMN/src/main/resources/subprocess/GenericPutVnf.bpmn new file mode 100644 index 0000000..bb73c09 --- /dev/null +++ b/bpmn/MSOCommonBPMN/src/main/resources/subprocess/GenericPutVnf.bpmn @@ -0,0 +1,135 @@ +<?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:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd" id="_ZkRI4HntEea26OhQB97uCQ" exporter="camunda modeler" exporterVersion="2.7.0" targetNamespace="http://camunda.org/schema/1.0/bpmn"> + <bpmn2:process id="GenericPutVnf" name="GenericPutVnf" isExecutable="true"> + <bpmn2:startEvent id="StartEvent_1"> + <bpmn2:outgoing>SequenceFlow_1</bpmn2:outgoing> + </bpmn2:startEvent> + <bpmn2:scriptTask id="intialization" name="Intialization" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_1</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_2</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +GenericPutVnf genericPutVnf = new GenericPutVnf() +genericPutVnf.preProcessRequest(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_1" name="" sourceRef="StartEvent_1" targetRef="intialization"/> + <bpmn2:sequenceFlow id="SequenceFlow_2" name="" sourceRef="intialization" targetRef="putVnf"/> + <bpmn2:subProcess id="processBPMNExceptionSubProcess" name="Error Handling Sub Process" triggeredByEvent="true"> + <bpmn2:endEvent id="EndEvent_2"> + <bpmn2:incoming>SequenceFlow_6</bpmn2:incoming> + <bpmn2:terminateEventDefinition id="_TerminateEventDefinition_43"/> + </bpmn2:endEvent> + <bpmn2:startEvent id="StartEvent_2"> + <bpmn2:outgoing>SequenceFlow_5</bpmn2:outgoing> + <bpmn2:errorEventDefinition id="_ErrorEventDefinition_96"/> + </bpmn2:startEvent> + <bpmn2:scriptTask id="processBPMNException" name="Process Error" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_5</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_6</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* + +ExceptionUtil ex = new ExceptionUtil() +ex.processSubflowsBPMNException(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_5" name="" sourceRef="StartEvent_2" targetRef="processBPMNException"/> + <bpmn2:sequenceFlow id="SequenceFlow_6" name="" sourceRef="processBPMNException" targetRef="EndEvent_2"/> + </bpmn2:subProcess> + <bpmn2:scriptTask id="putVnf" name="PUT Vnf" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_2</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_3</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +GenericPutVnf genericPutVnf = new GenericPutVnf() +genericPutVnf.putVnf(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_3" name="" sourceRef="putVnf" targetRef="toggleSuccess"/> + <bpmn2:scriptTask id="toggleSuccess" name="Toggle Success Indicator" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_3</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_4</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +GenericPutVnf genericPutVnf = new GenericPutVnf() +genericPutVnf.setSuccessIndicator(execution, true) + +execution.setVariable("WorkflowResponse", " ") //for junits]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_4" name="" sourceRef="toggleSuccess" targetRef="EndEvent_1"/> + <bpmn2:endEvent id="EndEvent_1"> + <bpmn2:incoming>SequenceFlow_4</bpmn2:incoming> + <bpmn2:terminateEventDefinition id="_TerminateEventDefinition_42"/> + </bpmn2:endEvent> + </bpmn2:process> + <bpmndi:BPMNDiagram id="BPMNDiagram_1"> + <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="GenericPutVnf"> + <bpmndi:BPMNShape id="_BPMNShape_StartEvent_75" bpmnElement="StartEvent_1"> + <dc:Bounds height="36.0" width="36.0" x="116.0" y="233.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="134.0" y="274.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_305" bpmnElement="intialization"> + <dc:Bounds height="80.0" width="100.0" x="240.0" y="211.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_306" bpmnElement="putVnf"> + <dc:Bounds height="80.0" width="100.0" x="384.0" y="211.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_307" bpmnElement="toggleSuccess"> + <dc:Bounds height="80.0" width="100.0" x="528.0" y="211.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_EndEvent_233" bpmnElement="EndEvent_1"> + <dc:Bounds height="36.0" width="36.0" x="732.0" y="233.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="750.0" y="274.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_1" bpmnElement="SequenceFlow_1" sourceElement="_BPMNShape_StartEvent_75" targetElement="_BPMNShape_ScriptTask_305"> + <di:waypoint xsi:type="dc:Point" x="152.0" y="251.0"/> + <di:waypoint xsi:type="dc:Point" x="240.0" y="251.0"/> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_2" bpmnElement="SequenceFlow_2" sourceElement="_BPMNShape_ScriptTask_305" targetElement="_BPMNShape_ScriptTask_306"> + <di:waypoint xsi:type="dc:Point" x="340.0" y="251.0"/> + <di:waypoint xsi:type="dc:Point" x="384.0" y="251.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="365.0" y="251.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_3" bpmnElement="SequenceFlow_3" sourceElement="_BPMNShape_ScriptTask_306" targetElement="_BPMNShape_ScriptTask_307"> + <di:waypoint xsi:type="dc:Point" x="484.0" y="251.0"/> + <di:waypoint xsi:type="dc:Point" x="528.0" y="251.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="513.0" y="251.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_4" bpmnElement="SequenceFlow_4" sourceElement="_BPMNShape_ScriptTask_307" targetElement="_BPMNShape_EndEvent_233"> + <di:waypoint xsi:type="dc:Point" x="628.0" y="251.0"/> + <di:waypoint xsi:type="dc:Point" x="732.0" y="251.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="678.0" y="251.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_SubProcess_31" bpmnElement="processBPMNExceptionSubProcess" isExpanded="true"> + <dc:Bounds height="169.0" width="322.0" x="174.0" y="396.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_StartEvent_83" bpmnElement="StartEvent_2"> + <dc:Bounds height="36.0" width="36.0" x="204.0" y="463.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="222.0" y="504.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_EndEvent_244" bpmnElement="EndEvent_2"> + <dc:Bounds height="36.0" width="36.0" x="432.0" y="463.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="450.0" y="504.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_324" bpmnElement="processBPMNException"> + <dc:Bounds height="80.0" width="100.0" x="286.0" y="441.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_5" bpmnElement="SequenceFlow_5" sourceElement="_BPMNShape_StartEvent_83" targetElement="_BPMNShape_ScriptTask_324"> + <di:waypoint xsi:type="dc:Point" x="240.0" y="481.0"/> + <di:waypoint xsi:type="dc:Point" x="286.0" y="481.0"/> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_6" bpmnElement="SequenceFlow_6" sourceElement="_BPMNShape_ScriptTask_324" targetElement="_BPMNShape_EndEvent_244"> + <di:waypoint xsi:type="dc:Point" x="386.0" y="481.0"/> + <di:waypoint xsi:type="dc:Point" x="432.0" y="481.0"/> + </bpmndi:BPMNEdge> + </bpmndi:BPMNPlane> + </bpmndi:BPMNDiagram> +</bpmn2:definitions>
\ No newline at end of file diff --git a/bpmn/MSOCommonBPMN/src/main/resources/subprocess/PrepareUpdateAAIVfModule.bpmn b/bpmn/MSOCommonBPMN/src/main/resources/subprocess/PrepareUpdateAAIVfModule.bpmn new file mode 100644 index 0000000..956192c --- /dev/null +++ b/bpmn/MSOCommonBPMN/src/main/resources/subprocess/PrepareUpdateAAIVfModule.bpmn @@ -0,0 +1,308 @@ +<?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" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd" id="_Wblj8GyfEeWUWLTvug7ZOg" exporter="camunda modeler" exporterVersion="2.7.0" targetNamespace="http://camunda.org/schema/1.0/bpmn"> + <bpmn2:process id="PrepareUpdateAAIVfModule" name="PrepareUpdateAAIVfModule" isExecutable="true"> + <bpmn2:documentation><![CDATA[This flow expects its incoming request to be in the variable 'PrepareUpdateAAIVfModuleRequest'. This flow has 2 outputs: The heat stack ID is placed in the variable 'PUAAIVfMod_heatStackId'. +and the updated VF Module (type=VfModule) is placed in the variable 'PUAAIVfMod_outVfModule'.]]></bpmn2:documentation> + <bpmn2:scriptTask id="QueryAAIForGenericVnf" name="Query AAI for Generic Vnf" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_38</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_39</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +def puvm = new PrepareUpdateAAIVfModule() +puvm.getGenericVnf(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_39" name="" sourceRef="QueryAAIForGenericVnf" targetRef="ExclusiveGateway_3"/> + <bpmn2:exclusiveGateway id="ExclusiveGateway_3" default="SequenceFlow_23"> + <bpmn2:incoming>SequenceFlow_39</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_22</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_23</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:sequenceFlow id="SequenceFlow_22" name="" sourceRef="ExclusiveGateway_3" targetRef="ScriptTask_1"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression">#{execution.getVariable('PUAAIVfMod_getVnfResponseCode') == 200}</bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_23" name="AAI Query failure or
Generic Vnf not found" sourceRef="ExclusiveGateway_3" targetRef="VnfNotFound"/> + <bpmn2:scriptTask id="ScriptTask_1" name="Validate VF Module" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_22</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_10</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +def puvm= new PrepareUpdateAAIVfModule() +puvm.validateVfModule(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:scriptTask id="VnfNotFound" name="Handle Generic Vnf Not found" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_23</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_18</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +def puvm= new PrepareUpdateAAIVfModule() +puvm.handleVnfNotFound(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_18" name="" sourceRef="VnfNotFound" targetRef="EndEvent_7"/> + <bpmn2:endEvent id="EndEvent_7"> + <bpmn2:incoming>SequenceFlow_18</bpmn2:incoming> + <bpmn2:errorEventDefinition id="_ErrorEventDefinition_68" errorRef="Error_1"/> + </bpmn2:endEvent> + <bpmn2:sequenceFlow id="SequenceFlow_10" name="" sourceRef="ScriptTask_1" targetRef="ExclusiveGateway_2"/> + <bpmn2:exclusiveGateway id="ExclusiveGateway_2" default="SequenceFlow_12"> + <bpmn2:incoming>SequenceFlow_10</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_12</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_16</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:scriptTask id="ScriptTask_2" name="Handle VF Module Validation Error" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_12</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_15</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +def puvm= new PrepareUpdateAAIVfModule() +puvm.handleVfModuleValidationError(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_12" name="VF Module invalid or
not found" sourceRef="ExclusiveGateway_2" targetRef="ScriptTask_2"/> + <bpmn2:sequenceFlow id="SequenceFlow_15" name="" sourceRef="ScriptTask_2" targetRef="EndEvent_1"/> + <bpmn2:endEvent id="EndEvent_1"> + <bpmn2:incoming>SequenceFlow_15</bpmn2:incoming> + <bpmn2:errorEventDefinition id="_ErrorEventDefinition_69" errorRef="Error_1"/> + </bpmn2:endEvent> + <bpmn2:exclusiveGateway id="ExclusiveGateway_1" default="SequenceFlow_4"> + <bpmn2:incoming>SequenceFlow_14</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_13</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_4</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:sequenceFlow id="SequenceFlow_13" sourceRef="ExclusiveGateway_1" targetRef="EndEvent_4"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression">#{execution.getVariable('PUAAIVfMod_updateVfModuleResponseCode') == 200}</bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_4" name="Update VF Module Failure" sourceRef="ExclusiveGateway_1" targetRef="HandleUpdateVfModuleFailure"/> + <bpmn2:endEvent id="EndEvent_2"> + <bpmn2:incoming>SequenceFlow_8</bpmn2:incoming> + <bpmn2:errorEventDefinition id="_ErrorEventDefinition_50" errorRef="Error_1"/> + </bpmn2:endEvent> + <bpmn2:endEvent id="EndEvent_4" name="TheEnd"> + <bpmn2:extensionElements> + <camunda:connector> + <camunda:inputOutput> + <camunda:outputParameter name="CreateCustomerV1Response"><![CDATA[<aetgt:CreateCustomerResponse xmlns:aetgt="http://org.openecomp/mso/workflow/schema/v1" xmlns:ns="http://org.openecomp/mso/workflow/schema/v1"> + <ns:GlobalCustomerId>${CCV1_subscriberglobalid}</ns:GlobalCustomerId> + </aetgt:CreateCustomerResponse>]]></camunda:outputParameter> + </camunda:inputOutput> + </camunda:connector> + </bpmn2:extensionElements> + <bpmn2:incoming>SequenceFlow_13</bpmn2:incoming> + </bpmn2:endEvent> + <bpmn2:scriptTask id="HandleUpdateVfModuleFailure" name="Handle Update VF Module Failure" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_4</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_8</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +def puvm= new PrepareUpdateAAIVfModule() +puvm.handleUpdateVfModuleFailure(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_8" name="" sourceRef="HandleUpdateVfModuleFailure" targetRef="EndEvent_2"/> + <bpmn2:scriptTask id="UpdateVfModule" name="Update VF Module" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_16</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_14</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +def puvm= new PrepareUpdateAAIVfModule() +puvm.updateVfModule(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_14" name="" sourceRef="UpdateVfModule" targetRef="ExclusiveGateway_1"/> + <bpmn2:sequenceFlow id="SequenceFlow_16" name="" sourceRef="ExclusiveGateway_2" targetRef="UpdateVfModule"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression">#{execution.getVariable('PUAAIVfMod_vfModuleOK')}</bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:startEvent id="StartEvent_1" name="Start"> + <bpmn2:outgoing>SequenceFlow_1</bpmn2:outgoing> + </bpmn2:startEvent> + <bpmn2:sequenceFlow id="SequenceFlow_1" name="" sourceRef="StartEvent_1" targetRef="ProcessReceivedRequest"/> + <bpmn2:scriptTask id="ProcessReceivedRequest" name="Process Received Request" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_1</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_38</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +def puvm= new PrepareUpdateAAIVfModule() +puvm.preProcessRequest(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_38" name="" sourceRef="ProcessReceivedRequest" targetRef="QueryAAIForGenericVnf"/> + </bpmn2:process> + <bpmn2:error id="Error_1" errorCode="MSOWorkflowException" name="MSO Workflow Exception"/> + <bpmndi:BPMNDiagram id="BPMNDiagram_1"> + <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="PrepareUpdateAAIVfModule"> + <bpmndi:BPMNShape id="_BPMNShape_StartEvent_37" bpmnElement="StartEvent_1"> + <dc:Bounds height="36.0" width="36.0" x="37.0" y="212.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="22.0" width="34.0" x="38.0" y="253.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_22" bpmnElement="ProcessReceivedRequest"> + <dc:Bounds height="80.0" width="100.0" x="181.0" y="190.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_1" bpmnElement="SequenceFlow_1" sourceElement="_BPMNShape_StartEvent_37" targetElement="_BPMNShape_ScriptTask_22"> + <di:waypoint xsi:type="dc:Point" x="73.0" y="230.0"/> + <di:waypoint xsi:type="dc:Point" x="181.0" y="230.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="95.0" y="230.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_Task_2" bpmnElement="UpdateVfModule"> + <dc:Bounds height="80.0" width="100.0" x="81.0" y="540.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_EndEvent_92" bpmnElement="EndEvent_4"> + <dc:Bounds height="36.0" width="36.0" x="425.0" y="560.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="22.0" width="50.0" x="418.0" y="601.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_54" bpmnElement="ExclusiveGateway_1" isMarkerVisible="true"> + <dc:Bounds height="50.0" width="50.0" x="250.0" y="554.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="275.0" y="609.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_14" bpmnElement="SequenceFlow_13" sourceElement="_BPMNShape_ExclusiveGateway_54" targetElement="_BPMNShape_EndEvent_92"> + <di:waypoint xsi:type="dc:Point" x="300.0" y="579.0"/> + <di:waypoint xsi:type="dc:Point" x="402.0" y="579.0"/> + <di:waypoint xsi:type="dc:Point" x="402.0" y="578.0"/> + <di:waypoint xsi:type="dc:Point" x="425.0" y="578.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="338.0" y="579.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_EndEvent_120" bpmnElement="EndEvent_2"> + <dc:Bounds height="36.0" width="36.0" x="257.0" y="348.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="275.0" y="389.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_86" bpmnElement="ExclusiveGateway_3" isMarkerVisible="true"> + <dc:Bounds height="50.0" width="50.0" x="499.0" y="206.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="524.0" y="261.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_23" bpmnElement="SequenceFlow_22" sourceElement="_BPMNShape_ExclusiveGateway_86" targetElement="_BPMNShape_ScriptTask_162"> + <di:waypoint xsi:type="dc:Point" x="549.0" y="231.0"/> + <di:waypoint xsi:type="dc:Point" x="601.0" y="231.0"/> + <di:waypoint xsi:type="dc:Point" x="601.0" y="230.0"/> + <di:waypoint xsi:type="dc:Point" x="661.0" y="230.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="564.0" y="231.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_155" bpmnElement="VnfNotFound"> + <dc:Bounds height="80.0" width="100.0" x="475.0" y="72.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_24" bpmnElement="SequenceFlow_23" sourceElement="_BPMNShape_ExclusiveGateway_86" targetElement="_BPMNShape_ScriptTask_155"> + <di:waypoint xsi:type="dc:Point" x="524.0" y="206.0"/> + <di:waypoint xsi:type="dc:Point" x="524.0" y="173.0"/> + <di:waypoint xsi:type="dc:Point" x="525.0" y="173.0"/> + <di:waypoint xsi:type="dc:Point" x="525.0" y="152.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="38.0" width="135.0" x="526.0" y="160.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_EndEvent_160" bpmnElement="EndEvent_7"> + <dc:Bounds height="36.0" width="36.0" x="507.0" y="5.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="525.0" y="46.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_18" bpmnElement="SequenceFlow_18" sourceElement="_BPMNShape_ScriptTask_155" targetElement="_BPMNShape_EndEvent_160"> + <di:waypoint xsi:type="dc:Point" x="525.0" y="72.0"/> + <di:waypoint xsi:type="dc:Point" x="525.0" y="41.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="522.0" y="61.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_160" bpmnElement="QueryAAIForGenericVnf"> + <dc:Bounds height="80.0" width="100.0" x="336.0" y="190.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_38" bpmnElement="SequenceFlow_38" sourceElement="_BPMNShape_ScriptTask_22" targetElement="_BPMNShape_ScriptTask_160"> + <di:waypoint xsi:type="dc:Point" x="281.0" y="230.0"/> + <di:waypoint xsi:type="dc:Point" x="336.0" y="230.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="301.0" y="230.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_39" bpmnElement="SequenceFlow_39" sourceElement="_BPMNShape_ScriptTask_160" targetElement="_BPMNShape_ExclusiveGateway_86"> + <di:waypoint xsi:type="dc:Point" x="436.0" y="230.0"/> + <di:waypoint xsi:type="dc:Point" x="452.0" y="230.0"/> + <di:waypoint xsi:type="dc:Point" x="452.0" y="231.0"/> + <di:waypoint xsi:type="dc:Point" x="499.0" y="231.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="449.0" y="231.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_161" bpmnElement="HandleUpdateVfModuleFailure"> + <dc:Bounds height="80.0" width="100.0" x="225.0" y="408.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_6" bpmnElement="SequenceFlow_8" sourceElement="_BPMNShape_ScriptTask_161" targetElement="_BPMNShape_EndEvent_120"> + <di:waypoint xsi:type="dc:Point" x="275.0" y="408.0"/> + <di:waypoint xsi:type="dc:Point" x="275.0" y="384.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="300.0" y="740.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_13" bpmnElement="SequenceFlow_14" sourceElement="_BPMNShape_Task_2" targetElement="_BPMNShape_ExclusiveGateway_54"> + <di:waypoint xsi:type="dc:Point" x="181.0" y="580.0"/> + <di:waypoint xsi:type="dc:Point" x="206.0" y="580.0"/> + <di:waypoint xsi:type="dc:Point" x="206.0" y="579.0"/> + <di:waypoint xsi:type="dc:Point" x="250.0" y="579.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="174.0" y="711.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_3" bpmnElement="SequenceFlow_4" sourceElement="_BPMNShape_ExclusiveGateway_54" targetElement="_BPMNShape_ScriptTask_161"> + <di:waypoint xsi:type="dc:Point" x="275.0" y="554.0"/> + <di:waypoint xsi:type="dc:Point" x="275.0" y="520.0"/> + <di:waypoint xsi:type="dc:Point" x="276.0" y="520.0"/> + <di:waypoint xsi:type="dc:Point" x="276.0" y="488.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="22.0" width="157.0" x="280.0" y="504.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_162" bpmnElement="ScriptTask_1"> + <dc:Bounds height="80.0" width="100.0" x="661.0" y="190.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_87" bpmnElement="ExclusiveGateway_2" isMarkerVisible="true"> + <dc:Bounds height="50.0" width="50.0" x="829.0" y="204.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="854.0" y="259.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_10" bpmnElement="SequenceFlow_10" sourceElement="_BPMNShape_ScriptTask_162" targetElement="_BPMNShape_ExclusiveGateway_87"> + <di:waypoint xsi:type="dc:Point" x="761.0" y="230.0"/> + <di:waypoint xsi:type="dc:Point" x="795.0" y="230.0"/> + <di:waypoint xsi:type="dc:Point" x="795.0" y="229.0"/> + <di:waypoint xsi:type="dc:Point" x="829.0" y="229.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="792.0" y="230.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_163" bpmnElement="ScriptTask_2"> + <dc:Bounds height="80.0" width="100.0" x="805.0" y="72.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_EndEvent_161" bpmnElement="EndEvent_1"> + <dc:Bounds height="36.0" width="36.0" x="837.0" y="5.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="855.0" y="46.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_12" bpmnElement="SequenceFlow_12" sourceElement="_BPMNShape_ExclusiveGateway_87" targetElement="_BPMNShape_ScriptTask_163"> + <di:waypoint xsi:type="dc:Point" x="854.0" y="204.0"/> + <di:waypoint xsi:type="dc:Point" x="854.0" y="178.0"/> + <di:waypoint xsi:type="dc:Point" x="855.0" y="178.0"/> + <di:waypoint xsi:type="dc:Point" x="855.0" y="152.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="38.0" width="133.0" x="864.0" y="160.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_15" bpmnElement="SequenceFlow_15" sourceElement="_BPMNShape_ScriptTask_163" targetElement="_BPMNShape_EndEvent_161"> + <di:waypoint xsi:type="dc:Point" x="855.0" y="72.0"/> + <di:waypoint xsi:type="dc:Point" x="855.0" y="41.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="852.0" y="54.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_16" bpmnElement="SequenceFlow_16" sourceElement="_BPMNShape_ExclusiveGateway_87" targetElement="_BPMNShape_Task_2"> + <di:waypoint xsi:type="dc:Point" x="854.0" y="254.0"/> + <di:waypoint xsi:type="dc:Point" x="854.0" y="302.0"/> + <di:waypoint xsi:type="dc:Point" x="131.0" y="302.0"/> + <di:waypoint xsi:type="dc:Point" x="131.0" y="540.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="399.0" y="302.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + </bpmndi:BPMNPlane> + </bpmndi:BPMNDiagram> +</bpmn2:definitions>
\ No newline at end of file diff --git a/bpmn/MSOCommonBPMN/src/main/resources/subprocess/SDNCAdapterV1.bpmn b/bpmn/MSOCommonBPMN/src/main/resources/subprocess/SDNCAdapterV1.bpmn new file mode 100644 index 0000000..c948423 --- /dev/null +++ b/bpmn/MSOCommonBPMN/src/main/resources/subprocess/SDNCAdapterV1.bpmn @@ -0,0 +1,524 @@ +<?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="_l2hJ8CccEeW3d--PaFJMbg" targetNamespace="http://camunda.org/schema/1.0/bpmn" exporter="Camunda Modeler" exporterVersion="1.4.0" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd"> + <bpmn2:process id="sdncAdapter" name="SDNC Adapter" isExecutable="true"> + <bpmn2:exclusiveGateway id="isResponseOK" name="is Response Ok?" default="badSynchronousResponse"> + <bpmn2:incoming>SequenceFlow_15</bpmn2:incoming> + <bpmn2:outgoing>badSynchronousResponse</bpmn2:outgoing> + <bpmn2:outgoing>goodSynchronousResponse</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:sequenceFlow id="badSynchronousResponse" name="Bad synchronous response" sourceRef="isResponseOK" targetRef="setBadResponse" /> + <bpmn2:sequenceFlow id="goodSynchronousResponse" name="Good synchronous response" sourceRef="isResponseOK" targetRef="resetCallbackRequest"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("SDNCA_ResponseCode")=='200'}]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:scriptTask id="setBadResponse" name="Set Bad Response
Exception" scriptFormat="groovy"> + <bpmn2:incoming>badSynchronousResponse</bpmn2:incoming> + <bpmn2:outgoing>Exception</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* + +int responseCode = execution.getVariable("SDNCA_ResponseCode") +ExceptionUtil exceptionUtil = new ExceptionUtil() +exceptionUtil.buildWorkflowException(execution, 7000, "Could not communicate with the SDNC Adapter" )]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="Exception" name="Exception" sourceRef="setBadResponse" targetRef="badResponseEndFlow" /> + <bpmn2:serviceTask id="invokeSDNCAdapter" name="Invoke SDNC Adapter" camunda:class=""> + <bpmn2:extensionElements> + <camunda:connector> + <camunda:inputOutput> + <camunda:inputParameter name="url">${URN_mso_adapters_sdnc_endpoint}</camunda:inputParameter> + <camunda:inputParameter name="method">POST</camunda:inputParameter> + <camunda:inputParameter name="headers"> + <camunda:map> + <camunda:entry key="content-type">application/soap+xml</camunda:entry> + <camunda:entry key="Authorization">#{BasicAuthHeaderValue}</camunda:entry> + </camunda:map> + </camunda:inputParameter> + <camunda:inputParameter name="payload">${sdncAdapterRequest}</camunda:inputParameter> + <camunda:outputParameter name="sdncAdapterWorkflowResponse">${response}</camunda:outputParameter> + <camunda:outputParameter name="SDNCA_ResponseCode">${statusCode}</camunda:outputParameter> + </camunda:inputOutput> + <camunda:connectorId>soap-http-connector</camunda:connectorId> + </camunda:connector> + </bpmn2:extensionElements> + <bpmn2:incoming>SequenceFlow_8</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_15</bpmn2:outgoing> + </bpmn2:serviceTask> + <bpmn2:sequenceFlow id="SequenceFlow_15" sourceRef="invokeSDNCAdapter" targetRef="isResponseOK" /> + <bpmn2:endEvent id="badResponseEndFlow" name="Bad Response End Flow"> + <bpmn2:incoming>Exception</bpmn2:incoming> + <bpmn2:errorEventDefinition id="_ErrorEventDefinition_77" errorRef="Error_3" /> + </bpmn2:endEvent> + <bpmn2:startEvent id="SDNCAdapter_Start" name="Incoming Message"> + <bpmn2:outgoing>SequenceFlow_1</bpmn2:outgoing> + <bpmn2:messageEventDefinition id="_MessageEventDefinition_3" messageRef="Message_1" /> + </bpmn2:startEvent> + <bpmn2:sequenceFlow id="SequenceFlow_1" sourceRef="SDNCAdapter_Start" targetRef="processMessage" /> + <bpmn2:scriptTask id="processMessage" name="Process message" scriptFormat="groovy"> + <bpmn2:extensionElements> + <camunda:inputOutput> + <camunda:inputParameter name="ScriptObject"> + <camunda:map> + <camunda:entry key="MethodName">massageSDNCRequestScript</camunda:entry> + <camunda:entry key="Params" /> + </camunda:map> + </camunda:inputParameter> + </camunda:inputOutput> + </bpmn2:extensionElements> + <bpmn2:incoming>SequenceFlow_1</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_8</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +def sdnc= new SDNCAdapter() +sdnc.preProcessRequest(execution) +]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_8" sourceRef="processMessage" targetRef="invokeSDNCAdapter" /> + <bpmn2:exclusiveGateway id="timeOutCheck"> + <bpmn2:incoming>SequenceFlow_9</bpmn2:incoming> + <bpmn2:incoming>timeOut</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_29</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:scriptTask id="returnWorkflowResult" name="Return workflow result" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_29</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_14</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +def sdnc= new SDNCAdapter() +sdnc.postProcessResponse(execution) +]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_14" sourceRef="returnWorkflowResult" targetRef="timeoutError" /> + <bpmn2:exclusiveGateway id="timeoutError" name="Did Timeout occur?" default="noTimeoutError"> + <bpmn2:incoming>SequenceFlow_14</bpmn2:incoming> + <bpmn2:outgoing>noTimeoutError</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_19</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:sequenceFlow id="noTimeoutError" name="No Timeout" sourceRef="timeoutError" targetRef="ExclusiveGateway_1" /> + <bpmn2:sequenceFlow id="SequenceFlow_19" name="Timeout" sourceRef="timeoutError" targetRef="setTimeoutEx"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("asynchronousResponseTimeout")==true}]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:subProcess id="SubProcess" name="Wait for asynchronous message"> + <bpmn2:incoming>SequenceFlow_2</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_9</bpmn2:outgoing> + <bpmn2:endEvent id="eEndEventSubprocess" name="End Event Subprocess"> + <bpmn2:incoming>SequenceFlow_16</bpmn2:incoming> + <bpmn2:terminateEventDefinition id="_TerminateEventDefinition_2" /> + </bpmn2:endEvent> + <bpmn2:startEvent id="StartEvent" name="Start Event"> + <bpmn2:outgoing>SequenceFlow_18</bpmn2:outgoing> + </bpmn2:startEvent> + <bpmn2:sequenceFlow id="SequenceFlow_18" sourceRef="StartEvent" targetRef="IntermediateCatchEvent" /> + <bpmn2:intermediateCatchEvent id="IntermediateCatchEvent" name="Catch Event"> + <bpmn2:incoming>SequenceFlow_18</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_16</bpmn2:outgoing> + <bpmn2:messageEventDefinition id="MessageEventDefinition_2" messageRef="Message_2" /> + </bpmn2:intermediateCatchEvent> + <bpmn2:sequenceFlow id="SequenceFlow_16" sourceRef="IntermediateCatchEvent" targetRef="eEndEventSubprocess" /> + </bpmn2:subProcess> + <bpmn2:sequenceFlow id="SequenceFlow_9" sourceRef="SubProcess" targetRef="timeOutCheck" /> + <bpmn2:boundaryEvent id="BoundaryEvent_1" name="Boundary Event" attachedToRef="SubProcess"> + <bpmn2:outgoing>timeOut</bpmn2:outgoing> + <bpmn2:timerEventDefinition id="TimerEventDefinition_1"> + <bpmn2:timeDuration xsi:type="bpmn2:tFormalExpression">${sdncTimeoutValue}</bpmn2:timeDuration> + </bpmn2:timerEventDefinition> + </bpmn2:boundaryEvent> + <bpmn2:sequenceFlow id="timeOut" name="Timed out" sourceRef="BoundaryEvent_1" targetRef="timeOutCheck" /> + <bpmn2:scriptTask id="setTimeoutEx" name="Set Timeout
Exception" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_19</bpmn2:incoming> + <bpmn2:outgoing>Error</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +ExceptionUtil exceptionUtil = new ExceptionUtil() +exceptionUtil.buildWorkflowException(execution, 500, "SDNC Callback Timeout Error" ) + +]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="Error" name="Error" sourceRef="setTimeoutEx" targetRef="endEventException" /> + <bpmn2:endEvent id="endEventException" name="Timeout Exception"> + <bpmn2:incoming>Error</bpmn2:incoming> + </bpmn2:endEvent> + <bpmn2:sequenceFlow id="SequenceFlow_29" name="" sourceRef="timeOutCheck" targetRef="returnWorkflowResult" /> + <bpmn2:scriptTask id="resetCallbackRequest" name="Reset callback request and set timer value" scriptFormat="groovy"> + <bpmn2:incoming>goodSynchronousResponse</bpmn2:incoming> + <bpmn2:incoming>SequenceFlow_26</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_2</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +def sdnc= new SDNCAdapter() +sdnc.resetCallbackRequest(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_2" name="" sourceRef="resetCallbackRequest" targetRef="SubProcess" /> + <bpmn2:exclusiveGateway id="ExclusiveGateway_1" name="Check final indicator" default="Done"> + <bpmn2:incoming>noTimeoutError</bpmn2:incoming> + <bpmn2:outgoing>Done</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_30</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:sequenceFlow id="Done" name="Done" sourceRef="ExclusiveGateway_1" targetRef="toggleSuccessIndicator" /> + <bpmn2:sequenceFlow id="SequenceFlow_30" name="Not Done" sourceRef="ExclusiveGateway_1" targetRef="ParallelGateway_3"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("continueListening")==true}]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:scriptTask id="toggleSuccessIndicator" name="Toggle Success Indicator" scriptFormat="groovy"> + <bpmn2:incoming>Done</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_17</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +def sdnc= new SDNCAdapter() +sdnc.toggleSuccessIndicator(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_17" name="" sourceRef="toggleSuccessIndicator" targetRef="endEventFlow" /> + <bpmn2:endEvent id="endEventFlow" name="End Event Flow"> + <bpmn2:extensionElements> + <camunda:connector> + <camunda:inputOutput> + <camunda:outputParameter name="sdncAdapterResponse">${sdncAdapterWorkflowResponse}</camunda:outputParameter> + </camunda:inputOutput> + </camunda:connector> + </bpmn2:extensionElements> + <bpmn2:incoming>SequenceFlow_17</bpmn2:incoming> + <bpmn2:messageEventDefinition id="_MessageEventDefinition_6" /> + </bpmn2:endEvent> + <bpmn2:parallelGateway id="ParallelGateway_3"> + <bpmn2:incoming>SequenceFlow_30</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_21</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_26</bpmn2:outgoing> + </bpmn2:parallelGateway> + <bpmn2:sequenceFlow id="SequenceFlow_21" name="" sourceRef="ParallelGateway_3" targetRef="toggleSuccess" /> + <bpmn2:sequenceFlow id="SequenceFlow_26" name="Continue listening for asynchronous message" sourceRef="ParallelGateway_3" targetRef="resetCallbackRequest" /> + <bpmn2:subProcess id="errorHandlingSubProcess" name="Error Handling Sub Process" triggeredByEvent="true"> + <bpmn2:startEvent id="catchErrors" name="Catch"> + <bpmn2:outgoing>SequenceFlow_22</bpmn2:outgoing> + <bpmn2:errorEventDefinition id="_ErrorEventDefinition_78" errorRef="Error_3" /> + </bpmn2:startEvent> + <bpmn2:sequenceFlow id="SequenceFlow_22" name="" sourceRef="catchErrors" targetRef="assignError" /> + <bpmn2:scriptTask id="assignError" name="Assign Error" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_22</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_27</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +def sdnc= new SDNCAdapter() +sdnc.assignError(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_27" name="" sourceRef="assignError" targetRef="EndEvent_5" /> + <bpmn2:endEvent id="EndEvent_5"> + <bpmn2:incoming>SequenceFlow_27</bpmn2:incoming> + </bpmn2:endEvent> + </bpmn2:subProcess> + <bpmn2:scriptTask id="toggleSuccess" name="Toggle Success Indicator" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_21</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_15c4h5f</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +def sdnc= new SDNCAdapter() +sdnc.toggleSuccessIndicator(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:endEvent id="EndEvent_1"> + <bpmn2:incoming>SequenceFlow_15c4h5f</bpmn2:incoming> + </bpmn2:endEvent> + <bpmn2:sequenceFlow id="SequenceFlow_15c4h5f" sourceRef="toggleSuccess" targetRef="EndEvent_1" /> + </bpmn2:process> + <bpmn2:message id="Message_1" name="sdncAdapterWorkflowRequest" /> + <bpmn2:message id="Message_2" name="sdncAdapterCallbackRequest" /> + <bpmn2:error id="Error_3" name="MSO Workflow Exception" errorCode="MSOWorkflowException" /> + <bpmn2:signal id="Signal_1" name="InterimStatus" /> + <bpmn2:error id="Error_2" name="Java Lang Exception" errorCode="java.lang.Exception" /> + <bpmndi:BPMNDiagram id="BPMNDiagram_1"> + <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="sdncAdapter"> + <bpmndi:BPMNShape id="_BPMNShape_StartEvent_33" bpmnElement="SDNCAdapter_Start"> + <dc:Bounds x="111" y="161" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="72" y="202" width="115" height="22" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ServiceTask_62" bpmnElement="invokeSDNCAdapter"> + <dc:Bounds x="342" y="139" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_29" bpmnElement="isResponseOK" isMarkerVisible="true"> + <dc:Bounds x="519" y="153" width="50" height="50" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="569" y="182" width="106" height="22" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_EndEvent_64" bpmnElement="endEventFlow"> + <dc:Bounds x="1560" y="366" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1595" y="373" width="96" height="22" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_EndEvent_65" bpmnElement="badResponseEndFlow"> + <dc:Bounds x="762" y="104" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="804" y="111" width="149" height="22" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_5" bpmnElement="badSynchronousResponse" sourceElement="_BPMNShape_ExclusiveGateway_29" targetElement="_BPMNShape_ScriptTask_24"> + <di:waypoint xsi:type="dc:Point" x="544" y="153" /> + <di:waypoint xsi:type="dc:Point" x="544" y="122" /> + <di:waypoint xsi:type="dc:Point" x="600" y="122" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="441" y="99" width="164" height="22" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_1" bpmnElement="SequenceFlow_1" sourceElement="_BPMNShape_StartEvent_33" targetElement="_BPMNShape_ScriptTask_3"> + <di:waypoint xsi:type="dc:Point" x="147" y="179" /> + <di:waypoint xsi:type="dc:Point" x="194" y="179" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="171" y="179" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_4" bpmnElement="goodSynchronousResponse" sourceElement="_BPMNShape_ExclusiveGateway_29" targetElement="_BPMNShape_ScriptTask_27"> + <di:waypoint xsi:type="dc:Point" x="544" y="203" /> + <di:waypoint xsi:type="dc:Point" x="544" y="246" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="459" y="208" width="172" height="22" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_ServiceTask_68" bpmnElement="returnWorkflowResult"> + <dc:Bounds x="1104" y="237" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_3" bpmnElement="processMessage"> + <dc:Bounds x="194" y="139" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_8" bpmnElement="SequenceFlow_8" sourceElement="_BPMNShape_ScriptTask_3" targetElement="_BPMNShape_ServiceTask_62"> + <di:waypoint xsi:type="dc:Point" x="294" y="179" /> + <di:waypoint xsi:type="dc:Point" x="342" y="179" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="300" y="153" width="30" height="22" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_14" bpmnElement="SequenceFlow_14" sourceElement="_BPMNShape_ServiceTask_68" targetElement="_BPMNShape_ExclusiveGateway_53"> + <di:waypoint xsi:type="dc:Point" x="1204" y="277" /> + <di:waypoint xsi:type="dc:Point" x="1248" y="276" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1211" y="251" width="37" height="22" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_15" bpmnElement="SequenceFlow_15" sourceElement="_BPMNShape_ServiceTask_62" targetElement="_BPMNShape_ExclusiveGateway_29"> + <di:waypoint xsi:type="dc:Point" x="442" y="179" /> + <di:waypoint xsi:type="dc:Point" x="480" y="179" /> + <di:waypoint xsi:type="dc:Point" x="480" y="178" /> + <di:waypoint xsi:type="dc:Point" x="519" y="178" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="468" y="153" width="37" height="22" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_IntermediateCatchEvent_16" bpmnElement="IntermediateCatchEvent"> + <dc:Bounds x="764" y="259" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="714" y="294" width="76" height="22" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_SubProcess_11" bpmnElement="SubProcess" isExpanded="true"> + <dc:Bounds x="624" y="228" width="314" height="97" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_StartEvent_38" bpmnElement="StartEvent"> + <dc:Bounds x="660" y="259" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="627" y="294" width="70" height="22" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_EndEvent_90" bpmnElement="eEndEventSubprocess"> + <dc:Bounds x="865" y="259" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="805" y="294" width="138" height="22" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_9" bpmnElement="SequenceFlow_9" sourceElement="_BPMNShape_SubProcess_11" targetElement="_BPMNShape_ExclusiveGateway_51"> + <di:waypoint xsi:type="dc:Point" x="938" y="276" /> + <di:waypoint xsi:type="dc:Point" x="996" y="276" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="967" y="254" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_BoundaryEvent_21" bpmnElement="BoundaryEvent_1"> + <dc:Bounds x="781" y="307" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="704" y="340" width="97" height="22" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_EndEvent_91" bpmnElement="endEventException"> + <dc:Bounds x="1488" y="74" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1523" y="81" width="114" height="22" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_2" bpmnElement="timeOut" sourceElement="_BPMNShape_BoundaryEvent_21" targetElement="_BPMNShape_ExclusiveGateway_51"> + <di:waypoint xsi:type="dc:Point" x="799" y="343" /> + <di:waypoint xsi:type="dc:Point" x="799" y="365" /> + <di:waypoint xsi:type="dc:Point" x="1021" y="365" /> + <di:waypoint xsi:type="dc:Point" x="1021" y="301" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="874" y="340" width="63" height="22" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_24" bpmnElement="setBadResponse"> + <dc:Bounds x="600" y="82" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_3" bpmnElement="Exception" sourceElement="_BPMNShape_ScriptTask_24" targetElement="_BPMNShape_EndEvent_65"> + <di:waypoint xsi:type="dc:Point" x="700" y="122" /> + <di:waypoint xsi:type="dc:Point" x="762" y="122" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="699" y="99" width="64" height="22" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_25" bpmnElement="setTimeoutEx"> + <dc:Bounds x="1299" y="52" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_11" bpmnElement="Error" sourceElement="_BPMNShape_ScriptTask_25" targetElement="_BPMNShape_EndEvent_91"> + <di:waypoint xsi:type="dc:Point" x="1399" y="92" /> + <di:waypoint xsi:type="dc:Point" x="1488" y="92" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1416" y="70" width="34" height="22" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_16" bpmnElement="SequenceFlow_16" sourceElement="_BPMNShape_IntermediateCatchEvent_16" targetElement="_BPMNShape_EndEvent_90"> + <di:waypoint xsi:type="dc:Point" x="800" y="277" /> + <di:waypoint xsi:type="dc:Point" x="865" y="277" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="822" y="259" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_18" bpmnElement="SequenceFlow_18" sourceElement="_BPMNShape_StartEvent_38" targetElement="_BPMNShape_IntermediateCatchEvent_16"> + <di:waypoint xsi:type="dc:Point" x="696" y="277" /> + <di:waypoint xsi:type="dc:Point" x="764" y="277" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="718" y="259" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_51" bpmnElement="timeOutCheck" isMarkerVisible="true"> + <dc:Bounds x="996" y="251" width="50" height="50" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="982" y="228" width="81" height="22" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_53" bpmnElement="timeoutError" isMarkerVisible="true"> + <dc:Bounds x="1248" y="251" width="50" height="50" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1300" y="266" width="118" height="22" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_17" bpmnElement="noTimeoutError" sourceElement="_BPMNShape_ExclusiveGateway_53" targetElement="_BPMNShape_ExclusiveGateway_54"> + <di:waypoint xsi:type="dc:Point" x="1273" y="301" /> + <di:waypoint xsi:type="dc:Point" x="1273" y="359" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1280" y="324" width="72" height="22" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_19" bpmnElement="SequenceFlow_19" sourceElement="_BPMNShape_ExclusiveGateway_53" targetElement="_BPMNShape_ScriptTask_25"> + <di:waypoint xsi:type="dc:Point" x="1273" y="251" /> + <di:waypoint xsi:type="dc:Point" x="1273" y="92" /> + <di:waypoint xsi:type="dc:Point" x="1299" y="92" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1280" y="168" width="82" height="22" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_54" bpmnElement="ExclusiveGateway_1" isMarkerVisible="true"> + <dc:Bounds x="1248" y="359" width="50" height="50" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1127" y="373" width="123" height="22" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_7" bpmnElement="Done" sourceElement="_BPMNShape_ExclusiveGateway_54" targetElement="_BPMNShape_ScriptTask_247"> + <di:waypoint xsi:type="dc:Point" x="1298" y="384" /> + <di:waypoint xsi:type="dc:Point" x="1383" y="384" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1316" y="384" width="36" height="22" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_27" bpmnElement="resetCallbackRequest"> + <dc:Bounds x="494" y="246" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_12" bpmnElement="SequenceFlow_2" sourceElement="_BPMNShape_ScriptTask_27" targetElement="_BPMNShape_SubProcess_11"> + <di:waypoint xsi:type="dc:Point" x="594" y="286" /> + <di:waypoint xsi:type="dc:Point" x="609" y="286" /> + <di:waypoint xsi:type="dc:Point" x="624" y="285" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="607" y="286" width="6" height="6" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_37" bpmnElement="SequenceFlow_29" sourceElement="_BPMNShape_ExclusiveGateway_51" targetElement="_BPMNShape_ServiceTask_68"> + <di:waypoint xsi:type="dc:Point" x="1046" y="276" /> + <di:waypoint xsi:type="dc:Point" x="1075" y="276" /> + <di:waypoint xsi:type="dc:Point" x="1075" y="277" /> + <di:waypoint xsi:type="dc:Point" x="1104" y="277" /> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_38" bpmnElement="SequenceFlow_30" sourceElement="_BPMNShape_ExclusiveGateway_54" targetElement="_BPMNShape_ParallelGateway_14"> + <di:waypoint xsi:type="dc:Point" x="1273" y="409" /> + <di:waypoint xsi:type="dc:Point" x="1273" y="467" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1273" y="423" width="60" height="22" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_ParallelGateway_14" bpmnElement="ParallelGateway_3"> + <dc:Bounds x="1248" y="467" width="50" height="50" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1273" y="522" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_28" bpmnElement="SequenceFlow_21" sourceElement="_BPMNShape_ParallelGateway_14" targetElement="_BPMNShape_ScriptTask_255"> + <di:waypoint xsi:type="dc:Point" x="1273" y="517" /> + <di:waypoint xsi:type="dc:Point" x="1274" y="552" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1270" y="533" width="6" height="6" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_EndEvent_96" bpmnElement="EndEvent_1"> + <dc:Bounds x="1255" y="677" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1273" y="718" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_33" bpmnElement="SequenceFlow_26" sourceElement="_BPMNShape_ParallelGateway_14" targetElement="_BPMNShape_ScriptTask_27"> + <di:waypoint xsi:type="dc:Point" x="1248" y="492" /> + <di:waypoint xsi:type="dc:Point" x="544" y="492" /> + <di:waypoint xsi:type="dc:Point" x="544" y="326" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="684" y="467" width="269" height="22" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_247" bpmnElement="toggleSuccessIndicator"> + <dc:Bounds x="1383" y="344" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_26" bpmnElement="SequenceFlow_17" sourceElement="_BPMNShape_ScriptTask_247" targetElement="_BPMNShape_EndEvent_64"> + <di:waypoint xsi:type="dc:Point" x="1483" y="384" /> + <di:waypoint xsi:type="dc:Point" x="1560" y="384" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1499" y="384" width="6" height="6" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_SubProcess_19" bpmnElement="errorHandlingSubProcess" isExpanded="true"> + <dc:Bounds x="248" y="866" width="353" height="193" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_StartEvent_63" bpmnElement="catchErrors"> + <dc:Bounds x="283" y="945" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="281" y="986" width="40" height="22" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_EndEvent_213" bpmnElement="EndEvent_5"> + <dc:Bounds x="523" y="945" width="36" height="36" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="541" y="986" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_249" bpmnElement="assignError"> + <dc:Bounds x="367" y="923" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_29" bpmnElement="SequenceFlow_22" sourceElement="_BPMNShape_StartEvent_63" targetElement="_BPMNShape_ScriptTask_249"> + <di:waypoint xsi:type="dc:Point" x="319" y="963" /> + <di:waypoint xsi:type="dc:Point" x="367" y="963" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="346" y="963" width="6" height="6" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_34" bpmnElement="SequenceFlow_27" sourceElement="_BPMNShape_ScriptTask_249" targetElement="_BPMNShape_EndEvent_213"> + <di:waypoint xsi:type="dc:Point" x="467" y="963" /> + <di:waypoint xsi:type="dc:Point" x="523" y="963" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="492" y="963" width="6" height="6" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_255" bpmnElement="toggleSuccess"> + <dc:Bounds x="1224" y="552" width="100" height="80" /> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="SequenceFlow_15c4h5f_di" bpmnElement="SequenceFlow_15c4h5f"> + <di:waypoint xsi:type="dc:Point" x="1274" y="632" /> + <di:waypoint xsi:type="dc:Point" x="1273" y="677" /> + <bpmndi:BPMNLabel> + <dc:Bounds x="1274" y="629.5" width="0" height="0" /> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + </bpmndi:BPMNPlane> + </bpmndi:BPMNDiagram> +</bpmn2:definitions> diff --git a/bpmn/MSOCommonBPMN/src/main/resources/subprocess/UpdateAAIGenericVnf.bpmn b/bpmn/MSOCommonBPMN/src/main/resources/subprocess/UpdateAAIGenericVnf.bpmn new file mode 100644 index 0000000..0932221 --- /dev/null +++ b/bpmn/MSOCommonBPMN/src/main/resources/subprocess/UpdateAAIGenericVnf.bpmn @@ -0,0 +1,216 @@ +<?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" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd" id="_Wblj8GyfEeWUWLTvug7ZOg" exporter="camunda modeler" exporterVersion="2.7.0" targetNamespace="http://camunda.org/schema/1.0/bpmn"> + <bpmn2:process id="UpdateAAIGenericVnf" name="UpdateAAIGenericVnf" isExecutable="true"> + <bpmn2:documentation>This flow expects its incoming request to be in the variable 'UpdateAAIGenericVnfRequest'. This flow produces no output.</bpmn2:documentation> + <bpmn2:scriptTask id="QueryAAIForGenericVNF" name="Query AAI for Generic VNF" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_38</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_39</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +def ugv = new UpdateAAIGenericVnf() +ugv.getGenericVnf(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_39" name="" sourceRef="QueryAAIForGenericVNF" targetRef="ExclusiveGateway_3"/> + <bpmn2:endEvent id="EndEvent_2"> + <bpmn2:incoming>SequenceFlow_8</bpmn2:incoming> + <bpmn2:errorEventDefinition id="_ErrorEventDefinition_50" errorRef="Error_1"/> + </bpmn2:endEvent> + <bpmn2:exclusiveGateway id="ExclusiveGateway_1" default="SequenceFlow_4"> + <bpmn2:incoming>SequenceFlow_14</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_13</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_4</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:sequenceFlow id="SequenceFlow_13" sourceRef="ExclusiveGateway_1" targetRef="EndEvent_4"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression">#{execution.getVariable('UAAIGenVnf_updateGenericVnfResponseCode') == 200}</bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_4" name="Update Generic VNF Failure" sourceRef="ExclusiveGateway_1" targetRef="HandleUpdateGenericVNFFailure"/> + <bpmn2:scriptTask id="HandleUpdateGenericVNFFailure" name="Handle Update Generic VNF Failure" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_4</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_8</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +def ugv = new UpdateAAIGenericVnf() +ugv.handleUpdateGenericVnfFailure(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_8" name="" sourceRef="HandleUpdateGenericVNFFailure" targetRef="EndEvent_2"/> + <bpmn2:endEvent id="EndEvent_4" name="TheEnd"> + <bpmn2:extensionElements> + <camunda:connector> + <camunda:inputOutput> + <camunda:outputParameter name="CreateCustomerV1Response"><![CDATA[<aetgt:CreateCustomerResponse xmlns:aetgt="http://org.openecomp/mso/workflow/schema/v1" xmlns:ns="http://org.openecomp/mso/workflow/schema/v1"> + <ns:GlobalCustomerId>${CCV1_subscriberglobalid}</ns:GlobalCustomerId> + </aetgt:CreateCustomerResponse>]]></camunda:outputParameter> + </camunda:inputOutput> + </camunda:connector> + </bpmn2:extensionElements> + <bpmn2:incoming>SequenceFlow_13</bpmn2:incoming> + </bpmn2:endEvent> + <bpmn2:scriptTask id="UpdateGenericVNF" name="Update Generic VNF" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_22</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_14</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +def ugv = new UpdateAAIGenericVnf() +ugv.updateGenericVnf(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_14" name="" sourceRef="UpdateGenericVNF" targetRef="ExclusiveGateway_1"/> + <bpmn2:exclusiveGateway id="ExclusiveGateway_3" default="SequenceFlow_23"> + <bpmn2:incoming>SequenceFlow_39</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_22</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_23</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:sequenceFlow id="SequenceFlow_22" name="" sourceRef="ExclusiveGateway_3" targetRef="UpdateGenericVNF"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression">#{execution.getVariable('UAAIGenVnf_getGenericVnfResponseCode') == 200}</bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_23" name="AAI Query failure or
Generic VNF not found" sourceRef="ExclusiveGateway_3" targetRef="AAIQueryFailure"/> + <bpmn2:scriptTask id="AAIQueryFailure" name="Handle AAI Query Failure" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_23</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_18</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +def ugv = new UpdateAAIGenericVnf() +ugv.handleAAIQueryFailure(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_18" name="" sourceRef="AAIQueryFailure" targetRef="EndEvent_7"/> + <bpmn2:endEvent id="EndEvent_7"> + <bpmn2:incoming>SequenceFlow_18</bpmn2:incoming> + <bpmn2:errorEventDefinition id="_ErrorEventDefinition_68" errorRef="Error_1"/> + </bpmn2:endEvent> + <bpmn2:startEvent id="StartEvent_1" name="Start"> + <bpmn2:outgoing>SequenceFlow_1</bpmn2:outgoing> + </bpmn2:startEvent> + <bpmn2:sequenceFlow id="SequenceFlow_1" name="" sourceRef="StartEvent_1" targetRef="ProcessReceivedRequest"/> + <bpmn2:scriptTask id="ProcessReceivedRequest" name="Process Received Request" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_1</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_38</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +def ugv = new UpdateAAIGenericVnf() +ugv.preProcessRequest(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_38" name="" sourceRef="ProcessReceivedRequest" targetRef="QueryAAIForGenericVNF"/> + </bpmn2:process> + <bpmn2:error id="Error_1" errorCode="MSOWorkflowException" name="MSO Workflow Exception"/> + <bpmndi:BPMNDiagram id="BPMNDiagram_1"> + <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="UpdateAAIGenericVnf"> + <bpmndi:BPMNShape id="_BPMNShape_StartEvent_37" bpmnElement="StartEvent_1"> + <dc:Bounds height="36.0" width="36.0" x="43.0" y="212.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="22.0" width="34.0" x="44.0" y="253.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_22" bpmnElement="ProcessReceivedRequest"> + <dc:Bounds height="80.0" width="100.0" x="168.0" y="190.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_1" bpmnElement="SequenceFlow_1" sourceElement="_BPMNShape_StartEvent_37" targetElement="_BPMNShape_ScriptTask_22"> + <di:waypoint xsi:type="dc:Point" x="79.0" y="230.0"/> + <di:waypoint xsi:type="dc:Point" x="168.0" y="230.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="101.0" y="230.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_Task_2" bpmnElement="UpdateGenericVNF"> + <dc:Bounds height="80.0" width="100.0" x="683.0" y="190.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_EndEvent_92" bpmnElement="EndEvent_4"> + <dc:Bounds height="36.0" width="36.0" x="984.0" y="214.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="22.0" width="50.0" x="977.0" y="255.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_54" bpmnElement="ExclusiveGateway_1" isMarkerVisible="true"> + <dc:Bounds height="50.0" width="50.0" x="840.0" y="206.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="865.0" y="261.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_14" bpmnElement="SequenceFlow_13" sourceElement="_BPMNShape_ExclusiveGateway_54" targetElement="_BPMNShape_EndEvent_92"> + <di:waypoint xsi:type="dc:Point" x="890.0" y="231.0"/> + <di:waypoint xsi:type="dc:Point" x="984.0" y="232.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="904.0" y="231.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_EndEvent_120" bpmnElement="EndEvent_2"> + <dc:Bounds height="36.0" width="36.0" x="848.0" y="0.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="866.0" y="41.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_86" bpmnElement="ExclusiveGateway_3" isMarkerVisible="true"> + <dc:Bounds height="50.0" width="50.0" x="500.0" y="204.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="525.0" y="259.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_23" bpmnElement="SequenceFlow_22" sourceElement="_BPMNShape_ExclusiveGateway_86" targetElement="_BPMNShape_Task_2"> + <di:waypoint xsi:type="dc:Point" x="550.0" y="229.0"/> + <di:waypoint xsi:type="dc:Point" x="683.0" y="230.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="565.0" y="229.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_155" bpmnElement="AAIQueryFailure"> + <dc:Bounds height="80.0" width="100.0" x="476.0" y="60.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_24" bpmnElement="SequenceFlow_23" sourceElement="_BPMNShape_ExclusiveGateway_86" targetElement="_BPMNShape_ScriptTask_155"> + <di:waypoint xsi:type="dc:Point" x="525.0" y="204.0"/> + <di:waypoint xsi:type="dc:Point" x="525.0" y="190.0"/> + <di:waypoint xsi:type="dc:Point" x="526.0" y="190.0"/> + <di:waypoint xsi:type="dc:Point" x="526.0" y="140.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="38.0" width="142.0" x="543.0" y="149.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_EndEvent_160" bpmnElement="EndEvent_7"> + <dc:Bounds height="36.0" width="36.0" x="508.0" y="0.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="526.0" y="41.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_18" bpmnElement="SequenceFlow_18" sourceElement="_BPMNShape_ScriptTask_155" targetElement="_BPMNShape_EndEvent_160"> + <di:waypoint xsi:type="dc:Point" x="526.0" y="60.0"/> + <di:waypoint xsi:type="dc:Point" x="526.0" y="36.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="523.0" y="49.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_160" bpmnElement="QueryAAIForGenericVNF"> + <dc:Bounds height="80.0" width="100.0" x="336.0" y="190.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_38" bpmnElement="SequenceFlow_38" sourceElement="_BPMNShape_ScriptTask_22" targetElement="_BPMNShape_ScriptTask_160"> + <di:waypoint xsi:type="dc:Point" x="268.0" y="230.0"/> + <di:waypoint xsi:type="dc:Point" x="336.0" y="230.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="288.0" y="230.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_39" bpmnElement="SequenceFlow_39" sourceElement="_BPMNShape_ScriptTask_160" targetElement="_BPMNShape_ExclusiveGateway_86"> + <di:waypoint xsi:type="dc:Point" x="436.0" y="230.0"/> + <di:waypoint xsi:type="dc:Point" x="500.0" y="229.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="450.0" y="230.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_161" bpmnElement="HandleUpdateGenericVNFFailure"> + <dc:Bounds height="80.0" width="100.0" x="816.0" y="60.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_6" bpmnElement="SequenceFlow_8" sourceElement="_BPMNShape_ScriptTask_161" targetElement="_BPMNShape_EndEvent_120"> + <di:waypoint xsi:type="dc:Point" x="866.0" y="60.0"/> + <di:waypoint xsi:type="dc:Point" x="866.0" y="36.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="863.0" y="51.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_13" bpmnElement="SequenceFlow_14" sourceElement="_BPMNShape_Task_2" targetElement="_BPMNShape_ExclusiveGateway_54"> + <di:waypoint xsi:type="dc:Point" x="783.0" y="230.0"/> + <di:waypoint xsi:type="dc:Point" x="840.0" y="231.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="813.0" y="231.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_3" bpmnElement="SequenceFlow_4" sourceElement="_BPMNShape_ExclusiveGateway_54" targetElement="_BPMNShape_ScriptTask_161"> + <di:waypoint xsi:type="dc:Point" x="865.0" y="206.0"/> + <di:waypoint xsi:type="dc:Point" x="866.0" y="140.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="22.0" width="169.0" x="867.0" y="157.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + </bpmndi:BPMNPlane> + </bpmndi:BPMNDiagram> +</bpmn2:definitions>
\ No newline at end of file diff --git a/bpmn/MSOCommonBPMN/src/main/resources/subprocess/UpdateAAIVfModule.bpmn b/bpmn/MSOCommonBPMN/src/main/resources/subprocess/UpdateAAIVfModule.bpmn new file mode 100644 index 0000000..6eacaee --- /dev/null +++ b/bpmn/MSOCommonBPMN/src/main/resources/subprocess/UpdateAAIVfModule.bpmn @@ -0,0 +1,224 @@ +<?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" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd" id="_Wblj8GyfEeWUWLTvug7ZOg" exporter="camunda modeler" exporterVersion="2.7.0" targetNamespace="http://camunda.org/schema/1.0/bpmn"> + <bpmn2:process id="UpdateAAIVfModule" name="UpdateAAIVfModule" isExecutable="true"> + <bpmn2:documentation>This flow expects its incoming request to be in the variable 'UpdateAAIVfModuleRequest'. This flow produces no output.</bpmn2:documentation> + <bpmn2:scriptTask id="QueryAAIForVfModule" name="Query AAI for VF Module" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_38</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_39</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +def uvm = new UpdateAAIVfModule() +uvm.getVfModule(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_39" name="" sourceRef="QueryAAIForVfModule" targetRef="ExclusiveGateway_3"/> + <bpmn2:endEvent id="EndEvent_7"> + <bpmn2:incoming>SequenceFlow_18</bpmn2:incoming> + <bpmn2:errorEventDefinition id="_ErrorEventDefinition_68" errorRef="Error_1"/> + </bpmn2:endEvent> + <bpmn2:scriptTask id="AAIQueryFailure" name="Handle AAI Query Failure" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_23</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_18</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +def uvm= new UpdateAAIVfModule() +uvm.handleAAIQueryFailure(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_18" name="" sourceRef="AAIQueryFailure" targetRef="EndEvent_7"/> + <bpmn2:endEvent id="EndEvent_2"> + <bpmn2:incoming>SequenceFlow_8</bpmn2:incoming> + <bpmn2:errorEventDefinition id="_ErrorEventDefinition_50" errorRef="Error_1"/> + </bpmn2:endEvent> + <bpmn2:endEvent id="EndEvent_4" name="TheEnd"> + <bpmn2:extensionElements> + <camunda:connector> + <camunda:inputOutput> + <camunda:outputParameter name="CreateCustomerV1Response"><![CDATA[<aetgt:CreateCustomerResponse xmlns:aetgt="http://org.openecomp/mso/workflow/schema/v1" xmlns:ns="http://org.openecomp/mso/workflow/schema/v1"> + <ns:GlobalCustomerId>${CCV1_subscriberglobalid}</ns:GlobalCustomerId> + </aetgt:CreateCustomerResponse>]]></camunda:outputParameter> + </camunda:inputOutput> + </camunda:connector> + </bpmn2:extensionElements> + <bpmn2:incoming>SequenceFlow_13</bpmn2:incoming> + </bpmn2:endEvent> + <bpmn2:exclusiveGateway id="ExclusiveGateway_3" default="SequenceFlow_23"> + <bpmn2:incoming>SequenceFlow_39</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_22</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_23</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:sequenceFlow id="SequenceFlow_22" name="" sourceRef="ExclusiveGateway_3" targetRef="UpdateVfModule"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression">#{execution.getVariable('UAAIVfMod_getVfModuleResponseCode') == 200}</bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_23" name="AAI Query failure or
VF Module not found" sourceRef="ExclusiveGateway_3" targetRef="AAIQueryFailure"/> + <bpmn2:scriptTask id="HandleUpdateVfModuleFailure" name="Handle Update VF Module Failure" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_4</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_8</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +def uvm= new UpdateAAIVfModule() +uvm.handleUpdateVfModuleFailure(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_8" name="" sourceRef="HandleUpdateVfModuleFailure" targetRef="EndEvent_2"/> + <bpmn2:exclusiveGateway id="ExclusiveGateway_1" default="SequenceFlow_4"> + <bpmn2:incoming>SequenceFlow_14</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_13</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_4</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:sequenceFlow id="SequenceFlow_13" sourceRef="ExclusiveGateway_1" targetRef="EndEvent_4"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression">#{execution.getVariable('UAAIVfMod_updateVfModuleResponseCode') == 200}</bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_4" name="Update VF Module Failure" sourceRef="ExclusiveGateway_1" targetRef="HandleUpdateVfModuleFailure"/> + <bpmn2:scriptTask id="UpdateVfModule" name="Update VF Module" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_22</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_14</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +def uvm= new UpdateAAIVfModule() +uvm.updateVfModule(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_14" name="" sourceRef="UpdateVfModule" targetRef="ExclusiveGateway_1"/> + <bpmn2:startEvent id="StartEvent_1" name="Start"> + <bpmn2:outgoing>SequenceFlow_1</bpmn2:outgoing> + </bpmn2:startEvent> + <bpmn2:sequenceFlow id="SequenceFlow_1" name="" sourceRef="StartEvent_1" targetRef="ProcessReceivedRequest"/> + <bpmn2:scriptTask id="ProcessReceivedRequest" name="Process Received Request" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_1</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_38</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +def uvm= new UpdateAAIVfModule() +uvm.preProcessRequest(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_38" name="" sourceRef="ProcessReceivedRequest" targetRef="QueryAAIForVfModule"/> + </bpmn2:process> + <bpmn2:error id="Error_1" errorCode="MSOWorkflowException" name="MSO Workflow Exception"/> + <bpmndi:BPMNDiagram id="BPMNDiagram_1"> + <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="UpdateAAIVfModule"> + <bpmndi:BPMNShape id="_BPMNShape_StartEvent_37" bpmnElement="StartEvent_1"> + <dc:Bounds height="36.0" width="36.0" x="69.0" y="212.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="22.0" width="34.0" x="70.0" y="253.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_22" bpmnElement="ProcessReceivedRequest"> + <dc:Bounds height="80.0" width="100.0" x="180.0" y="190.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_1" bpmnElement="SequenceFlow_1" sourceElement="_BPMNShape_StartEvent_37" targetElement="_BPMNShape_ScriptTask_22"> + <di:waypoint xsi:type="dc:Point" x="105.0" y="230.0"/> + <di:waypoint xsi:type="dc:Point" x="180.0" y="230.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="127.0" y="230.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_Task_2" bpmnElement="UpdateVfModule"> + <dc:Bounds height="80.0" width="100.0" x="672.0" y="190.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_EndEvent_92" bpmnElement="EndEvent_4"> + <dc:Bounds height="36.0" width="36.0" x="1016.0" y="212.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="22.0" width="50.0" x="1009.0" y="253.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_54" bpmnElement="ExclusiveGateway_1" isMarkerVisible="true"> + <dc:Bounds height="50.0" width="50.0" x="840.0" y="206.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="865.0" y="261.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_14" bpmnElement="SequenceFlow_13" sourceElement="_BPMNShape_ExclusiveGateway_54" targetElement="_BPMNShape_EndEvent_92"> + <di:waypoint xsi:type="dc:Point" x="890.0" y="231.0"/> + <di:waypoint xsi:type="dc:Point" x="993.0" y="231.0"/> + <di:waypoint xsi:type="dc:Point" x="993.0" y="230.0"/> + <di:waypoint xsi:type="dc:Point" x="1016.0" y="230.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="928.0" y="231.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_EndEvent_120" bpmnElement="EndEvent_2"> + <dc:Bounds height="36.0" width="36.0" x="848.0" y="0.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="866.0" y="41.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_86" bpmnElement="ExclusiveGateway_3" isMarkerVisible="true"> + <dc:Bounds height="50.0" width="50.0" x="493.0" y="204.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="518.0" y="259.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_23" bpmnElement="SequenceFlow_22" sourceElement="_BPMNShape_ExclusiveGateway_86" targetElement="_BPMNShape_Task_2"> + <di:waypoint xsi:type="dc:Point" x="543.0" y="229.0"/> + <di:waypoint xsi:type="dc:Point" x="607.0" y="229.0"/> + <di:waypoint xsi:type="dc:Point" x="607.0" y="230.0"/> + <di:waypoint xsi:type="dc:Point" x="672.0" y="230.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="558.0" y="229.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_155" bpmnElement="AAIQueryFailure"> + <dc:Bounds height="80.0" width="100.0" x="468.0" y="60.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_24" bpmnElement="SequenceFlow_23" sourceElement="_BPMNShape_ExclusiveGateway_86" targetElement="_BPMNShape_ScriptTask_155"> + <di:waypoint xsi:type="dc:Point" x="518.0" y="204.0"/> + <di:waypoint xsi:type="dc:Point" x="518.0" y="140.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="38.0" width="130.0" x="528.0" y="152.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_EndEvent_160" bpmnElement="EndEvent_7"> + <dc:Bounds height="36.0" width="36.0" x="500.0" y="0.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="518.0" y="41.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_18" bpmnElement="SequenceFlow_18" sourceElement="_BPMNShape_ScriptTask_155" targetElement="_BPMNShape_EndEvent_160"> + <di:waypoint xsi:type="dc:Point" x="518.0" y="60.0"/> + <di:waypoint xsi:type="dc:Point" x="518.0" y="36.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="515.0" y="49.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_160" bpmnElement="QueryAAIForVfModule"> + <dc:Bounds height="80.0" width="100.0" x="336.0" y="190.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_38" bpmnElement="SequenceFlow_38" sourceElement="_BPMNShape_ScriptTask_22" targetElement="_BPMNShape_ScriptTask_160"> + <di:waypoint xsi:type="dc:Point" x="280.0" y="230.0"/> + <di:waypoint xsi:type="dc:Point" x="336.0" y="230.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="300.0" y="230.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_39" bpmnElement="SequenceFlow_39" sourceElement="_BPMNShape_ScriptTask_160" targetElement="_BPMNShape_ExclusiveGateway_86"> + <di:waypoint xsi:type="dc:Point" x="436.0" y="230.0"/> + <di:waypoint xsi:type="dc:Point" x="452.0" y="230.0"/> + <di:waypoint xsi:type="dc:Point" x="452.0" y="229.0"/> + <di:waypoint xsi:type="dc:Point" x="493.0" y="229.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="449.0" y="229.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_161" bpmnElement="HandleUpdateVfModuleFailure"> + <dc:Bounds height="80.0" width="100.0" x="816.0" y="60.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_6" bpmnElement="SequenceFlow_8" sourceElement="_BPMNShape_ScriptTask_161" targetElement="_BPMNShape_EndEvent_120"> + <di:waypoint xsi:type="dc:Point" x="866.0" y="60.0"/> + <di:waypoint xsi:type="dc:Point" x="866.0" y="36.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="863.0" y="51.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_13" bpmnElement="SequenceFlow_14" sourceElement="_BPMNShape_Task_2" targetElement="_BPMNShape_ExclusiveGateway_54"> + <di:waypoint xsi:type="dc:Point" x="772.0" y="230.0"/> + <di:waypoint xsi:type="dc:Point" x="797.0" y="230.0"/> + <di:waypoint xsi:type="dc:Point" x="797.0" y="231.0"/> + <di:waypoint xsi:type="dc:Point" x="840.0" y="231.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="801.0" y="231.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_3" bpmnElement="SequenceFlow_4" sourceElement="_BPMNShape_ExclusiveGateway_54" targetElement="_BPMNShape_ScriptTask_161"> + <di:waypoint xsi:type="dc:Point" x="865.0" y="206.0"/> + <di:waypoint xsi:type="dc:Point" x="865.0" y="172.0"/> + <di:waypoint xsi:type="dc:Point" x="867.0" y="172.0"/> + <di:waypoint xsi:type="dc:Point" x="867.0" y="140.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="22.0" width="157.0" x="883.0" y="160.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + </bpmndi:BPMNPlane> + </bpmndi:BPMNDiagram> +</bpmn2:definitions>
\ No newline at end of file diff --git a/bpmn/MSOCommonBPMN/src/main/resources/subprocess/VnfAdapterRestV1.bpmn b/bpmn/MSOCommonBPMN/src/main/resources/subprocess/VnfAdapterRestV1.bpmn new file mode 100644 index 0000000..90964e5 --- /dev/null +++ b/bpmn/MSOCommonBPMN/src/main/resources/subprocess/VnfAdapterRestV1.bpmn @@ -0,0 +1,442 @@ +<?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" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd" id="_GraPIIyxEeWmdMDkx6Uftw" exporter="camunda modeler" exporterVersion="2.7.0" targetNamespace="http://camunda.org/schema/1.0/bpmn"> + <bpmn2:process id="vnfAdapterRestV1" name="vnfAdapterRestV1" isExecutable="true"> + <bpmn2:scriptTask id="ScriptTask_2" name="Log Response" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_3</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_14</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +def vnfAdapterRestV1 = new VnfAdapterRestV1() +def statusCode = execution.getVariable('VNFREST_vnfAdapterStatusCode') +String response = String.valueOf(execution.getVariable('VNFREST_vnfAdapterResponse')) +def isDebugLogEnabled = execution.getVariable('isDebugLogEnabled') +def processKey = vnfAdapterRestV1.getProcessKey(execution) +vnfAdapterRestV1.logDebug(processKey + " received response from VnfAdapter: statusCode=" + statusCode + + " response=" + (response.isEmpty() ? "" : "\n") + response, isDebugLogEnabled)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:scriptTask id="ScriptTask_3" name="Workflow Exception (no connection)"> + <bpmn2:incoming>SequenceFlow_17</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_35</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +def exceptionUtil = new ExceptionUtil() +exceptionUtil.buildAndThrowWorkflowException(execution, 7000, "Failed to communicate with VnfAdapter")]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:scriptTask id="ScriptTask_4" name="Workflow Exception (bad response)" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_23</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_36</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* + +String res = execution.getVariable(VNFREST_vnfAdapterResponse) + +def vnfAdapterRestV1 = new VnfAdapterRestV1() +vnfAdapterRestV1.vnfAdapterWorkflowException(execution, res)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_14" name="" sourceRef="ScriptTask_2" targetRef="ExclusiveGateway_1"/> + <bpmn2:exclusiveGateway id="ExclusiveGateway_1" default="SequenceFlow_23"> + <bpmn2:incoming>SequenceFlow_14</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_17</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_23</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_24</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:sequenceFlow id="SequenceFlow_17" name="404" sourceRef="ExclusiveGateway_1" targetRef="ScriptTask_3"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("VNFREST_vnfAdapterStatusCode") == '404'}]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:sequenceFlow id="SequenceFlow_23" name="other" sourceRef="ExclusiveGateway_1" targetRef="ScriptTask_4"/> + <bpmn2:sequenceFlow id="SequenceFlow_24" name="2xx" sourceRef="ExclusiveGateway_1" targetRef="waitForAsyncMessage"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("VNFREST_vnfAdapterStatusCode") == '200' || execution.getVariable("VNFREST_vnfAdapterStatusCode") == '202'}]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:boundaryEvent id="BoundaryEvent_1" name="Timeout" attachedToRef="waitForAsyncMessage"> + <bpmn2:outgoing>SequenceFlow_27</bpmn2:outgoing> + <bpmn2:timerEventDefinition id="TimerEventDefinition_1"> + <bpmn2:timeDuration xsi:type="bpmn2:tFormalExpression">${URN_mso_po_timeout}</bpmn2:timeDuration> + </bpmn2:timerEventDefinition> + </bpmn2:boundaryEvent> + <bpmn2:subProcess id="waitForAsyncMessage" name="Wait for Callback"> + <bpmn2:incoming>SequenceFlow_24</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_28</bpmn2:outgoing> + <bpmn2:intermediateCatchEvent id="IntermediateCatchEvent_1" name="Catch Event"> + <bpmn2:incoming>SequenceFlow_25</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_26</bpmn2:outgoing> + <bpmn2:messageEventDefinition id="MessageEventDefinition_1" messageRef="Message_1"/> + </bpmn2:intermediateCatchEvent> + <bpmn2:sequenceFlow id="SequenceFlow_26" name="" sourceRef="IntermediateCatchEvent_1" targetRef="EndEvent_2"/> + <bpmn2:startEvent id="StartEvent_3"> + <bpmn2:outgoing>SequenceFlow_25</bpmn2:outgoing> + </bpmn2:startEvent> + <bpmn2:sequenceFlow id="SequenceFlow_25" name="" sourceRef="StartEvent_3" targetRef="IntermediateCatchEvent_1"/> + <bpmn2:endEvent id="EndEvent_2"> + <bpmn2:incoming>SequenceFlow_26</bpmn2:incoming> + </bpmn2:endEvent> + </bpmn2:subProcess> + <bpmn2:sequenceFlow id="SequenceFlow_27" name="" sourceRef="BoundaryEvent_1" targetRef="ScriptTask_5"/> + <bpmn2:scriptTask id="ScriptTask_5" name="Workflow Exception (timeout)" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_27</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_34</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +def exceptionUtil = new ExceptionUtil() +exceptionUtil.buildAndThrowWorkflowException(execution, 7010, "VnfAdapter Callback Timeout Error")]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_28" name="" sourceRef="waitForAsyncMessage" targetRef="ScriptTask_6"/> + <bpmn2:scriptTask id="ScriptTask_6" name="Process Callback" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_28</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_33</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +def vnfAdapterRestV1 = new VnfAdapterRestV1() +vnfAdapterRestV1.processCallback(execution) +]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_33" name="" sourceRef="ScriptTask_6" targetRef="ExclusiveGateway_2"/> + <bpmn2:sequenceFlow id="SequenceFlow_34" name="" sourceRef="ScriptTask_5" targetRef="EndEvent_8"/> + <bpmn2:endEvent id="EndEvent_8"> + <bpmn2:incoming>SequenceFlow_34</bpmn2:incoming> + <bpmn2:errorEventDefinition id="_ErrorEventDefinition_21" errorRef="Error_1"/> + </bpmn2:endEvent> + <bpmn2:sequenceFlow id="SequenceFlow_35" name="" sourceRef="ScriptTask_3" targetRef="EndEvent_9"/> + <bpmn2:endEvent id="EndEvent_9"> + <bpmn2:incoming>SequenceFlow_35</bpmn2:incoming> + <bpmn2:errorEventDefinition id="_ErrorEventDefinition_22" errorRef="Error_1"/> + </bpmn2:endEvent> + <bpmn2:endEvent id="EndEvent_10"> + <bpmn2:incoming>SequenceFlow_36</bpmn2:incoming> + <bpmn2:errorEventDefinition id="_ErrorEventDefinition_23" errorRef="Error_1"/> + </bpmn2:endEvent> + <bpmn2:sequenceFlow id="SequenceFlow_36" name="" sourceRef="ScriptTask_4" targetRef="EndEvent_10"/> + <bpmn2:endEvent id="EndEvent_7"> + <bpmn2:incoming>SequenceFlow_32</bpmn2:incoming> + <bpmn2:errorEventDefinition id="_ErrorEventDefinition_20" errorRef="Error_1"/> + </bpmn2:endEvent> + <bpmn2:exclusiveGateway id="ExclusiveGateway_2" name="Callback
Exception?" default="SequenceFlow_31"> + <bpmn2:incoming>SequenceFlow_33</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_31</bpmn2:outgoing> + <bpmn2:outgoing>SequenceFlow_32</bpmn2:outgoing> + </bpmn2:exclusiveGateway> + <bpmn2:sequenceFlow id="SequenceFlow_31" name="no" sourceRef="ExclusiveGateway_2" targetRef="ScriptTask_setSuccess"/> + <bpmn2:sequenceFlow id="SequenceFlow_32" name="yes" sourceRef="ExclusiveGateway_2" targetRef="EndEvent_7"> + <bpmn2:conditionExpression xsi:type="bpmn2:tFormalExpression"><![CDATA[#{execution.getVariable("WorkflowException") != null}]]></bpmn2:conditionExpression> + </bpmn2:sequenceFlow> + <bpmn2:scriptTask id="ScriptTask_setSuccess" name="Set Success Indicator" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_31</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_1</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +def vnfAdapterRestV1 = new VnfAdapterRestV1() +vnfAdapterRestV1.setSuccessIndicator(execution, true)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_1" name="" sourceRef="ScriptTask_setSuccess" targetRef="EndEvent_6"/> + <bpmn2:endEvent id="EndEvent_6" name="End Flow"> + <bpmn2:incoming>SequenceFlow_1</bpmn2:incoming> + </bpmn2:endEvent> + <bpmn2:scriptTask id="ScriptTask_7" name="Send Request to Vnf Adapter" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_2</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_3</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +def vnfAdapterRestV1 = new VnfAdapterRestV1() +vnfAdapterRestV1.sendRequestToVnfAdapter(execution)]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_3" name="" sourceRef="ScriptTask_7" targetRef="ScriptTask_2"/> + <bpmn2:subProcess id="SubProcess_1" name="Error Handling Sub Process" triggeredByEvent="true"> + <bpmn2:scriptTask id="ScriptTask_8" name="Process Error" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_4</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_5</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +def exUtil = new ExceptionUtil() +exUtil.processSubflowsBPMNException(execution) +]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_5" name="" sourceRef="ScriptTask_8" targetRef="EndEvent_1"/> + <bpmn2:endEvent id="EndEvent_1"> + <bpmn2:incoming>SequenceFlow_5</bpmn2:incoming> + </bpmn2:endEvent> + <bpmn2:startEvent id="StartEvent_2"> + <bpmn2:outgoing>SequenceFlow_4</bpmn2:outgoing> + <bpmn2:errorEventDefinition id="_ErrorEventDefinition_89"/> + </bpmn2:startEvent> + <bpmn2:sequenceFlow id="SequenceFlow_4" name="" sourceRef="StartEvent_2" targetRef="ScriptTask_8"/> + </bpmn2:subProcess> + <bpmn2:scriptTask id="ScriptTask_1" name="Pre-Process Request" scriptFormat="groovy"> + <bpmn2:incoming>SequenceFlow_9</bpmn2:incoming> + <bpmn2:outgoing>SequenceFlow_2</bpmn2:outgoing> + <bpmn2:script><![CDATA[import org.openecomp.mso.bpmn.common.scripts.* +def vnfAdapterRestV1 = new VnfAdapterRestV1() +vnfAdapterRestV1.preProcessRequest(execution) +]]></bpmn2:script> + </bpmn2:scriptTask> + <bpmn2:sequenceFlow id="SequenceFlow_2" name="" sourceRef="ScriptTask_1" targetRef="ScriptTask_7"/> + <bpmn2:startEvent id="StartEvent_1" name="Start"> + <bpmn2:outgoing>SequenceFlow_9</bpmn2:outgoing> + </bpmn2:startEvent> + <bpmn2:sequenceFlow id="SequenceFlow_9" name="" sourceRef="StartEvent_1" targetRef="ScriptTask_1"/> + </bpmn2:process> + <bpmn2:error id="Error_1" errorCode="MSOWorkflowException" name="MSO Workflow Exception"/> + <bpmn2:message id="Message_1" name="WorkflowMessage"/> + <bpmndi:BPMNDiagram id="BPMNDiagram_1"> + <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="vnfAdapterRestV1"> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_56" bpmnElement="ScriptTask_1"> + <dc:Bounds height="80.0" width="100.0" x="204.0" y="148.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_SubProcess_14" bpmnElement="waitForAsyncMessage" isExpanded="true"> + <dc:Bounds height="154.0" width="265.0" x="744.0" y="275.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_58" bpmnElement="ScriptTask_6"> + <dc:Bounds height="80.0" width="100.0" x="1046.0" y="311.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_59" bpmnElement="ScriptTask_5"> + <dc:Bounds height="80.0" width="100.0" x="827.0" y="492.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_BoundaryEvent_24" bpmnElement="BoundaryEvent_1"> + <dc:Bounds height="36.0" width="36.0" x="859.0" y="411.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="22.0" width="52.0" x="894.0" y="441.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_IntermediateCatchEvent_20" bpmnElement="IntermediateCatchEvent_1"> + <dc:Bounds height="36.0" width="36.0" x="863.0" y="330.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="22.0" width="76.0" x="843.0" y="371.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_78" bpmnElement="ScriptTask_4"> + <dc:Bounds height="80.0" width="97.0" x="744.0" y="148.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_79" bpmnElement="ScriptTask_2"> + <dc:Bounds height="80.0" width="100.0" x="492.0" y="148.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_StartEvent_54" bpmnElement="StartEvent_1"> + <dc:Bounds height="36.0" width="36.0" x="84.0" y="170.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="22.0" width="34.0" x="85.0" y="211.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_168" bpmnElement="ScriptTask_3"> + <dc:Bounds height="80.0" width="97.0" x="744.0" y="24.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_2" bpmnElement="SequenceFlow_9" sourceElement="_BPMNShape_StartEvent_54" targetElement="_BPMNShape_ScriptTask_56"> + <di:waypoint xsi:type="dc:Point" x="120.0" y="188.0"/> + <di:waypoint xsi:type="dc:Point" x="204.0" y="188.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="130.0" y="188.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_105" bpmnElement="ExclusiveGateway_1" isMarkerVisible="true"> + <dc:Bounds height="50.0" width="50.0" x="624.0" y="162.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="649.0" y="217.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_18" bpmnElement="SequenceFlow_14" sourceElement="_BPMNShape_ScriptTask_79" targetElement="_BPMNShape_ExclusiveGateway_105"> + <di:waypoint xsi:type="dc:Point" x="592.0" y="188.0"/> + <di:waypoint xsi:type="dc:Point" x="624.0" y="187.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="611.0" y="187.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_19" bpmnElement="SequenceFlow_17" sourceElement="_BPMNShape_ExclusiveGateway_105" targetElement="_BPMNShape_ScriptTask_168"> + <di:waypoint xsi:type="dc:Point" x="649.0" y="162.0"/> + <di:waypoint xsi:type="dc:Point" x="649.0" y="64.0"/> + <di:waypoint xsi:type="dc:Point" x="744.0" y="64.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="22.0" width="27.0" x="688.0" y="64.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_20" bpmnElement="SequenceFlow_23" sourceElement="_BPMNShape_ExclusiveGateway_105" targetElement="_BPMNShape_ScriptTask_78"> + <di:waypoint xsi:type="dc:Point" x="674.0" y="187.0"/> + <di:waypoint xsi:type="dc:Point" x="709.0" y="187.0"/> + <di:waypoint xsi:type="dc:Point" x="709.0" y="188.0"/> + <di:waypoint xsi:type="dc:Point" x="744.0" y="188.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="22.0" width="35.0" x="684.0" y="188.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_25" bpmnElement="SequenceFlow_24" sourceElement="_BPMNShape_ExclusiveGateway_105" targetElement="_BPMNShape_SubProcess_14"> + <di:waypoint xsi:type="dc:Point" x="649.0" y="212.0"/> + <di:waypoint xsi:type="dc:Point" x="649.0" y="353.0"/> + <di:waypoint xsi:type="dc:Point" x="708.0" y="353.0"/> + <di:waypoint xsi:type="dc:Point" x="744.0" y="353.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="22.0" width="27.0" x="688.0" y="328.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_StartEvent_55" bpmnElement="StartEvent_3"> + <dc:Bounds height="36.0" width="36.0" x="768.0" y="330.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="786.0" y="371.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_27" bpmnElement="SequenceFlow_25" sourceElement="_BPMNShape_StartEvent_55" targetElement="_BPMNShape_IntermediateCatchEvent_20"> + <di:waypoint xsi:type="dc:Point" x="804.0" y="348.0"/> + <di:waypoint xsi:type="dc:Point" x="863.0" y="348.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="833.0" y="348.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_EndEvent_156" bpmnElement="EndEvent_2"> + <dc:Bounds height="36.0" width="36.0" x="948.0" y="330.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="966.0" y="371.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_28" bpmnElement="SequenceFlow_26" sourceElement="_BPMNShape_IntermediateCatchEvent_20" targetElement="_BPMNShape_EndEvent_156"> + <di:waypoint xsi:type="dc:Point" x="899.0" y="348.0"/> + <di:waypoint xsi:type="dc:Point" x="929.0" y="348.0"/> + <di:waypoint xsi:type="dc:Point" x="929.0" y="347.0"/> + <di:waypoint xsi:type="dc:Point" x="948.0" y="348.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="926.0" y="348.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_29" bpmnElement="SequenceFlow_27" sourceElement="_BPMNShape_BoundaryEvent_24" targetElement="_BPMNShape_ScriptTask_59"> + <di:waypoint xsi:type="dc:Point" x="877.0" y="447.0"/> + <di:waypoint xsi:type="dc:Point" x="877.0" y="492.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="874.0" y="472.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_30" bpmnElement="SequenceFlow_28" sourceElement="_BPMNShape_SubProcess_14" targetElement="_BPMNShape_ScriptTask_58"> + <di:waypoint xsi:type="dc:Point" x="1008.0" y="351.0"/> + <di:waypoint xsi:type="dc:Point" x="1046.0" y="351.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="1023.0" y="351.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_ExclusiveGateway_106" bpmnElement="ExclusiveGateway_2" isMarkerVisible="true"> + <dc:Bounds height="50.0" width="50.0" x="1188.0" y="325.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="38.0" width="71.0" x="1179.0" y="288.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_EndEvent_158" bpmnElement="EndEvent_6"> + <dc:Bounds height="36.0" width="36.0" x="1463.0" y="333.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="22.0" width="60.0" x="1451.0" y="374.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_33" bpmnElement="SequenceFlow_31" sourceElement="_BPMNShape_ExclusiveGateway_106" targetElement="_BPMNShape_ScriptTask_236"> + <di:waypoint xsi:type="dc:Point" x="1238.0" y="350.0"/> + <di:waypoint xsi:type="dc:Point" x="1308.0" y="350.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="22.0" width="20.0" x="1248.0" y="350.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_EndEvent_159" bpmnElement="EndEvent_7"> + <dc:Bounds height="36.0" width="36.0" x="1196.0" y="426.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="1214.0" y="467.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_34" bpmnElement="SequenceFlow_32" sourceElement="_BPMNShape_ExclusiveGateway_106" targetElement="_BPMNShape_EndEvent_159"> + <di:waypoint xsi:type="dc:Point" x="1213.0" y="375.0"/> + <di:waypoint xsi:type="dc:Point" x="1213.0" y="392.0"/> + <di:waypoint xsi:type="dc:Point" x="1214.0" y="392.0"/> + <di:waypoint xsi:type="dc:Point" x="1214.0" y="426.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="22.0" width="27.0" x="1223.0" y="390.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_35" bpmnElement="SequenceFlow_33" sourceElement="_BPMNShape_ScriptTask_58" targetElement="_BPMNShape_ExclusiveGateway_106"> + <di:waypoint xsi:type="dc:Point" x="1146.0" y="351.0"/> + <di:waypoint xsi:type="dc:Point" x="1173.0" y="351.0"/> + <di:waypoint xsi:type="dc:Point" x="1173.0" y="350.0"/> + <di:waypoint xsi:type="dc:Point" x="1188.0" y="350.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="1170.0" y="350.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_EndEvent_160" bpmnElement="EndEvent_8"> + <dc:Bounds height="36.0" width="36.0" x="974.0" y="514.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="992.0" y="555.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_36" bpmnElement="SequenceFlow_34" sourceElement="_BPMNShape_ScriptTask_59" targetElement="_BPMNShape_EndEvent_160"> + <di:waypoint xsi:type="dc:Point" x="927.0" y="532.0"/> + <di:waypoint xsi:type="dc:Point" x="974.0" y="532.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="951.0" y="532.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_EndEvent_161" bpmnElement="EndEvent_9"> + <dc:Bounds height="36.0" width="36.0" x="891.0" y="46.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="909.0" y="87.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_37" bpmnElement="SequenceFlow_35" sourceElement="_BPMNShape_ScriptTask_168" targetElement="_BPMNShape_EndEvent_161"> + <di:waypoint xsi:type="dc:Point" x="840.0" y="64.0"/> + <di:waypoint xsi:type="dc:Point" x="891.0" y="64.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="865.0" y="64.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_EndEvent_162" bpmnElement="EndEvent_10"> + <dc:Bounds height="36.0" width="36.0" x="892.0" y="170.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="910.0" y="211.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_38" bpmnElement="SequenceFlow_36" sourceElement="_BPMNShape_ScriptTask_78" targetElement="_BPMNShape_EndEvent_162"> + <di:waypoint xsi:type="dc:Point" x="840.0" y="188.0"/> + <di:waypoint xsi:type="dc:Point" x="892.0" y="188.0"/> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_236" bpmnElement="ScriptTask_setSuccess"> + <dc:Bounds height="83.0" width="97.0" x="1308.0" y="309.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_1" bpmnElement="SequenceFlow_1" sourceElement="_BPMNShape_ScriptTask_236" targetElement="_BPMNShape_EndEvent_158"> + <di:waypoint xsi:type="dc:Point" x="1404.0" y="350.0"/> + <di:waypoint xsi:type="dc:Point" x="1422.0" y="350.0"/> + <di:waypoint xsi:type="dc:Point" x="1422.0" y="351.0"/> + <di:waypoint xsi:type="dc:Point" x="1463.0" y="351.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="1419.0" y="351.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_237" bpmnElement="ScriptTask_7"> + <dc:Bounds height="83.0" width="97.0" x="360.0" y="146.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_3" bpmnElement="SequenceFlow_2" sourceElement="_BPMNShape_ScriptTask_56" targetElement="_BPMNShape_ScriptTask_237"> + <di:waypoint xsi:type="dc:Point" x="304.0" y="188.0"/> + <di:waypoint xsi:type="dc:Point" x="344.0" y="188.0"/> + <di:waypoint xsi:type="dc:Point" x="344.0" y="187.0"/> + <di:waypoint xsi:type="dc:Point" x="360.0" y="187.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="317.0" y="188.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_4" bpmnElement="SequenceFlow_3" sourceElement="_BPMNShape_ScriptTask_237" targetElement="_BPMNShape_ScriptTask_79"> + <di:waypoint xsi:type="dc:Point" x="456.0" y="187.0"/> + <di:waypoint xsi:type="dc:Point" x="474.0" y="187.0"/> + <di:waypoint xsi:type="dc:Point" x="474.0" y="188.0"/> + <di:waypoint xsi:type="dc:Point" x="492.0" y="188.0"/> + </bpmndi:BPMNEdge> + <bpmndi:BPMNShape id="_BPMNShape_SubProcess_24" bpmnElement="SubProcess_1" isExpanded="true"> + <dc:Bounds height="181.0" width="382.0" x="180.0" y="532.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_StartEvent_66" bpmnElement="StartEvent_2"> + <dc:Bounds height="36.0" width="36.0" x="225.0" y="605.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="243.0" y="646.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_EndEvent_207" bpmnElement="EndEvent_1"> + <dc:Bounds height="36.0" width="36.0" x="477.0" y="605.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="0.0" width="0.0" x="495.0" y="646.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNShape> + <bpmndi:BPMNShape id="_BPMNShape_ScriptTask_266" bpmnElement="ScriptTask_8"> + <dc:Bounds height="83.0" width="97.0" x="323.0" y="581.0"/> + </bpmndi:BPMNShape> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_5" bpmnElement="SequenceFlow_4" sourceElement="_BPMNShape_StartEvent_66" targetElement="_BPMNShape_ScriptTask_266"> + <di:waypoint xsi:type="dc:Point" x="261.0" y="623.0"/> + <di:waypoint xsi:type="dc:Point" x="323.0" y="622.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="273.0" y="623.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + <bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_6" bpmnElement="SequenceFlow_5" sourceElement="_BPMNShape_ScriptTask_266" targetElement="_BPMNShape_EndEvent_207"> + <di:waypoint xsi:type="dc:Point" x="419.0" y="622.0"/> + <di:waypoint xsi:type="dc:Point" x="477.0" y="623.0"/> + <bpmndi:BPMNLabel> + <dc:Bounds height="6.0" width="6.0" x="445.0" y="623.0"/> + </bpmndi:BPMNLabel> + </bpmndi:BPMNEdge> + </bpmndi:BPMNPlane> + </bpmndi:BPMNDiagram> +</bpmn2:definitions>
\ No newline at end of file diff --git a/bpmn/MSOCommonBPMN/src/main/resources/urn.properties b/bpmn/MSOCommonBPMN/src/main/resources/urn.properties new file mode 100644 index 0000000..5bf8e24 --- /dev/null +++ b/bpmn/MSOCommonBPMN/src/main/resources/urn.properties @@ -0,0 +1,29 @@ +### +# ============LICENSE_START======================================================= +# ECOMP MSO +# ================================================================================ +# Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. +# ================================================================================ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============LICENSE_END========================================================= +### + +# URN mappings for this project. + +# TODO: Remove all the non-URN stuff that's in here. +# TODO: Implement a real URN mapping capability. + +#AAIEndPoint= http://localhost:28080/SoapUIMocks +AAIEndPoint= http://localhost:28090/ +SDNCEndPoint=http://localhost:28090/SDNCAdapter/ +msoRollback = true diff --git a/bpmn/MSOCommonBPMN/src/main/resources/wsdl/VnfAdapterNotify.wsdl b/bpmn/MSOCommonBPMN/src/main/resources/wsdl/VnfAdapterNotify.wsdl new file mode 100644 index 0000000..a4f1940 --- /dev/null +++ b/bpmn/MSOCommonBPMN/src/main/resources/wsdl/VnfAdapterNotify.wsdl @@ -0,0 +1,233 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" + xmlns:wsp="http://www.w3.org/ns/ws-policy" + xmlns:tns="http://org.openecomp.mso/vnfNotify" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" + xmlns:wsp1_2="http://schemas.xmlsoap.org/ws/2004/09/policy" + xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" + xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" + xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata" + name="vnfAdapterNotify" + targetNamespace="http://org.openecomp.mso/vnfNotify"> + <types> + <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" + targetNamespace="http://org.openecomp.mso/vnfNotify" + version="1.0"> + + <xs:element name="createVnfNotification" type="tns:createVnfNotification"/> + + <xs:element name="updateVnfNotification" type="tns:updateVnfNotification"/> + + <xs:element name="deleteVnfNotification" type="tns:deleteVnfNotification"/> + + <xs:element name="queryVnfNotification" type="tns:queryVnfNotification"/> + + <xs:element name="rollbackVnfNotification" type="tns:rollbackVnfNotification"/> + + <xs:complexType name="queryVnfNotification"> + <xs:sequence> + <xs:element name="messageId" type="xs:string"/> + <xs:element name="completed" type="xs:boolean"/> + <xs:element minOccurs="0" name="exception" type="tns:msoExceptionCategory"/> + <xs:element minOccurs="0" name="errorMessage" type="xs:string"/> + <xs:element minOccurs="0" name="vnfExists" type="xs:boolean"/> + <xs:element minOccurs="0" name="vnfId" type="xs:string"/> + <xs:element minOccurs="0" name="status" type="tns:vnfStatus"/> + <xs:element minOccurs="0" name="outputs"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" minOccurs="0" name="entry"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" name="key" type="xs:string"/> + <xs:element minOccurs="0" name="value" type="xs:string"/> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="deleteVnfNotification"> + <xs:sequence> + <xs:element name="messageId" type="xs:string"/> + <xs:element name="completed" type="xs:boolean"/> + <xs:element minOccurs="0" name="exception" type="tns:msoExceptionCategory"/> + <xs:element minOccurs="0" name="errorMessage" type="xs:string"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="rollbackVnfNotification"> + <xs:sequence> + <xs:element name="messageId" type="xs:string"/> + <xs:element name="completed" type="xs:boolean"/> + <xs:element minOccurs="0" name="exception" type="tns:msoExceptionCategory"/> + <xs:element minOccurs="0" name="errorMessage" type="xs:string"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="createVnfNotification"> + <xs:sequence> + <xs:element name="messageId" type="xs:string"/> + <xs:element name="completed" type="xs:boolean"/> + <xs:element minOccurs="0" name="exception" type="tns:msoExceptionCategory"/> + <xs:element minOccurs="0" name="errorMessage" type="xs:string"/> + <xs:element minOccurs="0" name="vnfId" type="xs:string"/> + <xs:element minOccurs="0" name="outputs"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" minOccurs="0" name="entry"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" name="key" type="xs:string"/> + <xs:element minOccurs="0" name="value" type="xs:string"/> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element minOccurs="0" name="rollback" type="tns:vnfRollback"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="updateVnfNotification"> + <xs:sequence> + <xs:element name="messageId" type="xs:string"/> + <xs:element name="completed" type="xs:boolean"/> + <xs:element minOccurs="0" name="exception" type="tns:msoExceptionCategory"/> + <xs:element minOccurs="0" name="errorMessage" type="xs:string"/> + <xs:element minOccurs="0" name="outputs"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" minOccurs="0" name="entry"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" name="key" type="xs:string"/> + <xs:element minOccurs="0" name="value" type="xs:string"/> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element minOccurs="0" name="rollback" type="tns:vnfRollback"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="vnfRollback"> + <xs:sequence> + <xs:element minOccurs="0" name="cloudSiteId" type="xs:string"/> + <xs:element minOccurs="0" name="msoRequest" type="tns:msoRequest"/> + <xs:element name="tenantCreated" type="xs:boolean"/> + <xs:element minOccurs="0" name="tenantId" type="xs:string"/> + <xs:element name="vnfCreated" type="xs:boolean"/> + <xs:element minOccurs="0" name="vnfId" type="xs:string"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="msoRequest"> + <xs:sequence> + <xs:element minOccurs="0" name="requestId" type="xs:string"/> + <xs:element minOccurs="0" name="serviceInstanceId" type="xs:string"/> + </xs:sequence> + </xs:complexType> + + <xs:simpleType name="msoExceptionCategory"> + <xs:restriction base="xs:string"> + <xs:enumeration value="OPENSTACK"/> + <xs:enumeration value="IO"/> + <xs:enumeration value="INTERNAL"/> + <xs:enumeration value="USERDATA"/> + </xs:restriction> + </xs:simpleType> + + <xs:simpleType name="vnfStatus"> + <xs:restriction base="xs:string"> + <xs:enumeration value="ACTIVE"/> + <xs:enumeration value="FAILED"/> + <xs:enumeration value="NOTFOUND"/> + <xs:enumeration value="UNKNOWN"/> + </xs:restriction> + </xs:simpleType> + </xs:schema> + </types> + <message name="rollbackVnfNotification"> + <part element="tns:rollbackVnfNotification" name="parameters"/> + </message> + <message name="queryVnfNotification"> + <part element="tns:queryVnfNotification" name="parameters"/> + </message> + <message name="createVnfNotification"> + <part element="tns:createVnfNotification" name="parameters"/> + </message> + <message name="updateVnfNotification"> + <part element="tns:updateVnfNotification" name="parameters"/> + </message> + <message name="deleteVnfNotification"> + <part element="tns:deleteVnfNotification" name="parameters"/> + </message> + <portType name="vnfAdapterNotify"> + <operation name="rollbackVnfNotification"> + <input message="tns:rollbackVnfNotification" + wsam:Action="http://org.openecomp.mso/notify/adapterNotify/rollbackVnfNotificationRequest"/> + </operation> + <operation name="queryVnfNotification"> + <input message="tns:queryVnfNotification" + wsam:Action="http://org.openecomp.mso/notify/adapterNotify/queryVnfNotificationRequest"/> + </operation> + <operation name="createVnfNotification"> + <input message="tns:createVnfNotification" + wsam:Action="http://org.openecomp.mso/notify/adapterNotify/createVnfNotificationRequest"/> + </operation> + <operation name="updateVnfNotification"> + <input message="tns:updateVnfNotification" + wsam:Action="http://org.openecomp.mso/notify/adapterNotify/updateVnfNotificationRequest"/> + </operation> + <operation name="deleteVnfNotification"> + <input message="tns:deleteVnfNotification" + wsam:Action="http://org.openecomp.mso/notify/adapterNotify/deleteVnfNotificationRequest"/> + </operation> + </portType> + <binding name="MsoVnfAdapterAsyncImplPortBinding" type="tns:vnfAdapterNotify"> + <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> + <operation name="rollbackVnfNotification"> + <soap:operation soapAction=""/> + <input> + <soap:body use="literal"/> + </input> + </operation> + <operation name="queryVnfNotification"> + <soap:operation soapAction=""/> + <input> + <soap:body use="literal"/> + </input> + </operation> + <operation name="createVnfNotification"> + <soap:operation soapAction=""/> + <input> + <soap:body use="literal"/> + </input> + </operation> + <operation name="updateVnfNotification"> + <soap:operation soapAction=""/> + <input> + <soap:body use="literal"/> + </input> + </operation> + <operation name="deleteVnfNotification"> + <soap:operation soapAction=""/> + <input> + <soap:body use="literal"/> + </input> + </operation> + </binding> + <service name="vnfAdapterNotify"> + <port binding="tns:MsoVnfAdapterAsyncImplPortBinding" + name="MsoVnfAdapterAsyncImplPort"> + <soap:address location="REPLACE_WITH_ACTUAL_URL"/> + </port> + </service> +</definitions>
\ No newline at end of file |