Skip to content

Commit

Permalink
Update Sentinel Registration workflow
Browse files Browse the repository at this point in the history
  • Loading branch information
mario-winkler committed Oct 24, 2024
1 parent 1ddd2ba commit 489924b
Showing 1 changed file with 131 additions and 97 deletions.
228 changes: 131 additions & 97 deletions workflows/sentinel-registration-hourly.bpmn
Original file line number Diff line number Diff line change
@@ -1,155 +1,189 @@
<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:flowable="http://flowable.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" xmlns:design="http://flowable.org/design" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://flowable.org/test" design:palette="flowable-work-process-palette">
<process id="sentinelHourly" name="sentinel-hourly" isExecutable="true" flowable:candidateStarterGroups="flowableUser">
<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:flowable="http://flowable.org/bpmn" xmlns:design="http://flowable.org/design" targetNamespace="http://flowable.org/test" design:palette="flowable-work-process-palette">
<collaboration id="Collaboration">
<participant id="bpmnPool_8" name="Sentinel Registration" processRef="sentinelRegistrationHourly" />
<participant id="Participant_1am2w7d" name="Inventory Database" />
<messageFlow id="Flow_1b3xtoy" sourceRef="bpmnTask_1" targetRef="Participant_1am2w7d" />
</collaboration>
<message id="sentinelStartIngestion" name="sentinel-start-ingestion" />
<process id="sentinelRegistrationHourly" name="Sentinel Registration Hourly" isExecutable="true" flowable:candidateStarterGroups="flowableUser">
<extensionElements>
<design:stencilid><![CDATA[BPMNDiagram]]></design:stencilid>
<design:creationdate><![CDATA[2024-10-07T08:29:30.266Z]]></design:creationdate>
<design:modificationdate><![CDATA[2024-10-07T12:24:41.872Z]]></design:modificationdate>
<design:stencilid>BPMNDiagram</design:stencilid>
<design:creationdate>2024-10-24T08:10:03.801Z</design:creationdate>
<design:modificationdate>2024-10-24T11:22:48.559Z</design:modificationdate>
</extensionElements>
<serviceTask id="discoverSentinelScenes" name="Discover Sentinel scenes" flowable:type="external-worker" flowable:topic="sentinel_discover_data" flowable:exclusive="false">
<laneSet id="laneSet_sentinelRegistrationHourly">
<lane id="bpmnLane_9">
<flowNodeRef>bpmnSequenceFlow_8</flowNodeRef>
<flowNodeRef>bpmnSequenceFlow_5</flowNodeRef>
<flowNodeRef>bpmnSequenceFlow_9</flowNodeRef>
<flowNodeRef>bpmnSequenceFlow_10</flowNodeRef>
<flowNodeRef>bpmnSequenceFlow_2</flowNodeRef>
<flowNodeRef>bpmnSequenceFlow_3</flowNodeRef>
<flowNodeRef>bpmnCallActivity_6</flowNodeRef>
<flowNodeRef>bpmnTask_1</flowNodeRef>
<flowNodeRef>bpmnGateway_4</flowNodeRef>
<flowNodeRef>bpmnStartEvent_3</flowNodeRef>
<flowNodeRef>bpmnStartEvent_4</flowNodeRef>
<flowNodeRef>bpmnEndEvent_6</flowNodeRef>
</lane>
</laneSet>
<callActivity id="bpmnCallActivity_6" name="Sentinel Scene Ingestion" calledElement="sentinel-scene-ingestion" flowable:sameDeployment="true" flowable:fallbackToDefaultTenant="true">
<extensionElements>
<design:stencilid><![CDATA[ExternalWorkerTask]]></design:stencilid>
<design:stencilsuperid><![CDATA[Task]]></design:stencilsuperid>
<flowable:in source="scene" target="scene" />
<design:stencilid>CallActivity</design:stencilid>
</extensionElements>
</serviceTask>
<serviceTask id="bpmnTask_11" name="Download Scene" flowable:type="external-worker" flowable:topic="sentinel_download_data" flowable:exclusive="false">
<extensionElements>
<design:stencilid><![CDATA[ExternalWorkerTask]]></design:stencilid>
<design:stencilsuperid><![CDATA[Task]]></design:stencilsuperid>
</extensionElements>
</serviceTask>
<serviceTask id="bpmnTask_13" name="Unzip" flowable:type="external-worker" flowable:topic="sentinel_unzip" flowable:exclusive="false">
<extensionElements>
<design:stencilid><![CDATA[ExternalWorkerTask]]></design:stencilid>
<design:stencilsuperid><![CDATA[Task]]></design:stencilsuperid>
</extensionElements>
</serviceTask>
<serviceTask id="bpmnTask_15" name="Check file integrity" flowable:type="external-worker" flowable:topic="sentinel_check_integrity" flowable:exclusive="false">
<extensionElements>
<design:stencilid><![CDATA[ExternalWorkerTask]]></design:stencilid>
<design:stencilsuperid><![CDATA[Task]]></design:stencilsuperid>
</extensionElements>
</serviceTask>
<serviceTask id="bpmnTask_17" name="Extract Metadata" flowable:type="external-worker" flowable:topic="sentinel_extract_metadata" flowable:exclusive="false">
<multiInstanceLoopCharacteristics flowable:collection="${scenes.elements()}" flowable:elementVariable="scene">
<extensionElements />
</multiInstanceLoopCharacteristics>
</callActivity>
<serviceTask id="bpmnTask_1" name="Discover Sentinel Scenes" flowable:type="external-worker" flowable:topic="sentinel_discover_data">
<extensionElements>
<design:stencilid><![CDATA[ExternalWorkerTask]]></design:stencilid>
<design:stencilsuperid><![CDATA[Task]]></design:stencilsuperid>
<design:stencilid>ExternalWorkerTask</design:stencilid>
<design:stencilsuperid>Task</design:stencilsuperid>
</extensionElements>
</serviceTask>
<serviceTask id="bpmnTask_19" name="Register Metadata" flowable:type="external-worker" flowable:topic="sentinel_register_metadata" flowable:exclusive="false">
<exclusiveGateway id="bpmnGateway_4">
<extensionElements>
<design:stencilid><![CDATA[ExternalWorkerTask]]></design:stencilid>
<design:stencilsuperid><![CDATA[Task]]></design:stencilsuperid>
<design:stencilid>Exclusive_Databased_Gateway</design:stencilid>
</extensionElements>
</serviceTask>
<startEvent id="startEachHour" name="Start Each Hour" flowable:initiator="initiator" isInterrupting="false">
</exclusiveGateway>
<startEvent id="bpmnStartEvent_3" name="Start each hour" isInterrupting="false" flowable:initiator="initiator">
<extensionElements>
<flowable:work-form-field-validation><![CDATA[false]]></flowable:work-form-field-validation>
<design:stencilid><![CDATA[StartTimerEvent]]></design:stencilid>
<design:display_ref_in_diagram><![CDATA[true]]></design:display_ref_in_diagram>
<flowable:work-form-field-validation>false</flowable:work-form-field-validation>
<design:stencilid>StartTimerEvent</design:stencilid>
<design:display_ref_in_diagram>true</design:display_ref_in_diagram>
</extensionElements>
<timerEventDefinition>
<timeCycle>R/P0Y0M0DT1H0M0S</timeCycle>
</timerEventDefinition>
</startEvent>
<endEvent id="bpmnEndEvent_21">
<startEvent id="bpmnStartEvent_4" name="Manual start" isInterrupting="false">
<extensionElements>
<design:stencilid><![CDATA[EndNoneEvent]]></design:stencilid>
<flowable:work-form-field-validation>false</flowable:work-form-field-validation>
<design:stencilid>StartMessageEvent</design:stencilid>
<design:display_ref_in_diagram>true</design:display_ref_in_diagram>
</extensionElements>
</endEvent>
<sequenceFlow id="bpmnSequenceFlow_12" sourceRef="discoverSentinelScenes" targetRef="bpmnTask_11">
<messageEventDefinition messageRef="sentinelStartIngestion" />
</startEvent>
<endEvent id="bpmnEndEvent_6" name="Done">
<extensionElements>
<design:stencilid><![CDATA[SequenceFlow]]></design:stencilid>
<design:stencilid>EndNoneEvent</design:stencilid>
<design:display_ref_in_diagram>true</design:display_ref_in_diagram>
</extensionElements>
</sequenceFlow>
<sequenceFlow id="bpmnSequenceFlow_14" sourceRef="bpmnTask_11" targetRef="bpmnTask_13">
</endEvent>
<sequenceFlow id="bpmnSequenceFlow_8" sourceRef="bpmnCallActivity_6" targetRef="bpmnEndEvent_6">
<extensionElements>
<design:stencilid><![CDATA[SequenceFlow]]></design:stencilid>
<design:stencilid>SequenceFlow</design:stencilid>
</extensionElements>
</sequenceFlow>
<sequenceFlow id="bpmnSequenceFlow_16" sourceRef="bpmnTask_13" targetRef="bpmnTask_15">
<sequenceFlow id="bpmnSequenceFlow_5" sourceRef="bpmnTask_1" targetRef="bpmnGateway_4">
<extensionElements>
<design:stencilid><![CDATA[SequenceFlow]]></design:stencilid>
<design:stencilid>SequenceFlow</design:stencilid>
</extensionElements>
</sequenceFlow>
<sequenceFlow id="bpmnSequenceFlow_18" sourceRef="bpmnTask_15" targetRef="bpmnTask_17">
<sequenceFlow id="bpmnSequenceFlow_9" name="scenes found" sourceRef="bpmnGateway_4" targetRef="bpmnCallActivity_6">
<extensionElements>
<design:stencilid><![CDATA[SequenceFlow]]></design:stencilid>
<design:stencilid>SequenceFlow</design:stencilid>
<design:display_ref_in_diagram>true</design:display_ref_in_diagram>
</extensionElements>
<conditionExpression xsi:type="tFormalExpression">#{!S(scenes).elements().isEmpty()}</conditionExpression>
</sequenceFlow>
<sequenceFlow id="bpmnSequenceFlow_20" sourceRef="bpmnTask_17" targetRef="bpmnTask_19">
<sequenceFlow id="bpmnSequenceFlow_10" name="no scenes found" sourceRef="bpmnGateway_4" targetRef="bpmnEndEvent_6">
<extensionElements>
<design:stencilid><![CDATA[SequenceFlow]]></design:stencilid>
<design:stencilid>SequenceFlow</design:stencilid>
<design:display_ref_in_diagram>true</design:display_ref_in_diagram>
</extensionElements>
<conditionExpression xsi:type="tFormalExpression">#{S(scenes).elements().isEmpty()}</conditionExpression>
</sequenceFlow>
<sequenceFlow id="bpmnSequenceFlow_22" sourceRef="bpmnTask_19" targetRef="bpmnEndEvent_21">
<sequenceFlow id="bpmnSequenceFlow_2" sourceRef="bpmnStartEvent_3" targetRef="bpmnTask_1">
<extensionElements>
<design:stencilid><![CDATA[SequenceFlow]]></design:stencilid>
<design:stencilid>SequenceFlow</design:stencilid>
</extensionElements>
</sequenceFlow>
<sequenceFlow id="bpmnSequenceFlow_3" sourceRef="startEachHour" targetRef="discoverSentinelScenes">
<sequenceFlow id="bpmnSequenceFlow_3" sourceRef="bpmnStartEvent_4" targetRef="bpmnTask_1">
<extensionElements>
<design:stencilid><![CDATA[SequenceFlow]]></design:stencilid>
<design:stencilid>SequenceFlow</design:stencilid>
</extensionElements>
</sequenceFlow>
</process>
<bpmndi:BPMNDiagram id="BPMNDiagram_sentinelHourly">
<bpmndi:BPMNPlane bpmnElement="sentinelHourly" id="BPMNPlane_sentinelHourly">
<bpmndi:BPMNShape bpmnElement="discoverSentinelScenes" id="BPMNShape_discoverSentinelScenes">
<omgdc:Bounds height="80.0" width="100.0" x="317.0" y="586.0"></omgdc:Bounds>
<bpmndi:BPMNDiagram id="BPMNDiagram_Collaboration">
<bpmndi:BPMNPlane id="BPMNPlane_Collaboration" bpmnElement="Collaboration">
<bpmndi:BPMNShape id="BPMNShape_bpmnPool_8" bpmnElement="bpmnPool_8" isHorizontal="true">
<omgdc:Bounds x="239" y="280" width="941" height="280" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="bpmnTask_11" id="BPMNShape_bpmnTask_11">
<omgdc:Bounds height="80.0" width="100.0" x="460.0" y="586.0"></omgdc:Bounds>
<bpmndi:BPMNShape id="BPMNShape_bpmnLane_9" bpmnElement="bpmnLane_9" isHorizontal="true">
<omgdc:Bounds x="269" y="280" width="911" height="280" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="bpmnTask_13" id="BPMNShape_bpmnTask_13">
<omgdc:Bounds height="80.0" width="100.0" x="605.0" y="586.0"></omgdc:Bounds>
<bpmndi:BPMNShape id="BPMNShape_bpmnCallActivity_6" bpmnElement="bpmnCallActivity_6">
<omgdc:Bounds x="841" y="342" width="107" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="bpmnTask_15" id="BPMNShape_bpmnTask_15">
<omgdc:Bounds height="80.0" width="100.0" x="747.0" y="586.0"></omgdc:Bounds>
<bpmndi:BPMNShape id="BPMNShape_bpmnTask_1" bpmnElement="bpmnTask_1">
<omgdc:Bounds x="497" y="342" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="bpmnTask_17" id="BPMNShape_bpmnTask_17">
<omgdc:Bounds height="80.0" width="100.0" x="888.0" y="586.0"></omgdc:Bounds>
<bpmndi:BPMNShape id="BPMNShape_bpmnGateway_4" bpmnElement="bpmnGateway_4" isMarkerVisible="true">
<omgdc:Bounds x="653" y="362" width="40" height="40" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="bpmnTask_19" id="BPMNShape_bpmnTask_19">
<omgdc:Bounds height="80.0" width="100.0" x="1038.0" y="586.0"></omgdc:Bounds>
<bpmndi:BPMNShape id="BPMNShape_bpmnStartEvent_3" bpmnElement="bpmnStartEvent_3">
<omgdc:Bounds x="375" y="367" width="30" height="30" />
<bpmndi:BPMNLabel>
<omgdc:Bounds x="343.7" y="403" width="93" height="18" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="startEachHour" id="BPMNShape_startEachHour">
<omgdc:Bounds height="30.0" width="30.0" x="227.0" y="611.0"></omgdc:Bounds>
<bpmndi:BPMNShape id="BPMNShape_bpmnStartEvent_4" bpmnElement="bpmnStartEvent_4">
<omgdc:Bounds x="375" y="451" width="30" height="30" />
<bpmndi:BPMNLabel>
<omgdc:Bounds height="18.0" width="95.0" x="203.0" y="650.0"></omgdc:Bounds>
<omgdc:Bounds x="354.4" y="490" width="75" height="18" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="bpmnEndEvent_21" id="BPMNShape_bpmnEndEvent_21">
<omgdc:Bounds height="28.0" width="28.0" x="1185.0" y="612.0"></omgdc:Bounds>
<bpmndi:BPMNShape id="BPMNShape_bpmnEndEvent_6" bpmnElement="bpmnEndEvent_6">
<omgdc:Bounds x="1050" y="368" width="28" height="28" />
<bpmndi:BPMNLabel>
<omgdc:Bounds x="1049.8" y="337" width="32" height="18" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge bpmnElement="bpmnSequenceFlow_22" id="BPMNEdge_bpmnSequenceFlow_22" flowable:sourceDockerX="50.0" flowable:sourceDockerY="40.0" flowable:targetDockerX="14.0" flowable:targetDockerY="14.0">
<omgdi:waypoint x="1138.0" y="626.0"></omgdi:waypoint>
<omgdi:waypoint x="1185.0" y="626.0"></omgdi:waypoint>
<bpmndi:BPMNEdge id="BPMNEdge_bpmnSequenceFlow_8" bpmnElement="bpmnSequenceFlow_8" flowable:sourceDockerX="54.0" flowable:sourceDockerY="40.0" flowable:targetDockerX="14.0" flowable:targetDockerY="14.0">
<omgdi:waypoint x="948" y="382" />
<omgdi:waypoint x="1050" y="382.0000000000177" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="bpmnSequenceFlow_12" id="BPMNEdge_bpmnSequenceFlow_12" flowable:sourceDockerX="50.0" flowable:sourceDockerY="40.0" flowable:targetDockerX="50.0" flowable:targetDockerY="40.0">
<omgdi:waypoint x="417.0" y="626.0"></omgdi:waypoint>
<omgdi:waypoint x="460.0" y="626.0"></omgdi:waypoint>
<bpmndi:BPMNEdge id="BPMNEdge_bpmnSequenceFlow_5" bpmnElement="bpmnSequenceFlow_5" flowable:sourceDockerX="50.0" flowable:sourceDockerY="40.0" flowable:targetDockerX="20.0" flowable:targetDockerY="20.0">
<omgdi:waypoint x="597" y="382" />
<omgdi:waypoint x="653" y="382" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="bpmnSequenceFlow_14" id="BPMNEdge_bpmnSequenceFlow_14" flowable:sourceDockerX="50.0" flowable:sourceDockerY="40.0" flowable:targetDockerX="50.0" flowable:targetDockerY="40.0">
<omgdi:waypoint x="560.0" y="626.0"></omgdi:waypoint>
<omgdi:waypoint x="605.0" y="626.0"></omgdi:waypoint>
<bpmndi:BPMNEdge id="BPMNEdge_bpmnSequenceFlow_9" bpmnElement="bpmnSequenceFlow_9" flowable:sourceDockerX="20.0" flowable:sourceDockerY="20.0" flowable:targetDockerX="54.0" flowable:targetDockerY="40.0">
<omgdi:waypoint x="693" y="382" />
<omgdi:waypoint x="841" y="382.0000000036547" />
<bpmndi:BPMNLabel>
<omgdc:Bounds x="727" y="363" width="66" height="14" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="bpmnSequenceFlow_16" id="BPMNEdge_bpmnSequenceFlow_16" flowable:sourceDockerX="50.0" flowable:sourceDockerY="40.0" flowable:targetDockerX="50.0" flowable:targetDockerY="40.0">
<omgdi:waypoint x="705.0" y="626.0"></omgdi:waypoint>
<omgdi:waypoint x="747.0" y="626.0"></omgdi:waypoint>
<bpmndi:BPMNEdge id="BPMNEdge_bpmnSequenceFlow_10" bpmnElement="bpmnSequenceFlow_10" flowable:sourceDockerX="20.0" flowable:sourceDockerY="20.0" flowable:targetDockerX="14.0" flowable:targetDockerY="14.0">
<omgdi:waypoint x="673" y="402" />
<omgdi:waypoint x="673" y="496" />
<omgdi:waypoint x="1064" y="496" />
<omgdi:waypoint x="1064" y="396" />
<bpmndi:BPMNLabel>
<omgdc:Bounds x="779" y="473" width="81" height="14" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="bpmnSequenceFlow_3" id="BPMNEdge_bpmnSequenceFlow_3" flowable:sourceDockerX="15.0" flowable:sourceDockerY="15.0" flowable:targetDockerX="50.0" flowable:targetDockerY="40.0">
<omgdi:waypoint x="257.0" y="626.0"></omgdi:waypoint>
<omgdi:waypoint x="317.0" y="626.0"></omgdi:waypoint>
<bpmndi:BPMNEdge id="BPMNEdge_bpmnSequenceFlow_2" bpmnElement="bpmnSequenceFlow_2" flowable:sourceDockerX="15.0" flowable:sourceDockerY="15.0" flowable:targetDockerX="50.0" flowable:targetDockerY="40.0">
<omgdi:waypoint x="405" y="382" />
<omgdi:waypoint x="497" y="382" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="bpmnSequenceFlow_18" id="BPMNEdge_bpmnSequenceFlow_18" flowable:sourceDockerX="50.0" flowable:sourceDockerY="40.0" flowable:targetDockerX="50.0" flowable:targetDockerY="40.0">
<omgdi:waypoint x="847.0" y="626.0"></omgdi:waypoint>
<omgdi:waypoint x="888.0" y="626.0"></omgdi:waypoint>
<bpmndi:BPMNEdge id="BPMNEdge_bpmnSequenceFlow_3" bpmnElement="bpmnSequenceFlow_3" flowable:sourceDockerX="15.0" flowable:sourceDockerY="15.0" flowable:targetDockerX="50.0" flowable:targetDockerY="40.0">
<omgdi:waypoint x="405" y="466" />
<omgdi:waypoint x="451" y="466" />
<omgdi:waypoint x="451" y="382" />
<omgdi:waypoint x="497" y="382" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="bpmnSequenceFlow_20" id="BPMNEdge_bpmnSequenceFlow_20" flowable:sourceDockerX="50.0" flowable:sourceDockerY="40.0" flowable:targetDockerX="50.0" flowable:targetDockerY="40.0">
<omgdi:waypoint x="988.0" y="626.0"></omgdi:waypoint>
<omgdi:waypoint x="1038.0" y="626.0"></omgdi:waypoint>
<bpmndi:BPMNShape id="Participant_03wnyh8_di" bpmnElement="Participant_1am2w7d" isHorizontal="true">
<omgdc:Bounds x="387" y="630" width="320" height="60" />
<bpmndi:BPMNLabel />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="Flow_1b3xtoy_di" bpmnElement="Flow_1b3xtoy">
<omgdi:waypoint x="547" y="422" />
<omgdi:waypoint x="547" y="630" />
</bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</definitions>
</definitions>

0 comments on commit 489924b

Please sign in to comment.