summaryrefslogtreecommitdiffstats
path: root/src/test/resources
diff options
context:
space:
mode:
authorDeterme, Sebastien (sd378r) <sd378r@intl.att.com>2017-09-14 16:11:00 +0200
committerDeterme, Sebastien (sd378r) <sd378r@intl.att.com>2017-09-14 16:11:00 +0200
commitfbe35388ec1841b8a75fb054d2fc809b901c11aa (patch)
treedf161597529660407dc097a184284de3d05eff35 /src/test/resources
parent729ad06baa65151578399f13173cc5de35e1be8c (diff)
Add new tests for DAO
New test to validate some methods of the DAO and attempt to disable Camunda in IT when it was not required to have it Change-Id: I231230a7a4818f4bfd7887319a321625f66ffcae Issue-ID: CLAMP-54 Signed-off-by: Determe, Sebastien (sd378r) <sd378r@intl.att.com>
Diffstat (limited to 'src/test/resources')
-rw-r--r--src/test/resources/application-no-camunda.properties158
-rw-r--r--src/test/resources/example/dao/bpmn-prop.json54
-rw-r--r--src/test/resources/example/dao/bpmn-template.xml126
-rw-r--r--src/test/resources/example/dao/image-template.xml448
4 files changed, 786 insertions, 0 deletions
diff --git a/src/test/resources/application-no-camunda.properties b/src/test/resources/application-no-camunda.properties
new file mode 100644
index 000000000..dbf0e5bab
--- /dev/null
+++ b/src/test/resources/application-no-camunda.properties
@@ -0,0 +1,158 @@
+###
+# ============LICENSE_START=======================================================
+# ONAP CLAMP
+# ================================================================================
+# 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============================================
+# ===================================================================
+# ECOMP is a trademark and service mark of AT&T Intellectual Property.
+###
+
+info.build.artifact=@project.artifactId@
+info.build.name=@project.name@
+info.build.description=@project.description@
+info.build.version=@project.version@
+
+### Set the port for HTTP or HTTPS protocol (Controlled by Spring framework, only one at a time).
+### (See below for the parameter 'server.http.port' if you want to have both enabled)
+### To have only HTTP, keep the lines server.ssl.* commented
+### To have only HTTPS enabled, uncomment the server.ssl.* lines and specify a right keystore location
+server.port=10443
+### Settings for HTTPS (this automatically enables the HTTPS on the port 'server.port')
+server.ssl.key-store=classpath:https/keystore-test.jks
+server.ssl.key-store-password=testpass
+server.ssl.key-password=testpass
+
+### In order to be user friendly when HTTPS is enabled,
+### you can add another HTTP port that will be automatically redirected to HTTPS
+### by enabling this parameter (server.http.port) and set it to another port (80 or 8080, 8090, etc ...)
+#server.http-to-https-redirection.port=10080
+
+### HTTP Example:
+###--------------
+### server.port=8080
+
+### HTTPS Example:
+### --------------
+### server.port=8443
+### server.ssl.key-store=file:/tmp/mykey.jks
+### server.ssl.key-store-password=mypass
+### server.ssl.key-password=mypass
+
+### HTTP (Redirected to HTTPS) and HTTPS Example:
+### --------------------------------------------
+### server.port=8443 <-- The HTTPS port
+### server.ssl.key-store=file:/tmp/mykey.jks
+### server.ssl.key-store-password=mypass
+### server.ssl.key-password=mypass
+### server.http-to-https-redirection.port=8090 <-- The HTTP port
+
+server.contextPath=/
+#Modified engine-rest applicationpath
+spring.jersey.application-path=/engine-rest
+spring.profiles.active=clamp-default,clamp-spring-authentication
+spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration,org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration
+
+#The max number of active threads in this pool
+server.tomcat.max-threads=200
+#The minimum number of threads always kept alive
+server.tomcat.min-Spare-Threads=25
+#The number of milliseconds before an idle thread shutsdown, unless the number of active threads are less or equal to minSpareThreads
+server.tomcat.max-idle-time=60000
+
+
+#Add this properties only if you want to change the URL, AJSC Framework interceptors will intercept
+#com.att.ajsc.common.interceptors.PreInterceptor.url=/**
+#com.att.ajsc.common.interceptors.PostInterceptor.url=/**
+
+#Servlet context parameters
+server.context_parameters.p-name=value #context parameter with p-name as key and value as value.
+
+camel.springboot.consumer-template-cache-size=1000
+camel.springboot.producer-template-cache-size=1000
+camel.springboot.jmx-enabled=true
+camel.defaultthreadpool.poolsize=10
+camel.defaultthreadpool.maxpoolsize=20
+camel.defaultthreadpool.maxqueuesize=1000
+camel.defaultthreadpool.keepaliveTime=60
+camel.defaultthreadpool.rejectpolicy=CallerRuns
+
+kubernetes.namespace=com-att-ajsc
+
+#server.port=0
+
+#Camunda Process Engine DataSource connection Details
+spring.datasource.camunda.url=jdbc:mariadb://localhost:${docker.mariadb.port.host}/camundabpm?verifyServerCertificate=false&useSSL=false&requireSSL=false&autoReconnect=true&maxReconnects=100
+spring.datasource.camunda.username=camunda
+spring.datasource.camunda.password=ndMSpw4CAM
+spring.datasource.camunda.driverClassName=org.mariadb.jdbc.Driver
+spring.datasource.camunda.validationQuery=SELECT 1
+spring.datasource.camunda.validationQueryTimeout=20000
+spring.datasource.camunda.validationInterval=60000
+spring.datasource.camunda.testWhileIdle = true
+# Automatically test whether a connection provided is good or not
+spring.datasource.camunda.testOnBorrow=true
+
+#Camunda application properties
+#Camunda history level
+camunda.bpm.history-level=auto
+camunda.bpm.enabled=false
+camunda.bpm.auto-deployment-enabled=false
+camunda.bpm.job-execution.active=false
+camunda.bpm.job-execution.enabled=false
+camunda.bpm.management.health.camunda.enabled=false
+camunda.bpm.metrics.enabled=false
+
+#clds datasource connection details
+spring.datasource.cldsdb.driver-class-name=org.mariadb.jdbc.Driver
+spring.datasource.cldsdb.url=jdbc:mariadb://localhost:${docker.mariadb.port.host}/cldsdb4?verifyServerCertificate=false&useSSL=false&requireSSL=false&autoReconnect=true&maxReconnects=100
+spring.datasource.cldsdb.username=clds
+spring.datasource.cldsdb.password=sidnnd83K
+spring.datasource.cldsdb.driverClassName=com.mysql.jdbc.Driver
+spring.datasource.cldsdb.validationQuery=SELECT 1
+spring.datasource.cldsdb.validationQueryTimeout=20000
+spring.datasource.cldsdb.validationInterval=60000
+spring.datasource.cldsdb.testWhileIdle = true
+# Automatically test whether a connection provided is good or not
+spring.datasource.cldsdb.testOnBorrow=true
+
+#Async Executor default Parameters
+async.core.pool.size=10
+async.max.pool.size=20
+async.queue.capacity=500
+
+org.onap.clamp.config.dcae.url=http://localhost:9000/closedloop-dcae-services
+
+#GRM Edge endpoint details
+service.name=ajsc6camundademo
+service.version=1.0.0.0
+routeoffer=TEST
+#Update with your application name
+application.name=AJSC6CAMUNDA
+
+org.onap.clamp.config.files.cldsReference=classpath:/clds/clds-reference.properties
+org.onap.clamp.config.files.cldsPolicyConfig=classpath:/clds/clds-policy-config.properties
+org.onap.clamp.config.files.cldsUsers=classpath:/clds/clds-users.json
+org.onap.clamp.config.files.globalClds=classpath:/clds/globalClds.properties
+
+#Define user permission related parameters, the permission type can be changed but MUST be redefined in clds-users.properties in that case !
+CLDS_PERMISSION_TYPE_CL=permission-type-cl
+CLDS_PERMISSION_TYPE_CL_MANAGE=permission-type-cl-manage
+CLDS_PERMISSION_TYPE_CL_EVENT=permission-type-cl-event
+CLDS_PERMISSION_TYPE_FILTER_VF=permission-type-filter-vf
+CLDS_PERMISSION_TYPE_TEMPLATE=permission-type-template
+#This one indicates the type of instances (dev|prod|perf...), this must be set accordingly in clds-users.properties
+CLDS_PERMISSION_INSTANCE=dev \ No newline at end of file
diff --git a/src/test/resources/example/dao/bpmn-prop.json b/src/test/resources/example/dao/bpmn-prop.json
new file mode 100644
index 000000000..f2bfc7de0
--- /dev/null
+++ b/src/test/resources/example/dao/bpmn-prop.json
@@ -0,0 +1,54 @@
+{
+ "Holmes_1m8n1s9": [
+ {
+ "name": "correlationalLogic",
+ "value": "uktukk"
+ }
+ ],
+ "Policy_19c1hms": {
+ "policy1": [
+ {
+ "name": "pname",
+ "value": "policy1"
+ },
+ {
+ "name": "pid",
+ "value": "0"
+ },
+ {
+ "name": "timeout",
+ "value": "345"
+ },
+ {
+ "policyConfigurations": [
+ [
+ {
+ "name": "maxRetries",
+ "value": [
+ "3"
+ ]
+ },
+ {
+ "name": "retryTimeLimit",
+ "value": [
+ "180"
+ ]
+ },
+ {
+ "name": "_id",
+ "value": [
+ "JmAZRQx"
+ ]
+ },
+ {
+ "name": "parentPolicy",
+ "value": [
+ ""
+ ]
+ }
+ ]
+ ]
+ }
+ ]
+ }
+} \ No newline at end of file
diff --git a/src/test/resources/example/dao/bpmn-template.xml b/src/test/resources/example/dao/bpmn-template.xml
new file mode 100644
index 000000000..5aa133acf
--- /dev/null
+++ b/src/test/resources/example/dao/bpmn-template.xml
@@ -0,0 +1,126 @@
+<?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">
+ <bpmn:process id="Process_1" isExecutable="false">
+ <bpmn:startEvent id="StartEvent_1">
+ <bpmn:outgoing>SequenceFlow_0mshiwd</bpmn:outgoing>
+ </bpmn:startEvent>
+ <bpmn:collector id="Collector_1i63yo1">
+ <bpmn:incoming>SequenceFlow_0mshiwd</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_0z37chw</bpmn:outgoing>
+ </bpmn:collector>
+ <bpmn:stringMatch id="StringMatch_1g5af0z">
+ <bpmn:incoming>SequenceFlow_0z37chw</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_1io8zzg</bpmn:outgoing>
+ </bpmn:stringMatch>
+ <bpmn:vesCollector id="VesCollector_1s3sgbh">
+ <bpmn:incoming>SequenceFlow_1io8zzg</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_0yenh9m</bpmn:outgoing>
+ </bpmn:vesCollector>
+ <bpmn:holmes id="Holmes_1m8n1s9">
+ <bpmn:incoming>SequenceFlow_0yenh9m</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_1gq21be</bpmn:outgoing>
+ </bpmn:holmes>
+ <bpmn:tCA id="TCA_11n5nl9">
+ <bpmn:incoming>SequenceFlow_1gq21be</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_14phr7v</bpmn:outgoing>
+ </bpmn:tCA>
+ <bpmn:policy id="Policy_19c1hms">
+ <bpmn:incoming>SequenceFlow_14phr7v</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_1q2yngv</bpmn:outgoing>
+ </bpmn:policy>
+ <bpmn:endEvent id="EndEvent_0z8t6ek">
+ <bpmn:incoming>SequenceFlow_1q2yngv</bpmn:incoming>
+ </bpmn:endEvent>
+ <bpmn:sequenceFlow id="SequenceFlow_0mshiwd" sourceRef="StartEvent_1" targetRef="Collector_1i63yo1" />
+ <bpmn:sequenceFlow id="SequenceFlow_0z37chw" sourceRef="Collector_1i63yo1" targetRef="StringMatch_1g5af0z" />
+ <bpmn:sequenceFlow id="SequenceFlow_1io8zzg" sourceRef="StringMatch_1g5af0z" targetRef="VesCollector_1s3sgbh" />
+ <bpmn:sequenceFlow id="SequenceFlow_0yenh9m" sourceRef="VesCollector_1s3sgbh" targetRef="Holmes_1m8n1s9" />
+ <bpmn:sequenceFlow id="SequenceFlow_1gq21be" sourceRef="Holmes_1m8n1s9" targetRef="TCA_11n5nl9" />
+ <bpmn:sequenceFlow id="SequenceFlow_14phr7v" sourceRef="TCA_11n5nl9" targetRef="Policy_19c1hms" />
+ <bpmn:sequenceFlow id="SequenceFlow_1q2yngv" sourceRef="Policy_19c1hms" targetRef="EndEvent_0z8t6ek" />
+ </bpmn:process>
+ <bpmndi:BPMNDiagram id="BPMNDiagram_1">
+ <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="Process_1">
+ <bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="StartEvent_1">
+ <dc:Bounds x="50" y="162" width="36" height="36" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="Collector_1i63yo1_di" bpmnElement="Collector_1i63yo1">
+ <dc:Bounds x="216" y="152" width="120" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="StringMatch_1g5af0z_di" bpmnElement="StringMatch_1g5af0z">
+ <dc:Bounds x="378" y="140" width="120" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="VesCollector_1s3sgbh_di" bpmnElement="VesCollector_1s3sgbh">
+ <dc:Bounds x="552" y="140" width="120" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="Holmes_1m8n1s9_di" bpmnElement="Holmes_1m8n1s9">
+ <dc:Bounds x="702" y="140" width="120" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="TCA_11n5nl9_di" bpmnElement="TCA_11n5nl9">
+ <dc:Bounds x="878" y="140" width="120" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="Policy_19c1hms_di" bpmnElement="Policy_19c1hms">
+ <dc:Bounds x="1031" y="140" width="120" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="EndEvent_0z8t6ek_di" bpmnElement="EndEvent_0z8t6ek">
+ <dc:Bounds x="1231" y="162" width="36" height="36" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1204" y="198" width="90" height="20" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0mshiwd_di" bpmnElement="SequenceFlow_0mshiwd">
+ <di:waypoint xsi:type="dc:Point" x="86" y="180" />
+ <di:waypoint xsi:type="dc:Point" x="151" y="180" />
+ <di:waypoint xsi:type="dc:Point" x="151" y="192" />
+ <di:waypoint xsi:type="dc:Point" x="216" y="192" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="106" y="176" width="90" height="20" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0z37chw_di" bpmnElement="SequenceFlow_0z37chw">
+ <di:waypoint xsi:type="dc:Point" x="336" y="192" />
+ <di:waypoint xsi:type="dc:Point" x="357" y="192" />
+ <di:waypoint xsi:type="dc:Point" x="357" y="180" />
+ <di:waypoint xsi:type="dc:Point" x="378" y="180" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="312" y="176" width="90" height="20" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_1io8zzg_di" bpmnElement="SequenceFlow_1io8zzg">
+ <di:waypoint xsi:type="dc:Point" x="498" y="180" />
+ <di:waypoint xsi:type="dc:Point" x="552" y="180" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="480" y="170" width="90" height="20" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_0yenh9m_di" bpmnElement="SequenceFlow_0yenh9m">
+ <di:waypoint xsi:type="dc:Point" x="672" y="180" />
+ <di:waypoint xsi:type="dc:Point" x="702" y="180" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="642" y="170" width="90" height="20" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_1gq21be_di" bpmnElement="SequenceFlow_1gq21be">
+ <di:waypoint xsi:type="dc:Point" x="822" y="180" />
+ <di:waypoint xsi:type="dc:Point" x="878" y="180" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="805" y="170" width="90" height="20" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_14phr7v_di" bpmnElement="SequenceFlow_14phr7v">
+ <di:waypoint xsi:type="dc:Point" x="998" y="180" />
+ <di:waypoint xsi:type="dc:Point" x="1031" y="180" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="969.5" y="170" width="90" height="20" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_1q2yngv_di" bpmnElement="SequenceFlow_1q2yngv">
+ <di:waypoint xsi:type="dc:Point" x="1151" y="180" />
+ <di:waypoint xsi:type="dc:Point" x="1231" y="180" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="1146" y="170" width="90" height="20" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ </bpmndi:BPMNPlane>
+ </bpmndi:BPMNDiagram>
+</bpmn:definitions>
diff --git a/src/test/resources/example/dao/image-template.xml b/src/test/resources/example/dao/image-template.xml
new file mode 100644
index 000000000..d7af2aa67
--- /dev/null
+++ b/src/test/resources/example/dao/image-template.xml
@@ -0,0 +1,448 @@
+<?xml version="1.0" encoding="utf-8"?><!-- created with bpmn-js / http://bpmn.io --><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
+ width="1229" height="104" viewBox="44 134 1229 104" version="1.1">
+ <defs>
+ <marker viewBox="0 0 20 20" markerWidth="10" markerHeight="10"
+ orient="auto" refX="11" refY="10" id="markerSj7j5bqgxx">
+ <path d="M 1 5 L 11 10 L 1 15 Z"
+ style="stroke-width: 1; stroke-linecap: round; stroke-dasharray: 10000, 1;"
+ fill="#000000" />
+ </marker>
+ <marker viewBox="0 0 20 20" markerWidth="20" markerHeight="20"
+ orient="auto" refX="6" refY="6" id="markerSj7j5bqgxz">
+ <circle cx="6" cy="6" r="3.5"
+ style="stroke-width: 1; stroke-linecap: round; stroke-dasharray: 10000, 1;"
+ fill="#ffffff" stroke="#000000" />
+ </marker>
+ <marker viewBox="0 0 20 20" markerWidth="20" markerHeight="20"
+ orient="auto" refX="8.5" refY="5" id="markerSj7j5bqgx11">
+ <path d="m 1 5 l 0 -3 l 7 3 l -7 3 z"
+ style="stroke-width: 1; stroke-linecap: butt; stroke-dasharray: 10000, 1;"
+ fill="#ffffff" stroke="#000000" />
+ </marker>
+ <marker viewBox="0 0 20 20" markerWidth="10" markerHeight="10"
+ orient="auto" refX="11" refY="10" id="markerSj7j5bqgx13">
+ <path d="M 1 5 L 11 10 L 1 15"
+ style="stroke-width: 1; stroke-linecap: round; stroke-dasharray: 10000, 1;"
+ fill="#ffffff" stroke="#000000" />
+ </marker>
+ <marker viewBox="0 0 20 20" markerWidth="10" markerHeight="10"
+ orient="auto" refX="-1" refY="10" id="markerSj7j5bqgx15">
+ <path d="M 0 10 L 8 6 L 16 10 L 8 14 Z"
+ style="stroke-width: 1; stroke-linecap: round; stroke-dasharray: 10000, 1;"
+ fill="#ffffff" stroke="#000000" />
+ </marker>
+ <marker viewBox="0 0 20 20" markerWidth="10" markerHeight="10"
+ orient="auto" refX="-5" refY="10" id="markerSj7j5bqgx17">
+ <path d="M 1 4 L 5 16"
+ style="stroke-width: 1; stroke-linecap: round; stroke-dasharray: 10000, 1;"
+ fill="#000000" stroke="#000000" />
+ </marker>
+ </defs>
+ <g class="djs-group" xmlns="http://www.w3.org/2000/svg">
+ <g class="djs-element djs-shape" data-element-id="StartEvent_1"
+ transform="matrix(1,0,0,1,50,162)" style="display: block;">
+ <rect fill="none" class="djs-outline" x="-6" y="-6" width="48"
+ height="48"></rect>
+ <g class="djs-visual">
+ <circle cx="18" cy="18" r="18" style="stroke-width: 2;"
+ stroke="#000000" fill="#ffffff"></circle>
+ </g>
+ <rect x="0" y="0" width="36" height="36"
+ style="stroke-opacity: 0; stroke-width: 15;" fill="none" stroke="#ffffff"
+ class="djs-hit"></rect>
+ </g>
+ </g>
+ <g class="djs-group" xmlns="http://www.w3.org/2000/svg">
+ <g class="djs-element djs-shape" data-element-id="StartEvent_1_label"
+ transform="matrix(1,0,0,1,23,198)" style="display: none;">
+ <rect fill="none" class="djs-outline" x="-6" y="-6" width="102"
+ height="32"></rect>
+ <g class="djs-visual">
+ <text style="font-family: Arial,sans-serif; font-size: 11px;"
+ class=" djs-label">
+ <tspan x="45" y="0"></tspan>
+ </text>
+ </g>
+ <rect x="0" y="0" width="90" height="20"
+ style="stroke-opacity: 0; stroke-width: 15;" fill="none" stroke="#ffffff"
+ class="djs-hit"></rect>
+ </g>
+ </g>
+ <g class="djs-group" xmlns="http://www.w3.org/2000/svg">
+ <g class="djs-element djs-shape" data-element-id="Collector_1i63yo1"
+ transform="matrix(1,0,0,1,216,152)" style="display: block;">
+ <rect fill="none" class="djs-outline" x="-6" y="-6" width="132"
+ height="92"></rect>
+ <g class="djs-visual">
+ <rect x="0" y="0" width="120" height="80" rx="0" ry="0"
+ style="stroke-width: 2;" stroke="#000000" fill="#ffffff"></rect>
+ <polyline points="120,80 120,20 " style="stroke-width: 2;"
+ fill="none" stroke="#000000"></polyline>
+ <polyline points="20,0 20,80 " style="stroke-width: 2;"
+ fill="none" stroke="#000000"></polyline>
+ <text style="font-family: Arial,sans-serif; font-size: 12px;"
+ class=" djs-label">
+ <tspan x="35.5" y="43.5">Collector</tspan>
+ </text>
+ </g>
+ <rect x="0" y="0" width="120" height="80"
+ style="stroke-opacity: 0; stroke-width: 15;" fill="none" stroke="#ffffff"
+ class="djs-hit"></rect>
+ </g>
+ </g>
+ <g class="djs-group" xmlns="http://www.w3.org/2000/svg">
+ <g class="djs-element djs-shape" data-element-id="StringMatch_1g5af0z"
+ transform="matrix(1,0,0,1,378,140)" style="display: block;">
+ <rect fill="none" class="djs-outline" x="-6" y="-6" width="132"
+ height="92"></rect>
+ <g class="djs-visual">
+ <rect x="0" y="0" width="120" height="80" rx="0" ry="0"
+ style="stroke-width: 2;" stroke="#000000" fill="#ffffff"></rect>
+ <polyline points="0,20 120,20 " style="stroke-width: 2;"
+ fill="none" stroke="#000000"></polyline>
+ <text style="font-family: Arial,sans-serif; font-size: 12px;"
+ class=" djs-label">
+ <tspan x="27.5" y="43.5">StringMatch</tspan>
+ </text>
+ </g>
+ <rect x="0" y="0" width="120" height="80"
+ style="stroke-opacity: 0; stroke-width: 15;" fill="none" stroke="#ffffff"
+ class="djs-hit"></rect>
+ </g>
+ </g>
+ <g class="djs-group" xmlns="http://www.w3.org/2000/svg">
+ <g class="djs-element djs-shape" data-element-id="VesCollector_1s3sgbh"
+ transform="matrix(1,0,0,1,552,140)" style="display: block;">
+ <rect fill="none" class="djs-outline" x="-6" y="-6" width="132"
+ height="92"></rect>
+ <g class="djs-visual">
+ <rect x="0" y="0" width="120" height="80" rx="0" ry="0"
+ style="stroke-width: 2;" stroke="#000000" fill="#ffffff"></rect>
+ <polyline points="120,80 120,20 " style="stroke-width: 2;"
+ fill="none" stroke="#000000"></polyline>
+ <polyline points="20,0 20,80 " style="stroke-width: 2;"
+ fill="none" stroke="#000000"></polyline>
+ <text style="font-family: Arial,sans-serif; font-size: 12px;">
+ <tspan x="5" y="14">V</tspan>
+ </text>
+ <text style="font-family: Arial,sans-serif; font-size: 12px;">
+ <tspan x="5" y="26">E</tspan>
+ </text>
+ <text style="font-family: Arial,sans-serif; font-size: 12px;">
+ <tspan x="5" y="38">S</tspan>
+ </text>
+ <text style="font-family: Arial,sans-serif; font-size: 12px;"
+ class=" djs-label">
+ <tspan x="25.5" y="43.5">VesCollector</tspan>
+ </text>
+ </g>
+ <rect x="0" y="0" width="120" height="80"
+ style="stroke-opacity: 0; stroke-width: 15;" fill="none" stroke="#ffffff"
+ class="djs-hit"></rect>
+ </g>
+ </g>
+ <g class="djs-group" xmlns="http://www.w3.org/2000/svg">
+ <g class="djs-element djs-shape" data-element-id="Holmes_1m8n1s9"
+ transform="matrix(1,0,0,1,702,140)" style="display: block;">
+ <rect fill="none" class="djs-outline" x="-6" y="-6" width="132"
+ height="92"></rect>
+ <g class="djs-visual">
+ <rect x="0" y="0" width="120" height="80" rx="0" ry="0"
+ style="stroke-width: 2;" stroke="#000000" fill="#ffffff"></rect>
+ <circle cx="15" cy="15" r="10" style="stroke-width: 1;"
+ stroke="#000000" fill="#ffffff"></circle>
+ <text style="font-family: Arial,sans-serif; font-size: 12px;">
+ <tspan x="11" y="20">H</tspan>
+ </text>
+ <text style="font-family: Arial,sans-serif; font-size: 12px;"
+ class=" djs-label">
+ <tspan x="39" y="43.5">Holmes</tspan>
+ </text>
+ </g>
+ <rect x="0" y="0" width="120" height="80"
+ style="stroke-opacity: 0; stroke-width: 15;" fill="none" stroke="#ffffff"
+ class="djs-hit"></rect>
+ </g>
+ </g>
+ <g class="djs-group" xmlns="http://www.w3.org/2000/svg">
+ <g class="djs-element djs-shape" data-element-id="TCA_11n5nl9"
+ transform="matrix(1,0,0,1,878,140)" style="display: block;">
+ <rect fill="none" class="djs-outline" x="-6" y="-6" width="132"
+ height="92"></rect>
+ <g class="djs-visual">
+ <rect x="0" y="0" width="120" height="80" rx="0" ry="0"
+ style="stroke-width: 2;" stroke="#000000" fill="#ffffff"></rect>
+ <polyline points="0,60 120,60 " style="stroke-width: 2;"
+ fill="none" stroke="#000000"></polyline>
+ <text style="font-family: Arial,sans-serif; font-size: 12px;"
+ class=" djs-label">
+ <tspan x="48" y="43.5">TCA</tspan>
+ </text>
+ </g>
+ <rect x="0" y="0" width="120" height="80"
+ style="stroke-opacity: 0; stroke-width: 15;" fill="none" stroke="#ffffff"
+ class="djs-hit"></rect>
+ </g>
+ </g>
+ <g class="djs-group" xmlns="http://www.w3.org/2000/svg">
+ <g class="djs-element djs-shape" data-element-id="Policy_19c1hms"
+ transform="matrix(1,0,0,1,1031,140)" style="display: block;">
+ <rect fill="none" class="djs-outline" x="-6" y="-6" width="132"
+ height="92"></rect>
+ <g class="djs-visual">
+ <rect x="0" y="0" width="120" height="80" rx="0" ry="0"
+ style="stroke-width: 2;" stroke="#000000" fill="#ffffff"></rect>
+ <polyline points="0,40 60,0 " style="stroke-width: 2;"
+ fill="none" stroke="#000000"></polyline>
+ <text style="font-family: Arial,sans-serif; font-size: 12px;"
+ class=" djs-label">
+ <tspan x="43.5" y="43.5">Policy</tspan>
+ </text>
+ </g>
+ <rect x="0" y="0" width="120" height="80"
+ style="stroke-opacity: 0; stroke-width: 15;" fill="none" stroke="#ffffff"
+ class="djs-hit"></rect>
+ </g>
+ </g>
+ <g class="djs-group" xmlns="http://www.w3.org/2000/svg">
+ <g class="djs-element djs-shape" data-element-id="EndEvent_0z8t6ek"
+ transform="matrix(1,0,0,1,1231,162)" style="display: block;">
+ <rect fill="none" class="djs-outline" x="-6" y="-6" width="48"
+ height="48"></rect>
+ <g class="djs-visual">
+ <circle cx="18" cy="18" r="18" style="stroke-width: 4;"
+ stroke="#000000" fill="#ffffff"></circle>
+ </g>
+ <rect x="0" y="0" width="36" height="36"
+ style="stroke-opacity: 0; stroke-width: 15;" fill="none" stroke="#ffffff"
+ class="djs-hit"></rect>
+ </g>
+ </g>
+ <g class="djs-group" xmlns="http://www.w3.org/2000/svg">
+ <g class="djs-element djs-shape" data-element-id="EndEvent_0z8t6ek_label"
+ transform="matrix(1,0,0,1,1204,198)" style="display: none;">
+ <rect fill="none" class="djs-outline" x="-6" y="-6" width="102"
+ height="32"></rect>
+ <g class="djs-visual">
+ <text style="font-family: Arial,sans-serif; font-size: 11px;"
+ class=" djs-label">
+ <tspan x="45" y="0"></tspan>
+ </text>
+ </g>
+ <rect x="0" y="0" width="90" height="20"
+ style="stroke-opacity: 0; stroke-width: 15;" fill="none" stroke="#ffffff"
+ class="djs-hit"></rect>
+ </g>
+ </g>
+ <g class="djs-group" xmlns="http://www.w3.org/2000/svg">
+ <g class="djs-element djs-connection" data-element-id="SequenceFlow_0mshiwd"
+ style="display: block;">
+ <rect fill="none" class="djs-outline" x="80" y="174" width="142"
+ height="24"></rect>
+ <g class="djs-visual">
+ <path d="m 86,180L151,180 L151,192 L216,192 "
+ style="stroke-width: 2; stroke-linejoin: round; marker-end: url(&quot;#markerSj7j5bqgxx&quot;);"
+ fill="none" stroke="#000000"></path>
+ </g>
+ <polyline points="86,180 151,180 151,192 216,192 " style="stroke-opacity: 0; stroke-width: 15;"
+ fill="none" stroke="#ffffff" class="djs-hit"></polyline>
+ </g>
+ </g>
+ <g class="djs-group" xmlns="http://www.w3.org/2000/svg">
+ <g class="djs-element djs-shape" data-element-id="SequenceFlow_0mshiwd_label"
+ transform="matrix(1,0,0,1,106,176)" style="display: none;">
+ <rect fill="none" class="djs-outline" x="-6" y="-6" width="102"
+ height="32"></rect>
+ <g class="djs-visual">
+ <text style="font-family: Arial,sans-serif; font-size: 11px;"
+ class=" djs-label">
+ <tspan x="45" y="0"></tspan>
+ </text>
+ </g>
+ <rect x="0" y="0" width="90" height="20"
+ style="stroke-opacity: 0; stroke-width: 15;" fill="none" stroke="#ffffff"
+ class="djs-hit"></rect>
+ </g>
+ </g>
+ <g class="djs-group" xmlns="http://www.w3.org/2000/svg">
+ <g class="djs-element djs-connection" data-element-id="SequenceFlow_0z37chw"
+ style="display: block;">
+ <rect fill="none" class="djs-outline" x="330" y="174" width="54"
+ height="24"></rect>
+ <g class="djs-visual">
+ <path d="m 336,192L357,192 L357,180 L378,180 "
+ style="stroke-width: 2; stroke-linejoin: round; marker-end: url(&quot;#markerSj7j5bqgxx&quot;);"
+ fill="none" stroke="#000000"></path>
+ </g>
+ <polyline points="336,192 357,192 357,180 378,180 " style="stroke-opacity: 0; stroke-width: 15;"
+ fill="none" stroke="#ffffff" class="djs-hit"></polyline>
+ </g>
+ </g>
+ <g class="djs-group" xmlns="http://www.w3.org/2000/svg">
+ <g class="djs-element djs-shape" data-element-id="SequenceFlow_0z37chw_label"
+ transform="matrix(1,0,0,1,312,176)" style="display: none;">
+ <rect fill="none" class="djs-outline" x="-6" y="-6" width="102"
+ height="32"></rect>
+ <g class="djs-visual">
+ <text style="font-family: Arial,sans-serif; font-size: 11px;"
+ class=" djs-label">
+ <tspan x="45" y="0"></tspan>
+ </text>
+ </g>
+ <rect x="0" y="0" width="90" height="20"
+ style="stroke-opacity: 0; stroke-width: 15;" fill="none" stroke="#ffffff"
+ class="djs-hit"></rect>
+ </g>
+ </g>
+ <g class="djs-group" xmlns="http://www.w3.org/2000/svg">
+ <g class="djs-element djs-connection" data-element-id="SequenceFlow_1io8zzg"
+ style="display: block;">
+ <rect fill="none" class="djs-outline" x="492" y="174" width="66"
+ height="12"></rect>
+ <g class="djs-visual">
+ <path d="m 498,180L552,180 "
+ style="stroke-width: 2; stroke-linejoin: round; marker-end: url(&quot;#markerSj7j5bqgxx&quot;);"
+ fill="none" stroke="#000000"></path>
+ </g>
+ <polyline points="498,180 552,180 " style="stroke-opacity: 0; stroke-width: 15;"
+ fill="none" stroke="#ffffff" class="djs-hit"></polyline>
+ </g>
+ </g>
+ <g class="djs-group" xmlns="http://www.w3.org/2000/svg">
+ <g class="djs-element djs-shape" data-element-id="SequenceFlow_1io8zzg_label"
+ transform="matrix(1,0,0,1,480,170)" style="display: none;">
+ <rect fill="none" class="djs-outline" x="-6" y="-6" width="102"
+ height="32"></rect>
+ <g class="djs-visual">
+ <text style="font-family: Arial,sans-serif; font-size: 11px;"
+ class=" djs-label">
+ <tspan x="45" y="0"></tspan>
+ </text>
+ </g>
+ <rect x="0" y="0" width="90" height="20"
+ style="stroke-opacity: 0; stroke-width: 15;" fill="none" stroke="#ffffff"
+ class="djs-hit"></rect>
+ </g>
+ </g>
+ <g class="djs-group" xmlns="http://www.w3.org/2000/svg">
+ <g class="djs-element djs-connection" data-element-id="SequenceFlow_0yenh9m"
+ style="display: block;">
+ <rect fill="none" class="djs-outline" x="666" y="174" width="42"
+ height="12"></rect>
+ <g class="djs-visual">
+ <path d="m 672,180L702,180 "
+ style="stroke-width: 2; stroke-linejoin: round; marker-end: url(&quot;#markerSj7j5bqgxx&quot;);"
+ fill="none" stroke="#000000"></path>
+ </g>
+ <polyline points="672,180 702,180 " style="stroke-opacity: 0; stroke-width: 15;"
+ fill="none" stroke="#ffffff" class="djs-hit"></polyline>
+ </g>
+ </g>
+ <g class="djs-group" xmlns="http://www.w3.org/2000/svg">
+ <g class="djs-element djs-shape" data-element-id="SequenceFlow_0yenh9m_label"
+ transform="matrix(1,0,0,1,642,170)" style="display: none;">
+ <rect fill="none" class="djs-outline" x="-6" y="-6" width="102"
+ height="32"></rect>
+ <g class="djs-visual">
+ <text style="font-family: Arial,sans-serif; font-size: 11px;"
+ class=" djs-label">
+ <tspan x="45" y="0"></tspan>
+ </text>
+ </g>
+ <rect x="0" y="0" width="90" height="20"
+ style="stroke-opacity: 0; stroke-width: 15;" fill="none" stroke="#ffffff"
+ class="djs-hit"></rect>
+ </g>
+ </g>
+ <g class="djs-group" xmlns="http://www.w3.org/2000/svg">
+ <g class="djs-element djs-connection" data-element-id="SequenceFlow_1gq21be"
+ style="display: block;">
+ <rect fill="none" class="djs-outline" x="816" y="174" width="68"
+ height="12"></rect>
+ <g class="djs-visual">
+ <path d="m 822,180L878,180 "
+ style="stroke-width: 2; stroke-linejoin: round; marker-end: url(&quot;#markerSj7j5bqgxx&quot;);"
+ fill="none" stroke="#000000"></path>
+ </g>
+ <polyline points="822,180 878,180 " style="stroke-opacity: 0; stroke-width: 15;"
+ fill="none" stroke="#ffffff" class="djs-hit"></polyline>
+ </g>
+ </g>
+ <g class="djs-group" xmlns="http://www.w3.org/2000/svg">
+ <g class="djs-element djs-shape" data-element-id="SequenceFlow_1gq21be_label"
+ transform="matrix(1,0,0,1,805,170)" style="display: none;">
+ <rect fill="none" class="djs-outline" x="-6" y="-6" width="102"
+ height="32"></rect>
+ <g class="djs-visual">
+ <text style="font-family: Arial,sans-serif; font-size: 11px;"
+ class=" djs-label">
+ <tspan x="45" y="0"></tspan>
+ </text>
+ </g>
+ <rect x="0" y="0" width="90" height="20"
+ style="stroke-opacity: 0; stroke-width: 15;" fill="none" stroke="#ffffff"
+ class="djs-hit"></rect>
+ </g>
+ </g>
+ <g class="djs-group" xmlns="http://www.w3.org/2000/svg">
+ <g class="djs-element djs-connection" data-element-id="SequenceFlow_14phr7v"
+ style="display: block;">
+ <rect fill="none" class="djs-outline" x="992" y="174" width="45"
+ height="12"></rect>
+ <g class="djs-visual">
+ <path d="m 998,180L1031,180 "
+ style="stroke-width: 2; stroke-linejoin: round; marker-end: url(&quot;#markerSj7j5bqgxx&quot;);"
+ fill="none" stroke="#000000"></path>
+ </g>
+ <polyline points="998,180 1031,180 " style="stroke-opacity: 0; stroke-width: 15;"
+ fill="none" stroke="#ffffff" class="djs-hit"></polyline>
+ </g>
+ </g>
+ <g class="djs-group" xmlns="http://www.w3.org/2000/svg">
+ <g class="djs-element djs-shape" data-element-id="SequenceFlow_14phr7v_label"
+ transform="matrix(1,0,0,1,969.5,170)" style="display: none;">
+ <rect fill="none" class="djs-outline" x="-6" y="-6" width="102"
+ height="32"></rect>
+ <g class="djs-visual">
+ <text style="font-family: Arial,sans-serif; font-size: 11px;"
+ class=" djs-label">
+ <tspan x="45" y="0"></tspan>
+ </text>
+ </g>
+ <rect x="0" y="0" width="90" height="20"
+ style="stroke-opacity: 0; stroke-width: 15;" fill="none" stroke="#ffffff"
+ class="djs-hit"></rect>
+ </g>
+ </g>
+ <g class="djs-group" xmlns="http://www.w3.org/2000/svg">
+ <g class="djs-element djs-connection" data-element-id="SequenceFlow_1q2yngv"
+ style="display: block;">
+ <rect fill="none" class="djs-outline" x="1145" y="174" width="92"
+ height="12"></rect>
+ <g class="djs-visual">
+ <path d="m 1151,180L1231,180 "
+ style="stroke-width: 2; stroke-linejoin: round; marker-end: url(&quot;#markerSj7j5bqgxx&quot;);"
+ fill="none" stroke="#000000"></path>
+ </g>
+ <polyline points="1151,180 1231,180 " style="stroke-opacity: 0; stroke-width: 15;"
+ fill="none" stroke="#ffffff" class="djs-hit"></polyline>
+ </g>
+ </g>
+ <g class="djs-group" xmlns="http://www.w3.org/2000/svg">
+ <g class="djs-element djs-shape" data-element-id="SequenceFlow_1q2yngv_label"
+ transform="matrix(1,0,0,1,1146,170)" style="display: none;">
+ <rect fill="none" class="djs-outline" x="-6" y="-6" width="102"
+ height="32"></rect>
+ <g class="djs-visual">
+ <text style="font-family: Arial,sans-serif; font-size: 11px;"
+ class=" djs-label">
+ <tspan x="45" y="0"></tspan>
+ </text>
+ </g>
+ <rect x="0" y="0" width="90" height="20"
+ style="stroke-opacity: 0; stroke-width: 15;" fill="none" stroke="#ffffff"
+ class="djs-hit"></rect>
+ </g>
+ </g>
+</svg> \ No newline at end of file