Commit 2c705dfa authored by Anastasios Poimenidis's avatar Anastasios Poimenidis
Browse files

refactor: introduce signal handlers for ossServiceTerminationProcess.bpmn2 and...

refactor: introduce signal handlers for ossServiceTerminationProcess.bpmn2 and platformServiceUpdate.bpmn2
parent 10a31e4e
Loading
Loading
Loading
Loading
+4 −0
Changes for src/main/java/constants/SonataKafkaProcessesNamesConstants.java: 4 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -14,6 +14,8 @@ public class SonataKafkaProcessesNamesConstants {

    public static final String OSS_CLIENT_UPDATE_PLATFORM_SERVICE = "ossClientUpdatePlatformService";

    public static final String PLATFORM_SERVICE_UPDATE = "platformServiceUpdate";

    public static final String HELM_ENGINE_PARSE_REGISTRY_PROCESS = "helmEngineParseRegistryProcess";
    public static final String HELM_ENGINE_ACTIVATION_PROCESS = "helmEngineActivationProcess";
    public static final String HELM_ENGINE_ACTIVATION_SUBPROCESS = "helmEngineActivationSubprocess";
@@ -45,6 +47,8 @@ public class SonataKafkaProcessesNamesConstants {

    public static final String K8S_SERVICE_TERMINATION_PROCESS = "k8sServiceTerminationProcess";

    public static final String OSS_SERVICE_TERMINATION_PROCESS = "ossServiceTerminationProcess";

    public static final String OSS_SERVICE_TERMINATION_SUBPROCESS = "ossServiceTerminationSubprocess";

    public static final String OSS_SERVICE_ORDER_PROCESS = "ossServiceOrderProcess";
+81 −0
Changes for src/main/java/signal/handlers/PlatformServiceUpdateSignalHandler.java: 81 added lines, 0 removed lines.
Original line number Diff line number Diff line
package signal.handlers;

import static constants.SonataKafkaProcessesNamesConstants.PLATFORM_SERVICE_UPDATE;
import static org.etsi.osl.hypo.core.common.constants.SonataKafkaTriggersConstants.TMF_PLATFORM_SERVICE_UPDATE;

import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
import io.smallrye.reactive.messaging.kafka.api.IncomingKafkaRecordMetadata;
import jakarta.enterprise.context.ApplicationScoped;
import jakarta.inject.Inject;
import jakarta.inject.Named;
import java.nio.charset.StandardCharsets;
import java.util.HashMap;
import java.util.Map;
import java.util.Objects;
import java.util.concurrent.CompletionStage;
import org.eclipse.microprofile.reactive.messaging.Incoming;
import org.eclipse.microprofile.reactive.messaging.Message;
import org.etsi.osl.hypo.core.common.service.inventory.CloudEventPlatformServiceUpdate;
import org.etsi.osl.hypo.core.common.service.inventory.PlatformServiceUpdateData;
import org.kie.kogito.Model;
import org.kie.kogito.process.Process;

// TODO: After Kogito Persistence of headers and access in MessageDecorator we will remove the logic
// here
@ApplicationScoped
public class PlatformServiceUpdateSignalHandler {

    @Inject
    @Named(PLATFORM_SERVICE_UPDATE)
    Process<? extends Model> platformServiceUpdateProcess;

    private final ObjectMapper objectMapper =
            new ObjectMapper()
                    .configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false)
                    .disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS)
                    .registerModule(new JavaTimeModule());

    @Incoming(TMF_PLATFORM_SERVICE_UPDATE)
    public CompletionStage<Void> handle(Message<String> msg) {
        try {
            PlatformServiceUpdateData platformServiceUpdateData = parse(msg.getPayload());

            Model serviceOrderProcessModel = platformServiceUpdateProcess.createModel();

            msg.getMetadata(IncomingKafkaRecordMetadata.class)
                    .ifPresent(
                            meta -> {
                                var h = meta.getHeaders().lastHeader("Authorization");
                                if (h != null) {
                                    String authHeaderValue = new String(h.value(), StandardCharsets.UTF_8);
                                    if (Objects.nonNull(platformServiceUpdateData)) {
                                        platformServiceUpdateData.setAuthHeader(authHeaderValue);
                                    }
                                }
                            });

            Map<String, Object> platformServiceUpdateVariablesMap = new HashMap<>();
            platformServiceUpdateVariablesMap.put("platformServiceUpdateData", platformServiceUpdateData);

            serviceOrderProcessModel.fromMap(platformServiceUpdateVariablesMap);

            platformServiceUpdateProcess.createInstance(serviceOrderProcessModel).start();
            return msg.ack();
        } catch (Exception e) {
            return msg.nack(e);
        }
    }

    private PlatformServiceUpdateData parse(String json) {
        try {
            CloudEventPlatformServiceUpdate payload =
                    objectMapper.readValue(json, CloudEventPlatformServiceUpdate.class);
            return payload.getPlatformServiceUpdateData();
        } catch (Exception e) {
            throw new MessageParseException("Failed to deserialize message payload", e);
        }
    }
}
+49 −4
Changes for src/main/java/signal/handlers/ServiceTerminationSignalHandler.java: 49 added lines, 4 removed lines.
Original line number Diff line number Diff line
@@ -2,8 +2,11 @@ package signal.handlers;

import static constants.SonataKafkaProcessesNamesConstants.END_USER_SERVICE_TERMINATION_PROCESS;
import static constants.SonataKafkaProcessesNamesConstants.K8S_SERVICE_TERMINATION_PROCESS;
import static constants.SonataKafkaProcessesNamesConstants.OSS_SERVICE_TERMINATION_PROCESS;
import static jakarta.ws.rs.core.HttpHeaders.AUTHORIZATION;
import static org.etsi.osl.hypo.core.common.constants.SonataKafkaTriggersConstants.TMF_END_USER_SERVICE_TERMINATION;
import static org.etsi.osl.hypo.core.common.constants.SonataKafkaTriggersConstants.TMF_KUBERNETES_SERVICE_TERMINATION;
import static org.etsi.osl.hypo.core.common.constants.SonataKafkaTriggersConstants.TMF_OSS_SERVICE_TERMINATION;

import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.ObjectMapper;
@@ -28,6 +31,9 @@ import org.kie.kogito.process.Process;
@ApplicationScoped
public class ServiceTerminationSignalHandler {

    public static final String SERVICE_TERMINATION_DATA_WITH_TIMER =
            "serviceTerminationDataWithTimer";

    @Inject
    @Named(END_USER_SERVICE_TERMINATION_PROCESS)
    Process<? extends Model> endUserServiceTerminationProcess;
@@ -36,6 +42,10 @@ public class ServiceTerminationSignalHandler {
    @Named(K8S_SERVICE_TERMINATION_PROCESS)
    Process<? extends Model> k8sServiceTerminationProcess;

    @Inject
    @Named(OSS_SERVICE_TERMINATION_PROCESS)
    Process<? extends Model> osssServiceTerminationProcess;

    private final ObjectMapper objectMapper =
            new ObjectMapper()
                    .configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false)
@@ -52,7 +62,7 @@ public class ServiceTerminationSignalHandler {
            msg.getMetadata(IncomingKafkaRecordMetadata.class)
                    .ifPresent(
                            meta -> {
                                var h = meta.getHeaders().lastHeader("Authorization");
                                var h = meta.getHeaders().lastHeader(AUTHORIZATION);
                                if (h != null) {
                                    String authHeaderValue = new String(h.value(), StandardCharsets.UTF_8);

@@ -66,7 +76,7 @@ public class ServiceTerminationSignalHandler {

            Map<String, Object> k8sServiceTerminationProcessModelMap = new HashMap<>();
            k8sServiceTerminationProcessModelMap.put(
                    "serviceTerminationDataWithTimer", serviceTerminationDataWithTimer);
                    SERVICE_TERMINATION_DATA_WITH_TIMER, serviceTerminationDataWithTimer);

            k8sServiceTerminationProcessModel.fromMap(k8sServiceTerminationProcessModelMap);

@@ -77,6 +87,41 @@ public class ServiceTerminationSignalHandler {
        }
    }

    @Incoming(TMF_OSS_SERVICE_TERMINATION)
    public CompletionStage<Void> handleOssServiceTermination(Message<String> msg) {
        try {
            ServiceTerminationDataWithTimer serviceTerminationDataWithTimer = parse(msg.getPayload());

            Model k8sServiceTerminationProcessModel = osssServiceTerminationProcess.createModel();

            msg.getMetadata(IncomingKafkaRecordMetadata.class)
                    .ifPresent(
                            meta -> {
                                var h = meta.getHeaders().lastHeader(AUTHORIZATION);
                                if (h != null) {
                                    String authHeaderValue = new String(h.value(), StandardCharsets.UTF_8);

                                    if (Objects.nonNull(serviceTerminationDataWithTimer)) {
                                        serviceTerminationDataWithTimer
                                                .getServiceTerminationData()
                                                .setAuthHeader(authHeaderValue);
                                    }
                                }
                            });

            Map<String, Object> k8sServiceTerminationProcessModelMap = new HashMap<>();
            k8sServiceTerminationProcessModelMap.put(
                    SERVICE_TERMINATION_DATA_WITH_TIMER, serviceTerminationDataWithTimer);

            k8sServiceTerminationProcessModel.fromMap(k8sServiceTerminationProcessModelMap);

            osssServiceTerminationProcess.createInstance(k8sServiceTerminationProcessModel).start();
            return msg.ack();
        } catch (Exception e) {
            return msg.nack(e);
        }
    }

    @Incoming(TMF_END_USER_SERVICE_TERMINATION)
    public CompletionStage<Void> handle(Message<String> msg) {
        try {
@@ -87,7 +132,7 @@ public class ServiceTerminationSignalHandler {
            msg.getMetadata(IncomingKafkaRecordMetadata.class)
                    .ifPresent(
                            meta -> {
                                var h = meta.getHeaders().lastHeader("Authorization");
                                var h = meta.getHeaders().lastHeader(AUTHORIZATION);
                                if (h != null) {
                                    String authHeaderValue = new String(h.value(), StandardCharsets.UTF_8);

@@ -101,7 +146,7 @@ public class ServiceTerminationSignalHandler {

            Map<String, Object> endUserServiceTerminationProcessModelMap = new HashMap<>();
            endUserServiceTerminationProcessModelMap.put(
                    "serviceTerminationDataWithTimer", serviceTerminationDataWithTimer);
                    SERVICE_TERMINATION_DATA_WITH_TIMER, serviceTerminationDataWithTimer);

            endUserServiceTerminationProcessModel.fromMap(endUserServiceTerminationProcessModelMap);

+23 −30
Changes for src/main/resources/diagrams/ossClient/ossOrders/ossServiceTerminationProcess.bpmn2: 23 added lines, 30 removed lines.
Original line number Diff line number Diff line
<?xml version="1.0" encoding="UTF-8"?>
<bpmn2:definitions xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:bpsim="http://www.bpsim.org/schemas/1.0" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:drools="http://www.jboss.org/drools" xmlns:xsi="xsi" id="_C-XXoermED2i_ZrgmOV2LA" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd http://www.jboss.org/drools drools.xsd http://www.bpsim.org/schemas/1.0 bpsim.xsd http://www.omg.org/spec/DD/20100524/DC DC.xsd http://www.omg.org/spec/DD/20100524/DI DI.xsd " exporter="jBPM Process Modeler" exporterVersion="2.0" targetNamespace="http://www.omg.org/bpmn20">
<bpmn2:definitions xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:bpsim="http://www.bpsim.org/schemas/1.0" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:drools="http://www.jboss.org/drools" xmlns:xsi="xsi" id="_lgbKQFz9ED--2Leg1vJ8HQ" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd http://www.jboss.org/drools drools.xsd http://www.bpsim.org/schemas/1.0 bpsim.xsd http://www.omg.org/spec/DD/20100524/DC DC.xsd http://www.omg.org/spec/DD/20100524/DI DI.xsd " exporter="jBPM Process Modeler" exporterVersion="2.0" targetNamespace="http://www.omg.org/bpmn20">
  <bpmn2:itemDefinition id="_serviceTerminationDataWithTimerItem" structureRef="org.etsi.osl.hypo.core.common.service.inventory.ServiceTerminationDataWithTimer"/>
  <bpmn2:itemDefinition id="__4DABA446-012C-4882-85F9-ECDCF25C36A4_serviceTerminationDataWithTimerOutputXItem" structureRef="org.etsi.osl.hypo.core.common.service.inventory.ServiceTerminationDataWithTimer"/>
  <bpmn2:itemDefinition id="tmf-oss-service-terminationType" structureRef="org.etsi.osl.hypo.core.common.service.inventory.ServiceTerminationDataWithTimer"/>
  <bpmn2:itemDefinition id="_9FA47F38-BF49-4386-9C82-347509AA1A41" structureRef=""/>
  <bpmn2:itemDefinition id="_D37DB190-7483-454D-97D2-6DD851650EE3" structureRef=""/>
  <bpmn2:itemDefinition id="__51963AC6-99A5-491E-96AE-5FD4F1A7B118_serviceTerminationDataWithTimerInputXItem" structureRef="org.etsi.osl.hypo.core.common.service.inventory.ServiceTerminationDataWithTimer"/>
  <bpmn2:message id="_C-ZM0OrmED2i_ZrgmOV2LA" itemRef="tmf-oss-service-terminationType" name="tmf-oss-service-termination"/>
  <bpmn2:collaboration id="_E6ECBDED-062B-4528-B709-CF1ED080F77F" name="Default Collaboration">
    <bpmn2:participant id="_443A95DB-1BEE-4463-AE17-D398D55729B0" name="Pool Participant" processRef="ossServiceTerminationProcess"/>
  <bpmn2:collaboration id="_28A444A7-7264-4FC6-9B28-A3CCAA281C70" name="Default Collaboration">
    <bpmn2:participant id="_626A7745-CBE6-4ABC-83D0-045AC510BEAE" name="Pool Participant" processRef="ossServiceTerminationProcess"/>
  </bpmn2:collaboration>
  <bpmn2:process id="ossServiceTerminationProcess" drools:packageName="diagrams" drools:version="1.0" drools:adHoc="false" name="ossServiceTerminationProcess" isExecutable="true" processType="Public">
    <bpmn2:documentation><![CDATA[A process that triggers the ossServiceTerminationSubprocess via an incoming Kafka message.]]></bpmn2:documentation>
    <bpmn2:property id="serviceTerminationDataWithTimer" itemSubjectRef="_serviceTerminationDataWithTimerItem" name="serviceTerminationDataWithTimer"/>
    <bpmn2:sequenceFlow id="_286676EA-C425-4E45-ACA5-118A2A61646E" sourceRef="_51963AC6-99A5-491E-96AE-5FD4F1A7B118" targetRef="_FF1798CF-F60C-45EF-94C9-1A6A58FA2A8A"/>
    <bpmn2:sequenceFlow id="_9C75AB43-9B55-489B-A047-3C95C7744CCC" sourceRef="_4DABA446-012C-4882-85F9-ECDCF25C36A4" targetRef="_51963AC6-99A5-491E-96AE-5FD4F1A7B118"/>
    <bpmn2:endEvent id="_FF1798CF-F60C-45EF-94C9-1A6A58FA2A8A" name="END:  5G Service Termination Process Completed">
    <bpmn2:endEvent id="_FF1798CF-F60C-45EF-94C9-1A6A58FA2A8A" name="END: Service Termination Process Completed">
      <bpmn2:extensionElements>
        <drools:metaData name="elementname">
          <drools:metaValue><![CDATA[END:  5G Service Termination Process Completed]]></drools:metaValue>
          <drools:metaValue><![CDATA[END: Service Termination Process Completed]]></drools:metaValue>
        </drools:metaData>
      </bpmn2:extensionElements>
      <bpmn2:incoming>_286676EA-C425-4E45-ACA5-118A2A61646E</bpmn2:incoming>
    </bpmn2:endEvent>
    <bpmn2:callActivity id="_51963AC6-99A5-491E-96AE-5FD4F1A7B118" drools:independent="true" drools:waitForCompletion="false" name="Call 5G Service Termination Subprocess" calledElement="ossServiceTerminationSubprocess">
    <bpmn2:callActivity id="_51963AC6-99A5-491E-96AE-5FD4F1A7B118" drools:independent="true" drools:waitForCompletion="false" name="Call Service Termination Subprocess" calledElement="ossServiceTerminationSubprocess">
      <bpmn2:extensionElements>
        <drools:metaData name="elementname">
          <drools:metaValue><![CDATA[Call 5G Service Termination Subprocess]]></drools:metaValue>
          <drools:metaValue><![CDATA[Call Service Termination Subprocess]]></drools:metaValue>
        </drools:metaData>
      </bpmn2:extensionElements>
      <bpmn2:incoming>_9C75AB43-9B55-489B-A047-3C95C7744CCC</bpmn2:incoming>
@@ -42,22 +37,13 @@
        <bpmn2:targetRef>_51963AC6-99A5-491E-96AE-5FD4F1A7B118_serviceTerminationDataWithTimerInputX</bpmn2:targetRef>
      </bpmn2:dataInputAssociation>
    </bpmn2:callActivity>
    <bpmn2:startEvent id="_4DABA446-012C-4882-85F9-ECDCF25C36A4" name="START: Message to Trigger 5G Service  Termination">
    <bpmn2:startEvent id="_4DABA446-012C-4882-85F9-ECDCF25C36A4" name="START: Message to Trigger Service  Termination">
      <bpmn2:extensionElements>
        <drools:metaData name="elementname">
          <drools:metaValue><![CDATA[START: Message to Trigger 5G Service  Termination]]></drools:metaValue>
          <drools:metaValue><![CDATA[START: Message to Trigger Service  Termination]]></drools:metaValue>
        </drools:metaData>
      </bpmn2:extensionElements>
      <bpmn2:outgoing>_9C75AB43-9B55-489B-A047-3C95C7744CCC</bpmn2:outgoing>
      <bpmn2:dataOutput id="_4DABA446-012C-4882-85F9-ECDCF25C36A4_serviceTerminationDataWithTimerOutputX" drools:dtype="org.etsi.osl.hypo.core.common.service.inventory.ServiceTerminationDataWithTimer" itemSubjectRef="__4DABA446-012C-4882-85F9-ECDCF25C36A4_serviceTerminationDataWithTimerOutputXItem" name="serviceTerminationDataWithTimer"/>
      <bpmn2:dataOutputAssociation>
        <bpmn2:sourceRef>_4DABA446-012C-4882-85F9-ECDCF25C36A4_serviceTerminationDataWithTimerOutputX</bpmn2:sourceRef>
        <bpmn2:targetRef>serviceTerminationDataWithTimer</bpmn2:targetRef>
      </bpmn2:dataOutputAssociation>
      <bpmn2:outputSet>
        <bpmn2:dataOutputRefs>_4DABA446-012C-4882-85F9-ECDCF25C36A4_serviceTerminationDataWithTimerOutputX</bpmn2:dataOutputRefs>
      </bpmn2:outputSet>
      <bpmn2:messageEventDefinition drools:msgref="tmf-oss-service-termination" messageRef="_C-ZM0OrmED2i_ZrgmOV2LA"/>
    </bpmn2:startEvent>
  </bpmn2:process>
  <bpmndi:BPMNDiagram>
@@ -66,18 +52,18 @@
        <dc:Bounds height="56" width="56" x="283" y="280"/>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="shape__51963AC6-99A5-491E-96AE-5FD4F1A7B118" bpmnElement="_51963AC6-99A5-491E-96AE-5FD4F1A7B118">
        <dc:Bounds height="101" width="153" x="422.5" y="257"/>
        <dc:Bounds height="101" width="153" x="433.5" y="257"/>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="shape__FF1798CF-F60C-45EF-94C9-1A6A58FA2A8A" bpmnElement="_FF1798CF-F60C-45EF-94C9-1A6A58FA2A8A">
        <dc:Bounds height="56" width="56" x="660" y="279.5"/>
        <dc:Bounds height="56" width="56" x="662" y="284.5"/>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge id="edge_shape__4DABA446-012C-4882-85F9-ECDCF25C36A4_to_shape__51963AC6-99A5-491E-96AE-5FD4F1A7B118" bpmnElement="_9C75AB43-9B55-489B-A047-3C95C7744CCC">
        <di:waypoint x="311" y="308"/>
        <di:waypoint x="499" y="307.5"/>
        <di:waypoint x="510" y="307.5"/>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="edge_shape__51963AC6-99A5-491E-96AE-5FD4F1A7B118_to_shape__FF1798CF-F60C-45EF-94C9-1A6A58FA2A8A" bpmnElement="_286676EA-C425-4E45-ACA5-118A2A61646E">
        <di:waypoint x="499" y="307.5"/>
        <di:waypoint x="688" y="307.5"/>
        <di:waypoint x="510" y="307.5"/>
        <di:waypoint x="690" y="312.5"/>
      </bpmndi:BPMNEdge>
    </bpmndi:BPMNPlane>
  </bpmndi:BPMNDiagram>
@@ -86,6 +72,13 @@
      <bpsim:BPSimData>
        <bpsim:Scenario id="default" name="Simulationscenario">
          <bpsim:ScenarioParameters/>
          <bpsim:ElementParameters elementRef="_4DABA446-012C-4882-85F9-ECDCF25C36A4">
            <bpsim:TimeParameters>
              <bpsim:ProcessingTime>
                <bpsim:NormalDistribution mean="0" standardDeviation="0"/>
              </bpsim:ProcessingTime>
            </bpsim:TimeParameters>
          </bpsim:ElementParameters>
          <bpsim:ElementParameters elementRef="_51963AC6-99A5-491E-96AE-5FD4F1A7B118">
            <bpsim:TimeParameters>
              <bpsim:ProcessingTime>
@@ -109,7 +102,7 @@
        </bpsim:Scenario>
      </bpsim:BPSimData>
    </bpmn2:extensionElements>
    <bpmn2:source>_C-XXoermED2i_ZrgmOV2LA</bpmn2:source>
    <bpmn2:target>_C-XXoermED2i_ZrgmOV2LA</bpmn2:target>
    <bpmn2:source>_lgbKQFz9ED--2Leg1vJ8HQ</bpmn2:source>
    <bpmn2:target>_lgbKQFz9ED--2Leg1vJ8HQ</bpmn2:target>
  </bpmn2:relationship>
</bpmn2:definitions>
 No newline at end of file
+12 −19
Changes for src/main/resources/diagrams/ossClient/ossOrders/platformServiceUpdate.bpmn2: 12 added lines, 19 removed lines.
Original line number Diff line number Diff line
<?xml version="1.0" encoding="UTF-8"?>
<bpmn2:definitions xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:bpsim="http://www.bpsim.org/schemas/1.0" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:drools="http://www.jboss.org/drools" xmlns:xsi="xsi" id="_sgF7YN5nED6X6a-huVgv5Q" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd http://www.jboss.org/drools drools.xsd http://www.bpsim.org/schemas/1.0 bpsim.xsd http://www.omg.org/spec/DD/20100524/DC DC.xsd http://www.omg.org/spec/DD/20100524/DI DI.xsd " exporter="jBPM Process Modeler" exporterVersion="2.0" targetNamespace="http://www.omg.org/bpmn20">
<bpmn2:definitions xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:bpsim="http://www.bpsim.org/schemas/1.0" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:drools="http://www.jboss.org/drools" xmlns:xsi="xsi" id="_cFwxMFz-ED-4Du-4jtq2zA" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd http://www.jboss.org/drools drools.xsd http://www.bpsim.org/schemas/1.0 bpsim.xsd http://www.omg.org/spec/DD/20100524/DC DC.xsd http://www.omg.org/spec/DD/20100524/DI DI.xsd " exporter="jBPM Process Modeler" exporterVersion="2.0" targetNamespace="http://www.omg.org/bpmn20">
  <bpmn2:itemDefinition id="_platformServiceUpdateDataItem" structureRef="org.etsi.osl.hypo.core.common.service.inventory.PlatformServiceUpdateData"/>
  <bpmn2:itemDefinition id="__7CDBFE0F-4DCD-4439-B7A6-E2927CBFBD49_eventOutputXItem" structureRef="org.etsi.osl.hypo.core.common.service.inventory.PlatformServiceUpdateData"/>
  <bpmn2:itemDefinition id="tmf-platform-service-updateType" structureRef="org.etsi.osl.hypo.core.common.service.inventory.PlatformServiceUpdateData"/>
  <bpmn2:itemDefinition id="_C33CFED6-4A74-439A-BB5E-1491E368C3FC" structureRef=""/>
  <bpmn2:itemDefinition id="_F9D26E44-8972-4C2D-8720-76648282ABA0" structureRef=""/>
  <bpmn2:itemDefinition id="__D23B17C8-734B-4B63-AC46-66C2483F3907_platformServiceUpdateDataInputXItem" structureRef="org.etsi.osl.hypo.core.common.service.inventory.PlatformServiceUpdateData"/>
  <bpmn2:message id="_sgGicN5nED6X6a-huVgv5Q" itemRef="tmf-platform-service-updateType" name="tmf-platform-service-update"/>
  <bpmn2:collaboration id="_C52FCA0D-E87F-46A8-BF76-62F621907401" name="Default Collaboration">
    <bpmn2:participant id="_A25D94BA-3E50-448A-BDCD-E21741993269" name="Pool Participant" processRef="platformServiceUpdate"/>
  <bpmn2:collaboration id="_34DA3F9A-41BC-4B8D-916A-B7CF37E56B3D" name="Default Collaboration">
    <bpmn2:participant id="_BFC258C9-FE1E-4B7E-B5D2-7FF0AF695645" name="Pool Participant" processRef="platformServiceUpdate"/>
  </bpmn2:collaboration>
  <bpmn2:process id="platformServiceUpdate" drools:packageName="diagrams" drools:version="1.0" drools:adHoc="false" name="platformServiceUpdate" isExecutable="true" processType="Public">
    <bpmn2:documentation><![CDATA[The process that is responsible to accept platform service update messages and handle them.]]></bpmn2:documentation>
@@ -64,15 +59,6 @@
        </drools:metaData>
      </bpmn2:extensionElements>
      <bpmn2:outgoing>_5199591D-6827-4A5E-863D-3D65FAC20117</bpmn2:outgoing>
      <bpmn2:dataOutput id="_7CDBFE0F-4DCD-4439-B7A6-E2927CBFBD49_eventOutputX" drools:dtype="org.etsi.osl.hypo.core.common.service.inventory.PlatformServiceUpdateData" itemSubjectRef="__7CDBFE0F-4DCD-4439-B7A6-E2927CBFBD49_eventOutputXItem" name="event"/>
      <bpmn2:dataOutputAssociation>
        <bpmn2:sourceRef>_7CDBFE0F-4DCD-4439-B7A6-E2927CBFBD49_eventOutputX</bpmn2:sourceRef>
        <bpmn2:targetRef>platformServiceUpdateData</bpmn2:targetRef>
      </bpmn2:dataOutputAssociation>
      <bpmn2:outputSet>
        <bpmn2:dataOutputRefs>_7CDBFE0F-4DCD-4439-B7A6-E2927CBFBD49_eventOutputX</bpmn2:dataOutputRefs>
      </bpmn2:outputSet>
      <bpmn2:messageEventDefinition drools:msgref="tmf-platform-service-update" messageRef="_sgGicN5nED6X6a-huVgv5Q"/>
    </bpmn2:startEvent>
  </bpmn2:process>
  <bpmndi:BPMNDiagram>
@@ -101,6 +87,13 @@
      <bpsim:BPSimData>
        <bpsim:Scenario id="default" name="Simulationscenario">
          <bpsim:ScenarioParameters/>
          <bpsim:ElementParameters elementRef="_7CDBFE0F-4DCD-4439-B7A6-E2927CBFBD49">
            <bpsim:TimeParameters>
              <bpsim:ProcessingTime>
                <bpsim:NormalDistribution mean="0" standardDeviation="0"/>
              </bpsim:ProcessingTime>
            </bpsim:TimeParameters>
          </bpsim:ElementParameters>
          <bpsim:ElementParameters elementRef="_D23B17C8-734B-4B63-AC46-66C2483F3907">
            <bpsim:TimeParameters>
              <bpsim:ProcessingTime>
@@ -124,7 +117,7 @@
        </bpsim:Scenario>
      </bpsim:BPSimData>
    </bpmn2:extensionElements>
    <bpmn2:source>_sgF7YN5nED6X6a-huVgv5Q</bpmn2:source>
    <bpmn2:target>_sgF7YN5nED6X6a-huVgv5Q</bpmn2:target>
    <bpmn2:source>_cFwxMFz-ED-4Du-4jtq2zA</bpmn2:source>
    <bpmn2:target>_cFwxMFz-ED-4Du-4jtq2zA</bpmn2:target>
  </bpmn2:relationship>
</bpmn2:definitions>
 No newline at end of file