Adding integration test module 97/55497/5
authorwaqas.ikram <waqas.ikram@ericsson.com>
Wed, 27 Jun 2018 15:16:42 +0000 (16:16 +0100)
committerwaqas.ikram <waqas.ikram@ericsson.com>
Thu, 28 Jun 2018 14:47:46 +0000 (15:47 +0100)
Change-Id: If94ff28724a31269cf20b32c43fa0790c3b2dac3
Issue-ID: POLICY-865
Signed-off-by: waqas.ikram <waqas.ikram@ericsson.com>
125 files changed:
auth/cli-editor/src/main/resources/examples/scripts/TestPolicyAvroEventContext.apex
auth/cli-editor/src/test/java/org/onap/policy/apex/auth/clieditor/TestCLIEditorEventsContext.java
plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-kafka/pom.xml
plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restserver/pom.xml
plugins/pom.xml
pom.xml
services/services-engine/src/main/java/org/onap/policy/apex/service/engine/event/impl/jsonprotocolplugin/Apex2JSONEventConverter.java
services/services-engine/src/main/java/org/onap/policy/apex/service/engine/runtime/impl/EngineWorker.java
testsuites/integration/integration-common/pom.xml [new file with mode: 0644]
testsuites/integration/integration-common/src/main/java/org/onap/policy/apex/test/common/model/EvalDomainModelFactory.java [new file with mode: 0644]
testsuites/integration/integration-common/src/main/java/org/onap/policy/apex/test/common/model/SampleDomainModelFactory.java [new file with mode: 0644]
testsuites/integration/integration-common/src/main/java/org/onap/policy/apex/test/common/model/SampleDomainModelSaver.java [new file with mode: 0644]
testsuites/integration/integration-common/src/main/java/org/onap/policy/apex/test/common/model/java/DefaultState_Logic.java [new file with mode: 0644]
testsuites/integration/integration-common/src/main/java/org/onap/policy/apex/test/common/model/java/DefaultTask_Logic.java [new file with mode: 0644]
testsuites/integration/integration-common/src/main/java/org/onap/policy/apex/test/common/model/java/EvalState_Logic.java [new file with mode: 0644]
testsuites/integration/integration-common/src/main/java/org/onap/policy/apex/test/common/model/java/EvalTask_Logic.java [new file with mode: 0644]
testsuites/integration/integration-common/src/main/java/org/onap/policy/apex/test/common/model/java/package-info.java [new file with mode: 0644]
testsuites/integration/integration-common/src/main/java/org/onap/policy/apex/test/common/model/package-info.java [new file with mode: 0644]
testsuites/integration/integration-common/src/main/resources/examples/events/SampleDomain/EventsIn.jsons [new file with mode: 0644]
testsuites/integration/integration-common/src/main/resources/examples/events/SampleDomain/EventsIn.xmlfile [new file with mode: 0644]
testsuites/integration/integration-common/src/main/resources/examples/events/SampleDomain/EventsInMulti0.jsons [new file with mode: 0644]
testsuites/integration/integration-common/src/main/resources/examples/events/SampleDomain/EventsInMulti1.jsons [new file with mode: 0644]
testsuites/integration/integration-common/src/main/resources/examples/events/SampleDomain/EventsInMulti2.jsons [new file with mode: 0644]
testsuites/integration/integration-common/src/main/resources/org/onap/policy/apex/test/common/model/javascript/DefaultState_Logic.javascript [new file with mode: 0644]
testsuites/integration/integration-common/src/main/resources/org/onap/policy/apex/test/common/model/javascript/DefaultTask_Logic.javascript [new file with mode: 0644]
testsuites/integration/integration-common/src/main/resources/org/onap/policy/apex/test/common/model/javascript/EvalState_Logic.javascript [new file with mode: 0644]
testsuites/integration/integration-common/src/main/resources/org/onap/policy/apex/test/common/model/javascript/EvalTask_Logic.javascript [new file with mode: 0644]
testsuites/integration/integration-common/src/main/resources/org/onap/policy/apex/test/common/model/jruby/DefaultState_Logic.jruby [new file with mode: 0644]
testsuites/integration/integration-common/src/main/resources/org/onap/policy/apex/test/common/model/jruby/DefaultTask_Logic.jruby [new file with mode: 0644]
testsuites/integration/integration-common/src/main/resources/org/onap/policy/apex/test/common/model/jruby/EvalState_Logic.jruby [new file with mode: 0644]
testsuites/integration/integration-common/src/main/resources/org/onap/policy/apex/test/common/model/jruby/EvalTask_Logic.jruby [new file with mode: 0644]
testsuites/integration/integration-common/src/main/resources/org/onap/policy/apex/test/common/model/jython/DefaultState_Logic.jython [new file with mode: 0644]
testsuites/integration/integration-common/src/main/resources/org/onap/policy/apex/test/common/model/jython/DefaultTask_Logic.jython [new file with mode: 0644]
testsuites/integration/integration-common/src/main/resources/org/onap/policy/apex/test/common/model/jython/EvalState_Logic.jython [new file with mode: 0644]
testsuites/integration/integration-common/src/main/resources/org/onap/policy/apex/test/common/model/jython/EvalTask_Logic.jython [new file with mode: 0644]
testsuites/integration/integration-common/src/main/resources/org/onap/policy/apex/test/common/model/mvel/DefaultState_Logic.mvel [new file with mode: 0644]
testsuites/integration/integration-common/src/main/resources/org/onap/policy/apex/test/common/model/mvel/DefaultTask_Logic.mvel [new file with mode: 0644]
testsuites/integration/integration-common/src/main/resources/org/onap/policy/apex/test/common/model/mvel/EvalState_Logic.mvel [new file with mode: 0644]
testsuites/integration/integration-common/src/main/resources/org/onap/policy/apex/test/common/model/mvel/EvalTask_Logic.mvel [new file with mode: 0644]
testsuites/integration/integration-uservice-test/pom.xml [new file with mode: 0644]
testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/adapt/events/EventGenerator.java [new file with mode: 0644]
testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/adapt/file/TestFile2File.java [new file with mode: 0644]
testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/adapt/file/TestFile2FileFiltered.java [new file with mode: 0644]
testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/adapt/file/TestFile2FileIgnore.java [new file with mode: 0644]
testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/adapt/jms/JMSEventProducer.java [new file with mode: 0644]
testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/adapt/jms/JMSEventSubscriber.java [new file with mode: 0644]
testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/adapt/jms/TestContext.java [new file with mode: 0644]
testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/adapt/jms/TestInitialContextFactory.java [new file with mode: 0644]
testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/adapt/jms/TestJMS2JMS.java [new file with mode: 0644]
testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/adapt/jms/TestPing.java [new file with mode: 0644]
testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/adapt/kafka/KafkaEventProducer.java [new file with mode: 0644]
testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/adapt/kafka/KafkaEventSubscriber.java [new file with mode: 0644]
testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/adapt/kafka/TestKafka2Kafka.java [new file with mode: 0644]
testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/adapt/kafka/TestKafkaXMLEventProducer.java [new file with mode: 0644]
testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/adapt/restclient/TestFile2REST.java [new file with mode: 0644]
testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/adapt/restclient/TestREST2File.java [new file with mode: 0644]
testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/adapt/restclient/TestRESTClientEndpoint.java [new file with mode: 0644]
testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/adapt/restserver/TestRESTServer.java [new file with mode: 0644]
testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/adapt/restserver/TestRESTServerVPNContext.java [new file with mode: 0644]
testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/adapt/sampletypes/Foo.java [new file with mode: 0644]
testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/adapt/sampletypes/FooMap.java [new file with mode: 0644]
testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/adapt/websocket/TestWs2WsClient.java [new file with mode: 0644]
testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/adapt/websocket/TestWs2WsServer.java [new file with mode: 0644]
testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/adapt/websocket/WebSocketEventProducerClient.java [new file with mode: 0644]
testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/adapt/websocket/WebSocketEventProducerServer.java [new file with mode: 0644]
testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/adapt/websocket/WebSocketEventSubscriberClient.java [new file with mode: 0644]
testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/adapt/websocket/WebSocketEventSubscriberServer.java [new file with mode: 0644]
testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/context/AvroEventAlbumContextTest.java [new file with mode: 0644]
testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/context/JavaEventAlbumContextTest.java [new file with mode: 0644]
testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/engdep/EngDepMessagingTest.java [new file with mode: 0644]
testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/engdep/EngineTestServer.java [new file with mode: 0644]
testsuites/integration/integration-uservice-test/src/test/resources/events/Context_AvroEventAlbum_EventIn.json [new file with mode: 0644]
testsuites/integration/integration-uservice-test/src/test/resources/events/Context_AvroEventAlbum_EventOutCompare.json [new file with mode: 0644]
testsuites/integration/integration-uservice-test/src/test/resources/events/Context_JavaEventAlbum_EventIn.json [new file with mode: 0644]
testsuites/integration/integration-uservice-test/src/test/resources/events/Context_JavaEventAlbum_EventOutCompare.json [new file with mode: 0644]
testsuites/integration/integration-uservice-test/src/test/resources/events/EventsIn.json [new file with mode: 0644]
testsuites/integration/integration-uservice-test/src/test/resources/events/EventsIn.xmlfile [new file with mode: 0644]
testsuites/integration/integration-uservice-test/src/test/resources/events/EventsOutExpected.json [new file with mode: 0644]
testsuites/integration/integration-uservice-test/src/test/resources/policymodels/JMSTestModel.json [new file with mode: 0644]
testsuites/integration/integration-uservice-test/src/test/resources/policymodels/SamplePolicyModelMVEL.json [new file with mode: 0644]
testsuites/integration/integration-uservice-test/src/test/resources/policymodels/SamplePolicyModelMVELDivideByZero.json [new file with mode: 0644]
testsuites/integration/integration-uservice-test/src/test/resources/policymodels/VPNPolicyModelAvro.json [new file with mode: 0644]
testsuites/integration/integration-uservice-test/src/test/resources/policymodels/VPNPolicyModelJava.json [new file with mode: 0644]
testsuites/integration/integration-uservice-test/src/test/resources/prodcons/Context_AvroEventAlbum_file2file.json [new file with mode: 0644]
testsuites/integration/integration-uservice-test/src/test/resources/prodcons/Context_JavaEventAlbum_file2file.json [new file with mode: 0644]
testsuites/integration/integration-uservice-test/src/test/resources/prodcons/File2FileFilteredInJsonEvent.json [new file with mode: 0644]
testsuites/integration/integration-uservice-test/src/test/resources/prodcons/File2FileFilteredInOutJsonEvent.json [new file with mode: 0644]
testsuites/integration/integration-uservice-test/src/test/resources/prodcons/File2FileFilteredOutJsonEvent.json [new file with mode: 0644]
testsuites/integration/integration-uservice-test/src/test/resources/prodcons/File2FileJsonEvent.json [new file with mode: 0644]
testsuites/integration/integration-uservice-test/src/test/resources/prodcons/File2FileXmlEvent.json [new file with mode: 0644]
testsuites/integration/integration-uservice-test/src/test/resources/prodcons/File2RESTJsonEventBadHTTPMethod.json [new file with mode: 0644]
testsuites/integration/integration-uservice-test/src/test/resources/prodcons/File2RESTJsonEventBadURL.json [new file with mode: 0644]
testsuites/integration/integration-uservice-test/src/test/resources/prodcons/File2RESTJsonEventNoURL.json [new file with mode: 0644]
testsuites/integration/integration-uservice-test/src/test/resources/prodcons/File2RESTJsonEventPost.json [new file with mode: 0644]
testsuites/integration/integration-uservice-test/src/test/resources/prodcons/File2RESTJsonEventPostBadResponse.json [new file with mode: 0644]
testsuites/integration/integration-uservice-test/src/test/resources/prodcons/File2RESTJsonEventPut.json [new file with mode: 0644]
testsuites/integration/integration-uservice-test/src/test/resources/prodcons/JMS2JMSJsonEvent.json [new file with mode: 0644]
testsuites/integration/integration-uservice-test/src/test/resources/prodcons/JMS2JMSObjectEvent.json [new file with mode: 0644]
testsuites/integration/integration-uservice-test/src/test/resources/prodcons/Kafka2KafkaJsonEvent.json [new file with mode: 0644]
testsuites/integration/integration-uservice-test/src/test/resources/prodcons/Kafka2KafkaXmlEvent.json [new file with mode: 0644]
testsuites/integration/integration-uservice-test/src/test/resources/prodcons/LBPolicy_ExecModel_file2kafka.json [new file with mode: 0644]
testsuites/integration/integration-uservice-test/src/test/resources/prodcons/REST2FileJsonEmptyEvents.json [new file with mode: 0644]
testsuites/integration/integration-uservice-test/src/test/resources/prodcons/REST2FileJsonEvent.json [new file with mode: 0644]
testsuites/integration/integration-uservice-test/src/test/resources/prodcons/REST2FileJsonEventBadHTTPMethod.json [new file with mode: 0644]
testsuites/integration/integration-uservice-test/src/test/resources/prodcons/REST2FileJsonEventBadResponse.json [new file with mode: 0644]
testsuites/integration/integration-uservice-test/src/test/resources/prodcons/REST2FileJsonEventBadURL.json [new file with mode: 0644]
testsuites/integration/integration-uservice-test/src/test/resources/prodcons/REST2FileJsonEventNoURL.json [new file with mode: 0644]
testsuites/integration/integration-uservice-test/src/test/resources/prodcons/RESTServerJsonEvent.json [new file with mode: 0644]
testsuites/integration/integration-uservice-test/src/test/resources/prodcons/RESTServerJsonEventConsumerNotSync.json [new file with mode: 0644]
testsuites/integration/integration-uservice-test/src/test/resources/prodcons/RESTServerJsonEventConsumerStandaloneNoHost.json [new file with mode: 0644]
testsuites/integration/integration-uservice-test/src/test/resources/prodcons/RESTServerJsonEventConsumerStandaloneNoPort.json [new file with mode: 0644]
testsuites/integration/integration-uservice-test/src/test/resources/prodcons/RESTServerJsonEventContextAvro.json [new file with mode: 0644]
testsuites/integration/integration-uservice-test/src/test/resources/prodcons/RESTServerJsonEventContextJava.json [new file with mode: 0644]
testsuites/integration/integration-uservice-test/src/test/resources/prodcons/RESTServerJsonEventDivideByZero.json [new file with mode: 0644]
testsuites/integration/integration-uservice-test/src/test/resources/prodcons/RESTServerJsonEventMultiIn.json [new file with mode: 0644]
testsuites/integration/integration-uservice-test/src/test/resources/prodcons/RESTServerJsonEventProducerHost.json [new file with mode: 0644]
testsuites/integration/integration-uservice-test/src/test/resources/prodcons/RESTServerJsonEventProducerNotSync.json [new file with mode: 0644]
testsuites/integration/integration-uservice-test/src/test/resources/prodcons/RESTServerJsonEventProducerPort.json [new file with mode: 0644]
testsuites/integration/integration-uservice-test/src/test/resources/prodcons/RESTServerJsonEventProducerStandalone.json [new file with mode: 0644]
testsuites/integration/integration-uservice-test/src/test/resources/prodcons/Ws2WsClientJsonEvent.json [new file with mode: 0644]
testsuites/integration/integration-uservice-test/src/test/resources/prodcons/Ws2WsClientXMLEvent.json [new file with mode: 0644]
testsuites/integration/integration-uservice-test/src/test/resources/prodcons/Ws2WsServerJsonEvent.json [new file with mode: 0644]
testsuites/integration/integration-uservice-test/src/test/resources/prodcons/Ws2WsServerXMLEvent.json [new file with mode: 0644]
testsuites/integration/pom.xml [new file with mode: 0644]
testsuites/pom.xml [new file with mode: 0644]

index f333a3e..265f924 100644 (file)
@@ -83,7 +83,7 @@ schema create name=CustomBoolean_type flavour=Avro schema=LS
 {
   "type"      : "record",
   "name"      : "TestContextItem000",
-  "namespace" : "com.ericsson.apex.context.test.avro.concepts",
+  "namespace" : "org.onap.policy.apex.context.test.avro.concepts",
   "fields"    : [
     {"name": "flag", "type": "boolean"}
   ]
@@ -94,7 +94,7 @@ schema create name=CustomByte_type flavour=Avro schema=LS
 {
   "type"      : "record",
   "name"      : "TestContextItem001",
-  "namespace" : "com.ericsson.apex.context.test.avro.concepts",
+  "namespace" : "org.onap.policy.apex.context.test.avro.concepts",
   "fields"    : [
     {"name": "byteValue", "type": "int"}
   ]
@@ -105,7 +105,7 @@ schema create name=CustomInteger_type flavour=Avro schema=LS
 {
   "type"      : "record",
   "name"      : "TestContextItem002",
-  "namespace" : "com.ericsson.apex.context.test.avro.concepts",
+  "namespace" : "org.onap.policy.apex.context.test.avro.concepts",
   "fields"    : [
     {"name": "intValue", "type": "int"}
   ]
@@ -116,7 +116,7 @@ schema create name=CustomLong_type flavour=Avro schema=LS
 {
   "type"      : "record",
   "name"      : "TestContextItem003",
-  "namespace" : "com.ericsson.apex.context.test.avro.concepts",
+  "namespace" : "org.onap.policy.apex.context.test.avro.concepts",
   "fields"    : [
     {"name": "longValue", "type": "long"}
   ]
@@ -127,7 +127,7 @@ schema create name=CustomFloat_type flavour=Avro schema=LS
 {
   "type"      : "record",
   "name"      : "TestContextItem004",
-  "namespace" : "com.ericsson.apex.context.test.avro.concepts",
+  "namespace" : "org.onap.policy.apex.context.test.avro.concepts",
   "fields"    : [
     {"name": "floatValue", "type": "float"}
   ]
@@ -138,7 +138,7 @@ schema create name=CustomDouble_type flavour=Avro schema=LS
 {
   "type"      : "record",
   "name"      : "TestContextItem005",
-  "namespace" : "com.ericsson.apex.context.test.avro.concepts",
+  "namespace" : "org.onap.policy.apex.context.test.avro.concepts",
   "fields"    : [
     {"name": "doubleValue", "type": "double"}
   ]
@@ -149,7 +149,7 @@ schema create name=CustomString_type flavour=Avro schema=LS
 {
   "type"      : "record",
   "name"      : "TestContextItem006",
-  "namespace" : "com.ericsson.apex.context.test.avro.concepts",
+  "namespace" : "org.onap.policy.apex.context.test.avro.concepts",
   "fields"    : [
     {"name": "stringValue", "type": "string"}
   ]
@@ -160,7 +160,7 @@ schema create name=CustomALong_type flavour=Avro schema=LS
 {
   "type"      : "record",
   "name"      : "TestContextItem007",
-  "namespace" : "com.ericsson.apex.context.test.avro.concepts",
+  "namespace" : "org.onap.policy.apex.context.test.avro.concepts",
   "fields"    : [
     {"name": "longValue", "type": "long"}
   ]
@@ -171,7 +171,7 @@ schema create name=CustomDate0_type flavour=Avro schema=LS
 {
   "type"      : "record",
   "name"      : "TestContextItem008",
-  "namespace" : "com.ericsson.apex.context.test.avro.concepts",
+  "namespace" : "org.onap.policy.apex.context.test.avro.concepts",
   "fields"    : [
        {"name": "time"       , "type": "long"},
        {"name": "year"       , "type": "int"},
@@ -189,12 +189,12 @@ schema create name=CustomDate1_type flavour=Avro schema=LS
 {
   "type"      : "record",
   "name"      : "TestContextItem009",
-  "namespace" : "com.ericsson.apex.context.test.avro.concepts",
+  "namespace" : "org.onap.policy.apex.context.test.avro.concepts",
   "fields"    : [
     {"name": "dateValue"     , "type": {
                "type"      : "record",
                "name"      : "TestContextItem008",
-               "namespace" : "com.ericsson.apex.context.test.avro.concepts",
+               "namespace" : "org.onap.policy.apex.context.test.avro.concepts",
                "fields"    : [
                        {"name": "time"       , "type": "long"},
                        {"name": "year"       , "type": "int"},
@@ -217,12 +217,12 @@ schema create name=CustomDate2_type flavour=Avro schema=LS
 {
   "type"      : "record",
   "name"      : "TestContextItem00A",
-  "namespace" : "com.ericsson.apex.context.test.avro.concepts",
+  "namespace" : "org.onap.policy.apex.context.test.avro.concepts",
   "fields"    : [
     {"name": "dateValue"     , "type": {
                "type"      : "record",
                "name"      : "TestContextItem008",
-               "namespace" : "com.ericsson.apex.context.test.avro.concepts",
+               "namespace" : "org.onap.policy.apex.context.test.avro.concepts",
                "fields"    : [
                {"name": "time"       , "type": "long"},
                        {"name": "year"       , "type": "int"},
@@ -248,7 +248,7 @@ schema create name=CustomSet_type flavour=Avro schema=LS
 {
   "type"      : "record",
   "name"      : "TestContextItem00B",
-  "namespace" : "com.ericsson.apex.context.test.avro.concepts",
+  "namespace" : "org.onap.policy.apex.context.test.avro.concepts",
   "fields"    : [
     {"name": "setValue", "type": {
                "type": "array", "items": "string"
@@ -262,7 +262,7 @@ schema create name=CustomMap_type flavour=Avro schema=LS
 {
   "type"      : "record",
   "name"      : "TestContextItem00C",
-  "namespace" : "com.ericsson.apex.context.test.avro.concepts",
+  "namespace" : "org.onap.policy.apex.context.test.avro.concepts",
   "fields"    : [
     {"name": "mapValue", "type": {
                "type": "map", "values": "string"
@@ -272,7 +272,7 @@ schema create name=CustomMap_type flavour=Avro schema=LS
 }
 LE
 
-event create name=Test_InputEvent nameSpace=com.ericsson.apex.test source=External target=Apex
+event create name=Test_InputEvent nameSpace=org.onap.policy.apex.test source=External target=Apex
 
 event parameter create name=Test_InputEvent parName=AvroBoolean   schemaName=AvroBoolean_type optional=false
 event parameter create name=Test_InputEvent parName=AvroByte      schemaName=AvroByte_type    optional=false
@@ -298,7 +298,7 @@ event parameter create name=Test_InputEvent parName=CustomDate2   schemaName=Cus
 event parameter create name=Test_InputEvent parName=CustomSet     schemaName=CustomSet_type
 event parameter create name=Test_InputEvent parName=CustomMap     schemaName=CustomMap_type
 
-event create name=Test_OutputEvent nameSpace=com.ericsson.apex.test source=External target=Apex
+event create name=Test_OutputEvent nameSpace=org.onap.policy.apex.test source=External target=Apex
 
 event parameter create name=Test_OutputEvent parName=AvroBoolean   schemaName=AvroBoolean_type
 event parameter create name=Test_OutputEvent parName=AvroByte      schemaName=AvroByte_type
index 4b8dbd2..6e489ad 100644 (file)
@@ -114,8 +114,8 @@ public class TestCLIEditorEventsContext {
         final int logCharCount = logString.replaceAll(SPACES, EMPTY_STRING).length();
         final int modelCharCount = modelString.replaceAll(SPACES, EMPTY_STRING).length();
 
-        assertEquals(30315, logCharCount);
-        assertEquals(52930, modelCharCount);
+        assertEquals(30366, logCharCount);
+        assertEquals(52981, modelCharCount);
 
     }
 
index cd015bb..f9bc167 100644 (file)
@@ -38,7 +38,7 @@
         <dependency>
             <groupId>org.apache.kafka</groupId>
             <artifactId>kafka-clients</artifactId>
-            <version>0.10.2.1</version>
+            <version>${kafka.version}</version>
         </dependency>
     </dependencies>
 </project>
\ No newline at end of file
index 6439089..0c98437 100644 (file)
@@ -53,7 +53,7 @@
         <dependency>
             <groupId>org.glassfish.jersey.containers</groupId>
             <artifactId>jersey-container-servlet-core</artifactId>
-            <version>2.25.1</version>
+            <version>${version.jersey.core}</version>
         </dependency>
     </dependencies>
 </project>
\ No newline at end of file
index 1889283..52452db 100644 (file)
@@ -36,8 +36,6 @@
 
     <properties>
         <version.hazelcast>3.8.3</version.hazelcast>
-        <version.jersey.core>2.27</version.jersey.core>
-        <version.grizzly2-http>2.27</version.grizzly2-http>
     </properties>
 
     <modules>
diff --git a/pom.xml b/pom.xml
index e002f52..c4eaa5d 100644 (file)
--- a/pom.xml
+++ b/pom.xml
         <file.encoding>UTF-8</file.encoding>
         <version.derby>10.13.1.1</version.derby>
         <version.commons-cli>1.4</version.commons-cli>
+
+        <kafka.version>0.10.2.1</kafka.version>
+        <version.grizzly2-http>2.27</version.grizzly2-http>
+        <version.jersey.core>2.27</version.jersey.core>
     </properties>
 
     <distributionManagement>
         <module>services</module>
         <module>plugins</module>
         <module>packages</module>
+        <module>testsuites</module>
     </modules>
 </project>
\ No newline at end of file
index 2238436..edaf5d5 100644 (file)
@@ -43,8 +43,8 @@ import com.google.gson.JsonElement;
 import com.google.gson.JsonObject;
 
 /**
- * The Class Apex2JSONEventConverter converts {@link ApexEvent} instances to and from JSON string representations of
- * Apex events.
+ * The Class Apex2JSONEventConverter converts {@link ApexEvent} instances to and from JSON string
+ * representations of Apex events.
  *
  * @author Liam Fallon (liam.fallon@ericsson.com)
  */
@@ -57,7 +57,8 @@ public class Apex2JSONEventConverter implements ApexEventProtocolConverter {
     /*
      * (non-Javadoc)
      * 
-     * @see org.onap.policy.apex.service.engine.event.ApexEventProtocolConverter#init(org.onap.policy.
+     * @see
+     * org.onap.policy.apex.service.engine.event.ApexEventProtocolConverter#init(org.onap.policy.
      * apex.service.parameters.eventprotocol.EventProtocolParameters)
      */
     @Override
@@ -75,7 +76,9 @@ public class Apex2JSONEventConverter implements ApexEventProtocolConverter {
     /*
      * (non-Javadoc)
      *
-     * @see org.onap.policy.apex.service.engine.event.ApexEventConverter#toApexEvent(java.lang.String, java.lang.Object)
+     * @see
+     * org.onap.policy.apex.service.engine.event.ApexEventConverter#toApexEvent(java.lang.String,
+     * java.lang.Object)
      */
     @Override
     public List<ApexEvent> toApexEvent(final String eventName, final Object eventObject) throws ApexEventException {
@@ -101,8 +104,8 @@ public class Apex2JSONEventConverter implements ApexEventProtocolConverter {
 
         try {
             // We may have a single JSON object with a single event or an array of JSON objects
-            final Object decodedJsonObject = new GsonBuilder().serializeNulls().create().fromJson(jsonEventString,
-                            Object.class);
+            final Object decodedJsonObject =
+                    new GsonBuilder().serializeNulls().create().fromJson(jsonEventString, Object.class);
 
             // Check if we have a list of objects
             if (decodedJsonObject instanceof List) {
@@ -118,15 +121,15 @@ public class Apex2JSONEventConverter implements ApexEventProtocolConverter {
                         eventList.add(jsonObject2ApexEvent(eventName, (JsonObject) jsonListObject));
                     } else {
                         throw new ApexEventException("incoming event (" + jsonEventString
-                                        + ") is a JSON object array containing an invalid object " + jsonListObject);
+                                + ") is a JSON object array containing an invalid object " + jsonListObject);
                     }
                 }
             } else {
                 eventList.add(jsonStringApexEvent(eventName, jsonEventString));
             }
         } catch (final Exception e) {
-            final String errorString = "Failed to unmarshal JSON event: " + e.getMessage() + ", event="
-                            + jsonEventString;
+            final String errorString =
+                    "Failed to unmarshal JSON event: " + e.getMessage() + ", event=" + jsonEventString;
             LOGGER.warn(errorString, e);
             throw new ApexEventException(errorString, e);
         }
@@ -138,7 +141,8 @@ public class Apex2JSONEventConverter implements ApexEventProtocolConverter {
     /*
      * (non-Javadoc)
      *
-     * @see org.onap.policy.apex.service.engine.event.ApexEventConverter#fromApexEvent(org.onap.policy.
+     * @see
+     * org.onap.policy.apex.service.engine.event.ApexEventConverter#fromApexEvent(org.onap.policy.
      * apex.service.engine.event.ApexEvent)
      */
     @Override
@@ -150,8 +154,8 @@ public class Apex2JSONEventConverter implements ApexEventProtocolConverter {
         }
 
         // Get the event definition for the event from the model service
-        final AxEvent eventDefinition = ModelService.getModel(AxEvents.class).get(apexEvent.getName(),
-                        apexEvent.getVersion());
+        final AxEvent eventDefinition =
+                ModelService.getModel(AxEvents.class).get(apexEvent.getName(), apexEvent.getVersion());
 
         // Use a GSON Json object to marshal the Apex event to JSON
         final Gson gson = new GsonBuilder().serializeNulls().setPrettyPrinting().create();
@@ -173,7 +177,7 @@ public class Apex2JSONEventConverter implements ApexEventProtocolConverter {
             if (!apexEvent.containsKey(fieldName)) {
                 if (!eventField.getOptional()) {
                     final String errorMessage = "error parsing " + eventDefinition.getID() + " event to Json. "
-                                    + "Field \"" + fieldName + "\" is missing, but is mandatory. Fields: " + apexEvent;
+                            + "Field \"" + fieldName + "\" is missing, but is mandatory. Fields: " + apexEvent;
                     LOGGER.debug(errorMessage);
                     throw new ApexEventRuntimeException(errorMessage);
                 }
@@ -183,9 +187,9 @@ public class Apex2JSONEventConverter implements ApexEventProtocolConverter {
             final Object fieldValue = apexEvent.get(fieldName);
 
             // Get the schema helper
-            final SchemaHelper fieldSchemaHelper = new SchemaHelperFactory().createSchemaHelper(eventField.getKey(),
-                            eventField.getSchema());
-            jsonObject.add(fieldName, (JsonElement)fieldSchemaHelper.marshal2Object(fieldValue));
+            final SchemaHelper fieldSchemaHelper =
+                    new SchemaHelperFactory().createSchemaHelper(eventField.getKey(), eventField.getSchema());
+            jsonObject.add(fieldName, (JsonElement) fieldSchemaHelper.marshal2Object(fieldValue));
         }
 
         // Output JSON string in a pretty format
@@ -195,23 +199,20 @@ public class Apex2JSONEventConverter implements ApexEventProtocolConverter {
     /**
      * This method converts a JSON object into an Apex event.
      *
-     * @param eventName
-     *        the name of the event
-     * @param jsonEventString
-     *        the JSON string that holds the event
+     * @param eventName the name of the event
+     * @param jsonEventString the JSON string that holds the event
      * @return the apex event that we have converted the JSON object into
-     * @throws ApexEventException
-     *         thrown on unmarshaling exceptions
+     * @throws ApexEventException thrown on unmarshaling exceptions
      */
     private ApexEvent jsonStringApexEvent(final String eventName, final String jsonEventString)
-                    throws ApexEventException {
+            throws ApexEventException {
         // Use GSON to read the event string
-        final JsonObject jsonObject = new GsonBuilder().serializeNulls().create().fromJson(jsonEventString,
-                        JsonObject.class);
+        final JsonObject jsonObject =
+                new GsonBuilder().serializeNulls().create().fromJson(jsonEventString, JsonObject.class);
 
         if (jsonObject == null || !jsonObject.isJsonObject()) {
             throw new ApexEventException(
-                            "incoming event (" + jsonEventString + ") is not a JSON object or an JSON object array");
+                    "incoming event (" + jsonEventString + ") is not a JSON object or an JSON object array");
         }
 
         return jsonObject2ApexEvent(eventName, jsonObject);
@@ -220,22 +221,19 @@ public class Apex2JSONEventConverter implements ApexEventProtocolConverter {
     /**
      * This method converts a JSON object into an Apex event.
      *
-     * @param eventName
-     *        the name of the event
-     * @param jsonObject
-     *        the JSON object that holds the event
+     * @param eventName the name of the event
+     * @param jsonObject the JSON object that holds the event
      * @return the apex event that we have converted the JSON object into
-     * @throws ApexEventException
-     *         thrown on unmarshaling exceptions
+     * @throws ApexEventException thrown on unmarshaling exceptions
      */
     private ApexEvent jsonObject2ApexEvent(final String eventName, final JsonObject jsonObject)
-                    throws ApexEventException {
+            throws ApexEventException {
         // Process the mandatory Apex header
         final ApexEvent apexEvent = processApexEventHeader(eventName, jsonObject);
 
         // Get the event definition for the event from the model service
-        final AxEvent eventDefinition = ModelService.getModel(AxEvents.class).get(apexEvent.getName(),
-                        apexEvent.getVersion());
+        final AxEvent eventDefinition =
+                ModelService.getModel(AxEvents.class).get(apexEvent.getName(), apexEvent.getVersion());
 
         // Iterate over the input fields in the event
         for (final AxField eventField : eventDefinition.getFields()) {
@@ -243,7 +241,7 @@ public class Apex2JSONEventConverter implements ApexEventProtocolConverter {
             if (!hasJSONField(jsonObject, fieldName)) {
                 if (!eventField.getOptional()) {
                     final String errorMessage = "error parsing " + eventDefinition.getID() + " event from Json. "
-                                    + "Field \"" + fieldName + "\" is missing, but is mandatory.";
+                            + "Field \"" + fieldName + "\" is missing, but is mandatory.";
                     LOGGER.debug(errorMessage);
                     throw new ApexEventException(errorMessage);
                 }
@@ -254,8 +252,8 @@ public class Apex2JSONEventConverter implements ApexEventProtocolConverter {
 
             if (fieldValue != null && !fieldValue.isJsonNull()) {
                 // Get the schema helper
-                final SchemaHelper fieldSchemaHelper = new SchemaHelperFactory().createSchemaHelper(eventField.getKey(),
-                                eventField.getSchema());
+                final SchemaHelper fieldSchemaHelper =
+                        new SchemaHelperFactory().createSchemaHelper(eventField.getKey(), eventField.getSchema());
                 apexEvent.put(fieldName, fieldSchemaHelper.createNewInstance(fieldValue));
             } else {
                 apexEvent.put(fieldName, null);
@@ -268,18 +266,14 @@ public class Apex2JSONEventConverter implements ApexEventProtocolConverter {
     /**
      * This method processes the event header of an Apex event.
      *
-     * @param eventName
-     *        the name of the event
-     * @param jsonObject
-     *        the JSON object containing the JSON representation of the incoming event
+     * @param eventName the name of the event
+     * @param jsonObject the JSON object containing the JSON representation of the incoming event
      * @return an apex event constructed using the header fields of the event
-     * @throws ApexEventRuntimeException
-     *         the apex event runtime exception
-     * @throws ApexEventException
-     *         on invalid events with missing header fields
+     * @throws ApexEventRuntimeException the apex event runtime exception
+     * @throws ApexEventException on invalid events with missing header fields
      */
     private ApexEvent processApexEventHeader(final String eventName, final JsonObject jsonObject)
-                    throws ApexEventException {
+            throws ApexEventException {
         // Get the event header fields
         // @formatter:off
         String name      = getJSONStringField(jsonObject, ApexEvent.NAME_HEADER_FIELD,      jsonPars.getNameAlias(),      ApexEvent.NAME_REGEXP,      false);
@@ -292,14 +286,15 @@ public class Apex2JSONEventConverter implements ApexEventProtocolConverter {
         // Check that an event name has been specified
         if (name == null && eventName == null) {
             throw new ApexEventRuntimeException(
-                            "event received without mandatory parameter \"name\" on configuration or on event");
+                    "event received without mandatory parameter \"name\" on configuration or on event");
         }
 
         // Check if an event name was specified on the event parameters
         if (eventName != null) {
             if (name != null && !eventName.equals(name)) {
-                LOGGER.warn("The incoming event name \"{}\" does not match the configured event name \"{}\", using configured event name",
-                                name, eventName);
+                LOGGER.warn(
+                        "The incoming event name \"{}\" does not match the configured event name \"{}\", using configured event name",
+                        name, eventName);
             }
             name = eventName;
         }
@@ -308,8 +303,12 @@ public class Apex2JSONEventConverter implements ApexEventProtocolConverter {
         // definition in the model service is used
         final AxEvent eventDefinition = ModelService.getModel(AxEvents.class).get(name, version);
         if (eventDefinition == null) {
+            if (version == null) {
+                throw new ApexEventRuntimeException(
+                        "an event definition for an event named \"" + name + "\" not found in Apex model");
+            }
             throw new ApexEventRuntimeException("an event definition for an event named \"" + name
-                            + "\" with version \"" + version + "\" not found in Apex model");
+                    + "\" with version \"" + version + "\" not found in Apex model");
         }
 
         // Use the defined event version if no version is specified on the incoming fields
@@ -320,9 +319,9 @@ public class Apex2JSONEventConverter implements ApexEventProtocolConverter {
         // Check the name space is OK if it is defined, if not, use the name space from the model
         if (namespace != null) {
             if (!namespace.equals(eventDefinition.getNameSpace())) {
-                throw new ApexEventRuntimeException("namespace \"" + namespace + "\" on event \"" + name
-                                + "\" does not match namespace \"" + eventDefinition.getNameSpace()
-                                + "\" for that event in the Apex model");
+                throw new ApexEventRuntimeException(
+                        "namespace \"" + namespace + "\" on event \"" + name + "\" does not match namespace \""
+                                + eventDefinition.getNameSpace() + "\" for that event in the Apex model");
             }
         } else {
             namespace = eventDefinition.getNameSpace();
@@ -344,22 +343,17 @@ public class Apex2JSONEventConverter implements ApexEventProtocolConverter {
     /**
      * This method gets an event string field from a JSON object.
      *
-     * @param jsonObject
-     *        the JSON object containing the JSON representation of the incoming event
-     * @param fieldName
-     *        the field name to find in the event
-     * @param fieldAlias
-     *        the alias for the field to find in the event, overrides the field name if it is not null
-     * @param fieldRE
-     *        the regular expression to check the field against for validity
-     * @param mandatory
-     *        true if the field is mandatory
+     * @param jsonObject the JSON object containing the JSON representation of the incoming event
+     * @param fieldName the field name to find in the event
+     * @param fieldAlias the alias for the field to find in the event, overrides the field name if
+     *        it is not null
+     * @param fieldRE the regular expression to check the field against for validity
+     * @param mandatory true if the field is mandatory
      * @return the value of the field in the JSON object or null if the field is optional
-     * @throws ApexEventRuntimeException
-     *         the apex event runtime exception
+     * @throws ApexEventRuntimeException the apex event runtime exception
      */
     private String getJSONStringField(final JsonObject jsonObject, final String fieldName, final String fieldAlias,
-                    final String fieldRE, final boolean mandatory) {
+            final String fieldRE, final boolean mandatory) {
         // Get the JSON field for the string field
         final JsonElement jsonField = getJSONField(jsonObject, fieldName, fieldAlias, mandatory);
 
@@ -375,7 +369,7 @@ public class Apex2JSONEventConverter implements ApexEventProtocolConverter {
         } catch (final Exception e) {
             // The element is not a string so throw an error
             throw new ApexEventRuntimeException("field \"" + fieldName + "\" with type \""
-                            + jsonField.getClass().getCanonicalName() + "\" is not a string value");
+                    + jsonField.getClass().getCanonicalName() + "\" is not a string value");
         }
 
         // Is regular expression checking required
@@ -386,7 +380,7 @@ public class Apex2JSONEventConverter implements ApexEventProtocolConverter {
         // Check the event field against its regular expression
         if (!fieldValueString.matches(fieldRE)) {
             throw new ApexEventRuntimeException(
-                            "field \"" + fieldName + "\" with value \"" + fieldValueString + "\" is invalid");
+                    "field \"" + fieldName + "\" with value \"" + fieldValueString + "\" is invalid");
         }
 
         return fieldValueString;
@@ -395,20 +389,16 @@ public class Apex2JSONEventConverter implements ApexEventProtocolConverter {
     /**
      * This method gets an event field from a JSON object.
      *
-     * @param jsonObject
-     *        the JSON object containing the JSON representation of the incoming event
-     * @param fieldName
-     *        the field name to find in the event
-     * @param fieldAlias
-     *        the alias for the field to find in the event, overrides the field name if it is not null
-     * @param mandatory
-     *        true if the field is mandatory
+     * @param jsonObject the JSON object containing the JSON representation of the incoming event
+     * @param fieldName the field name to find in the event
+     * @param fieldAlias the alias for the field to find in the event, overrides the field name if
+     *        it is not null
+     * @param mandatory true if the field is mandatory
      * @return the value of the field in the JSON object or null if the field is optional
-     * @throws ApexEventRuntimeException
-     *         the apex event runtime exception
+     * @throws ApexEventRuntimeException the apex event runtime exception
      */
     private JsonElement getJSONField(final JsonObject jsonObject, final String fieldName, final String fieldAlias,
-                    final boolean mandatory) {
+            final boolean mandatory) {
 
         // Check if we should use the alias for this field
         String fieldToFind = fieldName;
@@ -432,13 +422,10 @@ public class Apex2JSONEventConverter implements ApexEventProtocolConverter {
     /**
      * This method if a JSON object has a named field.
      *
-     * @param jsonObject
-     *        the JSON object containing the JSON representation of the incoming event
-     * @param fieldName
-     *        the field name to find in the event
+     * @param jsonObject the JSON object containing the JSON representation of the incoming event
+     * @param fieldName the field name to find in the event
      * @return true if the field is present
-     * @throws ApexEventRuntimeException
-     *         the apex event runtime exception
+     * @throws ApexEventRuntimeException the apex event runtime exception
      */
     private boolean hasJSONField(final JsonObject jsonObject, final String fieldName) {
         // check for the field
diff --git a/testsuites/integration/integration-common/pom.xml b/testsuites/integration/integration-common/pom.xml
new file mode 100644 (file)
index 0000000..46f913b
--- /dev/null
@@ -0,0 +1,100 @@
+<!--
+  ============LICENSE_START=======================================================
+   Copyright (C) 2018 Ericsson. 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.
+
+  SPDX-License-Identifier: Apache-2.0
+  ============LICENSE_END=========================================================
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.onap.policy.apex-pdp.testsuites.integration</groupId>
+        <artifactId>integration</artifactId>
+        <version>2.0.0-SNAPSHOT</version>
+    </parent>
+    <artifactId>integration-common</artifactId>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.onap.policy.apex-pdp.model</groupId>
+            <artifactId>context-model</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.onap.policy.apex-pdp.model</groupId>
+            <artifactId>event-model</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.onap.policy.apex-pdp.model</groupId>
+            <artifactId>policy-model</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.onap.policy.apex-pdp.core</groupId>
+            <artifactId>core-engine</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <artifactId>maven-pmd-plugin</artifactId>
+                <configuration>
+                    <excludes>
+                        <exclude>**/test/common/**/*.java</exclude>
+                    </excludes>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.jacoco</groupId>
+                <artifactId>jacoco-maven-plugin</artifactId>
+                <configuration>
+                    <goalPrefix>jacoco</goalPrefix>
+                    <excludes>
+                        <exclude>**/test/common/**/*..class</exclude>
+                    </excludes>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>exec-maven-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>generate-models</id>
+                        <phase>process-classes</phase>
+                        <goals>
+                            <goal>exec</goal>
+                        </goals>
+                        <configuration>
+                            <executable>java</executable>
+                            <classpathScope>test</classpathScope>
+                            <arguments>
+                                <argument>-classpath</argument>
+                                <!-- automatically creates the classpath using all project dependencies, also adding the project build directory -->
+                                <classpath />
+                                <argument>org.onap.policy.apex.test.common.model.SampleDomainModelSaver</argument>
+                                <argument>${project.build.directory}/classes/examples/models/SampleDomain</argument>
+                            </arguments>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+
+</project>
\ No newline at end of file
diff --git a/testsuites/integration/integration-common/src/main/java/org/onap/policy/apex/test/common/model/EvalDomainModelFactory.java b/testsuites/integration/integration-common/src/main/java/org/onap/policy/apex/test/common/model/EvalDomainModelFactory.java
new file mode 100644 (file)
index 0000000..65d49f0
--- /dev/null
@@ -0,0 +1,501 @@
+/*-
+ * ============LICENSE_START=======================================================
+ *  Copyright (C) 2016-2018 Ericsson. 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.
+ * 
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.apex.test.common.model;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.TreeMap;
+import java.util.TreeSet;
+
+import org.onap.policy.apex.model.basicmodel.concepts.ApexRuntimeException;
+import org.onap.policy.apex.model.basicmodel.concepts.AxArtifactKey;
+import org.onap.policy.apex.model.basicmodel.concepts.AxKeyInformation;
+import org.onap.policy.apex.model.basicmodel.concepts.AxReferenceKey;
+import org.onap.policy.apex.model.basicmodel.concepts.AxValidationResult;
+import org.onap.policy.apex.model.contextmodel.concepts.AxContextAlbums;
+import org.onap.policy.apex.model.contextmodel.concepts.AxContextSchema;
+import org.onap.policy.apex.model.contextmodel.concepts.AxContextSchemas;
+import org.onap.policy.apex.model.eventmodel.concepts.AxEvent;
+import org.onap.policy.apex.model.eventmodel.concepts.AxEvents;
+import org.onap.policy.apex.model.eventmodel.concepts.AxField;
+import org.onap.policy.apex.model.policymodel.concepts.AxLogicReader;
+import org.onap.policy.apex.model.policymodel.concepts.AxPolicies;
+import org.onap.policy.apex.model.policymodel.concepts.AxPolicy;
+import org.onap.policy.apex.model.policymodel.concepts.AxPolicyModel;
+import org.onap.policy.apex.model.policymodel.concepts.AxState;
+import org.onap.policy.apex.model.policymodel.concepts.AxStateOutput;
+import org.onap.policy.apex.model.policymodel.concepts.AxStateTaskOutputType;
+import org.onap.policy.apex.model.policymodel.concepts.AxStateTaskReference;
+import org.onap.policy.apex.model.policymodel.concepts.AxTask;
+import org.onap.policy.apex.model.policymodel.concepts.AxTaskLogic;
+import org.onap.policy.apex.model.policymodel.concepts.AxTaskSelectionLogic;
+import org.onap.policy.apex.model.policymodel.concepts.AxTasks;
+import org.onap.policy.apex.model.policymodel.handling.PolicyLogicReader;
+
+/**
+ * This class creates sample evaluation Policy Models.
+ *
+ * @author John Keeney (john.keeney@ericsson.com)
+ */
+public class EvalDomainModelFactory {
+    private static final int THIRD_MEMBER = 3;
+
+    private static final String PACKAGE = EvalDomainModelFactory.class.getPackage().getName();
+
+    private String justOneLang = null;
+
+    private final AxContextSchema typeTimestamp;
+    private final AxContextSchema typeDouble;
+    private final AxContextSchema typeCounter;
+    private final AxContextSchemas schemas;
+    private final AxEvent event0000;
+    private final AxEvent event0001;
+    private final AxEvent event0002;
+    private final AxEvent event0003;
+    private final AxEvent event0004;
+    private final AxEvents events;
+
+    /**
+     * The Constructor for the factory.
+     */
+    public EvalDomainModelFactory() {
+        this(null);
+    }
+
+    /**
+     * The Constructor for the factory that creates models for a single executor language flavour.
+     *
+     * @param justOneLang the just one lang
+     */
+    public EvalDomainModelFactory(final String justOneLang) {
+        this.justOneLang = justOneLang;
+
+        typeTimestamp = new AxContextSchema(new AxArtifactKey("TestTimestamp", "0.0.1"), "Java", "java.lang.Long");
+        typeDouble = new AxContextSchema(new AxArtifactKey("TestTemperature", "0.0.1"), "Java", "java.lang.Double");
+        typeCounter = new AxContextSchema(new AxArtifactKey("TestTimestamp", "0.0.1"), "Java", "java.lang.Long");
+
+        schemas = new AxContextSchemas(new AxArtifactKey("TestDatatypes", "0.0.1"));
+        schemas.getSchemasMap().put(typeTimestamp.getKey(), typeTimestamp);
+        schemas.getSchemasMap().put(typeDouble.getKey(), typeDouble);
+        schemas.getSchemasMap().put(typeCounter.getKey(), typeCounter);
+
+        event0000 = new AxEvent(new AxArtifactKey("Event0000", "0.0.1"), PACKAGE + ".events");
+        event0000.getParameterMap().put("SentTimestamp", new AxField(new AxReferenceKey(event0000.getKey(), "SentTimestamp"), typeTimestamp.getKey()));
+        event0000.getParameterMap().put("TestTemperature", new AxField(new AxReferenceKey(event0000.getKey(), "TestTemperature"), typeDouble.getKey()));
+        event0000.getParameterMap().put("FirstEventTimestamp",
+                new AxField(new AxReferenceKey(event0000.getKey(), "FirstEventTimestamp"), typeTimestamp.getKey()));
+        event0000.getParameterMap().put("EventNumber", new AxField(new AxReferenceKey(event0000.getKey(), "EventNumber"), typeCounter.getKey()));
+
+        event0001 = new AxEvent(new AxArtifactKey("Event0001", "0.0.1"), PACKAGE + ".events");
+        event0001.getParameterMap().put("SentTimestamp", new AxField(new AxReferenceKey(event0001.getKey(), "SentTimestamp"), typeTimestamp.getKey()));
+        event0001.getParameterMap().put("State1Timestamp", new AxField(new AxReferenceKey(event0001.getKey(), "State1Timestamp"), typeTimestamp.getKey()));
+        event0001.getParameterMap().put("TestTemperature", new AxField(new AxReferenceKey(event0001.getKey(), "TestTemperature"), typeDouble.getKey()));
+        event0001.getParameterMap().put("FirstEventTimestamp",
+                new AxField(new AxReferenceKey(event0001.getKey(), "FirstEventTimestamp"), typeTimestamp.getKey()));
+        event0001.getParameterMap().put("EventNumber", new AxField(new AxReferenceKey(event0001.getKey(), "EventNumber"), typeCounter.getKey()));
+
+        event0002 = new AxEvent(new AxArtifactKey("Event0002", "0.0.1"), PACKAGE + ".events");
+        event0002.getParameterMap().put("SentTimestamp", new AxField(new AxReferenceKey(event0002.getKey(), "SentTimestamp"), typeTimestamp.getKey()));
+        event0002.getParameterMap().put("State1Timestamp", new AxField(new AxReferenceKey(event0002.getKey(), "State1Timestamp"), typeTimestamp.getKey()));
+        event0002.getParameterMap().put("State2Timestamp", new AxField(new AxReferenceKey(event0002.getKey(), "State2Timestamp"), typeTimestamp.getKey()));
+        event0002.getParameterMap().put("TestTemperature", new AxField(new AxReferenceKey(event0002.getKey(), "TestTemperature"), typeDouble.getKey()));
+        event0002.getParameterMap().put("FirstEventTimestamp",
+                new AxField(new AxReferenceKey(event0002.getKey(), "FirstEventTimestamp"), typeTimestamp.getKey()));
+        event0002.getParameterMap().put("EventNumber", new AxField(new AxReferenceKey(event0002.getKey(), "EventNumber"), typeCounter.getKey()));
+
+        event0003 = new AxEvent(new AxArtifactKey("Event0003", "0.0.1"), PACKAGE + ".events");
+        event0003.getParameterMap().put("SentTimestamp", new AxField(new AxReferenceKey(event0003.getKey(), "SentTimestamp"), typeTimestamp.getKey()));
+        event0003.getParameterMap().put("State1Timestamp", new AxField(new AxReferenceKey(event0003.getKey(), "State1Timestamp"), typeTimestamp.getKey()));
+        event0003.getParameterMap().put("State2Timestamp", new AxField(new AxReferenceKey(event0003.getKey(), "State2Timestamp"), typeTimestamp.getKey()));
+        event0003.getParameterMap().put("State3Timestamp", new AxField(new AxReferenceKey(event0003.getKey(), "State3Timestamp"), typeTimestamp.getKey()));
+        event0003.getParameterMap().put("TestTemperature", new AxField(new AxReferenceKey(event0003.getKey(), "TestTemperature"), typeDouble.getKey()));
+        event0003.getParameterMap().put("FirstEventTimestamp",
+                new AxField(new AxReferenceKey(event0003.getKey(), "FirstEventTimestamp"), typeTimestamp.getKey()));
+        event0003.getParameterMap().put("EventNumber", new AxField(new AxReferenceKey(event0003.getKey(), "EventNumber"), typeCounter.getKey()));
+
+        event0004 = new AxEvent(new AxArtifactKey("Event0004", "0.0.1"), PACKAGE + ".events");
+        event0004.getParameterMap().put("SentTimestamp", new AxField(new AxReferenceKey(event0004.getKey(), "SentTimestamp"), typeTimestamp.getKey()));
+        event0004.getParameterMap().put("State1Timestamp", new AxField(new AxReferenceKey(event0004.getKey(), "State1Timestamp"), typeTimestamp.getKey()));
+        event0004.getParameterMap().put("State2Timestamp", new AxField(new AxReferenceKey(event0004.getKey(), "State2Timestamp"), typeTimestamp.getKey()));
+        event0004.getParameterMap().put("State3Timestamp", new AxField(new AxReferenceKey(event0004.getKey(), "State3Timestamp"), typeTimestamp.getKey()));
+        event0004.getParameterMap().put("State4Timestamp", new AxField(new AxReferenceKey(event0004.getKey(), "State4Timestamp"), typeTimestamp.getKey()));
+        event0004.getParameterMap().put("TestTemperature", new AxField(new AxReferenceKey(event0004.getKey(), "TestTemperature"), typeDouble.getKey()));
+        event0004.getParameterMap().put("FirstEventTimestamp",
+                new AxField(new AxReferenceKey(event0004.getKey(), "FirstEventTimestamp"), typeTimestamp.getKey()));
+        event0004.getParameterMap().put("EventNumber", new AxField(new AxReferenceKey(event0004.getKey(), "EventNumber"), typeCounter.getKey()));
+
+        events = new AxEvents(new AxArtifactKey("Events", "0.0.1"));
+        events.getEventMap().put(event0000.getKey(), event0000);
+        events.getEventMap().put(event0001.getKey(), event0001);
+        events.getEventMap().put(event0002.getKey(), event0002);
+        events.getEventMap().put(event0003.getKey(), event0003);
+        events.getEventMap().put(event0004.getKey(), event0004);
+    }
+
+    /**
+     * Get a sample OODA policy model.
+     *
+     * @return the sample policy model
+     */
+    public AxPolicyModel getOODAPolicyModel() {
+        final AxTasks tasks = new AxTasks(new AxArtifactKey("Tasks", "0.0.1"));
+
+        final AxLogicReader logicReader = new PolicyLogicReader().setLogicPackage(PACKAGE).setDefaultLogic("EvalTask_Logic");
+
+        final AxTask obTask = new AxTask(new AxArtifactKey("Task_Observe_0", "0.0.1"));
+        obTask.duplicateInputFields(event0000.getParameterMap());
+        obTask.duplicateOutputFields(event0001.getParameterMap());
+        final AxTaskLogic obAxLogic = new AxTaskLogic(obTask.getKey(), "TaskLogic", (justOneLang == null ? "JRUBY" : justOneLang), logicReader);
+        obAxLogic.setLogic(obAxLogic.getLogic().replaceAll("<STATE_NAME>", "Observe").replaceAll("<TASK_NAME>", obTask.getKey().getName())
+                .replaceAll("<STATE_NUMBER>", "1"));
+        obTask.setTaskLogic(obAxLogic);
+
+        final AxTask orTask = new AxTask(new AxArtifactKey("Task_Orient_0", "0.0.1"));
+        orTask.duplicateInputFields(event0001.getParameterMap());
+        orTask.duplicateOutputFields(event0002.getParameterMap());
+        final AxTaskLogic orAxLogic = new AxTaskLogic(orTask.getKey(), "TaskLogic", (justOneLang == null ? "JAVASCRIPT" : justOneLang), logicReader);
+        orAxLogic.setLogic(orAxLogic.getLogic().replaceAll("<STATE_NAME>", "Orient").replaceAll("<TASK_NAME>", orTask.getKey().getName())
+                .replaceAll("<STATE_NUMBER>", "2"));
+        orTask.setTaskLogic(orAxLogic);
+
+        final AxTask dTask = new AxTask(new AxArtifactKey("Task_Decide_0", "0.0.1"));
+        dTask.duplicateInputFields(event0002.getParameterMap());
+        dTask.duplicateOutputFields(event0003.getParameterMap());
+        final AxTaskLogic dAxLogic = new AxTaskLogic(dTask.getKey(), "TaskLogic", (justOneLang == null ? "MVEL" : justOneLang), logicReader);
+        dAxLogic.setLogic(
+                dAxLogic.getLogic().replaceAll("<STATE_NAME>", "Orient").replaceAll("<TASK_NAME>", dTask.getKey().getName()).replaceAll("<STATE_NUMBER>", "3"));
+        dTask.setTaskLogic(dAxLogic);
+
+        final AxTask aTask = new AxTask(new AxArtifactKey("Task_Act_0", "0.0.1"));
+        aTask.duplicateInputFields(event0003.getParameterMap());
+        aTask.duplicateOutputFields(event0004.getParameterMap());
+        final AxTaskLogic aAxLogic = new AxTaskLogic(aTask.getKey(), "TaskLogic", (justOneLang == null ? "JAVA" : justOneLang), logicReader);
+        aAxLogic.setLogic(
+                aAxLogic.getLogic().replaceAll("<STATE_NAME>", "Act").replaceAll("<TASK_NAME>", aTask.getKey().getName()).replaceAll("<STATE_NUMBER>", "4"));
+        aTask.setTaskLogic(aAxLogic);
+
+        tasks.getTaskMap().put(obTask.getKey(), obTask);
+        tasks.getTaskMap().put(orTask.getKey(), orTask);
+        tasks.getTaskMap().put(dTask.getKey(), dTask);
+        tasks.getTaskMap().put(aTask.getKey(), aTask);
+
+        final Set<AxArtifactKey> obTasks = new TreeSet<>();
+        final Set<AxArtifactKey> orTasks = new TreeSet<>();
+        final Set<AxArtifactKey> decTasks = new TreeSet<>();
+        final Set<AxArtifactKey> actTasks = new TreeSet<>();
+
+        for (final AxTask task : tasks.getTaskMap().values()) {
+            if (task.getKey().getName().contains("Observe")) {
+                obTasks.add(task.getKey());
+            }
+            if (task.getKey().getName().contains("Orient")) {
+                orTasks.add(task.getKey());
+            }
+            if (task.getKey().getName().contains("Decide")) {
+                decTasks.add(task.getKey());
+            }
+            if (task.getKey().getName().contains("Act")) {
+                actTasks.add(task.getKey());
+            }
+        }
+        final List<Set<AxArtifactKey>> taskReferenceList = new ArrayList<>();
+        taskReferenceList.add(obTasks);
+        taskReferenceList.add(orTasks);
+        taskReferenceList.add(decTasks);
+        taskReferenceList.add(actTasks);
+
+        final List<AxArtifactKey> p0InEventList = new ArrayList<>();
+        p0InEventList.add(event0000.getKey());
+        p0InEventList.add(event0001.getKey());
+        p0InEventList.add(event0002.getKey());
+        p0InEventList.add(event0003.getKey());
+
+        final List<AxArtifactKey> p0OutEventList = new ArrayList<>();
+        p0OutEventList.add(event0001.getKey());
+        p0OutEventList.add(event0002.getKey());
+        p0OutEventList.add(event0003.getKey());
+        p0OutEventList.add(event0004.getKey());
+
+        final List<AxArtifactKey> p0defaultTaskList = new ArrayList<>();
+        p0defaultTaskList.add(tasks.get("Task_Observe_0").getKey());
+        p0defaultTaskList.add(tasks.get("Task_Orient_0").getKey());
+        p0defaultTaskList.add(tasks.get("Task_Decide_0").getKey());
+        p0defaultTaskList.add(tasks.get("Task_Act_0").getKey());
+
+        final AxPolicy policy0 = new AxPolicy(new AxArtifactKey("OODAPolicy_0", "0.0.1"));
+        final List<String> axLogicExecutorTypeList = Arrays.asList((justOneLang == null ? "JAVASCRIPT" : justOneLang),
+                (justOneLang == null ? "MVEL" : justOneLang), (justOneLang == null ? "JYTHON" : justOneLang), (justOneLang == null ? "JRUBY" : justOneLang));
+        policy0.setStateMap(getOODAStateMap(policy0.getKey(), p0InEventList, p0OutEventList, axLogicExecutorTypeList, p0defaultTaskList, taskReferenceList));
+        policy0.setFirstState(policy0.getStateMap().get("Observe").getKey().getLocalName());
+
+        final AxPolicies policies = new AxPolicies(new AxArtifactKey("OODAPolicies", "0.0.1"));
+        policies.getPolicyMap().put(policy0.getKey(), policy0);
+
+        final AxKeyInformation keyInformation = new AxKeyInformation(new AxArtifactKey("KeyInformation", "0.0.1"));
+        final AxPolicyModel policyModel = new AxPolicyModel(new AxArtifactKey("EvaluationPolicyModel_OODA", "0.0.1"));
+        policyModel.setPolicies(policies);
+        policyModel.setEvents(events);
+        policyModel.setTasks(tasks);
+        policyModel.setAlbums(new AxContextAlbums(new AxArtifactKey("Albums", "0.0.1")));
+        policyModel.setSchemas(schemas);
+        policyModel.setKeyInformation(keyInformation);
+        policyModel.getKeyInformation().generateKeyInfo(policyModel);
+
+        final AxValidationResult result = policyModel.validate(new AxValidationResult());
+        if (!result.isOK()) {
+            throw new ApexRuntimeException("model " + policyModel.getID() + " is not valid" + result);
+        }
+        return policyModel;
+    }
+
+    /**
+     * Gets the OODA state map.
+     *
+     * @param policyKey the policy key
+     * @param inEventKeyList the in event key list
+     * @param outEventKeyList the out event key list
+     * @param axLogicExecutorTypeList the ax logic executor type list
+     * @param defaultTaskList the default task list
+     * @param taskKeySetList the task key set list
+     * @return the OODA state map
+     */
+    private Map<String, AxState> getOODAStateMap(final AxArtifactKey policyKey, final List<AxArtifactKey> inEventKeyList,
+            final List<AxArtifactKey> outEventKeyList, final List<String> axLogicExecutorTypeList, final List<AxArtifactKey> defaultTaskList,
+            final List<Set<AxArtifactKey>> taskKeySetList) {
+        final AxLogicReader logicReader = new PolicyLogicReader().setLogicPackage(PACKAGE).setDefaultLogic("EvalState_Logic");
+
+        final AxState actState = new AxState(new AxReferenceKey(policyKey, "Act"));
+        actState.setTrigger(inEventKeyList.get(THIRD_MEMBER));
+        final AxStateOutput act2Out = new AxStateOutput(new AxReferenceKey(actState.getKey(), "Act2Out"), outEventKeyList.get(THIRD_MEMBER),
+                AxReferenceKey.getNullKey());
+        actState.getStateOutputs().put(act2Out.getKey().getLocalName(), act2Out);
+        actState.setTaskSelectionLogic(
+                new AxTaskSelectionLogic(actState.getKey(), "TaskSelectionLogic", axLogicExecutorTypeList.get(THIRD_MEMBER), logicReader));
+        actState.setDefaultTask(defaultTaskList.get(THIRD_MEMBER));
+        for (final AxArtifactKey taskKey : taskKeySetList.get(THIRD_MEMBER)) {
+            actState.getTaskReferences().put(taskKey,
+                    new AxStateTaskReference(new AxReferenceKey(actState.getKey(), taskKey.getName()), AxStateTaskOutputType.DIRECT, act2Out.getKey()));
+        }
+
+        final AxState decState = new AxState(new AxReferenceKey(policyKey, "Decide"));
+        decState.setTrigger(inEventKeyList.get(2));
+        final AxStateOutput dec2Act = new AxStateOutput(new AxReferenceKey(decState.getKey(), "Dec2Act"), outEventKeyList.get(2), actState.getKey());
+        decState.getStateOutputs().put(dec2Act.getKey().getLocalName(), dec2Act);
+        decState.setTaskSelectionLogic(new AxTaskSelectionLogic(decState.getKey(), "TaskSelectionLogic", axLogicExecutorTypeList.get(2), logicReader));
+        decState.setDefaultTask(defaultTaskList.get(2));
+        for (final AxArtifactKey taskKey : taskKeySetList.get(2)) {
+            decState.getTaskReferences().put(taskKey,
+                    new AxStateTaskReference(new AxReferenceKey(decState.getKey(), taskKey.getName()), AxStateTaskOutputType.DIRECT, dec2Act.getKey()));
+        }
+
+        final AxState orState = new AxState(new AxReferenceKey(policyKey, "Orient"));
+        orState.setTrigger(inEventKeyList.get(1));
+        final AxStateOutput or2Dec = new AxStateOutput(new AxReferenceKey(orState.getKey(), "Or2Dec"), outEventKeyList.get(1), decState.getKey());
+        orState.getStateOutputs().put(or2Dec.getKey().getLocalName(), or2Dec);
+        orState.setTaskSelectionLogic(new AxTaskSelectionLogic(orState.getKey(), "TaskSelectionLogic", axLogicExecutorTypeList.get(1), logicReader));
+        orState.setDefaultTask(defaultTaskList.get(1));
+        for (final AxArtifactKey taskKey : taskKeySetList.get(1)) {
+            orState.getTaskReferences().put(taskKey,
+                    new AxStateTaskReference(new AxReferenceKey(orState.getKey(), taskKey.getName()), AxStateTaskOutputType.DIRECT, or2Dec.getKey()));
+        }
+
+        final AxState obState = new AxState(new AxReferenceKey(policyKey, "Observe"));
+        obState.setTrigger(inEventKeyList.get(0));
+        final AxStateOutput ob2Or = new AxStateOutput(new AxReferenceKey(obState.getKey(), "Ob2Or"), outEventKeyList.get(0), orState.getKey());
+        obState.getStateOutputs().put(ob2Or.getKey().getLocalName(), ob2Or);
+        obState.setTaskSelectionLogic(new AxTaskSelectionLogic(obState.getKey(), "TaskSelectionLogic", axLogicExecutorTypeList.get(0), logicReader));
+        obState.setDefaultTask(defaultTaskList.get(0));
+        for (final AxArtifactKey taskKey : taskKeySetList.get(0)) {
+            obState.getTaskReferences().put(taskKey,
+                    new AxStateTaskReference(new AxReferenceKey(obState.getKey(), taskKey.getName()), AxStateTaskOutputType.DIRECT, ob2Or.getKey()));
+        }
+
+        final Map<String, AxState> stateMap = new TreeMap<>();
+        stateMap.put(obState.getKey().getLocalName(), obState);
+        stateMap.put(orState.getKey().getLocalName(), orState);
+        stateMap.put(decState.getKey().getLocalName(), decState);
+        stateMap.put(actState.getKey().getLocalName(), actState);
+
+        return stateMap;
+    }
+
+    /**
+     * Get a sample ECA policy model.
+     *
+     * @return the sample policy model
+     */
+    public AxPolicyModel getECAPolicyModel() {
+
+        final AxTasks tasks = new AxTasks(new AxArtifactKey("Tasks", "0.0.1"));
+
+        final AxLogicReader logicReader = new PolicyLogicReader().setLogicPackage(PACKAGE).setDefaultLogic("EvalTask_Logic");
+
+        final AxTask eTask = new AxTask(new AxArtifactKey("Task_Event_0", "0.0.1"));
+        eTask.duplicateInputFields(event0000.getParameterMap());
+        eTask.duplicateOutputFields(event0001.getParameterMap());
+        final AxTaskLogic eAxLogic = new AxTaskLogic(eTask.getKey(), "TaskLogic", (justOneLang == null ? "JRUBY" : justOneLang), logicReader);
+        eAxLogic.setLogic(
+                eAxLogic.getLogic().replaceAll("<STATE_NAME>", "Event").replaceAll("<TASK_NAME>", eTask.getKey().getName()).replaceAll("<STATE_NUMBER>", "1"));
+        eTask.setTaskLogic(eAxLogic);
+
+        final AxTask cTask = new AxTask(new AxArtifactKey("Task_Condition_0", "0.0.1"));
+        cTask.duplicateInputFields(event0001.getParameterMap());
+        cTask.duplicateOutputFields(event0002.getParameterMap());
+        final AxTaskLogic cAxLogic = new AxTaskLogic(cTask.getKey(), "TaskLogic", (justOneLang == null ? "JAVASCRIPT" : justOneLang), logicReader);
+        cAxLogic.setLogic(cAxLogic.getLogic().replaceAll("<STATE_NAME>", "Condition").replaceAll("<TASK_NAME>", cTask.getKey().getName())
+                .replaceAll("<STATE_NUMBER>", "2"));
+        cTask.setTaskLogic(cAxLogic);
+
+        final AxTask aTask = new AxTask(new AxArtifactKey("Task_Action_0", "0.0.1"));
+        aTask.duplicateInputFields(event0002.getParameterMap());
+        aTask.duplicateOutputFields(event0003.getParameterMap());
+        final AxTaskLogic aAxLogic = new AxTaskLogic(aTask.getKey(), "TaskLogic", (justOneLang == null ? "JAVA" : justOneLang), logicReader);
+        aAxLogic.setLogic(
+                aAxLogic.getLogic().replaceAll("<STATE_NAME>", "Action").replaceAll("<TASK_NAME>", aTask.getKey().getName()).replaceAll("<STATE_NUMBER>", "3"));
+        aTask.setTaskLogic(aAxLogic);
+
+        tasks.getTaskMap().put(eTask.getKey(), eTask);
+        tasks.getTaskMap().put(cTask.getKey(), cTask);
+        tasks.getTaskMap().put(aTask.getKey(), aTask);
+
+        final Set<AxArtifactKey> eventTasks = new TreeSet<>();
+        final Set<AxArtifactKey> conditionTasks = new TreeSet<>();
+        final Set<AxArtifactKey> actionTasks = new TreeSet<>();
+
+        for (final AxTask task : tasks.getTaskMap().values()) {
+            if (task.getKey().getName().contains("Event")) {
+                eventTasks.add(task.getKey());
+            }
+            if (task.getKey().getName().contains("Condition")) {
+                conditionTasks.add(task.getKey());
+            }
+            if (task.getKey().getName().contains("Action")) {
+                actionTasks.add(task.getKey());
+            }
+        }
+        final List<Set<AxArtifactKey>> taskReferenceList = new ArrayList<>();
+        taskReferenceList.add(eventTasks);
+        taskReferenceList.add(conditionTasks);
+        taskReferenceList.add(actionTasks);
+
+        final List<AxArtifactKey> p0InEventList = new ArrayList<>();
+        p0InEventList.add(event0000.getKey());
+        p0InEventList.add(event0001.getKey());
+        p0InEventList.add(event0002.getKey());
+
+        final List<AxArtifactKey> p0OutEventList = new ArrayList<>();
+        p0OutEventList.add(event0001.getKey());
+        p0OutEventList.add(event0002.getKey());
+        p0OutEventList.add(event0003.getKey());
+
+        final List<AxArtifactKey> p0defaultTaskList = new ArrayList<>();
+        p0defaultTaskList.add(tasks.get("Task_Event_0").getKey());
+        p0defaultTaskList.add(tasks.get("Task_Condition_0").getKey());
+        p0defaultTaskList.add(tasks.get("Task_Action_0").getKey());
+
+        final AxPolicy policy0 = new AxPolicy(new AxArtifactKey("ECAPolicy_0", "0.0.1"));
+        final List<String> axLogicExecutorTypeList = Arrays.asList((justOneLang == null ? "JAVASCRIPT" : justOneLang),
+                (justOneLang == null ? "MVEL" : justOneLang), (justOneLang == null ? "JYTHON" : justOneLang));
+        policy0.setStateMap(getECAStateMap(policy0.getKey(), p0InEventList, p0OutEventList, axLogicExecutorTypeList, p0defaultTaskList, taskReferenceList));
+        policy0.setFirstState(policy0.getStateMap().get("Event").getKey().getLocalName());
+
+        final AxPolicies policies = new AxPolicies(new AxArtifactKey("ECAPolicies", "0.0.1"));
+        policies.getPolicyMap().put(policy0.getKey(), policy0);
+
+        final AxKeyInformation keyInformation = new AxKeyInformation(new AxArtifactKey("KeyInformation", "0.0.1"));
+        final AxPolicyModel policyModel = new AxPolicyModel(new AxArtifactKey("EvaluationPolicyModel_ECA", "0.0.1"));
+        policyModel.setPolicies(policies);
+        policyModel.setEvents(events);
+        policyModel.setTasks(tasks);
+        policyModel.setAlbums(new AxContextAlbums(new AxArtifactKey("Albums", "0.0.1")));
+        policyModel.setSchemas(schemas);
+        policyModel.setKeyInformation(keyInformation);
+        policyModel.getKeyInformation().generateKeyInfo(policyModel);
+
+        final AxValidationResult result = policyModel.validate(new AxValidationResult());
+        if (!result.isOK()) {
+            throw new ApexRuntimeException("model " + policyModel.getID() + " is not valid" + result);
+        }
+        return policyModel;
+    }
+
+    /**
+     * Gets the ECA state map.
+     *
+     * @param policyKey the policy key
+     * @param inEventKeyList the in event key list
+     * @param outEventKeyList the out event key list
+     * @param axLogicExecutorTypeList the ax logic executor type list
+     * @param defaultTaskList the default task list
+     * @param taskKeySetList the task key set list
+     * @return the ECA state map
+     */
+    private Map<String, AxState> getECAStateMap(final AxArtifactKey policyKey, final List<AxArtifactKey> inEventKeyList,
+            final List<AxArtifactKey> outEventKeyList, final List<String> axLogicExecutorTypeList, final List<AxArtifactKey> defaultTaskList,
+            final List<Set<AxArtifactKey>> taskKeySetList) {
+        final AxLogicReader logicReader = new PolicyLogicReader().setLogicPackage(PACKAGE).setDefaultLogic("EvalState_Logic");
+
+        final AxState actionState = new AxState(new AxReferenceKey(policyKey, "Action"));
+        actionState.setTrigger(inEventKeyList.get(2));
+        final AxStateOutput action2Out = new AxStateOutput(actionState.getKey(), AxReferenceKey.getNullKey(), outEventKeyList.get(2));
+        actionState.getStateOutputs().put(action2Out.getKey().getLocalName(), action2Out);
+        actionState.setTaskSelectionLogic(new AxTaskSelectionLogic(actionState.getKey(), "TaskSelectionLogic", axLogicExecutorTypeList.get(2), logicReader));
+        actionState.setDefaultTask(defaultTaskList.get(2));
+        for (final AxArtifactKey taskKey : taskKeySetList.get(2)) {
+            actionState.getTaskReferences().put(taskKey,
+                    new AxStateTaskReference(new AxReferenceKey(actionState.getKey(), taskKey.getName()), AxStateTaskOutputType.DIRECT, action2Out.getKey()));
+        }
+
+        final AxState conditionState = new AxState(new AxReferenceKey(policyKey, "Condition"));
+        conditionState.setTrigger(inEventKeyList.get(1));
+        final AxStateOutput condition2Action = new AxStateOutput(conditionState.getKey(), actionState.getKey(), outEventKeyList.get(1));
+        conditionState.getStateOutputs().put(condition2Action.getKey().getLocalName(), condition2Action);
+        conditionState
+                .setTaskSelectionLogic(new AxTaskSelectionLogic(conditionState.getKey(), "TaskSelectionLogic", axLogicExecutorTypeList.get(1), logicReader));
+        conditionState.setDefaultTask(defaultTaskList.get(1));
+        for (final AxArtifactKey taskKey : taskKeySetList.get(1)) {
+            conditionState.getTaskReferences().put(taskKey, new AxStateTaskReference(new AxReferenceKey(conditionState.getKey(), taskKey.getName()),
+                    AxStateTaskOutputType.DIRECT, condition2Action.getKey()));
+        }
+
+        final AxState eventState = new AxState(new AxReferenceKey(policyKey, "Event"));
+        eventState.setTrigger(inEventKeyList.get(0));
+        final AxStateOutput event2Condition = new AxStateOutput(eventState.getKey(), conditionState.getKey(), outEventKeyList.get(0));
+        eventState.getStateOutputs().put(event2Condition.getKey().getLocalName(), event2Condition);
+        eventState.setTaskSelectionLogic(new AxTaskSelectionLogic(eventState.getKey(), "TaskSelectionLogic", axLogicExecutorTypeList.get(0), logicReader));
+        eventState.setDefaultTask(defaultTaskList.get(0));
+        for (final AxArtifactKey taskKey : taskKeySetList.get(0)) {
+            eventState.getTaskReferences().put(taskKey, new AxStateTaskReference(new AxReferenceKey(eventState.getKey(), taskKey.getName()),
+                    AxStateTaskOutputType.DIRECT, event2Condition.getKey()));
+        }
+
+        final Map<String, AxState> stateMap = new TreeMap<>();
+        stateMap.put(eventState.getKey().getLocalName(), eventState);
+        stateMap.put(conditionState.getKey().getLocalName(), conditionState);
+        stateMap.put(actionState.getKey().getLocalName(), actionState);
+
+        return stateMap;
+    }
+
+}
diff --git a/testsuites/integration/integration-common/src/main/java/org/onap/policy/apex/test/common/model/SampleDomainModelFactory.java b/testsuites/integration/integration-common/src/main/java/org/onap/policy/apex/test/common/model/SampleDomainModelFactory.java
new file mode 100644 (file)
index 0000000..2499367
--- /dev/null
@@ -0,0 +1,717 @@
+/*-
+ * ============LICENSE_START=======================================================
+ *  Copyright (C) 2016-2018 Ericsson. 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.
+ * 
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.apex.test.common.model;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.TreeMap;
+import java.util.TreeSet;
+
+import org.onap.policy.apex.model.basicmodel.concepts.ApexRuntimeException;
+import org.onap.policy.apex.model.basicmodel.concepts.AxArtifactKey;
+import org.onap.policy.apex.model.basicmodel.concepts.AxKeyInformation;
+import org.onap.policy.apex.model.basicmodel.concepts.AxReferenceKey;
+import org.onap.policy.apex.model.basicmodel.concepts.AxValidationResult;
+import org.onap.policy.apex.model.contextmodel.concepts.AxContextAlbum;
+import org.onap.policy.apex.model.contextmodel.concepts.AxContextAlbums;
+import org.onap.policy.apex.model.contextmodel.concepts.AxContextSchema;
+import org.onap.policy.apex.model.contextmodel.concepts.AxContextSchemas;
+import org.onap.policy.apex.model.eventmodel.concepts.AxEvent;
+import org.onap.policy.apex.model.eventmodel.concepts.AxEvents;
+import org.onap.policy.apex.model.eventmodel.concepts.AxField;
+import org.onap.policy.apex.model.policymodel.concepts.AxLogicReader;
+import org.onap.policy.apex.model.policymodel.concepts.AxPolicies;
+import org.onap.policy.apex.model.policymodel.concepts.AxPolicy;
+import org.onap.policy.apex.model.policymodel.concepts.AxPolicyModel;
+import org.onap.policy.apex.model.policymodel.concepts.AxState;
+import org.onap.policy.apex.model.policymodel.concepts.AxStateOutput;
+import org.onap.policy.apex.model.policymodel.concepts.AxStateTaskOutputType;
+import org.onap.policy.apex.model.policymodel.concepts.AxStateTaskReference;
+import org.onap.policy.apex.model.policymodel.concepts.AxTask;
+import org.onap.policy.apex.model.policymodel.concepts.AxTaskLogic;
+import org.onap.policy.apex.model.policymodel.concepts.AxTaskParameter;
+import org.onap.policy.apex.model.policymodel.concepts.AxTaskSelectionLogic;
+import org.onap.policy.apex.model.policymodel.concepts.AxTasks;
+import org.onap.policy.apex.model.policymodel.handling.PolicyLogicReader;
+
+/**
+ * This class creates sample Policy Models.
+ *
+ * @author Liam Fallon (liam.fallon@ericsson.com)
+ */
+public class SampleDomainModelFactory {
+    private static final int THIRD_ENTRY = 3;
+
+    /**
+     * Get a sample policy model.
+     *
+     * @param axLogicExecutorType The type of logic executor, the scripting language being used
+     * @return the sample policy model
+     */
+    // CHECKSTYLE:OFF: checkstyle:maximumMethodLength
+    public AxPolicyModel getSamplePolicyModel(final String axLogicExecutorType) {
+        AxContextSchema testSlogan =
+                new AxContextSchema(new AxArtifactKey("TestSlogan", "0.0.1"), "Java", "java.lang.String");
+        AxContextSchema testCase =
+                new AxContextSchema(new AxArtifactKey("TestCase", "0.0.1"), "Java", "java.lang.Byte");
+        AxContextSchema testTimestamp =
+                new AxContextSchema(new AxArtifactKey("TestTimestamp", "0.0.1"), "Java", "java.lang.Long");
+        AxContextSchema testTemperature =
+                new AxContextSchema(new AxArtifactKey("TestTemperature", "0.0.1"), "Java", "java.lang.Double");
+
+        AxContextSchema testContextItem000 = new AxContextSchema(new AxArtifactKey("TestContextItem000", "0.0.1"),
+                "Java", "org.onap.policy.apex.context.test.concepts.TestContextItem000");
+        AxContextSchema testContextItem001 = new AxContextSchema(new AxArtifactKey("TestContextItem001", "0.0.1"),
+                "Java", "org.onap.policy.apex.context.test.concepts.TestContextItem001");
+        AxContextSchema testContextItem002 = new AxContextSchema(new AxArtifactKey("TestContextItem002", "0.0.1"),
+                "Java", "org.onap.policy.apex.context.test.concepts.TestContextItem002");
+        AxContextSchema testContextItem003 = new AxContextSchema(new AxArtifactKey("TestContextItem003", "0.0.1"),
+                "Java", "org.onap.policy.apex.context.test.concepts.TestContextItem003");
+        AxContextSchema testContextItem004 = new AxContextSchema(new AxArtifactKey("TestContextItem004", "0.0.1"),
+                "Java", "org.onap.policy.apex.context.test.concepts.TestContextItem004");
+        AxContextSchema testContextItem005 = new AxContextSchema(new AxArtifactKey("TestContextItem005", "0.0.1"),
+                "Java", "org.onap.policy.apex.context.test.concepts.TestContextItem005");
+        AxContextSchema testContextItem006 = new AxContextSchema(new AxArtifactKey("TestContextItem006", "0.0.1"),
+                "Java", "org.onap.policy.apex.context.test.concepts.TestContextItem006");
+        AxContextSchema testContextItem007 = new AxContextSchema(new AxArtifactKey("TestContextItem007", "0.0.1"),
+                "Java", "org.onap.policy.apex.context.test.concepts.TestContextItem007");
+        AxContextSchema testContextItem008 = new AxContextSchema(new AxArtifactKey("TestContextItem008", "0.0.1"),
+                "Java", "org.onap.policy.apex.context.test.concepts.TestContextItem008");
+        AxContextSchema testContextItem009 = new AxContextSchema(new AxArtifactKey("TestContextItem009", "0.0.1"),
+                "Java", "org.onap.policy.apex.context.test.concepts.TestContextItem009");
+        AxContextSchema testContextItem00A = new AxContextSchema(new AxArtifactKey("TestContextItem00A", "0.0.1"),
+                "Java", "org.onap.policy.apex.context.test.concepts.TestContextItem00A");
+        AxContextSchema testContextItem00B = new AxContextSchema(new AxArtifactKey("TestContextItem00B", "0.0.1"),
+                "Java", "org.onap.policy.apex.context.test.concepts.TestContextItem00B");
+        AxContextSchema testContextItem00C = new AxContextSchema(new AxArtifactKey("TestContextItem00C", "0.0.1"),
+                "Java", "org.onap.policy.apex.context.test.concepts.TestContextItem00C");
+
+        AxContextSchema testPolicyContextItem = new AxContextSchema(new AxArtifactKey("TestPolicyContextItem", "0.0.1"),
+                "Java", "org.onap.policy.apex.context.test.concepts.TestPolicyContextItem");
+        AxContextSchema testGlobalContextItem = new AxContextSchema(new AxArtifactKey("TestGlobalContextItem", "0.0.1"),
+                "Java", "org.onap.policy.apex.context.test.concepts.TestGlobalContextItem");
+        AxContextSchema testExternalContextItem =
+                new AxContextSchema(new AxArtifactKey("TestExternalContextItem", "0.0.1"), "Java",
+                        "org.onap.policy.apex.context.test.concepts.TestExternalContextItem");
+
+        AxContextSchemas axContextSchemas = new AxContextSchemas(new AxArtifactKey("TestDatatypes", "0.0.1"));
+        axContextSchemas.getSchemasMap().put(testSlogan.getKey(), testSlogan);
+        axContextSchemas.getSchemasMap().put(testCase.getKey(), testCase);
+        axContextSchemas.getSchemasMap().put(testTimestamp.getKey(), testTimestamp);
+        axContextSchemas.getSchemasMap().put(testTemperature.getKey(), testTemperature);
+
+        axContextSchemas.getSchemasMap().put(testContextItem000.getKey(), testContextItem000);
+        axContextSchemas.getSchemasMap().put(testContextItem001.getKey(), testContextItem001);
+        axContextSchemas.getSchemasMap().put(testContextItem002.getKey(), testContextItem002);
+        axContextSchemas.getSchemasMap().put(testContextItem003.getKey(), testContextItem003);
+        axContextSchemas.getSchemasMap().put(testContextItem004.getKey(), testContextItem004);
+        axContextSchemas.getSchemasMap().put(testContextItem005.getKey(), testContextItem005);
+        axContextSchemas.getSchemasMap().put(testContextItem006.getKey(), testContextItem006);
+        axContextSchemas.getSchemasMap().put(testContextItem007.getKey(), testContextItem007);
+        axContextSchemas.getSchemasMap().put(testContextItem008.getKey(), testContextItem008);
+        axContextSchemas.getSchemasMap().put(testContextItem009.getKey(), testContextItem009);
+        axContextSchemas.getSchemasMap().put(testContextItem00A.getKey(), testContextItem00A);
+        axContextSchemas.getSchemasMap().put(testContextItem00B.getKey(), testContextItem00B);
+        axContextSchemas.getSchemasMap().put(testContextItem00C.getKey(), testContextItem00C);
+
+        axContextSchemas.getSchemasMap().put(testPolicyContextItem.getKey(), testPolicyContextItem);
+        axContextSchemas.getSchemasMap().put(testGlobalContextItem.getKey(), testGlobalContextItem);
+        axContextSchemas.getSchemasMap().put(testExternalContextItem.getKey(), testExternalContextItem);
+
+        AxEvent event0000 = new AxEvent(new AxArtifactKey("Event0000", "0.0.1"), "org.onap.policy.apex.sample.events");
+        event0000.setSource("Outside");
+        event0000.setTarget("Match");
+        event0000.getParameterMap().put("TestSlogan",
+                new AxField(new AxReferenceKey(event0000.getKey(), "TestSlogan"), testSlogan.getKey()));
+        event0000.getParameterMap().put("TestMatchCase",
+                new AxField(new AxReferenceKey(event0000.getKey(), "TestMatchCase"), testCase.getKey()));
+        event0000.getParameterMap().put("TestTimestamp",
+                new AxField(new AxReferenceKey(event0000.getKey(), "TestTimestamp"), testTimestamp.getKey()));
+        event0000.getParameterMap().put("TestTemperature",
+                new AxField(new AxReferenceKey(event0000.getKey(), "TestTemperature"), testTemperature.getKey()));
+
+        AxEvent event0001 = new AxEvent(new AxArtifactKey("Event0001", "0.0.1"), "org.onap.policy.apex.sample.events");
+        event0001.setSource("Match");
+        event0001.setTarget("Establish");
+        event0001.getParameterMap().put("TestSlogan",
+                new AxField(new AxReferenceKey(event0001.getKey(), "TestSlogan"), testSlogan.getKey()));
+        event0001.getParameterMap().put("TestMatchCase",
+                new AxField(new AxReferenceKey(event0001.getKey(), "TestMatchCase"), testCase.getKey()));
+        event0001.getParameterMap().put("TestTimestamp",
+                new AxField(new AxReferenceKey(event0001.getKey(), "TestTimestamp"), testTimestamp.getKey()));
+        event0001.getParameterMap().put("TestTemperature",
+                new AxField(new AxReferenceKey(event0001.getKey(), "TestTemperature"), testTemperature.getKey()));
+        event0001.getParameterMap().put("TestMatchCaseSelected",
+                new AxField(new AxReferenceKey(event0001.getKey(), "TestMatchCaseSelected"), testCase.getKey()));
+        event0001.getParameterMap().put("TestMatchStateTime",
+                new AxField(new AxReferenceKey(event0001.getKey(), "TestMatchStateTime"), testTimestamp.getKey()));
+
+        AxEvent event0002 = new AxEvent(new AxArtifactKey("Event0002", "0.0.1"), "org.onap.policy.apex.sample.events");
+        event0002.setSource("Establish");
+        event0002.setTarget("Decide");
+        event0002.getParameterMap().put("TestSlogan",
+                new AxField(new AxReferenceKey(event0002.getKey(), "TestSlogan"), testSlogan.getKey()));
+        event0002.getParameterMap().put("TestMatchCase",
+                new AxField(new AxReferenceKey(event0002.getKey(), "TestMatchCase"), testCase.getKey()));
+        event0002.getParameterMap().put("TestTimestamp",
+                new AxField(new AxReferenceKey(event0002.getKey(), "TestTimestamp"), testTimestamp.getKey()));
+        event0002.getParameterMap().put("TestTemperature",
+                new AxField(new AxReferenceKey(event0002.getKey(), "TestTemperature"), testTemperature.getKey()));
+        event0002.getParameterMap().put("TestMatchCaseSelected",
+                new AxField(new AxReferenceKey(event0002.getKey(), "TestMatchCaseSelected"), testCase.getKey()));
+        event0002.getParameterMap().put("TestMatchStateTime",
+                new AxField(new AxReferenceKey(event0002.getKey(), "TestMatchStateTime"), testTimestamp.getKey()));
+        event0002.getParameterMap().put("TestEstablishCaseSelected",
+                new AxField(new AxReferenceKey(event0002.getKey(), "TestEstablishCaseSelected"), testCase.getKey()));
+        event0002.getParameterMap().put("TestEstablishStateTime",
+                new AxField(new AxReferenceKey(event0002.getKey(), "TestEstablishStateTime"), testTimestamp.getKey()));
+
+        AxEvent event0003 = new AxEvent(new AxArtifactKey("Event0003", "0.0.1"), "org.onap.policy.apex.sample.events");
+        event0003.setSource("Decide");
+        event0003.setTarget("Act");
+        event0003.getParameterMap().put("TestSlogan",
+                new AxField(new AxReferenceKey(event0003.getKey(), "TestSlogan"), testSlogan.getKey()));
+        event0003.getParameterMap().put("TestMatchCase",
+                new AxField(new AxReferenceKey(event0003.getKey(), "TestMatchCase"), testCase.getKey()));
+        event0003.getParameterMap().put("TestTimestamp",
+                new AxField(new AxReferenceKey(event0003.getKey(), "TestTimestamp"), testTimestamp.getKey()));
+        event0003.getParameterMap().put("TestTemperature",
+                new AxField(new AxReferenceKey(event0003.getKey(), "TestTemperature"), testTemperature.getKey()));
+        event0003.getParameterMap().put("TestMatchCaseSelected",
+                new AxField(new AxReferenceKey(event0003.getKey(), "TestMatchCaseSelected"), testCase.getKey()));
+        event0003.getParameterMap().put("TestMatchStateTime",
+                new AxField(new AxReferenceKey(event0003.getKey(), "TestMatchStateTime"), testTimestamp.getKey()));
+        event0003.getParameterMap().put("TestEstablishCaseSelected",
+                new AxField(new AxReferenceKey(event0003.getKey(), "TestEstablishCaseSelected"), testCase.getKey()));
+        event0003.getParameterMap().put("TestEstablishStateTime",
+                new AxField(new AxReferenceKey(event0003.getKey(), "TestEstablishStateTime"), testTimestamp.getKey()));
+        event0003.getParameterMap().put("TestDecideCaseSelected",
+                new AxField(new AxReferenceKey(event0003.getKey(), "TestDecideCaseSelected"), testCase.getKey()));
+        event0003.getParameterMap().put("TestDecideStateTime",
+                new AxField(new AxReferenceKey(event0003.getKey(), "TestDecideStateTime"), testTimestamp.getKey()));
+
+        AxEvent event0004 = new AxEvent(new AxArtifactKey("Event0004", "0.0.1"), "org.onap.policy.apex.sample.events");
+        event0004.setSource("Act");
+        event0004.setTarget("Outside");
+        event0004.getParameterMap().put("TestSlogan",
+                new AxField(new AxReferenceKey(event0004.getKey(), "TestSlogan"), testSlogan.getKey()));
+        event0004.getParameterMap().put("TestMatchCase",
+                new AxField(new AxReferenceKey(event0004.getKey(), "TestMatchCase"), testCase.getKey()));
+        event0004.getParameterMap().put("TestTimestamp",
+                new AxField(new AxReferenceKey(event0004.getKey(), "TestTimestamp"), testTimestamp.getKey()));
+        event0004.getParameterMap().put("TestTemperature",
+                new AxField(new AxReferenceKey(event0004.getKey(), "TestTemperature"), testTemperature.getKey()));
+        event0004.getParameterMap().put("TestMatchCaseSelected",
+                new AxField(new AxReferenceKey(event0004.getKey(), "TestMatchCaseSelected"), testCase.getKey()));
+        event0004.getParameterMap().put("TestMatchStateTime",
+                new AxField(new AxReferenceKey(event0004.getKey(), "TestMatchStateTime"), testTimestamp.getKey()));
+        event0004.getParameterMap().put("TestEstablishCaseSelected",
+                new AxField(new AxReferenceKey(event0004.getKey(), "TestEstablishCaseSelected"), testCase.getKey()));
+        event0004.getParameterMap().put("TestEstablishStateTime",
+                new AxField(new AxReferenceKey(event0004.getKey(), "TestEstablishStateTime"), testTimestamp.getKey()));
+        event0004.getParameterMap().put("TestDecideCaseSelected",
+                new AxField(new AxReferenceKey(event0004.getKey(), "TestDecideCaseSelected"), testCase.getKey()));
+        event0004.getParameterMap().put("TestDecideStateTime",
+                new AxField(new AxReferenceKey(event0004.getKey(), "TestDecideStateTime"), testTimestamp.getKey()));
+        event0004.getParameterMap().put("TestActCaseSelected",
+                new AxField(new AxReferenceKey(event0004.getKey(), "TestActCaseSelected"), testCase.getKey()));
+        event0004.getParameterMap().put("TestActStateTime",
+                new AxField(new AxReferenceKey(event0004.getKey(), "TestActStateTime"), testTimestamp.getKey()));
+
+        AxEvent event0100 = new AxEvent(new AxArtifactKey("Event0100", "0.0.1"), "org.onap.policy.apex.sample.events");
+        event0100.setSource("Outside");
+        event0100.setTarget("Match");
+        event0100.getParameterMap().put("TestSlogan",
+                new AxField(new AxReferenceKey(event0100.getKey(), "TestSlogan"), testSlogan.getKey()));
+        event0100.getParameterMap().put("TestMatchCase",
+                new AxField(new AxReferenceKey(event0100.getKey(), "TestMatchCase"), testCase.getKey()));
+        event0100.getParameterMap().put("TestTimestamp",
+                new AxField(new AxReferenceKey(event0100.getKey(), "TestTimestamp"), testTimestamp.getKey()));
+        event0100.getParameterMap().put("TestTemperature",
+                new AxField(new AxReferenceKey(event0100.getKey(), "TestTemperature"), testTemperature.getKey()));
+
+        AxEvent event0101 = new AxEvent(new AxArtifactKey("Event0101", "0.0.1"), "org.onap.policy.apex.sample.events");
+        event0101.setSource("Match");
+        event0101.setTarget("Establish");
+        event0101.getParameterMap().put("TestSlogan",
+                new AxField(new AxReferenceKey(event0101.getKey(), "TestSlogan"), testSlogan.getKey()));
+        event0101.getParameterMap().put("TestMatchCase",
+                new AxField(new AxReferenceKey(event0101.getKey(), "TestMatchCase"), testCase.getKey()));
+        event0101.getParameterMap().put("TestTimestamp",
+                new AxField(new AxReferenceKey(event0101.getKey(), "TestTimestamp"), testTimestamp.getKey()));
+        event0101.getParameterMap().put("TestTemperature",
+                new AxField(new AxReferenceKey(event0101.getKey(), "TestTemperature"), testTemperature.getKey()));
+        event0101.getParameterMap().put("TestMatchCaseSelected",
+                new AxField(new AxReferenceKey(event0101.getKey(), "TestMatchCaseSelected"), testCase.getKey()));
+        event0101.getParameterMap().put("TestMatchStateTime",
+                new AxField(new AxReferenceKey(event0101.getKey(), "TestMatchStateTime"), testTimestamp.getKey()));
+
+        AxEvent event0102 = new AxEvent(new AxArtifactKey("Event0102", "0.0.1"), "org.onap.policy.apex.sample.events");
+        event0102.setSource("Establish");
+        event0102.setTarget("Decide");
+        event0102.getParameterMap().put("TestSlogan",
+                new AxField(new AxReferenceKey(event0102.getKey(), "TestSlogan"), testSlogan.getKey()));
+        event0102.getParameterMap().put("TestMatchCase",
+                new AxField(new AxReferenceKey(event0102.getKey(), "TestMatchCase"), testCase.getKey()));
+        event0102.getParameterMap().put("TestTimestamp",
+                new AxField(new AxReferenceKey(event0102.getKey(), "TestTimestamp"), testTimestamp.getKey()));
+        event0102.getParameterMap().put("TestTemperature",
+                new AxField(new AxReferenceKey(event0102.getKey(), "TestTemperature"), testTemperature.getKey()));
+        event0102.getParameterMap().put("TestMatchCaseSelected",
+                new AxField(new AxReferenceKey(event0102.getKey(), "TestMatchCaseSelected"), testCase.getKey()));
+        event0102.getParameterMap().put("TestMatchStateTime",
+                new AxField(new AxReferenceKey(event0102.getKey(), "TestMatchStateTime"), testTimestamp.getKey()));
+        event0102.getParameterMap().put("TestEstablishCaseSelected",
+                new AxField(new AxReferenceKey(event0102.getKey(), "TestEstablishCaseSelected"), testCase.getKey()));
+        event0102.getParameterMap().put("TestEstablishStateTime",
+                new AxField(new AxReferenceKey(event0102.getKey(), "TestEstablishStateTime"), testTimestamp.getKey()));
+
+        AxEvent event0103 = new AxEvent(new AxArtifactKey("Event0103", "0.0.1"), "org.onap.policy.apex.sample.events");
+        event0103.setSource("Decide");
+        event0103.setTarget("Act");
+        event0103.getParameterMap().put("TestSlogan",
+                new AxField(new AxReferenceKey(event0103.getKey(), "TestSlogan"), testSlogan.getKey()));
+        event0103.getParameterMap().put("TestMatchCase",
+                new AxField(new AxReferenceKey(event0103.getKey(), "TestMatchCase"), testCase.getKey()));
+        event0103.getParameterMap().put("TestTimestamp",
+                new AxField(new AxReferenceKey(event0103.getKey(), "TestTimestamp"), testTimestamp.getKey()));
+        event0103.getParameterMap().put("TestTemperature",
+                new AxField(new AxReferenceKey(event0103.getKey(), "TestTemperature"), testTemperature.getKey()));
+        event0103.getParameterMap().put("TestMatchCaseSelected",
+                new AxField(new AxReferenceKey(event0103.getKey(), "TestMatchCaseSelected"), testCase.getKey()));
+        event0103.getParameterMap().put("TestMatchStateTime",
+                new AxField(new AxReferenceKey(event0103.getKey(), "TestMatchStateTime"), testTimestamp.getKey()));
+        event0103.getParameterMap().put("TestEstablishCaseSelected",
+                new AxField(new AxReferenceKey(event0103.getKey(), "TestEstablishCaseSelected"), testCase.getKey()));
+        event0103.getParameterMap().put("TestEstablishStateTime",
+                new AxField(new AxReferenceKey(event0103.getKey(), "TestEstablishStateTime"), testTimestamp.getKey()));
+        event0103.getParameterMap().put("TestDecideCaseSelected",
+                new AxField(new AxReferenceKey(event0103.getKey(), "TestDecideCaseSelected"), testCase.getKey()));
+        event0103.getParameterMap().put("TestDecideStateTime",
+                new AxField(new AxReferenceKey(event0103.getKey(), "TestDecideStateTime"), testTimestamp.getKey()));
+
+        AxEvent event0104 = new AxEvent(new AxArtifactKey("Event0104", "0.0.1"), "org.onap.policy.apex.sample.events");
+        event0104.setSource("Act");
+        event0104.setTarget("Outside");
+        event0104.getParameterMap().put("TestSlogan",
+                new AxField(new AxReferenceKey(event0104.getKey(), "TestSlogan"), testSlogan.getKey()));
+        event0104.getParameterMap().put("TestMatchCase",
+                new AxField(new AxReferenceKey(event0104.getKey(), "TestMatchCase"), testCase.getKey()));
+        event0104.getParameterMap().put("TestTimestamp",
+                new AxField(new AxReferenceKey(event0104.getKey(), "TestTimestamp"), testTimestamp.getKey()));
+        event0104.getParameterMap().put("TestTemperature",
+                new AxField(new AxReferenceKey(event0104.getKey(), "TestTemperature"), testTemperature.getKey()));
+        event0104.getParameterMap().put("TestMatchCaseSelected",
+                new AxField(new AxReferenceKey(event0104.getKey(), "TestMatchCaseSelected"), testCase.getKey()));
+        event0104.getParameterMap().put("TestMatchStateTime",
+                new AxField(new AxReferenceKey(event0104.getKey(), "TestMatchStateTime"), testTimestamp.getKey()));
+        event0104.getParameterMap().put("TestEstablishCaseSelected",
+                new AxField(new AxReferenceKey(event0104.getKey(), "TestEstablishCaseSelected"), testCase.getKey()));
+        event0104.getParameterMap().put("TestEstablishStateTime",
+                new AxField(new AxReferenceKey(event0104.getKey(), "TestEstablishStateTime"), testTimestamp.getKey()));
+        event0104.getParameterMap().put("TestDecideCaseSelected",
+                new AxField(new AxReferenceKey(event0104.getKey(), "TestDecideCaseSelected"), testCase.getKey()));
+        event0104.getParameterMap().put("TestDecideStateTime",
+                new AxField(new AxReferenceKey(event0104.getKey(), "TestDecideStateTime"), testTimestamp.getKey()));
+        event0104.getParameterMap().put("TestActCaseSelected",
+                new AxField(new AxReferenceKey(event0104.getKey(), "TestActCaseSelected"), testCase.getKey()));
+        event0104.getParameterMap().put("TestActStateTime",
+                new AxField(new AxReferenceKey(event0104.getKey(), "TestActStateTime"), testTimestamp.getKey()));
+
+        AxEvents events = new AxEvents(new AxArtifactKey("Events", "0.0.1"));
+        events.getEventMap().put(event0000.getKey(), event0000);
+        events.getEventMap().put(event0001.getKey(), event0001);
+        events.getEventMap().put(event0002.getKey(), event0002);
+        events.getEventMap().put(event0003.getKey(), event0003);
+        events.getEventMap().put(event0004.getKey(), event0004);
+        events.getEventMap().put(event0100.getKey(), event0100);
+        events.getEventMap().put(event0101.getKey(), event0101);
+        events.getEventMap().put(event0102.getKey(), event0102);
+        events.getEventMap().put(event0103.getKey(), event0103);
+        events.getEventMap().put(event0104.getKey(), event0104);
+
+        AxContextAlbum externalContextAlbum = new AxContextAlbum(new AxArtifactKey("ExternalContextAlbum", "0.0.1"),
+                "EXTERNAL", false, testExternalContextItem.getKey());
+        AxContextAlbum globalContextAlbum = new AxContextAlbum(new AxArtifactKey("GlobalContextAlbum", "0.0.1"),
+                "GLOBAL", true, testGlobalContextItem.getKey());
+        AxContextAlbum policy0ContextAlbum = new AxContextAlbum(new AxArtifactKey("Policy0ContextAlbum", "0.0.1"),
+                "APPLICATION", true, testPolicyContextItem.getKey());
+        AxContextAlbum policy1ContextAlbum = new AxContextAlbum(new AxArtifactKey("Policy1ContextAlbum", "0.0.1"),
+                "APPLICATION", true, testPolicyContextItem.getKey());
+
+        AxContextAlbums albums = new AxContextAlbums(new AxArtifactKey("Context", "0.0.1"));
+        albums.getAlbumsMap().put(externalContextAlbum.getKey(), externalContextAlbum);
+        albums.getAlbumsMap().put(globalContextAlbum.getKey(), globalContextAlbum);
+        albums.getAlbumsMap().put(policy0ContextAlbum.getKey(), policy0ContextAlbum);
+        albums.getAlbumsMap().put(policy1ContextAlbum.getKey(), policy1ContextAlbum);
+
+        Set<AxArtifactKey> referenceKeySet0 = new TreeSet<AxArtifactKey>();
+        referenceKeySet0.add(policy0ContextAlbum.getKey());
+        referenceKeySet0.add(policy1ContextAlbum.getKey());
+        referenceKeySet0.add(globalContextAlbum.getKey());
+        referenceKeySet0.add(externalContextAlbum.getKey());
+
+        Set<AxArtifactKey> referenceKeySet1 = new TreeSet<AxArtifactKey>();
+        referenceKeySet1.add(policy0ContextAlbum.getKey());
+        referenceKeySet1.add(globalContextAlbum.getKey());
+
+        Set<AxArtifactKey> referenceKeySet2 = new TreeSet<AxArtifactKey>();
+        referenceKeySet2.add(policy1ContextAlbum.getKey());
+        referenceKeySet2.add(globalContextAlbum.getKey());
+
+        Set<AxArtifactKey> referenceKeySet3 = new TreeSet<AxArtifactKey>();
+        referenceKeySet3.add(globalContextAlbum.getKey());
+        referenceKeySet3.add(externalContextAlbum.getKey());
+
+        List<Set<AxArtifactKey>> referenceKeySetList = new ArrayList<Set<AxArtifactKey>>();
+        referenceKeySetList.add(referenceKeySet0);
+        referenceKeySetList.add(referenceKeySet1);
+        referenceKeySetList.add(referenceKeySet2);
+        referenceKeySetList.add(referenceKeySet3);
+
+        AxTasks tasks = new AxTasks(new AxArtifactKey("Tasks", "0.0.1"));
+        tasks.getTaskMap().putAll(getTaskMap("Match", event0000.getParameterMap(), event0001.getParameterMap(),
+                referenceKeySetList, axLogicExecutorType));
+        tasks.getTaskMap().putAll(getTaskMap("Establish", event0001.getParameterMap(), event0002.getParameterMap(),
+                referenceKeySetList, axLogicExecutorType));
+        tasks.getTaskMap().putAll(getTaskMap("Decide", event0002.getParameterMap(), event0003.getParameterMap(),
+                referenceKeySetList, axLogicExecutorType));
+        tasks.getTaskMap().putAll(getTaskMap("Act", event0003.getParameterMap(), event0004.getParameterMap(),
+                referenceKeySetList, axLogicExecutorType));
+
+        Set<AxArtifactKey> matchTasks = new TreeSet<AxArtifactKey>();
+        Set<AxArtifactKey> establishTasks = new TreeSet<AxArtifactKey>();
+        Set<AxArtifactKey> decideTasks = new TreeSet<AxArtifactKey>();
+        Set<AxArtifactKey> actTasks = new TreeSet<AxArtifactKey>();
+        for (AxTask task : tasks.getTaskMap().values()) {
+            if (task.getKey().getName().contains("Match")) {
+                matchTasks.add(task.getKey());
+            }
+            if (task.getKey().getName().contains("Establish")) {
+                establishTasks.add(task.getKey());
+            }
+            if (task.getKey().getName().contains("Decide")) {
+                decideTasks.add(task.getKey());
+            }
+            if (task.getKey().getName().contains("Act")) {
+                actTasks.add(task.getKey());
+            }
+        }
+        List<Set<AxArtifactKey>> taskReferenceList = new ArrayList<Set<AxArtifactKey>>();
+        taskReferenceList.add(matchTasks);
+        taskReferenceList.add(establishTasks);
+        taskReferenceList.add(decideTasks);
+        taskReferenceList.add(actTasks);
+
+        List<AxArtifactKey> p0InEventList = new ArrayList<AxArtifactKey>();
+        p0InEventList.add(event0000.getKey());
+        p0InEventList.add(event0001.getKey());
+        p0InEventList.add(event0002.getKey());
+        p0InEventList.add(event0003.getKey());
+
+        List<AxArtifactKey> p0OutEventList = new ArrayList<AxArtifactKey>();
+        p0OutEventList.add(event0001.getKey());
+        p0OutEventList.add(event0002.getKey());
+        p0OutEventList.add(event0003.getKey());
+        p0OutEventList.add(event0004.getKey());
+
+        List<AxArtifactKey> p0defaultTaskList = new ArrayList<AxArtifactKey>();
+        p0defaultTaskList.add(tasks.get("Task_Match0").getKey());
+        p0defaultTaskList.add(tasks.get("Task_Establish2").getKey());
+        p0defaultTaskList.add(tasks.get("Task_Decide3").getKey());
+        p0defaultTaskList.add(tasks.get("Task_Act1").getKey());
+
+        List<AxArtifactKey> p1InEventList = new ArrayList<AxArtifactKey>();
+        p1InEventList.add(event0100.getKey());
+        p1InEventList.add(event0101.getKey());
+        p1InEventList.add(event0102.getKey());
+        p1InEventList.add(event0103.getKey());
+
+        List<AxArtifactKey> p1OutEventList = new ArrayList<AxArtifactKey>();
+        p1OutEventList.add(event0101.getKey());
+        p1OutEventList.add(event0102.getKey());
+        p1OutEventList.add(event0103.getKey());
+        p1OutEventList.add(event0104.getKey());
+
+        List<AxArtifactKey> p1defaultTaskList = new ArrayList<AxArtifactKey>();
+        p1defaultTaskList.add(tasks.get("Task_Match3").getKey());
+        p1defaultTaskList.add(tasks.get("Task_Establish1").getKey());
+        p1defaultTaskList.add(tasks.get("Task_Decide3").getKey());
+        p1defaultTaskList.add(tasks.get("Task_Act0").getKey());
+
+        Set<AxArtifactKey> p0ReferenceKeySet0 = new TreeSet<AxArtifactKey>();
+        p0ReferenceKeySet0.add(policy0ContextAlbum.getKey());
+        p0ReferenceKeySet0.add(globalContextAlbum.getKey());
+
+        Set<AxArtifactKey> p0ReferenceKeySet1 = new TreeSet<AxArtifactKey>();
+        p0ReferenceKeySet1.add(policy1ContextAlbum.getKey());
+        p0ReferenceKeySet1.add(globalContextAlbum.getKey());
+        p0ReferenceKeySet1.add(externalContextAlbum.getKey());
+
+        Set<AxArtifactKey> p0ReferenceKeySet2 = new TreeSet<AxArtifactKey>();
+        p0ReferenceKeySet2.add(policy0ContextAlbum.getKey());
+        p0ReferenceKeySet2.add(globalContextAlbum.getKey());
+        p0ReferenceKeySet2.add(externalContextAlbum.getKey());
+
+        Set<AxArtifactKey> p0ReferenceKeySet3 = new TreeSet<AxArtifactKey>();
+        p0ReferenceKeySet3.add(globalContextAlbum.getKey());
+
+        List<Set<AxArtifactKey>> p0ReferenceKeySetList = new ArrayList<Set<AxArtifactKey>>();
+        p0ReferenceKeySetList.add(p0ReferenceKeySet0);
+        p0ReferenceKeySetList.add(p0ReferenceKeySet1);
+        p0ReferenceKeySetList.add(p0ReferenceKeySet2);
+        p0ReferenceKeySetList.add(p0ReferenceKeySet3);
+
+        AxPolicy policy0 = new AxPolicy(new AxArtifactKey("Policy0", "0.0.1"));
+        policy0.setTemplate("MEDA");
+        policy0.setStateMap(getStateMap(policy0.getKey(), p0InEventList, p0OutEventList, p0ReferenceKeySetList,
+                axLogicExecutorType, p0defaultTaskList, taskReferenceList));
+        policy0.setFirstState(policy0.getStateMap().get("Match").getKey().getLocalName());
+
+        Set<AxArtifactKey> p1ReferenceKeySet0 = new TreeSet<AxArtifactKey>();
+        p1ReferenceKeySet0.add(policy1ContextAlbum.getKey());
+        p1ReferenceKeySet0.add(globalContextAlbum.getKey());
+        p1ReferenceKeySet0.add(externalContextAlbum.getKey());
+
+        Set<AxArtifactKey> p1ReferenceKeySet1 = new TreeSet<AxArtifactKey>();
+        p1ReferenceKeySet1.add(policy1ContextAlbum.getKey());
+        p1ReferenceKeySet1.add(globalContextAlbum.getKey());
+        p1ReferenceKeySet1.add(externalContextAlbum.getKey());
+
+        Set<AxArtifactKey> p1ReferenceKeySet2 = new TreeSet<AxArtifactKey>();
+        p1ReferenceKeySet2.add(policy1ContextAlbum.getKey());
+        p1ReferenceKeySet2.add(globalContextAlbum.getKey());
+        p1ReferenceKeySet2.add(externalContextAlbum.getKey());
+
+        Set<AxArtifactKey> p1ReferenceKeySet3 = new TreeSet<AxArtifactKey>();
+        p1ReferenceKeySet3.add(globalContextAlbum.getKey());
+
+        List<Set<AxArtifactKey>> p1ReferenceKeySetList = new ArrayList<Set<AxArtifactKey>>();
+        p1ReferenceKeySetList.add(p1ReferenceKeySet0);
+        p1ReferenceKeySetList.add(p1ReferenceKeySet1);
+        p1ReferenceKeySetList.add(p1ReferenceKeySet2);
+        p1ReferenceKeySetList.add(p1ReferenceKeySet3);
+
+        AxPolicy policy1 = new AxPolicy(new AxArtifactKey("Policy1", "0.0.1"));
+        policy1.setTemplate("MEDA");
+        policy1.setStateMap(getStateMap(policy1.getKey(), p1InEventList, p1OutEventList, p1ReferenceKeySetList,
+                axLogicExecutorType, p1defaultTaskList, taskReferenceList));
+        policy1.setFirstState(policy1.getStateMap().get("Match").getKey().getLocalName());
+
+        AxPolicies policies = new AxPolicies(new AxArtifactKey("Policies", "0.0.1"));
+        policies.getPolicyMap().put(policy0.getKey(), policy0);
+        policies.getPolicyMap().put(policy1.getKey(), policy1);
+
+        AxKeyInformation keyInformation = new AxKeyInformation(new AxArtifactKey("KeyInformation", "0.0.1"));
+        AxPolicyModel policyModel =
+                new AxPolicyModel(new AxArtifactKey("SamplePolicyModel" + axLogicExecutorType, "0.0.1"));
+        policyModel.setKeyInformation(keyInformation);
+        policyModel.setPolicies(policies);
+        policyModel.setEvents(events);
+        policyModel.setTasks(tasks);
+        policyModel.setAlbums(albums);
+        policyModel.setSchemas(axContextSchemas);
+        policyModel.getKeyInformation().generateKeyInfo(policyModel);
+
+        AxValidationResult result = policyModel.validate(new AxValidationResult());
+        if (!result.getValidationResult().equals(AxValidationResult.ValidationResult.VALID)) {
+            throw new ApexRuntimeException("model " + policyModel.getID() + " is not valid" + result);
+        }
+        return policyModel;
+    }
+
+    /**
+     * Gets the state map.
+     *
+     * @param policyKey the policy key
+     * @param inEventKeyList the in event key list
+     * @param outEventKeyList the out event key list
+     * @param referenceKeySetList the reference key set list
+     * @param axLogicExecutorType the ax logic executor type
+     * @param defaultTaskList the default task list
+     * @param taskKeySetList the task key set list
+     * @return the state map
+     */
+    private Map<String, AxState> getStateMap(final AxArtifactKey policyKey, final List<AxArtifactKey> inEventKeyList,
+            final List<AxArtifactKey> outEventKeyList, final List<Set<AxArtifactKey>> referenceKeySetList,
+            final String axLogicExecutorType, final List<AxArtifactKey> defaultTaskList,
+            final List<Set<AxArtifactKey>> taskKeySetList) {
+        AxLogicReader logicReader = new PolicyLogicReader().setLogicPackage(this.getClass().getPackage().getName())
+                .setDefaultLogic("DefaultState_Logic");
+
+        AxState actState = new AxState(new AxReferenceKey(policyKey, "Act"));
+        actState.setTrigger(inEventKeyList.get(3));
+        AxStateOutput act2Out =
+                new AxStateOutput(actState.getKey(), AxReferenceKey.getNullKey(), outEventKeyList.get(3));
+        actState.getStateOutputs().put(act2Out.getKey().getLocalName(), act2Out);
+        actState.setContextAlbumReferences(referenceKeySetList.get(3));
+        actState.setTaskSelectionLogic(
+                new AxTaskSelectionLogic(actState.getKey(), "TaskSelectionLigic", axLogicExecutorType, logicReader));
+        actState.setDefaultTask(defaultTaskList.get(3));
+        for (AxArtifactKey taskKey : taskKeySetList.get(3)) {
+            actState.getTaskReferences().put(taskKey, new AxStateTaskReference(actState.getKey(), taskKey,
+                    AxStateTaskOutputType.DIRECT, act2Out.getKey()));
+        }
+
+        AxState decideState = new AxState(new AxReferenceKey(policyKey, "Decide"));
+        decideState.setTrigger(inEventKeyList.get(2));
+        AxStateOutput decide2Act = new AxStateOutput(decideState.getKey(), actState.getKey(), outEventKeyList.get(2));
+        decideState.getStateOutputs().put(decide2Act.getKey().getLocalName(), decide2Act);
+        decideState.setContextAlbumReferences(referenceKeySetList.get(2));
+        decideState.setTaskSelectionLogic(
+                new AxTaskSelectionLogic(decideState.getKey(), "TaskSelectionLigic", axLogicExecutorType, logicReader));
+        decideState.setDefaultTask(defaultTaskList.get(2));
+        for (AxArtifactKey taskKey : taskKeySetList.get(2)) {
+            decideState.getTaskReferences().put(taskKey, new AxStateTaskReference(decideState.getKey(), taskKey,
+                    AxStateTaskOutputType.DIRECT, decide2Act.getKey()));
+        }
+
+        AxState establishState = new AxState(new AxReferenceKey(policyKey, "Establish"));
+        establishState.setTrigger(inEventKeyList.get(1));
+        AxStateOutput establish2Decide =
+                new AxStateOutput(establishState.getKey(), decideState.getKey(), outEventKeyList.get(1));
+        establishState.getStateOutputs().put(establish2Decide.getKey().getLocalName(), establish2Decide);
+        establishState.setContextAlbumReferences(referenceKeySetList.get(1));
+        establishState.setTaskSelectionLogic(new AxTaskSelectionLogic(establishState.getKey(), "TaskSelectionLigic",
+                axLogicExecutorType, logicReader));
+        establishState.setDefaultTask(defaultTaskList.get(1));
+        for (AxArtifactKey taskKey : taskKeySetList.get(1)) {
+            establishState.getTaskReferences().put(taskKey, new AxStateTaskReference(establishState.getKey(), taskKey,
+                    AxStateTaskOutputType.DIRECT, establish2Decide.getKey()));
+        }
+
+        AxState matchState = new AxState(new AxReferenceKey(policyKey, "Match"));
+        matchState.setTrigger(inEventKeyList.get(0));
+        AxStateOutput match2Establish =
+                new AxStateOutput(matchState.getKey(), establishState.getKey(), outEventKeyList.get(0));
+        matchState.getStateOutputs().put(match2Establish.getKey().getLocalName(), match2Establish);
+        matchState.setContextAlbumReferences(referenceKeySetList.get(0));
+        matchState.setTaskSelectionLogic(
+                new AxTaskSelectionLogic(matchState.getKey(), "TaskSelectionLigic", axLogicExecutorType, logicReader));
+        matchState.setDefaultTask(defaultTaskList.get(0));
+        for (AxArtifactKey taskKey : taskKeySetList.get(0)) {
+            matchState.getTaskReferences().put(taskKey, new AxStateTaskReference(matchState.getKey(), taskKey,
+                    AxStateTaskOutputType.DIRECT, match2Establish.getKey()));
+        }
+
+        Map<String, AxState> stateMap = new TreeMap<String, AxState>();
+        stateMap.put(matchState.getKey().getLocalName(), matchState);
+        stateMap.put(establishState.getKey().getLocalName(), establishState);
+        stateMap.put(decideState.getKey().getLocalName(), decideState);
+        stateMap.put(actState.getKey().getLocalName(), actState);
+
+        return stateMap;
+    }
+    // CHECKSTYLE:ON: checkstyle:maximumMethodLength
+
+    /**
+     * Gets the task map.
+     *
+     * @param state the state
+     * @param inputFields the input fields
+     * @param outputFields the output fields
+     * @param referenceKeySetList the reference key set list
+     * @param axLogicExecutorType the ax logic executor type
+     * @return the task map
+     */
+    private Map<AxArtifactKey, AxTask> getTaskMap(final String state, final Map<String, AxField> inputFields,
+            final Map<String, AxField> outputFields, final List<Set<AxArtifactKey>> referenceKeySetList,
+            final String axLogicExecutorType) {
+        AxLogicReader logicReader = new PolicyLogicReader().setLogicPackage(this.getClass().getPackage().getName())
+                .setDefaultLogic("DefaultTask_Logic");
+
+        AxTask testTask0 = new AxTask(new AxArtifactKey("Task_" + state + "0", "0.0.1"));
+        testTask0.duplicateInputFields(inputFields);
+        testTask0.duplicateOutputFields(outputFields);
+        AxTaskParameter parameter00 =
+                new AxTaskParameter(new AxReferenceKey(testTask0.getKey(), "Parameter0"), "DefaultValue0");
+        AxTaskParameter parameter01 =
+                new AxTaskParameter(new AxReferenceKey(testTask0.getKey(), "Parameter1"), "DefaultValue1");
+        AxTaskParameter parameter02 =
+                new AxTaskParameter(new AxReferenceKey(testTask0.getKey(), "Parameter2"), "DefaultValue2");
+        testTask0.getTaskParameters().put(parameter00.getKey().getLocalName(), parameter00);
+        testTask0.getTaskParameters().put(parameter01.getKey().getLocalName(), parameter01);
+        testTask0.getTaskParameters().put(parameter02.getKey().getLocalName(), parameter02);
+        testTask0.setContextAlbumReferences(referenceKeySetList.get(0));
+        testTask0.setTaskLogic(getTaskLogic(testTask0, logicReader, axLogicExecutorType, state, "2"));
+
+        AxTask testTask1 = new AxTask(new AxArtifactKey("Task_" + state + "1", "0.0.1"));
+        testTask1.duplicateInputFields(inputFields);
+        testTask1.duplicateOutputFields(outputFields);
+        AxTaskParameter parameter10 =
+                new AxTaskParameter(new AxReferenceKey(testTask1.getKey(), "Parameter0"), "DefaultValue0");
+        AxTaskParameter parameter11 =
+                new AxTaskParameter(new AxReferenceKey(testTask1.getKey(), "Parameter1"), "DefaultValue1");
+        testTask1.getTaskParameters().put(parameter10.getKey().getLocalName(), parameter10);
+        testTask1.getTaskParameters().put(parameter11.getKey().getLocalName(), parameter11);
+        testTask1.setContextAlbumReferences(referenceKeySetList.get(1));
+        testTask1.setTaskLogic(getTaskLogic(testTask1, logicReader, axLogicExecutorType, state, "3"));
+
+        AxTask testTask2 = new AxTask(new AxArtifactKey("Task_" + state + "2", "0.0.1"));
+        testTask2.duplicateInputFields(inputFields);
+        testTask2.duplicateOutputFields(outputFields);
+        AxTaskParameter parameter20 =
+                new AxTaskParameter(new AxReferenceKey(testTask2.getKey(), "Parameter0"), "DefaultValue0");
+        testTask2.getTaskParameters().put(parameter20.getKey().getLocalName(), parameter20);
+        testTask2.setContextAlbumReferences(referenceKeySetList.get(2));
+        testTask2.setTaskLogic(getTaskLogic(testTask2, logicReader, axLogicExecutorType, state, "0"));
+
+        AxTask testTask3 = new AxTask(new AxArtifactKey("Task_" + state + "3", "0.0.1"));
+        testTask3.duplicateInputFields(inputFields);
+        testTask3.duplicateOutputFields(outputFields);
+        AxTaskParameter parameter30 =
+                new AxTaskParameter(new AxReferenceKey(testTask3.getKey(), "Parameter0"), "DefaultValue0");
+        testTask3.getTaskParameters().put(parameter30.getKey().getLocalName(), parameter30);
+        testTask3.setContextAlbumReferences(referenceKeySetList.get(THIRD_ENTRY));
+        testTask3.setTaskLogic(getTaskLogic(testTask3, logicReader, axLogicExecutorType, state, "1"));
+
+        Map<AxArtifactKey, AxTask> taskMap = new TreeMap<AxArtifactKey, AxTask>();
+        taskMap.put(testTask0.getKey(), testTask0);
+        taskMap.put(testTask1.getKey(), testTask1);
+        taskMap.put(testTask2.getKey(), testTask2);
+        taskMap.put(testTask3.getKey(), testTask3);
+
+        return taskMap;
+    }
+
+    /**
+     * Gets the task logic.
+     *
+     * @param task the task
+     * @param logicReader the logic reader
+     * @param logicFlavour the logic flavour
+     * @param stateName the state name
+     * @param caseToUse the case to use
+     * @return the task logic
+     */
+    private AxTaskLogic getTaskLogic(final AxTask task, final AxLogicReader logicReader, final String logicFlavour,
+            final String stateName, final String caseToUse) {
+        AxTaskLogic axLogic =
+                new AxTaskLogic(new AxReferenceKey(task.getKey(), "_TaskLogic"), logicFlavour, logicReader);
+
+        axLogic.setLogic(axLogic.getLogic().replaceAll("<STATE_NAME>", stateName)
+                .replaceAll("<TASK_NAME>", task.getKey().getName()).replaceAll("<RANDOM_BYTE_VALUE>", caseToUse));
+
+        return axLogic;
+    }
+}
diff --git a/testsuites/integration/integration-common/src/main/java/org/onap/policy/apex/test/common/model/SampleDomainModelSaver.java b/testsuites/integration/integration-common/src/main/java/org/onap/policy/apex/test/common/model/SampleDomainModelSaver.java
new file mode 100644 (file)
index 0000000..c346d94
--- /dev/null
@@ -0,0 +1,82 @@
+/*-
+ * ============LICENSE_START=======================================================
+ *  Copyright (C) 2016-2018 Ericsson. 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.
+ * 
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.apex.test.common.model;
+
+import org.onap.policy.apex.model.basicmodel.concepts.ApexException;
+import org.onap.policy.apex.model.basicmodel.handling.ApexModelSaver;
+import org.onap.policy.apex.model.policymodel.concepts.AxPolicyModel;
+
+/**
+ * This class saves sample domain models to disk in XML and JSON format.
+ *
+ * @author Liam Fallon (liam.fallon@ericsson.com)
+ */
+public final class SampleDomainModelSaver {
+    /**
+     * Private default constructor to prevent subclassing.
+     */
+    private SampleDomainModelSaver() {
+    }
+
+    /**
+     * Write the sample Models to args[0].
+     *
+     * @param args Not used
+     * @throws ApexException the apex exception
+     */
+    public static void main(final String[] args) throws ApexException {
+        if (args.length != 1) {
+            System.err.println("usage: " + SampleDomainModelSaver.class.getCanonicalName() + " modelDirectory");
+            return;
+        }
+
+        // Save Java model
+        final AxPolicyModel javaPolicyModel = new SampleDomainModelFactory().getSamplePolicyModel("JAVA");
+        final ApexModelSaver<AxPolicyModel> javaModelSaver = new ApexModelSaver<AxPolicyModel>(AxPolicyModel.class, javaPolicyModel, args[0]);
+        javaModelSaver.apexModelWriteJSON();
+        javaModelSaver.apexModelWriteXML();
+
+        // Save Javascript model
+        final AxPolicyModel javascriptPolicyModel = new SampleDomainModelFactory().getSamplePolicyModel("JAVASCRIPT");
+        final ApexModelSaver<AxPolicyModel> javascriptModelSaver = new ApexModelSaver<AxPolicyModel>(AxPolicyModel.class, javascriptPolicyModel, args[0]);
+        javascriptModelSaver.apexModelWriteJSON();
+        javascriptModelSaver.apexModelWriteXML();
+
+        // Save JRuby model
+        final AxPolicyModel jRubyPolicyModel = new SampleDomainModelFactory().getSamplePolicyModel("JRUBY");
+        final ApexModelSaver<AxPolicyModel> jRubyModelSaver = new ApexModelSaver<AxPolicyModel>(AxPolicyModel.class, jRubyPolicyModel, args[0]);
+        jRubyModelSaver.apexModelWriteJSON();
+        jRubyModelSaver.apexModelWriteXML();
+
+        // Save Jython model
+        final AxPolicyModel jythonPolicyModel = new SampleDomainModelFactory().getSamplePolicyModel("JYTHON");
+        final ApexModelSaver<AxPolicyModel> jythonModelSaver = new ApexModelSaver<AxPolicyModel>(AxPolicyModel.class, jythonPolicyModel, args[0]);
+        jythonModelSaver.apexModelWriteJSON();
+        jythonModelSaver.apexModelWriteXML();
+
+        // Save MVEL model
+        final AxPolicyModel mvelPolicyModel = new SampleDomainModelFactory().getSamplePolicyModel("MVEL");
+        final ApexModelSaver<AxPolicyModel> mvelModelSaver = new ApexModelSaver<AxPolicyModel>(AxPolicyModel.class, mvelPolicyModel, args[0]);
+        mvelModelSaver.apexModelWriteJSON();
+        mvelModelSaver.apexModelWriteXML();
+    }
+
+}
diff --git a/testsuites/integration/integration-common/src/main/java/org/onap/policy/apex/test/common/model/java/DefaultState_Logic.java b/testsuites/integration/integration-common/src/main/java/org/onap/policy/apex/test/common/model/java/DefaultState_Logic.java
new file mode 100644 (file)
index 0000000..d970835
--- /dev/null
@@ -0,0 +1,43 @@
+/*-
+ * ============LICENSE_START=======================================================
+ *  Copyright (C) 2016-2018 Ericsson. 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.
+ * 
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.apex.test.common.model.java;
+
+import org.onap.policy.apex.core.engine.executor.context.TaskSelectionExecutionContext;
+
+/**
+ * The Class DefaultState_Logic is default task selection logic in Java.
+ */
+// CHECKSTYLE:OFF: checkstyle:typeNames
+public class DefaultState_Logic {
+    // CHECKSTYLE:ON: checkstyle:typeNames
+    /**
+     * Gets the task.
+     *
+     * @param executor the executor
+     * @return the task
+     */
+    public boolean getTask(final TaskSelectionExecutionContext executor) {
+        executor.logger.debug(executor.subject.getId());
+        executor.logger.debug(executor.getContextAlbum("GlobalContextAlbum").getName());
+        executor.subject.getDefaultTaskKey().copyTo(executor.selectedTask);
+        return true;
+    }
+}
diff --git a/testsuites/integration/integration-common/src/main/java/org/onap/policy/apex/test/common/model/java/DefaultTask_Logic.java b/testsuites/integration/integration-common/src/main/java/org/onap/policy/apex/test/common/model/java/DefaultTask_Logic.java
new file mode 100644 (file)
index 0000000..b22f15d
--- /dev/null
@@ -0,0 +1,71 @@
+/*-
+ * ============LICENSE_START=======================================================
+ *  Copyright (C) 2016-2018 Ericsson. 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.
+ * 
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.apex.test.common.model.java;
+
+import java.util.Date;
+import java.util.Random;
+
+import org.onap.policy.apex.core.engine.executor.context.TaskExecutionContext;
+import org.onap.policy.apex.model.basicmodel.concepts.ApexException;
+
+/**
+ * The Class DefaultTask_Logic is default task logic in Java.
+ */
+//CHECKSTYLE:OFF: checkstyle:typeNames
+public class DefaultTask_Logic {
+// CHECKSTYLE:ON: checkstyle:typeNames
+    private static final int BOUND_FOR_RANDOM_INT = 4;
+
+   /**
+     * Gets the event.
+     *
+     * @param executor the executor
+     * @return the event
+     * @throws ApexException the apex exception
+     */
+    public boolean getEvent(final TaskExecutionContext executor) throws ApexException {
+        executor.logger.debug(executor.subject.getId());
+        executor.logger.debug(executor.getContextAlbum("GlobalContextAlbum").getName());
+        executor.logger.debug(executor.inFields.toString());
+
+        final Date timeNow = new Date();
+        final Random rand = new Random();
+
+        if (executor.inFields.containsKey("TestDecideCaseSelected")) {
+            executor.outFields.put("TestActCaseSelected", new Byte((byte) rand.nextInt(BOUND_FOR_RANDOM_INT)));
+            executor.outFields.put("TestActStateTime", timeNow.getTime());
+        }
+        else if (executor.inFields.containsKey("TestEstablishCaseSelected")) {
+            executor.outFields.put("TestDecideCaseSelected", new Byte((byte) rand.nextInt(BOUND_FOR_RANDOM_INT)));
+            executor.outFields.put("TestDecideStateTime", timeNow.getTime());
+        }
+        else if (executor.inFields.containsKey("TestMatchCaseSelected")) {
+            executor.outFields.put("TestEstablishCaseSelected", new Byte((byte) rand.nextInt(BOUND_FOR_RANDOM_INT)));
+            executor.outFields.put("TestEstablishStateTime", timeNow.getTime());
+        }
+        else {
+            executor.outFields.put("TestMatchCaseSelected", new Byte((byte) rand.nextInt(BOUND_FOR_RANDOM_INT)));
+            executor.outFields.put("TestMatchStateTime", timeNow.getTime());
+        }
+
+        return true;
+    }
+}
diff --git a/testsuites/integration/integration-common/src/main/java/org/onap/policy/apex/test/common/model/java/EvalState_Logic.java b/testsuites/integration/integration-common/src/main/java/org/onap/policy/apex/test/common/model/java/EvalState_Logic.java
new file mode 100644 (file)
index 0000000..2180936
--- /dev/null
@@ -0,0 +1,42 @@
+/*-
+ * ============LICENSE_START=======================================================
+ *  Copyright (C) 2016-2018 Ericsson. 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.
+ * 
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.apex.test.common.model.java;
+
+import org.onap.policy.apex.core.engine.executor.context.TaskSelectionExecutionContext;
+
+/**
+ * The Class EvalState_Logic is default evaluation task selection logic in Java.
+ */
+//CHECKSTYLE:OFF: checkstyle:typeNames
+public class EvalState_Logic {
+    // CHECKSTYLE:ON: checkstyle:typeNames
+    /**
+     * Gets the task.
+     *
+     * @param executor the executor
+     * @return the task
+     */
+    public boolean getTask(final TaskSelectionExecutionContext executor) {
+        executor.logger.debug(executor.subject.getId());
+        executor.subject.getDefaultTaskKey().copyTo(executor.selectedTask);
+        return true;
+    }
+}
diff --git a/testsuites/integration/integration-common/src/main/java/org/onap/policy/apex/test/common/model/java/EvalTask_Logic.java b/testsuites/integration/integration-common/src/main/java/org/onap/policy/apex/test/common/model/java/EvalTask_Logic.java
new file mode 100644 (file)
index 0000000..f861071
--- /dev/null
@@ -0,0 +1,55 @@
+/*-
+ * ============LICENSE_START=======================================================
+ *  Copyright (C) 2016-2018 Ericsson. 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.
+ * 
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.apex.test.common.model.java;
+
+import java.util.Date;
+
+import org.onap.policy.apex.core.engine.executor.context.TaskExecutionContext;
+import org.onap.policy.apex.model.basicmodel.concepts.ApexException;
+
+/**
+ * The Class EvalTask_Logic is default evaluation task logic in Java.
+ */
+//CHECKSTYLE:OFF: checkstyle:typeNames
+public class EvalTask_Logic {
+ // CHECKSTYLE:ON: checkstyle:typeNames
+    private static int stateNo = 0;
+
+    /**
+     * Gets the event.
+     *
+     * @param executor the executor
+     * @return the event
+     * @throws ApexException the apex exception
+     */
+    public boolean getEvent(final TaskExecutionContext executor) throws ApexException {
+        executor.logger.debug(executor.subject.getId());
+        executor.logger.debug(executor.inFields.toString());
+        System.err.println(executor.inFields);
+        executor.outFields.putAll(executor.inFields);
+
+        final Date timeNow = new Date();
+        executor.outFields.put("State" + (stateNo + 1) + "Timestamp", timeNow.getTime());
+        executor.logger.debug(executor.outFields.toString());
+        stateNo++;
+        return true;
+    }
+}
diff --git a/testsuites/integration/integration-common/src/main/java/org/onap/policy/apex/test/common/model/java/package-info.java b/testsuites/integration/integration-common/src/main/java/org/onap/policy/apex/test/common/model/java/package-info.java
new file mode 100644 (file)
index 0000000..70c8452
--- /dev/null
@@ -0,0 +1,26 @@
+/*-
+ * ============LICENSE_START=======================================================
+ *  Copyright (C) 2016-2018 Ericsson. 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.
+ * 
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+/**
+ * Contains the Javadomain specific logic for the test domain.
+ *
+ * @author Liam Fallon (liam.fallon@ericsson.com)
+ */
+package org.onap.policy.apex.test.common.model.java;
diff --git a/testsuites/integration/integration-common/src/main/java/org/onap/policy/apex/test/common/model/package-info.java b/testsuites/integration/integration-common/src/main/java/org/onap/policy/apex/test/common/model/package-info.java
new file mode 100644 (file)
index 0000000..9277bd4
--- /dev/null
@@ -0,0 +1,26 @@
+/*-
+ * ============LICENSE_START=======================================================
+ *  Copyright (C) 2016-2018 Ericsson. 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.
+ * 
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+/**
+ * Executes tests using all the APEX executors on a test domain model.
+ *
+ * @author Liam Fallon (liam.fallon@ericsson.com)
+ */
+package org.onap.policy.apex.test.common.model;
diff --git a/testsuites/integration/integration-common/src/main/resources/examples/events/SampleDomain/EventsIn.jsons b/testsuites/integration/integration-common/src/main/resources/examples/events/SampleDomain/EventsIn.jsons
new file mode 100644 (file)
index 0000000..da11b2c
--- /dev/null
@@ -0,0 +1,1100 @@
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869268,
+  "TestTemperature": 8071.559
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869269,
+  "TestTemperature": 517.19727
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869269,
+  "TestTemperature": 9080.866
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869269,
+  "TestTemperature": 4263.7085
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869269,
+  "TestTemperature": 2342.069
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869269,
+  "TestTemperature": 6400.4565
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869269,
+  "TestTemperature": 9495.611
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869269,
+  "TestTemperature": 4872.2935
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869269,
+  "TestTemperature": 8130.8086
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869269,
+  "TestTemperature": 2580.434
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869269,
+  "TestTemperature": 3169.4663
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869269,
+  "TestTemperature": 4517.7646
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869269,
+  "TestTemperature": 9600.465
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869269,
+  "TestTemperature": 8720.648
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869269,
+  "TestTemperature": 1031.3821
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 959.9608
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 1483.7533
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 394.8325
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 59.376953
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 862.1466
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 8557.394
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 6732.3687
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 7155.3843
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 4896.5264
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 8457.574
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 4085.176
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 4198.338
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 105.033516
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 8219.068
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 8780.495
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 6224.9775
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 4218.1353
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 4719.9116
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 4592.7275
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 7874.2705
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 9866.951
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 7536.962
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 2430.3843
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 6369.2866
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 7396.739
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 6187.027
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 2216.0667
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 4855.6562
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 5205.6836
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 418.89252
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 5307.6343
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 7034.2065
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 7784.3804
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 3656.007
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 8538.289
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 6515.7104
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 4562.0537
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 9030.76
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 9085.617
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 1244.1838
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 9286.382
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 9573.472
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 9994.268
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 3556.8076
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 1305.1998
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 6063.7573
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 8860.109
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 1599.9061
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 4316.625
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 2753.6135
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 4469.7656
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 4155.1416
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 1627.2205
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 5554.9585
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 5863.8896
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 9095.753
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 5641.7603
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 6120.2446
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 3478.2087
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 1807.8446
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 8476.179
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 7418.1934
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 4800.719
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 8741.285
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 2099.0818
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 138.22377
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 272.6066
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 2604.9036
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 540.5176
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 1482.7478
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 1053.8315
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 6267.906
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 636.44586
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 902.7964
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 259.42923
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 6066.484
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 2918.8723
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 6470.262
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 2603.0845
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 4435.378
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 3989.0928
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 7657.731
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 6677.433
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 9456.176
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 8723.999
+}
diff --git a/testsuites/integration/integration-common/src/main/resources/examples/events/SampleDomain/EventsIn.xmlfile b/testsuites/integration/integration-common/src/main/resources/examples/events/SampleDomain/EventsIn.xmlfile
new file mode 100644 (file)
index 0000000..21b9b19
--- /dev/null
@@ -0,0 +1,2422 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ============LICENSE_START=======================================================
+   Copyright (C) 2016-2018 Ericsson. 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.
+  
+  SPDX-License-Identifier: Apache-2.0
+  ============LICENSE_END=========================================================
+-->
+
+<!-- This file contains multiple XML documents containing events, it is used to represent a stream of events as contiguous XML documents-->
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0100</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event1</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>3</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109829</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>5029.0977</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>3</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109831</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>9205.635</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0100</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event1</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>2</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109831</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>745.0819</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>0</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109831</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>5303.2686</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0100</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event1</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>0</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109831</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>76.91979</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>2</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109831</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>2514.586</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>1</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109831</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>5762.7017</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0100</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event1</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>2</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109831</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>2932.0693</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>2</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109831</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>4062.569</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>1</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109831</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>7330.253</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0100</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event1</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>0</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109831</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>4523.48</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0100</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event1</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>2</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109831</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>4418.4434</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0100</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event1</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>3</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109831</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>2070.6726</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>3</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109831</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>3211.3796</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>2</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109831</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>9335.347</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>2</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109831</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>7486.7</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0100</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event1</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>1</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109831</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>7916.7837</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0100</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event1</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>2</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109831</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>5593.4805</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0100</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event1</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>1</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109831</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>2392.5393</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>1</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109831</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>3407.845</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>0</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109831</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>8537.924</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>3</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109831</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>2093.1672</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>3</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109832</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>2938.2634</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>3</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109832</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>9799.69</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>0</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109832</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>3682.167</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>2</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109832</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>8614.255</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>3</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109832</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>5771.5522</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0100</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event1</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>0</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109832</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>5778.1587</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>1</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109832</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>1829.2201</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0100</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event1</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>0</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109832</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>8212.186</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>1</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109832</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>69.31722</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0100</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event1</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>3</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109832</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>2842.4954</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0100</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event1</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>1</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109832</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>1680.3956</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0100</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event1</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>0</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109832</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>2087.8213</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>1</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109832</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>954.5702</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>3</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109832</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>5469.4463</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0100</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event1</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>0</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109832</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>2140.287</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>2</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109832</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>8113.5645</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0100</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event1</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>3</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109832</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>1402.2207</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>0</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109832</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>8310.781</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0100</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event1</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>2</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109832</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>3253.3342</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>2</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109832</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>8409.392</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0100</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event1</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>1</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109832</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>8705.976</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>1</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109832</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>5108.107</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>2</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109832</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>3716.3972</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0100</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event1</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>1</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109832</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>813.75836</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>0</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109832</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>9086.392</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0100</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event1</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>3</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109832</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>5549.1143</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>2</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109832</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>6378.093</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>2</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109832</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>654.6241</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0100</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event1</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>3</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109832</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>8923.838</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>0</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109832</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>450.83167</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0100</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event1</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>0</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109832</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>1230.132</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>1</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109832</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>1167.3259</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>1</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109832</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>3186.9114</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>2</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109832</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>8806.747</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0100</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event1</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>2</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109832</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>4241.6426</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>3</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109832</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>9857.053</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>3</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109832</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>7561.059</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>2</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109832</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>1073.0768</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0100</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event1</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>3</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109833</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>6449.4272</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>3</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109833</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>5766.172</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>2</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109833</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>4786.6704</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>3</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109833</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>9645.206</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0100</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event1</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>3</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109833</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>9275.977</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>2</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109833</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>985.0705</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0100</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event1</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>0</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109833</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>8582.512</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>3</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109833</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>6540.643</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>0</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109833</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>1312.2606</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0100</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event1</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>3</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109833</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>2310.2642</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>3</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109833</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>7863.311</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>0</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109833</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>9090.517</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0100</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event1</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>2</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109833</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>874.7286</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0100</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event1</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>1</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109833</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>89.31577</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0100</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event1</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>3</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109833</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>5384.0977</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>1</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109833</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>3326.373</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>3</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109833</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>7053.2803</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>0</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109833</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>1100.3625</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0100</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event1</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>0</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109833</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>7318.115</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0100</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event1</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>1</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109833</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>7304.7827</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0100</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event1</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>0</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109833</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>2811.665</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>2</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109833</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>4690.1846</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0100</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event1</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>2</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109833</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>5624.33</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0100</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event1</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>2</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109833</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>1051.4647</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0100</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event1</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>0</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109833</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>2689.3574</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>0</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109833</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>2308.247</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>3</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109833</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>4999.671</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>1</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109833</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>3138.606</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>0</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109833</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>5719.3364</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>2</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109833</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>445.14835</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>3</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109833</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>9498.781</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>1</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109833</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>757.5476</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>2</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109833</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>227.3655</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>1</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109833</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>4751.002</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0100</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event1</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>2</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109833</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>8193.897</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>3</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109833</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>6397.872</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>3</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109833</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>6133.35</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>3</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109833</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>9280.389</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>1</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109833</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>1031.0221</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>1</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109833</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>2206.1318</value>
+  </data>
+</xmlApexEvent>
diff --git a/testsuites/integration/integration-common/src/main/resources/examples/events/SampleDomain/EventsInMulti0.jsons b/testsuites/integration/integration-common/src/main/resources/examples/events/SampleDomain/EventsInMulti0.jsons
new file mode 100644 (file)
index 0000000..da11b2c
--- /dev/null
@@ -0,0 +1,1100 @@
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869268,
+  "TestTemperature": 8071.559
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869269,
+  "TestTemperature": 517.19727
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869269,
+  "TestTemperature": 9080.866
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869269,
+  "TestTemperature": 4263.7085
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869269,
+  "TestTemperature": 2342.069
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869269,
+  "TestTemperature": 6400.4565
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869269,
+  "TestTemperature": 9495.611
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869269,
+  "TestTemperature": 4872.2935
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869269,
+  "TestTemperature": 8130.8086
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869269,
+  "TestTemperature": 2580.434
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869269,
+  "TestTemperature": 3169.4663
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869269,
+  "TestTemperature": 4517.7646
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869269,
+  "TestTemperature": 9600.465
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869269,
+  "TestTemperature": 8720.648
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869269,
+  "TestTemperature": 1031.3821
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 959.9608
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 1483.7533
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 394.8325
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 59.376953
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 862.1466
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 8557.394
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 6732.3687
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 7155.3843
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 4896.5264
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 8457.574
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 4085.176
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 4198.338
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 105.033516
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 8219.068
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 8780.495
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 6224.9775
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 4218.1353
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 4719.9116
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 4592.7275
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 7874.2705
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 9866.951
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 7536.962
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 2430.3843
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 6369.2866
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 7396.739
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 6187.027
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 2216.0667
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 4855.6562
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 5205.6836
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 418.89252
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 5307.6343
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 7034.2065
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 7784.3804
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 3656.007
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 8538.289
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 6515.7104
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 4562.0537
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 9030.76
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 9085.617
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 1244.1838
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 9286.382
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 9573.472
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 9994.268
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 3556.8076
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 1305.1998
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 6063.7573
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 8860.109
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 1599.9061
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 4316.625
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 2753.6135
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 4469.7656
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 4155.1416
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 1627.2205
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 5554.9585
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 5863.8896
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 9095.753
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 5641.7603
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 6120.2446
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 3478.2087
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 1807.8446
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 8476.179
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 7418.1934
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 4800.719
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 8741.285
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 2099.0818
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 138.22377
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 272.6066
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 2604.9036
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 540.5176
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 1482.7478
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 1053.8315
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 6267.906
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 636.44586
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 902.7964
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 259.42923
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 6066.484
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 2918.8723
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 6470.262
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 2603.0845
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 4435.378
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 3989.0928
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 7657.731
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 6677.433
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 9456.176
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 8723.999
+}
diff --git a/testsuites/integration/integration-common/src/main/resources/examples/events/SampleDomain/EventsInMulti1.jsons b/testsuites/integration/integration-common/src/main/resources/examples/events/SampleDomain/EventsInMulti1.jsons
new file mode 100644 (file)
index 0000000..da11b2c
--- /dev/null
@@ -0,0 +1,1100 @@
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869268,
+  "TestTemperature": 8071.559
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869269,
+  "TestTemperature": 517.19727
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869269,
+  "TestTemperature": 9080.866
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869269,
+  "TestTemperature": 4263.7085
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869269,
+  "TestTemperature": 2342.069
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869269,
+  "TestTemperature": 6400.4565
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869269,
+  "TestTemperature": 9495.611
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869269,
+  "TestTemperature": 4872.2935
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869269,
+  "TestTemperature": 8130.8086
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869269,
+  "TestTemperature": 2580.434
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869269,
+  "TestTemperature": 3169.4663
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869269,
+  "TestTemperature": 4517.7646
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869269,
+  "TestTemperature": 9600.465
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869269,
+  "TestTemperature": 8720.648
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869269,
+  "TestTemperature": 1031.3821
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 959.9608
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 1483.7533
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 394.8325
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 59.376953
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 862.1466
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 8557.394
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 6732.3687
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 7155.3843
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 4896.5264
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 8457.574
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 4085.176
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 4198.338
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 105.033516
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 8219.068
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 8780.495
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 6224.9775
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 4218.1353
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 4719.9116
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 4592.7275
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 7874.2705
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 9866.951
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 7536.962
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 2430.3843
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 6369.2866
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 7396.739
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 6187.027
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 2216.0667
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 4855.6562
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 5205.6836
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 418.89252
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 5307.6343
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 7034.2065
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 7784.3804
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 3656.007
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 8538.289
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 6515.7104
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 4562.0537
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 9030.76
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 9085.617
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 1244.1838
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 9286.382
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 9573.472
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 9994.268
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 3556.8076
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 1305.1998
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 6063.7573
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 8860.109
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 1599.9061
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 4316.625
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 2753.6135
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 4469.7656
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 4155.1416
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 1627.2205
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 5554.9585
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 5863.8896
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 9095.753
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 5641.7603
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 6120.2446
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 3478.2087
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 1807.8446
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 8476.179
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 7418.1934
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 4800.719
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 8741.285
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 2099.0818
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 138.22377
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 272.6066
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 2604.9036
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 540.5176
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 1482.7478
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 1053.8315
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 6267.906
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 636.44586
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 902.7964
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 259.42923
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 6066.484
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 2918.8723
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 6470.262
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 2603.0845
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 4435.378
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 3989.0928
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 7657.731
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 6677.433
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 9456.176
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 8723.999
+}
diff --git a/testsuites/integration/integration-common/src/main/resources/examples/events/SampleDomain/EventsInMulti2.jsons b/testsuites/integration/integration-common/src/main/resources/examples/events/SampleDomain/EventsInMulti2.jsons
new file mode 100644 (file)
index 0000000..da11b2c
--- /dev/null
@@ -0,0 +1,1100 @@
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869268,
+  "TestTemperature": 8071.559
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869269,
+  "TestTemperature": 517.19727
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869269,
+  "TestTemperature": 9080.866
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869269,
+  "TestTemperature": 4263.7085
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869269,
+  "TestTemperature": 2342.069
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869269,
+  "TestTemperature": 6400.4565
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869269,
+  "TestTemperature": 9495.611
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869269,
+  "TestTemperature": 4872.2935
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869269,
+  "TestTemperature": 8130.8086
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869269,
+  "TestTemperature": 2580.434
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869269,
+  "TestTemperature": 3169.4663
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869269,
+  "TestTemperature": 4517.7646
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869269,
+  "TestTemperature": 9600.465
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869269,
+  "TestTemperature": 8720.648
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869269,
+  "TestTemperature": 1031.3821
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 959.9608
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 1483.7533
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 394.8325
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 59.376953
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 862.1466
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 8557.394
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 6732.3687
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 7155.3843
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 4896.5264
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 8457.574
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 4085.176
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 4198.338
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 105.033516
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 8219.068
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 8780.495
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 6224.9775
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 4218.1353
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 4719.9116
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 4592.7275
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 7874.2705
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 9866.951
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 7536.962
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 2430.3843
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 6369.2866
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 7396.739
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 6187.027
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 2216.0667
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 4855.6562
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 5205.6836
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 418.89252
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 5307.6343
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 7034.2065
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 7784.3804
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 3656.007
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 8538.289
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 6515.7104
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 4562.0537
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 9030.76
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 9085.617
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 1244.1838
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 9286.382
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 9573.472
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 9994.268
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 3556.8076
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 1305.1998
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 6063.7573
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 8860.109
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 1599.9061
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 4316.625
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 2753.6135
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 4469.7656
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 4155.1416
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 1627.2205
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 5554.9585
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 5863.8896
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 9095.753
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 5641.7603
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 6120.2446
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 3478.2087
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 1807.8446
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 8476.179
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 7418.1934
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 4800.719
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 8741.285
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 2099.0818
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 138.22377
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 272.6066
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 2604.9036
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 540.5176
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 1482.7478
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 1053.8315
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 6267.906
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 636.44586
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 902.7964
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 259.42923
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 6066.484
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 2918.8723
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 6470.262
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 2603.0845
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 4435.378
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 3989.0928
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 7657.731
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 6677.433
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 9456.176
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 8723.999
+}
diff --git a/testsuites/integration/integration-common/src/main/resources/org/onap/policy/apex/test/common/model/javascript/DefaultState_Logic.javascript b/testsuites/integration/integration-common/src/main/resources/org/onap/policy/apex/test/common/model/javascript/DefaultState_Logic.javascript
new file mode 100644 (file)
index 0000000..c8d2121
--- /dev/null
@@ -0,0 +1,27 @@
+/*
+ * ============LICENSE_START=======================================================
+ *  Copyright (C) 2016-2018 Ericsson. 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.
+ * 
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+executor.logger.debug(executor.subject.id);
+var gc = executor.getContextAlbum("GlobalContextAlbum");
+executor.logger.debug(gc.name);
+executor.subject.defaultTaskKey.copyTo(executor.selectedTask)
+
+var returnValue = executor.TRUE;
+
diff --git a/testsuites/integration/integration-common/src/main/resources/org/onap/policy/apex/test/common/model/javascript/DefaultTask_Logic.javascript b/testsuites/integration/integration-common/src/main/resources/org/onap/policy/apex/test/common/model/javascript/DefaultTask_Logic.javascript
new file mode 100644 (file)
index 0000000..79ea959
--- /dev/null
@@ -0,0 +1,34 @@
+/*
+ * ============LICENSE_START=======================================================
+ *  Copyright (C) 2016-2018 Ericsson. 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.
+ * 
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+executor.logger.debug(executor.subject.id);
+var gc = executor.getContextAlbum("GlobalContextAlbum");
+executor.logger.debug(gc.name);
+executor.logger.debug(executor.inFields);
+
+var caseSelectedType = Java.type("java.lang.Byte");
+executor.outFields.put("Test<STATE_NAME>CaseSelected", new caseSelectedType(<RANDOM_BYTE_VALUE>));
+
+var JavaDate = Java.type("java.util.Date");
+timeNow = new JavaDate();
+executor.outFields.put("Test<STATE_NAME>StateTime", timeNow.getTime());
+executor.logger.debug(executor.eo);
+
+var returnValue = executor.TRUE;
diff --git a/testsuites/integration/integration-common/src/main/resources/org/onap/policy/apex/test/common/model/javascript/EvalState_Logic.javascript b/testsuites/integration/integration-common/src/main/resources/org/onap/policy/apex/test/common/model/javascript/EvalState_Logic.javascript
new file mode 100644 (file)
index 0000000..4c6e66d
--- /dev/null
@@ -0,0 +1,25 @@
+/*
+ * ============LICENSE_START=======================================================
+ *  Copyright (C) 2016-2018 Ericsson. 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.
+ * 
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+executor.logger.debug(executor.subject.id);
+executor.subject.defaultTaskKey.copyTo(executor.selectedTask);
+
+var returnValue = executor.TRUE;
+
diff --git a/testsuites/integration/integration-common/src/main/resources/org/onap/policy/apex/test/common/model/javascript/EvalTask_Logic.javascript b/testsuites/integration/integration-common/src/main/resources/org/onap/policy/apex/test/common/model/javascript/EvalTask_Logic.javascript
new file mode 100644 (file)
index 0000000..2c9bc6d
--- /dev/null
@@ -0,0 +1,29 @@
+/*
+ * ============LICENSE_START=======================================================
+ *  Copyright (C) 2016-2018 Ericsson. 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.
+ * 
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+executor.logger.debug(executor.subject.id);
+executor.logger.debug(executor.inFields);
+
+var JavaDate = Java.type("java.util.Date");
+timeNow = new JavaDate();
+executor.outFields.put("State<STATE_NUMBER>Timestamp", timeNow.getTime());
+executor.logger.debug(executor.outFields);
+
+var returnValue = executor.TRUE;
diff --git a/testsuites/integration/integration-common/src/main/resources/org/onap/policy/apex/test/common/model/jruby/DefaultState_Logic.jruby b/testsuites/integration/integration-common/src/main/resources/org/onap/policy/apex/test/common/model/jruby/DefaultState_Logic.jruby
new file mode 100644 (file)
index 0000000..2965476
--- /dev/null
@@ -0,0 +1,24 @@
+#-------------------------------------------------------------------------------
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2016-2018 Ericsson. 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.
+# 
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#-------------------------------------------------------------------------------
+
+executor.logger.debug("id: " + executor.subject.id)
+executor.logger.debug("ctxt name: " + executor.getContextAlbum("GlobalContextAlbum").name)
+executor.subject.defaultTaskKey.copyTo(executor.selectedTask)
+return true
diff --git a/testsuites/integration/integration-common/src/main/resources/org/onap/policy/apex/test/common/model/jruby/DefaultTask_Logic.jruby b/testsuites/integration/integration-common/src/main/resources/org/onap/policy/apex/test/common/model/jruby/DefaultTask_Logic.jruby
new file mode 100644 (file)
index 0000000..4ad39f5
--- /dev/null
@@ -0,0 +1,33 @@
+#-------------------------------------------------------------------------------
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2016-2018 Ericsson. 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.
+# 
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#-------------------------------------------------------------------------------
+
+require 'java'
+
+executor.logger.debug("id: " + executor.subject.id)
+executor.logger.debug("ctxt name: " + executor.getContextAlbum("GlobalContextAlbum").name)
+executor.logger.debug("inFields: " + executor.inFields.toString())
+
+executor.outFields.put("Test<STATE_NAME>CaseSelected", <RANDOM_BYTE_VALUE>.to_java(:byte))
+
+timeNow = java.util.Date.new()
+executor.outFields.put("Test<STATE_NAME>StateTime", timeNow.getTime())
+executor.logger.debug("outFields: " + executor.outFields.toString())
+
+return true
diff --git a/testsuites/integration/integration-common/src/main/resources/org/onap/policy/apex/test/common/model/jruby/EvalState_Logic.jruby b/testsuites/integration/integration-common/src/main/resources/org/onap/policy/apex/test/common/model/jruby/EvalState_Logic.jruby
new file mode 100644 (file)
index 0000000..e57a62c
--- /dev/null
@@ -0,0 +1,23 @@
+#-------------------------------------------------------------------------------
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2016-2018 Ericsson. 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.
+# 
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#-------------------------------------------------------------------------------
+
+executor.logger.debug("id: " + executor.subject.id);
+executor.subject.defaultTaskKey.copyTo(executor.selectedTask);
+return true;
diff --git a/testsuites/integration/integration-common/src/main/resources/org/onap/policy/apex/test/common/model/jruby/EvalTask_Logic.jruby b/testsuites/integration/integration-common/src/main/resources/org/onap/policy/apex/test/common/model/jruby/EvalTask_Logic.jruby
new file mode 100644 (file)
index 0000000..72a4ee6
--- /dev/null
@@ -0,0 +1,32 @@
+#-------------------------------------------------------------------------------
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2016-2018 Ericsson. 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.
+# 
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#-------------------------------------------------------------------------------
+
+require 'java';
+
+executor.logger.debug("id: " + executor.subject.id);
+executor.logger.debug("inFields: " + executor.inFields.toString());
+
+executor.outFields.putAll(executor.inFields);
+
+timeNow = java.util.Date.new();
+executor.outFields.put("State<STATE_NUMBER>Timestamp", timeNow.getTime());
+executor.logger.debug("outFields: " + executor.outFields.toString());
+
+return true;
diff --git a/testsuites/integration/integration-common/src/main/resources/org/onap/policy/apex/test/common/model/jython/DefaultState_Logic.jython b/testsuites/integration/integration-common/src/main/resources/org/onap/policy/apex/test/common/model/jython/DefaultState_Logic.jython
new file mode 100644 (file)
index 0000000..265316e
--- /dev/null
@@ -0,0 +1,27 @@
+#-------------------------------------------------------------------------------
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2016-2018 Ericsson. 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.
+# 
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#-------------------------------------------------------------------------------
+
+from java.lang import Boolean
+executor.logger.debug('id: ' + executor.subject.id)
+
+executor.logger.debug('ctxt name: ' + executor.getContextAlbum("GlobalContextAlbum").name)
+executor.subject.defaultTaskKey.copyTo(executor.selectedTask)
+
+returnValue = executor.TRUE
diff --git a/testsuites/integration/integration-common/src/main/resources/org/onap/policy/apex/test/common/model/jython/DefaultTask_Logic.jython b/testsuites/integration/integration-common/src/main/resources/org/onap/policy/apex/test/common/model/jython/DefaultTask_Logic.jython
new file mode 100644 (file)
index 0000000..16993d0
--- /dev/null
@@ -0,0 +1,35 @@
+#-------------------------------------------------------------------------------
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2016-2018 Ericsson. 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.
+# 
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#-------------------------------------------------------------------------------
+
+from java.lang import Byte
+from java.lang import Long
+from java.util import Date
+
+executor.logger.debug('id: ' + executor.subject.id)
+
+executor.logger.debug('ctxt name: ' + executor.getContextAlbum("GlobalContextAlbum").name)
+executor.logger.debug('inFields: ' + executor.inFields.toString())
+
+executor.outFields["Test<STATE_NAME>CaseSelected"] = Byte("<RANDOM_BYTE_VALUE>")
+
+timeValue = Long(Date().getTime());
+executor.outFields["Test<STATE_NAME>StateTime"] = timeValue
+executor.logger.debug('outFields: ' + executor.outFields.toString())
+returnValue = executor.TRUE
diff --git a/testsuites/integration/integration-common/src/main/resources/org/onap/policy/apex/test/common/model/jython/EvalState_Logic.jython b/testsuites/integration/integration-common/src/main/resources/org/onap/policy/apex/test/common/model/jython/EvalState_Logic.jython
new file mode 100644 (file)
index 0000000..9a01028
--- /dev/null
@@ -0,0 +1,25 @@
+#-------------------------------------------------------------------------------
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2016-2018 Ericsson. 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.
+# 
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#-------------------------------------------------------------------------------
+
+executor.logger.debug('id: ' + executor.subject.id);
+
+executor.subject.defaultTaskKey.copyTo(executor.selectedTask);
+
+returnValue = executor.TRUE;
diff --git a/testsuites/integration/integration-common/src/main/resources/org/onap/policy/apex/test/common/model/jython/EvalTask_Logic.jython b/testsuites/integration/integration-common/src/main/resources/org/onap/policy/apex/test/common/model/jython/EvalTask_Logic.jython
new file mode 100644 (file)
index 0000000..bc803eb
--- /dev/null
@@ -0,0 +1,36 @@
+#-------------------------------------------------------------------------------
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2016-2018 Ericsson. 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.
+# 
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#-------------------------------------------------------------------------------
+
+from java.lang import Boolean
+from java.lang import Byte
+from java.lang import Long
+from java.util import Date
+
+executor.logger.debug('id: ' + executor.subject.id)
+
+executor.logger.debug('inFields: ' + executor.inFields.toString())
+
+executor.outFields = executor.createOutgoingEvent(outEvent)
+executor.outFields.putAll(executor.inFields)
+
+timeValue = Long(Date().getTime());
+executor.outFields["State<STATE_NUMBER>Timestamp"] = timeValue
+executor.logger.debug('outFields: ' + executor.outFields.toString())
+returnValue = Boolean.TRUE
diff --git a/testsuites/integration/integration-common/src/main/resources/org/onap/policy/apex/test/common/model/mvel/DefaultState_Logic.mvel b/testsuites/integration/integration-common/src/main/resources/org/onap/policy/apex/test/common/model/mvel/DefaultState_Logic.mvel
new file mode 100644 (file)
index 0000000..1620c6c
--- /dev/null
@@ -0,0 +1,23 @@
+/*
+ * ============LICENSE_START=======================================================
+ *  Copyright (C) 2016-2018 Ericsson. 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.
+ * 
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+logger.debug(subject.id + ":" + subject.stateName);
+subject.defaultTaskKey.copyTo(selectedTask);
+return true;
diff --git a/testsuites/integration/integration-common/src/main/resources/org/onap/policy/apex/test/common/model/mvel/DefaultTask_Logic.mvel b/testsuites/integration/integration-common/src/main/resources/org/onap/policy/apex/test/common/model/mvel/DefaultTask_Logic.mvel
new file mode 100644 (file)
index 0000000..9a1a4ba
--- /dev/null
@@ -0,0 +1,30 @@
+/*
+ * ============LICENSE_START=======================================================
+ *  Copyright (C) 2016-2018 Ericsson. 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.
+ * 
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+import java.util.Date;
+logger.debug(subject.id);
+gc = getContextAlbum("GlobalContextAlbum");
+logger.debug(gc);
+logger.debug(inFields);
+outFields["Test<STATE_NAME>CaseSelected"] = (byte)<RANDOM_BYTE_VALUE>;
+timeNow = new Date();
+outFields["Test<STATE_NAME>StateTime"] = timeNow.getTime();
+logger.debug(outFields);
+return true;
\ No newline at end of file
diff --git a/testsuites/integration/integration-common/src/main/resources/org/onap/policy/apex/test/common/model/mvel/EvalState_Logic.mvel b/testsuites/integration/integration-common/src/main/resources/org/onap/policy/apex/test/common/model/mvel/EvalState_Logic.mvel
new file mode 100644 (file)
index 0000000..1620c6c
--- /dev/null
@@ -0,0 +1,23 @@
+/*
+ * ============LICENSE_START=======================================================
+ *  Copyright (C) 2016-2018 Ericsson. 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.
+ * 
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+logger.debug(subject.id + ":" + subject.stateName);
+subject.defaultTaskKey.copyTo(selectedTask);
+return true;
diff --git a/testsuites/integration/integration-common/src/main/resources/org/onap/policy/apex/test/common/model/mvel/EvalTask_Logic.mvel b/testsuites/integration/integration-common/src/main/resources/org/onap/policy/apex/test/common/model/mvel/EvalTask_Logic.mvel
new file mode 100644 (file)
index 0000000..e15a4be
--- /dev/null
@@ -0,0 +1,26 @@
+/*
+ * ============LICENSE_START=======================================================
+ *  Copyright (C) 2016-2018 Ericsson. 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.
+ * 
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+import java.util.Date;
+logger.debug(subject.id);
+logger.debug(inFields);
+timeNow = new Date();
+outFields["State<STATE_NUMBER>Timestamp"] = timeNow.getTime();
+return true;
\ No newline at end of file
diff --git a/testsuites/integration/integration-uservice-test/pom.xml b/testsuites/integration/integration-uservice-test/pom.xml
new file mode 100644 (file)
index 0000000..3f3dbcf
--- /dev/null
@@ -0,0 +1,226 @@
+<!--
+  ============LICENSE_START=======================================================
+   Copyright (C) 2018 Ericsson. 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.
+
+  SPDX-License-Identifier: Apache-2.0
+  ============LICENSE_END=========================================================
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.onap.policy.apex-pdp.testsuites.integration</groupId>
+        <artifactId>integration</artifactId>
+        <version>2.0.0-SNAPSHOT</version>
+    </parent>
+
+    <artifactId>integration-uservice-test</artifactId>
+    <name>${project.artifactId}</name>
+    <description>Integration tests for Apex microservices</description>
+
+    <properties>
+        <activemq-version>5.15.4</activemq-version>
+    </properties>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.onap.policy.apex-pdp.core</groupId>
+            <artifactId>core-engine</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.onap.policy.apex-pdp.core</groupId>
+            <artifactId>core-deployment</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.onap.policy.apex-pdp.context</groupId>
+            <artifactId>context-test</artifactId>
+            <version>${project.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.onap.policy.apex-pdp.plugins.plugins-context.context-schema</groupId>
+            <artifactId>context-schema-avro</artifactId>
+            <version>${project.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.onap.policy.apex-pdp.plugins.plugins-executor</groupId>
+            <artifactId>plugins-executor-mvel</artifactId>
+            <version>${project.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.onap.policy.apex-pdp.plugins.plugins-executor</groupId>
+            <artifactId>plugins-executor-javascript</artifactId>
+            <version>${project.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.onap.policy.apex-pdp.plugins.plugins-context.context-distribution</groupId>
+            <artifactId>context-distribution-infinispan</artifactId>
+            <version>${project.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.onap.policy.apex-pdp.plugins.plugins-event.plugins-event-carrier</groupId>
+            <artifactId>plugins-event-carrier-kafka</artifactId>
+            <version>${project.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.onap.policy.apex-pdp.plugins.plugins-event.plugins-event-carrier</groupId>
+            <artifactId>plugins-event-carrier-websocket</artifactId>
+            <version>${project.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.onap.policy.apex-pdp.plugins.plugins-event.plugins-event-carrier</groupId>
+            <artifactId>plugins-event-carrier-jms</artifactId>
+            <version>${project.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.onap.policy.apex-pdp.plugins.plugins-event.plugins-event-carrier</groupId>
+            <artifactId>plugins-event-carrier-restclient</artifactId>
+            <version>${project.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.onap.policy.apex-pdp.plugins.plugins-event.plugins-event-carrier</groupId>
+            <artifactId>plugins-event-carrier-restserver</artifactId>
+            <version>${project.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.onap.policy.apex-pdp.plugins.plugins-event.plugins-event-carrier</groupId>
+            <artifactId>plugins-event-carrier-restrequestor</artifactId>
+            <version>${project.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.onap.policy.apex-pdp.plugins.plugins-event.plugins-event-protocol</groupId>
+            <artifactId>plugins-event-protocol-xml</artifactId>
+            <version>${project.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.onap.policy.apex-pdp.plugins.plugins-event.plugins-event-protocol</groupId>
+            <artifactId>plugins-event-protocol-jms</artifactId>
+            <version>${project.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.onap.policy.apex-pdp.auth</groupId>
+            <artifactId>cli-editor</artifactId>
+            <version>${project.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.onap.policy.apex-pdp.testsuites.integration</groupId>
+            <artifactId>integration-common</artifactId>
+            <version>${project.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.kafka</groupId>
+            <artifactId>kafka_2.11</artifactId>
+            <version>${kafka.version}</version>
+            <scope>test</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.slf4j</groupId>
+                    <artifactId>slf4j-log4j12</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.kafka</groupId>
+            <artifactId>kafka_2.11</artifactId>
+            <version>${kafka.version}</version>
+            <classifier>test</classifier>
+            <scope>test</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.slf4j</groupId>
+                    <artifactId>slf4j-log4j12</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.kafka</groupId>
+            <artifactId>kafka-clients</artifactId>
+            <version>${kafka.version}</version>
+            <classifier>test</classifier>
+            <scope>test</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.slf4j</groupId>
+                    <artifactId>slf4j-log4j12</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.activemq.tooling</groupId>
+            <artifactId>activemq-junit</artifactId>
+            <version>${activemq-version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.activemq</groupId>
+            <artifactId>activemq-broker</artifactId>
+            <version>${activemq-version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.activemq</groupId>
+            <artifactId>activemq-jaas</artifactId>
+            <version>${activemq-version}</version>
+            <scope>test</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.glassfish.jersey.core</groupId>
+            <artifactId>jersey-client</artifactId>
+            <version>${version.jersey.core}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.containers</groupId>
+            <artifactId>jersey-container-grizzly2-http</artifactId>
+            <version>${version.grizzly2-http}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.containers</groupId>
+            <artifactId>jersey-container-servlet-core</artifactId>
+            <version>${version.jersey.core}</version>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-surefire-plugin</artifactId>
+                <configuration>
+                    <forkMode>always</forkMode>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+
+</project>
\ No newline at end of file
diff --git a/testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/adapt/events/EventGenerator.java b/testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/adapt/events/EventGenerator.java
new file mode 100644 (file)
index 0000000..4c2ed5c
--- /dev/null
@@ -0,0 +1,501 @@
+/*-
+ * ============LICENSE_START=======================================================
+ *  Copyright (C) 2016-2018 Ericsson. 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.
+ * 
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.apex.apps.uservice.test.adapt.events;
+
+import java.util.Random;
+
+/**
+ * @author Liam Fallon (liam.fallon@ericsson.com)
+ */
+public class EventGenerator {
+    private static int nextEventNo = 0;
+
+    public static String xmlEvents(final int eventCount) {
+        final StringBuilder builder = new StringBuilder();
+
+        for (int i = 0; i < eventCount; i++) {
+            if (i > 0) {
+                builder.append("\n");
+            }
+            builder.append(xmlEvent());
+        }
+
+        return builder.toString();
+    }
+
+    public static String jsonEvents(final int eventCount) {
+        final StringBuilder builder = new StringBuilder();
+
+        for (int i = 0; i < eventCount; i++) {
+            if (i > 0) {
+                builder.append("\n");
+            }
+            builder.append(jsonEvent());
+        }
+
+        return builder.toString();
+    }
+
+    public static String xmlEvent() {
+        final Random rand = new Random();
+
+        final StringBuilder builder = new StringBuilder();
+
+        int nextEventNo = rand.nextInt(2);
+        final String eventName = (nextEventNo == 0 ? "Event0000" : "Event0100");
+        final int nextMatchCase = rand.nextInt(4);
+        final float nextTestTemperature = rand.nextFloat() * 10000;
+
+        builder.append("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n");
+        builder.append("<xmlApexEvent xmlns=\"http://www.onap.org/policy/apex-pdp/apexevent\">\n");
+
+        builder.append("  <name>" + eventName + "</name>\n");
+        builder.append("  <version>0.0.1</version>\n");
+        builder.append("  <nameSpace>org.onap.policy.apex.sample.events</nameSpace>\n");
+        builder.append("  <source>test</source>\n");
+        builder.append("  <target>apex</target>\n");
+        builder.append("  <data>\n");
+        builder.append("    <key>TestSlogan</key>\n");
+        builder.append("    <value>Test slogan for External Event" + (nextEventNo++) + "</value>\n");
+        builder.append("  </data>\n");
+        builder.append("  <data>\n");
+        builder.append("    <key>TestMatchCase</key>\n");
+        builder.append("    <value>" + nextMatchCase + "</value>\n");
+        builder.append("  </data>\n");
+        builder.append("  <data>\n");
+        builder.append("    <key>TestTimestamp</key>\n");
+        builder.append("    <value>" + System.currentTimeMillis() + "</value>\n");
+        builder.append("  </data>\n");
+        builder.append("  <data>\n");
+        builder.append("    <key>TestTemperature</key>\n");
+        builder.append("    <value>" + nextTestTemperature + "</value>\n");
+        builder.append("  </data>\n");
+        builder.append("</xmlApexEvent>");
+
+        return builder.toString();
+    }
+
+    public static String jsonEvent() {
+        final Random rand = new Random();
+
+        final StringBuilder builder = new StringBuilder();
+
+        int nextEventNo = rand.nextInt(2);
+        final String eventName = (nextEventNo == 0 ? "Event0000" : "Event0100");
+        final int nextMatchCase = rand.nextInt(4);
+        final float nextTestTemperature = rand.nextFloat() * 10000;
+
+        builder.append("{\n");
+        builder.append("  \"nameSpace\": \"org.onap.policy.apex.sample.events\",\n");
+        builder.append("  \"name\": \"" + eventName + "\",\n");
+        builder.append("  \"version\": \"0.0.1\",\n");
+        builder.append("  \"source\": \"test\",\n");
+        builder.append("  \"target\": \"apex\",\n");
+        builder.append("  \"TestSlogan\": \"Test slogan for External Event" + (nextEventNo++) + "\",\n");
+        builder.append("  \"TestMatchCase\": " + nextMatchCase + ",\n");
+        builder.append("  \"TestTimestamp\": " + System.currentTimeMillis() + ",\n");
+        builder.append("  \"TestTemperature\": " + nextTestTemperature + "\n");
+        builder.append("}");
+
+        return builder.toString();
+    }
+
+    public static String jsonEventNoName() {
+        final Random rand = new Random();
+
+        final StringBuilder builder = new StringBuilder();
+
+        int nextEventNo = rand.nextInt(2);
+        final String eventName = (nextEventNo == 0 ? "Event0000" : "Event0100");
+        final int nextMatchCase = rand.nextInt(4);
+        final float nextTestTemperature = rand.nextFloat() * 10000;
+
+        builder.append("{\n");
+        builder.append("  \"nameSpace\": \"org.onap.policy.apex.sample.events\",\n");
+        builder.append("  \"namez\": \"" + eventName + "\",\n");
+        builder.append("  \"version\": \"0.0.1\",\n");
+        builder.append("  \"source\": \"test\",\n");
+        builder.append("  \"target\": \"apex\",\n");
+        builder.append("  \"TestSlogan\": \"Test slogan for External Event" + (nextEventNo++) + "\",\n");
+        builder.append("  \"TestMatchCase\": " + nextMatchCase + ",\n");
+        builder.append("  \"TestTimestamp\": " + System.currentTimeMillis() + ",\n");
+        builder.append("  \"TestTemperature\": " + nextTestTemperature + "\n");
+        builder.append("}");
+
+        return builder.toString();
+    }
+
+    public static String jsonEventBadName() {
+        final Random rand = new Random();
+
+        final StringBuilder builder = new StringBuilder();
+
+        int nextEventNo = rand.nextInt(2);
+        final int nextMatchCase = rand.nextInt(4);
+        final float nextTestTemperature = rand.nextFloat() * 10000;
+
+        builder.append("{\n");
+        builder.append("  \"nameSpace\": \"org.onap.policy.apex.sample.events\",\n");
+        builder.append("  \"name\": \"%%%%\",\n");
+        builder.append("  \"version\": \"0.0.1\",\n");
+        builder.append("  \"source\": \"test\",\n");
+        builder.append("  \"target\": \"apex\",\n");
+        builder.append("  \"TestSlogan\": \"Test slogan for External Event" + (nextEventNo++) + "\",\n");
+        builder.append("  \"TestMatchCase\": " + nextMatchCase + ",\n");
+        builder.append("  \"TestTimestamp\": " + System.currentTimeMillis() + ",\n");
+        builder.append("  \"TestTemperature\": " + nextTestTemperature + "\n");
+        builder.append("}");
+
+        return builder.toString();
+    }
+
+    public static String jsonEventNoExName() {
+        final Random rand = new Random();
+
+        final StringBuilder builder = new StringBuilder();
+
+        int nextEventNo = rand.nextInt(2);
+        final int nextMatchCase = rand.nextInt(4);
+        final float nextTestTemperature = rand.nextFloat() * 10000;
+
+        builder.append("{\n");
+        builder.append("  \"nameSpace\": \"org.onap.policy.apex.sample.events\",\n");
+        builder.append("  \"name\": \"I_DONT_EXIST\",\n");
+        builder.append("  \"source\": \"test\",\n");
+        builder.append("  \"target\": \"apex\",\n");
+        builder.append("  \"TestSlogan\": \"Test slogan for External Event" + (nextEventNo++) + "\",\n");
+        builder.append("  \"TestMatchCase\": " + nextMatchCase + ",\n");
+        builder.append("  \"TestTimestamp\": " + System.currentTimeMillis() + ",\n");
+        builder.append("  \"TestTemperature\": " + nextTestTemperature + "\n");
+        builder.append("}");
+
+        return builder.toString();
+    }
+
+    public static String jsonEventNoVersion() {
+        final Random rand = new Random();
+
+        final StringBuilder builder = new StringBuilder();
+
+        int nextEventNo = rand.nextInt(2);
+        final String eventName = (nextEventNo == 0 ? "Event0000" : "Event0100");
+        final int nextMatchCase = rand.nextInt(4);
+        final float nextTestTemperature = rand.nextFloat() * 10000;
+
+        builder.append("{\n");
+        builder.append("  \"nameSpace\": \"org.onap.policy.apex.sample.events\",\n");
+        builder.append("  \"name\": \"" + eventName + "\",\n");
+        builder.append("  \"versiion\": \"0.0.1\",\n");
+        builder.append("  \"source\": \"test\",\n");
+        builder.append("  \"target\": \"apex\",\n");
+        builder.append("  \"TestSlogan\": \"Test slogan for External Event" + (nextEventNo++) + "\",\n");
+        builder.append("  \"TestMatchCase\": " + nextMatchCase + ",\n");
+        builder.append("  \"TestTimestamp\": " + System.currentTimeMillis() + ",\n");
+        builder.append("  \"TestTemperature\": " + nextTestTemperature + "\n");
+        builder.append("}");
+
+        return builder.toString();
+    }
+
+    public static String jsonEventBadVersion() {
+        final Random rand = new Random();
+
+        final StringBuilder builder = new StringBuilder();
+
+        int nextEventNo = rand.nextInt(2);
+        final String eventName = (nextEventNo == 0 ? "Event0000" : "Event0100");
+        final int nextMatchCase = rand.nextInt(4);
+        final float nextTestTemperature = rand.nextFloat() * 10000;
+
+        builder.append("{\n");
+        builder.append("  \"nameSpace\": \"org.onap.policy.apex.sample.events\",\n");
+        builder.append("  \"name\": \"" + eventName + "\",\n");
+        builder.append("  \"version\": \"#####\",\n");
+        builder.append("  \"source\": \"test\",\n");
+        builder.append("  \"target\": \"apex\",\n");
+        builder.append("  \"TestSlogan\": \"Test slogan for External Event" + (nextEventNo++) + "\",\n");
+        builder.append("  \"TestMatchCase\": " + nextMatchCase + ",\n");
+        builder.append("  \"TestTimestamp\": " + System.currentTimeMillis() + ",\n");
+        builder.append("  \"TestTemperature\": " + nextTestTemperature + "\n");
+        builder.append("}");
+
+        return builder.toString();
+    }
+
+    public static String jsonEventNoExVersion() {
+        final Random rand = new Random();
+
+        final StringBuilder builder = new StringBuilder();
+
+        int nextEventNo = rand.nextInt(2);
+        final int nextMatchCase = rand.nextInt(4);
+        final float nextTestTemperature = rand.nextFloat() * 10000;
+
+        builder.append("{\n");
+        builder.append("  \"nameSpace\": \"org.onap.policy.apex.sample.events\",\n");
+        builder.append("  \"name\": \"Event0000\",\n");
+        builder.append("  \"version\": \"1.2.3\",\n");
+        builder.append("  \"source\": \"test\",\n");
+        builder.append("  \"target\": \"apex\",\n");
+        builder.append("  \"TestSlogan\": \"Test slogan for External Event" + (nextEventNo++) + "\",\n");
+        builder.append("  \"TestMatchCase\": " + nextMatchCase + ",\n");
+        builder.append("  \"TestTimestamp\": " + System.currentTimeMillis() + ",\n");
+        builder.append("  \"TestTemperature\": " + nextTestTemperature + "\n");
+        builder.append("}");
+
+        return builder.toString();
+    }
+
+    public static String jsonEventNoNamespace() {
+        final Random rand = new Random();
+
+        final StringBuilder builder = new StringBuilder();
+
+        int nextEventNo = rand.nextInt(2);
+        final String eventName = (nextEventNo == 0 ? "Event0000" : "Event0100");
+        final int nextMatchCase = rand.nextInt(4);
+        final float nextTestTemperature = rand.nextFloat() * 10000;
+
+        builder.append("{\n");
+        builder.append("  \"nameSpacee\": \"org.onap.policy.apex.sample.events\",\n");
+        builder.append("  \"name\": \"" + eventName + "\",\n");
+        builder.append("  \"version\": \"0.0.1\",\n");
+        builder.append("  \"source\": \"test\",\n");
+        builder.append("  \"target\": \"apex\",\n");
+        builder.append("  \"TestSlogan\": \"Test slogan for External Event" + (nextEventNo++) + "\",\n");
+        builder.append("  \"TestMatchCase\": " + nextMatchCase + ",\n");
+        builder.append("  \"TestTimestamp\": " + System.currentTimeMillis() + ",\n");
+        builder.append("  \"TestTemperature\": " + nextTestTemperature + "\n");
+        builder.append("}");
+
+        return builder.toString();
+    }
+
+    public static String jsonEventBadNamespace() {
+        final Random rand = new Random();
+
+        final StringBuilder builder = new StringBuilder();
+
+        int nextEventNo = rand.nextInt(2);
+        final String eventName = (nextEventNo == 0 ? "Event0000" : "Event0100");
+        final int nextMatchCase = rand.nextInt(4);
+        final float nextTestTemperature = rand.nextFloat() * 10000;
+
+        builder.append("{\n");
+        builder.append("  \"nameSpace\": \"hello.&&&&\",\n");
+        builder.append("  \"name\": \"" + eventName + "\",\n");
+        builder.append("  \"version\": \"0.0.1\",\n");
+        builder.append("  \"source\": \"test\",\n");
+        builder.append("  \"target\": \"apex\",\n");
+        builder.append("  \"TestSlogan\": \"Test slogan for External Event" + (nextEventNo++) + "\",\n");
+        builder.append("  \"TestMatchCase\": " + nextMatchCase + ",\n");
+        builder.append("  \"TestTimestamp\": " + System.currentTimeMillis() + ",\n");
+        builder.append("  \"TestTemperature\": " + nextTestTemperature + "\n");
+        builder.append("}");
+
+        return builder.toString();
+    }
+
+    public static String jsonEventNoExNamespace() {
+        final Random rand = new Random();
+
+        final StringBuilder builder = new StringBuilder();
+
+        int nextEventNo = rand.nextInt(2);
+        final int nextMatchCase = rand.nextInt(4);
+        final float nextTestTemperature = rand.nextFloat() * 10000;
+
+        builder.append("{\n");
+        builder.append("  \"nameSpace\": \"pie.in.the.sky\",\n");
+        builder.append("  \"name\": \"Event0000\",\n");
+        builder.append("  \"version\": \"0.0.1\",\n");
+        builder.append("  \"source\": \"test\",\n");
+        builder.append("  \"target\": \"apex\",\n");
+        builder.append("  \"TestSlogan\": \"Test slogan for External Event" + (nextEventNo++) + "\",\n");
+        builder.append("  \"TestMatchCase\": " + nextMatchCase + ",\n");
+        builder.append("  \"TestTimestamp\": " + System.currentTimeMillis() + ",\n");
+        builder.append("  \"TestTemperature\": " + nextTestTemperature + "\n");
+        builder.append("}");
+
+        return builder.toString();
+    }
+
+    public static String jsonEventNoSource() {
+        final Random rand = new Random();
+
+        final StringBuilder builder = new StringBuilder();
+
+        int nextEventNo = rand.nextInt(2);
+        final String eventName = (nextEventNo == 0 ? "Event0000" : "Event0100");
+        final int nextMatchCase = rand.nextInt(4);
+        final float nextTestTemperature = rand.nextFloat() * 10000;
+
+        builder.append("{\n");
+        builder.append("  \"nameSpace\": \"org.onap.policy.apex.sample.events\",\n");
+        builder.append("  \"name\": \"" + eventName + "\",\n");
+        builder.append("  \"version\": \"0.0.1\",\n");
+        builder.append("  \"sourcee\": \"test\",\n");
+        builder.append("  \"target\": \"apex\",\n");
+        builder.append("  \"TestSlogan\": \"Test slogan for External Event" + (nextEventNo++) + "\",\n");
+        builder.append("  \"TestMatchCase\": " + nextMatchCase + ",\n");
+        builder.append("  \"TestTimestamp\": " + System.currentTimeMillis() + ",\n");
+        builder.append("  \"TestTemperature\": " + nextTestTemperature + "\n");
+        builder.append("}");
+
+        return builder.toString();
+    }
+
+    public static String jsonEventBadSource() {
+        final Random rand = new Random();
+
+        final StringBuilder builder = new StringBuilder();
+
+        int nextEventNo = rand.nextInt(2);
+        final String eventName = (nextEventNo == 0 ? "Event0000" : "Event0100");
+        final int nextMatchCase = rand.nextInt(4);
+        final float nextTestTemperature = rand.nextFloat() * 10000;
+
+        builder.append("{\n");
+        builder.append("  \"nameSpace\": \"org.onap.policy.apex.sample.events\",\n");
+        builder.append("  \"name\": \"" + eventName + "\",\n");
+        builder.append("  \"version\": \"0.0.1\",\n");
+        builder.append("  \"source\": \"%!@**@!\",\n");
+        builder.append("  \"target\": \"apex\",\n");
+        builder.append("  \"TestSlogan\": \"Test slogan for External Event" + (nextEventNo++) + "\",\n");
+        builder.append("  \"TestMatchCase\": " + nextMatchCase + ",\n");
+        builder.append("  \"TestTimestamp\": " + System.currentTimeMillis() + ",\n");
+        builder.append("  \"TestTemperature\": " + nextTestTemperature + "\n");
+        builder.append("}");
+
+        return builder.toString();
+    }
+
+    public static String jsonEventNoTarget() {
+        final Random rand = new Random();
+
+        final StringBuilder builder = new StringBuilder();
+
+        int nextEventNo = rand.nextInt(2);
+        final String eventName = (nextEventNo == 0 ? "Event0000" : "Event0100");
+        final int nextMatchCase = rand.nextInt(4);
+        final float nextTestTemperature = rand.nextFloat() * 10000;
+
+        builder.append("{\n");
+        builder.append("  \"nameSpace\": \"org.onap.policy.apex.sample.events\",\n");
+        builder.append("  \"name\": \"" + eventName + "\",\n");
+        builder.append("  \"version\": \"0.0.1\",\n");
+        builder.append("  \"source\": \"test\",\n");
+        builder.append("  \"targett\": \"apex\",\n");
+        builder.append("  \"TestSlogan\": \"Test slogan for External Event" + (nextEventNo++) + "\",\n");
+        builder.append("  \"TestMatchCase\": " + nextMatchCase + ",\n");
+        builder.append("  \"TestTimestamp\": " + System.currentTimeMillis() + ",\n");
+        builder.append("  \"TestTemperature\": " + nextTestTemperature + "\n");
+        builder.append("}");
+
+        return builder.toString();
+    }
+
+    public static String jsonEventBadTarget() {
+        final Random rand = new Random();
+
+        final StringBuilder builder = new StringBuilder();
+
+        int nextEventNo = rand.nextInt(2);
+        final String eventName = (nextEventNo == 0 ? "Event0000" : "Event0100");
+        final int nextMatchCase = rand.nextInt(4);
+        final float nextTestTemperature = rand.nextFloat() * 10000;
+
+        builder.append("{\n");
+        builder.append("  \"nameSpace\": \"org.onap.policy.apex.sample.events\",\n");
+        builder.append("  \"name\": \"" + eventName + "\",\n");
+        builder.append("  \"version\": \"0.0.1\",\n");
+        builder.append("  \"source\": \"test\",\n");
+        builder.append("  \"target\": \"KNIO(*S)A(S)D\",\n");
+        builder.append("  \"TestSlogan\": \"Test slogan for External Event" + (nextEventNo++) + "\",\n");
+        builder.append("  \"TestMatchCase\": " + nextMatchCase + ",\n");
+        builder.append("  \"TestTimestamp\": " + System.currentTimeMillis() + ",\n");
+        builder.append("  \"TestTemperature\": " + nextTestTemperature + "\n");
+        builder.append("}");
+
+        return builder.toString();
+    }
+
+    public static String jsonEventMissingFields() {
+        final StringBuilder builder = new StringBuilder();
+
+        builder.append("{\n");
+        builder.append("  \"nameSpace\": \"org.onap.policy.apex.sample.events\",\n");
+        builder.append("  \"name\": \"Event0000\",\n");
+        builder.append("  \"version\": \"0.0.1\",\n");
+        builder.append("  \"source\": \"test\",\n");
+        builder.append("  \"target\": \"apex\"\n");
+        builder.append("}");
+
+        return builder.toString();
+    }
+
+    public static String jsonEventNullFields() {
+        final StringBuilder builder = new StringBuilder();
+
+        builder.append("{\n");
+        builder.append("  \"nameSpace\": \"org.onap.policy.apex.sample.events\",\n");
+        builder.append("  \"name\": \"Event0000\",\n");
+        builder.append("  \"version\": \"0.0.1\",\n");
+        builder.append("  \"source\": \"test\",\n");
+        builder.append("  \"target\": \"Apex\",\n");
+        builder.append("  \"TestSlogan\": null,\n");
+        builder.append("  \"TestMatchCase\": -1,\n");
+        builder.append("  \"TestTimestamp\": -1,\n");
+        builder.append("  \"TestTemperature\": -1.0\n");
+        builder.append("}");
+
+        return builder.toString();
+    }
+
+    public static void main(final String[] args) {
+        if (args.length != 2) {
+            System.err.println("usage EventGenerator #events XML|JSON");
+            return;
+        }
+
+        int eventCount = 0;
+        try {
+            eventCount = Integer.parseInt(args[0]);
+        } catch (final Exception e) {
+            System.err.println("usage EventGenerator #events XML|JSON");
+            e.printStackTrace();
+            return;
+        }
+
+        if (args[1].equalsIgnoreCase("XML")) {
+            System.out.println(xmlEvents(eventCount));
+        } else if (args[1].equalsIgnoreCase("JSON")) {
+            System.out.println(jsonEvents(eventCount));
+        } else {
+            System.err.println("usage EventGenerator #events XML|JSON");
+            return;
+        }
+    }
+
+    public static int getNextEventNo() {
+        return nextEventNo;
+    }
+}
diff --git a/testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/adapt/file/TestFile2File.java b/testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/adapt/file/TestFile2File.java
new file mode 100644 (file)
index 0000000..347cce8
--- /dev/null
@@ -0,0 +1,78 @@
+/*-
+ * ============LICENSE_START=======================================================
+ *  Copyright (C) 2016-2018 Ericsson. 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.
+ * 
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.apex.apps.uservice.test.adapt.file;
+
+import static org.junit.Assert.assertEquals;
+
+import java.io.File;
+import java.io.IOException;
+
+import org.junit.Test;
+import org.onap.policy.apex.core.infrastructure.messaging.MessagingException;
+import org.onap.policy.apex.core.infrastructure.threading.ThreadUtilities;
+import org.onap.policy.apex.model.basicmodel.concepts.ApexException;
+import org.onap.policy.apex.model.utilities.TextFileUtils;
+import org.onap.policy.apex.service.engine.main.ApexMain;
+
+public class TestFile2File {
+
+    @Test
+    public void testJsonFileEvents() throws MessagingException, ApexException, IOException {
+        final String[] args = {"src/test/resources/prodcons/File2FileJsonEvent.json"};
+
+        testFileEvents(args, "src/test/resources/events/EventsOut.json", 48956);
+    }
+
+    @Test
+    public void testXMLFileEvents() throws MessagingException, ApexException, IOException {
+        final String[] args = {"src/test/resources/prodcons/File2FileXmlEvent.json"};
+
+        testFileEvents(args, "src/test/resources/events/EventsOut.xmlfile", 106739);
+    }
+
+    private void testFileEvents(final String[] args, final String outFilePath, final long expectedFileSize)
+            throws MessagingException, ApexException, IOException {
+        final ApexMain apexMain = new ApexMain(args);
+
+        final File outFile = new File(outFilePath);
+
+        while (!outFile.exists()) {
+            ThreadUtilities.sleep(500);
+        }
+
+        // Wait for the file to be filled
+        long outFileSize = 0;
+        while (true) {
+            final String fileString = TextFileUtils.getTextFileAsString(outFilePath).replaceAll("\\s+", "");
+            outFileSize = fileString.length();
+            if (outFileSize > 0 && outFileSize >= expectedFileSize) {
+                break;
+            }
+            ThreadUtilities.sleep(500);
+        }
+
+        apexMain.shutdown();
+        outFile.delete();
+        assertEquals(outFileSize, expectedFileSize);
+    }
+}
+
+
diff --git a/testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/adapt/file/TestFile2FileFiltered.java b/testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/adapt/file/TestFile2FileFiltered.java
new file mode 100644 (file)
index 0000000..c2b0972
--- /dev/null
@@ -0,0 +1,108 @@
+/*-
+ * ============LICENSE_START=======================================================
+ *  Copyright (C) 2016-2018 Ericsson. 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.
+ * 
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.apex.apps.uservice.test.adapt.file;
+
+import static org.junit.Assert.assertEquals;
+
+import java.io.File;
+import java.io.IOException;
+
+import org.junit.Test;
+import org.onap.policy.apex.core.infrastructure.messaging.MessagingException;
+import org.onap.policy.apex.core.infrastructure.threading.ThreadUtilities;
+import org.onap.policy.apex.model.basicmodel.concepts.ApexException;
+import org.onap.policy.apex.model.utilities.TextFileUtils;
+import org.onap.policy.apex.service.engine.main.ApexMain;
+
+public class TestFile2FileFiltered {
+
+    @Test
+    public void testJsonFilteredFileInOutEvents() throws MessagingException, ApexException, IOException {
+        final String[] args = {"src/test/resources/prodcons/File2FileFilteredInOutJsonEvent.json"};
+
+        final String[] outFilePaths =
+                {"src/test/resources/events/Events0004Out.json", "src/test/resources/events/Events0104Out.json"};
+
+        final long[] expectedFileSizes = {25949, 23007};
+
+        testFilteredFileEvents(args, outFilePaths, expectedFileSizes);
+    }
+
+    @Test
+    public void testJsonFilteredFileOutEvents() throws MessagingException, ApexException, IOException {
+        final String[] args = {"src/test/resources/prodcons/File2FileFilteredOutJsonEvent.json"};
+
+        final String[] outFilePaths =
+                {"src/test/resources/events/Events0004Out.json", "src/test/resources/events/Events0104Out.json"};
+
+        final long[] expectedFileSizes = {25949, 23007};
+
+        testFilteredFileEvents(args, outFilePaths, expectedFileSizes);
+    }
+
+    @Test
+    public void testJsonFilteredFileInEvents() throws MessagingException, ApexException, IOException {
+        final String[] args = {"src/test/resources/prodcons/File2FileFilteredInJsonEvent.json"};
+
+        final String[] outFilePaths = {"src/test/resources/events/Events0004Out.json"};
+
+        final long[] expectedFileSizes = {25949};
+
+        testFilteredFileEvents(args, outFilePaths, expectedFileSizes);
+    }
+
+    private void testFilteredFileEvents(final String[] args, final String[] outFilePaths,
+            final long[] expectedFileSizes) throws MessagingException, ApexException, IOException {
+        final ApexMain apexMain = new ApexMain(args);
+
+        final File outFile0 = new File(outFilePaths[0]);
+
+        while (!outFile0.exists()) {
+            ThreadUtilities.sleep(500);
+        }
+
+        // Wait for the file to be filled
+        long outFile0Size = 0;
+        for (int i = 0; i < 4; i++) {
+            final String fileString = TextFileUtils.getTextFileAsString(outFilePaths[0]).replaceAll("\\s+", "");
+            outFile0Size = fileString.length();
+            if (outFile0Size > 0 && outFile0Size >= expectedFileSizes[0]) {
+                break;
+            }
+            ThreadUtilities.sleep(500);
+        }
+
+        ThreadUtilities.sleep(500);
+        apexMain.shutdown();
+
+        final long[] actualFileSizes = new long[expectedFileSizes.length];
+
+        for (int i = 0; i < outFilePaths.length; i++) {
+            final String fileString = TextFileUtils.getTextFileAsString(outFilePaths[i]).replaceAll("\\s+", "");
+            actualFileSizes[i] = fileString.length();
+            new File(outFilePaths[i]).delete();
+        }
+
+        for (int i = 0; i < actualFileSizes.length; i++) {
+            assertEquals(actualFileSizes[i], expectedFileSizes[i]);
+        }
+    }
+}
diff --git a/testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/adapt/file/TestFile2FileIgnore.java b/testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/adapt/file/TestFile2FileIgnore.java
new file mode 100644 (file)
index 0000000..c952d73
--- /dev/null
@@ -0,0 +1,75 @@
+/*-
+ * ============LICENSE_START=======================================================
+ *  Copyright (C) 2016-2018 Ericsson. 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.
+ * 
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.apex.apps.uservice.test.adapt.file;
+
+import static org.junit.Assert.assertEquals;
+
+import java.io.File;
+import java.io.IOException;
+
+import org.onap.policy.apex.core.infrastructure.messaging.MessagingException;
+import org.onap.policy.apex.core.infrastructure.threading.ThreadUtilities;
+import org.onap.policy.apex.model.basicmodel.concepts.ApexException;
+import org.onap.policy.apex.model.utilities.TextFileUtils;
+import org.onap.policy.apex.service.engine.main.ApexMain;
+
+public class TestFile2FileIgnore {
+
+    // This test is used just to bring up an instance of Apex for manual testing and demonstrations
+    // It should always be ignored in automated testing because it holds Apex up for a very long
+    // time
+    public static void main(final String[] args) throws MessagingException, ApexException, IOException {
+        final String[] apexArgs = {"src/test/resources/prodcons/File2FileJsonEvent.json"};
+
+        testFileEvents(apexArgs, "src/test/resources/events/EventsOut.json", 48656);
+    }
+
+    private static void testFileEvents(final String[] args, final String outFilePath, final long expectedFileSize)
+            throws MessagingException, ApexException, IOException {
+        final ApexMain apexMain = new ApexMain(args);
+
+        final File outFile = new File(outFilePath);
+
+        while (!outFile.exists()) {
+            ThreadUtilities.sleep(500);
+        }
+
+        // Wait for the file to be filled
+        long outFileSize = 0;
+        while (true) {
+            final String fileString = TextFileUtils.getTextFileAsString(outFilePath).replaceAll("\\s+", "");
+            outFileSize = fileString.length();
+            if (outFileSize > 0 && outFileSize >= expectedFileSize) {
+                break;
+            }
+            ThreadUtilities.sleep(500);
+        }
+
+        // Here's the long time I was talking about above!
+        ThreadUtilities.sleep(100000000);
+
+        apexMain.shutdown();
+        outFile.delete();
+        assertEquals(outFileSize, expectedFileSize);
+    }
+}
+
+
diff --git a/testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/adapt/jms/JMSEventProducer.java b/testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/adapt/jms/JMSEventProducer.java
new file mode 100644 (file)
index 0000000..e5ddbfe
--- /dev/null
@@ -0,0 +1,129 @@
+/*-
+ * ============LICENSE_START=======================================================
+ *  Copyright (C) 2016-2018 Ericsson. 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.
+ * 
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.apex.apps.uservice.test.adapt.jms;
+
+import javax.jms.Connection;
+import javax.jms.ConnectionFactory;
+import javax.jms.JMSException;
+import javax.jms.Message;
+import javax.jms.MessageProducer;
+import javax.jms.Session;
+import javax.jms.Topic;
+
+import org.apache.activemq.command.ActiveMQTopic;
+import org.onap.policy.apex.apps.uservice.test.adapt.events.EventGenerator;
+import org.onap.policy.apex.core.infrastructure.threading.ThreadUtilities;
+import org.onap.policy.apex.service.engine.event.ApexEventRuntimeException;
+
+/**
+ * @author Liam Fallon (liam.fallon@ericsson.com)
+ */
+public class JMSEventProducer implements Runnable {
+    private final String topic;
+    private final int eventCount;
+    private final boolean sendObjects;
+    private final long eventInterval;
+    private long eventsSentCount = 0;
+
+    private final Thread producerThread;
+    private boolean sendEventsFlag = false;
+    private boolean stopFlag = false;
+    private final Connection connection;
+
+    public JMSEventProducer(String topic, ConnectionFactory connectionFactory, String username, String password,
+            final int eventCount, final boolean sendObjects, final long eventInterval) throws JMSException {
+        this.topic = topic;
+        this.eventCount = eventCount;
+        this.sendObjects = sendObjects;
+        this.eventInterval = eventInterval;
+        connection = connectionFactory.createConnection(username, password);
+        connection.start();
+
+        producerThread = new Thread(this);
+        producerThread.start();
+    }
+
+    @Override
+    public void run() {
+        try {
+            final Topic jmsTopic = new ActiveMQTopic(topic);
+            final Session jmsSession = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
+            final MessageProducer jmsProducer = jmsSession.createProducer(jmsTopic);
+
+            while (producerThread.isAlive() && !stopFlag) {
+                ThreadUtilities.sleep(50);
+
+                if (sendEventsFlag) {
+                    sendEventsToTopic(jmsSession, jmsProducer);
+                    sendEventsFlag = false;
+                }
+            }
+
+            jmsProducer.close();
+            jmsSession.close();
+        } catch (final Exception e) {
+            throw new ApexEventRuntimeException("JMS event consumption failed", e);
+        }
+    }
+
+    public void sendEvents() {
+        sendEventsFlag = true;
+    }
+
+    private void sendEventsToTopic(final Session jmsSession, final MessageProducer jmsProducer) throws JMSException {
+        System.out.println(JMSEventProducer.class.getCanonicalName() + ": sending events to JMS server, event count "
+                + eventCount);
+
+        for (int i = 0; i < eventCount; i++) {
+            System.out.println(JMSEventProducer.class.getCanonicalName() + ": waiting " + eventInterval
+                    + " milliseconds before sending next event");
+            ThreadUtilities.sleep(eventInterval);
+
+            Message jmsMessage = null;
+            if (sendObjects) {
+                jmsMessage = jmsSession.createObjectMessage(new TestPing());
+            } else {
+                jmsMessage = jmsSession.createTextMessage(EventGenerator.jsonEvent());
+            }
+            jmsProducer.send(jmsMessage);
+            eventsSentCount++;
+            System.out.println(JMSEventProducer.class.getCanonicalName() + ": sent event " + jmsMessage.toString());
+        }
+        System.out.println(JMSEventProducer.class.getCanonicalName() + ": completed");
+    }
+
+    public long getEventsSentCount() {
+        return eventsSentCount;
+    }
+
+    public void shutdown() {
+        System.out.println(JMSEventProducer.class.getCanonicalName() + ": stopping");
+
+        stopFlag = true;
+
+        while (producerThread.isAlive()) {
+            ThreadUtilities.sleep(10);
+        }
+
+        System.out.println(JMSEventProducer.class.getCanonicalName() + ": stopped");
+    }
+
+}
diff --git a/testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/adapt/jms/JMSEventSubscriber.java b/testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/adapt/jms/JMSEventSubscriber.java
new file mode 100644 (file)
index 0000000..46455f5
--- /dev/null
@@ -0,0 +1,117 @@
+/*-
+ * ============LICENSE_START=======================================================
+ *  Copyright (C) 2016-2018 Ericsson. 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.
+ * 
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.apex.apps.uservice.test.adapt.jms;
+
+import javax.jms.Connection;
+import javax.jms.ConnectionFactory;
+import javax.jms.JMSException;
+import javax.jms.Message;
+import javax.jms.MessageConsumer;
+import javax.jms.ObjectMessage;
+import javax.jms.Session;
+import javax.jms.TextMessage;
+import javax.jms.Topic;
+
+import org.apache.activemq.command.ActiveMQTopic;
+import org.onap.policy.apex.core.infrastructure.threading.ThreadUtilities;
+import org.onap.policy.apex.service.engine.event.ApexEventException;
+import org.onap.policy.apex.service.engine.event.ApexEventRuntimeException;
+
+/**
+ * @author Liam Fallon (liam.fallon@ericsson.com)
+ */
+public class JMSEventSubscriber implements Runnable {
+    private final String topic;
+    private long eventsReceivedCount = 0;
+
+    private final Thread subscriberThread;
+    private final Connection connection;
+
+
+    public JMSEventSubscriber(final String topic, final ConnectionFactory connectionFactory, final String username,
+            final String password) throws JMSException {
+        this.topic = topic;
+        connection = connectionFactory.createConnection(username, password);
+        connection.start();
+
+        subscriberThread = new Thread(this);
+        subscriberThread.start();
+    }
+
+    @Override
+    public void run() {
+        try {
+            final Topic jmsTopic = new ActiveMQTopic(topic);
+            final Session jmsSession = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
+            final MessageConsumer jmsConsumer = jmsSession.createConsumer(jmsTopic);
+
+            System.out.println(JMSEventSubscriber.class.getCanonicalName()
+                    + ": receiving events from Kafka server on topic " + topic);
+
+            while (subscriberThread.isAlive() && !subscriberThread.isInterrupted()) {
+                try {
+                    final Message message = jmsConsumer.receive(100);
+                    if (message == null) {
+                        continue;
+                    }
+
+                    if (message instanceof ObjectMessage) {
+                        final TestPing testPing = (TestPing) ((ObjectMessage) message).getObject();
+                        System.out.println("Received message: " + testPing.toString());
+                        testPing.verify();
+                    } else if (message instanceof TextMessage) {
+                        final String textMessage = ((TextMessage) message).getText();
+                        System.out.println("Received message: " + textMessage);
+                    } else {
+                        throw new ApexEventException("unknowm message \"" + message + "\" of type \""
+                                + message.getClass().getCanonicalName() + "\" received");
+                    }
+                    eventsReceivedCount++;
+                } catch (final Exception e) {
+                    break;
+                }
+            }
+
+            jmsConsumer.close();
+            jmsSession.close();
+        } catch (final Exception e) {
+            throw new ApexEventRuntimeException("JMS event consumption failed", e);
+        }
+
+        System.out.println(JMSEventSubscriber.class.getCanonicalName() + ": event reception completed");
+    }
+
+    public long getEventsReceivedCount() {
+        return eventsReceivedCount;
+    }
+
+    public void shutdown() throws JMSException {
+        subscriberThread.interrupt();
+
+        while (subscriberThread.isAlive()) {
+            ThreadUtilities.sleep(10);
+        }
+
+        connection.close();
+        System.out.println(JMSEventSubscriber.class.getCanonicalName() + ": stopped");
+    }
+
+}
diff --git a/testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/adapt/jms/TestContext.java b/testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/adapt/jms/TestContext.java
new file mode 100644 (file)
index 0000000..36d689b
--- /dev/null
@@ -0,0 +1,185 @@
+/*-
+ * ============LICENSE_START=======================================================
+ *  Copyright (C) 2016-2018 Ericsson. 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.
+ * 
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.apex.apps.uservice.test.adapt.jms;
+
+import java.util.HashMap;
+import java.util.Hashtable;
+import java.util.Map;
+import java.util.Properties;
+
+import javax.naming.Binding;
+import javax.naming.Context;
+import javax.naming.Name;
+import javax.naming.NameClassPair;
+import javax.naming.NameParser;
+import javax.naming.NamingEnumeration;
+import javax.naming.NamingException;
+
+import org.apache.activemq.command.ActiveMQTopic;
+import org.onap.policy.apex.model.basicmodel.concepts.ApexRuntimeException;
+
+/**
+ * @author Liam Fallon (liam.fallon@ericsson.com)
+ */
+public class TestContext implements Context {
+
+    private Properties testProperties;
+
+    public TestContext() {
+        try {
+            testProperties = new Properties();
+
+            final Map<String, Object> params = new HashMap<String, Object>();
+            params.put("host", "localhost");
+            params.put("port", "5445");
+            testProperties.put("ConnectionFactory", TestJMS2JMS.connectionFactory);
+            testProperties.put("jms/topic/apexIn", new ActiveMQTopic("jms/topic/apexIn"));
+            testProperties.put("jms/topic/apexOut", new ActiveMQTopic("jms/topic/apexOut"));
+        } catch (final Exception e) {
+            e.printStackTrace();
+            throw new ApexRuntimeException("Context initiation failed", e);
+        }
+    }
+
+    @Override
+    public Object lookup(final Name name) throws NamingException {
+        return null;
+    }
+
+    @Override
+    public Object lookup(final String name) throws NamingException {
+        return testProperties.get(name);
+    }
+
+    @Override
+    public void bind(final Name name, final Object obj) throws NamingException {}
+
+    @Override
+    public void bind(final String name, final Object obj) throws NamingException {}
+
+    @Override
+    public void rebind(final Name name, final Object obj) throws NamingException {}
+
+    @Override
+    public void rebind(final String name, final Object obj) throws NamingException {}
+
+    @Override
+    public void unbind(final Name name) throws NamingException {}
+
+    @Override
+    public void unbind(final String name) throws NamingException {}
+
+    @Override
+    public void rename(final Name oldName, final Name newName) throws NamingException {}
+
+    @Override
+    public void rename(final String oldName, final String newName) throws NamingException {}
+
+    @Override
+    public NamingEnumeration<NameClassPair> list(final Name name) throws NamingException {
+        return null;
+    }
+
+    @Override
+    public NamingEnumeration<NameClassPair> list(final String name) throws NamingException {
+        return null;
+    }
+
+    @Override
+    public NamingEnumeration<Binding> listBindings(final Name name) throws NamingException {
+        return null;
+    }
+
+    @Override
+    public NamingEnumeration<Binding> listBindings(final String name) throws NamingException {
+        return null;
+    }
+
+    @Override
+    public void destroySubcontext(final Name name) throws NamingException {}
+
+    @Override
+    public void destroySubcontext(final String name) throws NamingException {}
+
+    @Override
+    public Context createSubcontext(final Name name) throws NamingException {
+        return null;
+    }
+
+    @Override
+    public Context createSubcontext(final String name) throws NamingException {
+        return null;
+    }
+
+    @Override
+    public Object lookupLink(final Name name) throws NamingException {
+        return null;
+    }
+
+    @Override
+    public Object lookupLink(final String name) throws NamingException {
+        return null;
+    }
+
+    @Override
+    public NameParser getNameParser(final Name name) throws NamingException {
+        return null;
+    }
+
+    @Override
+    public NameParser getNameParser(final String name) throws NamingException {
+        return null;
+    }
+
+    @Override
+    public Name composeName(final Name name, final Name prefix) throws NamingException {
+        return null;
+    }
+
+    @Override
+    public String composeName(final String name, final String prefix) throws NamingException {
+        return null;
+    }
+
+    @Override
+    public Object addToEnvironment(final String propName, final Object propVal) throws NamingException {
+        return null;
+    }
+
+    @Override
+    public Object removeFromEnvironment(final String propName) throws NamingException {
+        return null;
+    }
+
+    @Override
+    public Hashtable<?, ?> getEnvironment() throws NamingException {
+        return null;
+    }
+
+    @Override
+    public void close() throws NamingException {}
+
+    @Override
+    public String getNameInNamespace() throws NamingException {
+        return null;
+    }
+
+}
diff --git a/testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/adapt/jms/TestInitialContextFactory.java b/testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/adapt/jms/TestInitialContextFactory.java
new file mode 100644 (file)
index 0000000..6cb8746
--- /dev/null
@@ -0,0 +1,48 @@
+/*-
+ * ============LICENSE_START=======================================================
+ *  Copyright (C) 2016-2018 Ericsson. 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.
+ * 
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.apex.apps.uservice.test.adapt.jms;
+
+import java.util.Hashtable;
+
+import javax.naming.Context;
+import javax.naming.NamingException;
+import javax.naming.spi.InitialContextFactory;
+
+/**
+ * @author Liam Fallon (liam.fallon@ericsson.com)
+ */
+public class TestInitialContextFactory implements InitialContextFactory {
+
+    private final Context context = new TestContext();
+
+    public TestInitialContextFactory() throws NamingException {}
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see javax.naming.spi.InitialContextFactory#getInitialContext(java.util.Hashtable)
+     */
+    @Override
+    public Context getInitialContext(final Hashtable<?, ?> environment) throws NamingException {
+        return context;
+    }
+
+}
diff --git a/testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/adapt/jms/TestJMS2JMS.java b/testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/adapt/jms/TestJMS2JMS.java
new file mode 100644 (file)
index 0000000..ca23292
--- /dev/null
@@ -0,0 +1,150 @@
+/*-
+ * ============LICENSE_START=======================================================
+ *  Copyright (C) 2016-2018 Ericsson. 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.
+ * 
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.apex.apps.uservice.test.adapt.jms;
+
+import static org.junit.Assert.assertTrue;
+
+import java.io.IOException;
+import java.nio.file.Paths;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+import javax.jms.JMSException;
+
+import org.apache.activemq.ActiveMQConnectionFactory;
+import org.apache.activemq.broker.BrokerPlugin;
+import org.apache.activemq.broker.BrokerService;
+import org.apache.activemq.security.AuthenticationUser;
+import org.apache.activemq.security.SimpleAuthenticationPlugin;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.onap.policy.apex.core.infrastructure.threading.ThreadUtilities;
+import org.onap.policy.apex.model.basicmodel.concepts.ApexException;
+import org.onap.policy.apex.service.engine.main.ApexMain;
+import org.slf4j.ext.XLogger;
+import org.slf4j.ext.XLoggerFactory;
+
+public class TestJMS2JMS {
+    private static final String GROUP_ROLE = "guests";
+    private static final String PACKAGE_NAME = "org.onap.policy.apex.apps.uservice.test.adapt.jms";
+    private static final String USERNAME = "guest";
+    private static final String PASSWORD = "IAmAGuest";
+    private static final String JMS_TOPIC_APEX_IN = "jms/topic/apexIn";
+    private static final String JMS_TOPIC_APEX_OUT = "jms/topic/apexOut";
+    private static final String URL = "tcp://localhost:5445";
+
+    private static final String DATA_PARENT_DIR = Paths.get("target", "activemq-data").toString();
+
+    private static final XLogger LOGGER = XLoggerFactory.getXLogger(TestJMS2JMS.class);
+
+    private static final long MAX_TEST_LENGTH = 10000;
+    private static final int EVENT_COUNT = 100;
+    private static final int EVENT_INTERVAL = 20;
+
+    private static BrokerService broker;
+
+    public static ActiveMQConnectionFactory connectionFactory;
+
+
+    @BeforeClass
+    public static void setupEmbeddedJMSServer() throws Exception {
+        final ArrayList<BrokerPlugin> plugins = new ArrayList<BrokerPlugin>();
+        final BrokerPlugin authenticationPlugin = getAuthenticationBrokerPlugin();
+        if (authenticationPlugin != null) {
+            plugins.add(authenticationPlugin);
+        }
+
+        broker = new BrokerService();
+        broker.setUseJmx(false);
+        broker.setPersistent(false);
+        broker.addConnector(URL);
+        broker.setDeleteAllMessagesOnStartup(true);
+        broker.setPlugins(plugins.toArray(new BrokerPlugin[0]));
+        broker.setDataDirectory(DATA_PARENT_DIR);
+        broker.start();
+        broker.waitUntilStarted();
+        connectionFactory = new ActiveMQConnectionFactory(URL);
+        connectionFactory.setTrustedPackages(Arrays.asList(PACKAGE_NAME));
+    }
+
+    private static BrokerPlugin getAuthenticationBrokerPlugin() {
+        final List<AuthenticationUser> users = new ArrayList<AuthenticationUser>();
+        users.add(new AuthenticationUser(USERNAME, PASSWORD, GROUP_ROLE));
+        final SimpleAuthenticationPlugin authenticationPlugin = new SimpleAuthenticationPlugin(users);
+        return authenticationPlugin;
+    }
+
+    @AfterClass
+    public static void shutdownEmbeddedJMSServer() throws IOException {
+        try {
+            if (broker != null) {
+                broker.stop();
+            }
+        } catch (final Exception e) {
+            LOGGER.warn("Failed to stop JMS server", e);
+        }
+
+    }
+
+    @Test
+    public void testJMSObjectEvents() throws ApexException, JMSException {
+        final String[] args = {"src/test/resources/prodcons/JMS2JMSObjectEvent.json"};
+        testJMSEvents(args, true);
+    }
+
+    @Test
+    public void testJMSJsonEvents() throws ApexException, JMSException {
+        final String[] args = {"src/test/resources/prodcons/JMS2JMSJsonEvent.json"};
+        testJMSEvents(args, false);
+    }
+
+    private void testJMSEvents(final String[] args, final Boolean sendObjects) throws ApexException, JMSException {
+        final JMSEventSubscriber subscriber =
+                new JMSEventSubscriber(JMS_TOPIC_APEX_OUT, connectionFactory, USERNAME, PASSWORD);
+        final JMSEventProducer producer = new JMSEventProducer(JMS_TOPIC_APEX_IN, connectionFactory, USERNAME, PASSWORD,
+                EVENT_COUNT, sendObjects, EVENT_INTERVAL);
+
+        final ApexMain apexMain = new ApexMain(args);
+        ThreadUtilities.sleep(3000);
+
+        producer.sendEvents();
+
+        final long testStartTime = System.currentTimeMillis();
+
+        while (System.currentTimeMillis() < testStartTime + MAX_TEST_LENGTH
+                && subscriber.getEventsReceivedCount() < EVENT_COUNT) {
+            ThreadUtilities.sleep(EVENT_INTERVAL);
+        }
+
+        ThreadUtilities.sleep(1000);
+
+        System.out.println("sent event count: " + producer.getEventsSentCount());
+        System.out.println("received event count: " + subscriber.getEventsReceivedCount());
+        assertTrue(subscriber.getEventsReceivedCount() == producer.getEventsSentCount());
+
+        apexMain.shutdown();
+        subscriber.shutdown();
+        producer.shutdown();
+        ThreadUtilities.sleep(1000);
+    }
+}
diff --git a/testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/adapt/jms/TestPing.java b/testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/adapt/jms/TestPing.java
new file mode 100644 (file)
index 0000000..caf6e2f
--- /dev/null
@@ -0,0 +1,97 @@
+/*-
+ * ============LICENSE_START=======================================================
+ *  Copyright (C) 2016-2018 Ericsson. 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.
+ * 
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.apex.apps.uservice.test.adapt.jms;
+
+import java.io.Serializable;
+
+import org.onap.policy.apex.service.engine.event.ApexEventException;
+
+/**
+ * @author Liam Fallon (liam.fallon@ericsson.com)
+ */
+public class TestPing implements Serializable {
+    private static final long serialVersionUID = -3400711508992955886L;
+
+    private String name = "Rose";
+    private String description = "A rose by any other name would smell as sweet";
+    private long pingTime = System.currentTimeMillis();
+    private long pongTime = -1;
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(final String name) {
+        this.name = name;
+    }
+
+    public String getDescription() {
+        return description;
+    }
+
+    public void setDescription(final String description) {
+        this.description = description;
+    }
+
+    public long getPingTime() {
+        return pingTime;
+    }
+
+    public void setPingTime(final long pingTime) {
+        this.pingTime = pingTime;
+    }
+
+    public long getPongTime() {
+        return pongTime;
+    }
+
+    public void setPongTime(final long pongTime) {
+        this.pongTime = pongTime;
+    }
+
+    @Override
+    public String toString() {
+        return "TestPing [name=" + name + ", description=" + description + ", pingTime=" + pingTime + ", pongTime="
+                + pongTime + "]";
+    }
+
+    public void verify() throws ApexEventException {
+        if (!name.startsWith("Rose")) {
+            throw new ApexEventException("TestPing is not valid");
+        }
+
+        if (name.length() <= 4) {
+            throw new ApexEventException("TestPing is not valid");
+        }
+
+        if (!description.startsWith("A rose by any other name would smell as sweet")) {
+            throw new ApexEventException("TestPing is not valid");
+        }
+
+        if (description.length() <= 44) {
+            throw new ApexEventException("TestPing is not valid");
+        }
+
+        if (pongTime <= pingTime) {
+            throw new ApexEventException("TestPing is not valid");
+        }
+    }
+}
diff --git a/testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/adapt/kafka/KafkaEventProducer.java b/testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/adapt/kafka/KafkaEventProducer.java
new file mode 100644 (file)
index 0000000..639b450
--- /dev/null
@@ -0,0 +1,168 @@
+/*-
+ * ============LICENSE_START=======================================================
+ *  Copyright (C) 2016-2018 Ericsson. 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.
+ * 
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.apex.apps.uservice.test.adapt.kafka;
+
+import java.util.Properties;
+import java.util.concurrent.TimeUnit;
+
+import org.apache.kafka.clients.producer.KafkaProducer;
+import org.apache.kafka.clients.producer.Producer;
+import org.apache.kafka.clients.producer.ProducerRecord;
+import org.onap.policy.apex.apps.uservice.test.adapt.events.EventGenerator;
+import org.onap.policy.apex.core.infrastructure.threading.ThreadUtilities;
+
+/**
+ * @author Liam Fallon (liam.fallon@ericsson.com)
+ */
+public class KafkaEventProducer implements Runnable {
+    private final String topic;
+    private final String kafkaServerAddress;
+    private final int eventCount;
+    private final boolean xmlEvents;
+    private final long eventInterval;
+    private long eventsSentCount = 0;
+
+    private Producer<String, String> producer;
+
+    private final Thread producerThread;
+    private boolean sendEventsFlag = false;
+    private boolean stopFlag = false;
+
+    public KafkaEventProducer(final String topic, final String kafkaServerAddress, final int eventCount,
+            final boolean xmlEvents, final long eventInterval) {
+        this.topic = topic;
+        this.kafkaServerAddress = kafkaServerAddress;
+        this.eventCount = eventCount;
+        this.xmlEvents = xmlEvents;
+        this.eventInterval = eventInterval;
+
+        producerThread = new Thread(this);
+        producerThread.start();
+    }
+
+    @Override
+    public void run() {
+        final Properties kafkaProducerProperties = new Properties();
+        kafkaProducerProperties.put("bootstrap.servers", kafkaServerAddress);
+        kafkaProducerProperties.put("acks", "all");
+        kafkaProducerProperties.put("retries", 0);
+        kafkaProducerProperties.put("batch.size", 16384);
+        kafkaProducerProperties.put("linger.ms", 1);
+        kafkaProducerProperties.put("buffer.memory", 33554432);
+        kafkaProducerProperties.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer");
+        kafkaProducerProperties.put("value.serializer", "org.apache.kafka.common.serialization.StringSerializer");
+
+        producer = new KafkaProducer<String, String>(kafkaProducerProperties);
+
+        while (producerThread.isAlive() && !stopFlag) {
+            ThreadUtilities.sleep(50);
+
+            if (sendEventsFlag) {
+                sendEventsToTopic();
+                sendEventsFlag = false;
+            }
+        }
+
+        producer.close(1000, TimeUnit.MILLISECONDS);
+    }
+
+    public void sendEvents() {
+        sendEventsFlag = true;
+    }
+
+    private void sendEventsToTopic() {
+        System.out.println(KafkaEventProducer.class.getCanonicalName() + ": sending events to Kafka server at "
+                + kafkaServerAddress + ", event count " + eventCount + ", xmlEvents " + xmlEvents);
+
+        for (int i = 0; i < eventCount; i++) {
+            System.out.println(KafkaEventProducer.class.getCanonicalName() + ": waiting " + eventInterval
+                    + " milliseconds before sending next event");
+            ThreadUtilities.sleep(eventInterval);
+
+            String eventString = null;
+            if (xmlEvents) {
+                eventString = EventGenerator.xmlEvent();
+            } else {
+                eventString = EventGenerator.jsonEvent();
+            }
+            producer.send(new ProducerRecord<String, String>(topic, "Event" + i + "Of" + eventCount, eventString));
+            producer.flush();
+            eventsSentCount++;
+            System.out.println(KafkaEventProducer.class.getCanonicalName() + ": sent event " + eventString);
+        }
+        System.out.println(KafkaEventProducer.class.getCanonicalName() + ": completed");
+    }
+
+    public long getEventsSentCount() {
+        return eventsSentCount;
+    }
+
+    public void shutdown() {
+        System.out.println(KafkaEventProducer.class.getCanonicalName() + ": stopping");
+
+        stopFlag = true;
+
+        while (producerThread.isAlive()) {
+            ThreadUtilities.sleep(10);
+        }
+
+        System.out.println(KafkaEventProducer.class.getCanonicalName() + ": stopped");
+    }
+
+    public static void main(final String[] args) {
+        if (args.length != 5) {
+            System.err.println("usage KafkaEventProducer topic kafkaServerAddress #events XML|JSON eventInterval");
+            return;
+        }
+
+        int eventCount = 0;
+        try {
+            eventCount = Integer.parseInt(args[2]);
+        } catch (final Exception e) {
+            System.err.println("usage KafkaEventProducer topic kafkaServerAddress #events XML|JSON eventInterval");
+            e.printStackTrace();
+            return;
+        }
+
+        long eventInterval = 0;
+        try {
+            eventInterval = Long.parseLong(args[4]);
+        } catch (final Exception e) {
+            System.err.println("usage KafkaEventProducer topic kafkaServerAddress #events XML|JSON eventInterval");
+            e.printStackTrace();
+            return;
+        }
+
+        boolean xmlEvents = false;
+        if (args[3].equalsIgnoreCase("XML")) {
+            xmlEvents = true;
+        } else if (!args[3].equalsIgnoreCase("JSON")) {
+            System.err.println("usage KafkaEventProducer topic kafkaServerAddress #events XML|JSON eventInterval");
+            return;
+        }
+
+        final KafkaEventProducer producer =
+                new KafkaEventProducer(args[0], args[1], eventCount, xmlEvents, eventInterval);
+
+        producer.sendEvents();
+        producer.shutdown();
+    }
+}
diff --git a/testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/adapt/kafka/KafkaEventSubscriber.java b/testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/adapt/kafka/KafkaEventSubscriber.java
new file mode 100644 (file)
index 0000000..8bdc56d
--- /dev/null
@@ -0,0 +1,111 @@
+/*-
+ * ============LICENSE_START=======================================================
+ *  Copyright (C) 2016-2018 Ericsson. 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.
+ * 
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.apex.apps.uservice.test.adapt.kafka;
+
+import java.util.Arrays;
+import java.util.Properties;
+
+import org.apache.kafka.clients.consumer.ConsumerRecord;
+import org.apache.kafka.clients.consumer.ConsumerRecords;
+import org.apache.kafka.clients.consumer.KafkaConsumer;
+import org.onap.policy.apex.core.infrastructure.messaging.MessagingException;
+import org.onap.policy.apex.core.infrastructure.threading.ThreadUtilities;
+
+/**
+ * @author Liam Fallon (liam.fallon@ericsson.com)
+ */
+public class KafkaEventSubscriber implements Runnable {
+    private final String topic;
+    private final String kafkaServerAddress;
+    private long eventsReceivedCount = 0;
+
+    KafkaConsumer<String, String> consumer;
+
+    Thread subscriberThread;
+
+    public KafkaEventSubscriber(final String topic, final String kafkaServerAddress) throws MessagingException {
+        this.topic = topic;
+        this.kafkaServerAddress = kafkaServerAddress;
+
+        final Properties props = new Properties();
+        props.put("bootstrap.servers", kafkaServerAddress);
+        props.put("group.id", "test");
+        props.put("enable.auto.commit", "true");
+        props.put("auto.commit.interval.ms", "1000");
+        props.put("session.timeout.ms", "30000");
+        props.put("key.deserializer", "org.apache.kafka.common.serialization.StringDeserializer");
+        props.put("value.deserializer", "org.apache.kafka.common.serialization.StringDeserializer");
+
+        consumer = new KafkaConsumer<String, String>(props);
+        consumer.subscribe(Arrays.asList(topic));
+
+        subscriberThread = new Thread(this);
+        subscriberThread.start();
+    }
+
+    @Override
+    public void run() {
+        System.out.println(KafkaEventSubscriber.class.getCanonicalName() + ": receiving events from Kafka server at "
+                + kafkaServerAddress + " on topic " + topic);
+
+        while (subscriberThread.isAlive() && !subscriberThread.isInterrupted()) {
+            try {
+                final ConsumerRecords<String, String> records = consumer.poll(100);
+                for (final ConsumerRecord<String, String> record : records) {
+                    System.out.println("******");
+                    System.out.println("offset=" + record.offset());
+                    System.out.println("key=" + record.key());
+                    System.out.println("name=" + record.value());
+                    eventsReceivedCount++;
+                }
+            } catch (final Exception e) {
+                // Thread interrupted
+                break;
+            }
+        }
+
+        System.out.println(KafkaEventSubscriber.class.getCanonicalName() + ": event reception completed");
+    }
+
+    public long getEventsReceivedCount() {
+        return eventsReceivedCount;
+    }
+
+    public void shutdown() {
+        subscriberThread.interrupt();
+
+        while (subscriberThread.isAlive()) {
+            ThreadUtilities.sleep(10);
+        }
+
+        consumer.close();
+        System.out.println(KafkaEventSubscriber.class.getCanonicalName() + ": stopped");
+    }
+
+
+    public static void main(final String[] args) throws MessagingException {
+        if (args.length != 2) {
+            System.err.println("usage KafkaEventSubscriber topic kafkaServerAddress");
+            return;
+        }
+        new KafkaEventSubscriber(args[0], args[1]);
+    }
+}
diff --git a/testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/adapt/kafka/TestKafka2Kafka.java b/testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/adapt/kafka/TestKafka2Kafka.java
new file mode 100644 (file)
index 0000000..0874d98
--- /dev/null
@@ -0,0 +1,141 @@
+/*-
+ * ============LICENSE_START=======================================================
+ *  Copyright (C) 2016-2018 Ericsson. 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.
+ * 
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.apex.apps.uservice.test.adapt.kafka;
+
+import static org.junit.Assert.assertTrue;
+
+import java.io.IOException;
+import java.nio.file.Files;
+import java.util.Properties;
+
+import org.I0Itec.zkclient.ZkClient;
+import org.apache.kafka.common.utils.MockTime;
+import org.apache.kafka.common.utils.Time;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.onap.policy.apex.core.infrastructure.messaging.MessagingException;
+import org.onap.policy.apex.core.infrastructure.threading.ThreadUtilities;
+import org.onap.policy.apex.model.basicmodel.concepts.ApexException;
+import org.onap.policy.apex.service.engine.main.ApexMain;
+
+import kafka.admin.AdminUtils;
+import kafka.admin.RackAwareMode;
+import kafka.server.KafkaConfig;
+import kafka.server.KafkaServer;
+import kafka.utils.TestUtils;
+import kafka.utils.ZKStringSerializer$;
+import kafka.utils.ZkUtils;
+import kafka.zk.EmbeddedZookeeper;
+
+
+public class TestKafka2Kafka {
+    // The method of starting an embedded Kafka server used in this example is based on the method
+    // on slashdot at
+    // https://github.com/asmaier/mini-kafka
+
+    private static final long MAX_TEST_LENGTH = 10000;
+
+    private static final int EVENT_COUNT = 100;
+    private static final int EVENT_INTERVAL = 20;
+
+    private static final String ZKHOST = "127.0.0.1";
+    private static final String BROKERHOST = "127.0.0.1";
+    private static final String BROKERPORT = "39902";
+
+    private static EmbeddedZookeeper zkServer;
+    private static ZkClient zkClient;
+    private static KafkaServer kafkaServer;
+
+    @BeforeClass
+    public static void setupDummyKafkaServer() throws IOException {
+        // setup Zookeeper
+        zkServer = new EmbeddedZookeeper();
+        final String zkConnect = ZKHOST + ":" + zkServer.port();
+        zkClient = new ZkClient(zkConnect, 30000, 30000, ZKStringSerializer$.MODULE$);
+        final ZkUtils zkUtils = ZkUtils.apply(zkClient, false);
+
+        // setup Broker
+        final Properties brokerProps = new Properties();
+        brokerProps.setProperty("zookeeper.connect", zkConnect);
+        brokerProps.setProperty("broker.id", "0");
+        brokerProps.setProperty("log.dirs", Files.createTempDirectory("kafka-").toAbsolutePath().toString());
+        brokerProps.setProperty("listeners", "PLAINTEXT://" + BROKERHOST + ":" + BROKERPORT);
+        final KafkaConfig config = new KafkaConfig(brokerProps);
+        final Time mock = new MockTime();
+        kafkaServer = TestUtils.createServer(config, mock);
+
+        // create topics
+        AdminUtils.createTopic(zkUtils, "apex-in-0", 1, 1, new Properties(), RackAwareMode.Disabled$.MODULE$);
+        AdminUtils.createTopic(zkUtils, "apex-in-1", 1, 1, new Properties(), RackAwareMode.Disabled$.MODULE$);
+        AdminUtils.createTopic(zkUtils, "apex-out", 1, 1, new Properties(), RackAwareMode.Disabled$.MODULE$);
+    }
+
+    @AfterClass
+    public static void shutdownDummyKafkaServer() throws IOException {
+        kafkaServer.shutdown();
+        zkClient.close();
+        zkServer.shutdown();
+    }
+
+    @Test
+    public void testJsonKafkaEvents() throws MessagingException, ApexException {
+        final String[] args = {"src/test/resources/prodcons/Kafka2KafkaJsonEvent.json"};
+        testKafkaEvents(args, false, "json");
+    }
+
+    @Test
+    public void testXMLKafkaEvents() throws MessagingException, ApexException {
+        final String[] args = {"src/test/resources/prodcons/Kafka2KafkaXmlEvent.json"};
+        testKafkaEvents(args, true, "xml");
+    }
+
+    private void testKafkaEvents(final String[] args, final Boolean xmlEvents, final String topicSuffix)
+            throws MessagingException, ApexException {
+        final KafkaEventSubscriber subscriber =
+                new KafkaEventSubscriber("apex-out-" + topicSuffix, "localhost:" + BROKERPORT);
+        final KafkaEventProducer producer = new KafkaEventProducer("apex-in-" + topicSuffix, "localhost:" + BROKERPORT,
+                EVENT_COUNT, xmlEvents, EVENT_INTERVAL);
+
+        final ApexMain apexMain = new ApexMain(args);
+        ThreadUtilities.sleep(3000);
+
+        producer.sendEvents();
+
+        final long testStartTime = System.currentTimeMillis();
+
+        while (System.currentTimeMillis() < testStartTime + MAX_TEST_LENGTH
+                && subscriber.getEventsReceivedCount() < EVENT_COUNT) {
+            ThreadUtilities.sleep(EVENT_INTERVAL);
+        }
+
+        ThreadUtilities.sleep(1000);
+
+        System.out.println("sent event count: " + producer.getEventsSentCount());
+        System.out.println("received event count: " + subscriber.getEventsReceivedCount());
+        assertTrue(subscriber.getEventsReceivedCount() == producer.getEventsSentCount());
+
+        apexMain.shutdown();
+        subscriber.shutdown();
+        producer.shutdown();
+        ThreadUtilities.sleep(1000);
+    }
+}
diff --git a/testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/adapt/kafka/TestKafkaXMLEventProducer.java b/testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/adapt/kafka/TestKafkaXMLEventProducer.java
new file mode 100644 (file)
index 0000000..80b4aef
--- /dev/null
@@ -0,0 +1,63 @@
+/*-
+ * ============LICENSE_START=======================================================
+ *  Copyright (C) 2016-2018 Ericsson. 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.
+ * 
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.apex.apps.uservice.test.adapt.kafka;
+
+import java.util.Properties;
+
+import org.apache.kafka.clients.producer.KafkaProducer;
+import org.apache.kafka.clients.producer.Producer;
+import org.apache.kafka.clients.producer.ProducerRecord;
+import org.onap.policy.apex.plugins.event.protocol.xml.jaxb.XMLApexEvent;
+import org.onap.policy.apex.plugins.event.protocol.xml.jaxb.XMLApexEventData;
+
+/**
+ * @author Liam Fallon (liam.fallon@ericsson.com)
+ */
+public class TestKafkaXMLEventProducer {
+
+    public static void main(final String[] args) {
+        final Properties props = new Properties();
+        props.put("bootstrap.servers", "localhost:49092");
+        props.put("acks", "all");
+        props.put("retries", 0);
+        props.put("batch.size", 16384);
+        props.put("linger.ms", 1);
+        props.put("buffer.memory", 33554432);
+        props.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer");
+        props.put("value.serializer", "org.apache.kafka.common.serialization.StringSerializer");
+
+        final XMLApexEvent xmlEvent = new XMLApexEvent();
+        xmlEvent.setName("XMLEvent-1");
+        xmlEvent.setVersion("0.0.1");
+        xmlEvent.getData().add(new XMLApexEventData("Data-1", "Data Value -1"));
+
+        final Producer<String, String> producer = new KafkaProducer<String, String>(props);
+        for (int i = 0; i < 100; i++) {
+            xmlEvent.setName("XMLEvent" + Integer.toString(i));
+            xmlEvent.setVersion("0.0.1");
+            xmlEvent.getData()
+                    .add(new XMLApexEventData("Data" + Integer.toString(i), "Data Value " + Integer.toString(i)));
+
+            producer.send(new ProducerRecord<String, String>("apex-in-0", xmlEvent.getName(), xmlEvent.toString()));
+        }
+        producer.close();
+    }
+}
diff --git a/testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/adapt/restclient/TestFile2REST.java b/testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/adapt/restclient/TestFile2REST.java
new file mode 100644 (file)
index 0000000..d304eb9
--- /dev/null
@@ -0,0 +1,205 @@
+/*-
+ * ============LICENSE_START=======================================================
+ *  Copyright (C) 2016-2018 Ericsson. 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.
+ * 
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.apex.apps.uservice.test.adapt.restclient;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.PrintStream;
+import java.net.URI;
+import java.util.Map;
+
+import javax.ws.rs.client.Client;
+import javax.ws.rs.client.ClientBuilder;
+import javax.ws.rs.core.Response;
+
+import org.glassfish.grizzly.http.server.HttpServer;
+import org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpServerFactory;
+import org.glassfish.jersey.server.ResourceConfig;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.onap.policy.apex.core.infrastructure.messaging.MessagingException;
+import org.onap.policy.apex.core.infrastructure.threading.ThreadUtilities;
+import org.onap.policy.apex.model.basicmodel.concepts.ApexException;
+import org.onap.policy.apex.service.engine.main.ApexMain;
+
+import com.google.gson.Gson;
+
+
+public class TestFile2REST {
+    private static final String BASE_URI = "http://localhost:32801/TestFile2Rest";
+    private static HttpServer server;
+
+    private final ByteArrayOutputStream outContent = new ByteArrayOutputStream();
+    private final ByteArrayOutputStream errContent = new ByteArrayOutputStream();
+
+    private final PrintStream stdout = System.out;
+    private final PrintStream stderr = System.err;
+
+    @BeforeClass
+    public static void setUp() throws Exception {
+        final ResourceConfig rc = new ResourceConfig(TestRESTClientEndpoint.class);
+        server = GrizzlyHttpServerFactory.createHttpServer(URI.create(BASE_URI), rc);
+
+        while (!server.isStarted()) {
+            ThreadUtilities.sleep(50);
+        }
+    }
+
+    @AfterClass
+    public static void tearDown() throws Exception {
+        server.shutdown();
+    }
+
+    @Test
+    public void testFileEventsPost() throws MessagingException, ApexException, IOException {
+        final Client client = ClientBuilder.newClient();
+
+        final String[] args = {"src/test/resources/prodcons/File2RESTJsonEventPost.json"};
+        final ApexMain apexMain = new ApexMain(args);
+
+        // Wait for the required amount of events to be received or for 10 seconds
+        for (int i = 0; i < 100; i++) {
+            ThreadUtilities.sleep(100);
+            final Response response = client.target("http://localhost:32801/TestFile2Rest/apex/event/Stats")
+                    .request("application/json").get();
+
+            assertEquals(Response.Status.OK.getStatusCode(), response.getStatus());
+            final String responseString = response.readEntity(String.class);
+
+            @SuppressWarnings("unchecked")
+            final Map<String, Object> jsonMap = new Gson().fromJson(responseString, Map.class);
+            if ((double) jsonMap.get("POST") == 100) {
+                break;
+            }
+        }
+
+        apexMain.shutdown();
+    }
+
+    @Test
+    public void testFileEventsPut() throws MessagingException, ApexException, IOException {
+        final String[] args = {"src/test/resources/prodcons/File2RESTJsonEventPut.json"};
+        final ApexMain apexMain = new ApexMain(args);
+
+        final Client client = ClientBuilder.newClient();
+
+        // Wait for the required amount of events to be received or for 10 seconds
+        for (int i = 0; i < 100; i++) {
+            ThreadUtilities.sleep(100);
+            final Response response = client.target("http://localhost:32801/TestFile2Rest/apex/event/Stats")
+                    .request("application/json").get();
+
+            assertEquals(Response.Status.OK.getStatusCode(), response.getStatus());
+            final String responseString = response.readEntity(String.class);
+
+            @SuppressWarnings("unchecked")
+            final Map<String, Object> jsonMap = new Gson().fromJson(responseString, Map.class);
+            if ((double) jsonMap.get("PUT") == 100) {
+                break;
+            }
+        }
+
+        apexMain.shutdown();
+    }
+
+    @Test
+    public void testFileEventsNoURL() throws MessagingException, ApexException, IOException {
+        System.setOut(new PrintStream(outContent));
+        System.setErr(new PrintStream(errContent));
+
+        final String[] args = {"src/test/resources/prodcons/File2RESTJsonEventNoURL.json"};
+        final ApexMain apexMain = new ApexMain(args);
+
+        ThreadUtilities.sleep(200);
+        apexMain.shutdown();
+
+        final String outString = outContent.toString();
+
+        System.setOut(stdout);
+        System.setErr(stderr);
+
+        assertTrue(outString.contains("  no URL has been set for event sending on REST client"));
+    }
+
+    @Test
+    public void testFileEventsBadURL() throws MessagingException, ApexException, IOException {
+        System.setOut(new PrintStream(outContent));
+        System.setErr(new PrintStream(errContent));
+
+        final String[] args = {"src/test/resources/prodcons/File2RESTJsonEventBadURL.json"};
+        final ApexMain apexMain = new ApexMain(args);
+
+        ThreadUtilities.sleep(200);
+        apexMain.shutdown();
+
+        final String outString = outContent.toString();
+
+        System.setOut(stdout);
+        System.setErr(stderr);
+
+        assertTrue(outString.contains(
+                "send of event to URL \"http://localhost:32801/TestFile2Rest/apex/event/Bad\" using HTTP \"POST\" failed with status code 404"));
+    }
+
+    @Test
+    public void testFileEventsBadHTTPMethod() throws MessagingException, ApexException, IOException {
+        System.setOut(new PrintStream(outContent));
+        System.setErr(new PrintStream(errContent));
+
+        final String[] args = {"src/test/resources/prodcons/File2RESTJsonEventBadHTTPMethod.json"};
+        final ApexMain apexMain = new ApexMain(args);
+
+        ThreadUtilities.sleep(200);
+        apexMain.shutdown();
+
+        final String outString = outContent.toString();
+
+        System.setOut(stdout);
+        System.setErr(stderr);
+
+        assertTrue(outString.contains(
+                "specified HTTP method of \"DELETE\" is invalid, only HTTP methods \"POST\" and \"PUT\" are supproted for event sending on REST client producer"));
+    }
+
+    @Test
+    public void testFileEventsBadResponse() throws MessagingException, ApexException, IOException {
+        System.setOut(new PrintStream(outContent));
+        System.setErr(new PrintStream(errContent));
+
+        final String[] args = {"src/test/resources/prodcons/File2RESTJsonEventPostBadResponse.json"};
+        final ApexMain apexMain = new ApexMain(args);
+
+        ThreadUtilities.sleep(500);
+        apexMain.shutdown();
+
+        final String outString = outContent.toString();
+
+        System.setOut(stdout);
+        System.setErr(stderr);
+
+        assertTrue(outString.contains(
+                "send of event to URL \"http://localhost:32801/TestFile2Rest/apex/event/PostEventBadResponse\" using HTTP \"POST\" failed with status code 400"));
+    }
+}
diff --git a/testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/adapt/restclient/TestREST2File.java b/testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/adapt/restclient/TestREST2File.java
new file mode 100644 (file)
index 0000000..f8898a7
--- /dev/null
@@ -0,0 +1,188 @@
+/*-
+ * ============LICENSE_START=======================================================
+ *  Copyright (C) 2016-2018 Ericsson. 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.
+ * 
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.apex.apps.uservice.test.adapt.restclient;
+
+import static org.junit.Assert.assertTrue;
+
+import java.io.ByteArrayOutputStream;
+import java.io.File;
+import java.io.IOException;
+import java.io.PrintStream;
+import java.net.URI;
+
+import org.glassfish.grizzly.http.server.HttpServer;
+import org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpServerFactory;
+import org.glassfish.jersey.server.ResourceConfig;
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.Test;
+import org.onap.policy.apex.core.infrastructure.messaging.MessagingException;
+import org.onap.policy.apex.core.infrastructure.threading.ThreadUtilities;
+import org.onap.policy.apex.model.basicmodel.concepts.ApexException;
+import org.onap.policy.apex.model.utilities.TextFileUtils;
+import org.onap.policy.apex.service.engine.main.ApexMain;
+
+
+public class TestREST2File {
+
+    private static final String BASE_URI = "http://localhost:32801/TestRest2File";
+    private HttpServer server;
+
+    private final ByteArrayOutputStream outContent = new ByteArrayOutputStream();
+    private final ByteArrayOutputStream errContent = new ByteArrayOutputStream();
+
+    private final PrintStream stdout = System.out;
+    private final PrintStream stderr = System.err;
+
+    @Before
+    public void setUp() throws Exception {
+        final ResourceConfig rc = new ResourceConfig(TestRESTClientEndpoint.class);
+        server = GrizzlyHttpServerFactory.createHttpServer(URI.create(BASE_URI), rc);
+
+        while (!server.isStarted()) {
+            ThreadUtilities.sleep(50);
+        }
+    }
+
+    @After
+    public void tearDown() throws Exception {
+        server.shutdown();
+    }
+
+    @AfterClass
+    public static void deleteTempFiles() {
+        new File("src/test/resources/events/EventsOut.json").delete();
+    }
+
+    @Test
+    public void testRESTEventsIn() throws MessagingException, ApexException, IOException {
+        final String[] args = {"src/test/resources/prodcons/REST2FileJsonEvent.json"};
+
+        final ApexMain apexMain = new ApexMain(args);
+
+        ThreadUtilities.sleep(1000);
+        apexMain.shutdown();
+
+        final String outputEventText = TextFileUtils.getTextFileAsString("src/test/resources/events/EventsOut.json");
+        assertTrue(outputEventText.contains(
+                "04\",\n" + "  \"version\": \"0.0.1\",\n" + "  \"nameSpace\": \"org.onap.policy.apex.sample.events\""));
+    }
+
+    @Test
+    public void testFileEmptyEvents() throws MessagingException, ApexException, IOException {
+        System.setOut(new PrintStream(outContent));
+        System.setErr(new PrintStream(errContent));
+
+        final String[] args = {"src/test/resources/prodcons/REST2FileJsonEmptyEvents.json"};
+        final ApexMain apexMain = new ApexMain(args);
+
+        ThreadUtilities.sleep(1000);
+        apexMain.shutdown();
+
+        final String outString = outContent.toString();
+
+        System.setOut(stdout);
+        System.setErr(stderr);
+
+        assertTrue(outString.contains(
+                "received an empty event from URL \"http://localhost:32801/TestRest2File/apex/event/GetEmptyEvent\""));
+    }
+
+    @Test
+    public void testFileEventsNoURL() throws MessagingException, ApexException, IOException {
+        System.setOut(new PrintStream(outContent));
+        System.setErr(new PrintStream(errContent));
+
+        final String[] args = {"src/test/resources/prodcons/REST2FileJsonEventNoURL.json"};
+        final ApexMain apexMain = new ApexMain(args);
+
+        ThreadUtilities.sleep(1000);
+        apexMain.shutdown();
+
+        final String outString = outContent.toString();
+
+        System.setOut(stdout);
+        System.setErr(stderr);
+
+        assertTrue(outString.contains("  no URL has been set for event sending on REST client"));
+    }
+
+    @Test
+    public void testFileEventsBadURL() throws MessagingException, ApexException, IOException {
+        System.setOut(new PrintStream(outContent));
+        System.setErr(new PrintStream(errContent));
+
+        final String[] args = {"src/test/resources/prodcons/REST2FileJsonEventBadURL.json"};
+        final ApexMain apexMain = new ApexMain(args);
+
+        ThreadUtilities.sleep(1000);
+        apexMain.shutdown();
+
+        final String outString = outContent.toString();
+
+        System.setOut(stdout);
+        System.setErr(stderr);
+
+        assertTrue(outString.contains(
+                "reception of event from URL \"http://localhost:32801/TestRest2File/apex/event/Bad\" failed with status code 404"));
+    }
+
+    @Test
+    public void testFileEventsBadHTTPMethod() throws MessagingException, ApexException, IOException {
+        System.setOut(new PrintStream(outContent));
+        System.setErr(new PrintStream(errContent));
+
+        final String[] args = {"src/test/resources/prodcons/REST2FileJsonEventBadHTTPMethod.json"};
+        final ApexMain apexMain = new ApexMain(args);
+
+        ThreadUtilities.sleep(1000);
+        apexMain.shutdown();
+
+        final String outString = outContent.toString();
+
+        System.setOut(stdout);
+        System.setErr(stderr);
+
+        assertTrue(outString.contains(
+                "specified HTTP method of \"POST\" is invalid, only HTTP method \"GET\" is supported for event reception on REST client consumer"));
+    }
+
+    @Test
+    public void testFileEventsBadResponse() throws MessagingException, ApexException, IOException {
+        System.setOut(new PrintStream(outContent));
+        System.setErr(new PrintStream(errContent));
+
+        final String[] args = {"src/test/resources/prodcons/REST2FileJsonEventBadResponse.json"};
+        final ApexMain apexMain = new ApexMain(args);
+
+        ThreadUtilities.sleep(1000);
+        apexMain.shutdown();
+
+        final String outString = outContent.toString();
+
+        System.setOut(stdout);
+        System.setErr(stderr);
+
+        assertTrue(outString.contains(
+                "reception of event from URL \"http://localhost:32801/TestRest2File/apex/event/GetEventBadResponse\" failed with status code 400 and message \"\""));
+    }
+}
diff --git a/testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/adapt/restclient/TestRESTClientEndpoint.java b/testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/adapt/restclient/TestRESTClientEndpoint.java
new file mode 100644 (file)
index 0000000..79634eb
--- /dev/null
@@ -0,0 +1,123 @@
+/*-
+ * ============LICENSE_START=======================================================
+ *  Copyright (C) 2016-2018 Ericsson. 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.
+ * 
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.apex.apps.uservice.test.adapt.restclient;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+import java.util.Map;
+import java.util.Random;
+
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.PUT;
+import javax.ws.rs.Path;
+import javax.ws.rs.core.Response;
+
+import com.google.gson.Gson;
+
+
+@Path("/apex")
+public class TestRESTClientEndpoint {
+
+    private static int postMessagesReceived = 0;
+    private static int putMessagesReceived = 0;
+    private static int statMessagesReceived = 0;
+    private static int getMessagesReceived = 0;
+
+    @Path("/event/Stats")
+    @GET
+    public Response serviceGetStats() {
+        statMessagesReceived++;
+        return Response.status(200).entity("{\"GET\": " + getMessagesReceived + ",\"STAT\": " + statMessagesReceived
+                + ",\"POST\": " + postMessagesReceived + ",\"PUT\": " + putMessagesReceived + "}").build();
+    }
+
+    @Path("/event/GetEvent")
+    @GET
+    public Response serviceGetEvent() {
+        final Random rand = new Random();
+        final int nextMatchCase = rand.nextInt(4);
+        final String nextEventName = "Event0" + rand.nextInt(2) + "00";
+
+        final String eventString = "{\n" + "\"nameSpace\": \"org.onap.policy.apex.sample.events\",\n" + "\"name\": \""
+                + nextEventName + "\",\n" + "\"version\": \"0.0.1\",\n" + "\"source\": \"REST_" + getMessagesReceived
+                + "\",\n" + "\"target\": \"apex\",\n" + "\"TestSlogan\": \"Test slogan for External Event0\",\n"
+                + "\"TestMatchCase\": " + nextMatchCase + ",\n" + "\"TestTimestamp\": " + System.currentTimeMillis()
+                + ",\n" + "\"TestTemperature\": 9080.866\n" + "}";
+
+        getMessagesReceived++;
+
+        return Response.status(200).entity(eventString).build();
+    }
+
+    @Path("/event/GetEmptyEvent")
+    @GET
+    public Response serviceGetEmptyEvent() {
+        return Response.status(200).build();
+    }
+
+    @Path("/event/GetEventBadResponse")
+    @GET
+    public Response serviceGetEventBadResponse() {
+        return Response.status(400).build();
+    }
+
+    @Path("/event/PostEvent")
+    @POST
+    public Response servicePostRequest(final String jsonString) {
+        postMessagesReceived++;
+
+        @SuppressWarnings("unchecked")
+        final Map<String, Object> jsonMap = new Gson().fromJson(jsonString, Map.class);
+        assertTrue(jsonMap.containsKey("name"));
+        assertEquals("0.0.1", jsonMap.get("version"));
+        assertEquals("org.onap.policy.apex.sample.events", jsonMap.get("nameSpace"));
+        assertEquals("Act", jsonMap.get("source"));
+        assertEquals("Outside", jsonMap.get("target"));
+
+        return Response.status(200).entity("{\"GET\": , " + getMessagesReceived + ",\"STAT\": " + statMessagesReceived
+                + ",\"POST\": , " + postMessagesReceived + ",\"PUT\": " + putMessagesReceived + "}").build();
+    }
+
+    @Path("/event/PostEventBadResponse")
+    @POST
+    public Response servicePostRequestBadResponse(final String jsonString) {
+        return Response.status(400).build();
+    }
+
+    @Path("/event/PutEvent")
+    @PUT
+    public Response servicePutRequest(final String jsonString) {
+        putMessagesReceived++;
+
+        @SuppressWarnings("unchecked")
+        final Map<String, Object> jsonMap = new Gson().fromJson(jsonString, Map.class);
+        assertTrue(jsonMap.containsKey("name"));
+        assertEquals("0.0.1", jsonMap.get("version"));
+        assertEquals("org.onap.policy.apex.sample.events", jsonMap.get("nameSpace"));
+        assertEquals("Act", jsonMap.get("source"));
+        assertEquals("Outside", jsonMap.get("target"));
+
+        return Response.status(200).entity("{\"GET\": , " + getMessagesReceived + ",\"STAT\": " + statMessagesReceived
+                + ",\"POST\": , " + postMessagesReceived + ",\"PUT\": " + putMessagesReceived + "}").build();
+    }
+}
diff --git a/testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/adapt/restserver/TestRESTServer.java b/testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/adapt/restserver/TestRESTServer.java
new file mode 100644 (file)
index 0000000..5ac7146
--- /dev/null
@@ -0,0 +1,324 @@
+/*-
+ * ============LICENSE_START=======================================================
+ *  Copyright (C) 2016-2018 Ericsson. 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.
+ * 
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.apex.apps.uservice.test.adapt.restserver;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.PrintStream;
+import java.util.Map;
+import java.util.Random;
+
+import javax.ws.rs.client.Client;
+import javax.ws.rs.client.ClientBuilder;
+import javax.ws.rs.client.Entity;
+import javax.ws.rs.core.Response;
+
+import org.junit.Test;
+import org.onap.policy.apex.core.infrastructure.messaging.MessagingException;
+import org.onap.policy.apex.core.infrastructure.threading.ThreadUtilities;
+import org.onap.policy.apex.model.basicmodel.concepts.ApexException;
+import org.onap.policy.apex.service.engine.main.ApexMain;
+
+import com.google.gson.Gson;
+
+
+public class TestRESTServer {
+    private final ByteArrayOutputStream outContent = new ByteArrayOutputStream();
+    private final ByteArrayOutputStream errContent = new ByteArrayOutputStream();
+
+    private final PrintStream stdout = System.out;
+    private final PrintStream stderr = System.err;
+
+    private static int eventsSent = 0;
+
+    @Test
+    public void testRESTServerPut() throws MessagingException, ApexException, IOException {
+        final String[] args = {"src/test/resources/prodcons/RESTServerJsonEvent.json"};
+        final ApexMain apexMain = new ApexMain(args);
+
+        final Client client = ClientBuilder.newClient();
+
+        // Wait for the required amount of events to be received or for 10 seconds
+        for (int i = 0; i < 20; i++) {
+            ThreadUtilities.sleep(100);
+
+            final Response response = client.target("http://localhost:23324/apex/FirstConsumer/EventIn")
+                    .request("application/json").put(Entity.json(getEvent()));
+
+            assertEquals(Response.Status.OK.getStatusCode(), response.getStatus());
+            final String responseString = response.readEntity(String.class);
+
+            @SuppressWarnings("unchecked")
+            final Map<String, Object> jsonMap = new Gson().fromJson(responseString, Map.class);
+            assertEquals("org.onap.policy.apex.sample.events", jsonMap.get("nameSpace"));
+            assertEquals("Test slogan for External Event0", jsonMap.get("TestSlogan"));
+        }
+
+        apexMain.shutdown();
+    }
+
+    @Test
+    public void testRESTServerPost() throws MessagingException, ApexException, IOException {
+        final String[] args = {"src/test/resources/prodcons/RESTServerJsonEvent.json"};
+        final ApexMain apexMain = new ApexMain(args);
+
+        final Client client = ClientBuilder.newClient();
+
+        // Wait for the required amount of events to be received or for 10 seconds
+        for (int i = 0; i < 20; i++) {
+            ThreadUtilities.sleep(100);
+
+            final Response response = client.target("http://localhost:23324/apex/FirstConsumer/EventIn")
+                    .request("application/json").post(Entity.json(getEvent()));
+
+            assertEquals(Response.Status.OK.getStatusCode(), response.getStatus());
+            final String responseString = response.readEntity(String.class);
+
+            @SuppressWarnings("unchecked")
+            final Map<String, Object> jsonMap = new Gson().fromJson(responseString, Map.class);
+            assertEquals("org.onap.policy.apex.sample.events", jsonMap.get("nameSpace"));
+            assertEquals("Test slogan for External Event0", jsonMap.get("TestSlogan"));
+        }
+
+        apexMain.shutdown();
+    }
+
+    @Test
+    public void testRESTServerMultiInputs() throws MessagingException, ApexException, IOException {
+        final String[] args = {"src/test/resources/prodcons/RESTServerJsonEventMultiIn.json"};
+        final ApexMain apexMain = new ApexMain(args);
+
+        final Client client = ClientBuilder.newClient();
+
+        // Wait for the required amount of events to be received or for 10 seconds
+        for (int i = 0; i < 20; i++) {
+            ThreadUtilities.sleep(100);
+
+            final Response firstResponse = client.target("http://localhost:23324/apex/FirstConsumer/EventIn")
+                    .request("application/json").post(Entity.json(getEvent()));
+
+            assertEquals(Response.Status.OK.getStatusCode(), firstResponse.getStatus());
+            final String firstResponseString = firstResponse.readEntity(String.class);
+
+            @SuppressWarnings("unchecked")
+            final Map<String, Object> firstJsonMap = new Gson().fromJson(firstResponseString, Map.class);
+            assertEquals("org.onap.policy.apex.sample.events", firstJsonMap.get("nameSpace"));
+            assertEquals("Test slogan for External Event0", firstJsonMap.get("TestSlogan"));
+
+            final Response secondResponse = client.target("http://localhost:23324/apex/SecondConsumer/EventIn")
+                    .request("application/json").post(Entity.json(getEvent()));
+
+            assertEquals(Response.Status.OK.getStatusCode(), secondResponse.getStatus());
+            final String secondResponseString = secondResponse.readEntity(String.class);
+
+            @SuppressWarnings("unchecked")
+            final Map<String, Object> secondJsonMap = new Gson().fromJson(secondResponseString, Map.class);
+            assertEquals("org.onap.policy.apex.sample.events", secondJsonMap.get("nameSpace"));
+            assertEquals("Test slogan for External Event0", secondJsonMap.get("TestSlogan"));
+        }
+
+        apexMain.shutdown();
+    }
+
+    @Test
+    public void testRESTServerProducerStandalone() throws MessagingException, ApexException, IOException {
+        System.setOut(new PrintStream(outContent));
+        System.setErr(new PrintStream(errContent));
+
+        final String[] args = {"src/test/resources/prodcons/RESTServerJsonEventProducerStandalone.json"};
+
+        final ApexMain apexMain = new ApexMain(args);
+        ThreadUtilities.sleep(200);
+        apexMain.shutdown();
+
+        final String outString = outContent.toString();
+
+        System.setOut(stdout);
+        System.setErr(stderr);
+
+        assertTrue(outString
+                .contains("the parameters \"host\", \"port\", and \"standalone\" are illegal on REST Server producer"));
+    }
+
+    @Test
+    public void testRESTServerProducerHost() throws MessagingException, ApexException, IOException {
+        System.setOut(new PrintStream(outContent));
+        System.setErr(new PrintStream(errContent));
+
+        final String[] args = {"src/test/resources/prodcons/RESTServerJsonEventProducerHost.json"};
+
+        final ApexMain apexMain = new ApexMain(args);
+        ThreadUtilities.sleep(200);
+        apexMain.shutdown();
+
+        final String outString = outContent.toString();
+
+        System.setOut(stdout);
+        System.setErr(stderr);
+
+        assertTrue(outString.contains("  host and port are specified only in standalone mode"));
+    }
+
+    @Test
+    public void testRESTServerProducerPort() throws MessagingException, ApexException, IOException {
+        System.setOut(new PrintStream(outContent));
+        System.setErr(new PrintStream(errContent));
+
+        final String[] args = {"src/test/resources/prodcons/RESTServerJsonEventProducerPort.json"};
+
+        final ApexMain apexMain = new ApexMain(args);
+        ThreadUtilities.sleep(200);
+        apexMain.shutdown();
+
+        final String outString = outContent.toString();
+
+        System.setOut(stdout);
+        System.setErr(stderr);
+
+        assertTrue(outString.contains("  host and port are specified only in standalone mode"));
+    }
+
+    @Test
+    public void testRESTServerConsumerStandaloneNoHost() throws MessagingException, ApexException, IOException {
+        System.setOut(new PrintStream(outContent));
+        System.setErr(new PrintStream(errContent));
+
+        final String[] args = {"src/test/resources/prodcons/RESTServerJsonEventConsumerStandaloneNoHost.json"};
+
+        final ApexMain apexMain = new ApexMain(args);
+        ThreadUtilities.sleep(200);
+        apexMain.shutdown();
+
+        final String outString = outContent.toString();
+
+        System.setOut(stdout);
+        System.setErr(stderr);
+
+        assertTrue(outString.contains(
+                "the parameters \"host\" and \"port\" must be defined for REST Server consumer (FirstConsumer) in standalone mode"));
+    }
+
+    @Test
+    public void testRESTServerConsumerStandaloneNoPort() throws MessagingException, ApexException, IOException {
+        System.setOut(new PrintStream(outContent));
+        System.setErr(new PrintStream(errContent));
+
+        final String[] args = {"src/test/resources/prodcons/RESTServerJsonEventConsumerStandaloneNoPort.json"};
+
+        final ApexMain apexMain = new ApexMain(args);
+        ThreadUtilities.sleep(200);
+        apexMain.shutdown();
+
+        final String outString = outContent.toString();
+
+        System.setOut(stdout);
+        System.setErr(stderr);
+
+        assertTrue(outString.contains(
+                "the parameters \"host\" and \"port\" must be defined for REST Server consumer (FirstConsumer) in standalone mode"));
+    }
+
+    @Test
+    public void testRESTServerProducerNotSync() throws MessagingException, ApexException, IOException {
+        System.setOut(new PrintStream(outContent));
+        System.setErr(new PrintStream(errContent));
+
+        final String[] args = {"src/test/resources/prodcons/RESTServerJsonEventProducerNotSync.json"};
+
+        final ApexMain apexMain = new ApexMain(args);
+        ThreadUtilities.sleep(200);
+        apexMain.shutdown();
+
+        final String outString = outContent.toString();
+
+        System.setOut(stdout);
+        System.setErr(stderr);
+
+        assertTrue(outString.contains(
+                "REST Server producer (FirstProducer) must run in synchronous mode with a REST Server consumer"));
+    }
+
+    @Test
+    public void testRESTServerConsumerNotSync() throws MessagingException, ApexException, IOException {
+        System.setOut(new PrintStream(outContent));
+        System.setErr(new PrintStream(errContent));
+
+        final String[] args = {"src/test/resources/prodcons/RESTServerJsonEventConsumerNotSync.json"};
+
+        final ApexMain apexMain = new ApexMain(args);
+        ThreadUtilities.sleep(200);
+        apexMain.shutdown();
+
+        final String outString = outContent.toString();
+
+        System.setOut(stdout);
+        System.setErr(stderr);
+
+        assertTrue(outString.contains(
+                "event output for peered mode \"SYNCHRONOUS\": peer \"FirstConsumer\" for event handler \"FirstProducer\" does not exist or is not defined as being synchronous"));
+    }
+
+    @Test
+    public void testRESTServerDivideByZero() throws MessagingException, ApexException, IOException {
+        final String[] args = {"src/test/resources/prodcons/RESTServerJsonEventDivideByZero.json"};
+        final ApexMain apexMain = new ApexMain(args);
+
+        final Client client = ClientBuilder.newClient();
+
+        // Wait for the required amount of events to be received or for 10 seconds
+        for (int i = 0; i < 20; i++) {
+            ThreadUtilities.sleep(100);
+
+            final Response response = client.target("http://localhost:23324/apex/FirstConsumer/EventIn")
+                    .request("application/json").put(Entity.json(getEvent()));
+
+            assertEquals(Response.Status.OK.getStatusCode(), response.getStatus());
+            final String responseString = response.readEntity(String.class);
+
+            @SuppressWarnings("unchecked")
+            final Map<String, Object> jsonMap = new Gson().fromJson(responseString, Map.class);
+            assertEquals("org.onap.policy.apex.sample.events", jsonMap.get("nameSpace"));
+            assertEquals("Test slogan for External Event0", jsonMap.get("TestSlogan"));
+            assertTrue(((String) jsonMap.get("exceptionMessage")).contains("caused by: / by zero"));
+
+        }
+
+
+        apexMain.shutdown();
+    }
+
+    private String getEvent() {
+        final Random rand = new Random();
+        final int nextMatchCase = rand.nextInt(4);
+        final String nextEventName = "Event0" + rand.nextInt(2) + "00";
+
+        final String eventString = "{\n" + "\"nameSpace\": \"org.onap.policy.apex.sample.events\",\n" + "\"name\": \""
+                + nextEventName + "\",\n" + "\"version\": \"0.0.1\",\n" + "\"source\": \"REST_" + eventsSent++ + "\",\n"
+                + "\"target\": \"apex\",\n" + "\"TestSlogan\": \"Test slogan for External Event0\",\n"
+                + "\"TestMatchCase\": " + nextMatchCase + ",\n" + "\"TestTimestamp\": " + System.currentTimeMillis()
+                + ",\n" + "\"TestTemperature\": 9080.866\n" + "}";
+
+        return eventString;
+    }
+}
diff --git a/testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/adapt/restserver/TestRESTServerVPNContext.java b/testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/adapt/restserver/TestRESTServerVPNContext.java
new file mode 100644 (file)
index 0000000..cb52dd5
--- /dev/null
@@ -0,0 +1,136 @@
+/*-
+ * ============LICENSE_START=======================================================
+ *  Copyright (C) 2016-2018 Ericsson. 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.
+ * 
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.apex.apps.uservice.test.adapt.restserver;
+
+import static org.junit.Assert.assertEquals;
+
+import java.io.IOException;
+
+import javax.ws.rs.client.Client;
+import javax.ws.rs.client.ClientBuilder;
+import javax.ws.rs.client.Entity;
+import javax.ws.rs.core.Response;
+
+import org.junit.Ignore;
+import org.junit.Test;
+import org.onap.policy.apex.core.infrastructure.messaging.MessagingException;
+import org.onap.policy.apex.core.infrastructure.threading.ThreadUtilities;
+import org.onap.policy.apex.model.basicmodel.concepts.ApexException;
+import org.onap.policy.apex.service.engine.main.ApexMain;
+
+
+public class TestRESTServerVPNContext {
+    private static int eventsSent = 0;
+
+    @Ignore
+    @Test
+    public void testRESTServerPut() throws MessagingException, ApexException, IOException {
+        final String[] args = {"src/test/resources/prodcons/RESTServerJsonEventContextJava.json"};
+        final ApexMain apexMain = new ApexMain(args);
+
+        final Client client = ClientBuilder.newClient();
+
+        Response response = client.target("http://localhost:23324/apex/FirstConsumer/EventIn")
+                .request("application/json").put(Entity.json(setupLinkContext("L09", true)));
+        assertEquals(Response.Status.OK.getStatusCode(), response.getStatus());
+
+        response = client.target("http://localhost:23324/apex/FirstConsumer/EventIn").request("application/json")
+                .put(Entity.json(setupLinkContext("L10", true)));
+        assertEquals(Response.Status.OK.getStatusCode(), response.getStatus());
+
+        response = client.target("http://localhost:23324/apex/FirstConsumer/EventIn").request("application/json")
+                .put(Entity.json(setupCustomerContext("A", "L09 L10", 300, 50)));
+        assertEquals(Response.Status.OK.getStatusCode(), response.getStatus());
+
+        response = client.target("http://localhost:23324/apex/FirstConsumer/EventIn").request("application/json")
+                .put(Entity.json(setupCustomerContext("B", "L09 L10", 300, 299)));
+        assertEquals(Response.Status.OK.getStatusCode(), response.getStatus());
+
+        response = client.target("http://localhost:23324/apex/FirstConsumer/EventIn").request("application/json")
+                .put(Entity.json(setupCustomerContext("C", "L09 L10", 300, 300)));
+        assertEquals(Response.Status.OK.getStatusCode(), response.getStatus());
+
+        response = client.target("http://localhost:23324/apex/FirstConsumer/EventIn").request("application/json")
+                .put(Entity.json(setupCustomerContext("D", "L09 L10", 300, 400)));
+        assertEquals(Response.Status.OK.getStatusCode(), response.getStatus());
+
+        ThreadUtilities.sleep(100000);
+
+        apexMain.shutdown();
+    }
+
+    @Ignore
+    @Test
+    public void testRESTServerPutAvro() throws MessagingException, ApexException, IOException {
+        final String[] args = {"src/test/resources/prodcons/RESTServerJsonEventContextAvro.json"};
+        final ApexMain apexMain = new ApexMain(args);
+
+        final Client client = ClientBuilder.newClient();
+
+        Response response = client.target("http://localhost:23324/apex/FirstConsumer/EventIn")
+                .request("application/json").put(Entity.json(setupLinkContext("L09", true)));
+        assertEquals(Response.Status.OK.getStatusCode(), response.getStatus());
+
+        response = client.target("http://localhost:23324/apex/FirstConsumer/EventIn").request("application/json")
+                .put(Entity.json(setupLinkContext("L10", true)));
+        assertEquals(Response.Status.OK.getStatusCode(), response.getStatus());
+
+        response = client.target("http://localhost:23324/apex/FirstConsumer/EventIn").request("application/json")
+                .put(Entity.json(setupCustomerContext("A", "L09 L10", 300, 50)));
+        assertEquals(Response.Status.OK.getStatusCode(), response.getStatus());
+
+        response = client.target("http://localhost:23324/apex/FirstConsumer/EventIn").request("application/json")
+                .put(Entity.json(setupCustomerContext("B", "L09 L10", 300, 299)));
+        assertEquals(Response.Status.OK.getStatusCode(), response.getStatus());
+
+        response = client.target("http://localhost:23324/apex/FirstConsumer/EventIn").request("application/json")
+                .put(Entity.json(setupCustomerContext("C", "L09 L10", 300, 300)));
+        assertEquals(Response.Status.OK.getStatusCode(), response.getStatus());
+
+        response = client.target("http://localhost:23324/apex/FirstConsumer/EventIn").request("application/json")
+                .put(Entity.json(setupCustomerContext("D", "L09 L10", 300, 400)));
+        assertEquals(Response.Status.OK.getStatusCode(), response.getStatus());
+
+        ThreadUtilities.sleep(100000);
+
+        apexMain.shutdown();
+    }
+
+    private String setupLinkContext(final String link, final Boolean isUp) {
+        final String eventString = "{\n" + "\"nameSpace\": \"org.onap.policy.apex.domains.vpn.events\",\n"
+                + "\"name\": \"VPNLinkCtxtTriggerEvent\",\n" + "\"version\": \"0.0.1\",\n" + "\"source\": \"REST_"
+                + eventsSent++ + "\",\n" + "\"target\": \"apex\",\n" + "\"Link\": \"" + link + "\",\n" + "\"LinkUp\": "
+                + isUp + "\n" + "}";
+
+        return eventString;
+    }
+
+    private String setupCustomerContext(final String customerName, final String linkList, final int slaDT,
+            final int ytdDT) {
+        final String eventString = "{\n" + "\"nameSpace\": \"org.onap.policy.apex.domains.vpn.events\",\n"
+                + "\"name\": \"VPNCustomerCtxtTriggerEvent\",\n" + "\"version\": \"0.0.1\",\n" + "\"source\": \"REST_"
+                + eventsSent++ + "\",\n" + "\"target\": \"apex\",\n" + "\"CustomerName\": \"" + customerName + "\",\n"
+                + "\"LinkList\": \"" + linkList + "\",\n" + "\"SlaDT\": \"" + slaDT + "\",\n" + "\"YtdDT\": " + ytdDT
+                + "\n" + "}";
+
+        return eventString;
+    }
+}
diff --git a/testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/adapt/sampletypes/Foo.java b/testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/adapt/sampletypes/Foo.java
new file mode 100644 (file)
index 0000000..da075b6
--- /dev/null
@@ -0,0 +1,48 @@
+/*-
+ * ============LICENSE_START=======================================================
+ *  Copyright (C) 2016-2018 Ericsson. 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.
+ * 
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.apex.apps.uservice.test.adapt.sampletypes;
+
+public class Foo {
+    private String bar;
+
+    public String getBar() {
+        return bar;
+    }
+
+    public void setBar(final String bar) {
+        this.bar = bar;
+    }
+
+    public Foo(final String bar) {
+        this();
+        this.bar = bar;
+    }
+
+    public Foo() {
+        super();
+    }
+
+    @Override
+    public String toString() {
+        return "Foo [bar=(String)\"" + bar + "\"]";
+    }
+
+}
diff --git a/testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/adapt/sampletypes/FooMap.java b/testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/adapt/sampletypes/FooMap.java
new file mode 100644 (file)
index 0000000..9adaf6d
--- /dev/null
@@ -0,0 +1,48 @@
+/*-
+ * ============LICENSE_START=======================================================
+ *  Copyright (C) 2016-2018 Ericsson. 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.
+ * 
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.apex.apps.uservice.test.adapt.sampletypes;
+
+import java.util.LinkedHashMap;
+import java.util.Map;
+
+public class FooMap extends LinkedHashMap<String, String> {
+    private static final long serialVersionUID = -7125986379378753022L;
+
+    public FooMap() {
+        super();
+    }
+
+    public FooMap(final int initialCapacity, final float loadFactor, final boolean accessOrder) {
+        super(initialCapacity, loadFactor, accessOrder);
+    }
+
+    public FooMap(final int initialCapacity, final float loadFactor) {
+        super(initialCapacity, loadFactor);
+    }
+
+    public FooMap(final int initialCapacity) {
+        super(initialCapacity);
+    }
+
+    public FooMap(final Map<? extends String, ? extends String> m) {
+        super(m);
+    }
+}
diff --git a/testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/adapt/websocket/TestWs2WsClient.java b/testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/adapt/websocket/TestWs2WsClient.java
new file mode 100644 (file)
index 0000000..52e8964
--- /dev/null
@@ -0,0 +1,71 @@
+/*-
+ * ============LICENSE_START=======================================================
+ *  Copyright (C) 2016-2018 Ericsson. 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.
+ * 
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.apex.apps.uservice.test.adapt.websocket;
+
+import static org.junit.Assert.assertEquals;
+
+import org.junit.Test;
+import org.onap.policy.apex.core.infrastructure.messaging.MessagingException;
+import org.onap.policy.apex.core.infrastructure.threading.ThreadUtilities;
+import org.onap.policy.apex.model.basicmodel.concepts.ApexException;
+import org.onap.policy.apex.service.engine.main.ApexMain;
+
+public class TestWs2WsClient {
+    private static final long MAX_TEST_LENGTH = 10000;
+
+    private static final int EVENT_COUNT = 100;
+    private static final int EVENT_INTERVAL = 20;
+
+    @Test
+    public void testJsonWSEvents() throws MessagingException, ApexException {
+        final String[] args = {"src/test/resources/prodcons/Ws2WsClientJsonEvent.json"};
+        testWSEvents(args, false);
+    }
+
+    @Test
+    public void testXMLWSEvents() throws MessagingException, ApexException {
+        final String[] args = {"src/test/resources/prodcons/Ws2WsClientXMLEvent.json"};
+        testWSEvents(args, true);
+    }
+
+    private void testWSEvents(final String[] args, final Boolean xmlEvents) throws MessagingException, ApexException {
+        final WebSocketEventSubscriberServer subServer = new WebSocketEventSubscriberServer(42453);
+        final WebSocketEventProducerServer prodServer =
+                new WebSocketEventProducerServer(42451, EVENT_COUNT, xmlEvents, EVENT_INTERVAL);
+
+        final ApexMain apexMain = new ApexMain(args);
+
+        prodServer.sendEvents();
+
+        final long testStartTime = System.currentTimeMillis();
+
+        while (System.currentTimeMillis() < testStartTime + MAX_TEST_LENGTH
+                && subServer.getEventsReceivedCount() < EVENT_COUNT) {
+            ThreadUtilities.sleep(EVENT_INTERVAL);
+        }
+
+        assertEquals(prodServer.getEventsSentCount(), subServer.getEventsReceivedCount());
+
+        apexMain.shutdown();
+        prodServer.shutdown();
+        subServer.shutdown();
+    }
+}
diff --git a/testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/adapt/websocket/TestWs2WsServer.java b/testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/adapt/websocket/TestWs2WsServer.java
new file mode 100644 (file)
index 0000000..86f6ee1
--- /dev/null
@@ -0,0 +1,71 @@
+/*-
+ * ============LICENSE_START=======================================================
+ *  Copyright (C) 2016-2018 Ericsson. 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.
+ * 
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.apex.apps.uservice.test.adapt.websocket;
+
+import static org.junit.Assert.assertEquals;
+
+import org.junit.Test;
+import org.onap.policy.apex.core.infrastructure.messaging.MessagingException;
+import org.onap.policy.apex.core.infrastructure.threading.ThreadUtilities;
+import org.onap.policy.apex.model.basicmodel.concepts.ApexException;
+import org.onap.policy.apex.service.engine.main.ApexMain;
+
+public class TestWs2WsServer {
+    private static final long MAX_TEST_LENGTH = 10000;
+
+    private static final int EVENT_COUNT = 100;
+    private static final int EVENT_INTERVAL = 20;
+
+    @Test
+    public void testJsonWSEvents() throws MessagingException, ApexException {
+        final String[] args = {"src/test/resources/prodcons/Ws2WsServerJsonEvent.json"};
+        testWSEvents(args, false);
+    }
+
+    @Test
+    public void testXMLWSEvents() throws MessagingException, ApexException {
+        final String[] args = {"src/test/resources/prodcons/Ws2WsServerXMLEvent.json"};
+        testWSEvents(args, true);
+    }
+
+    public void testWSEvents(final String[] args, final boolean xmlEvents) throws MessagingException, ApexException {
+        final ApexMain apexMain = new ApexMain(args);
+
+        final WebSocketEventSubscriberClient subClient = new WebSocketEventSubscriberClient("localhost", 42452);
+        final WebSocketEventProducerClient prodClient =
+                new WebSocketEventProducerClient("localhost", 42450, EVENT_COUNT, xmlEvents, EVENT_INTERVAL);
+
+        prodClient.sendEvents();
+
+        final long testStartTime = System.currentTimeMillis();
+
+        while (System.currentTimeMillis() < testStartTime + MAX_TEST_LENGTH
+                && subClient.getEventsReceivedCount() < EVENT_COUNT) {
+            ThreadUtilities.sleep(EVENT_INTERVAL);
+        }
+
+        assertEquals(subClient.getEventsReceivedCount(), prodClient.getEventsSentCount());
+
+        prodClient.shutdown();
+        subClient.shutdown();
+        apexMain.shutdown();
+    }
+}
diff --git a/testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/adapt/websocket/WebSocketEventProducerClient.java b/testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/adapt/websocket/WebSocketEventProducerClient.java
new file mode 100644 (file)
index 0000000..dc186a1
--- /dev/null
@@ -0,0 +1,146 @@
+/*-
+ * ============LICENSE_START=======================================================
+ *  Copyright (C) 2016-2018 Ericsson. 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.
+ * 
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.apex.apps.uservice.test.adapt.websocket;
+
+import org.onap.policy.apex.apps.uservice.test.adapt.events.EventGenerator;
+import org.onap.policy.apex.core.infrastructure.messaging.MessagingException;
+import org.onap.policy.apex.core.infrastructure.messaging.stringmessaging.WSStringMessageClient;
+import org.onap.policy.apex.core.infrastructure.messaging.stringmessaging.WSStringMessageListener;
+import org.onap.policy.apex.core.infrastructure.threading.ThreadUtilities;
+
+public class WebSocketEventProducerClient implements WSStringMessageListener {
+    private final String host;
+    private final int port;
+    private final int eventCount;
+    private final boolean xmlEvents;
+    private final long eventInterval;
+    private long eventsSentCount = 0;
+
+    WSStringMessageClient client;
+
+    public WebSocketEventProducerClient(final String host, final int port, final int eventCount,
+            final boolean xmlEvents, final long eventInterval) throws MessagingException {
+        this.host = host;
+        this.port = port;
+        this.eventCount = eventCount;
+        this.xmlEvents = xmlEvents;
+        this.eventInterval = eventInterval;
+
+        client = new WSStringMessageClient(host, port);
+        client.start(this);
+
+        System.out.println(WebSocketEventProducerClient.class.getCanonicalName() + ": host " + host + ", port " + port
+                + ", event count " + eventCount + ", xmlEvents " + xmlEvents);
+    }
+
+    public void sendEvents() {
+        System.out.println(WebSocketEventProducerClient.class.getCanonicalName() + ": sending events on host " + host
+                + ", port " + port + ", event count " + eventCount + ", xmlEvents " + xmlEvents);
+
+        for (int i = 0; i < eventCount; i++) {
+            System.out.println(WebSocketEventProducerClient.class.getCanonicalName() + ": waiting " + eventInterval
+                    + " milliseconds before sending next event");
+            ThreadUtilities.sleep(eventInterval);
+
+            String eventString = null;
+            if (xmlEvents) {
+                eventString = EventGenerator.xmlEvent();
+            } else {
+                eventString = EventGenerator.jsonEvent();
+            }
+            client.sendString(eventString);
+            eventsSentCount++;
+            System.out.println(WebSocketEventProducerClient.class.getCanonicalName() + ":  host " + host + ", port "
+                    + port + ", sent event " + eventString);
+        }
+        System.out.println(WebSocketEventProducerClient.class.getCanonicalName() + ": completed");
+    }
+
+    public long getEventsSentCount() {
+        return eventsSentCount;
+    }
+
+    public void shutdown() {
+        client.stop();
+        System.out.println(WebSocketEventProducerClient.class.getCanonicalName() + ": stopped");
+    }
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see
+     * org.onap.policy.apex.core.infrastructure.messaging.stringmessaging.WSStringMessageListener#
+     * receiveString(java.lang.String)
+     */
+    @Override
+    public void receiveString(final String eventString) {
+        System.out.println(WebSocketEventProducerServer.class.getCanonicalName() + ":  host " + host + ", port " + port
+                + ", received event " + eventString);
+    }
+
+    public static void main(final String[] args) throws MessagingException {
+        if (args.length != 5) {
+            System.err.println("usage WebSocketEventProducerClient host port #events XML|JSON eventInterval");
+            return;
+        }
+
+        int port = 0;
+        try {
+            port = Integer.parseInt(args[1]);
+        } catch (final Exception e) {
+            System.err.println("usage WebSocketEventProducerClient host port #events XML|JSON eventInterval");
+            e.printStackTrace();
+            return;
+        }
+
+        int eventCount = 0;
+        try {
+            eventCount = Integer.parseInt(args[2]);
+        } catch (final Exception e) {
+            System.err.println("usage WebSocketEventProducerClient host port #events XML|JSON eventInterval");
+            e.printStackTrace();
+            return;
+        }
+
+        long eventInterval = 0;
+        try {
+            eventInterval = Long.parseLong(args[4]);
+        } catch (final Exception e) {
+            System.err.println("usage WebSocketEventProducerClient host port #events XML|JSON eventInterval");
+            e.printStackTrace();
+            return;
+        }
+
+        boolean xmlEvents = false;
+        if (args[3].equalsIgnoreCase("XML")) {
+            xmlEvents = true;
+        } else if (!args[3].equalsIgnoreCase("JSON")) {
+            System.err.println("usage WebSocketEventProducerClient host port #events XML|JSON eventInterval");
+            return;
+        }
+
+        final WebSocketEventProducerClient client =
+                new WebSocketEventProducerClient(args[0], port, eventCount, xmlEvents, eventInterval);
+
+        client.sendEvents();
+        client.shutdown();
+    }
+}
diff --git a/testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/adapt/websocket/WebSocketEventProducerServer.java b/testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/adapt/websocket/WebSocketEventProducerServer.java
new file mode 100644 (file)
index 0000000..32b463d
--- /dev/null
@@ -0,0 +1,145 @@
+/*-
+ * ============LICENSE_START=======================================================
+ *  Copyright (C) 2016-2018 Ericsson. 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.
+ * 
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.apex.apps.uservice.test.adapt.websocket;
+
+import org.onap.policy.apex.apps.uservice.test.adapt.events.EventGenerator;
+import org.onap.policy.apex.core.infrastructure.messaging.MessagingException;
+import org.onap.policy.apex.core.infrastructure.messaging.stringmessaging.WSStringMessageListener;
+import org.onap.policy.apex.core.infrastructure.messaging.stringmessaging.WSStringMessageServer;
+import org.onap.policy.apex.core.infrastructure.threading.ThreadUtilities;
+
+public class WebSocketEventProducerServer implements WSStringMessageListener {
+    private final int port;
+    private final int eventCount;
+    private final boolean xmlEvents;
+    private final long eventInterval;
+    private long eventsSentCount = 0;
+
+    WSStringMessageServer server;
+
+    public WebSocketEventProducerServer(final int port, final int eventCount, final boolean xmlEvents,
+            final long eventInterval) throws MessagingException {
+        this.port = port;
+        this.eventCount = eventCount;
+        this.xmlEvents = xmlEvents;
+        this.eventInterval = eventInterval;
+
+        server = new WSStringMessageServer(port);
+        server.start(this);
+
+        System.out.println(WebSocketEventProducerServer.class.getCanonicalName() + ": port " + port + ", event count "
+                + eventCount + ", xmlEvents " + xmlEvents);
+    }
+
+    public void sendEvents() {
+        System.out.println(WebSocketEventProducerServer.class.getCanonicalName() + ": sending events on port " + port
+                + ", event count " + eventCount + ", xmlEvents " + xmlEvents);
+
+        for (int i = 0; i < eventCount; i++) {
+            System.out.println(WebSocketEventProducerServer.class.getCanonicalName() + ": waiting " + eventInterval
+                    + " milliseconds before sending next event");
+            ThreadUtilities.sleep(eventInterval);
+
+            String eventString = null;
+            if (xmlEvents) {
+                eventString = EventGenerator.xmlEvent();
+            } else {
+                eventString = EventGenerator.jsonEvent();
+            }
+            server.sendString(eventString);
+            eventsSentCount++;
+            System.out.println(WebSocketEventProducerServer.class.getCanonicalName() + ": port " + port
+                    + ", sent event " + eventString);
+        }
+
+        System.out.println(WebSocketEventProducerServer.class.getCanonicalName() + ": event sending completed");
+    }
+
+    public long getEventsSentCount() {
+        return eventsSentCount;
+    }
+
+    public void shutdown() {
+        server.stop();
+        System.out.println(WebSocketEventProducerServer.class.getCanonicalName() + ": stopped");
+    }
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see
+     * org.onap.policy.apex.core.infrastructure.messaging.stringmessaging.WSStringMessageListener#
+     * receiveString(java.lang.String)
+     */
+    @Override
+    public void receiveString(final String eventString) {
+        System.out.println(WebSocketEventProducerServer.class.getCanonicalName() + ": port " + port
+                + ", received event " + eventString);
+    }
+
+    public static void main(final String[] args) throws MessagingException {
+        if (args.length != 4) {
+            System.err.println("usage WebSocketEventProducerServer port #events XML|JSON eventInterval");
+            return;
+        }
+
+        int port = 0;
+        try {
+            port = Integer.parseInt(args[0]);
+        } catch (final Exception e) {
+            System.err.println("usage WebSocketEventProducerServer port #events XML|JSON eventInterval");
+            e.printStackTrace();
+            return;
+        }
+
+        int eventCount = 0;
+        try {
+            eventCount = Integer.parseInt(args[1]);
+        } catch (final Exception e) {
+            System.err.println("usage WebSocketEventProducerServer port #events XML|JSON eventInterval");
+            e.printStackTrace();
+            return;
+        }
+
+        long eventInterval = 0;
+        try {
+            eventInterval = Long.parseLong(args[3]);
+        } catch (final Exception e) {
+            System.err.println("usage WebSocketEventProducerServer port #events XML|JSON eventInterval");
+            e.printStackTrace();
+            return;
+        }
+
+        boolean xmlEvents = false;
+        if (args[2].equalsIgnoreCase("XML")) {
+            xmlEvents = true;
+        } else if (!args[2].equalsIgnoreCase("JSON")) {
+            System.err.println("usage WebSocketEventProducerServer port #events XML|JSON startDelay eventInterval");
+            return;
+        }
+
+        final WebSocketEventProducerServer server =
+                new WebSocketEventProducerServer(port, eventCount, xmlEvents, eventInterval);
+
+        server.sendEvents();
+        server.shutdown();
+    }
+}
diff --git a/testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/adapt/websocket/WebSocketEventSubscriberClient.java b/testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/adapt/websocket/WebSocketEventSubscriberClient.java
new file mode 100644 (file)
index 0000000..639d7ae
--- /dev/null
@@ -0,0 +1,80 @@
+/*-
+ * ============LICENSE_START=======================================================
+ *  Copyright (C) 2016-2018 Ericsson. 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.
+ * 
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.apex.apps.uservice.test.adapt.websocket;
+
+import org.onap.policy.apex.core.infrastructure.messaging.MessagingException;
+import org.onap.policy.apex.core.infrastructure.messaging.stringmessaging.WSStringMessageClient;
+import org.onap.policy.apex.core.infrastructure.messaging.stringmessaging.WSStringMessageListener;
+
+public class WebSocketEventSubscriberClient implements WSStringMessageListener {
+    private final int port;
+    private long eventsReceivedCount = 0;
+
+    private final WSStringMessageClient client;
+
+    public WebSocketEventSubscriberClient(final String host, final int port) throws MessagingException {
+        this.port = port;
+
+        client = new WSStringMessageClient(host, port);
+        client.start(this);
+    }
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see
+     * org.onap.policy.apex.core.infrastructure.messaging.stringmessaging.WSStringMessageListener#
+     * receiveString(java.lang.String)
+     */
+    @Override
+    public void receiveString(final String eventString) {
+        System.out.println(WebSocketEventSubscriberClient.class.getCanonicalName() + ": port " + port
+                + ", received event " + eventString);
+        eventsReceivedCount++;
+    }
+
+    public long getEventsReceivedCount() {
+        return eventsReceivedCount;
+    }
+
+    public void shutdown() {
+        client.stop();
+        System.out.println(WebSocketEventSubscriberServer.class.getCanonicalName() + ": stopped");
+    }
+
+    public static void main(final String[] args) throws MessagingException {
+        if (args.length != 2) {
+            System.err.println("usage WebSocketEventSubscriberClient host port");
+            return;
+        }
+
+        int port = 0;
+        try {
+            port = Integer.parseInt(args[0]);
+        } catch (final Exception e) {
+            System.err.println("usage WebSocketEventSubscriberClient port");
+            e.printStackTrace();
+            return;
+        }
+
+        new WebSocketEventSubscriberClient(args[0], port);
+    }
+}
diff --git a/testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/adapt/websocket/WebSocketEventSubscriberServer.java b/testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/adapt/websocket/WebSocketEventSubscriberServer.java
new file mode 100644 (file)
index 0000000..bfa5437
--- /dev/null
@@ -0,0 +1,83 @@
+/*-
+ * ============LICENSE_START=======================================================
+ *  Copyright (C) 2016-2018 Ericsson. 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.
+ * 
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.apex.apps.uservice.test.adapt.websocket;
+
+import org.onap.policy.apex.core.infrastructure.messaging.MessagingException;
+import org.onap.policy.apex.core.infrastructure.messaging.stringmessaging.WSStringMessageListener;
+import org.onap.policy.apex.core.infrastructure.messaging.stringmessaging.WSStringMessageServer;
+
+public class WebSocketEventSubscriberServer implements WSStringMessageListener {
+    private final int port;
+    private long eventsReceivedCount = 0;
+
+    private final WSStringMessageServer server;
+
+    public WebSocketEventSubscriberServer(final int port) throws MessagingException {
+        this.port = port;
+
+        server = new WSStringMessageServer(port);
+        server.start(this);
+
+        System.out.println(
+                WebSocketEventSubscriberServer.class.getCanonicalName() + ": port " + port + ", waiting for events");
+    }
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see
+     * org.onap.policy.apex.core.infrastructure.messaging.stringmessaging.WSStringMessageListener#
+     * receiveString(java.lang.String)
+     */
+    @Override
+    public void receiveString(final String eventString) {
+        System.out.println(WebSocketEventSubscriberServer.class.getCanonicalName() + ": port " + port
+                + ", received event " + eventString);
+        eventsReceivedCount++;
+    }
+
+    public long getEventsReceivedCount() {
+        return eventsReceivedCount;
+    }
+
+    public void shutdown() {
+        server.stop();
+        System.out.println(WebSocketEventSubscriberServer.class.getCanonicalName() + ": stopped");
+    }
+
+    public static void main(final String[] args) throws MessagingException {
+        if (args.length != 1) {
+            System.err.println("usage WebSocketEventSubscriberClient port");
+            return;
+        }
+
+        int port = 0;
+        try {
+            port = Integer.parseInt(args[0]);
+        } catch (final Exception e) {
+            System.err.println("usage WebSocketEventSubscriberClient port");
+            e.printStackTrace();
+            return;
+        }
+
+        new WebSocketEventSubscriberServer(port);
+    }
+}
diff --git a/testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/context/AvroEventAlbumContextTest.java b/testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/context/AvroEventAlbumContextTest.java
new file mode 100644 (file)
index 0000000..5360a21
--- /dev/null
@@ -0,0 +1,95 @@
+/*-
+ * ============LICENSE_START=======================================================
+ *  Copyright (C) 2016-2018 Ericsson. 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.
+ * 
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.apex.apps.uservice.test.context;
+
+import static org.junit.Assert.assertEquals;
+
+import java.io.File;
+import java.io.IOException;
+
+import org.junit.Test;
+import org.onap.policy.apex.auth.clieditor.ApexCLIEditorMain;
+import org.onap.policy.apex.core.infrastructure.threading.ThreadUtilities;
+import org.onap.policy.apex.model.basicmodel.concepts.ApexException;
+import org.onap.policy.apex.model.basicmodel.service.ModelService;
+import org.onap.policy.apex.model.basicmodel.service.ParameterService;
+import org.onap.policy.apex.model.utilities.ResourceUtils;
+import org.onap.policy.apex.model.utilities.TextFileUtils;
+import org.onap.policy.apex.service.engine.main.ApexMain;
+
+/**
+ * The Class AvroEventAlbumContextTest.
+ */
+public class AvroEventAlbumContextTest {
+
+    /**
+     * Test avro event fields, by starting an engine, send event in, test event out.
+     *
+     * @throws IOException Signals that an I/O exception has occurred.
+     * @throws ApexException the apex exception
+     */
+    @Test
+    public void testAvroEventAlbumContextTest() throws IOException, ApexException {
+        final File tempCommandFile = File.createTempFile("TestPolicyAvroEventContext", ".apex");
+        final File tempLogFile = File.createTempFile("TestPolicyAvroEventContext", ".log");
+        final File tempModelFile = File.createTempFile("TestPolicyAvroEventContext", ".json");
+
+        final String javaEventContextString =
+                ResourceUtils.getResourceAsString("examples/scripts/TestPolicyAvroEventContext.apex");
+        TextFileUtils.putStringAsFile(javaEventContextString, tempCommandFile);
+
+        final String[] cliArgs = new String[] {"-c", tempCommandFile.getCanonicalPath(), "-l",
+                tempLogFile.getAbsolutePath(), "-o", tempModelFile.getAbsolutePath()};
+
+        ModelService.clear();
+
+        new ApexCLIEditorMain(cliArgs);
+
+        tempCommandFile.delete();
+        tempLogFile.delete();
+
+        ModelService.clear();
+
+        final String[] args = new String[] {"-m", tempModelFile.getAbsolutePath(), "-c",
+                "src/test/resources/prodcons/Context_AvroEventAlbum_file2file.json"};
+        final ApexMain apexMain = new ApexMain(args);
+        ThreadUtilities.sleep(1000);
+        apexMain.shutdown();
+        
+        ParameterService.clear();
+        // The output event is in this file
+        final File outputEventFile = new File("src/test/resources/events/Context_AvroEventAlbum_EventOut.json");
+        final String outputEventString =
+                TextFileUtils.getTextFileAsString(outputEventFile.getCanonicalPath()).replaceAll("\\s+", "");
+
+        // We compare the output to what we expect to get
+        final String outputEventCompareString = TextFileUtils
+                .getTextFileAsString("src/test/resources/events/Context_AvroEventAlbum_EventOutCompare.json")
+                .replaceAll("\\s+", "");
+
+        // Check what we got is what we expected to get
+        assertEquals(outputEventCompareString, outputEventString);
+
+        
+        tempModelFile.delete();
+        outputEventFile.delete();
+    }
+}
diff --git a/testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/context/JavaEventAlbumContextTest.java b/testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/context/JavaEventAlbumContextTest.java
new file mode 100644 (file)
index 0000000..242a941
--- /dev/null
@@ -0,0 +1,83 @@
+/*-
+ * ============LICENSE_START=======================================================
+ *  Copyright (C) 2016-2018 Ericsson. 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.
+ * 
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.apex.apps.uservice.test.context;
+
+import static org.junit.Assert.assertEquals;
+
+import java.io.File;
+import java.io.IOException;
+
+import org.junit.Test;
+import org.onap.policy.apex.auth.clieditor.ApexCLIEditorMain;
+import org.onap.policy.apex.core.infrastructure.threading.ThreadUtilities;
+import org.onap.policy.apex.model.basicmodel.concepts.ApexException;
+import org.onap.policy.apex.model.basicmodel.service.ModelService;
+import org.onap.policy.apex.model.basicmodel.service.ParameterService;
+import org.onap.policy.apex.model.utilities.ResourceUtils;
+import org.onap.policy.apex.model.utilities.TextFileUtils;
+import org.onap.policy.apex.service.engine.main.ApexMain;
+
+public class JavaEventAlbumContextTest {
+    @Test
+    public void testJavaEventAlbumContextTest() throws IOException, ApexException {
+        final File tempCommandFile = File.createTempFile("TestPolicyJavaEventContext", ".apex");
+        final File tempLogFile = File.createTempFile("TestPolicyJavaEventContext", ".log");
+        final File tempModelFile = File.createTempFile("TestPolicyJavaEventContext", ".json");
+
+        final String javaEventContextString =
+                ResourceUtils.getResourceAsString("examples/scripts/TestPolicyJavaEventContext.apex");
+        TextFileUtils.putStringAsFile(javaEventContextString, tempCommandFile);
+
+        final String[] cliArgs = new String[] {"-c", tempCommandFile.getCanonicalPath(), "-l",
+                tempLogFile.getAbsolutePath(), "-o", tempModelFile.getAbsolutePath()};
+
+        ModelService.clear();
+
+        new ApexCLIEditorMain(cliArgs);
+
+        tempCommandFile.delete();
+        tempLogFile.delete();
+
+        ModelService.clear();
+
+        final String[] args = new String[] {"-m", tempModelFile.getAbsolutePath(), "-c",
+                "src/test/resources/prodcons/Context_JavaEventAlbum_file2file.json"};
+        final ApexMain apexMain = new ApexMain(args);
+        ThreadUtilities.sleep(1000);
+        apexMain.shutdown();
+        ParameterService.clear();
+
+        // The output event is in this file
+        final File outputEventFile = new File("src/test/resources/events/Context_JavaEventAlbum_EventOut.json");
+        final String actualFileContent = TextFileUtils.getTextFileAsString(outputEventFile.getCanonicalPath());
+        final String outputEventString = actualFileContent.replaceAll("\\s+", "");
+
+        // We compare the output to what we expect to get
+        final String expectedFileContent = TextFileUtils
+                .getTextFileAsString("src/test/resources/events/Context_JavaEventAlbum_EventOutCompare.json");
+        final String outputEventCompareString = expectedFileContent.replaceAll("\\s+", "");
+
+        assertEquals(outputEventCompareString, outputEventString);
+
+        tempModelFile.delete();
+        outputEventFile.delete();
+    }
+}
diff --git a/testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/engdep/EngDepMessagingTest.java b/testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/engdep/EngDepMessagingTest.java
new file mode 100644 (file)
index 0000000..adc416d
--- /dev/null
@@ -0,0 +1,180 @@
+/*-
+ * ============LICENSE_START=======================================================
+ *  Copyright (C) 2016-2018 Ericsson. 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.
+ * 
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.apex.apps.uservice.test.engdep;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.fail;
+
+import java.io.IOException;
+import java.net.URISyntaxException;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.onap.policy.apex.core.deployment.BatchDeployer;
+import org.onap.policy.apex.core.infrastructure.threading.ThreadUtilities;
+import org.onap.policy.apex.model.basicmodel.concepts.ApexException;
+import org.onap.policy.apex.model.basicmodel.service.ModelService;
+import org.onap.policy.apex.model.policymodel.concepts.AxPolicyModel;
+import org.onap.policy.apex.plugins.executor.mvel.MVELExecutorParameters;
+import org.onap.policy.apex.service.engine.event.ApexEvent;
+import org.onap.policy.apex.service.parameters.engineservice.EngineServiceParameters;
+import org.onap.policy.apex.test.common.model.SampleDomainModelFactory;
+import org.slf4j.ext.XLogger;
+import org.slf4j.ext.XLoggerFactory;
+
+// CHECKSTYLE:OFF: checkstyle:magicNumber
+
+/**
+ * The Class EngDepMessagingTest.
+ *
+ * @author Liam Fallon (liam.fallon@ericsson.com)
+ */
+public class EngDepMessagingTest {
+    // Logger for this class
+    private static final XLogger LOGGER = XLoggerFactory.getXLogger(EngDepMessagingTest.class);
+
+    private static final long MAX_START_WAIT = 10000; // 10 sec
+
+    /**
+     * Sets the up.
+     *
+     * @throws Exception the exception
+     */
+    @Before
+    public void setUp() throws Exception {}
+
+    /**
+     * Test EngDep messaging.
+     *
+     * @throws URISyntaxException the URI syntax exception
+     * @throws IOException Signals that an I/O exception has occurred.
+     * @throws ApexException the apex exception
+     */
+    @Test
+    public void testEngDepMessaging() throws URISyntaxException, IOException, ApexException {
+        LOGGER.debug("engine<-->deployment messaging test starting . .  .");
+
+        ModelService.clear();
+
+        final EngineServiceParameters parameters = new EngineServiceParameters();
+        parameters.setName("EngDepMessagingTest");
+        parameters.setVersion("0.0.1");
+        parameters.setDeploymentPort(58820);
+        parameters.setInstanceCount(3);
+        parameters.setId(100);
+        parameters.getEngineParameters().getExecutorParameterMap().put("MVEL", new MVELExecutorParameters());
+
+        final EngineTestServer server = new EngineTestServer(parameters);
+        assertNotNull(server);
+
+        final Thread serverThread = new Thread(server);
+        serverThread.start();
+        final long starttime = System.currentTimeMillis();
+        while (server.isStarting() && System.currentTimeMillis() - starttime < MAX_START_WAIT) {
+            ThreadUtilities.sleep(100);
+        }
+        if (server.isStarting()) {
+            fail("Test server failed to start after " + MAX_START_WAIT + " ms");
+        }
+
+        final AxPolicyModel apexPolicyModel = new SampleDomainModelFactory().getSamplePolicyModel("MVEL");
+
+        final BatchDeployer deployer1 = new BatchDeployer("localhost", 58820);
+        assertNotNull(deployer1);
+
+        deployer1.init();
+        deployer1.deployModel(apexPolicyModel, false, false);
+        deployer1.stopEngines();
+        deployer1.startEngines();
+        deployer1.close();
+
+        // Send events
+        final Date testStartTime = new Date();
+        final Map<String, Object> eventDataMap = new HashMap<>();
+        eventDataMap.put("TestSlogan", "This is a test slogan");
+        eventDataMap.put("TestMatchCase", (byte) 123);
+        eventDataMap.put("TestTimestamp", testStartTime.getTime());
+        eventDataMap.put("TestTemperature", 34.5445667);
+
+        final ApexEvent event0 =
+                new ApexEvent("Event0000", "0.0.1", "org.onap.policy.apex.domains.sample.events", "apex", "test");
+        event0.putAll(eventDataMap);
+        server.sendEvent(event0);
+
+        final ApexEvent event1 =
+                new ApexEvent("Event0100", "0.0.1", "org.onap.policy.apex.domains.sample.events", "apex", "test");
+        event1.putAll(eventDataMap);
+        server.sendEvent(event1);
+
+        // Wait for results
+        while (server.getTotalActionEventsReceived() < 2) {
+            ThreadUtilities.sleep(100);
+        }
+        ThreadUtilities.sleep(500);
+
+        assertEquals(server.getTotalActionEventsReceived(), 2);
+
+        deployer1.init();
+        deployer1.stopEngines();
+        deployer1.close();
+
+        // Test re-initialization of model
+        final BatchDeployer deployer2 = new BatchDeployer("localhost", 58820);
+        assertNotNull(deployer2);
+
+        deployer2.init();
+        deployer2.deployModel(apexPolicyModel, true, true);
+        deployer2.stopEngines();
+        deployer2.startEngines();
+        deployer2.close();
+
+        server.sendEvent(event0);
+        server.sendEvent(event1);
+
+        // Wait for results
+        while (server.getTotalActionEventsReceived() < 4) {
+            ThreadUtilities.sleep(100);
+        }
+        ThreadUtilities.sleep(500);
+
+        assertEquals(server.getTotalActionEventsReceived(), 4);
+
+        deployer2.init();
+        deployer2.stopEngines();
+        deployer2.close();
+
+        server.stopServer();
+        LOGGER.debug("engine<-->deployment messaging test finished");
+    }
+
+    /**
+     * Tear down.
+     *
+     * @throws Exception the exception
+     */
+    @After
+    public void tearDown() throws Exception {}
+}
diff --git a/testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/engdep/EngineTestServer.java b/testsuites/integration/integration-uservice-test/src/test/java/org/onap/policy/apex/apps/uservice/test/engdep/EngineTestServer.java
new file mode 100644 (file)
index 0000000..1a8b1d3
--- /dev/null
@@ -0,0 +1,269 @@
+/*-
+ * ============LICENSE_START=======================================================
+ *  Copyright (C) 2016-2018 Ericsson. 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.
+ * 
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.apex.apps.uservice.test.engdep;
+
+import java.util.Date;
+
+import org.onap.policy.apex.core.infrastructure.threading.ThreadUtilities;
+import org.onap.policy.apex.service.engine.engdep.EngDepMessagingService;
+import org.onap.policy.apex.service.engine.event.ApexEvent;
+import org.onap.policy.apex.service.engine.runtime.ApexEventListener;
+import org.onap.policy.apex.service.engine.runtime.EngineService;
+import org.onap.policy.apex.service.engine.runtime.EngineServiceEventInterface;
+import org.onap.policy.apex.service.engine.runtime.impl.EngineServiceImpl;
+import org.onap.policy.apex.service.parameters.engineservice.EngineServiceParameters;
+import org.slf4j.ext.XLogger;
+import org.slf4j.ext.XLoggerFactory;
+
+/**
+ * The Class EngineTestServer is a test Apex service used to test the performance of Apex engines.
+ *
+ * @author Liam Fallon (liam.fallon@ericsson.com)
+ */
+public class EngineTestServer implements Runnable, EngineServiceEventInterface {
+    private static final XLogger LOGGER = XLoggerFactory.getXLogger(EngineTestServer.class);
+
+    private static final int TEST_SERVER_WAIT_TIME = 200;
+
+    // The engine service for sending events to the Apex engines and the EngDEp service for engine
+    // administration
+    private EngineService engineService = null;
+    private EngDepMessagingService messageService = null;
+
+    // The inner class used to receive and process events
+    private TestApexListener testApexListener = null;
+
+    // Status flags
+    private boolean starting = true;
+    private boolean interrupted = false;
+
+    // Parameters for the test
+    private final EngineServiceParameters parameters;
+
+    // Apex performance statistics
+    private Date statsStartDate = null;
+    private long actionEventsReceivedCount = 0;
+    private long accumulatedExecutionTime = 0;
+    private long totalActionEventsReceivedCount = 0;
+
+    private ApexEvent lastEventReceived = null;
+
+    /**
+     * Instantiates a new engine test server to test Apex performance.
+     *
+     * @param parameters the parameters
+     */
+    public EngineTestServer(final EngineServiceParameters parameters) {
+        this.parameters = parameters;
+    }
+
+    /*
+     * (non-Javadoc)
+     *
+     * @see java.lang.Runnable#run()
+     */
+    @Override
+    public void run() {
+        LOGGER.debug("engine<-->deployment  test server starting . . .");
+
+        // Set the name of the test server thread
+        Thread.currentThread().setName(EngineTestServer.class.getName());
+
+        try {
+            // Create the engine service and set the listener for events emitted by the Apex service
+            engineService = EngineServiceImpl.create(parameters);
+            testApexListener = new TestApexListener();
+            engineService.registerActionListener("testApexListener", testApexListener);
+
+            // Create the EngDep messaging service and start it
+            messageService = new EngDepMessagingService(engineService, parameters.getDeploymentPort());
+            messageService.start();
+
+            // Record the start date for statistics
+            statsStartDate = new Date();
+        } catch (final Exception e) {
+            LOGGER.error("engine<-->deployment test server exception", e);
+            e.printStackTrace();
+            return;
+        }
+        LOGGER.debug("engine<-->deployment test server started");
+
+        starting = false;
+
+        while (!interrupted) {
+            if (!ThreadUtilities.sleep(TEST_SERVER_WAIT_TIME)) {
+                interrupted = true;
+            }
+        }
+    }
+
+    /**
+     * Stop the test server.
+     */
+    public void stopServer() {
+        LOGGER.debug("engine<-->deployment test server stopping . . .");
+
+        interrupted = true;
+        messageService.stop();
+
+        LOGGER.debug("engine<-->deployment test server stopped");
+    }
+
+    /**
+     * Checks if the test server is interrupted.
+     *
+     * @return true, if is interrupted
+     */
+    public boolean isInterrupted() {
+        return interrupted;
+    }
+
+    /**
+     * Gets the total action events received.
+     *
+     * @return the total action events received
+     */
+    public long getTotalActionEventsReceived() {
+        return totalActionEventsReceivedCount;
+    }
+
+    /**
+     * Gets the last action events received.
+     *
+     * @return the last action event received
+     */
+    public ApexEvent getLastActionEvent() {
+        return lastEventReceived;
+    }
+
+    /**
+     * Gets the Apex statistics and resets them.
+     *
+     * @return the statistics
+     */
+    public long[] getAndResetStats() {
+        // Check if we have statistics
+        if (statsStartDate == null || actionEventsReceivedCount == 0) {
+            return null;
+        }
+
+        // Calculate, save, and reset the statistics
+        final long[] stats = new long[2];
+        synchronized (statsStartDate) {
+            final long averageExecutionTime = accumulatedExecutionTime / actionEventsReceivedCount;
+            final long measuringTime = new Date().getTime() - statsStartDate.getTime();
+            final long transactionsPerMillisecond = actionEventsReceivedCount / measuringTime;
+            stats[0] = averageExecutionTime;
+            stats[1] = transactionsPerMillisecond;
+            statsStartDate = new Date();
+
+            actionEventsReceivedCount = 0;
+            accumulatedExecutionTime = 0;
+        }
+
+        // Return the statistics
+        return stats;
+    }
+
+    /**
+     * Checks if the test server is starting.
+     *
+     * @return true, if the server is starting
+     */
+    public boolean isStarting() {
+        return starting;
+    }
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see
+     * org.onap.policy.apex.service.engine.runtime.EngineServiceEventInterface#sendEvent(org.onap.
+     * policy.apex.service.engine.event.ApexEvent)
+     */
+    @Override
+    public void sendEvent(final ApexEvent event) {
+        // Send the event onto the service being tested
+        engineService.getEngineServiceEventInterface().sendEvent(event);
+    }
+
+    /**
+     * The listener interface for receiving testApex events. The class that is interested in
+     * processing a testApex event implements this interface, and the object created with that class
+     * is registered with a component using the component's {@code addTestApexListener} method. When
+     * the testApex event occurs, that object's appropriate method is invoked.
+     *
+     * This class listens for events from the Apex engine
+     *
+     * @see TestApexEvent
+     */
+    private final class TestApexListener implements ApexEventListener {
+
+        /*
+         * (non-Javadoc)
+         *
+         * @see
+         * org.onap.policy.apex.service.engine.runtime.ApexEventListener#onApexEvent(org.onap.policy
+         * .apex.service.engine.event.ApexEvent)
+         */
+        @Override
+        public synchronized void onApexEvent(final ApexEvent apexEvent) {
+            LOGGER.debug("result is:" + apexEvent);
+
+            // Check the result event is correct
+            checkResult(apexEvent);
+
+            // Calculate the performance of the Apex engine service on this policy execution run and
+            // accumulate the total statistics
+            final Date testStartTime = new Date((Long) apexEvent.get("TestTimestamp"));
+            final Date testEndTime = new Date();
+            final long testTime = testEndTime.getTime() - testStartTime.getTime();
+            LOGGER.debug("policy execution time: " + testTime + "ms");
+            synchronized (statsStartDate) {
+                actionEventsReceivedCount++;
+                totalActionEventsReceivedCount++;
+                accumulatedExecutionTime += testTime;
+            }
+            lastEventReceived = apexEvent;
+        }
+
+        /**
+         * Check that a reply event from the Apex engine is valid.
+         *
+         * @param result the result event from the Apex engine
+         */
+        private void checkResult(final ApexEvent result) {
+            assert result.getName().startsWith("Event0004") || result.getName().startsWith("Event0104");
+
+            // CHECKSTYLE:OFF: checkstyle:magicNumber
+            assert result.get("TestSlogan").equals("This is a test slogan");
+            assert result.get("TestMatchCase").equals(new Byte((byte) 123));
+            assert result.get("TestTemperature").equals(34.5445667);
+            assert ((byte) result.get("TestMatchCaseSelected") >= 0 && (byte) result.get("TestMatchCaseSelected") <= 3);
+            assert ((byte) result.get("TestEstablishCaseSelected") >= 0
+                    && (byte) result.get("TestEstablishCaseSelected") <= 3);
+            assert ((byte) result.get("TestDecideCaseSelected") >= 0
+                    && (byte) result.get("TestDecideCaseSelected") <= 3);
+            assert ((byte) result.get("TestActCaseSelected") >= 0 && (byte) result.get("TestActCaseSelected") <= 3);
+            // CHECKSTYLE:ON: checkstyle:magicNumber
+        }
+    }
+}
diff --git a/testsuites/integration/integration-uservice-test/src/test/resources/events/Context_AvroEventAlbum_EventIn.json b/testsuites/integration/integration-uservice-test/src/test/resources/events/Context_AvroEventAlbum_EventIn.json
new file mode 100644 (file)
index 0000000..456b80a
--- /dev/null
@@ -0,0 +1,111 @@
+{
+    "nameSpace": "org.onap.policy.apex.test",
+    "name": "Test_InputEvent",
+    "version": "0.0.1",
+    "source": "test",
+    "target": "apex",
+    "CustomMap": {
+        "mapValue": {
+            "hello": "goodbye",
+            "here": "there",
+            "now": "then"
+        }
+    },
+    "AvroMap": {
+        "address0": "This is the zeroth address",
+        "address1": "This is the first address",
+        "address2": "This is the second address",
+        "address3": "This is the third address"
+    },
+    "CustomDate0": {
+        "time": 1499424303,
+        "year": 2017,
+        "month": 6,
+        "day": 7,
+        "hour": 10,
+        "minute": 45,
+        "second": 2,
+        "milliSecond": 123
+    },
+    "CustomDate2": {
+        "dateValue": {
+            "time": 1499424303,
+            "year": 2017,
+            "month": 6,
+            "day": 7,
+            "hour": 10,
+            "minute": 45,
+            "second": 2,
+            "milliSecond": 123
+        },
+        "timeZoneString": "Europe/Dublin",
+        "dst": true,
+        "utcOffset": 3600000,
+        "localeLanguage": "EN",
+        "localeCountry": "IE"
+    },
+    "CustomDate1": {
+        "dateValue": {
+            "time": 1499424303,
+            "year": 2017,
+            "month": 6,
+            "day": 7,
+            "hour": 10,
+            "minute": 45,
+            "second": 2,
+            "milliSecond": 123
+        },
+        "timeZoneString": "Europe/Dublin",
+        "dst": true
+    },
+    "CustomBoolean": {
+        "flag": false
+    },
+    "CustomDouble": {
+        "doubleValue": 6.71E8
+    },
+    "CustomLong": {
+        "longValue": 9223372036854775807
+    },
+    "CustomString": {
+        "stringValue": "I Wandered Lonely as a Cloud"
+    },
+    "CustomALong": {
+        "longValue": 9223372036854775807
+    },
+    "CustomInteger": {
+        "intValue": -9876543
+    },
+    "CustomFloat": {
+        "floatValue": 3E6
+    },
+    "CustomByte": {
+        "byteValue": 127
+    },
+    "CustomSet": {
+        "setValue": [
+            "I",
+            "once",
+            "saw",
+            "a",
+            "cuddly",
+            "bear"
+        ]
+    },
+    "AvroArray": [
+        "I",
+        "once",
+        "saw",
+        "a",
+        "cuddly",
+        "bear"
+    ],
+    "AvroBoolean": false,
+    "AvroByte": -128,
+    "AvroShort": 32000,
+    "AvroInteger": 1234567,
+    "AvroLong": 1234567890123,
+    "AvroFloat": 2e23,
+    "AvroDouble": 1.2345e67,
+    "AvroString": "The four green provinces of Ireland"
+}
diff --git a/testsuites/integration/integration-uservice-test/src/test/resources/events/Context_AvroEventAlbum_EventOutCompare.json b/testsuites/integration/integration-uservice-test/src/test/resources/events/Context_AvroEventAlbum_EventOutCompare.json
new file mode 100644 (file)
index 0000000..1c30984
--- /dev/null
@@ -0,0 +1,117 @@
+{
+    "name": "Test_OutputEvent",
+    "version": "0.0.1",
+    "nameSpace": "org.onap.policy.apex.test",
+    "source": "External",
+    "target": "Apex",
+    "AvroArray": [
+        "I",
+        "once",
+        "saw",
+        "a",
+        "cuddly",
+        "bear"
+    ],
+    "AvroBoolean": true,
+    "AvroByte": -127.0,
+    "AvroDouble": 1.2345E67,
+    "AvroFloat": 1.9999999999999998E23,
+    "AvroInteger": 1234568.0,
+    "AvroLong": 1.234567890124E12,
+    "AvroMap": {
+        "address3": "This is the third address",
+        "address2": "This is the second address",
+        "address1": "This is the first address",
+        "address0": "This is the zeroth address"
+    },
+    "AvroShort": 32001.0,
+    "AvroString": "The four green provinces of Ireland added to end of string",
+    "CustomALong": {
+        "longValue": 9.223372036854776E18
+    },
+    "CustomBoolean": {
+        "flag": true
+    },
+    "CustomByte": {
+        "byteValue": 128.0
+    },
+    "CustomDate0": {
+        "time": 1.499424303E9,
+        "year": 1922.0,
+        "month": 12.0,
+        "day": 6.0,
+        "hour": 10.0,
+        "minute": 45.0,
+        "second": 2.0,
+        "milliSecond": 123.0
+    },
+    "CustomDate1": {
+        "dateValue": {
+            "time": 1.499424303E9,
+            "year": 1922.0,
+            "month": 12.0,
+            "day": 6.0,
+            "hour": 10.0,
+            "minute": 45.0,
+            "second": 2.0,
+            "milliSecond": 123.0
+        },
+        "dst": true,
+        "timeZoneString": "Europe/Dublin"
+    },
+    "CustomDate2": {
+        "dateValue": {
+            "time": 1.499424303E9,
+            "year": 1922.0,
+            "month": 12.0,
+            "day": 6.0,
+            "hour": 10.0,
+            "minute": 45.0,
+            "second": 2.0,
+            "milliSecond": 123.0
+        },
+        "dst": true,
+        "timeZoneString": "Europe/Dublin",
+        "utcOffset": 3600000.0,
+        "localeLanguage": "EN",
+        "localeCountry": "IE"
+    },
+    "CustomDouble": {
+        "doubleValue": 6.71000001E8
+    },
+    "CustomFloat": {
+        "floatValue": 3000001.0
+    },
+    "CustomInteger": {
+        "intValue": -9876542.0
+    },
+    "CustomLong": {
+        "longValue": 9.223372036854776E18
+    },
+    "CustomMap": {
+        "mapValue": {
+            "here": "there",
+            "love": "hate",
+            "hello": "goodbye",
+            "good": "bad",
+            "summer": "winter",
+            "now": "then"
+        }
+    },
+    "CustomSet": {
+        "setValue": [
+            "I",
+            "once",
+            "saw",
+            "a",
+            "cuddly",
+            "bear",
+            "with",
+            "a",
+            "beard"
+        ]
+    },
+    "CustomString": {
+        "stringValue": "I Wandered Lonely as a Cloud added to end of string"
+    }
+}
diff --git a/testsuites/integration/integration-uservice-test/src/test/resources/events/Context_JavaEventAlbum_EventIn.json b/testsuites/integration/integration-uservice-test/src/test/resources/events/Context_JavaEventAlbum_EventIn.json
new file mode 100644 (file)
index 0000000..566ba91
--- /dev/null
@@ -0,0 +1,97 @@
+{
+    "nameSpace": "org.onap.policy.apex.test",
+    "name": "Test_InputEvent",
+    "version": "0.0.1",
+    "source": "test",
+    "target": "apex",
+    "CustomMap": {
+        "mapValue": {
+            "hello": "goodbye",
+            "here": "there",
+            "now": "then"
+        }
+    },
+    "CustomJLong": {
+        "longValue": 9223372036854775807
+    },
+    "CustomFloat": {
+        "floatValue": 3E6
+    },
+    "CustomString": {
+        "stringValue": "I Wandered Lonely as a Cloud"
+    },
+    "CustomBoolean": {
+        "flag": false
+    },
+    "CustomInteger": {
+        "intValue": -9876543
+    },
+    "CustomSet": {
+        "setValue": [
+            "I",
+            "once",
+            "saw",
+            "a",
+            "cuddly",
+            "bear"
+        ]
+    },
+    "CustomByte": {
+        "byteValue": 127
+    },
+    "CustomDate2": {
+        "dateValue": {
+            "time": 1499424303,
+            "year": 2017,
+            "month": 6,
+            "day": 7,
+            "hour": 10,
+            "minute": 45,
+            "second": 2,
+            "milliSecond": 123
+        },
+        "timeZoneString": "Europe/Dublin",
+        "dst": true,
+        "utcOffset": 3600000,
+        "localeLanguage": "EN",
+        "localeCountry": "IE"
+    },
+    "CustomDate0": {
+        "time": 1499424303,
+        "year": 2017,
+        "month": 6,
+        "day": 7,
+        "hour": 10,
+        "minute": 45,
+        "second": 2,
+        "milliSecond": 123
+    },
+    "CustomDate1": {
+        "dateValue": {
+            "time": 1499424303,
+            "year": 2017,
+            "month": 6,
+            "day": 7,
+            "hour": 10,
+            "minute": 45,
+            "second": 2,
+            "milliSecond": 123
+        },
+        "timeZoneString": "Europe/Dublin",
+        "dst": true
+    },
+    "CustomDouble": {
+        "doubleValue": 6.71E8
+    },
+    "CustomLong": {
+        "longValue": 9223372036854775807
+    },
+    "JavaBoolean": false,
+    "JavaByte": -128,
+    "JavaShort": 32000,
+    "JavaInteger": 1234567,
+    "JavaLong": 1234567890123,
+    "JavaFloat": 2e23,
+    "JavaDouble": 1.2345e67,
+    "JavaString": "The four green provinces of Ireland"
+}
diff --git a/testsuites/integration/integration-uservice-test/src/test/resources/events/Context_JavaEventAlbum_EventOutCompare.json b/testsuites/integration/integration-uservice-test/src/test/resources/events/Context_JavaEventAlbum_EventOutCompare.json
new file mode 100644 (file)
index 0000000..1a06ec6
--- /dev/null
@@ -0,0 +1,102 @@
+{
+    "name": "Test_OutputEvent",
+    "version": "0.0.1",
+    "nameSpace": "org.onap.policy.apex.test",
+    "source": "External",
+    "target": "Apex",
+    "CustomBoolean": {
+        "flag": false
+    },
+    "CustomByte": {
+        "byteValue": -128
+    },
+    "CustomDate0": {
+        "time": 1499868391,
+        "year": 1970,
+        "month": 0,
+        "day": 18,
+        "hour": 8,
+        "minute": 37,
+        "second": 48,
+        "milliSecond": 391
+    },
+    "CustomDate1": {
+        "dateValue": {
+            "time": 1499868391,
+            "year": 1970,
+            "month": 0,
+            "day": 18,
+            "hour": 8,
+            "minute": 37,
+            "second": 48,
+            "milliSecond": 391
+        },
+        "timeZoneString": "Greenwich Mean Time",
+        "dst": true
+    },
+    "CustomDate2": {
+        "dateValue": {
+            "time": 1499868391,
+            "year": 1970,
+            "month": 0,
+            "day": 18,
+            "hour": 8,
+            "minute": 37,
+            "second": 48,
+            "milliSecond": 391
+        },
+        "timeZoneString": "Greenwich Mean Time",
+        "dst": false,
+        "utcOffset": 0,
+        "localeLanguage": "en",
+        "localeCountry": ""
+    },
+    "CustomDouble": {
+        "doubleValue": 6.71000001E8
+    },
+    "CustomFloat": {
+        "floatValue": 3000001.0
+    },
+    "CustomInteger": {
+        "intValue": -9876542
+    },
+    "CustomJLong": {
+        "longValue": 9223372036854775807
+    },
+    "CustomLong": {
+        "longValue": 9223372036854775807
+    },
+    "CustomMap": {
+        "mapValue": {
+            "hello": "goodbye",
+            "here": "there",
+            "now": "then",
+            "love": "hate",
+            "summer": "winter",
+            "good": "bad"
+        }
+    },
+    "CustomSet": {
+        "setValue": [
+            "I",
+            "a",
+            "bear",
+            "beard",
+            "cuddly",
+            "once",
+            "saw",
+            "with"
+        ]
+    },
+    "CustomString": {
+        "stringValue": "I Wandered Lonely as a Cloud added to end of string"
+    },
+    "JavaBoolean": true,
+    "JavaByte": -127,
+    "JavaDouble": 1.2345E67,
+    "JavaFloat": 2.0E23,
+    "JavaInteger": 1234568,
+    "JavaLong": 1234567890124,
+    "JavaShort": 32001,
+    "JavaString": "The four green provinces of Ireland added to end of string"
+}
diff --git a/testsuites/integration/integration-uservice-test/src/test/resources/events/EventsIn.json b/testsuites/integration/integration-uservice-test/src/test/resources/events/EventsIn.json
new file mode 100644 (file)
index 0000000..f0a0a3d
--- /dev/null
@@ -0,0 +1,1100 @@
+{
+    "nameSpace": "org.onap.policy.apex.sample.events",
+    "name": "Event0100",
+    "version": "0.0.1",
+    "source": "test",
+    "target": "apex",
+    "TestSlogan": "Test slogan for External Event1",
+    "TestMatchCase": 0,
+    "TestTimestamp": 1469781869268,
+    "TestTemperature": 8071.559
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869269,
+  "TestTemperature": 517.19727
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869269,
+  "TestTemperature": 9080.866
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869269,
+  "TestTemperature": 4263.7085
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869269,
+  "TestTemperature": 2342.069
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869269,
+  "TestTemperature": 6400.4565
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869269,
+  "TestTemperature": 9495.611
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869269,
+  "TestTemperature": 4872.2935
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869269,
+  "TestTemperature": 8130.8086
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869269,
+  "TestTemperature": 2580.434
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869269,
+  "TestTemperature": 3169.4663
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869269,
+  "TestTemperature": 4517.7646
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869269,
+  "TestTemperature": 9600.465
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869269,
+  "TestTemperature": 8720.648
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869269,
+  "TestTemperature": 1031.3821
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 959.9608
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 1483.7533
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 394.8325
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 59.376953
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 862.1466
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 8557.394
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 6732.3687
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 7155.3843
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 4896.5264
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 8457.574
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 4085.176
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 4198.338
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 105.033516
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 8219.068
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 8780.495
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 6224.9775
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 4218.1353
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 4719.9116
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 4592.7275
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 7874.2705
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 9866.951
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 7536.962
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 2430.3843
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 6369.2866
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 7396.739
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 6187.027
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 2216.0667
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 4855.6562
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 5205.6836
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 418.89252
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 5307.6343
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 7034.2065
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 7784.3804
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 3656.007
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 8538.289
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 6515.7104
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 4562.0537
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 9030.76
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 9085.617
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 1244.1838
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 9286.382
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 9573.472
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 9994.268
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 3556.8076
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 1305.1998
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 6063.7573
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 8860.109
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 1599.9061
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 4316.625
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 2753.6135
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 4469.7656
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 4155.1416
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 1627.2205
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 5554.9585
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 5863.8896
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 9095.753
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 5641.7603
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 6120.2446
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 3478.2087
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 1807.8446
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 8476.179
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 7418.1934
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 4800.719
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 8741.285
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 2099.0818
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 138.22377
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 272.6066
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 2604.9036
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 540.5176
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 1482.7478
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 1053.8315
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 6267.906
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 636.44586
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 902.7964
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 259.42923
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 6066.484
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 2918.8723
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 6470.262
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 2603.0845
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 4435.378
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 3989.0928
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 7657.731
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 6677.433
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 9456.176
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 8723.999
+}
diff --git a/testsuites/integration/integration-uservice-test/src/test/resources/events/EventsIn.xmlfile b/testsuites/integration/integration-uservice-test/src/test/resources/events/EventsIn.xmlfile
new file mode 100644 (file)
index 0000000..3c42ddc
--- /dev/null
@@ -0,0 +1,2422 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ============LICENSE_START=======================================================
+   Copyright (C) 2016-2018 Ericsson. 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.
+  
+  SPDX-License-Identifier: Apache-2.0
+  ============LICENSE_END=========================================================
+-->
+
+<!-- This file contains multiple XML documents containing events, it is used to represent a stream of events as contiguous XML documents-->
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+       <!-- This is the first event-->
+  <name>Event0100</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event1</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>3</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109829</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>5029.0977</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>3</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109831</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>9205.635</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0100</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event1</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>2</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109831</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>745.0819</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>0</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109831</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>5303.2686</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0100</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event1</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>0</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109831</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>76.91979</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>2</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109831</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>2514.586</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>1</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109831</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>5762.7017</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0100</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event1</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>2</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109831</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>2932.0693</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>2</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109831</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>4062.569</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>1</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109831</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>7330.253</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0100</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event1</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>0</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109831</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>4523.48</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0100</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event1</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>2</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109831</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>4418.4434</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0100</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event1</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>3</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109831</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>2070.6726</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>3</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109831</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>3211.3796</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>2</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109831</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>9335.347</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>2</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109831</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>7486.7</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0100</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event1</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>1</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109831</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>7916.7837</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0100</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event1</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>2</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109831</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>5593.4805</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0100</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event1</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>1</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109831</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>2392.5393</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>1</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109831</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>3407.845</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>0</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109831</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>8537.924</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>3</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109831</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>2093.1672</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>3</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109832</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>2938.2634</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>3</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109832</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>9799.69</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>0</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109832</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>3682.167</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>2</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109832</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>8614.255</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>3</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109832</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>5771.5522</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0100</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event1</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>0</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109832</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>5778.1587</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>1</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109832</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>1829.2201</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0100</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event1</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>0</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109832</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>8212.186</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>1</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109832</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>69.31722</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0100</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event1</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>3</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109832</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>2842.4954</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0100</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event1</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>1</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109832</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>1680.3956</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0100</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event1</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>0</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109832</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>2087.8213</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>1</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109832</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>954.5702</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>3</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109832</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>5469.4463</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0100</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event1</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>0</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109832</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>2140.287</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>2</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109832</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>8113.5645</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0100</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event1</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>3</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109832</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>1402.2207</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>0</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109832</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>8310.781</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0100</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event1</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>2</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109832</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>3253.3342</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>2</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109832</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>8409.392</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0100</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event1</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>1</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109832</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>8705.976</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>1</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109832</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>5108.107</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>2</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109832</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>3716.3972</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0100</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event1</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>1</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109832</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>813.75836</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>0</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109832</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>9086.392</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0100</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event1</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>3</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109832</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>5549.1143</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>2</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109832</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>6378.093</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>2</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109832</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>654.6241</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0100</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event1</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>3</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109832</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>8923.838</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>0</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109832</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>450.83167</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0100</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event1</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>0</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109832</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>1230.132</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>1</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109832</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>1167.3259</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>1</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109832</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>3186.9114</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>2</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109832</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>8806.747</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0100</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event1</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>2</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109832</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>4241.6426</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>3</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109832</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>9857.053</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>3</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109832</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>7561.059</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>2</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109832</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>1073.0768</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0100</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event1</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>3</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109833</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>6449.4272</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>3</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109833</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>5766.172</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>2</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109833</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>4786.6704</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>3</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109833</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>9645.206</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0100</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event1</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>3</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109833</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>9275.977</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>2</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109833</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>985.0705</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0100</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event1</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>0</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109833</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>8582.512</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>3</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109833</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>6540.643</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>0</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109833</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>1312.2606</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0100</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event1</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>3</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109833</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>2310.2642</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>3</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109833</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>7863.311</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>0</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109833</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>9090.517</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0100</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event1</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>2</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109833</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>874.7286</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0100</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event1</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>1</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109833</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>89.31577</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0100</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event1</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>3</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109833</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>5384.0977</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>1</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109833</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>3326.373</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>3</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109833</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>7053.2803</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>0</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109833</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>1100.3625</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0100</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event1</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>0</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109833</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>7318.115</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0100</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event1</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>1</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109833</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>7304.7827</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0100</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event1</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>0</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109833</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>2811.665</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>2</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109833</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>4690.1846</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0100</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event1</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>2</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109833</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>5624.33</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0100</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event1</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>2</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109833</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>1051.4647</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0100</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event1</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>0</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109833</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>2689.3574</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>0</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109833</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>2308.247</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>3</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109833</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>4999.671</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>1</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109833</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>3138.606</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>0</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109833</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>5719.3364</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>2</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109833</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>445.14835</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>3</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109833</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>9498.781</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>1</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109833</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>757.5476</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>2</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109833</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>227.3655</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>1</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109833</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>4751.002</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0100</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event1</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>2</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109833</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>8193.897</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>3</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109833</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>6397.872</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>3</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109833</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>6133.35</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>3</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109833</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>9280.389</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>1</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109833</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>1031.0221</value>
+  </data>
+</xmlApexEvent>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xmlApexEvent xmlns="http://www.onap.org/policy/apex-pdp/apexevent">
+  <name>Event0000</name>
+  <version>0.0.1</version>
+  <nameSpace>org.onap.policy.apex.domains.sample.events</nameSpace>
+  <source>test</source>
+  <target>apex</target>
+  <data>
+    <key>TestSlogan</key>
+    <value>Test slogan for External Event0</value>
+  </data>
+  <data>
+    <key>TestMatchCase</key>
+       <value>1</value>
+  </data>
+  <data>
+    <key>TestTimestamp</key>
+    <value>1469787109833</value>
+  </data>
+  <data>
+    <key>TestTemperature</key>
+    <value>2206.1318</value>
+  </data>
+</xmlApexEvent>
diff --git a/testsuites/integration/integration-uservice-test/src/test/resources/events/EventsOutExpected.json b/testsuites/integration/integration-uservice-test/src/test/resources/events/EventsOutExpected.json
new file mode 100644 (file)
index 0000000..4e17d58
--- /dev/null
@@ -0,0 +1,1900 @@
+{
+    "nameSpace": "org.onap.policy.apex.sample.events",
+    "name": "Event0004",
+    "version": "0.0.1",
+    "source": "Act",
+    "target": "Outside",
+    "TestActCaseSelected": 3,
+    "TestActStateTime": 1496941957859,
+    "TestTemperature": 9080.866,
+    "TestDecideCaseSelected": 1,
+    "TestMatchCaseSelected": 2,
+    "TestTimestamp": 1469781869269,
+    "TestDecideStateTime": 1496941957854,
+    "TestMatchCase": 0,
+    "TestSlogan": "Test slogan for External Event0",
+    "TestEstablishCaseSelected": 0,
+    "TestEstablishStateTime": 1496941957849,
+    "TestMatchStateTime": 1496941957843
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0004",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 3,
+  "TestActStateTime" : 1496941957859,
+  "TestTemperature" : 4263.7085,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 2,
+  "TestTimestamp" : 1469781869269,
+  "TestDecideStateTime" : 1496941957854,
+  "TestMatchCase" : 3,
+  "TestSlogan" : "Test slogan for External Event0",
+  "TestEstablishCaseSelected" : 0,
+  "TestEstablishStateTime" : 1496941957849,
+  "TestMatchStateTime" : 1496941957843
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0004",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 3,
+  "TestActStateTime" : 1496941957860,
+  "TestTemperature" : 517.19727,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 2,
+  "TestTimestamp" : 1469781869269,
+  "TestDecideStateTime" : 1496941957854,
+  "TestMatchCase" : 3,
+  "TestSlogan" : "Test slogan for External Event0",
+  "TestEstablishCaseSelected" : 0,
+  "TestEstablishStateTime" : 1496941957848,
+  "TestMatchStateTime" : 1496941957843
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0104",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 2,
+  "TestActStateTime" : 1496941957862,
+  "TestTemperature" : 8071.559,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 1,
+  "TestTimestamp" : 1469781869268,
+  "TestDecideStateTime" : 1496941957857,
+  "TestMatchCase" : 0,
+  "TestSlogan" : "Test slogan for External Event1",
+  "TestEstablishCaseSelected" : 3,
+  "TestEstablishStateTime" : 1496941957848,
+  "TestMatchStateTime" : 1496941957843
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0004",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 3,
+  "TestActStateTime" : 1496941957866,
+  "TestTemperature" : 2342.069,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 2,
+  "TestTimestamp" : 1469781869269,
+  "TestDecideStateTime" : 1496941957865,
+  "TestMatchCase" : 3,
+  "TestSlogan" : "Test slogan for External Event0",
+  "TestEstablishCaseSelected" : 0,
+  "TestEstablishStateTime" : 1496941957864,
+  "TestMatchStateTime" : 1496941957862
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0004",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 3,
+  "TestActStateTime" : 1496941957866,
+  "TestTemperature" : 6400.4565,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 2,
+  "TestTimestamp" : 1469781869269,
+  "TestDecideStateTime" : 1496941957865,
+  "TestMatchCase" : 3,
+  "TestSlogan" : "Test slogan for External Event0",
+  "TestEstablishCaseSelected" : 0,
+  "TestEstablishStateTime" : 1496941957864,
+  "TestMatchStateTime" : 1496941957862
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0004",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 3,
+  "TestActStateTime" : 1496941957867,
+  "TestTemperature" : 9495.611,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 2,
+  "TestTimestamp" : 1469781869269,
+  "TestDecideStateTime" : 1496941957865,
+  "TestMatchCase" : 3,
+  "TestSlogan" : "Test slogan for External Event0",
+  "TestEstablishCaseSelected" : 0,
+  "TestEstablishStateTime" : 1496941957864,
+  "TestMatchStateTime" : 1496941957862
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0004",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 3,
+  "TestActStateTime" : 1496941957870,
+  "TestTemperature" : 3169.4663,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 2,
+  "TestTimestamp" : 1469781869269,
+  "TestDecideStateTime" : 1496941957870,
+  "TestMatchCase" : 1,
+  "TestSlogan" : "Test slogan for External Event0",
+  "TestEstablishCaseSelected" : 0,
+  "TestEstablishStateTime" : 1496941957869,
+  "TestMatchStateTime" : 1496941957868
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0004",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 3,
+  "TestActStateTime" : 1496941957871,
+  "TestTemperature" : 2580.434,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 2,
+  "TestTimestamp" : 1469781869269,
+  "TestDecideStateTime" : 1496941957870,
+  "TestMatchCase" : 3,
+  "TestSlogan" : "Test slogan for External Event0",
+  "TestEstablishCaseSelected" : 0,
+  "TestEstablishStateTime" : 1496941957869,
+  "TestMatchStateTime" : 1496941957868
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0004",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 3,
+  "TestActStateTime" : 1496941957892,
+  "TestTemperature" : 4872.2935,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 2,
+  "TestTimestamp" : 1469781869269,
+  "TestDecideStateTime" : 1496941957878,
+  "TestMatchCase" : 1,
+  "TestSlogan" : "Test slogan for External Event0",
+  "TestEstablishCaseSelected" : 0,
+  "TestEstablishStateTime" : 1496941957872,
+  "TestMatchStateTime" : 1496941957867
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0104",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 2,
+  "TestActStateTime" : 1496941957894,
+  "TestTemperature" : 4517.7646,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 1,
+  "TestTimestamp" : 1469781869269,
+  "TestDecideStateTime" : 1496941957889,
+  "TestMatchCase" : 1,
+  "TestSlogan" : "Test slogan for External Event1",
+  "TestEstablishCaseSelected" : 3,
+  "TestEstablishStateTime" : 1496941957882,
+  "TestMatchStateTime" : 1496941957877
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0004",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 3,
+  "TestActStateTime" : 1496941957898,
+  "TestTemperature" : 8720.648,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 2,
+  "TestTimestamp" : 1469781869269,
+  "TestDecideStateTime" : 1496941957896,
+  "TestMatchCase" : 1,
+  "TestSlogan" : "Test slogan for External Event0",
+  "TestEstablishCaseSelected" : 0,
+  "TestEstablishStateTime" : 1496941957895,
+  "TestMatchStateTime" : 1496941957894
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0104",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 2,
+  "TestActStateTime" : 1496941957898,
+  "TestTemperature" : 8130.8086,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 1,
+  "TestTimestamp" : 1469781869269,
+  "TestDecideStateTime" : 1496941957893,
+  "TestMatchCase" : 3,
+  "TestSlogan" : "Test slogan for External Event1",
+  "TestEstablishCaseSelected" : 3,
+  "TestEstablishStateTime" : 1496941957877,
+  "TestMatchStateTime" : 1496941957872
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0104",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 2,
+  "TestActStateTime" : 1496941957901,
+  "TestTemperature" : 1031.3821,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 1,
+  "TestTimestamp" : 1469781869269,
+  "TestDecideStateTime" : 1496941957900,
+  "TestMatchCase" : 1,
+  "TestSlogan" : "Test slogan for External Event1",
+  "TestEstablishCaseSelected" : 3,
+  "TestEstablishStateTime" : 1496941957899,
+  "TestMatchStateTime" : 1496941957896
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0104",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 2,
+  "TestActStateTime" : 1496941957904,
+  "TestTemperature" : 1483.7533,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 1,
+  "TestTimestamp" : 1469781869270,
+  "TestDecideStateTime" : 1496941957903,
+  "TestMatchCase" : 3,
+  "TestSlogan" : "Test slogan for External Event1",
+  "TestEstablishCaseSelected" : 3,
+  "TestEstablishStateTime" : 1496941957901,
+  "TestMatchStateTime" : 1496941957900
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0004",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 3,
+  "TestActStateTime" : 1496941957906,
+  "TestTemperature" : 394.8325,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 2,
+  "TestTimestamp" : 1469781869270,
+  "TestDecideStateTime" : 1496941957905,
+  "TestMatchCase" : 3,
+  "TestSlogan" : "Test slogan for External Event0",
+  "TestEstablishCaseSelected" : 0,
+  "TestEstablishStateTime" : 1496941957904,
+  "TestMatchStateTime" : 1496941957903
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0004",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 3,
+  "TestActStateTime" : 1496941957909,
+  "TestTemperature" : 59.376953,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 2,
+  "TestTimestamp" : 1469781869270,
+  "TestDecideStateTime" : 1496941957908,
+  "TestMatchCase" : 1,
+  "TestSlogan" : "Test slogan for External Event0",
+  "TestEstablishCaseSelected" : 0,
+  "TestEstablishStateTime" : 1496941957907,
+  "TestMatchStateTime" : 1496941957906
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0104",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 2,
+  "TestActStateTime" : 1496941957908,
+  "TestTemperature" : 959.9608,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 1,
+  "TestTimestamp" : 1469781869270,
+  "TestDecideStateTime" : 1496941957904,
+  "TestMatchCase" : 3,
+  "TestSlogan" : "Test slogan for External Event1",
+  "TestEstablishCaseSelected" : 3,
+  "TestEstablishStateTime" : 1496941957901,
+  "TestMatchStateTime" : 1496941957900
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0004",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 3,
+  "TestActStateTime" : 1496941957911,
+  "TestTemperature" : 862.1466,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 2,
+  "TestTimestamp" : 1469781869270,
+  "TestDecideStateTime" : 1496941957910,
+  "TestMatchCase" : 3,
+  "TestSlogan" : "Test slogan for External Event0",
+  "TestEstablishCaseSelected" : 0,
+  "TestEstablishStateTime" : 1496941957909,
+  "TestMatchStateTime" : 1496941957908
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0004",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 3,
+  "TestActStateTime" : 1496941957914,
+  "TestTemperature" : 6732.3687,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 2,
+  "TestTimestamp" : 1469781869270,
+  "TestDecideStateTime" : 1496941957913,
+  "TestMatchCase" : 0,
+  "TestSlogan" : "Test slogan for External Event0",
+  "TestEstablishCaseSelected" : 0,
+  "TestEstablishStateTime" : 1496941957912,
+  "TestMatchStateTime" : 1496941957911
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0104",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 2,
+  "TestActStateTime" : 1496941957914,
+  "TestTemperature" : 8557.394,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 1,
+  "TestTimestamp" : 1469781869270,
+  "TestDecideStateTime" : 1496941957913,
+  "TestMatchCase" : 0,
+  "TestSlogan" : "Test slogan for External Event1",
+  "TestEstablishCaseSelected" : 3,
+  "TestEstablishStateTime" : 1496941957912,
+  "TestMatchStateTime" : 1496941957911
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0104",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 2,
+  "TestActStateTime" : 1496941957915,
+  "TestTemperature" : 7155.3843,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 1,
+  "TestTimestamp" : 1469781869270,
+  "TestDecideStateTime" : 1496941957915,
+  "TestMatchCase" : 2,
+  "TestSlogan" : "Test slogan for External Event1",
+  "TestEstablishCaseSelected" : 3,
+  "TestEstablishStateTime" : 1496941957914,
+  "TestMatchStateTime" : 1496941957913
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0104",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 2,
+  "TestActStateTime" : 1496941957920,
+  "TestTemperature" : 4085.176,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 1,
+  "TestTimestamp" : 1469781869270,
+  "TestDecideStateTime" : 1496941957919,
+  "TestMatchCase" : 0,
+  "TestSlogan" : "Test slogan for External Event1",
+  "TestEstablishCaseSelected" : 3,
+  "TestEstablishStateTime" : 1496941957918,
+  "TestMatchStateTime" : 1496941957917
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0104",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 2,
+  "TestActStateTime" : 1496941957919,
+  "TestTemperature" : 8457.574,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 1,
+  "TestTimestamp" : 1469781869270,
+  "TestDecideStateTime" : 1496941957918,
+  "TestMatchCase" : 0,
+  "TestSlogan" : "Test slogan for External Event1",
+  "TestEstablishCaseSelected" : 3,
+  "TestEstablishStateTime" : 1496941957917,
+  "TestMatchStateTime" : 1496941957916
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0004",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 3,
+  "TestActStateTime" : 1496941957920,
+  "TestTemperature" : 4896.5264,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 2,
+  "TestTimestamp" : 1469781869270,
+  "TestDecideStateTime" : 1496941957919,
+  "TestMatchCase" : 3,
+  "TestSlogan" : "Test slogan for External Event0",
+  "TestEstablishCaseSelected" : 0,
+  "TestEstablishStateTime" : 1496941957917,
+  "TestMatchStateTime" : 1496941957916
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0104",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 2,
+  "TestActStateTime" : 1496941957923,
+  "TestTemperature" : 4198.338,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 1,
+  "TestTimestamp" : 1469781869270,
+  "TestDecideStateTime" : 1496941957922,
+  "TestMatchCase" : 1,
+  "TestSlogan" : "Test slogan for External Event1",
+  "TestEstablishCaseSelected" : 3,
+  "TestEstablishStateTime" : 1496941957921,
+  "TestMatchStateTime" : 1496941957921
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0004",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 3,
+  "TestActStateTime" : 1496941957923,
+  "TestTemperature" : 105.033516,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 2,
+  "TestTimestamp" : 1469781869270,
+  "TestDecideStateTime" : 1496941957922,
+  "TestMatchCase" : 3,
+  "TestSlogan" : "Test slogan for External Event0",
+  "TestEstablishCaseSelected" : 0,
+  "TestEstablishStateTime" : 1496941957922,
+  "TestMatchStateTime" : 1496941957921
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0104",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 2,
+  "TestActStateTime" : 1496941957922,
+  "TestTemperature" : 9600.465,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 1,
+  "TestTimestamp" : 1469781869269,
+  "TestDecideStateTime" : 1496941957891,
+  "TestMatchCase" : 3,
+  "TestSlogan" : "Test slogan for External Event1",
+  "TestEstablishCaseSelected" : 3,
+  "TestEstablishStateTime" : 1496941957885,
+  "TestMatchStateTime" : 1496941957877
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0004",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 3,
+  "TestActStateTime" : 1496941957926,
+  "TestTemperature" : 8780.495,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 2,
+  "TestTimestamp" : 1469781869270,
+  "TestDecideStateTime" : 1496941957925,
+  "TestMatchCase" : 0,
+  "TestSlogan" : "Test slogan for External Event0",
+  "TestEstablishCaseSelected" : 0,
+  "TestEstablishStateTime" : 1496941957925,
+  "TestMatchStateTime" : 1496941957924
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0104",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 2,
+  "TestActStateTime" : 1496941957926,
+  "TestTemperature" : 8219.068,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 1,
+  "TestTimestamp" : 1469781869270,
+  "TestDecideStateTime" : 1496941957925,
+  "TestMatchCase" : 1,
+  "TestSlogan" : "Test slogan for External Event1",
+  "TestEstablishCaseSelected" : 3,
+  "TestEstablishStateTime" : 1496941957924,
+  "TestMatchStateTime" : 1496941957923
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0104",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 2,
+  "TestActStateTime" : 1496941957928,
+  "TestTemperature" : 6224.9775,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 1,
+  "TestTimestamp" : 1469781869270,
+  "TestDecideStateTime" : 1496941957927,
+  "TestMatchCase" : 0,
+  "TestSlogan" : "Test slogan for External Event1",
+  "TestEstablishCaseSelected" : 3,
+  "TestEstablishStateTime" : 1496941957926,
+  "TestMatchStateTime" : 1496941957925
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0104",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 2,
+  "TestActStateTime" : 1496941957930,
+  "TestTemperature" : 4719.9116,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 1,
+  "TestTimestamp" : 1469781869270,
+  "TestDecideStateTime" : 1496941957929,
+  "TestMatchCase" : 1,
+  "TestSlogan" : "Test slogan for External Event1",
+  "TestEstablishCaseSelected" : 3,
+  "TestEstablishStateTime" : 1496941957929,
+  "TestMatchStateTime" : 1496941957928
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0104",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 2,
+  "TestActStateTime" : 1496941957931,
+  "TestTemperature" : 4592.7275,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 1,
+  "TestTimestamp" : 1469781869270,
+  "TestDecideStateTime" : 1496941957930,
+  "TestMatchCase" : 2,
+  "TestSlogan" : "Test slogan for External Event1",
+  "TestEstablishCaseSelected" : 3,
+  "TestEstablishStateTime" : 1496941957929,
+  "TestMatchStateTime" : 1496941957928
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0104",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 2,
+  "TestActStateTime" : 1496941957931,
+  "TestTemperature" : 4218.1353,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 1,
+  "TestTimestamp" : 1469781869270,
+  "TestDecideStateTime" : 1496941957930,
+  "TestMatchCase" : 3,
+  "TestSlogan" : "Test slogan for External Event1",
+  "TestEstablishCaseSelected" : 3,
+  "TestEstablishStateTime" : 1496941957928,
+  "TestMatchStateTime" : 1496941957927
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0004",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 3,
+  "TestActStateTime" : 1496941957932,
+  "TestTemperature" : 7874.2705,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 2,
+  "TestTimestamp" : 1469781869270,
+  "TestDecideStateTime" : 1496941957931,
+  "TestMatchCase" : 1,
+  "TestSlogan" : "Test slogan for External Event0",
+  "TestEstablishCaseSelected" : 0,
+  "TestEstablishStateTime" : 1496941957930,
+  "TestMatchStateTime" : 1496941957929
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0104",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 2,
+  "TestActStateTime" : 1496941957935,
+  "TestTemperature" : 9866.951,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 1,
+  "TestTimestamp" : 1469781869270,
+  "TestDecideStateTime" : 1496941957934,
+  "TestMatchCase" : 2,
+  "TestSlogan" : "Test slogan for External Event1",
+  "TestEstablishCaseSelected" : 3,
+  "TestEstablishStateTime" : 1496941957933,
+  "TestMatchStateTime" : 1496941957932
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0004",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 3,
+  "TestActStateTime" : 1496941957935,
+  "TestTemperature" : 6369.2866,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 2,
+  "TestTimestamp" : 1469781869270,
+  "TestDecideStateTime" : 1496941957934,
+  "TestMatchCase" : 2,
+  "TestSlogan" : "Test slogan for External Event0",
+  "TestEstablishCaseSelected" : 0,
+  "TestEstablishStateTime" : 1496941957934,
+  "TestMatchStateTime" : 1496941957933
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0004",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 3,
+  "TestActStateTime" : 1496941957935,
+  "TestTemperature" : 7536.962,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 2,
+  "TestTimestamp" : 1469781869270,
+  "TestDecideStateTime" : 1496941957934,
+  "TestMatchCase" : 2,
+  "TestSlogan" : "Test slogan for External Event0",
+  "TestEstablishCaseSelected" : 0,
+  "TestEstablishStateTime" : 1496941957933,
+  "TestMatchStateTime" : 1496941957932
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0104",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 2,
+  "TestActStateTime" : 1496941957937,
+  "TestTemperature" : 2430.3843,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 1,
+  "TestTimestamp" : 1469781869270,
+  "TestDecideStateTime" : 1496941957934,
+  "TestMatchCase" : 1,
+  "TestSlogan" : "Test slogan for External Event1",
+  "TestEstablishCaseSelected" : 3,
+  "TestEstablishStateTime" : 1496941957933,
+  "TestMatchStateTime" : 1496941957933
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0004",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 3,
+  "TestActStateTime" : 1496941957938,
+  "TestTemperature" : 7396.739,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 2,
+  "TestTimestamp" : 1469781869270,
+  "TestDecideStateTime" : 1496941957937,
+  "TestMatchCase" : 0,
+  "TestSlogan" : "Test slogan for External Event0",
+  "TestEstablishCaseSelected" : 0,
+  "TestEstablishStateTime" : 1496941957937,
+  "TestMatchStateTime" : 1496941957936
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0104",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 2,
+  "TestActStateTime" : 1496941957939,
+  "TestTemperature" : 6187.027,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 1,
+  "TestTimestamp" : 1469781869270,
+  "TestDecideStateTime" : 1496941957938,
+  "TestMatchCase" : 2,
+  "TestSlogan" : "Test slogan for External Event1",
+  "TestEstablishCaseSelected" : 3,
+  "TestEstablishStateTime" : 1496941957937,
+  "TestMatchStateTime" : 1496941957937
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0104",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 2,
+  "TestActStateTime" : 1496941957941,
+  "TestTemperature" : 5205.6836,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 1,
+  "TestTimestamp" : 1469781869270,
+  "TestDecideStateTime" : 1496941957940,
+  "TestMatchCase" : 2,
+  "TestSlogan" : "Test slogan for External Event1",
+  "TestEstablishCaseSelected" : 3,
+  "TestEstablishStateTime" : 1496941957940,
+  "TestMatchStateTime" : 1496941957939
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0004",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 3,
+  "TestActStateTime" : 1496941957943,
+  "TestTemperature" : 418.89252,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 2,
+  "TestTimestamp" : 1469781869270,
+  "TestDecideStateTime" : 1496941957942,
+  "TestMatchCase" : 1,
+  "TestSlogan" : "Test slogan for External Event0",
+  "TestEstablishCaseSelected" : 0,
+  "TestEstablishStateTime" : 1496941957941,
+  "TestMatchStateTime" : 1496941957941
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0004",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 3,
+  "TestActStateTime" : 1496941957945,
+  "TestTemperature" : 5307.6343,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 2,
+  "TestTimestamp" : 1469781869270,
+  "TestDecideStateTime" : 1496941957944,
+  "TestMatchCase" : 2,
+  "TestSlogan" : "Test slogan for External Event0",
+  "TestEstablishCaseSelected" : 0,
+  "TestEstablishStateTime" : 1496941957943,
+  "TestMatchStateTime" : 1496941957943
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0104",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 2,
+  "TestActStateTime" : 1496941957942,
+  "TestTemperature" : 2216.0667,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 1,
+  "TestTimestamp" : 1469781869270,
+  "TestDecideStateTime" : 1496941957941,
+  "TestMatchCase" : 0,
+  "TestSlogan" : "Test slogan for External Event1",
+  "TestEstablishCaseSelected" : 3,
+  "TestEstablishStateTime" : 1496941957940,
+  "TestMatchStateTime" : 1496941957938
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0104",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 2,
+  "TestActStateTime" : 1496941957945,
+  "TestTemperature" : 7034.2065,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 1,
+  "TestTimestamp" : 1469781869270,
+  "TestDecideStateTime" : 1496941957945,
+  "TestMatchCase" : 1,
+  "TestSlogan" : "Test slogan for External Event1",
+  "TestEstablishCaseSelected" : 3,
+  "TestEstablishStateTime" : 1496941957944,
+  "TestMatchStateTime" : 1496941957944
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0104",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 2,
+  "TestActStateTime" : 1496941957946,
+  "TestTemperature" : 4855.6562,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 1,
+  "TestTimestamp" : 1469781869270,
+  "TestDecideStateTime" : 1496941957942,
+  "TestMatchCase" : 2,
+  "TestSlogan" : "Test slogan for External Event1",
+  "TestEstablishCaseSelected" : 3,
+  "TestEstablishStateTime" : 1496941957939,
+  "TestMatchStateTime" : 1496941957939
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0104",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 2,
+  "TestActStateTime" : 1496941957947,
+  "TestTemperature" : 7784.3804,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 1,
+  "TestTimestamp" : 1469781869270,
+  "TestDecideStateTime" : 1496941957947,
+  "TestMatchCase" : 0,
+  "TestSlogan" : "Test slogan for External Event1",
+  "TestEstablishCaseSelected" : 3,
+  "TestEstablishStateTime" : 1496941957946,
+  "TestMatchStateTime" : 1496941957945
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0004",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 3,
+  "TestActStateTime" : 1496941957949,
+  "TestTemperature" : 8538.289,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 2,
+  "TestTimestamp" : 1469781869270,
+  "TestDecideStateTime" : 1496941957948,
+  "TestMatchCase" : 0,
+  "TestSlogan" : "Test slogan for External Event0",
+  "TestEstablishCaseSelected" : 0,
+  "TestEstablishStateTime" : 1496941957947,
+  "TestMatchStateTime" : 1496941957947
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0104",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 2,
+  "TestActStateTime" : 1496941957951,
+  "TestTemperature" : 4562.0537,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 1,
+  "TestTimestamp" : 1469781869270,
+  "TestDecideStateTime" : 1496941957951,
+  "TestMatchCase" : 1,
+  "TestSlogan" : "Test slogan for External Event1",
+  "TestEstablishCaseSelected" : 3,
+  "TestEstablishStateTime" : 1496941957950,
+  "TestMatchStateTime" : 1496941957950
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0004",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 3,
+  "TestActStateTime" : 1496941957952,
+  "TestTemperature" : 9030.76,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 2,
+  "TestTimestamp" : 1469781869270,
+  "TestDecideStateTime" : 1496941957951,
+  "TestMatchCase" : 0,
+  "TestSlogan" : "Test slogan for External Event0",
+  "TestEstablishCaseSelected" : 0,
+  "TestEstablishStateTime" : 1496941957950,
+  "TestMatchStateTime" : 1496941957950
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0104",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 2,
+  "TestActStateTime" : 1496941957953,
+  "TestTemperature" : 9085.617,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 1,
+  "TestTimestamp" : 1469781869270,
+  "TestDecideStateTime" : 1496941957953,
+  "TestMatchCase" : 0,
+  "TestSlogan" : "Test slogan for External Event1",
+  "TestEstablishCaseSelected" : 3,
+  "TestEstablishStateTime" : 1496941957953,
+  "TestMatchStateTime" : 1496941957952
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0004",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 3,
+  "TestActStateTime" : 1496941957949,
+  "TestTemperature" : 3656.007,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 2,
+  "TestTimestamp" : 1469781869270,
+  "TestDecideStateTime" : 1496941957948,
+  "TestMatchCase" : 3,
+  "TestSlogan" : "Test slogan for External Event0",
+  "TestEstablishCaseSelected" : 0,
+  "TestEstablishStateTime" : 1496941957947,
+  "TestMatchStateTime" : 1496941957947
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0004",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 3,
+  "TestActStateTime" : 1496941957956,
+  "TestTemperature" : 9286.382,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 2,
+  "TestTimestamp" : 1469781869270,
+  "TestDecideStateTime" : 1496941957955,
+  "TestMatchCase" : 1,
+  "TestSlogan" : "Test slogan for External Event0",
+  "TestEstablishCaseSelected" : 0,
+  "TestEstablishStateTime" : 1496941957955,
+  "TestMatchStateTime" : 1496941957954
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0004",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 3,
+  "TestActStateTime" : 1496941957956,
+  "TestTemperature" : 6515.7104,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 2,
+  "TestTimestamp" : 1469781869270,
+  "TestDecideStateTime" : 1496941957949,
+  "TestMatchCase" : 2,
+  "TestSlogan" : "Test slogan for External Event0",
+  "TestEstablishCaseSelected" : 0,
+  "TestEstablishStateTime" : 1496941957948,
+  "TestMatchStateTime" : 1496941957948
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0004",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 3,
+  "TestActStateTime" : 1496941957957,
+  "TestTemperature" : 1244.1838,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 2,
+  "TestTimestamp" : 1469781869270,
+  "TestDecideStateTime" : 1496941957956,
+  "TestMatchCase" : 3,
+  "TestSlogan" : "Test slogan for External Event0",
+  "TestEstablishCaseSelected" : 0,
+  "TestEstablishStateTime" : 1496941957954,
+  "TestMatchStateTime" : 1496941957954
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0004",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 3,
+  "TestActStateTime" : 1496941957959,
+  "TestTemperature" : 9994.268,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 2,
+  "TestTimestamp" : 1469781869270,
+  "TestDecideStateTime" : 1496941957958,
+  "TestMatchCase" : 2,
+  "TestSlogan" : "Test slogan for External Event0",
+  "TestEstablishCaseSelected" : 0,
+  "TestEstablishStateTime" : 1496941957958,
+  "TestMatchStateTime" : 1496941957957
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0104",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 2,
+  "TestActStateTime" : 1496941957960,
+  "TestTemperature" : 1305.1998,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 1,
+  "TestTimestamp" : 1469781869271,
+  "TestDecideStateTime" : 1496941957959,
+  "TestMatchCase" : 3,
+  "TestSlogan" : "Test slogan for External Event1",
+  "TestEstablishCaseSelected" : 3,
+  "TestEstablishStateTime" : 1496941957959,
+  "TestMatchStateTime" : 1496941957958
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0104",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 2,
+  "TestActStateTime" : 1496941957958,
+  "TestTemperature" : 9573.472,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 1,
+  "TestTimestamp" : 1469781869270,
+  "TestDecideStateTime" : 1496941957957,
+  "TestMatchCase" : 0,
+  "TestSlogan" : "Test slogan for External Event1",
+  "TestEstablishCaseSelected" : 3,
+  "TestEstablishStateTime" : 1496941957956,
+  "TestMatchStateTime" : 1496941957955
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0104",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 2,
+  "TestActStateTime" : 1496941957960,
+  "TestTemperature" : 3556.8076,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 1,
+  "TestTimestamp" : 1469781869271,
+  "TestDecideStateTime" : 1496941957959,
+  "TestMatchCase" : 0,
+  "TestSlogan" : "Test slogan for External Event1",
+  "TestEstablishCaseSelected" : 3,
+  "TestEstablishStateTime" : 1496941957958,
+  "TestMatchStateTime" : 1496941957958
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0004",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 3,
+  "TestActStateTime" : 1496941957963,
+  "TestTemperature" : 6063.7573,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 2,
+  "TestTimestamp" : 1469781869271,
+  "TestDecideStateTime" : 1496941957962,
+  "TestMatchCase" : 3,
+  "TestSlogan" : "Test slogan for External Event0",
+  "TestEstablishCaseSelected" : 0,
+  "TestEstablishStateTime" : 1496941957961,
+  "TestMatchStateTime" : 1496941957961
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0004",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 3,
+  "TestActStateTime" : 1496941957965,
+  "TestTemperature" : 8860.109,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 2,
+  "TestTimestamp" : 1469781869271,
+  "TestDecideStateTime" : 1496941957964,
+  "TestMatchCase" : 3,
+  "TestSlogan" : "Test slogan for External Event0",
+  "TestEstablishCaseSelected" : 0,
+  "TestEstablishStateTime" : 1496941957962,
+  "TestMatchStateTime" : 1496941957961
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0004",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 3,
+  "TestActStateTime" : 1496941957966,
+  "TestTemperature" : 2753.6135,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 2,
+  "TestTimestamp" : 1469781869271,
+  "TestDecideStateTime" : 1496941957965,
+  "TestMatchCase" : 1,
+  "TestSlogan" : "Test slogan for External Event0",
+  "TestEstablishCaseSelected" : 0,
+  "TestEstablishStateTime" : 1496941957965,
+  "TestMatchStateTime" : 1496941957964
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0004",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 3,
+  "TestActStateTime" : 1496941957967,
+  "TestTemperature" : 1599.9061,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 2,
+  "TestTimestamp" : 1469781869271,
+  "TestDecideStateTime" : 1496941957966,
+  "TestMatchCase" : 3,
+  "TestSlogan" : "Test slogan for External Event0",
+  "TestEstablishCaseSelected" : 0,
+  "TestEstablishStateTime" : 1496941957963,
+  "TestMatchStateTime" : 1496941957962
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0104",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 2,
+  "TestActStateTime" : 1496941957968,
+  "TestTemperature" : 4316.625,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 1,
+  "TestTimestamp" : 1469781869271,
+  "TestDecideStateTime" : 1496941957967,
+  "TestMatchCase" : 0,
+  "TestSlogan" : "Test slogan for External Event1",
+  "TestEstablishCaseSelected" : 3,
+  "TestEstablishStateTime" : 1496941957965,
+  "TestMatchStateTime" : 1496941957963
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0104",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 2,
+  "TestActStateTime" : 1496941957969,
+  "TestTemperature" : 4469.7656,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 1,
+  "TestTimestamp" : 1469781869271,
+  "TestDecideStateTime" : 1496941957968,
+  "TestMatchCase" : 0,
+  "TestSlogan" : "Test slogan for External Event1",
+  "TestEstablishCaseSelected" : 3,
+  "TestEstablishStateTime" : 1496941957967,
+  "TestMatchStateTime" : 1496941957966
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0004",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 3,
+  "TestActStateTime" : 1496941957970,
+  "TestTemperature" : 4155.1416,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 2,
+  "TestTimestamp" : 1469781869271,
+  "TestDecideStateTime" : 1496941957969,
+  "TestMatchCase" : 0,
+  "TestSlogan" : "Test slogan for External Event0",
+  "TestEstablishCaseSelected" : 0,
+  "TestEstablishStateTime" : 1496941957968,
+  "TestMatchStateTime" : 1496941957968
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0104",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 2,
+  "TestActStateTime" : 1496941957972,
+  "TestTemperature" : 5554.9585,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 1,
+  "TestTimestamp" : 1469781869271,
+  "TestDecideStateTime" : 1496941957971,
+  "TestMatchCase" : 1,
+  "TestSlogan" : "Test slogan for External Event1",
+  "TestEstablishCaseSelected" : 3,
+  "TestEstablishStateTime" : 1496941957970,
+  "TestMatchStateTime" : 1496941957969
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0004",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 3,
+  "TestActStateTime" : 1496941957973,
+  "TestTemperature" : 5863.8896,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 2,
+  "TestTimestamp" : 1469781869271,
+  "TestDecideStateTime" : 1496941957971,
+  "TestMatchCase" : 3,
+  "TestSlogan" : "Test slogan for External Event0",
+  "TestEstablishCaseSelected" : 0,
+  "TestEstablishStateTime" : 1496941957971,
+  "TestMatchStateTime" : 1496941957970
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0104",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 2,
+  "TestActStateTime" : 1496941957973,
+  "TestTemperature" : 9095.753,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 1,
+  "TestTimestamp" : 1469781869271,
+  "TestDecideStateTime" : 1496941957973,
+  "TestMatchCase" : 0,
+  "TestSlogan" : "Test slogan for External Event1",
+  "TestEstablishCaseSelected" : 3,
+  "TestEstablishStateTime" : 1496941957972,
+  "TestMatchStateTime" : 1496941957972
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0004",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 3,
+  "TestActStateTime" : 1496941957976,
+  "TestTemperature" : 6120.2446,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 2,
+  "TestTimestamp" : 1469781869271,
+  "TestDecideStateTime" : 1496941957976,
+  "TestMatchCase" : 1,
+  "TestSlogan" : "Test slogan for External Event0",
+  "TestEstablishCaseSelected" : 0,
+  "TestEstablishStateTime" : 1496941957975,
+  "TestMatchStateTime" : 1496941957974
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0104",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 2,
+  "TestActStateTime" : 1496941957977,
+  "TestTemperature" : 3478.2087,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 1,
+  "TestTimestamp" : 1469781869271,
+  "TestDecideStateTime" : 1496941957976,
+  "TestMatchCase" : 0,
+  "TestSlogan" : "Test slogan for External Event1",
+  "TestEstablishCaseSelected" : 3,
+  "TestEstablishStateTime" : 1496941957976,
+  "TestMatchStateTime" : 1496941957975
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0004",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 3,
+  "TestActStateTime" : 1496941957976,
+  "TestTemperature" : 1627.2205,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 2,
+  "TestTimestamp" : 1469781869271,
+  "TestDecideStateTime" : 1496941957975,
+  "TestMatchCase" : 0,
+  "TestSlogan" : "Test slogan for External Event0",
+  "TestEstablishCaseSelected" : 0,
+  "TestEstablishStateTime" : 1496941957971,
+  "TestMatchStateTime" : 1496941957970
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0104",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 2,
+  "TestActStateTime" : 1496941957979,
+  "TestTemperature" : 5641.7603,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 1,
+  "TestTimestamp" : 1469781869271,
+  "TestDecideStateTime" : 1496941957976,
+  "TestMatchCase" : 2,
+  "TestSlogan" : "Test slogan for External Event1",
+  "TestEstablishCaseSelected" : 3,
+  "TestEstablishStateTime" : 1496941957975,
+  "TestMatchStateTime" : 1496941957974
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0104",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 2,
+  "TestActStateTime" : 1496941957985,
+  "TestTemperature" : 8476.179,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 1,
+  "TestTimestamp" : 1469781869271,
+  "TestDecideStateTime" : 1496941957980,
+  "TestMatchCase" : 3,
+  "TestSlogan" : "Test slogan for External Event1",
+  "TestEstablishCaseSelected" : 3,
+  "TestEstablishStateTime" : 1496941957979,
+  "TestMatchStateTime" : 1496941957978
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0004",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 3,
+  "TestActStateTime" : 1496941957987,
+  "TestTemperature" : 8741.285,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 2,
+  "TestTimestamp" : 1469781869271,
+  "TestDecideStateTime" : 1496941957986,
+  "TestMatchCase" : 1,
+  "TestSlogan" : "Test slogan for External Event0",
+  "TestEstablishCaseSelected" : 0,
+  "TestEstablishStateTime" : 1496941957986,
+  "TestMatchStateTime" : 1496941957986
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0104",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 2,
+  "TestActStateTime" : 1496941957987,
+  "TestTemperature" : 4800.719,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 1,
+  "TestTimestamp" : 1469781869271,
+  "TestDecideStateTime" : 1496941957987,
+  "TestMatchCase" : 2,
+  "TestSlogan" : "Test slogan for External Event1",
+  "TestEstablishCaseSelected" : 3,
+  "TestEstablishStateTime" : 1496941957986,
+  "TestMatchStateTime" : 1496941957986
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0004",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 3,
+  "TestActStateTime" : 1496941957988,
+  "TestTemperature" : 2099.0818,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 2,
+  "TestTimestamp" : 1469781869271,
+  "TestDecideStateTime" : 1496941957988,
+  "TestMatchCase" : 2,
+  "TestSlogan" : "Test slogan for External Event0",
+  "TestEstablishCaseSelected" : 0,
+  "TestEstablishStateTime" : 1496941957988,
+  "TestMatchStateTime" : 1496941957987
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0004",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 3,
+  "TestActStateTime" : 1496941957980,
+  "TestTemperature" : 1807.8446,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 2,
+  "TestTimestamp" : 1469781869271,
+  "TestDecideStateTime" : 1496941957979,
+  "TestMatchCase" : 3,
+  "TestSlogan" : "Test slogan for External Event0",
+  "TestEstablishCaseSelected" : 0,
+  "TestEstablishStateTime" : 1496941957978,
+  "TestMatchStateTime" : 1496941957978
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0104",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 2,
+  "TestActStateTime" : 1496941957990,
+  "TestTemperature" : 272.6066,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 1,
+  "TestTimestamp" : 1469781869271,
+  "TestDecideStateTime" : 1496941957990,
+  "TestMatchCase" : 1,
+  "TestSlogan" : "Test slogan for External Event1",
+  "TestEstablishCaseSelected" : 3,
+  "TestEstablishStateTime" : 1496941957989,
+  "TestMatchStateTime" : 1496941957989
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0104",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 2,
+  "TestActStateTime" : 1496941957990,
+  "TestTemperature" : 7418.1934,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 1,
+  "TestTimestamp" : 1469781869271,
+  "TestDecideStateTime" : 1496941957990,
+  "TestMatchCase" : 0,
+  "TestSlogan" : "Test slogan for External Event1",
+  "TestEstablishCaseSelected" : 3,
+  "TestEstablishStateTime" : 1496941957989,
+  "TestMatchStateTime" : 1496941957979
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0004",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 3,
+  "TestActStateTime" : 1496941957991,
+  "TestTemperature" : 2604.9036,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 2,
+  "TestTimestamp" : 1469781869271,
+  "TestDecideStateTime" : 1496941957990,
+  "TestMatchCase" : 1,
+  "TestSlogan" : "Test slogan for External Event0",
+  "TestEstablishCaseSelected" : 0,
+  "TestEstablishStateTime" : 1496941957990,
+  "TestMatchStateTime" : 1496941957989
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0004",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 3,
+  "TestActStateTime" : 1496941957991,
+  "TestTemperature" : 138.22377,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 2,
+  "TestTimestamp" : 1469781869271,
+  "TestDecideStateTime" : 1496941957990,
+  "TestMatchCase" : 1,
+  "TestSlogan" : "Test slogan for External Event0",
+  "TestEstablishCaseSelected" : 0,
+  "TestEstablishStateTime" : 1496941957988,
+  "TestMatchStateTime" : 1496941957988
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0004",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 3,
+  "TestActStateTime" : 1496941957993,
+  "TestTemperature" : 540.5176,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 2,
+  "TestTimestamp" : 1469781869271,
+  "TestDecideStateTime" : 1496941957992,
+  "TestMatchCase" : 3,
+  "TestSlogan" : "Test slogan for External Event0",
+  "TestEstablishCaseSelected" : 0,
+  "TestEstablishStateTime" : 1496941957992,
+  "TestMatchStateTime" : 1496941957991
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0104",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 2,
+  "TestActStateTime" : 1496941957994,
+  "TestTemperature" : 6267.906,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 1,
+  "TestTimestamp" : 1469781869271,
+  "TestDecideStateTime" : 1496941957993,
+  "TestMatchCase" : 0,
+  "TestSlogan" : "Test slogan for External Event1",
+  "TestEstablishCaseSelected" : 3,
+  "TestEstablishStateTime" : 1496941957993,
+  "TestMatchStateTime" : 1496941957992
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0004",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 3,
+  "TestActStateTime" : 1496941957994,
+  "TestTemperature" : 1053.8315,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 2,
+  "TestTimestamp" : 1469781869271,
+  "TestDecideStateTime" : 1496941957993,
+  "TestMatchCase" : 3,
+  "TestSlogan" : "Test slogan for External Event0",
+  "TestEstablishCaseSelected" : 0,
+  "TestEstablishStateTime" : 1496941957993,
+  "TestMatchStateTime" : 1496941957993
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0004",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 3,
+  "TestActStateTime" : 1496941957995,
+  "TestTemperature" : 1482.7478,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 2,
+  "TestTimestamp" : 1469781869271,
+  "TestDecideStateTime" : 1496941957994,
+  "TestMatchCase" : 2,
+  "TestSlogan" : "Test slogan for External Event0",
+  "TestEstablishCaseSelected" : 0,
+  "TestEstablishStateTime" : 1496941957994,
+  "TestMatchStateTime" : 1496941957993
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0004",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 3,
+  "TestActStateTime" : 1496941957995,
+  "TestTemperature" : 636.44586,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 2,
+  "TestTimestamp" : 1469781869271,
+  "TestDecideStateTime" : 1496941957995,
+  "TestMatchCase" : 3,
+  "TestSlogan" : "Test slogan for External Event0",
+  "TestEstablishCaseSelected" : 0,
+  "TestEstablishStateTime" : 1496941957994,
+  "TestMatchStateTime" : 1496941957994
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0104",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 2,
+  "TestActStateTime" : 1496941957996,
+  "TestTemperature" : 259.42923,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 1,
+  "TestTimestamp" : 1469781869271,
+  "TestDecideStateTime" : 1496941957996,
+  "TestMatchCase" : 3,
+  "TestSlogan" : "Test slogan for External Event1",
+  "TestEstablishCaseSelected" : 3,
+  "TestEstablishStateTime" : 1496941957995,
+  "TestMatchStateTime" : 1496941957995
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0104",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 2,
+  "TestActStateTime" : 1496941957997,
+  "TestTemperature" : 902.7964,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 1,
+  "TestTimestamp" : 1469781869271,
+  "TestDecideStateTime" : 1496941957996,
+  "TestMatchCase" : 3,
+  "TestSlogan" : "Test slogan for External Event1",
+  "TestEstablishCaseSelected" : 3,
+  "TestEstablishStateTime" : 1496941957996,
+  "TestMatchStateTime" : 1496941957995
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0104",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 2,
+  "TestActStateTime" : 1496941957997,
+  "TestTemperature" : 6066.484,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 1,
+  "TestTimestamp" : 1469781869271,
+  "TestDecideStateTime" : 1496941957997,
+  "TestMatchCase" : 3,
+  "TestSlogan" : "Test slogan for External Event1",
+  "TestEstablishCaseSelected" : 3,
+  "TestEstablishStateTime" : 1496941957996,
+  "TestMatchStateTime" : 1496941957996
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0004",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 3,
+  "TestActStateTime" : 1496941957998,
+  "TestTemperature" : 2918.8723,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 2,
+  "TestTimestamp" : 1469781869271,
+  "TestDecideStateTime" : 1496941957997,
+  "TestMatchCase" : 0,
+  "TestSlogan" : "Test slogan for External Event0",
+  "TestEstablishCaseSelected" : 0,
+  "TestEstablishStateTime" : 1496941957997,
+  "TestMatchStateTime" : 1496941957996
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0004",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 3,
+  "TestActStateTime" : 1496941957999,
+  "TestTemperature" : 2603.0845,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 2,
+  "TestTimestamp" : 1469781869271,
+  "TestDecideStateTime" : 1496941957999,
+  "TestMatchCase" : 3,
+  "TestSlogan" : "Test slogan for External Event0",
+  "TestEstablishCaseSelected" : 0,
+  "TestEstablishStateTime" : 1496941957998,
+  "TestMatchStateTime" : 1496941957998
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0004",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 3,
+  "TestActStateTime" : 1496941958000,
+  "TestTemperature" : 3989.0928,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 2,
+  "TestTimestamp" : 1469781869271,
+  "TestDecideStateTime" : 1496941958000,
+  "TestMatchCase" : 0,
+  "TestSlogan" : "Test slogan for External Event0",
+  "TestEstablishCaseSelected" : 0,
+  "TestEstablishStateTime" : 1496941957999,
+  "TestMatchStateTime" : 1496941957999
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0004",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 3,
+  "TestActStateTime" : 1496941958000,
+  "TestTemperature" : 4435.378,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 2,
+  "TestTimestamp" : 1469781869271,
+  "TestDecideStateTime" : 1496941957999,
+  "TestMatchCase" : 0,
+  "TestSlogan" : "Test slogan for External Event0",
+  "TestEstablishCaseSelected" : 0,
+  "TestEstablishStateTime" : 1496941957999,
+  "TestMatchStateTime" : 1496941957998
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0104",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 2,
+  "TestActStateTime" : 1496941958002,
+  "TestTemperature" : 7657.731,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 1,
+  "TestTimestamp" : 1469781869271,
+  "TestDecideStateTime" : 1496941958001,
+  "TestMatchCase" : 3,
+  "TestSlogan" : "Test slogan for External Event1",
+  "TestEstablishCaseSelected" : 3,
+  "TestEstablishStateTime" : 1496941958001,
+  "TestMatchStateTime" : 1496941958000
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0104",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 2,
+  "TestActStateTime" : 1496941958003,
+  "TestTemperature" : 6677.433,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 1,
+  "TestTimestamp" : 1469781869271,
+  "TestDecideStateTime" : 1496941958002,
+  "TestMatchCase" : 2,
+  "TestSlogan" : "Test slogan for External Event1",
+  "TestEstablishCaseSelected" : 3,
+  "TestEstablishStateTime" : 1496941958002,
+  "TestMatchStateTime" : 1496941958001
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0004",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 3,
+  "TestActStateTime" : 1496941958000,
+  "TestTemperature" : 6470.262,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 2,
+  "TestTimestamp" : 1469781869271,
+  "TestDecideStateTime" : 1496941957998,
+  "TestMatchCase" : 2,
+  "TestSlogan" : "Test slogan for External Event0",
+  "TestEstablishCaseSelected" : 0,
+  "TestEstablishStateTime" : 1496941957998,
+  "TestMatchStateTime" : 1496941957997
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0004",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 3,
+  "TestActStateTime" : 1496941958004,
+  "TestTemperature" : 8723.999,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 2,
+  "TestTimestamp" : 1469781869271,
+  "TestDecideStateTime" : 1496941958004,
+  "TestMatchCase" : 3,
+  "TestSlogan" : "Test slogan for External Event0",
+  "TestEstablishCaseSelected" : 0,
+  "TestEstablishStateTime" : 1496941958003,
+  "TestMatchStateTime" : 1496941958003
+}
+{
+  "nameSpace" : "org.onap.policy.apex.sample.events",
+  "name" : "Event0104",
+  "version" : "0.0.1",
+  "source" : "Act",
+  "target" : "Outside",
+  "TestActCaseSelected" : 2,
+  "TestActStateTime" : 1496941958004,
+  "TestTemperature" : 9456.176,
+  "TestDecideCaseSelected" : 1,
+  "TestMatchCaseSelected" : 1,
+  "TestTimestamp" : 1469781869271,
+  "TestDecideStateTime" : 1496941958004,
+  "TestMatchCase" : 0,
+  "TestSlogan" : "Test slogan for External Event1",
+  "TestEstablishCaseSelected" : 3,
+  "TestEstablishStateTime" : 1496941958003,
+  "TestMatchStateTime" : 1496941958002
+}
diff --git a/testsuites/integration/integration-uservice-test/src/test/resources/policymodels/JMSTestModel.json b/testsuites/integration/integration-uservice-test/src/test/resources/policymodels/JMSTestModel.json
new file mode 100644 (file)
index 0000000..d856304
--- /dev/null
@@ -0,0 +1,456 @@
+{
+    "apexPolicyModel": {
+        "key": {
+            "name": "JMSTestModel",
+            "version": "0.0.1"
+        },
+        "keyInformation": {
+            "key": {
+                "name": "JMSTestModel_KeyInfo",
+                "version": "0.0.1"
+            },
+            "keyInfoMap": {
+                "entry": [
+                    {
+                        "key": {
+                            "name": "JMSCopyInOutTask",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "JMSCopyInOutTask",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "b59815ef-fc5b-4e44-9f6e-2f6212bb7296",
+                            "description": "Generated description for a concept called \"JMSCopyInOutTask\" with version \"null\" and UUID \"b59815ef-fc5b-4e44-9f6e-2f6212bb7296\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "JMSTestModel",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "JMSTestModel",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "a731a845-f984-46a9-adf4-c6c7ca0baa0d",
+                            "description": "Generated description for a concept called \"JMSTestModel\" with version \"null\" and UUID \"a731a845-f984-46a9-adf4-c6c7ca0baa0d\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "JMSTestModel_Albums",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "JMSTestModel_Albums",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "b580c2e2-067e-452c-8410-d69344fa718c",
+                            "description": "Generated description for concept referred to by key \"JMSTestModel_Albums:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "JMSTestModel_Events",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "JMSTestModel_Events",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "463f3fa6-2be3-4ded-a015-1f045ee8991e",
+                            "description": "Generated description for concept referred to by key \"JMSTestModel_Events:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "JMSTestModel_KeyInfo",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "JMSTestModel_KeyInfo",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "b14d97fb-f215-4b70-9cd6-cbfb3ed085ee",
+                            "description": "Generated description for concept referred to by key \"JMSTestModel_KeyInfo:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "JMSTestModel_Policies",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "JMSTestModel_Policies",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "9ae9047f-e0d8-42c4-b3a6-e32954ace3b6",
+                            "description": "Generated description for concept referred to by key \"JMSTestModel_Policies:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "JMSTestModel_Schemas",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "JMSTestModel_Schemas",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "adc30c29-d4b9-4408-9213-6d86b051d59c",
+                            "description": "Generated description for concept referred to by key \"JMSTestModel_Schemas:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "JMSTestModel_Tasks",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "JMSTestModel_Tasks",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "c3545f15-710c-4339-9a4e-e0eacffac52e",
+                            "description": "Generated description for concept referred to by key \"JMSTestModel_Tasks:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "JMSTestPolicy",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "JMSTestPolicy",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "fdda6a40-6767-45b0-8703-3b5b3bafaf19",
+                            "description": "Generated description for a concept called \"JMSTestPolicy\" with version \"null\" and UUID \"fdda6a40-6767-45b0-8703-3b5b3bafaf19\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "TestPingIncomingEvent",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestPingIncomingEvent",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "6cdd11f3-5fe8-4510-81b9-af3be303ebae",
+                            "description": "Generated description for a concept called \"TestPingIncomingEvent\" with version \"null\" and UUID \"6cdd11f3-5fe8-4510-81b9-af3be303ebae\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "TestPingOutgoingEvent",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestPingOutgoingEvent",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "dc04de01-2284-4461-9fe2-da58a2122a73",
+                            "description": "Generated description for a concept called \"TestPingOutgoingEvent\" with version \"0.0.1\" and UUID \"dc04de01-2284-4461-9fe2-da58a2122a73\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "TestPingType",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestPingType",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "bdc2f70a-de52-4127-8012-b9593657da3c",
+                            "description": "Generated description for a concept called \"TestPingType\" with version \"null\" and UUID \"bdc2f70a-de52-4127-8012-b9593657da3c\""
+                        }
+                    }
+                ]
+            }
+        },
+        "policies": {
+            "key": {
+                "name": "JMSTestModel_Policies",
+                "version": "0.0.1"
+            },
+            "policyMap": {
+                "entry": [
+                    {
+                        "key": {
+                            "name": "JMSTestPolicy",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "policyKey": {
+                                "name": "JMSTestPolicy",
+                                "version": "0.0.1"
+                            },
+                            "template": "FREEFORM",
+                            "state": {
+                                "entry": [
+                                    {
+                                        "key": "TestJMSState",
+                                        "value": {
+                                            "stateKey": {
+                                                "parentKeyName": "JMSTestPolicy",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "TestJMSState"
+                                            },
+                                            "trigger": {
+                                                "name": "TestPingIncomingEvent",
+                                                "version": "0.0.1"
+                                            },
+                                            "stateOutputs": {
+                                                "entry": [
+                                                    {
+                                                        "key": "InOutOutputMapping",
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "JMSTestPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "TestJMSState",
+                                                                "localName": "InOutOutputMapping"
+                                                            },
+                                                            "outgoingEvent": {
+                                                                "name": "TestPingOutgoingEvent",
+                                                                "version": "0.0.1"
+                                                            },
+                                                            "nextState": {
+                                                                "parentKeyName": "NULL",
+                                                                "parentKeyVersion": "0.0.0",
+                                                                "parentLocalName": "NULL",
+                                                                "localName": "NULL"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            },
+                                            "contextAlbumReference": [],
+                                            "taskSelectionLogic": {
+                                                "key": "NULL",
+                                                "logicFlavour": "UNDEFINED",
+                                                "logic": ""
+                                            },
+                                            "stateFinalizerLogicMap": {
+                                                "entry": []
+                                            },
+                                            "defaultTask": {
+                                                "name": "JMSCopyInOutTask",
+                                                "version": "0.0.1"
+                                            },
+                                            "taskReferences": {
+                                                "entry": [
+                                                    {
+                                                        "key": {
+                                                            "name": "JMSCopyInOutTask",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "JMSTestPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "TestJMSState",
+                                                                "localName": "InOutTask"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "JMSTestPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "TestJMSState",
+                                                                "localName": "InOutOutputMapping"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            }
+                                        }
+                                    }
+                                ]
+                            },
+                            "firstState": "TestJMSState"
+                        }
+                    }
+                ]
+            }
+        },
+        "tasks": {
+            "key": {
+                "name": "JMSTestModel_Tasks",
+                "version": "0.0.1"
+            },
+            "taskMap": {
+                "entry": [
+                    {
+                        "key": {
+                            "name": "JMSCopyInOutTask",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "JMSCopyInOutTask",
+                                "version": "0.0.1"
+                            },
+                            "inputFields": {
+                                "entry": [
+                                    {
+                                        "key": "TestPing",
+                                        "value": {
+                                            "key": "TestPing",
+                                            "fieldSchemaKey": {
+                                                "name": "TestPingType",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "outputFields": {
+                                "entry": [
+                                    {
+                                        "key": "TestPing",
+                                        "value": {
+                                            "key": "TestPing",
+                                            "fieldSchemaKey": {
+                                                "name": "TestPingType",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "taskParameters": {
+                                "entry": []
+                            },
+                            "contextAlbumReference": [],
+                            "taskLogic": {
+                                "key": "TaskLogic",
+                                "logicFlavour": "JAVASCRIPT",
+                                "logic": "var outFieldType = Java.type(\"org.onap.policy.apex.apps.uservice.test.adapt.jms.TestPing\");\nvar outValue = new outFieldType();\n\nvar inValue = executor.inFields.get(\"TestPing\");\n\nexecutor.logger.info(inValue);\n\noutValue.setPingTime(inValue.getPingTime());\noutValue.setPongTime(new Date().getTime());\noutValue.setName(inValue.getName() + \"_out\");\n\noutValue.setDescription(\ninValue.getDescription() +\n\". So Romeo would, were he not Romeo call'd,\" +\n\" retain that dear perfection which he owes, without that title.\");\n\nexecutor.logger.info(outValue);\nexecutor.outFields.put(\"TestPing\", outValue)\n\nvar returnValueType = Java.type(\"java.lang.Boolean\");\nvar returnValue = new returnValueType(true);"
+                            }
+                        }
+                    }
+                ]
+            }
+        },
+        "events": {
+            "key": {
+                "name": "JMSTestModel_Events",
+                "version": "0.0.1"
+            },
+            "eventMap": {
+                "entry": [
+                    {
+                        "key": {
+                            "name": "TestPingIncomingEvent",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestPingIncomingEvent",
+                                "version": "0.0.1"
+                            },
+                            "nameSpace": "org.onap.policy.apex.apps.uservice.test.adapt.jms",
+                            "source": "JMS",
+                            "target": "Apex",
+                            "parameter": {
+                                "entry": [
+                                    {
+                                        "key": "TestPing",
+                                        "value": {
+                                            "key": "TestPing",
+                                            "fieldSchemaKey": {
+                                                "name": "TestPingType",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "TestPingOutgoingEvent",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestPingOutgoingEvent",
+                                "version": "0.0.1"
+                            },
+                            "nameSpace": "org.onap.policy.apex.apps.uservice.test.adapt.jms",
+                            "source": "Apex",
+                            "target": "JMS",
+                            "parameter": {
+                                "entry": [
+                                    {
+                                        "key": "TestPing",
+                                        "value": {
+                                            "key": "TestPing",
+                                            "fieldSchemaKey": {
+                                                "name": "TestPingType",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            }
+                        }
+                    }
+                ]
+            }
+        },
+        "albums": {
+            "key": {
+                "name": "JMSTestModel_Albums",
+                "version": "0.0.1"
+            },
+            "albums": {
+                "entry": []
+            }
+        },
+        "schemas": {
+            "key": {
+                "name": "JMSTestModel_Schemas",
+                "version": "0.0.1"
+            },
+            "schemas": {
+                "entry": [
+                    {
+                        "key": {
+                            "name": "TestPingType",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestPingType",
+                                "version": "0.0.1"
+                            },
+                            "schemaFlavour": "Java",
+                            "schemaDefinition": "org.onap.policy.apex.apps.uservice.test.adapt.jms.TestPing"
+                        }
+                    }
+                ]
+            }
+        }
+    }
+}
diff --git a/testsuites/integration/integration-uservice-test/src/test/resources/policymodels/SamplePolicyModelMVEL.json b/testsuites/integration/integration-uservice-test/src/test/resources/policymodels/SamplePolicyModelMVEL.json
new file mode 100644 (file)
index 0000000..982444f
--- /dev/null
@@ -0,0 +1,7036 @@
+{
+    "apexPolicyModel": {
+        "key": {
+            "name": "SamplePolicyModelMVEL",
+            "version": "0.0.1"
+        },
+        "keyInformation": {
+            "key": {
+                "name": "KeyInformation",
+                "version": "0.0.1"
+            },
+            "keyInfoMap": {
+                "entry": [
+                    {
+                        "key": {
+                            "name": "Context",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Context",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "2708db15-3117-4ef5-ae06-44ad4bc72756",
+                            "description": "Generated description for concept referred to by key \"Context:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Event0000",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Event0000",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "20f7f2d0-36e1-4134-93d9-8978e0ebb916",
+                            "description": "Generated description for concept referred to by key \"Event0000:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Event0001",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Event0001",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "bfa262fc-f59d-4b05-af44-a5b5c218b314",
+                            "description": "Generated description for concept referred to by key \"Event0001:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Event0002",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Event0002",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "84eeac88-5031-4487-b67a-5a3ae13c1a89",
+                            "description": "Generated description for concept referred to by key \"Event0002:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Event0003",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Event0003",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "7a46a411-1715-48d8-9e70-9b5d14bbbed4",
+                            "description": "Generated description for concept referred to by key \"Event0003:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Event0004",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Event0004",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "da0ba1b4-f654-4e99-97b5-595de84cb3dc",
+                            "description": "Generated description for concept referred to by key \"Event0004:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Event0100",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Event0100",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "1267b311-60e2-48a7-8d0e-23c4ea21d863",
+                            "description": "Generated description for concept referred to by key \"Event0100:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Event0101",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Event0101",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "84013070-ff2e-4295-acbd-4128f0509040",
+                            "description": "Generated description for concept referred to by key \"Event0101:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Event0102",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Event0102",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "6fb7761e-b86f-47fc-8e19-6a116600764e",
+                            "description": "Generated description for concept referred to by key \"Event0102:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Event0103",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Event0103",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "141cc707-009c-4e3b-a0f8-c346f074f590",
+                            "description": "Generated description for concept referred to by key \"Event0103:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Event0104",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Event0104",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "98f4d09f-ff73-4385-8876-df6d04b552cc",
+                            "description": "Generated description for concept referred to by key \"Event0104:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Events",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Events",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "889f6414-bc4d-4f29-b7af-175e63d23ac5",
+                            "description": "Generated description for concept referred to by key \"Events:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "ExternalContextAlbum",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "ExternalContextAlbum",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "64e4911c-5aed-467f-be19-277fb6170857",
+                            "description": "Generated description for concept referred to by key \"ExternalContextAlbum:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "GlobalContextAlbum",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "GlobalContextAlbum",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "cb6a1892-8c3c-44df-b8a7-0e5a333ff9eb",
+                            "description": "Generated description for concept referred to by key \"GlobalContextAlbum:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "KeyInformation",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "KeyInformation",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "f3126983-e26c-491f-8738-c57784ca4026",
+                            "description": "Generated description for concept referred to by key \"KeyInformation:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Policies",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Policies",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "b20a18d5-c419-4e90-8519-9c8f8b3ce2ab",
+                            "description": "Generated description for concept referred to by key \"Policies:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Policy0",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Policy0",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "28943e99-871b-482b-953f-cfa7138da02c",
+                            "description": "Generated description for concept referred to by key \"Policy0:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Policy0ContextAlbum",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Policy0ContextAlbum",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "2b1b738b-70f6-4b45-9d3c-a7e889b49993",
+                            "description": "Generated description for concept referred to by key \"Policy0ContextAlbum:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Policy1",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Policy1",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "798ee6ea-f349-41bb-a281-7e4c22184e8c",
+                            "description": "Generated description for concept referred to by key \"Policy1:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Policy1ContextAlbum",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Policy1ContextAlbum",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "eb9568d5-d95f-4713-9622-d95ef4cf81c3",
+                            "description": "Generated description for concept referred to by key \"Policy1ContextAlbum:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "SamplePolicyModelMVEL",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "SamplePolicyModelMVEL",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "10979d21-947f-4920-83ae-63b827e8e80f",
+                            "description": "Generated description for concept referred to by key \"SamplePolicyModelMVEL:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Task_Act0",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Task_Act0",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "cb65d7fe-8d86-463c-aa16-0f4e6138d705",
+                            "description": "Generated description for concept referred to by key \"Task_Act0:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Task_Act1",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Task_Act1",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "ea2b4e7a-1a79-440c-9cf0-6fddaad64c0c",
+                            "description": "Generated description for concept referred to by key \"Task_Act1:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Task_Act2",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Task_Act2",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "269e1d08-9ab4-48b8-8854-b65deb9d41b1",
+                            "description": "Generated description for concept referred to by key \"Task_Act2:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Task_Act3",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Task_Act3",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "f9c4a91d-92aa-49ce-9b65-ab2378f6b048",
+                            "description": "Generated description for concept referred to by key \"Task_Act3:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Task_Decide0",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Task_Decide0",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "7fde2446-ce2a-4bc2-a675-96496c387c88",
+                            "description": "Generated description for concept referred to by key \"Task_Decide0:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Task_Decide1",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Task_Decide1",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "bc185db6-f18f-4fdd-b5b4-37d14b57f463",
+                            "description": "Generated description for concept referred to by key \"Task_Decide1:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Task_Decide2",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Task_Decide2",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "2c1e2ede-d67c-4845-90ac-a4d53311bfbb",
+                            "description": "Generated description for concept referred to by key \"Task_Decide2:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Task_Decide3",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Task_Decide3",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "1d1645a2-2852-4296-9f22-8f31ebe5386a",
+                            "description": "Generated description for concept referred to by key \"Task_Decide3:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Task_Establish0",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Task_Establish0",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "f3739d83-a029-4ad8-a0b9-e5a028b369b2",
+                            "description": "Generated description for concept referred to by key \"Task_Establish0:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Task_Establish1",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Task_Establish1",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "5351a5a5-4134-44fd-9a6f-fd37dbfc8aa7",
+                            "description": "Generated description for concept referred to by key \"Task_Establish1:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Task_Establish2",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Task_Establish2",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "4206bb68-e710-4a01-aade-3e34771da63b",
+                            "description": "Generated description for concept referred to by key \"Task_Establish2:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Task_Establish3",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Task_Establish3",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "cbaab234-b586-4f63-986e-ed0b317b6c66",
+                            "description": "Generated description for concept referred to by key \"Task_Establish3:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Task_Match0",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Task_Match0",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "24dbc71b-8773-4393-9c36-a5f4991e0f55",
+                            "description": "Generated description for concept referred to by key \"Task_Match0:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Task_Match1",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Task_Match1",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "42ecd25d-e8cb-48e4-890a-b0616528cf10",
+                            "description": "Generated description for concept referred to by key \"Task_Match1:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Task_Match2",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Task_Match2",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "7e691294-a816-42f8-b124-9b5eac70b116",
+                            "description": "Generated description for concept referred to by key \"Task_Match2:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Task_Match3",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Task_Match3",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "bc7cad3c-85a5-40b4-9eda-51ac2387af05",
+                            "description": "Generated description for concept referred to by key \"Task_Match3:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Tasks",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Tasks",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "4386403d-b23c-4c3e-bc14-5d581f9de2f5",
+                            "description": "Generated description for concept referred to by key \"Tasks:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "TestCase",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestCase",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "901a80ab-dd46-4697-b818-f669b9f9bce9",
+                            "description": "Generated description for concept referred to by key \"TestCase:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "TestContextItem000",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestContextItem000",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "cfd19e5d-ab54-4e54-b4e5-1c5eaa832622",
+                            "description": "Generated description for concept referred to by key \"TestContextItem000:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "TestContextItem001",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestContextItem001",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "42c27d27-878d-4e9d-a139-e60c98f1c747",
+                            "description": "Generated description for concept referred to by key \"TestContextItem001:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "TestContextItem002",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestContextItem002",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "83919fa0-ed4d-4981-908f-79913734a0f5",
+                            "description": "Generated description for concept referred to by key \"TestContextItem002:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "TestContextItem003",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestContextItem003",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "194882b0-d987-4200-b82a-2c015605279b",
+                            "description": "Generated description for concept referred to by key \"TestContextItem003:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "TestContextItem004",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestContextItem004",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "948d345b-39c3-4436-8036-ac9e5c561977",
+                            "description": "Generated description for concept referred to by key \"TestContextItem004:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "TestContextItem005",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestContextItem005",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "fdad8cb5-4375-4bbf-9ffc-1e5ed8f4bae6",
+                            "description": "Generated description for concept referred to by key \"TestContextItem005:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "TestContextItem006",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestContextItem006",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "5243c0ba-5c50-4835-a885-6cd988252bb7",
+                            "description": "Generated description for concept referred to by key \"TestContextItem006:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "TestContextItem007",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestContextItem007",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "29f0b15f-f7c3-46e5-98d7-59a34a677968",
+                            "description": "Generated description for concept referred to by key \"TestContextItem007:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "TestContextItem008",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestContextItem008",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "aac96de5-9f3c-452c-855f-e556cc807351",
+                            "description": "Generated description for concept referred to by key \"TestContextItem008:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "TestContextItem009",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestContextItem009",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "7fdc1cc3-08c7-42a4-92a9-39e172fe2f1f",
+                            "description": "Generated description for concept referred to by key \"TestContextItem009:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "TestContextItem00A",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestContextItem00A",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "cf60cca6-a2e8-4371-b0e5-85ecaae44acc",
+                            "description": "Generated description for concept referred to by key \"TestContextItem00A:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "TestContextItem00B",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestContextItem00B",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "1671f996-e14e-407d-a503-f4de09f0785b",
+                            "description": "Generated description for concept referred to by key \"TestContextItem00B:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "TestContextItem00C",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestContextItem00C",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "814c4c28-9027-4516-9598-adc75fafa92a",
+                            "description": "Generated description for concept referred to by key \"TestContextItem00C:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "TestDatatypes",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestDatatypes",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "33e81d08-a62b-40ce-b7ff-50734427ebf9",
+                            "description": "Generated description for concept referred to by key \"TestDatatypes:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "TestExternalContextItem",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestExternalContextItem",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "5cd74351-8e27-4dee-a379-86124db50383",
+                            "description": "Generated description for concept referred to by key \"TestExternalContextItem:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "TestGlobalContextItem",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestGlobalContextItem",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "e8c9a056-5e95-4e14-bc96-0c0d13a34b18",
+                            "description": "Generated description for concept referred to by key \"TestGlobalContextItem:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "TestPolicyContextItem",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestPolicyContextItem",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "92489659-02f3-4cb2-b25f-a6234ad71d36",
+                            "description": "Generated description for concept referred to by key \"TestPolicyContextItem:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "TestSlogan",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestSlogan",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "1c3b9345-32c2-4f7e-94ce-be36d0775e9e",
+                            "description": "Generated description for concept referred to by key \"TestSlogan:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "TestTemperature",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestTemperature",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "9e719a99-1d73-4d40-b097-c9622b9ea2b4",
+                            "description": "Generated description for concept referred to by key \"TestTemperature:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "TestTimestamp",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestTimestamp",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "3bcc8ef1-4cc5-4b7f-9dc4-83046d4a2a5d",
+                            "description": "Generated description for concept referred to by key \"TestTimestamp:0.0.1\""
+                        }
+                    }
+                ]
+            }
+        },
+        "policies": {
+            "key": {
+                "name": "Policies",
+                "version": "0.0.1"
+            },
+            "policyMap": {
+                "entry": [
+                    {
+                        "key": {
+                            "name": "Policy0",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "policyKey": {
+                                "name": "Policy0",
+                                "version": "0.0.1"
+                            },
+                            "template": "MEDA",
+                            "state": {
+                                "entry": [
+                                    {
+                                        "key": "Act",
+                                        "value": {
+                                            "stateKey": {
+                                                "parentKeyName": "Policy0",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Act"
+                                            },
+                                            "trigger": {
+                                                "name": "Event0003",
+                                                "version": "0.0.1"
+                                            },
+                                            "stateOutputs": {
+                                                "entry": [
+                                                    {
+                                                        "key": "Act_NULL",
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "Policy0",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Act",
+                                                                "localName": "Act_NULL"
+                                                            },
+                                                            "outgoingEvent": {
+                                                                "name": "Event0004",
+                                                                "version": "0.0.1"
+                                                            },
+                                                            "nextState": {
+                                                                "parentKeyName": "NULL",
+                                                                "parentKeyVersion": "0.0.0",
+                                                                "parentLocalName": "NULL",
+                                                                "localName": "NULL"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            },
+                                            "contextAlbumReference": [
+                                                {
+                                                    "name": "GlobalContextAlbum",
+                                                    "version": "0.0.1"
+                                                }
+                                            ],
+                                            "taskSelectionLogic": {
+                                                "key": "TaskSelectionLigic",
+                                                "logicFlavour": "MVEL",
+                                                "logic": "logger.debug(subject.id + \":\" + subject.stateName);\nsubject.defaultTaskKey.copyTo(selectedTask);\nreturn true;"
+                                            },
+                                            "stateFinalizerLogicMap": {
+                                                "entry": []
+                                            },
+                                            "defaultTask": {
+                                                "name": "Task_Act1",
+                                                "version": "0.0.1"
+                                            },
+                                            "taskReferences": {
+                                                "entry": [
+                                                    {
+                                                        "key": {
+                                                            "name": "Task_Act0",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "Policy0",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Act",
+                                                                "localName": "Task_Act0_DIRECT_Act_NULL"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "Policy0",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Act",
+                                                                "localName": "Act_NULL"
+                                                            }
+                                                        }
+                                                    },
+                                                    {
+                                                        "key": {
+                                                            "name": "Task_Act1",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "Policy0",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Act",
+                                                                "localName": "Task_Act1_DIRECT_Act_NULL"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "Policy0",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Act",
+                                                                "localName": "Act_NULL"
+                                                            }
+                                                        }
+                                                    },
+                                                    {
+                                                        "key": {
+                                                            "name": "Task_Act2",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "Policy0",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Act",
+                                                                "localName": "Task_Act2_DIRECT_Act_NULL"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "Policy0",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Act",
+                                                                "localName": "Act_NULL"
+                                                            }
+                                                        }
+                                                    },
+                                                    {
+                                                        "key": {
+                                                            "name": "Task_Act3",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "Policy0",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Act",
+                                                                "localName": "Task_Act3_DIRECT_Act_NULL"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "Policy0",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Act",
+                                                                "localName": "Act_NULL"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "Decide",
+                                        "value": {
+                                            "stateKey": {
+                                                "parentKeyName": "Policy0",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Decide"
+                                            },
+                                            "trigger": {
+                                                "name": "Event0002",
+                                                "version": "0.0.1"
+                                            },
+                                            "stateOutputs": {
+                                                "entry": [
+                                                    {
+                                                        "key": "Decide_Act",
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "Policy0",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Decide",
+                                                                "localName": "Decide_Act"
+                                                            },
+                                                            "outgoingEvent": {
+                                                                "name": "Event0003",
+                                                                "version": "0.0.1"
+                                                            },
+                                                            "nextState": {
+                                                                "parentKeyName": "Policy0",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "NULL",
+                                                                "localName": "Act"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            },
+                                            "contextAlbumReference": [
+                                                {
+                                                    "name": "ExternalContextAlbum",
+                                                    "version": "0.0.1"
+                                                },
+                                                {
+                                                    "name": "GlobalContextAlbum",
+                                                    "version": "0.0.1"
+                                                },
+                                                {
+                                                    "name": "Policy0ContextAlbum",
+                                                    "version": "0.0.1"
+                                                }
+                                            ],
+                                            "taskSelectionLogic": {
+                                                "key": "TaskSelectionLigic",
+                                                "logicFlavour": "MVEL",
+                                                "logic": "logger.debug(subject.id + \":\" + subject.stateName);\nsubject.defaultTaskKey.copyTo(selectedTask);\nreturn true;"
+                                            },
+                                            "stateFinalizerLogicMap": {
+                                                "entry": []
+                                            },
+                                            "defaultTask": {
+                                                "name": "Task_Decide3",
+                                                "version": "0.0.1"
+                                            },
+                                            "taskReferences": {
+                                                "entry": [
+                                                    {
+                                                        "key": {
+                                                            "name": "Task_Decide0",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "Policy0",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Decide",
+                                                                "localName": "Task_Decide0_DIRECT_Decide_Act"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "Policy0",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Decide",
+                                                                "localName": "Decide_Act"
+                                                            }
+                                                        }
+                                                    },
+                                                    {
+                                                        "key": {
+                                                            "name": "Task_Decide1",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "Policy0",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Decide",
+                                                                "localName": "Task_Decide1_DIRECT_Decide_Act"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "Policy0",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Decide",
+                                                                "localName": "Decide_Act"
+                                                            }
+                                                        }
+                                                    },
+                                                    {
+                                                        "key": {
+                                                            "name": "Task_Decide2",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "Policy0",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Decide",
+                                                                "localName": "Task_Decide2_DIRECT_Decide_Act"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "Policy0",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Decide",
+                                                                "localName": "Decide_Act"
+                                                            }
+                                                        }
+                                                    },
+                                                    {
+                                                        "key": {
+                                                            "name": "Task_Decide3",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "Policy0",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Decide",
+                                                                "localName": "Task_Decide3_DIRECT_Decide_Act"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "Policy0",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Decide",
+                                                                "localName": "Decide_Act"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "Establish",
+                                        "value": {
+                                            "stateKey": {
+                                                "parentKeyName": "Policy0",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Establish"
+                                            },
+                                            "trigger": {
+                                                "name": "Event0001",
+                                                "version": "0.0.1"
+                                            },
+                                            "stateOutputs": {
+                                                "entry": [
+                                                    {
+                                                        "key": "Establish_Decide",
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "Policy0",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Establish",
+                                                                "localName": "Establish_Decide"
+                                                            },
+                                                            "outgoingEvent": {
+                                                                "name": "Event0002",
+                                                                "version": "0.0.1"
+                                                            },
+                                                            "nextState": {
+                                                                "parentKeyName": "Policy0",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "NULL",
+                                                                "localName": "Decide"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            },
+                                            "contextAlbumReference": [
+                                                {
+                                                    "name": "ExternalContextAlbum",
+                                                    "version": "0.0.1"
+                                                },
+                                                {
+                                                    "name": "GlobalContextAlbum",
+                                                    "version": "0.0.1"
+                                                },
+                                                {
+                                                    "name": "Policy1ContextAlbum",
+                                                    "version": "0.0.1"
+                                                }
+                                            ],
+                                            "taskSelectionLogic": {
+                                                "key": "TaskSelectionLigic",
+                                                "logicFlavour": "MVEL",
+                                                "logic": "logger.debug(subject.id + \":\" + subject.stateName);\nsubject.defaultTaskKey.copyTo(selectedTask);\nreturn true;"
+                                            },
+                                            "stateFinalizerLogicMap": {
+                                                "entry": []
+                                            },
+                                            "defaultTask": {
+                                                "name": "Task_Establish2",
+                                                "version": "0.0.1"
+                                            },
+                                            "taskReferences": {
+                                                "entry": [
+                                                    {
+                                                        "key": {
+                                                            "name": "Task_Establish0",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "Policy0",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Establish",
+                                                                "localName": "Task_Establish0_DIRECT_Establish_Decide"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "Policy0",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Establish",
+                                                                "localName": "Establish_Decide"
+                                                            }
+                                                        }
+                                                    },
+                                                    {
+                                                        "key": {
+                                                            "name": "Task_Establish1",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "Policy0",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Establish",
+                                                                "localName": "Task_Establish1_DIRECT_Establish_Decide"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "Policy0",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Establish",
+                                                                "localName": "Establish_Decide"
+                                                            }
+                                                        }
+                                                    },
+                                                    {
+                                                        "key": {
+                                                            "name": "Task_Establish2",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "Policy0",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Establish",
+                                                                "localName": "Task_Establish2_DIRECT_Establish_Decide"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "Policy0",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Establish",
+                                                                "localName": "Establish_Decide"
+                                                            }
+                                                        }
+                                                    },
+                                                    {
+                                                        "key": {
+                                                            "name": "Task_Establish3",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "Policy0",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Establish",
+                                                                "localName": "Task_Establish3_DIRECT_Establish_Decide"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "Policy0",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Establish",
+                                                                "localName": "Establish_Decide"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "Match",
+                                        "value": {
+                                            "stateKey": {
+                                                "parentKeyName": "Policy0",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Match"
+                                            },
+                                            "trigger": {
+                                                "name": "Event0000",
+                                                "version": "0.0.1"
+                                            },
+                                            "stateOutputs": {
+                                                "entry": [
+                                                    {
+                                                        "key": "Match_Establish",
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "Policy0",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Match",
+                                                                "localName": "Match_Establish"
+                                                            },
+                                                            "outgoingEvent": {
+                                                                "name": "Event0001",
+                                                                "version": "0.0.1"
+                                                            },
+                                                            "nextState": {
+                                                                "parentKeyName": "Policy0",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "NULL",
+                                                                "localName": "Establish"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            },
+                                            "contextAlbumReference": [
+                                                {
+                                                    "name": "GlobalContextAlbum",
+                                                    "version": "0.0.1"
+                                                },
+                                                {
+                                                    "name": "Policy0ContextAlbum",
+                                                    "version": "0.0.1"
+                                                }
+                                            ],
+                                            "taskSelectionLogic": {
+                                                "key": "TaskSelectionLigic",
+                                                "logicFlavour": "MVEL",
+                                                "logic": "logger.debug(subject.id + \":\" + subject.stateName);\nsubject.defaultTaskKey.copyTo(selectedTask);\nreturn true;"
+                                            },
+                                            "stateFinalizerLogicMap": {
+                                                "entry": []
+                                            },
+                                            "defaultTask": {
+                                                "name": "Task_Match0",
+                                                "version": "0.0.1"
+                                            },
+                                            "taskReferences": {
+                                                "entry": [
+                                                    {
+                                                        "key": {
+                                                            "name": "Task_Match0",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "Policy0",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Match",
+                                                                "localName": "Task_Match0_DIRECT_Match_Establish"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "Policy0",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Match",
+                                                                "localName": "Match_Establish"
+                                                            }
+                                                        }
+                                                    },
+                                                    {
+                                                        "key": {
+                                                            "name": "Task_Match1",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "Policy0",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Match",
+                                                                "localName": "Task_Match1_DIRECT_Match_Establish"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "Policy0",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Match",
+                                                                "localName": "Match_Establish"
+                                                            }
+                                                        }
+                                                    },
+                                                    {
+                                                        "key": {
+                                                            "name": "Task_Match2",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "Policy0",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Match",
+                                                                "localName": "Task_Match2_DIRECT_Match_Establish"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "Policy0",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Match",
+                                                                "localName": "Match_Establish"
+                                                            }
+                                                        }
+                                                    },
+                                                    {
+                                                        "key": {
+                                                            "name": "Task_Match3",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "Policy0",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Match",
+                                                                "localName": "Task_Match3_DIRECT_Match_Establish"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "Policy0",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Match",
+                                                                "localName": "Match_Establish"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            }
+                                        }
+                                    }
+                                ]
+                            },
+                            "firstState": "Match"
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Policy1",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "policyKey": {
+                                "name": "Policy1",
+                                "version": "0.0.1"
+                            },
+                            "template": "MEDA",
+                            "state": {
+                                "entry": [
+                                    {
+                                        "key": "Act",
+                                        "value": {
+                                            "stateKey": {
+                                                "parentKeyName": "Policy1",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Act"
+                                            },
+                                            "trigger": {
+                                                "name": "Event0103",
+                                                "version": "0.0.1"
+                                            },
+                                            "stateOutputs": {
+                                                "entry": [
+                                                    {
+                                                        "key": "Act_NULL",
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "Policy1",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Act",
+                                                                "localName": "Act_NULL"
+                                                            },
+                                                            "outgoingEvent": {
+                                                                "name": "Event0104",
+                                                                "version": "0.0.1"
+                                                            },
+                                                            "nextState": {
+                                                                "parentKeyName": "NULL",
+                                                                "parentKeyVersion": "0.0.0",
+                                                                "parentLocalName": "NULL",
+                                                                "localName": "NULL"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            },
+                                            "contextAlbumReference": [
+                                                {
+                                                    "name": "GlobalContextAlbum",
+                                                    "version": "0.0.1"
+                                                }
+                                            ],
+                                            "taskSelectionLogic": {
+                                                "key": "TaskSelectionLigic",
+                                                "logicFlavour": "MVEL",
+                                                "logic": "logger.debug(subject.id + \":\" + subject.stateName);\nsubject.defaultTaskKey.copyTo(selectedTask);\nreturn true;"
+                                            },
+                                            "stateFinalizerLogicMap": {
+                                                "entry": []
+                                            },
+                                            "defaultTask": {
+                                                "name": "Task_Act0",
+                                                "version": "0.0.1"
+                                            },
+                                            "taskReferences": {
+                                                "entry": [
+                                                    {
+                                                        "key": {
+                                                            "name": "Task_Act0",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "Policy1",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Act",
+                                                                "localName": "Task_Act0_DIRECT_Act_NULL"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "Policy1",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Act",
+                                                                "localName": "Act_NULL"
+                                                            }
+                                                        }
+                                                    },
+                                                    {
+                                                        "key": {
+                                                            "name": "Task_Act1",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "Policy1",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Act",
+                                                                "localName": "Task_Act1_DIRECT_Act_NULL"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "Policy1",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Act",
+                                                                "localName": "Act_NULL"
+                                                            }
+                                                        }
+                                                    },
+                                                    {
+                                                        "key": {
+                                                            "name": "Task_Act2",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "Policy1",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Act",
+                                                                "localName": "Task_Act2_DIRECT_Act_NULL"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "Policy1",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Act",
+                                                                "localName": "Act_NULL"
+                                                            }
+                                                        }
+                                                    },
+                                                    {
+                                                        "key": {
+                                                            "name": "Task_Act3",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "Policy1",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Act",
+                                                                "localName": "Task_Act3_DIRECT_Act_NULL"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "Policy1",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Act",
+                                                                "localName": "Act_NULL"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "Decide",
+                                        "value": {
+                                            "stateKey": {
+                                                "parentKeyName": "Policy1",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Decide"
+                                            },
+                                            "trigger": {
+                                                "name": "Event0102",
+                                                "version": "0.0.1"
+                                            },
+                                            "stateOutputs": {
+                                                "entry": [
+                                                    {
+                                                        "key": "Decide_Act",
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "Policy1",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Decide",
+                                                                "localName": "Decide_Act"
+                                                            },
+                                                            "outgoingEvent": {
+                                                                "name": "Event0103",
+                                                                "version": "0.0.1"
+                                                            },
+                                                            "nextState": {
+                                                                "parentKeyName": "Policy1",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "NULL",
+                                                                "localName": "Act"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            },
+                                            "contextAlbumReference": [
+                                                {
+                                                    "name": "ExternalContextAlbum",
+                                                    "version": "0.0.1"
+                                                },
+                                                {
+                                                    "name": "GlobalContextAlbum",
+                                                    "version": "0.0.1"
+                                                },
+                                                {
+                                                    "name": "Policy1ContextAlbum",
+                                                    "version": "0.0.1"
+                                                }
+                                            ],
+                                            "taskSelectionLogic": {
+                                                "key": "TaskSelectionLigic",
+                                                "logicFlavour": "MVEL",
+                                                "logic": "logger.debug(subject.id + \":\" + subject.stateName);\nsubject.defaultTaskKey.copyTo(selectedTask);\nreturn true;"
+                                            },
+                                            "stateFinalizerLogicMap": {
+                                                "entry": []
+                                            },
+                                            "defaultTask": {
+                                                "name": "Task_Decide3",
+                                                "version": "0.0.1"
+                                            },
+                                            "taskReferences": {
+                                                "entry": [
+                                                    {
+                                                        "key": {
+                                                            "name": "Task_Decide0",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "Policy1",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Decide",
+                                                                "localName": "Task_Decide0_DIRECT_Decide_Act"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "Policy1",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Decide",
+                                                                "localName": "Decide_Act"
+                                                            }
+                                                        }
+                                                    },
+                                                    {
+                                                        "key": {
+                                                            "name": "Task_Decide1",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "Policy1",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Decide",
+                                                                "localName": "Task_Decide1_DIRECT_Decide_Act"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "Policy1",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Decide",
+                                                                "localName": "Decide_Act"
+                                                            }
+                                                        }
+                                                    },
+                                                    {
+                                                        "key": {
+                                                            "name": "Task_Decide2",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "Policy1",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Decide",
+                                                                "localName": "Task_Decide2_DIRECT_Decide_Act"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "Policy1",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Decide",
+                                                                "localName": "Decide_Act"
+                                                            }
+                                                        }
+                                                    },
+                                                    {
+                                                        "key": {
+                                                            "name": "Task_Decide3",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "Policy1",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Decide",
+                                                                "localName": "Task_Decide3_DIRECT_Decide_Act"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "Policy1",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Decide",
+                                                                "localName": "Decide_Act"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "Establish",
+                                        "value": {
+                                            "stateKey": {
+                                                "parentKeyName": "Policy1",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Establish"
+                                            },
+                                            "trigger": {
+                                                "name": "Event0101",
+                                                "version": "0.0.1"
+                                            },
+                                            "stateOutputs": {
+                                                "entry": [
+                                                    {
+                                                        "key": "Establish_Decide",
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "Policy1",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Establish",
+                                                                "localName": "Establish_Decide"
+                                                            },
+                                                            "outgoingEvent": {
+                                                                "name": "Event0102",
+                                                                "version": "0.0.1"
+                                                            },
+                                                            "nextState": {
+                                                                "parentKeyName": "Policy1",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "NULL",
+                                                                "localName": "Decide"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            },
+                                            "contextAlbumReference": [
+                                                {
+                                                    "name": "ExternalContextAlbum",
+                                                    "version": "0.0.1"
+                                                },
+                                                {
+                                                    "name": "GlobalContextAlbum",
+                                                    "version": "0.0.1"
+                                                },
+                                                {
+                                                    "name": "Policy1ContextAlbum",
+                                                    "version": "0.0.1"
+                                                }
+                                            ],
+                                            "taskSelectionLogic": {
+                                                "key": "TaskSelectionLigic",
+                                                "logicFlavour": "MVEL",
+                                                "logic": "logger.debug(subject.id + \":\" + subject.stateName);\nsubject.defaultTaskKey.copyTo(selectedTask);\nreturn true;"
+                                            },
+                                            "stateFinalizerLogicMap": {
+                                                "entry": []
+                                            },
+                                            "defaultTask": {
+                                                "name": "Task_Establish1",
+                                                "version": "0.0.1"
+                                            },
+                                            "taskReferences": {
+                                                "entry": [
+                                                    {
+                                                        "key": {
+                                                            "name": "Task_Establish0",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "Policy1",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Establish",
+                                                                "localName": "Task_Establish0_DIRECT_Establish_Decide"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "Policy1",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Establish",
+                                                                "localName": "Establish_Decide"
+                                                            }
+                                                        }
+                                                    },
+                                                    {
+                                                        "key": {
+                                                            "name": "Task_Establish1",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "Policy1",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Establish",
+                                                                "localName": "Task_Establish1_DIRECT_Establish_Decide"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "Policy1",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Establish",
+                                                                "localName": "Establish_Decide"
+                                                            }
+                                                        }
+                                                    },
+                                                    {
+                                                        "key": {
+                                                            "name": "Task_Establish2",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "Policy1",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Establish",
+                                                                "localName": "Task_Establish2_DIRECT_Establish_Decide"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "Policy1",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Establish",
+                                                                "localName": "Establish_Decide"
+                                                            }
+                                                        }
+                                                    },
+                                                    {
+                                                        "key": {
+                                                            "name": "Task_Establish3",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "Policy1",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Establish",
+                                                                "localName": "Task_Establish3_DIRECT_Establish_Decide"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "Policy1",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Establish",
+                                                                "localName": "Establish_Decide"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "Match",
+                                        "value": {
+                                            "stateKey": {
+                                                "parentKeyName": "Policy1",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Match"
+                                            },
+                                            "trigger": {
+                                                "name": "Event0100",
+                                                "version": "0.0.1"
+                                            },
+                                            "stateOutputs": {
+                                                "entry": [
+                                                    {
+                                                        "key": "Match_Establish",
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "Policy1",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Match",
+                                                                "localName": "Match_Establish"
+                                                            },
+                                                            "outgoingEvent": {
+                                                                "name": "Event0101",
+                                                                "version": "0.0.1"
+                                                            },
+                                                            "nextState": {
+                                                                "parentKeyName": "Policy1",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "NULL",
+                                                                "localName": "Establish"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            },
+                                            "contextAlbumReference": [
+                                                {
+                                                    "name": "ExternalContextAlbum",
+                                                    "version": "0.0.1"
+                                                },
+                                                {
+                                                    "name": "GlobalContextAlbum",
+                                                    "version": "0.0.1"
+                                                },
+                                                {
+                                                    "name": "Policy1ContextAlbum",
+                                                    "version": "0.0.1"
+                                                }
+                                            ],
+                                            "taskSelectionLogic": {
+                                                "key": "TaskSelectionLigic",
+                                                "logicFlavour": "MVEL",
+                                                "logic": "logger.debug(subject.id + \":\" + subject.stateName);\nsubject.defaultTaskKey.copyTo(selectedTask);\nreturn true;"
+                                            },
+                                            "stateFinalizerLogicMap": {
+                                                "entry": []
+                                            },
+                                            "defaultTask": {
+                                                "name": "Task_Match3",
+                                                "version": "0.0.1"
+                                            },
+                                            "taskReferences": {
+                                                "entry": [
+                                                    {
+                                                        "key": {
+                                                            "name": "Task_Match0",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "Policy1",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Match",
+                                                                "localName": "Task_Match0_DIRECT_Match_Establish"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "Policy1",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Match",
+                                                                "localName": "Match_Establish"
+                                                            }
+                                                        }
+                                                    },
+                                                    {
+                                                        "key": {
+                                                            "name": "Task_Match1",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "Policy1",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Match",
+                                                                "localName": "Task_Match1_DIRECT_Match_Establish"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "Policy1",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Match",
+                                                                "localName": "Match_Establish"
+                                                            }
+                                                        }
+                                                    },
+                                                    {
+                                                        "key": {
+                                                            "name": "Task_Match2",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "Policy1",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Match",
+                                                                "localName": "Task_Match2_DIRECT_Match_Establish"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "Policy1",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Match",
+                                                                "localName": "Match_Establish"
+                                                            }
+                                                        }
+                                                    },
+                                                    {
+                                                        "key": {
+                                                            "name": "Task_Match3",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "Policy1",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Match",
+                                                                "localName": "Task_Match3_DIRECT_Match_Establish"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "Policy1",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Match",
+                                                                "localName": "Match_Establish"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            }
+                                        }
+                                    }
+                                ]
+                            },
+                            "firstState": "Match"
+                        }
+                    }
+                ]
+            }
+        },
+        "tasks": {
+            "key": {
+                "name": "Tasks",
+                "version": "0.0.1"
+            },
+            "taskMap": {
+                "entry": [
+                    {
+                        "key": {
+                            "name": "Task_Act0",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Task_Act0",
+                                "version": "0.0.1"
+                            },
+                            "inputFields": {
+                                "entry": [
+                                    {
+                                        "key": "TestDecideCaseSelected",
+                                        "value": {
+                                            "key": "TestDecideCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestDecideStateTime",
+                                        "value": {
+                                            "key": "TestDecideStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestEstablishCaseSelected",
+                                        "value": {
+                                            "key": "TestEstablishCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestEstablishStateTime",
+                                        "value": {
+                                            "key": "TestEstablishStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCase",
+                                        "value": {
+                                            "key": "TestMatchCase",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCaseSelected",
+                                        "value": {
+                                            "key": "TestMatchCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchStateTime",
+                                        "value": {
+                                            "key": "TestMatchStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestSlogan",
+                                        "value": {
+                                            "key": "TestSlogan",
+                                            "fieldSchemaKey": {
+                                                "name": "TestSlogan",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTemperature",
+                                        "value": {
+                                            "key": "TestTemperature",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTemperature",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTimestamp",
+                                        "value": {
+                                            "key": "TestTimestamp",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    }
+                                ]
+                            },
+                            "outputFields": {
+                                "entry": [
+                                    {
+                                        "key": "TestActCaseSelected",
+                                        "value": {
+                                            "key": "TestActCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestActStateTime",
+                                        "value": {
+                                            "key": "TestActStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestDecideCaseSelected",
+                                        "value": {
+                                            "key": "TestDecideCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestDecideStateTime",
+                                        "value": {
+                                            "key": "TestDecideStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestEstablishCaseSelected",
+                                        "value": {
+                                            "key": "TestEstablishCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestEstablishStateTime",
+                                        "value": {
+                                            "key": "TestEstablishStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCase",
+                                        "value": {
+                                            "key": "TestMatchCase",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCaseSelected",
+                                        "value": {
+                                            "key": "TestMatchCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchStateTime",
+                                        "value": {
+                                            "key": "TestMatchStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestSlogan",
+                                        "value": {
+                                            "key": "TestSlogan",
+                                            "fieldSchemaKey": {
+                                                "name": "TestSlogan",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTemperature",
+                                        "value": {
+                                            "key": "TestTemperature",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTemperature",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTimestamp",
+                                        "value": {
+                                            "key": "TestTimestamp",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    }
+                                ]
+                            },
+                            "taskParameters": {
+                                "entry": [
+                                    {
+                                        "key": "Parameter0",
+                                        "value": {
+                                            "key": {
+                                                "parentKeyName": "Task_Act0",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Parameter0"
+                                            },
+                                            "defaultValue": "DefaultValue0"
+                                        }
+                                    },
+                                    {
+                                        "key": "Parameter1",
+                                        "value": {
+                                            "key": {
+                                                "parentKeyName": "Task_Act0",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Parameter1"
+                                            },
+                                            "defaultValue": "DefaultValue1"
+                                        }
+                                    },
+                                    {
+                                        "key": "Parameter2",
+                                        "value": {
+                                            "key": {
+                                                "parentKeyName": "Task_Act0",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Parameter2"
+                                            },
+                                            "defaultValue": "DefaultValue2"
+                                        }
+                                    }
+                                ]
+                            },
+                            "contextAlbumReference": [
+                                {
+                                    "name": "ExternalContextAlbum",
+                                    "version": "0.0.1"
+                                },
+                                {
+                                    "name": "GlobalContextAlbum",
+                                    "version": "0.0.1"
+                                },
+                                {
+                                    "name": "Policy0ContextAlbum",
+                                    "version": "0.0.1"
+                                },
+                                {
+                                    "name": "Policy1ContextAlbum",
+                                    "version": "0.0.1"
+                                }
+                            ],
+                            "taskLogic": {
+                                "key": "_TaskLogic",
+                                "logicFlavour": "MVEL",
+                                "logic": "import java.util.Date;\nlogger.debug(subject.id);\ngc = getContextAlbum(\"GlobalContextAlbum\");\nlogger.debug(gc);\nlogger.debug(inFields);\noutFields[\"TestActCaseSelected\"] = (byte)2;\ntimeNow = new Date();\noutFields[\"TestActStateTime\"] = timeNow.getTime();\nlogger.debug(outFields);\nreturn true;"
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Task_Act1",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Task_Act1",
+                                "version": "0.0.1"
+                            },
+                            "inputFields": {
+                                "entry": [
+                                    {
+                                        "key": "TestDecideCaseSelected",
+                                        "value": {
+                                            "key": "TestDecideCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestDecideStateTime",
+                                        "value": {
+                                            "key": "TestDecideStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestEstablishCaseSelected",
+                                        "value": {
+                                            "key": "TestEstablishCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestEstablishStateTime",
+                                        "value": {
+                                            "key": "TestEstablishStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCase",
+                                        "value": {
+                                            "key": "TestMatchCase",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCaseSelected",
+                                        "value": {
+                                            "key": "TestMatchCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchStateTime",
+                                        "value": {
+                                            "key": "TestMatchStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestSlogan",
+                                        "value": {
+                                            "key": "TestSlogan",
+                                            "fieldSchemaKey": {
+                                                "name": "TestSlogan",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTemperature",
+                                        "value": {
+                                            "key": "TestTemperature",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTemperature",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTimestamp",
+                                        "value": {
+                                            "key": "TestTimestamp",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    }
+                                ]
+                            },
+                            "outputFields": {
+                                "entry": [
+                                    {
+                                        "key": "TestActCaseSelected",
+                                        "value": {
+                                            "key": "TestActCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestActStateTime",
+                                        "value": {
+                                            "key": "TestActStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestDecideCaseSelected",
+                                        "value": {
+                                            "key": "TestDecideCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestDecideStateTime",
+                                        "value": {
+                                            "key": "TestDecideStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestEstablishCaseSelected",
+                                        "value": {
+                                            "key": "TestEstablishCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestEstablishStateTime",
+                                        "value": {
+                                            "key": "TestEstablishStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCase",
+                                        "value": {
+                                            "key": "TestMatchCase",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCaseSelected",
+                                        "value": {
+                                            "key": "TestMatchCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchStateTime",
+                                        "value": {
+                                            "key": "TestMatchStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestSlogan",
+                                        "value": {
+                                            "key": "TestSlogan",
+                                            "fieldSchemaKey": {
+                                                "name": "TestSlogan",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTemperature",
+                                        "value": {
+                                            "key": "TestTemperature",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTemperature",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTimestamp",
+                                        "value": {
+                                            "key": "TestTimestamp",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    }
+                                ]
+                            },
+                            "taskParameters": {
+                                "entry": [
+                                    {
+                                        "key": "Parameter0",
+                                        "value": {
+                                            "key": {
+                                                "parentKeyName": "Task_Act1",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Parameter0"
+                                            },
+                                            "defaultValue": "DefaultValue0"
+                                        }
+                                    },
+                                    {
+                                        "key": "Parameter1",
+                                        "value": {
+                                            "key": {
+                                                "parentKeyName": "Task_Act1",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Parameter1"
+                                            },
+                                            "defaultValue": "DefaultValue1"
+                                        }
+                                    }
+                                ]
+                            },
+                            "contextAlbumReference": [
+                                {
+                                    "name": "GlobalContextAlbum",
+                                    "version": "0.0.1"
+                                },
+                                {
+                                    "name": "Policy0ContextAlbum",
+                                    "version": "0.0.1"
+                                }
+                            ],
+                            "taskLogic": {
+                                "key": "_TaskLogic",
+                                "logicFlavour": "MVEL",
+                                "logic": "import java.util.Date;\nlogger.debug(subject.id);\ngc = getContextAlbum(\"GlobalContextAlbum\");\nlogger.debug(gc);\nlogger.debug(inFields);\noutFields[\"TestActCaseSelected\"] = (byte)3;\ntimeNow = new Date();\noutFields[\"TestActStateTime\"] = timeNow.getTime();\nlogger.debug(outFields);\nreturn true;"
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Task_Act2",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Task_Act2",
+                                "version": "0.0.1"
+                            },
+                            "inputFields": {
+                                "entry": [
+                                    {
+                                        "key": "TestDecideCaseSelected",
+                                        "value": {
+                                            "key": "TestDecideCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestDecideStateTime",
+                                        "value": {
+                                            "key": "TestDecideStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestEstablishCaseSelected",
+                                        "value": {
+                                            "key": "TestEstablishCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestEstablishStateTime",
+                                        "value": {
+                                            "key": "TestEstablishStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCase",
+                                        "value": {
+                                            "key": "TestMatchCase",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCaseSelected",
+                                        "value": {
+                                            "key": "TestMatchCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchStateTime",
+                                        "value": {
+                                            "key": "TestMatchStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestSlogan",
+                                        "value": {
+                                            "key": "TestSlogan",
+                                            "fieldSchemaKey": {
+                                                "name": "TestSlogan",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTemperature",
+                                        "value": {
+                                            "key": "TestTemperature",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTemperature",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTimestamp",
+                                        "value": {
+                                            "key": "TestTimestamp",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    }
+                                ]
+                            },
+                            "outputFields": {
+                                "entry": [
+                                    {
+                                        "key": "TestActCaseSelected",
+                                        "value": {
+                                            "key": "TestActCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestActStateTime",
+                                        "value": {
+                                            "key": "TestActStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestDecideCaseSelected",
+                                        "value": {
+                                            "key": "TestDecideCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestDecideStateTime",
+                                        "value": {
+                                            "key": "TestDecideStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestEstablishCaseSelected",
+                                        "value": {
+                                            "key": "TestEstablishCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestEstablishStateTime",
+                                        "value": {
+                                            "key": "TestEstablishStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCase",
+                                        "value": {
+                                            "key": "TestMatchCase",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCaseSelected",
+                                        "value": {
+                                            "key": "TestMatchCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchStateTime",
+                                        "value": {
+                                            "key": "TestMatchStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestSlogan",
+                                        "value": {
+                                            "key": "TestSlogan",
+                                            "fieldSchemaKey": {
+                                                "name": "TestSlogan",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTemperature",
+                                        "value": {
+                                            "key": "TestTemperature",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTemperature",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTimestamp",
+                                        "value": {
+                                            "key": "TestTimestamp",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    }
+                                ]
+                            },
+                            "taskParameters": {
+                                "entry": [
+                                    {
+                                        "key": "Parameter0",
+                                        "value": {
+                                            "key": {
+                                                "parentKeyName": "Task_Act2",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Parameter0"
+                                            },
+                                            "defaultValue": "DefaultValue0"
+                                        }
+                                    }
+                                ]
+                            },
+                            "contextAlbumReference": [
+                                {
+                                    "name": "GlobalContextAlbum",
+                                    "version": "0.0.1"
+                                },
+                                {
+                                    "name": "Policy1ContextAlbum",
+                                    "version": "0.0.1"
+                                }
+                            ],
+                            "taskLogic": {
+                                "key": "_TaskLogic",
+                                "logicFlavour": "MVEL",
+                                "logic": "import java.util.Date;\nlogger.debug(subject.id);\ngc = getContextAlbum(\"GlobalContextAlbum\");\nlogger.debug(gc);\nlogger.debug(inFields);\noutFields[\"TestActCaseSelected\"] = (byte)0;\ntimeNow = new Date();\noutFields[\"TestActStateTime\"] = timeNow.getTime();\nlogger.debug(outFields);\nreturn true;"
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Task_Act3",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Task_Act3",
+                                "version": "0.0.1"
+                            },
+                            "inputFields": {
+                                "entry": [
+                                    {
+                                        "key": "TestDecideCaseSelected",
+                                        "value": {
+                                            "key": "TestDecideCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestDecideStateTime",
+                                        "value": {
+                                            "key": "TestDecideStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestEstablishCaseSelected",
+                                        "value": {
+                                            "key": "TestEstablishCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestEstablishStateTime",
+                                        "value": {
+                                            "key": "TestEstablishStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCase",
+                                        "value": {
+                                            "key": "TestMatchCase",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCaseSelected",
+                                        "value": {
+                                            "key": "TestMatchCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchStateTime",
+                                        "value": {
+                                            "key": "TestMatchStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestSlogan",
+                                        "value": {
+                                            "key": "TestSlogan",
+                                            "fieldSchemaKey": {
+                                                "name": "TestSlogan",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTemperature",
+                                        "value": {
+                                            "key": "TestTemperature",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTemperature",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTimestamp",
+                                        "value": {
+                                            "key": "TestTimestamp",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    }
+                                ]
+                            },
+                            "outputFields": {
+                                "entry": [
+                                    {
+                                        "key": "TestActCaseSelected",
+                                        "value": {
+                                            "key": "TestActCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestActStateTime",
+                                        "value": {
+                                            "key": "TestActStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestDecideCaseSelected",
+                                        "value": {
+                                            "key": "TestDecideCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestDecideStateTime",
+                                        "value": {
+                                            "key": "TestDecideStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestEstablishCaseSelected",
+                                        "value": {
+                                            "key": "TestEstablishCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestEstablishStateTime",
+                                        "value": {
+                                            "key": "TestEstablishStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCase",
+                                        "value": {
+                                            "key": "TestMatchCase",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCaseSelected",
+                                        "value": {
+                                            "key": "TestMatchCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchStateTime",
+                                        "value": {
+                                            "key": "TestMatchStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestSlogan",
+                                        "value": {
+                                            "key": "TestSlogan",
+                                            "fieldSchemaKey": {
+                                                "name": "TestSlogan",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTemperature",
+                                        "value": {
+                                            "key": "TestTemperature",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTemperature",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTimestamp",
+                                        "value": {
+                                            "key": "TestTimestamp",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    }
+                                ]
+                            },
+                            "taskParameters": {
+                                "entry": [
+                                    {
+                                        "key": "Parameter0",
+                                        "value": {
+                                            "key": {
+                                                "parentKeyName": "Task_Act3",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Parameter0"
+                                            },
+                                            "defaultValue": "DefaultValue0"
+                                        }
+                                    }
+                                ]
+                            },
+                            "contextAlbumReference": [
+                                {
+                                    "name": "ExternalContextAlbum",
+                                    "version": "0.0.1"
+                                },
+                                {
+                                    "name": "GlobalContextAlbum",
+                                    "version": "0.0.1"
+                                }
+                            ],
+                            "taskLogic": {
+                                "key": "_TaskLogic",
+                                "logicFlavour": "MVEL",
+                                "logic": "import java.util.Date;\nlogger.debug(subject.id);\ngc = getContextAlbum(\"GlobalContextAlbum\");\nlogger.debug(gc);\nlogger.debug(inFields);\noutFields[\"TestActCaseSelected\"] = (byte)1;\ntimeNow = new Date();\noutFields[\"TestActStateTime\"] = timeNow.getTime();\nlogger.debug(outFields);\nreturn true;"
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Task_Decide0",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Task_Decide0",
+                                "version": "0.0.1"
+                            },
+                            "inputFields": {
+                                "entry": [
+                                    {
+                                        "key": "TestEstablishCaseSelected",
+                                        "value": {
+                                            "key": "TestEstablishCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestEstablishStateTime",
+                                        "value": {
+                                            "key": "TestEstablishStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCase",
+                                        "value": {
+                                            "key": "TestMatchCase",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCaseSelected",
+                                        "value": {
+                                            "key": "TestMatchCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchStateTime",
+                                        "value": {
+                                            "key": "TestMatchStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestSlogan",
+                                        "value": {
+                                            "key": "TestSlogan",
+                                            "fieldSchemaKey": {
+                                                "name": "TestSlogan",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTemperature",
+                                        "value": {
+                                            "key": "TestTemperature",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTemperature",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTimestamp",
+                                        "value": {
+                                            "key": "TestTimestamp",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    }
+                                ]
+                            },
+                            "outputFields": {
+                                "entry": [
+                                    {
+                                        "key": "TestDecideCaseSelected",
+                                        "value": {
+                                            "key": "TestDecideCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestDecideStateTime",
+                                        "value": {
+                                            "key": "TestDecideStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestEstablishCaseSelected",
+                                        "value": {
+                                            "key": "TestEstablishCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestEstablishStateTime",
+                                        "value": {
+                                            "key": "TestEstablishStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCase",
+                                        "value": {
+                                            "key": "TestMatchCase",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCaseSelected",
+                                        "value": {
+                                            "key": "TestMatchCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchStateTime",
+                                        "value": {
+                                            "key": "TestMatchStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestSlogan",
+                                        "value": {
+                                            "key": "TestSlogan",
+                                            "fieldSchemaKey": {
+                                                "name": "TestSlogan",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTemperature",
+                                        "value": {
+                                            "key": "TestTemperature",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTemperature",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTimestamp",
+                                        "value": {
+                                            "key": "TestTimestamp",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    }
+                                ]
+                            },
+                            "taskParameters": {
+                                "entry": [
+                                    {
+                                        "key": "Parameter0",
+                                        "value": {
+                                            "key": {
+                                                "parentKeyName": "Task_Decide0",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Parameter0"
+                                            },
+                                            "defaultValue": "DefaultValue0"
+                                        }
+                                    },
+                                    {
+                                        "key": "Parameter1",
+                                        "value": {
+                                            "key": {
+                                                "parentKeyName": "Task_Decide0",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Parameter1"
+                                            },
+                                            "defaultValue": "DefaultValue1"
+                                        }
+                                    },
+                                    {
+                                        "key": "Parameter2",
+                                        "value": {
+                                            "key": {
+                                                "parentKeyName": "Task_Decide0",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Parameter2"
+                                            },
+                                            "defaultValue": "DefaultValue2"
+                                        }
+                                    }
+                                ]
+                            },
+                            "contextAlbumReference": [
+                                {
+                                    "name": "ExternalContextAlbum",
+                                    "version": "0.0.1"
+                                },
+                                {
+                                    "name": "GlobalContextAlbum",
+                                    "version": "0.0.1"
+                                },
+                                {
+                                    "name": "Policy0ContextAlbum",
+                                    "version": "0.0.1"
+                                },
+                                {
+                                    "name": "Policy1ContextAlbum",
+                                    "version": "0.0.1"
+                                }
+                            ],
+                            "taskLogic": {
+                                "key": "_TaskLogic",
+                                "logicFlavour": "MVEL",
+                                "logic": "import java.util.Date;\nlogger.debug(subject.id);\ngc = getContextAlbum(\"GlobalContextAlbum\");\nlogger.debug(gc);\nlogger.debug(inFields);\noutFields[\"TestDecideCaseSelected\"] = (byte)2;\ntimeNow = new Date();\noutFields[\"TestDecideStateTime\"] = timeNow.getTime();\nlogger.debug(outFields);\nreturn true;"
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Task_Decide1",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Task_Decide1",
+                                "version": "0.0.1"
+                            },
+                            "inputFields": {
+                                "entry": [
+                                    {
+                                        "key": "TestEstablishCaseSelected",
+                                        "value": {
+                                            "key": "TestEstablishCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestEstablishStateTime",
+                                        "value": {
+                                            "key": "TestEstablishStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCase",
+                                        "value": {
+                                            "key": "TestMatchCase",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCaseSelected",
+                                        "value": {
+                                            "key": "TestMatchCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchStateTime",
+                                        "value": {
+                                            "key": "TestMatchStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestSlogan",
+                                        "value": {
+                                            "key": "TestSlogan",
+                                            "fieldSchemaKey": {
+                                                "name": "TestSlogan",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTemperature",
+                                        "value": {
+                                            "key": "TestTemperature",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTemperature",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTimestamp",
+                                        "value": {
+                                            "key": "TestTimestamp",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    }
+                                ]
+                            },
+                            "outputFields": {
+                                "entry": [
+                                    {
+                                        "key": "TestDecideCaseSelected",
+                                        "value": {
+                                            "key": "TestDecideCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestDecideStateTime",
+                                        "value": {
+                                            "key": "TestDecideStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestEstablishCaseSelected",
+                                        "value": {
+                                            "key": "TestEstablishCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestEstablishStateTime",
+                                        "value": {
+                                            "key": "TestEstablishStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCase",
+                                        "value": {
+                                            "key": "TestMatchCase",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCaseSelected",
+                                        "value": {
+                                            "key": "TestMatchCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchStateTime",
+                                        "value": {
+                                            "key": "TestMatchStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestSlogan",
+                                        "value": {
+                                            "key": "TestSlogan",
+                                            "fieldSchemaKey": {
+                                                "name": "TestSlogan",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTemperature",
+                                        "value": {
+                                            "key": "TestTemperature",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTemperature",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTimestamp",
+                                        "value": {
+                                            "key": "TestTimestamp",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    }
+                                ]
+                            },
+                            "taskParameters": {
+                                "entry": [
+                                    {
+                                        "key": "Parameter0",
+                                        "value": {
+                                            "key": {
+                                                "parentKeyName": "Task_Decide1",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Parameter0"
+                                            },
+                                            "defaultValue": "DefaultValue0"
+                                        }
+                                    },
+                                    {
+                                        "key": "Parameter1",
+                                        "value": {
+                                            "key": {
+                                                "parentKeyName": "Task_Decide1",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Parameter1"
+                                            },
+                                            "defaultValue": "DefaultValue1"
+                                        }
+                                    }
+                                ]
+                            },
+                            "contextAlbumReference": [
+                                {
+                                    "name": "GlobalContextAlbum",
+                                    "version": "0.0.1"
+                                },
+                                {
+                                    "name": "Policy0ContextAlbum",
+                                    "version": "0.0.1"
+                                }
+                            ],
+                            "taskLogic": {
+                                "key": "_TaskLogic",
+                                "logicFlavour": "MVEL",
+                                "logic": "import java.util.Date;\nlogger.debug(subject.id);\ngc = getContextAlbum(\"GlobalContextAlbum\");\nlogger.debug(gc);\nlogger.debug(inFields);\noutFields[\"TestDecideCaseSelected\"] = (byte)3;\ntimeNow = new Date();\noutFields[\"TestDecideStateTime\"] = timeNow.getTime();\nlogger.debug(outFields);\nreturn true;"
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Task_Decide2",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Task_Decide2",
+                                "version": "0.0.1"
+                            },
+                            "inputFields": {
+                                "entry": [
+                                    {
+                                        "key": "TestEstablishCaseSelected",
+                                        "value": {
+                                            "key": "TestEstablishCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestEstablishStateTime",
+                                        "value": {
+                                            "key": "TestEstablishStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCase",
+                                        "value": {
+                                            "key": "TestMatchCase",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCaseSelected",
+                                        "value": {
+                                            "key": "TestMatchCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchStateTime",
+                                        "value": {
+                                            "key": "TestMatchStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestSlogan",
+                                        "value": {
+                                            "key": "TestSlogan",
+                                            "fieldSchemaKey": {
+                                                "name": "TestSlogan",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTemperature",
+                                        "value": {
+                                            "key": "TestTemperature",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTemperature",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTimestamp",
+                                        "value": {
+                                            "key": "TestTimestamp",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    }
+                                ]
+                            },
+                            "outputFields": {
+                                "entry": [
+                                    {
+                                        "key": "TestDecideCaseSelected",
+                                        "value": {
+                                            "key": "TestDecideCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestDecideStateTime",
+                                        "value": {
+                                            "key": "TestDecideStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestEstablishCaseSelected",
+                                        "value": {
+                                            "key": "TestEstablishCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestEstablishStateTime",
+                                        "value": {
+                                            "key": "TestEstablishStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCase",
+                                        "value": {
+                                            "key": "TestMatchCase",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCaseSelected",
+                                        "value": {
+                                            "key": "TestMatchCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchStateTime",
+                                        "value": {
+                                            "key": "TestMatchStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestSlogan",
+                                        "value": {
+                                            "key": "TestSlogan",
+                                            "fieldSchemaKey": {
+                                                "name": "TestSlogan",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTemperature",
+                                        "value": {
+                                            "key": "TestTemperature",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTemperature",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTimestamp",
+                                        "value": {
+                                            "key": "TestTimestamp",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    }
+                                ]
+                            },
+                            "taskParameters": {
+                                "entry": [
+                                    {
+                                        "key": "Parameter0",
+                                        "value": {
+                                            "key": {
+                                                "parentKeyName": "Task_Decide2",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Parameter0"
+                                            },
+                                            "defaultValue": "DefaultValue0"
+                                        }
+                                    }
+                                ]
+                            },
+                            "contextAlbumReference": [
+                                {
+                                    "name": "GlobalContextAlbum",
+                                    "version": "0.0.1"
+                                },
+                                {
+                                    "name": "Policy1ContextAlbum",
+                                    "version": "0.0.1"
+                                }
+                            ],
+                            "taskLogic": {
+                                "key": "_TaskLogic",
+                                "logicFlavour": "MVEL",
+                                "logic": "import java.util.Date;\nlogger.debug(subject.id);\ngc = getContextAlbum(\"GlobalContextAlbum\");\nlogger.debug(gc);\nlogger.debug(inFields);\noutFields[\"TestDecideCaseSelected\"] = (byte)0;\ntimeNow = new Date();\noutFields[\"TestDecideStateTime\"] = timeNow.getTime();\nlogger.debug(outFields);\nreturn true;"
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Task_Decide3",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Task_Decide3",
+                                "version": "0.0.1"
+                            },
+                            "inputFields": {
+                                "entry": [
+                                    {
+                                        "key": "TestEstablishCaseSelected",
+                                        "value": {
+                                            "key": "TestEstablishCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestEstablishStateTime",
+                                        "value": {
+                                            "key": "TestEstablishStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCase",
+                                        "value": {
+                                            "key": "TestMatchCase",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCaseSelected",
+                                        "value": {
+                                            "key": "TestMatchCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchStateTime",
+                                        "value": {
+                                            "key": "TestMatchStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestSlogan",
+                                        "value": {
+                                            "key": "TestSlogan",
+                                            "fieldSchemaKey": {
+                                                "name": "TestSlogan",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTemperature",
+                                        "value": {
+                                            "key": "TestTemperature",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTemperature",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTimestamp",
+                                        "value": {
+                                            "key": "TestTimestamp",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    }
+                                ]
+                            },
+                            "outputFields": {
+                                "entry": [
+                                    {
+                                        "key": "TestDecideCaseSelected",
+                                        "value": {
+                                            "key": "TestDecideCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestDecideStateTime",
+                                        "value": {
+                                            "key": "TestDecideStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestEstablishCaseSelected",
+                                        "value": {
+                                            "key": "TestEstablishCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestEstablishStateTime",
+                                        "value": {
+                                            "key": "TestEstablishStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCase",
+                                        "value": {
+                                            "key": "TestMatchCase",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCaseSelected",
+                                        "value": {
+                                            "key": "TestMatchCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchStateTime",
+                                        "value": {
+                                            "key": "TestMatchStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestSlogan",
+                                        "value": {
+                                            "key": "TestSlogan",
+                                            "fieldSchemaKey": {
+                                                "name": "TestSlogan",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTemperature",
+                                        "value": {
+                                            "key": "TestTemperature",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTemperature",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTimestamp",
+                                        "value": {
+                                            "key": "TestTimestamp",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    }
+                                ]
+                            },
+                            "taskParameters": {
+                                "entry": [
+                                    {
+                                        "key": "Parameter0",
+                                        "value": {
+                                            "key": {
+                                                "parentKeyName": "Task_Decide3",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Parameter0"
+                                            },
+                                            "defaultValue": "DefaultValue0"
+                                        }
+                                    }
+                                ]
+                            },
+                            "contextAlbumReference": [
+                                {
+                                    "name": "ExternalContextAlbum",
+                                    "version": "0.0.1"
+                                },
+                                {
+                                    "name": "GlobalContextAlbum",
+                                    "version": "0.0.1"
+                                }
+                            ],
+                            "taskLogic": {
+                                "key": "_TaskLogic",
+                                "logicFlavour": "MVEL",
+                                "logic": "import java.util.Date;\nlogger.debug(subject.id);\ngc = getContextAlbum(\"GlobalContextAlbum\");\nlogger.debug(gc);\nlogger.debug(inFields);\noutFields[\"TestDecideCaseSelected\"] = (byte)1;\ntimeNow = new Date();\noutFields[\"TestDecideStateTime\"] = timeNow.getTime();\nlogger.debug(outFields);\nreturn true;"
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Task_Establish0",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Task_Establish0",
+                                "version": "0.0.1"
+                            },
+                            "inputFields": {
+                                "entry": [
+                                    {
+                                        "key": "TestMatchCase",
+                                        "value": {
+                                            "key": "TestMatchCase",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCaseSelected",
+                                        "value": {
+                                            "key": "TestMatchCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchStateTime",
+                                        "value": {
+                                            "key": "TestMatchStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestSlogan",
+                                        "value": {
+                                            "key": "TestSlogan",
+                                            "fieldSchemaKey": {
+                                                "name": "TestSlogan",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTemperature",
+                                        "value": {
+                                            "key": "TestTemperature",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTemperature",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTimestamp",
+                                        "value": {
+                                            "key": "TestTimestamp",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    }
+                                ]
+                            },
+                            "outputFields": {
+                                "entry": [
+                                    {
+                                        "key": "TestEstablishCaseSelected",
+                                        "value": {
+                                            "key": "TestEstablishCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestEstablishStateTime",
+                                        "value": {
+                                            "key": "TestEstablishStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCase",
+                                        "value": {
+                                            "key": "TestMatchCase",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCaseSelected",
+                                        "value": {
+                                            "key": "TestMatchCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchStateTime",
+                                        "value": {
+                                            "key": "TestMatchStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestSlogan",
+                                        "value": {
+                                            "key": "TestSlogan",
+                                            "fieldSchemaKey": {
+                                                "name": "TestSlogan",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTemperature",
+                                        "value": {
+                                            "key": "TestTemperature",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTemperature",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTimestamp",
+                                        "value": {
+                                            "key": "TestTimestamp",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    }
+                                ]
+                            },
+                            "taskParameters": {
+                                "entry": [
+                                    {
+                                        "key": "Parameter0",
+                                        "value": {
+                                            "key": {
+                                                "parentKeyName": "Task_Establish0",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Parameter0"
+                                            },
+                                            "defaultValue": "DefaultValue0"
+                                        }
+                                    },
+                                    {
+                                        "key": "Parameter1",
+                                        "value": {
+                                            "key": {
+                                                "parentKeyName": "Task_Establish0",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Parameter1"
+                                            },
+                                            "defaultValue": "DefaultValue1"
+                                        }
+                                    },
+                                    {
+                                        "key": "Parameter2",
+                                        "value": {
+                                            "key": {
+                                                "parentKeyName": "Task_Establish0",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Parameter2"
+                                            },
+                                            "defaultValue": "DefaultValue2"
+                                        }
+                                    }
+                                ]
+                            },
+                            "contextAlbumReference": [
+                                {
+                                    "name": "ExternalContextAlbum",
+                                    "version": "0.0.1"
+                                },
+                                {
+                                    "name": "GlobalContextAlbum",
+                                    "version": "0.0.1"
+                                },
+                                {
+                                    "name": "Policy0ContextAlbum",
+                                    "version": "0.0.1"
+                                },
+                                {
+                                    "name": "Policy1ContextAlbum",
+                                    "version": "0.0.1"
+                                }
+                            ],
+                            "taskLogic": {
+                                "key": "_TaskLogic",
+                                "logicFlavour": "MVEL",
+                                "logic": "import java.util.Date;\nlogger.debug(subject.id);\ngc = getContextAlbum(\"GlobalContextAlbum\");\nlogger.debug(gc);\nlogger.debug(inFields);\noutFields[\"TestEstablishCaseSelected\"] = (byte)2;\ntimeNow = new Date();\noutFields[\"TestEstablishStateTime\"] = timeNow.getTime();\nlogger.debug(outFields);\nreturn true;"
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Task_Establish1",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Task_Establish1",
+                                "version": "0.0.1"
+                            },
+                            "inputFields": {
+                                "entry": [
+                                    {
+                                        "key": "TestMatchCase",
+                                        "value": {
+                                            "key": "TestMatchCase",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCaseSelected",
+                                        "value": {
+                                            "key": "TestMatchCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchStateTime",
+                                        "value": {
+                                            "key": "TestMatchStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestSlogan",
+                                        "value": {
+                                            "key": "TestSlogan",
+                                            "fieldSchemaKey": {
+                                                "name": "TestSlogan",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTemperature",
+                                        "value": {
+                                            "key": "TestTemperature",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTemperature",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTimestamp",
+                                        "value": {
+                                            "key": "TestTimestamp",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    }
+                                ]
+                            },
+                            "outputFields": {
+                                "entry": [
+                                    {
+                                        "key": "TestEstablishCaseSelected",
+                                        "value": {
+                                            "key": "TestEstablishCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestEstablishStateTime",
+                                        "value": {
+                                            "key": "TestEstablishStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCase",
+                                        "value": {
+                                            "key": "TestMatchCase",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCaseSelected",
+                                        "value": {
+                                            "key": "TestMatchCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchStateTime",
+                                        "value": {
+                                            "key": "TestMatchStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestSlogan",
+                                        "value": {
+                                            "key": "TestSlogan",
+                                            "fieldSchemaKey": {
+                                                "name": "TestSlogan",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTemperature",
+                                        "value": {
+                                            "key": "TestTemperature",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTemperature",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTimestamp",
+                                        "value": {
+                                            "key": "TestTimestamp",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    }
+                                ]
+                            },
+                            "taskParameters": {
+                                "entry": [
+                                    {
+                                        "key": "Parameter0",
+                                        "value": {
+                                            "key": {
+                                                "parentKeyName": "Task_Establish1",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Parameter0"
+                                            },
+                                            "defaultValue": "DefaultValue0"
+                                        }
+                                    },
+                                    {
+                                        "key": "Parameter1",
+                                        "value": {
+                                            "key": {
+                                                "parentKeyName": "Task_Establish1",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Parameter1"
+                                            },
+                                            "defaultValue": "DefaultValue1"
+                                        }
+                                    }
+                                ]
+                            },
+                            "contextAlbumReference": [
+                                {
+                                    "name": "GlobalContextAlbum",
+                                    "version": "0.0.1"
+                                },
+                                {
+                                    "name": "Policy0ContextAlbum",
+                                    "version": "0.0.1"
+                                }
+                            ],
+                            "taskLogic": {
+                                "key": "_TaskLogic",
+                                "logicFlavour": "MVEL",
+                                "logic": "import java.util.Date;\nlogger.debug(subject.id);\ngc = getContextAlbum(\"GlobalContextAlbum\");\nlogger.debug(gc);\nlogger.debug(inFields);\noutFields[\"TestEstablishCaseSelected\"] = (byte)3;\ntimeNow = new Date();\noutFields[\"TestEstablishStateTime\"] = timeNow.getTime();\nlogger.debug(outFields);\nreturn true;"
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Task_Establish2",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Task_Establish2",
+                                "version": "0.0.1"
+                            },
+                            "inputFields": {
+                                "entry": [
+                                    {
+                                        "key": "TestMatchCase",
+                                        "value": {
+                                            "key": "TestMatchCase",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCaseSelected",
+                                        "value": {
+                                            "key": "TestMatchCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchStateTime",
+                                        "value": {
+                                            "key": "TestMatchStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestSlogan",
+                                        "value": {
+                                            "key": "TestSlogan",
+                                            "fieldSchemaKey": {
+                                                "name": "TestSlogan",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTemperature",
+                                        "value": {
+                                            "key": "TestTemperature",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTemperature",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTimestamp",
+                                        "value": {
+                                            "key": "TestTimestamp",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    }
+                                ]
+                            },
+                            "outputFields": {
+                                "entry": [
+                                    {
+                                        "key": "TestEstablishCaseSelected",
+                                        "value": {
+                                            "key": "TestEstablishCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestEstablishStateTime",
+                                        "value": {
+                                            "key": "TestEstablishStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCase",
+                                        "value": {
+                                            "key": "TestMatchCase",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCaseSelected",
+                                        "value": {
+                                            "key": "TestMatchCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchStateTime",
+                                        "value": {
+                                            "key": "TestMatchStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestSlogan",
+                                        "value": {
+                                            "key": "TestSlogan",
+                                            "fieldSchemaKey": {
+                                                "name": "TestSlogan",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTemperature",
+                                        "value": {
+                                            "key": "TestTemperature",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTemperature",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTimestamp",
+                                        "value": {
+                                            "key": "TestTimestamp",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    }
+                                ]
+                            },
+                            "taskParameters": {
+                                "entry": [
+                                    {
+                                        "key": "Parameter0",
+                                        "value": {
+                                            "key": {
+                                                "parentKeyName": "Task_Establish2",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Parameter0"
+                                            },
+                                            "defaultValue": "DefaultValue0"
+                                        }
+                                    }
+                                ]
+                            },
+                            "contextAlbumReference": [
+                                {
+                                    "name": "GlobalContextAlbum",
+                                    "version": "0.0.1"
+                                },
+                                {
+                                    "name": "Policy1ContextAlbum",
+                                    "version": "0.0.1"
+                                }
+                            ],
+                            "taskLogic": {
+                                "key": "_TaskLogic",
+                                "logicFlavour": "MVEL",
+                                "logic": "import java.util.Date;\nlogger.debug(subject.id);\ngc = getContextAlbum(\"GlobalContextAlbum\");\nlogger.debug(gc);\nlogger.debug(inFields);\noutFields[\"TestEstablishCaseSelected\"] = (byte)0;\ntimeNow = new Date();\noutFields[\"TestEstablishStateTime\"] = timeNow.getTime();\nlogger.debug(outFields);\nreturn true;"
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Task_Establish3",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Task_Establish3",
+                                "version": "0.0.1"
+                            },
+                            "inputFields": {
+                                "entry": [
+                                    {
+                                        "key": "TestMatchCase",
+                                        "value": {
+                                            "key": "TestMatchCase",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCaseSelected",
+                                        "value": {
+                                            "key": "TestMatchCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchStateTime",
+                                        "value": {
+                                            "key": "TestMatchStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestSlogan",
+                                        "value": {
+                                            "key": "TestSlogan",
+                                            "fieldSchemaKey": {
+                                                "name": "TestSlogan",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTemperature",
+                                        "value": {
+                                            "key": "TestTemperature",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTemperature",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTimestamp",
+                                        "value": {
+                                            "key": "TestTimestamp",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    }
+                                ]
+                            },
+                            "outputFields": {
+                                "entry": [
+                                    {
+                                        "key": "TestEstablishCaseSelected",
+                                        "value": {
+                                            "key": "TestEstablishCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestEstablishStateTime",
+                                        "value": {
+                                            "key": "TestEstablishStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCase",
+                                        "value": {
+                                            "key": "TestMatchCase",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCaseSelected",
+                                        "value": {
+                                            "key": "TestMatchCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchStateTime",
+                                        "value": {
+                                            "key": "TestMatchStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestSlogan",
+                                        "value": {
+                                            "key": "TestSlogan",
+                                            "fieldSchemaKey": {
+                                                "name": "TestSlogan",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTemperature",
+                                        "value": {
+                                            "key": "TestTemperature",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTemperature",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTimestamp",
+                                        "value": {
+                                            "key": "TestTimestamp",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    }
+                                ]
+                            },
+                            "taskParameters": {
+                                "entry": [
+                                    {
+                                        "key": "Parameter0",
+                                        "value": {
+                                            "key": {
+                                                "parentKeyName": "Task_Establish3",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Parameter0"
+                                            },
+                                            "defaultValue": "DefaultValue0"
+                                        }
+                                    }
+                                ]
+                            },
+                            "contextAlbumReference": [
+                                {
+                                    "name": "ExternalContextAlbum",
+                                    "version": "0.0.1"
+                                },
+                                {
+                                    "name": "GlobalContextAlbum",
+                                    "version": "0.0.1"
+                                }
+                            ],
+                            "taskLogic": {
+                                "key": "_TaskLogic",
+                                "logicFlavour": "MVEL",
+                                "logic": "import java.util.Date;\nlogger.debug(subject.id);\ngc = getContextAlbum(\"GlobalContextAlbum\");\nlogger.debug(gc);\nlogger.debug(inFields);\noutFields[\"TestEstablishCaseSelected\"] = (byte)1;\ntimeNow = new Date();\noutFields[\"TestEstablishStateTime\"] = timeNow.getTime();\nlogger.debug(outFields);\nreturn true;"
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Task_Match0",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Task_Match0",
+                                "version": "0.0.1"
+                            },
+                            "inputFields": {
+                                "entry": [
+                                    {
+                                        "key": "TestMatchCase",
+                                        "value": {
+                                            "key": "TestMatchCase",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestSlogan",
+                                        "value": {
+                                            "key": "TestSlogan",
+                                            "fieldSchemaKey": {
+                                                "name": "TestSlogan",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTemperature",
+                                        "value": {
+                                            "key": "TestTemperature",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTemperature",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTimestamp",
+                                        "value": {
+                                            "key": "TestTimestamp",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    }
+                                ]
+                            },
+                            "outputFields": {
+                                "entry": [
+                                    {
+                                        "key": "TestMatchCase",
+                                        "value": {
+                                            "key": "TestMatchCase",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCaseSelected",
+                                        "value": {
+                                            "key": "TestMatchCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchStateTime",
+                                        "value": {
+                                            "key": "TestMatchStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestSlogan",
+                                        "value": {
+                                            "key": "TestSlogan",
+                                            "fieldSchemaKey": {
+                                                "name": "TestSlogan",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTemperature",
+                                        "value": {
+                                            "key": "TestTemperature",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTemperature",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTimestamp",
+                                        "value": {
+                                            "key": "TestTimestamp",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    }
+                                ]
+                            },
+                            "taskParameters": {
+                                "entry": [
+                                    {
+                                        "key": "Parameter0",
+                                        "value": {
+                                            "key": {
+                                                "parentKeyName": "Task_Match0",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Parameter0"
+                                            },
+                                            "defaultValue": "DefaultValue0"
+                                        }
+                                    },
+                                    {
+                                        "key": "Parameter1",
+                                        "value": {
+                                            "key": {
+                                                "parentKeyName": "Task_Match0",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Parameter1"
+                                            },
+                                            "defaultValue": "DefaultValue1"
+                                        }
+                                    },
+                                    {
+                                        "key": "Parameter2",
+                                        "value": {
+                                            "key": {
+                                                "parentKeyName": "Task_Match0",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Parameter2"
+                                            },
+                                            "defaultValue": "DefaultValue2"
+                                        }
+                                    }
+                                ]
+                            },
+                            "contextAlbumReference": [
+                                {
+                                    "name": "ExternalContextAlbum",
+                                    "version": "0.0.1"
+                                },
+                                {
+                                    "name": "GlobalContextAlbum",
+                                    "version": "0.0.1"
+                                },
+                                {
+                                    "name": "Policy0ContextAlbum",
+                                    "version": "0.0.1"
+                                },
+                                {
+                                    "name": "Policy1ContextAlbum",
+                                    "version": "0.0.1"
+                                }
+                            ],
+                            "taskLogic": {
+                                "key": "_TaskLogic",
+                                "logicFlavour": "MVEL",
+                                "logic": "import java.util.Date;\nlogger.debug(subject.id);\ngc = getContextAlbum(\"GlobalContextAlbum\");\nlogger.debug(gc);\nlogger.debug(inFields);\noutFields[\"TestMatchCaseSelected\"] = (byte)2;\ntimeNow = new Date();\noutFields[\"TestMatchStateTime\"] = timeNow.getTime();\nlogger.debug(outFields);\nreturn true;"
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Task_Match1",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Task_Match1",
+                                "version": "0.0.1"
+                            },
+                            "inputFields": {
+                                "entry": [
+                                    {
+                                        "key": "TestMatchCase",
+                                        "value": {
+                                            "key": "TestMatchCase",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestSlogan",
+                                        "value": {
+                                            "key": "TestSlogan",
+                                            "fieldSchemaKey": {
+                                                "name": "TestSlogan",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTemperature",
+                                        "value": {
+                                            "key": "TestTemperature",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTemperature",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTimestamp",
+                                        "value": {
+                                            "key": "TestTimestamp",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    }
+                                ]
+                            },
+                            "outputFields": {
+                                "entry": [
+                                    {
+                                        "key": "TestMatchCase",
+                                        "value": {
+                                            "key": "TestMatchCase",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCaseSelected",
+                                        "value": {
+                                            "key": "TestMatchCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchStateTime",
+                                        "value": {
+                                            "key": "TestMatchStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestSlogan",
+                                        "value": {
+                                            "key": "TestSlogan",
+                                            "fieldSchemaKey": {
+                                                "name": "TestSlogan",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTemperature",
+                                        "value": {
+                                            "key": "TestTemperature",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTemperature",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTimestamp",
+                                        "value": {
+                                            "key": "TestTimestamp",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    }
+                                ]
+                            },
+                            "taskParameters": {
+                                "entry": [
+                                    {
+                                        "key": "Parameter0",
+                                        "value": {
+                                            "key": {
+                                                "parentKeyName": "Task_Match1",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Parameter0"
+                                            },
+                                            "defaultValue": "DefaultValue0"
+                                        }
+                                    },
+                                    {
+                                        "key": "Parameter1",
+                                        "value": {
+                                            "key": {
+                                                "parentKeyName": "Task_Match1",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Parameter1"
+                                            },
+                                            "defaultValue": "DefaultValue1"
+                                        }
+                                    }
+                                ]
+                            },
+                            "contextAlbumReference": [
+                                {
+                                    "name": "GlobalContextAlbum",
+                                    "version": "0.0.1"
+                                },
+                                {
+                                    "name": "Policy0ContextAlbum",
+                                    "version": "0.0.1"
+                                }
+                            ],
+                            "taskLogic": {
+                                "key": "_TaskLogic",
+                                "logicFlavour": "MVEL",
+                                "logic": "import java.util.Date;\nlogger.debug(subject.id);\ngc = getContextAlbum(\"GlobalContextAlbum\");\nlogger.debug(gc);\nlogger.debug(inFields);\noutFields[\"TestMatchCaseSelected\"] = (byte)3;\ntimeNow = new Date();\noutFields[\"TestMatchStateTime\"] = timeNow.getTime();\nlogger.debug(outFields);\nreturn true;"
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Task_Match2",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Task_Match2",
+                                "version": "0.0.1"
+                            },
+                            "inputFields": {
+                                "entry": [
+                                    {
+                                        "key": "TestMatchCase",
+                                        "value": {
+                                            "key": "TestMatchCase",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestSlogan",
+                                        "value": {
+                                            "key": "TestSlogan",
+                                            "fieldSchemaKey": {
+                                                "name": "TestSlogan",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTemperature",
+                                        "value": {
+                                            "key": "TestTemperature",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTemperature",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTimestamp",
+                                        "value": {
+                                            "key": "TestTimestamp",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    }
+                                ]
+                            },
+                            "outputFields": {
+                                "entry": [
+                                    {
+                                        "key": "TestMatchCase",
+                                        "value": {
+                                            "key": "TestMatchCase",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCaseSelected",
+                                        "value": {
+                                            "key": "TestMatchCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchStateTime",
+                                        "value": {
+                                            "key": "TestMatchStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestSlogan",
+                                        "value": {
+                                            "key": "TestSlogan",
+                                            "fieldSchemaKey": {
+                                                "name": "TestSlogan",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTemperature",
+                                        "value": {
+                                            "key": "TestTemperature",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTemperature",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTimestamp",
+                                        "value": {
+                                            "key": "TestTimestamp",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    }
+                                ]
+                            },
+                            "taskParameters": {
+                                "entry": [
+                                    {
+                                        "key": "Parameter0",
+                                        "value": {
+                                            "key": {
+                                                "parentKeyName": "Task_Match2",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Parameter0"
+                                            },
+                                            "defaultValue": "DefaultValue0"
+                                        }
+                                    }
+                                ]
+                            },
+                            "contextAlbumReference": [
+                                {
+                                    "name": "GlobalContextAlbum",
+                                    "version": "0.0.1"
+                                },
+                                {
+                                    "name": "Policy1ContextAlbum",
+                                    "version": "0.0.1"
+                                }
+                            ],
+                            "taskLogic": {
+                                "key": "_TaskLogic",
+                                "logicFlavour": "MVEL",
+                                "logic": "import java.util.Date;\nlogger.debug(subject.id);\ngc = getContextAlbum(\"GlobalContextAlbum\");\nlogger.debug(gc);\nlogger.debug(inFields);\noutFields[\"TestMatchCaseSelected\"] = (byte)0;\ntimeNow = new Date();\noutFields[\"TestMatchStateTime\"] = timeNow.getTime();\nlogger.debug(outFields);\nreturn true;"
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Task_Match3",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Task_Match3",
+                                "version": "0.0.1"
+                            },
+                            "inputFields": {
+                                "entry": [
+                                    {
+                                        "key": "TestMatchCase",
+                                        "value": {
+                                            "key": "TestMatchCase",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestSlogan",
+                                        "value": {
+                                            "key": "TestSlogan",
+                                            "fieldSchemaKey": {
+                                                "name": "TestSlogan",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTemperature",
+                                        "value": {
+                                            "key": "TestTemperature",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTemperature",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTimestamp",
+                                        "value": {
+                                            "key": "TestTimestamp",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    }
+                                ]
+                            },
+                            "outputFields": {
+                                "entry": [
+                                    {
+                                        "key": "TestMatchCase",
+                                        "value": {
+                                            "key": "TestMatchCase",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCaseSelected",
+                                        "value": {
+                                            "key": "TestMatchCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchStateTime",
+                                        "value": {
+                                            "key": "TestMatchStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestSlogan",
+                                        "value": {
+                                            "key": "TestSlogan",
+                                            "fieldSchemaKey": {
+                                                "name": "TestSlogan",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTemperature",
+                                        "value": {
+                                            "key": "TestTemperature",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTemperature",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTimestamp",
+                                        "value": {
+                                            "key": "TestTimestamp",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    }
+                                ]
+                            },
+                            "taskParameters": {
+                                "entry": [
+                                    {
+                                        "key": "Parameter0",
+                                        "value": {
+                                            "key": {
+                                                "parentKeyName": "Task_Match3",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Parameter0"
+                                            },
+                                            "defaultValue": "DefaultValue0"
+                                        }
+                                    }
+                                ]
+                            },
+                            "contextAlbumReference": [
+                                {
+                                    "name": "ExternalContextAlbum",
+                                    "version": "0.0.1"
+                                },
+                                {
+                                    "name": "GlobalContextAlbum",
+                                    "version": "0.0.1"
+                                }
+                            ],
+                            "taskLogic": {
+                                "key": "_TaskLogic",
+                                "logicFlavour": "MVEL",
+                                "logic": "import java.util.Date;\nlogger.debug(subject.id);\ngc = getContextAlbum(\"GlobalContextAlbum\");\nlogger.debug(gc);\nlogger.debug(inFields);\noutFields[\"TestMatchCaseSelected\"] = (byte)1;\ntimeNow = new Date();\noutFields[\"TestMatchStateTime\"] = timeNow.getTime();\nlogger.debug(outFields);\nreturn true;"
+                            }
+                        }
+                    }
+                ]
+            }
+        },
+        "events": {
+            "key": {
+                "name": "Events",
+                "version": "0.0.1"
+            },
+            "eventMap": {
+                "entry": [
+                    {
+                        "key": {
+                            "name": "Event0000",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Event0000",
+                                "version": "0.0.1"
+                            },
+                            "nameSpace": "org.onap.policy.apex.sample.events",
+                            "source": "Outside",
+                            "target": "Match",
+                            "parameter": {
+                                "entry": [
+                                    {
+                                        "key": "TestMatchCase",
+                                        "value": {
+                                            "key": "TestMatchCase",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestSlogan",
+                                        "value": {
+                                            "key": "TestSlogan",
+                                            "fieldSchemaKey": {
+                                                "name": "TestSlogan",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTemperature",
+                                        "value": {
+                                            "key": "TestTemperature",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTemperature",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTimestamp",
+                                        "value": {
+                                            "key": "TestTimestamp",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    }
+                                ]
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Event0001",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Event0001",
+                                "version": "0.0.1"
+                            },
+                            "nameSpace": "org.onap.policy.apex.sample.events",
+                            "source": "Match",
+                            "target": "Establish",
+                            "parameter": {
+                                "entry": [
+                                    {
+                                        "key": "TestMatchCase",
+                                        "value": {
+                                            "key": "TestMatchCase",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCaseSelected",
+                                        "value": {
+                                            "key": "TestMatchCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchStateTime",
+                                        "value": {
+                                            "key": "TestMatchStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestSlogan",
+                                        "value": {
+                                            "key": "TestSlogan",
+                                            "fieldSchemaKey": {
+                                                "name": "TestSlogan",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTemperature",
+                                        "value": {
+                                            "key": "TestTemperature",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTemperature",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTimestamp",
+                                        "value": {
+                                            "key": "TestTimestamp",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    }
+                                ]
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Event0002",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Event0002",
+                                "version": "0.0.1"
+                            },
+                            "nameSpace": "org.onap.policy.apex.sample.events",
+                            "source": "Establish",
+                            "target": "Decide",
+                            "parameter": {
+                                "entry": [
+                                    {
+                                        "key": "TestEstablishCaseSelected",
+                                        "value": {
+                                            "key": "TestEstablishCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestEstablishStateTime",
+                                        "value": {
+                                            "key": "TestEstablishStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCase",
+                                        "value": {
+                                            "key": "TestMatchCase",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCaseSelected",
+                                        "value": {
+                                            "key": "TestMatchCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchStateTime",
+                                        "value": {
+                                            "key": "TestMatchStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestSlogan",
+                                        "value": {
+                                            "key": "TestSlogan",
+                                            "fieldSchemaKey": {
+                                                "name": "TestSlogan",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTemperature",
+                                        "value": {
+                                            "key": "TestTemperature",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTemperature",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTimestamp",
+                                        "value": {
+                                            "key": "TestTimestamp",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    }
+                                ]
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Event0003",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Event0003",
+                                "version": "0.0.1"
+                            },
+                            "nameSpace": "org.onap.policy.apex.sample.events",
+                            "source": "Decide",
+                            "target": "Act",
+                            "parameter": {
+                                "entry": [
+                                    {
+                                        "key": "TestDecideCaseSelected",
+                                        "value": {
+                                            "key": "TestDecideCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestDecideStateTime",
+                                        "value": {
+                                            "key": "TestDecideStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestEstablishCaseSelected",
+                                        "value": {
+                                            "key": "TestEstablishCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestEstablishStateTime",
+                                        "value": {
+                                            "key": "TestEstablishStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCase",
+                                        "value": {
+                                            "key": "TestMatchCase",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCaseSelected",
+                                        "value": {
+                                            "key": "TestMatchCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchStateTime",
+                                        "value": {
+                                            "key": "TestMatchStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestSlogan",
+                                        "value": {
+                                            "key": "TestSlogan",
+                                            "fieldSchemaKey": {
+                                                "name": "TestSlogan",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTemperature",
+                                        "value": {
+                                            "key": "TestTemperature",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTemperature",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTimestamp",
+                                        "value": {
+                                            "key": "TestTimestamp",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    }
+                                ]
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Event0004",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Event0004",
+                                "version": "0.0.1"
+                            },
+                            "nameSpace": "org.onap.policy.apex.sample.events",
+                            "source": "Act",
+                            "target": "Outside",
+                            "parameter": {
+                                "entry": [
+                                    {
+                                        "key": "TestActCaseSelected",
+                                        "value": {
+                                            "key": "TestActCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestActStateTime",
+                                        "value": {
+                                            "key": "TestActStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestDecideCaseSelected",
+                                        "value": {
+                                            "key": "TestDecideCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestDecideStateTime",
+                                        "value": {
+                                            "key": "TestDecideStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestEstablishCaseSelected",
+                                        "value": {
+                                            "key": "TestEstablishCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestEstablishStateTime",
+                                        "value": {
+                                            "key": "TestEstablishStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCase",
+                                        "value": {
+                                            "key": "TestMatchCase",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCaseSelected",
+                                        "value": {
+                                            "key": "TestMatchCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchStateTime",
+                                        "value": {
+                                            "key": "TestMatchStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestSlogan",
+                                        "value": {
+                                            "key": "TestSlogan",
+                                            "fieldSchemaKey": {
+                                                "name": "TestSlogan",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTemperature",
+                                        "value": {
+                                            "key": "TestTemperature",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTemperature",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTimestamp",
+                                        "value": {
+                                            "key": "TestTimestamp",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    }
+                                ]
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Event0100",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Event0100",
+                                "version": "0.0.1"
+                            },
+                            "nameSpace": "org.onap.policy.apex.sample.events",
+                            "source": "Outside",
+                            "target": "Match",
+                            "parameter": {
+                                "entry": [
+                                    {
+                                        "key": "TestMatchCase",
+                                        "value": {
+                                            "key": "TestMatchCase",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestSlogan",
+                                        "value": {
+                                            "key": "TestSlogan",
+                                            "fieldSchemaKey": {
+                                                "name": "TestSlogan",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTemperature",
+                                        "value": {
+                                            "key": "TestTemperature",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTemperature",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTimestamp",
+                                        "value": {
+                                            "key": "TestTimestamp",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    }
+                                ]
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Event0101",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Event0101",
+                                "version": "0.0.1"
+                            },
+                            "nameSpace": "org.onap.policy.apex.sample.events",
+                            "source": "Match",
+                            "target": "Establish",
+                            "parameter": {
+                                "entry": [
+                                    {
+                                        "key": "TestMatchCase",
+                                        "value": {
+                                            "key": "TestMatchCase",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCaseSelected",
+                                        "value": {
+                                            "key": "TestMatchCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchStateTime",
+                                        "value": {
+                                            "key": "TestMatchStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestSlogan",
+                                        "value": {
+                                            "key": "TestSlogan",
+                                            "fieldSchemaKey": {
+                                                "name": "TestSlogan",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTemperature",
+                                        "value": {
+                                            "key": "TestTemperature",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTemperature",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTimestamp",
+                                        "value": {
+                                            "key": "TestTimestamp",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    }
+                                ]
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Event0102",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Event0102",
+                                "version": "0.0.1"
+                            },
+                            "nameSpace": "org.onap.policy.apex.sample.events",
+                            "source": "Establish",
+                            "target": "Decide",
+                            "parameter": {
+                                "entry": [
+                                    {
+                                        "key": "TestEstablishCaseSelected",
+                                        "value": {
+                                            "key": "TestEstablishCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestEstablishStateTime",
+                                        "value": {
+                                            "key": "TestEstablishStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCase",
+                                        "value": {
+                                            "key": "TestMatchCase",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCaseSelected",
+                                        "value": {
+                                            "key": "TestMatchCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchStateTime",
+                                        "value": {
+                                            "key": "TestMatchStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestSlogan",
+                                        "value": {
+                                            "key": "TestSlogan",
+                                            "fieldSchemaKey": {
+                                                "name": "TestSlogan",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTemperature",
+                                        "value": {
+                                            "key": "TestTemperature",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTemperature",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTimestamp",
+                                        "value": {
+                                            "key": "TestTimestamp",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    }
+                                ]
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Event0103",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Event0103",
+                                "version": "0.0.1"
+                            },
+                            "nameSpace": "org.onap.policy.apex.sample.events",
+                            "source": "Decide",
+                            "target": "Act",
+                            "parameter": {
+                                "entry": [
+                                    {
+                                        "key": "TestDecideCaseSelected",
+                                        "value": {
+                                            "key": "TestDecideCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestDecideStateTime",
+                                        "value": {
+                                            "key": "TestDecideStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestEstablishCaseSelected",
+                                        "value": {
+                                            "key": "TestEstablishCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestEstablishStateTime",
+                                        "value": {
+                                            "key": "TestEstablishStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCase",
+                                        "value": {
+                                            "key": "TestMatchCase",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCaseSelected",
+                                        "value": {
+                                            "key": "TestMatchCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchStateTime",
+                                        "value": {
+                                            "key": "TestMatchStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestSlogan",
+                                        "value": {
+                                            "key": "TestSlogan",
+                                            "fieldSchemaKey": {
+                                                "name": "TestSlogan",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTemperature",
+                                        "value": {
+                                            "key": "TestTemperature",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTemperature",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTimestamp",
+                                        "value": {
+                                            "key": "TestTimestamp",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    }
+                                ]
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Event0104",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Event0104",
+                                "version": "0.0.1"
+                            },
+                            "nameSpace": "org.onap.policy.apex.sample.events",
+                            "source": "Act",
+                            "target": "Outside",
+                            "parameter": {
+                                "entry": [
+                                    {
+                                        "key": "TestActCaseSelected",
+                                        "value": {
+                                            "key": "TestActCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestActStateTime",
+                                        "value": {
+                                            "key": "TestActStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestDecideCaseSelected",
+                                        "value": {
+                                            "key": "TestDecideCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestDecideStateTime",
+                                        "value": {
+                                            "key": "TestDecideStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestEstablishCaseSelected",
+                                        "value": {
+                                            "key": "TestEstablishCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestEstablishStateTime",
+                                        "value": {
+                                            "key": "TestEstablishStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCase",
+                                        "value": {
+                                            "key": "TestMatchCase",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCaseSelected",
+                                        "value": {
+                                            "key": "TestMatchCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchStateTime",
+                                        "value": {
+                                            "key": "TestMatchStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestSlogan",
+                                        "value": {
+                                            "key": "TestSlogan",
+                                            "fieldSchemaKey": {
+                                                "name": "TestSlogan",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTemperature",
+                                        "value": {
+                                            "key": "TestTemperature",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTemperature",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTimestamp",
+                                        "value": {
+                                            "key": "TestTimestamp",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            }
+                                        }
+                                    }
+                                ]
+                            }
+                        }
+                    }
+                ]
+            }
+        },
+        "albums": {
+            "key": {
+                "name": "Context",
+                "version": "0.0.1"
+            },
+            "albums": {
+                "entry": [
+                    {
+                        "key": {
+                            "name": "ExternalContextAlbum",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "ExternalContextAlbum",
+                                "version": "0.0.1"
+                            },
+                            "scope": "EXTERNAL",
+                            "isWritable": false,
+                            "itemSchema": {
+                                "name": "TestExternalContextItem",
+                                "version": "0.0.1"
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "GlobalContextAlbum",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "GlobalContextAlbum",
+                                "version": "0.0.1"
+                            },
+                            "scope": "GLOBAL",
+                            "isWritable": true,
+                            "itemSchema": {
+                                "name": "TestGlobalContextItem",
+                                "version": "0.0.1"
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Policy0ContextAlbum",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Policy0ContextAlbum",
+                                "version": "0.0.1"
+                            },
+                            "scope": "APPLICATION",
+                            "isWritable": true,
+                            "itemSchema": {
+                                "name": "TestPolicyContextItem",
+                                "version": "0.0.1"
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Policy1ContextAlbum",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Policy1ContextAlbum",
+                                "version": "0.0.1"
+                            },
+                            "scope": "APPLICATION",
+                            "isWritable": true,
+                            "itemSchema": {
+                                "name": "TestPolicyContextItem",
+                                "version": "0.0.1"
+                            }
+                        }
+                    }
+                ]
+            }
+        },
+        "schemas": {
+            "key": {
+                "name": "TestDatatypes",
+                "version": "0.0.1"
+            },
+            "schemas": {
+                "entry": [
+                    {
+                        "key": {
+                            "name": "TestCase",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestCase",
+                                "version": "0.0.1"
+                            },
+                            "schemaFlavour": "Java",
+                            "schemaDefinition": "java.lang.Byte"
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "TestContextItem000",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestContextItem000",
+                                "version": "0.0.1"
+                            },
+                            "schemaFlavour": "Java",
+                            "schemaDefinition": "org.onap.policy.apex.context.test.concepts.TestContextItem000"
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "TestContextItem001",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestContextItem001",
+                                "version": "0.0.1"
+                            },
+                            "schemaFlavour": "Java",
+                            "schemaDefinition": "org.onap.policy.apex.context.test.concepts.TestContextItem001"
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "TestContextItem002",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestContextItem002",
+                                "version": "0.0.1"
+                            },
+                            "schemaFlavour": "Java",
+                            "schemaDefinition": "org.onap.policy.apex.context.test.concepts.TestContextItem002"
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "TestContextItem003",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestContextItem003",
+                                "version": "0.0.1"
+                            },
+                            "schemaFlavour": "Java",
+                            "schemaDefinition": "org.onap.policy.apex.context.test.concepts.TestContextItem003"
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "TestContextItem004",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestContextItem004",
+                                "version": "0.0.1"
+                            },
+                            "schemaFlavour": "Java",
+                            "schemaDefinition": "org.onap.policy.apex.context.test.concepts.TestContextItem004"
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "TestContextItem005",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestContextItem005",
+                                "version": "0.0.1"
+                            },
+                            "schemaFlavour": "Java",
+                            "schemaDefinition": "org.onap.policy.apex.context.test.concepts.TestContextItem005"
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "TestContextItem006",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestContextItem006",
+                                "version": "0.0.1"
+                            },
+                            "schemaFlavour": "Java",
+                            "schemaDefinition": "org.onap.policy.apex.context.test.concepts.TestContextItem006"
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "TestContextItem007",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestContextItem007",
+                                "version": "0.0.1"
+                            },
+                            "schemaFlavour": "Java",
+                            "schemaDefinition": "org.onap.policy.apex.context.test.concepts.TestContextItem007"
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "TestContextItem008",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestContextItem008",
+                                "version": "0.0.1"
+                            },
+                            "schemaFlavour": "Java",
+                            "schemaDefinition": "org.onap.policy.apex.context.test.concepts.TestContextItem008"
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "TestContextItem009",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestContextItem009",
+                                "version": "0.0.1"
+                            },
+                            "schemaFlavour": "Java",
+                            "schemaDefinition": "org.onap.policy.apex.context.test.concepts.TestContextItem009"
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "TestContextItem00A",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestContextItem00A",
+                                "version": "0.0.1"
+                            },
+                            "schemaFlavour": "Java",
+                            "schemaDefinition": "org.onap.policy.apex.context.test.concepts.TestContextItem00A"
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "TestContextItem00B",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestContextItem00B",
+                                "version": "0.0.1"
+                            },
+                            "schemaFlavour": "Java",
+                            "schemaDefinition": "org.onap.policy.apex.context.test.concepts.TestContextItem00B"
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "TestContextItem00C",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestContextItem00C",
+                                "version": "0.0.1"
+                            },
+                            "schemaFlavour": "Java",
+                            "schemaDefinition": "org.onap.policy.apex.context.test.concepts.TestContextItem00C"
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "TestExternalContextItem",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestExternalContextItem",
+                                "version": "0.0.1"
+                            },
+                            "schemaFlavour": "Java",
+                            "schemaDefinition": "org.onap.policy.apex.context.test.concepts.TestExternalContextItem"
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "TestGlobalContextItem",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestGlobalContextItem",
+                                "version": "0.0.1"
+                            },
+                            "schemaFlavour": "Java",
+                            "schemaDefinition": "org.onap.policy.apex.context.test.concepts.TestGlobalContextItem"
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "TestPolicyContextItem",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestPolicyContextItem",
+                                "version": "0.0.1"
+                            },
+                            "schemaFlavour": "Java",
+                            "schemaDefinition": "org.onap.policy.apex.context.test.concepts.TestPolicyContextItem"
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "TestSlogan",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestSlogan",
+                                "version": "0.0.1"
+                            },
+                            "schemaFlavour": "Java",
+                            "schemaDefinition": "java.lang.String"
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "TestTemperature",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestTemperature",
+                                "version": "0.0.1"
+                            },
+                            "schemaFlavour": "Java",
+                            "schemaDefinition": "java.lang.Double"
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "TestTimestamp",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestTimestamp",
+                                "version": "0.0.1"
+                            },
+                            "schemaFlavour": "Java",
+                            "schemaDefinition": "java.lang.Long"
+                        }
+                    }
+                ]
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/testsuites/integration/integration-uservice-test/src/test/resources/policymodels/SamplePolicyModelMVELDivideByZero.json b/testsuites/integration/integration-uservice-test/src/test/resources/policymodels/SamplePolicyModelMVELDivideByZero.json
new file mode 100644 (file)
index 0000000..50c4266
--- /dev/null
@@ -0,0 +1,7372 @@
+{
+    "apexPolicyModel": {
+        "key": {
+            "name": "SamplePolicyModelMVEL",
+            "version": "0.0.1"
+        },
+        "keyInformation": {
+            "key": {
+                "name": "KeyInformation",
+                "version": "0.0.1"
+            },
+            "keyInfoMap": {
+                "entry": [
+                    {
+                        "key": {
+                            "name": "Context",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Context",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "2708db15-3117-4ef5-ae06-44ad4bc72756",
+                            "description": "Generated description for concept referred to by key \"Context:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Event0000",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Event0000",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "20f7f2d0-36e1-4134-93d9-8978e0ebb916",
+                            "description": "Generated description for concept referred to by key \"Event0000:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Event0001",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Event0001",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "bfa262fc-f59d-4b05-af44-a5b5c218b314",
+                            "description": "Generated description for concept referred to by key \"Event0001:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Event0002",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Event0002",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "84eeac88-5031-4487-b67a-5a3ae13c1a89",
+                            "description": "Generated description for concept referred to by key \"Event0002:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Event0003",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Event0003",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "7a46a411-1715-48d8-9e70-9b5d14bbbed4",
+                            "description": "Generated description for concept referred to by key \"Event0003:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Event0004",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Event0004",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "da0ba1b4-f654-4e99-97b5-595de84cb3dc",
+                            "description": "Generated description for concept referred to by key \"Event0004:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Event0100",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Event0100",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "1267b311-60e2-48a7-8d0e-23c4ea21d863",
+                            "description": "Generated description for concept referred to by key \"Event0100:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Event0101",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Event0101",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "84013070-ff2e-4295-acbd-4128f0509040",
+                            "description": "Generated description for concept referred to by key \"Event0101:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Event0102",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Event0102",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "6fb7761e-b86f-47fc-8e19-6a116600764e",
+                            "description": "Generated description for concept referred to by key \"Event0102:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Event0103",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Event0103",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "141cc707-009c-4e3b-a0f8-c346f074f590",
+                            "description": "Generated description for concept referred to by key \"Event0103:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Event0104",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Event0104",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "98f4d09f-ff73-4385-8876-df6d04b552cc",
+                            "description": "Generated description for concept referred to by key \"Event0104:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Events",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Events",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "889f6414-bc4d-4f29-b7af-175e63d23ac5",
+                            "description": "Generated description for concept referred to by key \"Events:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "ExternalContextAlbum",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "ExternalContextAlbum",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "64e4911c-5aed-467f-be19-277fb6170857",
+                            "description": "Generated description for concept referred to by key \"ExternalContextAlbum:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "GlobalContextAlbum",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "GlobalContextAlbum",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "cb6a1892-8c3c-44df-b8a7-0e5a333ff9eb",
+                            "description": "Generated description for concept referred to by key \"GlobalContextAlbum:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "KeyInformation",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "KeyInformation",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "f3126983-e26c-491f-8738-c57784ca4026",
+                            "description": "Generated description for concept referred to by key \"KeyInformation:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Policies",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Policies",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "b20a18d5-c419-4e90-8519-9c8f8b3ce2ab",
+                            "description": "Generated description for concept referred to by key \"Policies:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Policy0",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Policy0",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "28943e99-871b-482b-953f-cfa7138da02c",
+                            "description": "Generated description for concept referred to by key \"Policy0:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Policy0ContextAlbum",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Policy0ContextAlbum",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "2b1b738b-70f6-4b45-9d3c-a7e889b49993",
+                            "description": "Generated description for concept referred to by key \"Policy0ContextAlbum:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Policy1",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Policy1",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "798ee6ea-f349-41bb-a281-7e4c22184e8c",
+                            "description": "Generated description for concept referred to by key \"Policy1:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Policy1ContextAlbum",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Policy1ContextAlbum",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "eb9568d5-d95f-4713-9622-d95ef4cf81c3",
+                            "description": "Generated description for concept referred to by key \"Policy1ContextAlbum:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "SamplePolicyModelMVEL",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "SamplePolicyModelMVEL",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "10979d21-947f-4920-83ae-63b827e8e80f",
+                            "description": "Generated description for concept referred to by key \"SamplePolicyModelMVEL:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Task_Act0",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Task_Act0",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "cb65d7fe-8d86-463c-aa16-0f4e6138d705",
+                            "description": "Generated description for concept referred to by key \"Task_Act0:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Task_Act1",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Task_Act1",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "ea2b4e7a-1a79-440c-9cf0-6fddaad64c0c",
+                            "description": "Generated description for concept referred to by key \"Task_Act1:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Task_Act2",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Task_Act2",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "269e1d08-9ab4-48b8-8854-b65deb9d41b1",
+                            "description": "Generated description for concept referred to by key \"Task_Act2:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Task_Act3",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Task_Act3",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "f9c4a91d-92aa-49ce-9b65-ab2378f6b048",
+                            "description": "Generated description for concept referred to by key \"Task_Act3:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Task_Decide0",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Task_Decide0",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "7fde2446-ce2a-4bc2-a675-96496c387c88",
+                            "description": "Generated description for concept referred to by key \"Task_Decide0:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Task_Decide1",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Task_Decide1",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "bc185db6-f18f-4fdd-b5b4-37d14b57f463",
+                            "description": "Generated description for concept referred to by key \"Task_Decide1:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Task_Decide2",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Task_Decide2",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "2c1e2ede-d67c-4845-90ac-a4d53311bfbb",
+                            "description": "Generated description for concept referred to by key \"Task_Decide2:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Task_Decide3",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Task_Decide3",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "1d1645a2-2852-4296-9f22-8f31ebe5386a",
+                            "description": "Generated description for concept referred to by key \"Task_Decide3:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Task_Establish0",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Task_Establish0",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "f3739d83-a029-4ad8-a0b9-e5a028b369b2",
+                            "description": "Generated description for concept referred to by key \"Task_Establish0:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Task_Establish1",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Task_Establish1",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "5351a5a5-4134-44fd-9a6f-fd37dbfc8aa7",
+                            "description": "Generated description for concept referred to by key \"Task_Establish1:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Task_Establish2",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Task_Establish2",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "4206bb68-e710-4a01-aade-3e34771da63b",
+                            "description": "Generated description for concept referred to by key \"Task_Establish2:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Task_Establish3",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Task_Establish3",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "cbaab234-b586-4f63-986e-ed0b317b6c66",
+                            "description": "Generated description for concept referred to by key \"Task_Establish3:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Task_Match0",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Task_Match0",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "24dbc71b-8773-4393-9c36-a5f4991e0f55",
+                            "description": "Generated description for concept referred to by key \"Task_Match0:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Task_Match1",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Task_Match1",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "42ecd25d-e8cb-48e4-890a-b0616528cf10",
+                            "description": "Generated description for concept referred to by key \"Task_Match1:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Task_Match2",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Task_Match2",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "7e691294-a816-42f8-b124-9b5eac70b116",
+                            "description": "Generated description for concept referred to by key \"Task_Match2:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Task_Match3",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Task_Match3",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "bc7cad3c-85a5-40b4-9eda-51ac2387af05",
+                            "description": "Generated description for concept referred to by key \"Task_Match3:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Tasks",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Tasks",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "4386403d-b23c-4c3e-bc14-5d581f9de2f5",
+                            "description": "Generated description for concept referred to by key \"Tasks:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "TestCase",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestCase",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "901a80ab-dd46-4697-b818-f669b9f9bce9",
+                            "description": "Generated description for concept referred to by key \"TestCase:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "TestContextItem000",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestContextItem000",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "cfd19e5d-ab54-4e54-b4e5-1c5eaa832622",
+                            "description": "Generated description for concept referred to by key \"TestContextItem000:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "TestContextItem001",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestContextItem001",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "42c27d27-878d-4e9d-a139-e60c98f1c747",
+                            "description": "Generated description for concept referred to by key \"TestContextItem001:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "TestContextItem002",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestContextItem002",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "83919fa0-ed4d-4981-908f-79913734a0f5",
+                            "description": "Generated description for concept referred to by key \"TestContextItem002:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "TestContextItem003",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestContextItem003",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "194882b0-d987-4200-b82a-2c015605279b",
+                            "description": "Generated description for concept referred to by key \"TestContextItem003:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "TestContextItem004",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestContextItem004",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "948d345b-39c3-4436-8036-ac9e5c561977",
+                            "description": "Generated description for concept referred to by key \"TestContextItem004:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "TestContextItem005",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestContextItem005",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "fdad8cb5-4375-4bbf-9ffc-1e5ed8f4bae6",
+                            "description": "Generated description for concept referred to by key \"TestContextItem005:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "TestContextItem006",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestContextItem006",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "5243c0ba-5c50-4835-a885-6cd988252bb7",
+                            "description": "Generated description for concept referred to by key \"TestContextItem006:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "TestContextItem007",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestContextItem007",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "29f0b15f-f7c3-46e5-98d7-59a34a677968",
+                            "description": "Generated description for concept referred to by key \"TestContextItem007:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "TestContextItem008",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestContextItem008",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "aac96de5-9f3c-452c-855f-e556cc807351",
+                            "description": "Generated description for concept referred to by key \"TestContextItem008:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "TestContextItem009",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestContextItem009",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "7fdc1cc3-08c7-42a4-92a9-39e172fe2f1f",
+                            "description": "Generated description for concept referred to by key \"TestContextItem009:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "TestContextItem00A",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestContextItem00A",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "cf60cca6-a2e8-4371-b0e5-85ecaae44acc",
+                            "description": "Generated description for concept referred to by key \"TestContextItem00A:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "TestContextItem00B",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestContextItem00B",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "1671f996-e14e-407d-a503-f4de09f0785b",
+                            "description": "Generated description for concept referred to by key \"TestContextItem00B:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "TestContextItem00C",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestContextItem00C",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "814c4c28-9027-4516-9598-adc75fafa92a",
+                            "description": "Generated description for concept referred to by key \"TestContextItem00C:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "TestDatatypes",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestDatatypes",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "33e81d08-a62b-40ce-b7ff-50734427ebf9",
+                            "description": "Generated description for concept referred to by key \"TestDatatypes:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "TestExternalContextItem",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestExternalContextItem",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "5cd74351-8e27-4dee-a379-86124db50383",
+                            "description": "Generated description for concept referred to by key \"TestExternalContextItem:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "TestGlobalContextItem",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestGlobalContextItem",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "e8c9a056-5e95-4e14-bc96-0c0d13a34b18",
+                            "description": "Generated description for concept referred to by key \"TestGlobalContextItem:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "TestPolicyContextItem",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestPolicyContextItem",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "92489659-02f3-4cb2-b25f-a6234ad71d36",
+                            "description": "Generated description for concept referred to by key \"TestPolicyContextItem:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "TestSlogan",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestSlogan",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "1c3b9345-32c2-4f7e-94ce-be36d0775e9e",
+                            "description": "Generated description for concept referred to by key \"TestSlogan:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "TestTemperature",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestTemperature",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "9e719a99-1d73-4d40-b097-c9622b9ea2b4",
+                            "description": "Generated description for concept referred to by key \"TestTemperature:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "TestTimestamp",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestTimestamp",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "3bcc8ef1-4cc5-4b7f-9dc4-83046d4a2a5d",
+                            "description": "Generated description for concept referred to by key \"TestTimestamp:0.0.1\""
+                        }
+                    }
+                ]
+            }
+        },
+        "policies": {
+            "key": {
+                "name": "Policies",
+                "version": "0.0.1"
+            },
+            "policyMap": {
+                "entry": [
+                    {
+                        "key": {
+                            "name": "Policy0",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "policyKey": {
+                                "name": "Policy0",
+                                "version": "0.0.1"
+                            },
+                            "template": "MEDA",
+                            "state": {
+                                "entry": [
+                                    {
+                                        "key": "Act",
+                                        "value": {
+                                            "stateKey": {
+                                                "parentKeyName": "Policy0",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Act"
+                                            },
+                                            "trigger": {
+                                                "name": "Event0003",
+                                                "version": "0.0.1"
+                                            },
+                                            "stateOutputs": {
+                                                "entry": [
+                                                    {
+                                                        "key": "Act_NULL",
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "Policy0",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Act",
+                                                                "localName": "Act_NULL"
+                                                            },
+                                                            "outgoingEvent": {
+                                                                "name": "Event0004",
+                                                                "version": "0.0.1"
+                                                            },
+                                                            "nextState": {
+                                                                "parentKeyName": "NULL",
+                                                                "parentKeyVersion": "0.0.0",
+                                                                "parentLocalName": "NULL",
+                                                                "localName": "NULL"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            },
+                                            "contextAlbumReference": [
+                                                {
+                                                    "name": "GlobalContextAlbum",
+                                                    "version": "0.0.1"
+                                                }
+                                            ],
+                                            "taskSelectionLogic": {
+                                                "key": "TaskSelectionLigic",
+                                                "logicFlavour": "MVEL",
+                                                "logic": "logger.debug(subject.id + \":\" + subject.stateName);\nsubject.defaultTaskKey.copyTo(selectedTask);\nreturn true;"
+                                            },
+                                            "stateFinalizerLogicMap": {
+                                                "entry": []
+                                            },
+                                            "defaultTask": {
+                                                "name": "Task_Act1",
+                                                "version": "0.0.1"
+                                            },
+                                            "taskReferences": {
+                                                "entry": [
+                                                    {
+                                                        "key": {
+                                                            "name": "Task_Act0",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "Policy0",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Act",
+                                                                "localName": "Task_Act0_DIRECT_Act_NULL"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "Policy0",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Act",
+                                                                "localName": "Act_NULL"
+                                                            }
+                                                        }
+                                                    },
+                                                    {
+                                                        "key": {
+                                                            "name": "Task_Act1",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "Policy0",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Act",
+                                                                "localName": "Task_Act1_DIRECT_Act_NULL"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "Policy0",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Act",
+                                                                "localName": "Act_NULL"
+                                                            }
+                                                        }
+                                                    },
+                                                    {
+                                                        "key": {
+                                                            "name": "Task_Act2",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "Policy0",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Act",
+                                                                "localName": "Task_Act2_DIRECT_Act_NULL"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "Policy0",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Act",
+                                                                "localName": "Act_NULL"
+                                                            }
+                                                        }
+                                                    },
+                                                    {
+                                                        "key": {
+                                                            "name": "Task_Act3",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "Policy0",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Act",
+                                                                "localName": "Task_Act3_DIRECT_Act_NULL"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "Policy0",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Act",
+                                                                "localName": "Act_NULL"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "Decide",
+                                        "value": {
+                                            "stateKey": {
+                                                "parentKeyName": "Policy0",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Decide"
+                                            },
+                                            "trigger": {
+                                                "name": "Event0002",
+                                                "version": "0.0.1"
+                                            },
+                                            "stateOutputs": {
+                                                "entry": [
+                                                    {
+                                                        "key": "Decide_Act",
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "Policy0",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Decide",
+                                                                "localName": "Decide_Act"
+                                                            },
+                                                            "outgoingEvent": {
+                                                                "name": "Event0003",
+                                                                "version": "0.0.1"
+                                                            },
+                                                            "nextState": {
+                                                                "parentKeyName": "Policy0",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "NULL",
+                                                                "localName": "Act"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            },
+                                            "contextAlbumReference": [
+                                                {
+                                                    "name": "ExternalContextAlbum",
+                                                    "version": "0.0.1"
+                                                },
+                                                {
+                                                    "name": "GlobalContextAlbum",
+                                                    "version": "0.0.1"
+                                                },
+                                                {
+                                                    "name": "Policy0ContextAlbum",
+                                                    "version": "0.0.1"
+                                                }
+                                            ],
+                                            "taskSelectionLogic": {
+                                                "key": "TaskSelectionLigic",
+                                                "logicFlavour": "MVEL",
+                                                "logic": "logger.debug(subject.id + \":\" + subject.stateName);\nsubject.defaultTaskKey.copyTo(selectedTask);\nreturn true;"
+                                            },
+                                            "stateFinalizerLogicMap": {
+                                                "entry": []
+                                            },
+                                            "defaultTask": {
+                                                "name": "Task_Decide3",
+                                                "version": "0.0.1"
+                                            },
+                                            "taskReferences": {
+                                                "entry": [
+                                                    {
+                                                        "key": {
+                                                            "name": "Task_Decide0",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "Policy0",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Decide",
+                                                                "localName": "Task_Decide0_DIRECT_Decide_Act"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "Policy0",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Decide",
+                                                                "localName": "Decide_Act"
+                                                            }
+                                                        }
+                                                    },
+                                                    {
+                                                        "key": {
+                                                            "name": "Task_Decide1",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "Policy0",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Decide",
+                                                                "localName": "Task_Decide1_DIRECT_Decide_Act"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "Policy0",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Decide",
+                                                                "localName": "Decide_Act"
+                                                            }
+                                                        }
+                                                    },
+                                                    {
+                                                        "key": {
+                                                            "name": "Task_Decide2",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "Policy0",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Decide",
+                                                                "localName": "Task_Decide2_DIRECT_Decide_Act"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "Policy0",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Decide",
+                                                                "localName": "Decide_Act"
+                                                            }
+                                                        }
+                                                    },
+                                                    {
+                                                        "key": {
+                                                            "name": "Task_Decide3",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "Policy0",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Decide",
+                                                                "localName": "Task_Decide3_DIRECT_Decide_Act"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "Policy0",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Decide",
+                                                                "localName": "Decide_Act"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "Establish",
+                                        "value": {
+                                            "stateKey": {
+                                                "parentKeyName": "Policy0",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Establish"
+                                            },
+                                            "trigger": {
+                                                "name": "Event0001",
+                                                "version": "0.0.1"
+                                            },
+                                            "stateOutputs": {
+                                                "entry": [
+                                                    {
+                                                        "key": "Establish_Decide",
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "Policy0",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Establish",
+                                                                "localName": "Establish_Decide"
+                                                            },
+                                                            "outgoingEvent": {
+                                                                "name": "Event0002",
+                                                                "version": "0.0.1"
+                                                            },
+                                                            "nextState": {
+                                                                "parentKeyName": "Policy0",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "NULL",
+                                                                "localName": "Decide"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            },
+                                            "contextAlbumReference": [
+                                                {
+                                                    "name": "ExternalContextAlbum",
+                                                    "version": "0.0.1"
+                                                },
+                                                {
+                                                    "name": "GlobalContextAlbum",
+                                                    "version": "0.0.1"
+                                                },
+                                                {
+                                                    "name": "Policy1ContextAlbum",
+                                                    "version": "0.0.1"
+                                                }
+                                            ],
+                                            "taskSelectionLogic": {
+                                                "key": "TaskSelectionLigic",
+                                                "logicFlavour": "MVEL",
+                                                "logic": "logger.debug(subject.id + \":\" + subject.stateName);\nsubject.defaultTaskKey.copyTo(selectedTask);\nreturn true;"
+                                            },
+                                            "stateFinalizerLogicMap": {
+                                                "entry": []
+                                            },
+                                            "defaultTask": {
+                                                "name": "Task_Establish2",
+                                                "version": "0.0.1"
+                                            },
+                                            "taskReferences": {
+                                                "entry": [
+                                                    {
+                                                        "key": {
+                                                            "name": "Task_Establish0",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "Policy0",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Establish",
+                                                                "localName": "Task_Establish0_DIRECT_Establish_Decide"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "Policy0",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Establish",
+                                                                "localName": "Establish_Decide"
+                                                            }
+                                                        }
+                                                    },
+                                                    {
+                                                        "key": {
+                                                            "name": "Task_Establish1",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "Policy0",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Establish",
+                                                                "localName": "Task_Establish1_DIRECT_Establish_Decide"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "Policy0",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Establish",
+                                                                "localName": "Establish_Decide"
+                                                            }
+                                                        }
+                                                    },
+                                                    {
+                                                        "key": {
+                                                            "name": "Task_Establish2",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "Policy0",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Establish",
+                                                                "localName": "Task_Establish2_DIRECT_Establish_Decide"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "Policy0",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Establish",
+                                                                "localName": "Establish_Decide"
+                                                            }
+                                                        }
+                                                    },
+                                                    {
+                                                        "key": {
+                                                            "name": "Task_Establish3",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "Policy0",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Establish",
+                                                                "localName": "Task_Establish3_DIRECT_Establish_Decide"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "Policy0",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Establish",
+                                                                "localName": "Establish_Decide"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "Match",
+                                        "value": {
+                                            "stateKey": {
+                                                "parentKeyName": "Policy0",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Match"
+                                            },
+                                            "trigger": {
+                                                "name": "Event0000",
+                                                "version": "0.0.1"
+                                            },
+                                            "stateOutputs": {
+                                                "entry": [
+                                                    {
+                                                        "key": "Match_Establish",
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "Policy0",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Match",
+                                                                "localName": "Match_Establish"
+                                                            },
+                                                            "outgoingEvent": {
+                                                                "name": "Event0001",
+                                                                "version": "0.0.1"
+                                                            },
+                                                            "nextState": {
+                                                                "parentKeyName": "Policy0",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "NULL",
+                                                                "localName": "Establish"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            },
+                                            "contextAlbumReference": [
+                                                {
+                                                    "name": "GlobalContextAlbum",
+                                                    "version": "0.0.1"
+                                                },
+                                                {
+                                                    "name": "Policy0ContextAlbum",
+                                                    "version": "0.0.1"
+                                                }
+                                            ],
+                                            "taskSelectionLogic": {
+                                                "key": "TaskSelectionLigic",
+                                                "logicFlavour": "MVEL",
+                                                "logic": "logger.debug(subject.id + \":\" + subject.stateName);\nsubject.defaultTaskKey.copyTo(selectedTask);\nreturn true;"
+                                            },
+                                            "stateFinalizerLogicMap": {
+                                                "entry": []
+                                            },
+                                            "defaultTask": {
+                                                "name": "Task_Match0",
+                                                "version": "0.0.1"
+                                            },
+                                            "taskReferences": {
+                                                "entry": [
+                                                    {
+                                                        "key": {
+                                                            "name": "Task_Match0",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "Policy0",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Match",
+                                                                "localName": "Task_Match0_DIRECT_Match_Establish"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "Policy0",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Match",
+                                                                "localName": "Match_Establish"
+                                                            }
+                                                        }
+                                                    },
+                                                    {
+                                                        "key": {
+                                                            "name": "Task_Match1",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "Policy0",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Match",
+                                                                "localName": "Task_Match1_DIRECT_Match_Establish"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "Policy0",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Match",
+                                                                "localName": "Match_Establish"
+                                                            }
+                                                        }
+                                                    },
+                                                    {
+                                                        "key": {
+                                                            "name": "Task_Match2",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "Policy0",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Match",
+                                                                "localName": "Task_Match2_DIRECT_Match_Establish"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "Policy0",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Match",
+                                                                "localName": "Match_Establish"
+                                                            }
+                                                        }
+                                                    },
+                                                    {
+                                                        "key": {
+                                                            "name": "Task_Match3",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "Policy0",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Match",
+                                                                "localName": "Task_Match3_DIRECT_Match_Establish"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "Policy0",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Match",
+                                                                "localName": "Match_Establish"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            }
+                                        }
+                                    }
+                                ]
+                            },
+                            "firstState": "Match"
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Policy1",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "policyKey": {
+                                "name": "Policy1",
+                                "version": "0.0.1"
+                            },
+                            "template": "MEDA",
+                            "state": {
+                                "entry": [
+                                    {
+                                        "key": "Act",
+                                        "value": {
+                                            "stateKey": {
+                                                "parentKeyName": "Policy1",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Act"
+                                            },
+                                            "trigger": {
+                                                "name": "Event0103",
+                                                "version": "0.0.1"
+                                            },
+                                            "stateOutputs": {
+                                                "entry": [
+                                                    {
+                                                        "key": "Act_NULL",
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "Policy1",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Act",
+                                                                "localName": "Act_NULL"
+                                                            },
+                                                            "outgoingEvent": {
+                                                                "name": "Event0104",
+                                                                "version": "0.0.1"
+                                                            },
+                                                            "nextState": {
+                                                                "parentKeyName": "NULL",
+                                                                "parentKeyVersion": "0.0.0",
+                                                                "parentLocalName": "NULL",
+                                                                "localName": "NULL"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            },
+                                            "contextAlbumReference": [
+                                                {
+                                                    "name": "GlobalContextAlbum",
+                                                    "version": "0.0.1"
+                                                }
+                                            ],
+                                            "taskSelectionLogic": {
+                                                "key": "TaskSelectionLigic",
+                                                "logicFlavour": "MVEL",
+                                                "logic": "logger.debug(subject.id + \":\" + subject.stateName);\nsubject.defaultTaskKey.copyTo(selectedTask);\nreturn true;"
+                                            },
+                                            "stateFinalizerLogicMap": {
+                                                "entry": []
+                                            },
+                                            "defaultTask": {
+                                                "name": "Task_Act0",
+                                                "version": "0.0.1"
+                                            },
+                                            "taskReferences": {
+                                                "entry": [
+                                                    {
+                                                        "key": {
+                                                            "name": "Task_Act0",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "Policy1",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Act",
+                                                                "localName": "Task_Act0_DIRECT_Act_NULL"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "Policy1",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Act",
+                                                                "localName": "Act_NULL"
+                                                            }
+                                                        }
+                                                    },
+                                                    {
+                                                        "key": {
+                                                            "name": "Task_Act1",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "Policy1",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Act",
+                                                                "localName": "Task_Act1_DIRECT_Act_NULL"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "Policy1",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Act",
+                                                                "localName": "Act_NULL"
+                                                            }
+                                                        }
+                                                    },
+                                                    {
+                                                        "key": {
+                                                            "name": "Task_Act2",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "Policy1",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Act",
+                                                                "localName": "Task_Act2_DIRECT_Act_NULL"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "Policy1",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Act",
+                                                                "localName": "Act_NULL"
+                                                            }
+                                                        }
+                                                    },
+                                                    {
+                                                        "key": {
+                                                            "name": "Task_Act3",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "Policy1",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Act",
+                                                                "localName": "Task_Act3_DIRECT_Act_NULL"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "Policy1",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Act",
+                                                                "localName": "Act_NULL"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "Decide",
+                                        "value": {
+                                            "stateKey": {
+                                                "parentKeyName": "Policy1",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Decide"
+                                            },
+                                            "trigger": {
+                                                "name": "Event0102",
+                                                "version": "0.0.1"
+                                            },
+                                            "stateOutputs": {
+                                                "entry": [
+                                                    {
+                                                        "key": "Decide_Act",
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "Policy1",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Decide",
+                                                                "localName": "Decide_Act"
+                                                            },
+                                                            "outgoingEvent": {
+                                                                "name": "Event0103",
+                                                                "version": "0.0.1"
+                                                            },
+                                                            "nextState": {
+                                                                "parentKeyName": "Policy1",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "NULL",
+                                                                "localName": "Act"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            },
+                                            "contextAlbumReference": [
+                                                {
+                                                    "name": "ExternalContextAlbum",
+                                                    "version": "0.0.1"
+                                                },
+                                                {
+                                                    "name": "GlobalContextAlbum",
+                                                    "version": "0.0.1"
+                                                },
+                                                {
+                                                    "name": "Policy1ContextAlbum",
+                                                    "version": "0.0.1"
+                                                }
+                                            ],
+                                            "taskSelectionLogic": {
+                                                "key": "TaskSelectionLigic",
+                                                "logicFlavour": "MVEL",
+                                                "logic": "logger.debug(subject.id + \":\" + subject.stateName);\nsubject.defaultTaskKey.copyTo(selectedTask);\nreturn true;"
+                                            },
+                                            "stateFinalizerLogicMap": {
+                                                "entry": []
+                                            },
+                                            "defaultTask": {
+                                                "name": "Task_Decide3",
+                                                "version": "0.0.1"
+                                            },
+                                            "taskReferences": {
+                                                "entry": [
+                                                    {
+                                                        "key": {
+                                                            "name": "Task_Decide0",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "Policy1",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Decide",
+                                                                "localName": "Task_Decide0_DIRECT_Decide_Act"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "Policy1",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Decide",
+                                                                "localName": "Decide_Act"
+                                                            }
+                                                        }
+                                                    },
+                                                    {
+                                                        "key": {
+                                                            "name": "Task_Decide1",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "Policy1",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Decide",
+                                                                "localName": "Task_Decide1_DIRECT_Decide_Act"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "Policy1",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Decide",
+                                                                "localName": "Decide_Act"
+                                                            }
+                                                        }
+                                                    },
+                                                    {
+                                                        "key": {
+                                                            "name": "Task_Decide2",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "Policy1",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Decide",
+                                                                "localName": "Task_Decide2_DIRECT_Decide_Act"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "Policy1",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Decide",
+                                                                "localName": "Decide_Act"
+                                                            }
+                                                        }
+                                                    },
+                                                    {
+                                                        "key": {
+                                                            "name": "Task_Decide3",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "Policy1",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Decide",
+                                                                "localName": "Task_Decide3_DIRECT_Decide_Act"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "Policy1",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Decide",
+                                                                "localName": "Decide_Act"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "Establish",
+                                        "value": {
+                                            "stateKey": {
+                                                "parentKeyName": "Policy1",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Establish"
+                                            },
+                                            "trigger": {
+                                                "name": "Event0101",
+                                                "version": "0.0.1"
+                                            },
+                                            "stateOutputs": {
+                                                "entry": [
+                                                    {
+                                                        "key": "Establish_Decide",
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "Policy1",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Establish",
+                                                                "localName": "Establish_Decide"
+                                                            },
+                                                            "outgoingEvent": {
+                                                                "name": "Event0102",
+                                                                "version": "0.0.1"
+                                                            },
+                                                            "nextState": {
+                                                                "parentKeyName": "Policy1",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "NULL",
+                                                                "localName": "Decide"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            },
+                                            "contextAlbumReference": [
+                                                {
+                                                    "name": "ExternalContextAlbum",
+                                                    "version": "0.0.1"
+                                                },
+                                                {
+                                                    "name": "GlobalContextAlbum",
+                                                    "version": "0.0.1"
+                                                },
+                                                {
+                                                    "name": "Policy1ContextAlbum",
+                                                    "version": "0.0.1"
+                                                }
+                                            ],
+                                            "taskSelectionLogic": {
+                                                "key": "TaskSelectionLigic",
+                                                "logicFlavour": "MVEL",
+                                                "logic": "logger.debug(subject.id + \":\" + subject.stateName);\nsubject.defaultTaskKey.copyTo(selectedTask);\nreturn true;"
+                                            },
+                                            "stateFinalizerLogicMap": {
+                                                "entry": []
+                                            },
+                                            "defaultTask": {
+                                                "name": "Task_Establish1",
+                                                "version": "0.0.1"
+                                            },
+                                            "taskReferences": {
+                                                "entry": [
+                                                    {
+                                                        "key": {
+                                                            "name": "Task_Establish0",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "Policy1",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Establish",
+                                                                "localName": "Task_Establish0_DIRECT_Establish_Decide"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "Policy1",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Establish",
+                                                                "localName": "Establish_Decide"
+                                                            }
+                                                        }
+                                                    },
+                                                    {
+                                                        "key": {
+                                                            "name": "Task_Establish1",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "Policy1",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Establish",
+                                                                "localName": "Task_Establish1_DIRECT_Establish_Decide"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "Policy1",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Establish",
+                                                                "localName": "Establish_Decide"
+                                                            }
+                                                        }
+                                                    },
+                                                    {
+                                                        "key": {
+                                                            "name": "Task_Establish2",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "Policy1",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Establish",
+                                                                "localName": "Task_Establish2_DIRECT_Establish_Decide"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "Policy1",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Establish",
+                                                                "localName": "Establish_Decide"
+                                                            }
+                                                        }
+                                                    },
+                                                    {
+                                                        "key": {
+                                                            "name": "Task_Establish3",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "Policy1",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Establish",
+                                                                "localName": "Task_Establish3_DIRECT_Establish_Decide"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "Policy1",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Establish",
+                                                                "localName": "Establish_Decide"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "Match",
+                                        "value": {
+                                            "stateKey": {
+                                                "parentKeyName": "Policy1",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Match"
+                                            },
+                                            "trigger": {
+                                                "name": "Event0100",
+                                                "version": "0.0.1"
+                                            },
+                                            "stateOutputs": {
+                                                "entry": [
+                                                    {
+                                                        "key": "Match_Establish",
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "Policy1",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Match",
+                                                                "localName": "Match_Establish"
+                                                            },
+                                                            "outgoingEvent": {
+                                                                "name": "Event0101",
+                                                                "version": "0.0.1"
+                                                            },
+                                                            "nextState": {
+                                                                "parentKeyName": "Policy1",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "NULL",
+                                                                "localName": "Establish"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            },
+                                            "contextAlbumReference": [
+                                                {
+                                                    "name": "ExternalContextAlbum",
+                                                    "version": "0.0.1"
+                                                },
+                                                {
+                                                    "name": "GlobalContextAlbum",
+                                                    "version": "0.0.1"
+                                                },
+                                                {
+                                                    "name": "Policy1ContextAlbum",
+                                                    "version": "0.0.1"
+                                                }
+                                            ],
+                                            "taskSelectionLogic": {
+                                                "key": "TaskSelectionLigic",
+                                                "logicFlavour": "MVEL",
+                                                "logic": "logger.debug(subject.id + \":\" + subject.stateName);\nsubject.defaultTaskKey.copyTo(selectedTask);\nreturn true;"
+                                            },
+                                            "stateFinalizerLogicMap": {
+                                                "entry": []
+                                            },
+                                            "defaultTask": {
+                                                "name": "Task_Match3",
+                                                "version": "0.0.1"
+                                            },
+                                            "taskReferences": {
+                                                "entry": [
+                                                    {
+                                                        "key": {
+                                                            "name": "Task_Match0",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "Policy1",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Match",
+                                                                "localName": "Task_Match0_DIRECT_Match_Establish"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "Policy1",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Match",
+                                                                "localName": "Match_Establish"
+                                                            }
+                                                        }
+                                                    },
+                                                    {
+                                                        "key": {
+                                                            "name": "Task_Match1",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "Policy1",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Match",
+                                                                "localName": "Task_Match1_DIRECT_Match_Establish"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "Policy1",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Match",
+                                                                "localName": "Match_Establish"
+                                                            }
+                                                        }
+                                                    },
+                                                    {
+                                                        "key": {
+                                                            "name": "Task_Match2",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "Policy1",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Match",
+                                                                "localName": "Task_Match2_DIRECT_Match_Establish"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "Policy1",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Match",
+                                                                "localName": "Match_Establish"
+                                                            }
+                                                        }
+                                                    },
+                                                    {
+                                                        "key": {
+                                                            "name": "Task_Match3",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "Policy1",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Match",
+                                                                "localName": "Task_Match3_DIRECT_Match_Establish"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "Policy1",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Match",
+                                                                "localName": "Match_Establish"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            }
+                                        }
+                                    }
+                                ]
+                            },
+                            "firstState": "Match"
+                        }
+                    }
+                ]
+            }
+        },
+        "tasks": {
+            "key": {
+                "name": "Tasks",
+                "version": "0.0.1"
+            },
+            "taskMap": {
+                "entry": [
+                    {
+                        "key": {
+                            "name": "Task_Act0",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Task_Act0",
+                                "version": "0.0.1"
+                            },
+                            "inputFields": {
+                                "entry": [
+                                    {
+                                        "key": "TestDecideCaseSelected",
+                                        "value": {
+                                            "key": "TestDecideCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestDecideStateTime",
+                                        "value": {
+                                            "key": "TestDecideStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestEstablishCaseSelected",
+                                        "value": {
+                                            "key": "TestEstablishCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestEstablishStateTime",
+                                        "value": {
+                                            "key": "TestEstablishStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCase",
+                                        "value": {
+                                            "key": "TestMatchCase",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCaseSelected",
+                                        "value": {
+                                            "key": "TestMatchCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchStateTime",
+                                        "value": {
+                                            "key": "TestMatchStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestSlogan",
+                                        "value": {
+                                            "key": "TestSlogan",
+                                            "fieldSchemaKey": {
+                                                "name": "TestSlogan",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTemperature",
+                                        "value": {
+                                            "key": "TestTemperature",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTemperature",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTimestamp",
+                                        "value": {
+                                            "key": "TestTimestamp",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "outputFields": {
+                                "entry": [
+                                    {
+                                        "key": "TestActCaseSelected",
+                                        "value": {
+                                            "key": "TestActCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestActStateTime",
+                                        "value": {
+                                            "key": "TestActStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestDecideCaseSelected",
+                                        "value": {
+                                            "key": "TestDecideCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestDecideStateTime",
+                                        "value": {
+                                            "key": "TestDecideStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestEstablishCaseSelected",
+                                        "value": {
+                                            "key": "TestEstablishCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestEstablishStateTime",
+                                        "value": {
+                                            "key": "TestEstablishStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCase",
+                                        "value": {
+                                            "key": "TestMatchCase",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCaseSelected",
+                                        "value": {
+                                            "key": "TestMatchCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchStateTime",
+                                        "value": {
+                                            "key": "TestMatchStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestSlogan",
+                                        "value": {
+                                            "key": "TestSlogan",
+                                            "fieldSchemaKey": {
+                                                "name": "TestSlogan",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTemperature",
+                                        "value": {
+                                            "key": "TestTemperature",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTemperature",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTimestamp",
+                                        "value": {
+                                            "key": "TestTimestamp",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "taskParameters": {
+                                "entry": [
+                                    {
+                                        "key": "Parameter0",
+                                        "value": {
+                                            "key": {
+                                                "parentKeyName": "Task_Act0",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Parameter0"
+                                            },
+                                            "defaultValue": "DefaultValue0"
+                                        }
+                                    },
+                                    {
+                                        "key": "Parameter1",
+                                        "value": {
+                                            "key": {
+                                                "parentKeyName": "Task_Act0",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Parameter1"
+                                            },
+                                            "defaultValue": "DefaultValue1"
+                                        }
+                                    },
+                                    {
+                                        "key": "Parameter2",
+                                        "value": {
+                                            "key": {
+                                                "parentKeyName": "Task_Act0",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Parameter2"
+                                            },
+                                            "defaultValue": "DefaultValue2"
+                                        }
+                                    }
+                                ]
+                            },
+                            "contextAlbumReference": [
+                                {
+                                    "name": "ExternalContextAlbum",
+                                    "version": "0.0.1"
+                                },
+                                {
+                                    "name": "GlobalContextAlbum",
+                                    "version": "0.0.1"
+                                },
+                                {
+                                    "name": "Policy0ContextAlbum",
+                                    "version": "0.0.1"
+                                },
+                                {
+                                    "name": "Policy1ContextAlbum",
+                                    "version": "0.0.1"
+                                }
+                            ],
+                            "taskLogic": {
+                                "key": "TaskLogic",
+                                "logicFlavour": "MVEL",
+                                "logic": "import java.util.Date;\nlogger.debug(subject.id);\ngc = getContextAlbum(\"GlobalContextAlbum\");\nlogger.debug(gc);\nlogger.debug(inFields);\noutFields[\"TestActCaseSelected\"] = (byte)2;\ntimeNow = new Date();\ndivZero = 10;\ndivZero = divZero /0;\noutFields[\"TestActStateTime\"] = timeNow.getTime();\nlogger.debug(outFields);\nreturn true;"
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Task_Act1",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Task_Act1",
+                                "version": "0.0.1"
+                            },
+                            "inputFields": {
+                                "entry": [
+                                    {
+                                        "key": "TestDecideCaseSelected",
+                                        "value": {
+                                            "key": "TestDecideCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestDecideStateTime",
+                                        "value": {
+                                            "key": "TestDecideStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestEstablishCaseSelected",
+                                        "value": {
+                                            "key": "TestEstablishCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestEstablishStateTime",
+                                        "value": {
+                                            "key": "TestEstablishStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCase",
+                                        "value": {
+                                            "key": "TestMatchCase",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCaseSelected",
+                                        "value": {
+                                            "key": "TestMatchCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchStateTime",
+                                        "value": {
+                                            "key": "TestMatchStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestSlogan",
+                                        "value": {
+                                            "key": "TestSlogan",
+                                            "fieldSchemaKey": {
+                                                "name": "TestSlogan",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTemperature",
+                                        "value": {
+                                            "key": "TestTemperature",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTemperature",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTimestamp",
+                                        "value": {
+                                            "key": "TestTimestamp",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "outputFields": {
+                                "entry": [
+                                    {
+                                        "key": "TestActCaseSelected",
+                                        "value": {
+                                            "key": "TestActCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestActStateTime",
+                                        "value": {
+                                            "key": "TestActStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestDecideCaseSelected",
+                                        "value": {
+                                            "key": "TestDecideCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestDecideStateTime",
+                                        "value": {
+                                            "key": "TestDecideStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestEstablishCaseSelected",
+                                        "value": {
+                                            "key": "TestEstablishCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestEstablishStateTime",
+                                        "value": {
+                                            "key": "TestEstablishStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCase",
+                                        "value": {
+                                            "key": "TestMatchCase",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCaseSelected",
+                                        "value": {
+                                            "key": "TestMatchCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchStateTime",
+                                        "value": {
+                                            "key": "TestMatchStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestSlogan",
+                                        "value": {
+                                            "key": "TestSlogan",
+                                            "fieldSchemaKey": {
+                                                "name": "TestSlogan",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTemperature",
+                                        "value": {
+                                            "key": "TestTemperature",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTemperature",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTimestamp",
+                                        "value": {
+                                            "key": "TestTimestamp",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "taskParameters": {
+                                "entry": [
+                                    {
+                                        "key": "Parameter0",
+                                        "value": {
+                                            "key": {
+                                                "parentKeyName": "Task_Act1",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Parameter0"
+                                            },
+                                            "defaultValue": "DefaultValue0"
+                                        }
+                                    },
+                                    {
+                                        "key": "Parameter1",
+                                        "value": {
+                                            "key": {
+                                                "parentKeyName": "Task_Act1",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Parameter1"
+                                            },
+                                            "defaultValue": "DefaultValue1"
+                                        }
+                                    }
+                                ]
+                            },
+                            "contextAlbumReference": [
+                                {
+                                    "name": "GlobalContextAlbum",
+                                    "version": "0.0.1"
+                                },
+                                {
+                                    "name": "Policy0ContextAlbum",
+                                    "version": "0.0.1"
+                                }
+                            ],
+                            "taskLogic": {
+                                "key": "TaskLogic",
+                                "logicFlavour": "MVEL",
+                                "logic": "import java.util.Date;\nlogger.debug(subject.id);\ngc = getContextAlbum(\"GlobalContextAlbum\");\nlogger.debug(gc);\nlogger.debug(inFields);\noutFields[\"TestActCaseSelected\"] = (byte)3;\ntimeNow = new Date();\ndivZero = 10;\ndivZero = divZero /0;\noutFields[\"TestActStateTime\"] = timeNow.getTime();\nlogger.debug(outFields);\nreturn true;"
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Task_Act2",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Task_Act2",
+                                "version": "0.0.1"
+                            },
+                            "inputFields": {
+                                "entry": [
+                                    {
+                                        "key": "TestDecideCaseSelected",
+                                        "value": {
+                                            "key": "TestDecideCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestDecideStateTime",
+                                        "value": {
+                                            "key": "TestDecideStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestEstablishCaseSelected",
+                                        "value": {
+                                            "key": "TestEstablishCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestEstablishStateTime",
+                                        "value": {
+                                            "key": "TestEstablishStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCase",
+                                        "value": {
+                                            "key": "TestMatchCase",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCaseSelected",
+                                        "value": {
+                                            "key": "TestMatchCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchStateTime",
+                                        "value": {
+                                            "key": "TestMatchStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestSlogan",
+                                        "value": {
+                                            "key": "TestSlogan",
+                                            "fieldSchemaKey": {
+                                                "name": "TestSlogan",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTemperature",
+                                        "value": {
+                                            "key": "TestTemperature",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTemperature",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTimestamp",
+                                        "value": {
+                                            "key": "TestTimestamp",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "outputFields": {
+                                "entry": [
+                                    {
+                                        "key": "TestActCaseSelected",
+                                        "value": {
+                                            "key": "TestActCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestActStateTime",
+                                        "value": {
+                                            "key": "TestActStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestDecideCaseSelected",
+                                        "value": {
+                                            "key": "TestDecideCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestDecideStateTime",
+                                        "value": {
+                                            "key": "TestDecideStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestEstablishCaseSelected",
+                                        "value": {
+                                            "key": "TestEstablishCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestEstablishStateTime",
+                                        "value": {
+                                            "key": "TestEstablishStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCase",
+                                        "value": {
+                                            "key": "TestMatchCase",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCaseSelected",
+                                        "value": {
+                                            "key": "TestMatchCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchStateTime",
+                                        "value": {
+                                            "key": "TestMatchStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestSlogan",
+                                        "value": {
+                                            "key": "TestSlogan",
+                                            "fieldSchemaKey": {
+                                                "name": "TestSlogan",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTemperature",
+                                        "value": {
+                                            "key": "TestTemperature",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTemperature",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTimestamp",
+                                        "value": {
+                                            "key": "TestTimestamp",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "taskParameters": {
+                                "entry": [
+                                    {
+                                        "key": "Parameter0",
+                                        "value": {
+                                            "key": {
+                                                "parentKeyName": "Task_Act2",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Parameter0"
+                                            },
+                                            "defaultValue": "DefaultValue0"
+                                        }
+                                    }
+                                ]
+                            },
+                            "contextAlbumReference": [
+                                {
+                                    "name": "GlobalContextAlbum",
+                                    "version": "0.0.1"
+                                },
+                                {
+                                    "name": "Policy1ContextAlbum",
+                                    "version": "0.0.1"
+                                }
+                            ],
+                            "taskLogic": {
+                                "key": "TaskLogic",
+                                "logicFlavour": "MVEL",
+                                "logic": "import java.util.Date;\nlogger.debug(subject.id);\ngc = getContextAlbum(\"GlobalContextAlbum\");\nlogger.debug(gc);\nlogger.debug(inFields);\noutFields[\"TestActCaseSelected\"] = (byte)0;\ntimeNow = new Date();\ndivZero = 10;\ndivZero = divZero /0;\noutFields[\"TestActStateTime\"] = timeNow.getTime();\nlogger.debug(outFields);\nreturn true;"
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Task_Act3",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Task_Act3",
+                                "version": "0.0.1"
+                            },
+                            "inputFields": {
+                                "entry": [
+                                    {
+                                        "key": "TestDecideCaseSelected",
+                                        "value": {
+                                            "key": "TestDecideCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestDecideStateTime",
+                                        "value": {
+                                            "key": "TestDecideStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestEstablishCaseSelected",
+                                        "value": {
+                                            "key": "TestEstablishCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestEstablishStateTime",
+                                        "value": {
+                                            "key": "TestEstablishStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCase",
+                                        "value": {
+                                            "key": "TestMatchCase",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCaseSelected",
+                                        "value": {
+                                            "key": "TestMatchCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchStateTime",
+                                        "value": {
+                                            "key": "TestMatchStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestSlogan",
+                                        "value": {
+                                            "key": "TestSlogan",
+                                            "fieldSchemaKey": {
+                                                "name": "TestSlogan",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTemperature",
+                                        "value": {
+                                            "key": "TestTemperature",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTemperature",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTimestamp",
+                                        "value": {
+                                            "key": "TestTimestamp",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "outputFields": {
+                                "entry": [
+                                    {
+                                        "key": "TestActCaseSelected",
+                                        "value": {
+                                            "key": "TestActCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestActStateTime",
+                                        "value": {
+                                            "key": "TestActStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestDecideCaseSelected",
+                                        "value": {
+                                            "key": "TestDecideCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestDecideStateTime",
+                                        "value": {
+                                            "key": "TestDecideStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestEstablishCaseSelected",
+                                        "value": {
+                                            "key": "TestEstablishCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestEstablishStateTime",
+                                        "value": {
+                                            "key": "TestEstablishStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCase",
+                                        "value": {
+                                            "key": "TestMatchCase",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCaseSelected",
+                                        "value": {
+                                            "key": "TestMatchCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchStateTime",
+                                        "value": {
+                                            "key": "TestMatchStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestSlogan",
+                                        "value": {
+                                            "key": "TestSlogan",
+                                            "fieldSchemaKey": {
+                                                "name": "TestSlogan",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTemperature",
+                                        "value": {
+                                            "key": "TestTemperature",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTemperature",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTimestamp",
+                                        "value": {
+                                            "key": "TestTimestamp",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "taskParameters": {
+                                "entry": [
+                                    {
+                                        "key": "Parameter0",
+                                        "value": {
+                                            "key": {
+                                                "parentKeyName": "Task_Act3",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Parameter0"
+                                            },
+                                            "defaultValue": "DefaultValue0"
+                                        }
+                                    }
+                                ]
+                            },
+                            "contextAlbumReference": [
+                                {
+                                    "name": "ExternalContextAlbum",
+                                    "version": "0.0.1"
+                                },
+                                {
+                                    "name": "GlobalContextAlbum",
+                                    "version": "0.0.1"
+                                }
+                            ],
+                            "taskLogic": {
+                                "key": "TaskLogic",
+                                "logicFlavour": "MVEL",
+                                "logic": "import java.util.Date;\nlogger.debug(subject.id);\ngc = getContextAlbum(\"GlobalContextAlbum\");\nlogger.debug(gc);\nlogger.debug(inFields);\noutFields[\"TestActCaseSelected\"] = (byte)1;\ntimeNow = new Date();\ndivZero = 10;\ndivZero = divZero /0;\noutFields[\"TestActStateTime\"] = timeNow.getTime();\nlogger.debug(outFields);\nreturn true;"
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Task_Decide0",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Task_Decide0",
+                                "version": "0.0.1"
+                            },
+                            "inputFields": {
+                                "entry": [
+                                    {
+                                        "key": "TestEstablishCaseSelected",
+                                        "value": {
+                                            "key": "TestEstablishCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestEstablishStateTime",
+                                        "value": {
+                                            "key": "TestEstablishStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCase",
+                                        "value": {
+                                            "key": "TestMatchCase",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCaseSelected",
+                                        "value": {
+                                            "key": "TestMatchCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchStateTime",
+                                        "value": {
+                                            "key": "TestMatchStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestSlogan",
+                                        "value": {
+                                            "key": "TestSlogan",
+                                            "fieldSchemaKey": {
+                                                "name": "TestSlogan",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTemperature",
+                                        "value": {
+                                            "key": "TestTemperature",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTemperature",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTimestamp",
+                                        "value": {
+                                            "key": "TestTimestamp",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "outputFields": {
+                                "entry": [
+                                    {
+                                        "key": "TestDecideCaseSelected",
+                                        "value": {
+                                            "key": "TestDecideCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestDecideStateTime",
+                                        "value": {
+                                            "key": "TestDecideStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestEstablishCaseSelected",
+                                        "value": {
+                                            "key": "TestEstablishCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestEstablishStateTime",
+                                        "value": {
+                                            "key": "TestEstablishStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCase",
+                                        "value": {
+                                            "key": "TestMatchCase",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCaseSelected",
+                                        "value": {
+                                            "key": "TestMatchCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchStateTime",
+                                        "value": {
+                                            "key": "TestMatchStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestSlogan",
+                                        "value": {
+                                            "key": "TestSlogan",
+                                            "fieldSchemaKey": {
+                                                "name": "TestSlogan",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTemperature",
+                                        "value": {
+                                            "key": "TestTemperature",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTemperature",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTimestamp",
+                                        "value": {
+                                            "key": "TestTimestamp",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "taskParameters": {
+                                "entry": [
+                                    {
+                                        "key": "Parameter0",
+                                        "value": {
+                                            "key": {
+                                                "parentKeyName": "Task_Decide0",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Parameter0"
+                                            },
+                                            "defaultValue": "DefaultValue0"
+                                        }
+                                    },
+                                    {
+                                        "key": "Parameter1",
+                                        "value": {
+                                            "key": {
+                                                "parentKeyName": "Task_Decide0",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Parameter1"
+                                            },
+                                            "defaultValue": "DefaultValue1"
+                                        }
+                                    },
+                                    {
+                                        "key": "Parameter2",
+                                        "value": {
+                                            "key": {
+                                                "parentKeyName": "Task_Decide0",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Parameter2"
+                                            },
+                                            "defaultValue": "DefaultValue2"
+                                        }
+                                    }
+                                ]
+                            },
+                            "contextAlbumReference": [
+                                {
+                                    "name": "ExternalContextAlbum",
+                                    "version": "0.0.1"
+                                },
+                                {
+                                    "name": "GlobalContextAlbum",
+                                    "version": "0.0.1"
+                                },
+                                {
+                                    "name": "Policy0ContextAlbum",
+                                    "version": "0.0.1"
+                                },
+                                {
+                                    "name": "Policy1ContextAlbum",
+                                    "version": "0.0.1"
+                                }
+                            ],
+                            "taskLogic": {
+                                "key": "_TaskLogic",
+                                "logicFlavour": "MVEL",
+                                "logic": "import java.util.Date;\nlogger.debug(subject.id);\ngc = getContextAlbum(\"GlobalContextAlbum\");\nlogger.debug(gc);\nlogger.debug(inFields);\noutFields[\"TestDecideCaseSelected\"] = (byte)2;\ntimeNow = new Date();\noutFields[\"TestDecideStateTime\"] = timeNow.getTime();\nlogger.debug(outFields);\nreturn true;"
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Task_Decide1",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Task_Decide1",
+                                "version": "0.0.1"
+                            },
+                            "inputFields": {
+                                "entry": [
+                                    {
+                                        "key": "TestEstablishCaseSelected",
+                                        "value": {
+                                            "key": "TestEstablishCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestEstablishStateTime",
+                                        "value": {
+                                            "key": "TestEstablishStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCase",
+                                        "value": {
+                                            "key": "TestMatchCase",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCaseSelected",
+                                        "value": {
+                                            "key": "TestMatchCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchStateTime",
+                                        "value": {
+                                            "key": "TestMatchStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestSlogan",
+                                        "value": {
+                                            "key": "TestSlogan",
+                                            "fieldSchemaKey": {
+                                                "name": "TestSlogan",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTemperature",
+                                        "value": {
+                                            "key": "TestTemperature",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTemperature",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTimestamp",
+                                        "value": {
+                                            "key": "TestTimestamp",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "outputFields": {
+                                "entry": [
+                                    {
+                                        "key": "TestDecideCaseSelected",
+                                        "value": {
+                                            "key": "TestDecideCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestDecideStateTime",
+                                        "value": {
+                                            "key": "TestDecideStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestEstablishCaseSelected",
+                                        "value": {
+                                            "key": "TestEstablishCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestEstablishStateTime",
+                                        "value": {
+                                            "key": "TestEstablishStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCase",
+                                        "value": {
+                                            "key": "TestMatchCase",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCaseSelected",
+                                        "value": {
+                                            "key": "TestMatchCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchStateTime",
+                                        "value": {
+                                            "key": "TestMatchStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestSlogan",
+                                        "value": {
+                                            "key": "TestSlogan",
+                                            "fieldSchemaKey": {
+                                                "name": "TestSlogan",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTemperature",
+                                        "value": {
+                                            "key": "TestTemperature",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTemperature",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTimestamp",
+                                        "value": {
+                                            "key": "TestTimestamp",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "taskParameters": {
+                                "entry": [
+                                    {
+                                        "key": "Parameter0",
+                                        "value": {
+                                            "key": {
+                                                "parentKeyName": "Task_Decide1",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Parameter0"
+                                            },
+                                            "defaultValue": "DefaultValue0"
+                                        }
+                                    },
+                                    {
+                                        "key": "Parameter1",
+                                        "value": {
+                                            "key": {
+                                                "parentKeyName": "Task_Decide1",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Parameter1"
+                                            },
+                                            "defaultValue": "DefaultValue1"
+                                        }
+                                    }
+                                ]
+                            },
+                            "contextAlbumReference": [
+                                {
+                                    "name": "GlobalContextAlbum",
+                                    "version": "0.0.1"
+                                },
+                                {
+                                    "name": "Policy0ContextAlbum",
+                                    "version": "0.0.1"
+                                }
+                            ],
+                            "taskLogic": {
+                                "key": "_TaskLogic",
+                                "logicFlavour": "MVEL",
+                                "logic": "import java.util.Date;\nlogger.debug(subject.id);\ngc = getContextAlbum(\"GlobalContextAlbum\");\nlogger.debug(gc);\nlogger.debug(inFields);\noutFields[\"TestDecideCaseSelected\"] = (byte)3;\ntimeNow = new Date();\noutFields[\"TestDecideStateTime\"] = timeNow.getTime();\nlogger.debug(outFields);\nreturn true;"
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Task_Decide2",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Task_Decide2",
+                                "version": "0.0.1"
+                            },
+                            "inputFields": {
+                                "entry": [
+                                    {
+                                        "key": "TestEstablishCaseSelected",
+                                        "value": {
+                                            "key": "TestEstablishCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestEstablishStateTime",
+                                        "value": {
+                                            "key": "TestEstablishStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCase",
+                                        "value": {
+                                            "key": "TestMatchCase",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCaseSelected",
+                                        "value": {
+                                            "key": "TestMatchCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchStateTime",
+                                        "value": {
+                                            "key": "TestMatchStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestSlogan",
+                                        "value": {
+                                            "key": "TestSlogan",
+                                            "fieldSchemaKey": {
+                                                "name": "TestSlogan",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTemperature",
+                                        "value": {
+                                            "key": "TestTemperature",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTemperature",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTimestamp",
+                                        "value": {
+                                            "key": "TestTimestamp",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "outputFields": {
+                                "entry": [
+                                    {
+                                        "key": "TestDecideCaseSelected",
+                                        "value": {
+                                            "key": "TestDecideCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestDecideStateTime",
+                                        "value": {
+                                            "key": "TestDecideStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestEstablishCaseSelected",
+                                        "value": {
+                                            "key": "TestEstablishCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestEstablishStateTime",
+                                        "value": {
+                                            "key": "TestEstablishStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCase",
+                                        "value": {
+                                            "key": "TestMatchCase",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCaseSelected",
+                                        "value": {
+                                            "key": "TestMatchCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchStateTime",
+                                        "value": {
+                                            "key": "TestMatchStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestSlogan",
+                                        "value": {
+                                            "key": "TestSlogan",
+                                            "fieldSchemaKey": {
+                                                "name": "TestSlogan",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTemperature",
+                                        "value": {
+                                            "key": "TestTemperature",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTemperature",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTimestamp",
+                                        "value": {
+                                            "key": "TestTimestamp",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "taskParameters": {
+                                "entry": [
+                                    {
+                                        "key": "Parameter0",
+                                        "value": {
+                                            "key": {
+                                                "parentKeyName": "Task_Decide2",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Parameter0"
+                                            },
+                                            "defaultValue": "DefaultValue0"
+                                        }
+                                    }
+                                ]
+                            },
+                            "contextAlbumReference": [
+                                {
+                                    "name": "GlobalContextAlbum",
+                                    "version": "0.0.1"
+                                },
+                                {
+                                    "name": "Policy1ContextAlbum",
+                                    "version": "0.0.1"
+                                }
+                            ],
+                            "taskLogic": {
+                                "key": "_TaskLogic",
+                                "logicFlavour": "MVEL",
+                                "logic": "import java.util.Date;\nlogger.debug(subject.id);\ngc = getContextAlbum(\"GlobalContextAlbum\");\nlogger.debug(gc);\nlogger.debug(inFields);\noutFields[\"TestDecideCaseSelected\"] = (byte)0;\ntimeNow = new Date();\noutFields[\"TestDecideStateTime\"] = timeNow.getTime();\nlogger.debug(outFields);\nreturn true;"
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Task_Decide3",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Task_Decide3",
+                                "version": "0.0.1"
+                            },
+                            "inputFields": {
+                                "entry": [
+                                    {
+                                        "key": "TestEstablishCaseSelected",
+                                        "value": {
+                                            "key": "TestEstablishCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestEstablishStateTime",
+                                        "value": {
+                                            "key": "TestEstablishStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCase",
+                                        "value": {
+                                            "key": "TestMatchCase",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCaseSelected",
+                                        "value": {
+                                            "key": "TestMatchCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchStateTime",
+                                        "value": {
+                                            "key": "TestMatchStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestSlogan",
+                                        "value": {
+                                            "key": "TestSlogan",
+                                            "fieldSchemaKey": {
+                                                "name": "TestSlogan",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTemperature",
+                                        "value": {
+                                            "key": "TestTemperature",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTemperature",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTimestamp",
+                                        "value": {
+                                            "key": "TestTimestamp",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "outputFields": {
+                                "entry": [
+                                    {
+                                        "key": "TestDecideCaseSelected",
+                                        "value": {
+                                            "key": "TestDecideCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestDecideStateTime",
+                                        "value": {
+                                            "key": "TestDecideStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestEstablishCaseSelected",
+                                        "value": {
+                                            "key": "TestEstablishCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestEstablishStateTime",
+                                        "value": {
+                                            "key": "TestEstablishStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCase",
+                                        "value": {
+                                            "key": "TestMatchCase",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCaseSelected",
+                                        "value": {
+                                            "key": "TestMatchCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchStateTime",
+                                        "value": {
+                                            "key": "TestMatchStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestSlogan",
+                                        "value": {
+                                            "key": "TestSlogan",
+                                            "fieldSchemaKey": {
+                                                "name": "TestSlogan",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTemperature",
+                                        "value": {
+                                            "key": "TestTemperature",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTemperature",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTimestamp",
+                                        "value": {
+                                            "key": "TestTimestamp",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "taskParameters": {
+                                "entry": [
+                                    {
+                                        "key": "Parameter0",
+                                        "value": {
+                                            "key": {
+                                                "parentKeyName": "Task_Decide3",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Parameter0"
+                                            },
+                                            "defaultValue": "DefaultValue0"
+                                        }
+                                    }
+                                ]
+                            },
+                            "contextAlbumReference": [
+                                {
+                                    "name": "ExternalContextAlbum",
+                                    "version": "0.0.1"
+                                },
+                                {
+                                    "name": "GlobalContextAlbum",
+                                    "version": "0.0.1"
+                                }
+                            ],
+                            "taskLogic": {
+                                "key": "_TaskLogic",
+                                "logicFlavour": "MVEL",
+                                "logic": "import java.util.Date;\nlogger.debug(subject.id);\ngc = getContextAlbum(\"GlobalContextAlbum\");\nlogger.debug(gc);\nlogger.debug(inFields);\noutFields[\"TestDecideCaseSelected\"] = (byte)1;\ntimeNow = new Date();\noutFields[\"TestDecideStateTime\"] = timeNow.getTime();\nlogger.debug(outFields);\nreturn true;"
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Task_Establish0",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Task_Establish0",
+                                "version": "0.0.1"
+                            },
+                            "inputFields": {
+                                "entry": [
+                                    {
+                                        "key": "TestMatchCase",
+                                        "value": {
+                                            "key": "TestMatchCase",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCaseSelected",
+                                        "value": {
+                                            "key": "TestMatchCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchStateTime",
+                                        "value": {
+                                            "key": "TestMatchStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestSlogan",
+                                        "value": {
+                                            "key": "TestSlogan",
+                                            "fieldSchemaKey": {
+                                                "name": "TestSlogan",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTemperature",
+                                        "value": {
+                                            "key": "TestTemperature",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTemperature",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTimestamp",
+                                        "value": {
+                                            "key": "TestTimestamp",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "outputFields": {
+                                "entry": [
+                                    {
+                                        "key": "TestEstablishCaseSelected",
+                                        "value": {
+                                            "key": "TestEstablishCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestEstablishStateTime",
+                                        "value": {
+                                            "key": "TestEstablishStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCase",
+                                        "value": {
+                                            "key": "TestMatchCase",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCaseSelected",
+                                        "value": {
+                                            "key": "TestMatchCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchStateTime",
+                                        "value": {
+                                            "key": "TestMatchStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestSlogan",
+                                        "value": {
+                                            "key": "TestSlogan",
+                                            "fieldSchemaKey": {
+                                                "name": "TestSlogan",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTemperature",
+                                        "value": {
+                                            "key": "TestTemperature",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTemperature",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTimestamp",
+                                        "value": {
+                                            "key": "TestTimestamp",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "taskParameters": {
+                                "entry": [
+                                    {
+                                        "key": "Parameter0",
+                                        "value": {
+                                            "key": {
+                                                "parentKeyName": "Task_Establish0",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Parameter0"
+                                            },
+                                            "defaultValue": "DefaultValue0"
+                                        }
+                                    },
+                                    {
+                                        "key": "Parameter1",
+                                        "value": {
+                                            "key": {
+                                                "parentKeyName": "Task_Establish0",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Parameter1"
+                                            },
+                                            "defaultValue": "DefaultValue1"
+                                        }
+                                    },
+                                    {
+                                        "key": "Parameter2",
+                                        "value": {
+                                            "key": {
+                                                "parentKeyName": "Task_Establish0",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Parameter2"
+                                            },
+                                            "defaultValue": "DefaultValue2"
+                                        }
+                                    }
+                                ]
+                            },
+                            "contextAlbumReference": [
+                                {
+                                    "name": "ExternalContextAlbum",
+                                    "version": "0.0.1"
+                                },
+                                {
+                                    "name": "GlobalContextAlbum",
+                                    "version": "0.0.1"
+                                },
+                                {
+                                    "name": "Policy0ContextAlbum",
+                                    "version": "0.0.1"
+                                },
+                                {
+                                    "name": "Policy1ContextAlbum",
+                                    "version": "0.0.1"
+                                }
+                            ],
+                            "taskLogic": {
+                                "key": "_TaskLogic",
+                                "logicFlavour": "MVEL",
+                                "logic": "import java.util.Date;\nlogger.debug(subject.id);\ngc = getContextAlbum(\"GlobalContextAlbum\");\nlogger.debug(gc);\nlogger.debug(inFields);\noutFields[\"TestEstablishCaseSelected\"] = (byte)2;\ntimeNow = new Date();\noutFields[\"TestEstablishStateTime\"] = timeNow.getTime();\nlogger.debug(outFields);\nreturn true;"
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Task_Establish1",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Task_Establish1",
+                                "version": "0.0.1"
+                            },
+                            "inputFields": {
+                                "entry": [
+                                    {
+                                        "key": "TestMatchCase",
+                                        "value": {
+                                            "key": "TestMatchCase",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCaseSelected",
+                                        "value": {
+                                            "key": "TestMatchCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchStateTime",
+                                        "value": {
+                                            "key": "TestMatchStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestSlogan",
+                                        "value": {
+                                            "key": "TestSlogan",
+                                            "fieldSchemaKey": {
+                                                "name": "TestSlogan",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTemperature",
+                                        "value": {
+                                            "key": "TestTemperature",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTemperature",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTimestamp",
+                                        "value": {
+                                            "key": "TestTimestamp",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "outputFields": {
+                                "entry": [
+                                    {
+                                        "key": "TestEstablishCaseSelected",
+                                        "value": {
+                                            "key": "TestEstablishCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestEstablishStateTime",
+                                        "value": {
+                                            "key": "TestEstablishStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCase",
+                                        "value": {
+                                            "key": "TestMatchCase",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCaseSelected",
+                                        "value": {
+                                            "key": "TestMatchCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchStateTime",
+                                        "value": {
+                                            "key": "TestMatchStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestSlogan",
+                                        "value": {
+                                            "key": "TestSlogan",
+                                            "fieldSchemaKey": {
+                                                "name": "TestSlogan",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTemperature",
+                                        "value": {
+                                            "key": "TestTemperature",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTemperature",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTimestamp",
+                                        "value": {
+                                            "key": "TestTimestamp",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "taskParameters": {
+                                "entry": [
+                                    {
+                                        "key": "Parameter0",
+                                        "value": {
+                                            "key": {
+                                                "parentKeyName": "Task_Establish1",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Parameter0"
+                                            },
+                                            "defaultValue": "DefaultValue0"
+                                        }
+                                    },
+                                    {
+                                        "key": "Parameter1",
+                                        "value": {
+                                            "key": {
+                                                "parentKeyName": "Task_Establish1",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Parameter1"
+                                            },
+                                            "defaultValue": "DefaultValue1"
+                                        }
+                                    }
+                                ]
+                            },
+                            "contextAlbumReference": [
+                                {
+                                    "name": "GlobalContextAlbum",
+                                    "version": "0.0.1"
+                                },
+                                {
+                                    "name": "Policy0ContextAlbum",
+                                    "version": "0.0.1"
+                                }
+                            ],
+                            "taskLogic": {
+                                "key": "_TaskLogic",
+                                "logicFlavour": "MVEL",
+                                "logic": "import java.util.Date;\nlogger.debug(subject.id);\ngc = getContextAlbum(\"GlobalContextAlbum\");\nlogger.debug(gc);\nlogger.debug(inFields);\noutFields[\"TestEstablishCaseSelected\"] = (byte)3;\ntimeNow = new Date();\noutFields[\"TestEstablishStateTime\"] = timeNow.getTime();\nlogger.debug(outFields);\nreturn true;"
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Task_Establish2",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Task_Establish2",
+                                "version": "0.0.1"
+                            },
+                            "inputFields": {
+                                "entry": [
+                                    {
+                                        "key": "TestMatchCase",
+                                        "value": {
+                                            "key": "TestMatchCase",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCaseSelected",
+                                        "value": {
+                                            "key": "TestMatchCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchStateTime",
+                                        "value": {
+                                            "key": "TestMatchStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestSlogan",
+                                        "value": {
+                                            "key": "TestSlogan",
+                                            "fieldSchemaKey": {
+                                                "name": "TestSlogan",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTemperature",
+                                        "value": {
+                                            "key": "TestTemperature",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTemperature",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTimestamp",
+                                        "value": {
+                                            "key": "TestTimestamp",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "outputFields": {
+                                "entry": [
+                                    {
+                                        "key": "TestEstablishCaseSelected",
+                                        "value": {
+                                            "key": "TestEstablishCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestEstablishStateTime",
+                                        "value": {
+                                            "key": "TestEstablishStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCase",
+                                        "value": {
+                                            "key": "TestMatchCase",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCaseSelected",
+                                        "value": {
+                                            "key": "TestMatchCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchStateTime",
+                                        "value": {
+                                            "key": "TestMatchStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestSlogan",
+                                        "value": {
+                                            "key": "TestSlogan",
+                                            "fieldSchemaKey": {
+                                                "name": "TestSlogan",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTemperature",
+                                        "value": {
+                                            "key": "TestTemperature",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTemperature",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTimestamp",
+                                        "value": {
+                                            "key": "TestTimestamp",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "taskParameters": {
+                                "entry": [
+                                    {
+                                        "key": "Parameter0",
+                                        "value": {
+                                            "key": {
+                                                "parentKeyName": "Task_Establish2",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Parameter0"
+                                            },
+                                            "defaultValue": "DefaultValue0"
+                                        }
+                                    }
+                                ]
+                            },
+                            "contextAlbumReference": [
+                                {
+                                    "name": "GlobalContextAlbum",
+                                    "version": "0.0.1"
+                                },
+                                {
+                                    "name": "Policy1ContextAlbum",
+                                    "version": "0.0.1"
+                                }
+                            ],
+                            "taskLogic": {
+                                "key": "_TaskLogic",
+                                "logicFlavour": "MVEL",
+                                "logic": "import java.util.Date;\nlogger.debug(subject.id);\ngc = getContextAlbum(\"GlobalContextAlbum\");\nlogger.debug(gc);\nlogger.debug(inFields);\noutFields[\"TestEstablishCaseSelected\"] = (byte)0;\ntimeNow = new Date();\noutFields[\"TestEstablishStateTime\"] = timeNow.getTime();\nlogger.debug(outFields);\nreturn true;"
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Task_Establish3",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Task_Establish3",
+                                "version": "0.0.1"
+                            },
+                            "inputFields": {
+                                "entry": [
+                                    {
+                                        "key": "TestMatchCase",
+                                        "value": {
+                                            "key": "TestMatchCase",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCaseSelected",
+                                        "value": {
+                                            "key": "TestMatchCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchStateTime",
+                                        "value": {
+                                            "key": "TestMatchStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestSlogan",
+                                        "value": {
+                                            "key": "TestSlogan",
+                                            "fieldSchemaKey": {
+                                                "name": "TestSlogan",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTemperature",
+                                        "value": {
+                                            "key": "TestTemperature",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTemperature",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTimestamp",
+                                        "value": {
+                                            "key": "TestTimestamp",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "outputFields": {
+                                "entry": [
+                                    {
+                                        "key": "TestEstablishCaseSelected",
+                                        "value": {
+                                            "key": "TestEstablishCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestEstablishStateTime",
+                                        "value": {
+                                            "key": "TestEstablishStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCase",
+                                        "value": {
+                                            "key": "TestMatchCase",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCaseSelected",
+                                        "value": {
+                                            "key": "TestMatchCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchStateTime",
+                                        "value": {
+                                            "key": "TestMatchStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestSlogan",
+                                        "value": {
+                                            "key": "TestSlogan",
+                                            "fieldSchemaKey": {
+                                                "name": "TestSlogan",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTemperature",
+                                        "value": {
+                                            "key": "TestTemperature",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTemperature",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTimestamp",
+                                        "value": {
+                                            "key": "TestTimestamp",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "taskParameters": {
+                                "entry": [
+                                    {
+                                        "key": "Parameter0",
+                                        "value": {
+                                            "key": {
+                                                "parentKeyName": "Task_Establish3",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Parameter0"
+                                            },
+                                            "defaultValue": "DefaultValue0"
+                                        }
+                                    }
+                                ]
+                            },
+                            "contextAlbumReference": [
+                                {
+                                    "name": "ExternalContextAlbum",
+                                    "version": "0.0.1"
+                                },
+                                {
+                                    "name": "GlobalContextAlbum",
+                                    "version": "0.0.1"
+                                }
+                            ],
+                            "taskLogic": {
+                                "key": "_TaskLogic",
+                                "logicFlavour": "MVEL",
+                                "logic": "import java.util.Date;\nlogger.debug(subject.id);\ngc = getContextAlbum(\"GlobalContextAlbum\");\nlogger.debug(gc);\nlogger.debug(inFields);\noutFields[\"TestEstablishCaseSelected\"] = (byte)1;\ntimeNow = new Date();\noutFields[\"TestEstablishStateTime\"] = timeNow.getTime();\nlogger.debug(outFields);\nreturn true;"
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Task_Match0",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Task_Match0",
+                                "version": "0.0.1"
+                            },
+                            "inputFields": {
+                                "entry": [
+                                    {
+                                        "key": "TestMatchCase",
+                                        "value": {
+                                            "key": "TestMatchCase",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestSlogan",
+                                        "value": {
+                                            "key": "TestSlogan",
+                                            "fieldSchemaKey": {
+                                                "name": "TestSlogan",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTemperature",
+                                        "value": {
+                                            "key": "TestTemperature",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTemperature",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTimestamp",
+                                        "value": {
+                                            "key": "TestTimestamp",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "outputFields": {
+                                "entry": [
+                                    {
+                                        "key": "TestMatchCase",
+                                        "value": {
+                                            "key": "TestMatchCase",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCaseSelected",
+                                        "value": {
+                                            "key": "TestMatchCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchStateTime",
+                                        "value": {
+                                            "key": "TestMatchStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestSlogan",
+                                        "value": {
+                                            "key": "TestSlogan",
+                                            "fieldSchemaKey": {
+                                                "name": "TestSlogan",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTemperature",
+                                        "value": {
+                                            "key": "TestTemperature",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTemperature",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTimestamp",
+                                        "value": {
+                                            "key": "TestTimestamp",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "taskParameters": {
+                                "entry": [
+                                    {
+                                        "key": "Parameter0",
+                                        "value": {
+                                            "key": {
+                                                "parentKeyName": "Task_Match0",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Parameter0"
+                                            },
+                                            "defaultValue": "DefaultValue0"
+                                        }
+                                    },
+                                    {
+                                        "key": "Parameter1",
+                                        "value": {
+                                            "key": {
+                                                "parentKeyName": "Task_Match0",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Parameter1"
+                                            },
+                                            "defaultValue": "DefaultValue1"
+                                        }
+                                    },
+                                    {
+                                        "key": "Parameter2",
+                                        "value": {
+                                            "key": {
+                                                "parentKeyName": "Task_Match0",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Parameter2"
+                                            },
+                                            "defaultValue": "DefaultValue2"
+                                        }
+                                    }
+                                ]
+                            },
+                            "contextAlbumReference": [
+                                {
+                                    "name": "ExternalContextAlbum",
+                                    "version": "0.0.1"
+                                },
+                                {
+                                    "name": "GlobalContextAlbum",
+                                    "version": "0.0.1"
+                                },
+                                {
+                                    "name": "Policy0ContextAlbum",
+                                    "version": "0.0.1"
+                                },
+                                {
+                                    "name": "Policy1ContextAlbum",
+                                    "version": "0.0.1"
+                                }
+                            ],
+                            "taskLogic": {
+                                "key": "_TaskLogic",
+                                "logicFlavour": "MVEL",
+                                "logic": "import java.util.Date;\nlogger.debug(subject.id);\ngc = getContextAlbum(\"GlobalContextAlbum\");\nlogger.debug(gc);\nlogger.debug(inFields);\noutFields[\"TestMatchCaseSelected\"] = (byte)2;\ntimeNow = new Date();\noutFields[\"TestMatchStateTime\"] = timeNow.getTime();\nlogger.debug(outFields);\nreturn true;"
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Task_Match1",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Task_Match1",
+                                "version": "0.0.1"
+                            },
+                            "inputFields": {
+                                "entry": [
+                                    {
+                                        "key": "TestMatchCase",
+                                        "value": {
+                                            "key": "TestMatchCase",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestSlogan",
+                                        "value": {
+                                            "key": "TestSlogan",
+                                            "fieldSchemaKey": {
+                                                "name": "TestSlogan",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTemperature",
+                                        "value": {
+                                            "key": "TestTemperature",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTemperature",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTimestamp",
+                                        "value": {
+                                            "key": "TestTimestamp",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "outputFields": {
+                                "entry": [
+                                    {
+                                        "key": "TestMatchCase",
+                                        "value": {
+                                            "key": "TestMatchCase",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCaseSelected",
+                                        "value": {
+                                            "key": "TestMatchCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchStateTime",
+                                        "value": {
+                                            "key": "TestMatchStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestSlogan",
+                                        "value": {
+                                            "key": "TestSlogan",
+                                            "fieldSchemaKey": {
+                                                "name": "TestSlogan",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTemperature",
+                                        "value": {
+                                            "key": "TestTemperature",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTemperature",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTimestamp",
+                                        "value": {
+                                            "key": "TestTimestamp",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "taskParameters": {
+                                "entry": [
+                                    {
+                                        "key": "Parameter0",
+                                        "value": {
+                                            "key": {
+                                                "parentKeyName": "Task_Match1",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Parameter0"
+                                            },
+                                            "defaultValue": "DefaultValue0"
+                                        }
+                                    },
+                                    {
+                                        "key": "Parameter1",
+                                        "value": {
+                                            "key": {
+                                                "parentKeyName": "Task_Match1",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Parameter1"
+                                            },
+                                            "defaultValue": "DefaultValue1"
+                                        }
+                                    }
+                                ]
+                            },
+                            "contextAlbumReference": [
+                                {
+                                    "name": "GlobalContextAlbum",
+                                    "version": "0.0.1"
+                                },
+                                {
+                                    "name": "Policy0ContextAlbum",
+                                    "version": "0.0.1"
+                                }
+                            ],
+                            "taskLogic": {
+                                "key": "_TaskLogic",
+                                "logicFlavour": "MVEL",
+                                "logic": "import java.util.Date;\nlogger.debug(subject.id);\ngc = getContextAlbum(\"GlobalContextAlbum\");\nlogger.debug(gc);\nlogger.debug(inFields);\noutFields[\"TestMatchCaseSelected\"] = (byte)3;\ntimeNow = new Date();\noutFields[\"TestMatchStateTime\"] = timeNow.getTime();\nlogger.debug(outFields);\nreturn true;"
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Task_Match2",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Task_Match2",
+                                "version": "0.0.1"
+                            },
+                            "inputFields": {
+                                "entry": [
+                                    {
+                                        "key": "TestMatchCase",
+                                        "value": {
+                                            "key": "TestMatchCase",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestSlogan",
+                                        "value": {
+                                            "key": "TestSlogan",
+                                            "fieldSchemaKey": {
+                                                "name": "TestSlogan",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTemperature",
+                                        "value": {
+                                            "key": "TestTemperature",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTemperature",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTimestamp",
+                                        "value": {
+                                            "key": "TestTimestamp",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "outputFields": {
+                                "entry": [
+                                    {
+                                        "key": "TestMatchCase",
+                                        "value": {
+                                            "key": "TestMatchCase",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCaseSelected",
+                                        "value": {
+                                            "key": "TestMatchCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchStateTime",
+                                        "value": {
+                                            "key": "TestMatchStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestSlogan",
+                                        "value": {
+                                            "key": "TestSlogan",
+                                            "fieldSchemaKey": {
+                                                "name": "TestSlogan",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTemperature",
+                                        "value": {
+                                            "key": "TestTemperature",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTemperature",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTimestamp",
+                                        "value": {
+                                            "key": "TestTimestamp",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "taskParameters": {
+                                "entry": [
+                                    {
+                                        "key": "Parameter0",
+                                        "value": {
+                                            "key": {
+                                                "parentKeyName": "Task_Match2",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Parameter0"
+                                            },
+                                            "defaultValue": "DefaultValue0"
+                                        }
+                                    }
+                                ]
+                            },
+                            "contextAlbumReference": [
+                                {
+                                    "name": "GlobalContextAlbum",
+                                    "version": "0.0.1"
+                                },
+                                {
+                                    "name": "Policy1ContextAlbum",
+                                    "version": "0.0.1"
+                                }
+                            ],
+                            "taskLogic": {
+                                "key": "_TaskLogic",
+                                "logicFlavour": "MVEL",
+                                "logic": "import java.util.Date;\nlogger.debug(subject.id);\ngc = getContextAlbum(\"GlobalContextAlbum\");\nlogger.debug(gc);\nlogger.debug(inFields);\noutFields[\"TestMatchCaseSelected\"] = (byte)0;\ntimeNow = new Date();\noutFields[\"TestMatchStateTime\"] = timeNow.getTime();\nlogger.debug(outFields);\nreturn true;"
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Task_Match3",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Task_Match3",
+                                "version": "0.0.1"
+                            },
+                            "inputFields": {
+                                "entry": [
+                                    {
+                                        "key": "TestMatchCase",
+                                        "value": {
+                                            "key": "TestMatchCase",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestSlogan",
+                                        "value": {
+                                            "key": "TestSlogan",
+                                            "fieldSchemaKey": {
+                                                "name": "TestSlogan",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTemperature",
+                                        "value": {
+                                            "key": "TestTemperature",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTemperature",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTimestamp",
+                                        "value": {
+                                            "key": "TestTimestamp",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "outputFields": {
+                                "entry": [
+                                    {
+                                        "key": "TestMatchCase",
+                                        "value": {
+                                            "key": "TestMatchCase",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCaseSelected",
+                                        "value": {
+                                            "key": "TestMatchCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchStateTime",
+                                        "value": {
+                                            "key": "TestMatchStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestSlogan",
+                                        "value": {
+                                            "key": "TestSlogan",
+                                            "fieldSchemaKey": {
+                                                "name": "TestSlogan",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTemperature",
+                                        "value": {
+                                            "key": "TestTemperature",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTemperature",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTimestamp",
+                                        "value": {
+                                            "key": "TestTimestamp",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "taskParameters": {
+                                "entry": [
+                                    {
+                                        "key": "Parameter0",
+                                        "value": {
+                                            "key": {
+                                                "parentKeyName": "Task_Match3",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Parameter0"
+                                            },
+                                            "defaultValue": "DefaultValue0"
+                                        }
+                                    }
+                                ]
+                            },
+                            "contextAlbumReference": [
+                                {
+                                    "name": "ExternalContextAlbum",
+                                    "version": "0.0.1"
+                                },
+                                {
+                                    "name": "GlobalContextAlbum",
+                                    "version": "0.0.1"
+                                }
+                            ],
+                            "taskLogic": {
+                                "key": "_TaskLogic",
+                                "logicFlavour": "MVEL",
+                                "logic": "import java.util.Date;\nlogger.debug(subject.id);\ngc = getContextAlbum(\"GlobalContextAlbum\");\nlogger.debug(gc);\nlogger.debug(inFields);\noutFields[\"TestMatchCaseSelected\"] = (byte)1;\ntimeNow = new Date();\noutFields[\"TestMatchStateTime\"] = timeNow.getTime();\nlogger.debug(outFields);\nreturn true;"
+                            }
+                        }
+                    }
+                ]
+            }
+        },
+        "events": {
+            "key": {
+                "name": "Events",
+                "version": "0.0.1"
+            },
+            "eventMap": {
+                "entry": [
+                    {
+                        "key": {
+                            "name": "Event0000",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Event0000",
+                                "version": "0.0.1"
+                            },
+                            "nameSpace": "org.onap.policy.apex.sample.events",
+                            "source": "Outside",
+                            "target": "Match",
+                            "parameter": {
+                                "entry": [
+                                    {
+                                        "key": "TestMatchCase",
+                                        "value": {
+                                            "key": "TestMatchCase",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestSlogan",
+                                        "value": {
+                                            "key": "TestSlogan",
+                                            "fieldSchemaKey": {
+                                                "name": "TestSlogan",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTemperature",
+                                        "value": {
+                                            "key": "TestTemperature",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTemperature",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTimestamp",
+                                        "value": {
+                                            "key": "TestTimestamp",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Event0001",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Event0001",
+                                "version": "0.0.1"
+                            },
+                            "nameSpace": "org.onap.policy.apex.sample.events",
+                            "source": "Match",
+                            "target": "Establish",
+                            "parameter": {
+                                "entry": [
+                                    {
+                                        "key": "TestMatchCase",
+                                        "value": {
+                                            "key": "TestMatchCase",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCaseSelected",
+                                        "value": {
+                                            "key": "TestMatchCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchStateTime",
+                                        "value": {
+                                            "key": "TestMatchStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestSlogan",
+                                        "value": {
+                                            "key": "TestSlogan",
+                                            "fieldSchemaKey": {
+                                                "name": "TestSlogan",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTemperature",
+                                        "value": {
+                                            "key": "TestTemperature",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTemperature",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTimestamp",
+                                        "value": {
+                                            "key": "TestTimestamp",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Event0002",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Event0002",
+                                "version": "0.0.1"
+                            },
+                            "nameSpace": "org.onap.policy.apex.sample.events",
+                            "source": "Establish",
+                            "target": "Decide",
+                            "parameter": {
+                                "entry": [
+                                    {
+                                        "key": "TestEstablishCaseSelected",
+                                        "value": {
+                                            "key": "TestEstablishCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestEstablishStateTime",
+                                        "value": {
+                                            "key": "TestEstablishStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCase",
+                                        "value": {
+                                            "key": "TestMatchCase",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCaseSelected",
+                                        "value": {
+                                            "key": "TestMatchCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchStateTime",
+                                        "value": {
+                                            "key": "TestMatchStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestSlogan",
+                                        "value": {
+                                            "key": "TestSlogan",
+                                            "fieldSchemaKey": {
+                                                "name": "TestSlogan",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTemperature",
+                                        "value": {
+                                            "key": "TestTemperature",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTemperature",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTimestamp",
+                                        "value": {
+                                            "key": "TestTimestamp",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Event0003",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Event0003",
+                                "version": "0.0.1"
+                            },
+                            "nameSpace": "org.onap.policy.apex.sample.events",
+                            "source": "Decide",
+                            "target": "Act",
+                            "parameter": {
+                                "entry": [
+                                    {
+                                        "key": "TestDecideCaseSelected",
+                                        "value": {
+                                            "key": "TestDecideCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestDecideStateTime",
+                                        "value": {
+                                            "key": "TestDecideStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestEstablishCaseSelected",
+                                        "value": {
+                                            "key": "TestEstablishCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestEstablishStateTime",
+                                        "value": {
+                                            "key": "TestEstablishStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCase",
+                                        "value": {
+                                            "key": "TestMatchCase",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCaseSelected",
+                                        "value": {
+                                            "key": "TestMatchCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchStateTime",
+                                        "value": {
+                                            "key": "TestMatchStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestSlogan",
+                                        "value": {
+                                            "key": "TestSlogan",
+                                            "fieldSchemaKey": {
+                                                "name": "TestSlogan",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTemperature",
+                                        "value": {
+                                            "key": "TestTemperature",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTemperature",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTimestamp",
+                                        "value": {
+                                            "key": "TestTimestamp",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Event0004",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Event0004",
+                                "version": "0.0.1"
+                            },
+                            "nameSpace": "org.onap.policy.apex.sample.events",
+                            "source": "Act",
+                            "target": "Outside",
+                            "parameter": {
+                                "entry": [
+                                    {
+                                        "key": "TestActCaseSelected",
+                                        "value": {
+                                            "key": "TestActCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestActStateTime",
+                                        "value": {
+                                            "key": "TestActStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestDecideCaseSelected",
+                                        "value": {
+                                            "key": "TestDecideCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestDecideStateTime",
+                                        "value": {
+                                            "key": "TestDecideStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestEstablishCaseSelected",
+                                        "value": {
+                                            "key": "TestEstablishCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestEstablishStateTime",
+                                        "value": {
+                                            "key": "TestEstablishStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCase",
+                                        "value": {
+                                            "key": "TestMatchCase",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCaseSelected",
+                                        "value": {
+                                            "key": "TestMatchCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchStateTime",
+                                        "value": {
+                                            "key": "TestMatchStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestSlogan",
+                                        "value": {
+                                            "key": "TestSlogan",
+                                            "fieldSchemaKey": {
+                                                "name": "TestSlogan",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTemperature",
+                                        "value": {
+                                            "key": "TestTemperature",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTemperature",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTimestamp",
+                                        "value": {
+                                            "key": "TestTimestamp",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Event0100",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Event0100",
+                                "version": "0.0.1"
+                            },
+                            "nameSpace": "org.onap.policy.apex.sample.events",
+                            "source": "Outside",
+                            "target": "Match",
+                            "parameter": {
+                                "entry": [
+                                    {
+                                        "key": "TestMatchCase",
+                                        "value": {
+                                            "key": "TestMatchCase",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestSlogan",
+                                        "value": {
+                                            "key": "TestSlogan",
+                                            "fieldSchemaKey": {
+                                                "name": "TestSlogan",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTemperature",
+                                        "value": {
+                                            "key": "TestTemperature",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTemperature",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTimestamp",
+                                        "value": {
+                                            "key": "TestTimestamp",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Event0101",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Event0101",
+                                "version": "0.0.1"
+                            },
+                            "nameSpace": "org.onap.policy.apex.sample.events",
+                            "source": "Match",
+                            "target": "Establish",
+                            "parameter": {
+                                "entry": [
+                                    {
+                                        "key": "TestMatchCase",
+                                        "value": {
+                                            "key": "TestMatchCase",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCaseSelected",
+                                        "value": {
+                                            "key": "TestMatchCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchStateTime",
+                                        "value": {
+                                            "key": "TestMatchStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestSlogan",
+                                        "value": {
+                                            "key": "TestSlogan",
+                                            "fieldSchemaKey": {
+                                                "name": "TestSlogan",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTemperature",
+                                        "value": {
+                                            "key": "TestTemperature",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTemperature",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTimestamp",
+                                        "value": {
+                                            "key": "TestTimestamp",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Event0102",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Event0102",
+                                "version": "0.0.1"
+                            },
+                            "nameSpace": "org.onap.policy.apex.sample.events",
+                            "source": "Establish",
+                            "target": "Decide",
+                            "parameter": {
+                                "entry": [
+                                    {
+                                        "key": "TestEstablishCaseSelected",
+                                        "value": {
+                                            "key": "TestEstablishCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestEstablishStateTime",
+                                        "value": {
+                                            "key": "TestEstablishStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCase",
+                                        "value": {
+                                            "key": "TestMatchCase",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCaseSelected",
+                                        "value": {
+                                            "key": "TestMatchCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchStateTime",
+                                        "value": {
+                                            "key": "TestMatchStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestSlogan",
+                                        "value": {
+                                            "key": "TestSlogan",
+                                            "fieldSchemaKey": {
+                                                "name": "TestSlogan",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTemperature",
+                                        "value": {
+                                            "key": "TestTemperature",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTemperature",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTimestamp",
+                                        "value": {
+                                            "key": "TestTimestamp",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Event0103",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Event0103",
+                                "version": "0.0.1"
+                            },
+                            "nameSpace": "org.onap.policy.apex.sample.events",
+                            "source": "Decide",
+                            "target": "Act",
+                            "parameter": {
+                                "entry": [
+                                    {
+                                        "key": "TestDecideCaseSelected",
+                                        "value": {
+                                            "key": "TestDecideCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestDecideStateTime",
+                                        "value": {
+                                            "key": "TestDecideStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestEstablishCaseSelected",
+                                        "value": {
+                                            "key": "TestEstablishCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestEstablishStateTime",
+                                        "value": {
+                                            "key": "TestEstablishStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCase",
+                                        "value": {
+                                            "key": "TestMatchCase",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCaseSelected",
+                                        "value": {
+                                            "key": "TestMatchCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchStateTime",
+                                        "value": {
+                                            "key": "TestMatchStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestSlogan",
+                                        "value": {
+                                            "key": "TestSlogan",
+                                            "fieldSchemaKey": {
+                                                "name": "TestSlogan",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTemperature",
+                                        "value": {
+                                            "key": "TestTemperature",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTemperature",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTimestamp",
+                                        "value": {
+                                            "key": "TestTimestamp",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Event0104",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Event0104",
+                                "version": "0.0.1"
+                            },
+                            "nameSpace": "org.onap.policy.apex.sample.events",
+                            "source": "Act",
+                            "target": "Outside",
+                            "parameter": {
+                                "entry": [
+                                    {
+                                        "key": "TestActCaseSelected",
+                                        "value": {
+                                            "key": "TestActCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestActStateTime",
+                                        "value": {
+                                            "key": "TestActStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestDecideCaseSelected",
+                                        "value": {
+                                            "key": "TestDecideCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestDecideStateTime",
+                                        "value": {
+                                            "key": "TestDecideStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestEstablishCaseSelected",
+                                        "value": {
+                                            "key": "TestEstablishCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestEstablishStateTime",
+                                        "value": {
+                                            "key": "TestEstablishStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCase",
+                                        "value": {
+                                            "key": "TestMatchCase",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchCaseSelected",
+                                        "value": {
+                                            "key": "TestMatchCaseSelected",
+                                            "fieldSchemaKey": {
+                                                "name": "TestCase",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestMatchStateTime",
+                                        "value": {
+                                            "key": "TestMatchStateTime",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestSlogan",
+                                        "value": {
+                                            "key": "TestSlogan",
+                                            "fieldSchemaKey": {
+                                                "name": "TestSlogan",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTemperature",
+                                        "value": {
+                                            "key": "TestTemperature",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTemperature",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "TestTimestamp",
+                                        "value": {
+                                            "key": "TestTimestamp",
+                                            "fieldSchemaKey": {
+                                                "name": "TestTimestamp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            }
+                        }
+                    }
+                ]
+            }
+        },
+        "albums": {
+            "key": {
+                "name": "Context",
+                "version": "0.0.1"
+            },
+            "albums": {
+                "entry": [
+                    {
+                        "key": {
+                            "name": "ExternalContextAlbum",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "ExternalContextAlbum",
+                                "version": "0.0.1"
+                            },
+                            "scope": "EXTERNAL",
+                            "isWritable": false,
+                            "itemSchema": {
+                                "name": "TestExternalContextItem",
+                                "version": "0.0.1"
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "GlobalContextAlbum",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "GlobalContextAlbum",
+                                "version": "0.0.1"
+                            },
+                            "scope": "GLOBAL",
+                            "isWritable": true,
+                            "itemSchema": {
+                                "name": "TestGlobalContextItem",
+                                "version": "0.0.1"
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Policy0ContextAlbum",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Policy0ContextAlbum",
+                                "version": "0.0.1"
+                            },
+                            "scope": "APPLICATION",
+                            "isWritable": true,
+                            "itemSchema": {
+                                "name": "TestPolicyContextItem",
+                                "version": "0.0.1"
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Policy1ContextAlbum",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Policy1ContextAlbum",
+                                "version": "0.0.1"
+                            },
+                            "scope": "APPLICATION",
+                            "isWritable": true,
+                            "itemSchema": {
+                                "name": "TestPolicyContextItem",
+                                "version": "0.0.1"
+                            }
+                        }
+                    }
+                ]
+            }
+        },
+        "schemas": {
+            "key": {
+                "name": "TestDatatypes",
+                "version": "0.0.1"
+            },
+            "schemas": {
+                "entry": [
+                    {
+                        "key": {
+                            "name": "TestCase",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestCase",
+                                "version": "0.0.1"
+                            },
+                            "schemaFlavour": "Java",
+                            "schemaDefinition": "java.lang.Byte"
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "TestContextItem000",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestContextItem000",
+                                "version": "0.0.1"
+                            },
+                            "schemaFlavour": "Java",
+                            "schemaDefinition": "org.onap.policy.apex.context.test.concepts.TestContextItem000"
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "TestContextItem001",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestContextItem001",
+                                "version": "0.0.1"
+                            },
+                            "schemaFlavour": "Java",
+                            "schemaDefinition": "org.onap.policy.apex.context.test.concepts.TestContextItem001"
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "TestContextItem002",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestContextItem002",
+                                "version": "0.0.1"
+                            },
+                            "schemaFlavour": "Java",
+                            "schemaDefinition": "org.onap.policy.apex.context.test.concepts.TestContextItem002"
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "TestContextItem003",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestContextItem003",
+                                "version": "0.0.1"
+                            },
+                            "schemaFlavour": "Java",
+                            "schemaDefinition": "org.onap.policy.apex.context.test.concepts.TestContextItem003"
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "TestContextItem004",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestContextItem004",
+                                "version": "0.0.1"
+                            },
+                            "schemaFlavour": "Java",
+                            "schemaDefinition": "org.onap.policy.apex.context.test.concepts.TestContextItem004"
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "TestContextItem005",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestContextItem005",
+                                "version": "0.0.1"
+                            },
+                            "schemaFlavour": "Java",
+                            "schemaDefinition": "org.onap.policy.apex.context.test.concepts.TestContextItem005"
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "TestContextItem006",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestContextItem006",
+                                "version": "0.0.1"
+                            },
+                            "schemaFlavour": "Java",
+                            "schemaDefinition": "org.onap.policy.apex.context.test.concepts.TestContextItem006"
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "TestContextItem007",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestContextItem007",
+                                "version": "0.0.1"
+                            },
+                            "schemaFlavour": "Java",
+                            "schemaDefinition": "org.onap.policy.apex.context.test.concepts.TestContextItem007"
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "TestContextItem008",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestContextItem008",
+                                "version": "0.0.1"
+                            },
+                            "schemaFlavour": "Java",
+                            "schemaDefinition": "org.onap.policy.apex.context.test.concepts.TestContextItem008"
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "TestContextItem009",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestContextItem009",
+                                "version": "0.0.1"
+                            },
+                            "schemaFlavour": "Java",
+                            "schemaDefinition": "org.onap.policy.apex.context.test.concepts.TestContextItem009"
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "TestContextItem00A",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestContextItem00A",
+                                "version": "0.0.1"
+                            },
+                            "schemaFlavour": "Java",
+                            "schemaDefinition": "org.onap.policy.apex.context.test.concepts.TestContextItem00A"
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "TestContextItem00B",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestContextItem00B",
+                                "version": "0.0.1"
+                            },
+                            "schemaFlavour": "Java",
+                            "schemaDefinition": "org.onap.policy.apex.context.test.concepts.TestContextItem00B"
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "TestContextItem00C",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestContextItem00C",
+                                "version": "0.0.1"
+                            },
+                            "schemaFlavour": "Java",
+                            "schemaDefinition": "org.onap.policy.apex.context.test.concepts.TestContextItem00C"
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "TestExternalContextItem",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestExternalContextItem",
+                                "version": "0.0.1"
+                            },
+                            "schemaFlavour": "Java",
+                            "schemaDefinition": "org.onap.policy.apex.context.test.concepts.TestExternalContextItem"
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "TestGlobalContextItem",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestGlobalContextItem",
+                                "version": "0.0.1"
+                            },
+                            "schemaFlavour": "Java",
+                            "schemaDefinition": "org.onap.policy.apex.context.test.concepts.TestGlobalContextItem"
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "TestPolicyContextItem",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestPolicyContextItem",
+                                "version": "0.0.1"
+                            },
+                            "schemaFlavour": "Java",
+                            "schemaDefinition": "org.onap.policy.apex.context.test.concepts.TestPolicyContextItem"
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "TestSlogan",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestSlogan",
+                                "version": "0.0.1"
+                            },
+                            "schemaFlavour": "Java",
+                            "schemaDefinition": "java.lang.String"
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "TestTemperature",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestTemperature",
+                                "version": "0.0.1"
+                            },
+                            "schemaFlavour": "Java",
+                            "schemaDefinition": "java.lang.Double"
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "TestTimestamp",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "TestTimestamp",
+                                "version": "0.0.1"
+                            },
+                            "schemaFlavour": "Java",
+                            "schemaDefinition": "java.lang.Long"
+                        }
+                    }
+                ]
+            }
+        }
+    }
+}
diff --git a/testsuites/integration/integration-uservice-test/src/test/resources/policymodels/VPNPolicyModelAvro.json b/testsuites/integration/integration-uservice-test/src/test/resources/policymodels/VPNPolicyModelAvro.json
new file mode 100644 (file)
index 0000000..5fa4be4
--- /dev/null
@@ -0,0 +1,4557 @@
+{
+    "apexPolicyModel": {
+        "key": {
+            "name": "VPNPolicyModelAvro",
+            "version": "0.0.1"
+        },
+        "keyInformation": {
+            "key": {
+                "name": "VPNKeyInformation",
+                "version": "0.0.1"
+            },
+            "keyInfoMap": {
+                "entry": [
+                    {
+                        "key": {
+                            "name": "Action",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Action",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "fecbf45a-8559-3ba8-be95-c773d8277912",
+                            "description": "Generated description for concept referred to by key \"Action:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "AffectedCustomers",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "AffectedCustomers",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "a076b82b-2843-310c-b6a5-a89da296caf7",
+                            "description": "Generated description for concept referred to by key \"AffectedCustomers:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "CustomerMap",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "CustomerMap",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "cc403e79-bf85-3bdc-83dc-86a1ff45abed",
+                            "description": "Generated description for concept referred to by key \"CustomerMap:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "CustomerName",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "CustomerName",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "638a87b0-2040-3ab7-8d1f-3877f6efb250",
+                            "description": "Generated description for concept referred to by key \"CustomerName:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Link",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Link",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "0e3b3a57-fa0a-3b0d-ad18-0322d1a515f0",
+                            "description": "Generated description for concept referred to by key \"Link:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "LinkList",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "LinkList",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "ec38833a-7f3e-3733-b38b-eb7ecc9e60ca",
+                            "description": "Generated description for concept referred to by key \"LinkList:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "LinkMap",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "LinkMap",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "5eceb73f-c951-360a-afb4-ca7a5376f8a9",
+                            "description": "Generated description for concept referred to by key \"LinkMap:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "LinkUp",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "LinkUp",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "2b9935ab-9b97-3228-ba43-ae48d7743c9f",
+                            "description": "Generated description for concept referred to by key \"LinkUp:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "ProblemStatus",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "ProblemStatus",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "b26602d0-53cb-357c-aa3a-bd53325c7208",
+                            "description": "Generated description for concept referred to by key \"ProblemStatus:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "SlaDT",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "SlaDT",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "c8a76dcf-d322-3a01-9d4b-c2d9a01359aa",
+                            "description": "Generated description for concept referred to by key \"SlaDT:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Status",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Status",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "32a032cd-923a-3578-a232-d3ce88434b45",
+                            "description": "Generated description for concept referred to by key \"Status:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "StatusChanged",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "StatusChanged",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "af0da9d9-a2bd-387c-a441-66a0b0a0f434",
+                            "description": "Generated description for concept referred to by key \"StatusChanged:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNActEvent",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNActEvent",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "8c285b89-7102-37b1-aa1b-86d080df0aa9",
+                            "description": "Generated description for concept referred to by key \"VPNActEvent:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNActTask",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNActTask",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "a83d78d1-b3b0-3742-85e4-25364bdbae1f",
+                            "description": "Generated description for concept referred to by key \"VPNActTask:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNContext",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNContext",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "ab3caa58-6748-373d-a6b9-08528951c261",
+                            "description": "Generated description for concept referred to by key \"VPNContext:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNCustomer",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNCustomer",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "3c987f55-b978-3e32-9858-4b1978594bf3",
+                            "description": "Generated description for concept referred to by key \"VPNCustomer:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNCustomerAlbum",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNCustomerAlbum",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "9d8d7a8b-13f8-3e7f-a34c-8ce5bb988290",
+                            "description": "Generated description for concept referred to by key \"VPNCustomerAlbum:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNCustomerCtxtActEvent",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNCustomerCtxtActEvent",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "dc6fef76-6014-392f-b017-116bc9a35249",
+                            "description": "Generated description for concept referred to by key \"VPNCustomerCtxtActEvent:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNCustomerCtxtActTask",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNCustomerCtxtActTask",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "2c9f5fb2-3fda-329a-bf81-9bbe72c0b39c",
+                            "description": "Generated description for concept referred to by key \"VPNCustomerCtxtActTask:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNCustomerCtxtDecideEvent",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNCustomerCtxtDecideEvent",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "9e86afcd-a764-3645-afdd-0fe373c2f9d0",
+                            "description": "Generated description for concept referred to by key \"VPNCustomerCtxtDecideEvent:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNCustomerCtxtDecideTask",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNCustomerCtxtDecideTask",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "7c033835-24e5-302b-a2e7-1f357f4a49da",
+                            "description": "Generated description for concept referred to by key \"VPNCustomerCtxtDecideTask:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNCustomerCtxtEstablishEvent",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNCustomerCtxtEstablishEvent",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "6767849e-b884-3de3-a9de-49ec21d1653a",
+                            "description": "Generated description for concept referred to by key \"VPNCustomerCtxtEstablishEvent:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNCustomerCtxtEstablishTask",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNCustomerCtxtEstablishTask",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "8d267e4f-a8b3-3ec1-9e00-4fe49c4824ac",
+                            "description": "Generated description for concept referred to by key \"VPNCustomerCtxtEstablishTask:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNCustomerCtxtMatchEvent",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNCustomerCtxtMatchEvent",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "3113d098-5f5d-30b1-91ad-24006aca60b3",
+                            "description": "Generated description for concept referred to by key \"VPNCustomerCtxtMatchEvent:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNCustomerCtxtMatchTask",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNCustomerCtxtMatchTask",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "f7381ce6-2df0-3123-bc4d-fdb28ec0b0b4",
+                            "description": "Generated description for concept referred to by key \"VPNCustomerCtxtMatchTask:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNCustomerCtxtPolicy",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNCustomerCtxtPolicy",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "51645b2f-19ab-3792-8088-a2b0eab9a75b",
+                            "description": "Generated description for concept referred to by key \"VPNCustomerCtxtPolicy:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNCustomerCtxtTriggerEvent",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNCustomerCtxtTriggerEvent",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "dd7ea64d-863e-3194-8eee-e4aab7af1454",
+                            "description": "Generated description for concept referred to by key \"VPNCustomerCtxtTriggerEvent:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNDatatypes",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNDatatypes",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "45ec61a2-39c6-3544-9d48-49e29b60daa7",
+                            "description": "Generated description for concept referred to by key \"VPNDatatypes:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNDecideEvent",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNDecideEvent",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "c8721fa3-ff74-3222-b2e4-9824b8daf7bb",
+                            "description": "Generated description for concept referred to by key \"VPNDecideEvent:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNDecidePriorityTask",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNDecidePriorityTask",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "cb2a893a-7719-3208-9952-a3fa3565cbb4",
+                            "description": "Generated description for concept referred to by key \"VPNDecidePriorityTask:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNDecideSLATask",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNDecideSLATask",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "bef3b2b0-5575-3b50-a1bc-dd05541cb800",
+                            "description": "Generated description for concept referred to by key \"VPNDecideSLATask:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNDecideSolvedTask",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNDecideSolvedTask",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "137f8cd1-0f33-3c03-88a5-d0408fe0c26a",
+                            "description": "Generated description for concept referred to by key \"VPNDecideSolvedTask:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNDecideTask",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNDecideTask",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "dc647231-a4d6-307e-bd42-d32fa0a2c2c5",
+                            "description": "Generated description for concept referred to by key \"VPNDecideTask:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNEstablishEvent",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNEstablishEvent",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "a5ec4ca5-b0ce-3098-afc2-61de501e35bd",
+                            "description": "Generated description for concept referred to by key \"VPNEstablishEvent:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNEstablishTask",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNEstablishTask",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "e5b00ad5-92d8-3ffc-93e0-ddd1c02e584f",
+                            "description": "Generated description for concept referred to by key \"VPNEstablishTask:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNEvents",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNEvents",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "07c2931d-9011-3d85-bca6-c10d43856f60",
+                            "description": "Generated description for concept referred to by key \"VPNEvents:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNKeyInformation",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNKeyInformation",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "c2516499-a76d-3526-a6ee-d1d93c598931",
+                            "description": "Generated description for concept referred to by key \"VPNKeyInformation:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNLink",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNLink",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "27e97f3a-8b39-3ae7-ac26-af9370cccd43",
+                            "description": "Generated description for concept referred to by key \"VPNLink:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNLinkAlbum",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNLinkAlbum",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "5a234e2d-9efd-336f-b26d-1f909cdb44be",
+                            "description": "Generated description for concept referred to by key \"VPNLinkAlbum:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNLinkCtxtActEvent",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNLinkCtxtActEvent",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "20fa2bc5-366a-3127-bbbf-c3408e30196d",
+                            "description": "Generated description for concept referred to by key \"VPNLinkCtxtActEvent:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNLinkCtxtActTask",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNLinkCtxtActTask",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "63d61114-538c-3c02-8bc6-d0214dc09824",
+                            "description": "Generated description for concept referred to by key \"VPNLinkCtxtActTask:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNLinkCtxtDecideEvent",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNLinkCtxtDecideEvent",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "42ecba03-b4cb-3a8f-8c0b-cc63da5eb28a",
+                            "description": "Generated description for concept referred to by key \"VPNLinkCtxtDecideEvent:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNLinkCtxtDecideTask",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNLinkCtxtDecideTask",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "ade15880-f26b-32fe-accc-58016cc8bdc5",
+                            "description": "Generated description for concept referred to by key \"VPNLinkCtxtDecideTask:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNLinkCtxtEstablishEvent",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNLinkCtxtEstablishEvent",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "6e10e999-4c93-34b2-8723-434a47e80d24",
+                            "description": "Generated description for concept referred to by key \"VPNLinkCtxtEstablishEvent:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNLinkCtxtEstablishTask",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNLinkCtxtEstablishTask",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "b3e9531b-162c-3b07-b47f-4013380e59e8",
+                            "description": "Generated description for concept referred to by key \"VPNLinkCtxtEstablishTask:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNLinkCtxtMatchEvent",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNLinkCtxtMatchEvent",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "fc2a579b-2424-3a20-9e48-b7fcc72259a7",
+                            "description": "Generated description for concept referred to by key \"VPNLinkCtxtMatchEvent:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNLinkCtxtMatchTask",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNLinkCtxtMatchTask",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "48c628d8-d660-37ec-8d24-c17c46ad3109",
+                            "description": "Generated description for concept referred to by key \"VPNLinkCtxtMatchTask:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNLinkCtxtPolicy",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNLinkCtxtPolicy",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "d3818863-91dc-3ed6-9087-c4cd76707003",
+                            "description": "Generated description for concept referred to by key \"VPNLinkCtxtPolicy:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNLinkCtxtTriggerEvent",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNLinkCtxtTriggerEvent",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "7af8f4e2-c662-3ccf-a77a-6dd2aafdd773",
+                            "description": "Generated description for concept referred to by key \"VPNLinkCtxtTriggerEvent:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNMatchEvent",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNMatchEvent",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "e9a25835-f032-3f6f-ae01-8b043cae3680",
+                            "description": "Generated description for concept referred to by key \"VPNMatchEvent:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNMatchTask",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNMatchTask",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "e5eb173b-18fd-34d2-924c-d4bc00979e86",
+                            "description": "Generated description for concept referred to by key \"VPNMatchTask:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNPolicies",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNPolicies",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "1b333371-46d0-3ae7-9da9-d2f7b3525fbc",
+                            "description": "Generated description for concept referred to by key \"VPNPolicies:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNPolicy",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNPolicy",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "5c1491a5-01ae-37cd-aa57-7aac775b6f56",
+                            "description": "Generated description for concept referred to by key \"VPNPolicy:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNPolicyModelAvro",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNPolicyModelAvro",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "52795d54-f668-3993-a5ab-ed754125c83a",
+                            "description": "Generated description for concept referred to by key \"VPNPolicyModelAvro:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNProblem",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNProblem",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "0bcf2824-9a3a-394b-981f-1b6b51982a9f",
+                            "description": "Generated description for concept referred to by key \"VPNProblem:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNProblemAlbum",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNProblemAlbum",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "ea4e8801-7391-3cb4-a93a-1dfd51ec392c",
+                            "description": "Generated description for concept referred to by key \"VPNProblemAlbum:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNTasks",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNTasks",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "26cae2a3-9eba-3b73-b91c-ef70806cf158",
+                            "description": "Generated description for concept referred to by key \"VPNTasks:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNTriggerEvent",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNTriggerEvent",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "61759db7-3539-307a-9310-9f3870dab1d6",
+                            "description": "Generated description for concept referred to by key \"VPNTriggerEvent:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "YtdDT",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "YtdDT",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "7bda6f7c-8469-3aea-a075-c1d4acc2a1c8",
+                            "description": "Generated description for concept referred to by key \"YtdDT:0.0.1\""
+                        }
+                    }
+                ]
+            }
+        },
+        "policies": {
+            "key": {
+                "name": "VPNPolicies",
+                "version": "0.0.1"
+            },
+            "policyMap": {
+                "entry": [
+                    {
+                        "key": {
+                            "name": "VPNCustomerCtxtPolicy",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "policyKey": {
+                                "name": "VPNCustomerCtxtPolicy",
+                                "version": "0.0.1"
+                            },
+                            "template": "MEDA",
+                            "state": {
+                                "entry": [
+                                    {
+                                        "key": "Act",
+                                        "value": {
+                                            "stateKey": {
+                                                "parentKeyName": "VPNCustomerCtxtPolicy",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Act"
+                                            },
+                                            "trigger": {
+                                                "name": "VPNCustomerCtxtDecideEvent",
+                                                "version": "0.0.1"
+                                            },
+                                            "stateOutputs": {
+                                                "entry": [
+                                                    {
+                                                        "key": "Act_NULL",
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "VPNCustomerCtxtPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Act",
+                                                                "localName": "Act_NULL"
+                                                            },
+                                                            "outgoingEvent": {
+                                                                "name": "VPNCustomerCtxtActEvent",
+                                                                "version": "0.0.1"
+                                                            },
+                                                            "nextState": {
+                                                                "parentKeyName": "NULL",
+                                                                "parentKeyVersion": "0.0.0",
+                                                                "parentLocalName": "NULL",
+                                                                "localName": "NULL"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            },
+                                            "contextAlbumReference": [],
+                                            "taskSelectionLogic": {
+                                                "key": "NULL",
+                                                "logicFlavour": "UNDEFINED",
+                                                "logic": ""
+                                            },
+                                            "stateFinalizerLogicMap": {
+                                                "entry": []
+                                            },
+                                            "defaultTask": {
+                                                "name": "VPNCustomerCtxtActTask",
+                                                "version": "0.0.1"
+                                            },
+                                            "taskReferences": {
+                                                "entry": [
+                                                    {
+                                                        "key": {
+                                                            "name": "VPNCustomerCtxtActTask",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "VPNCustomerCtxtPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Act",
+                                                                "localName": "VPNCustomerCtxtActTask_DIRECT_Act_NULL"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "VPNCustomerCtxtPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Act",
+                                                                "localName": "Act_NULL"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "Decide",
+                                        "value": {
+                                            "stateKey": {
+                                                "parentKeyName": "VPNCustomerCtxtPolicy",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Decide"
+                                            },
+                                            "trigger": {
+                                                "name": "VPNCustomerCtxtEstablishEvent",
+                                                "version": "0.0.1"
+                                            },
+                                            "stateOutputs": {
+                                                "entry": [
+                                                    {
+                                                        "key": "Decide_Act",
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "VPNCustomerCtxtPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Decide",
+                                                                "localName": "Decide_Act"
+                                                            },
+                                                            "outgoingEvent": {
+                                                                "name": "VPNCustomerCtxtDecideEvent",
+                                                                "version": "0.0.1"
+                                                            },
+                                                            "nextState": {
+                                                                "parentKeyName": "VPNCustomerCtxtPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "NULL",
+                                                                "localName": "Act"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            },
+                                            "contextAlbumReference": [],
+                                            "taskSelectionLogic": {
+                                                "key": "NULL",
+                                                "logicFlavour": "UNDEFINED",
+                                                "logic": ""
+                                            },
+                                            "stateFinalizerLogicMap": {
+                                                "entry": []
+                                            },
+                                            "defaultTask": {
+                                                "name": "VPNCustomerCtxtDecideTask",
+                                                "version": "0.0.1"
+                                            },
+                                            "taskReferences": {
+                                                "entry": [
+                                                    {
+                                                        "key": {
+                                                            "name": "VPNCustomerCtxtDecideTask",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "VPNCustomerCtxtPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Decide",
+                                                                "localName": "VPNCustomerCtxtDecideTask_DIRECT_Decide_Act"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "VPNCustomerCtxtPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Decide",
+                                                                "localName": "Decide_Act"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "Establish",
+                                        "value": {
+                                            "stateKey": {
+                                                "parentKeyName": "VPNCustomerCtxtPolicy",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Establish"
+                                            },
+                                            "trigger": {
+                                                "name": "VPNCustomerCtxtMatchEvent",
+                                                "version": "0.0.1"
+                                            },
+                                            "stateOutputs": {
+                                                "entry": [
+                                                    {
+                                                        "key": "Establish_Decide",
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "VPNCustomerCtxtPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Establish",
+                                                                "localName": "Establish_Decide"
+                                                            },
+                                                            "outgoingEvent": {
+                                                                "name": "VPNCustomerCtxtEstablishEvent",
+                                                                "version": "0.0.1"
+                                                            },
+                                                            "nextState": {
+                                                                "parentKeyName": "VPNCustomerCtxtPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "NULL",
+                                                                "localName": "Decide"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            },
+                                            "contextAlbumReference": [],
+                                            "taskSelectionLogic": {
+                                                "key": "NULL",
+                                                "logicFlavour": "UNDEFINED",
+                                                "logic": ""
+                                            },
+                                            "stateFinalizerLogicMap": {
+                                                "entry": []
+                                            },
+                                            "defaultTask": {
+                                                "name": "VPNCustomerCtxtEstablishTask",
+                                                "version": "0.0.1"
+                                            },
+                                            "taskReferences": {
+                                                "entry": [
+                                                    {
+                                                        "key": {
+                                                            "name": "VPNCustomerCtxtEstablishTask",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "VPNCustomerCtxtPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Establish",
+                                                                "localName": "VPNCustomerCtxtEstablishTask_DIRECT_Establish_Decide"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "VPNCustomerCtxtPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Establish",
+                                                                "localName": "Establish_Decide"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "Match",
+                                        "value": {
+                                            "stateKey": {
+                                                "parentKeyName": "VPNCustomerCtxtPolicy",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Match"
+                                            },
+                                            "trigger": {
+                                                "name": "VPNCustomerCtxtTriggerEvent",
+                                                "version": "0.0.1"
+                                            },
+                                            "stateOutputs": {
+                                                "entry": [
+                                                    {
+                                                        "key": "Match_Establish",
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "VPNCustomerCtxtPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Match",
+                                                                "localName": "Match_Establish"
+                                                            },
+                                                            "outgoingEvent": {
+                                                                "name": "VPNCustomerCtxtMatchEvent",
+                                                                "version": "0.0.1"
+                                                            },
+                                                            "nextState": {
+                                                                "parentKeyName": "VPNCustomerCtxtPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "NULL",
+                                                                "localName": "Establish"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            },
+                                            "contextAlbumReference": [],
+                                            "taskSelectionLogic": {
+                                                "key": "NULL",
+                                                "logicFlavour": "UNDEFINED",
+                                                "logic": ""
+                                            },
+                                            "stateFinalizerLogicMap": {
+                                                "entry": []
+                                            },
+                                            "defaultTask": {
+                                                "name": "VPNCustomerCtxtMatchTask",
+                                                "version": "0.0.1"
+                                            },
+                                            "taskReferences": {
+                                                "entry": [
+                                                    {
+                                                        "key": {
+                                                            "name": "VPNCustomerCtxtMatchTask",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "VPNCustomerCtxtPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Match",
+                                                                "localName": "VPNCustomerCtxtMatchTask_DIRECT_Match_Establish"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "VPNCustomerCtxtPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Match",
+                                                                "localName": "Match_Establish"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            }
+                                        }
+                                    }
+                                ]
+                            },
+                            "firstState": "Match"
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNLinkCtxtPolicy",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "policyKey": {
+                                "name": "VPNLinkCtxtPolicy",
+                                "version": "0.0.1"
+                            },
+                            "template": "MEDA",
+                            "state": {
+                                "entry": [
+                                    {
+                                        "key": "Act",
+                                        "value": {
+                                            "stateKey": {
+                                                "parentKeyName": "VPNLinkCtxtPolicy",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Act"
+                                            },
+                                            "trigger": {
+                                                "name": "VPNLinkCtxtDecideEvent",
+                                                "version": "0.0.1"
+                                            },
+                                            "stateOutputs": {
+                                                "entry": [
+                                                    {
+                                                        "key": "Act_NULL",
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "VPNLinkCtxtPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Act",
+                                                                "localName": "Act_NULL"
+                                                            },
+                                                            "outgoingEvent": {
+                                                                "name": "VPNLinkCtxtActEvent",
+                                                                "version": "0.0.1"
+                                                            },
+                                                            "nextState": {
+                                                                "parentKeyName": "NULL",
+                                                                "parentKeyVersion": "0.0.0",
+                                                                "parentLocalName": "NULL",
+                                                                "localName": "NULL"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            },
+                                            "contextAlbumReference": [],
+                                            "taskSelectionLogic": {
+                                                "key": "NULL",
+                                                "logicFlavour": "UNDEFINED",
+                                                "logic": ""
+                                            },
+                                            "stateFinalizerLogicMap": {
+                                                "entry": []
+                                            },
+                                            "defaultTask": {
+                                                "name": "VPNLinkCtxtActTask",
+                                                "version": "0.0.1"
+                                            },
+                                            "taskReferences": {
+                                                "entry": [
+                                                    {
+                                                        "key": {
+                                                            "name": "VPNLinkCtxtActTask",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "VPNLinkCtxtPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Act",
+                                                                "localName": "VPNLinkCtxtActTask_DIRECT_Act_NULL"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "VPNLinkCtxtPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Act",
+                                                                "localName": "Act_NULL"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "Decide",
+                                        "value": {
+                                            "stateKey": {
+                                                "parentKeyName": "VPNLinkCtxtPolicy",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Decide"
+                                            },
+                                            "trigger": {
+                                                "name": "VPNLinkCtxtEstablishEvent",
+                                                "version": "0.0.1"
+                                            },
+                                            "stateOutputs": {
+                                                "entry": [
+                                                    {
+                                                        "key": "Decide_Act",
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "VPNLinkCtxtPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Decide",
+                                                                "localName": "Decide_Act"
+                                                            },
+                                                            "outgoingEvent": {
+                                                                "name": "VPNLinkCtxtDecideEvent",
+                                                                "version": "0.0.1"
+                                                            },
+                                                            "nextState": {
+                                                                "parentKeyName": "VPNLinkCtxtPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "NULL",
+                                                                "localName": "Act"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            },
+                                            "contextAlbumReference": [],
+                                            "taskSelectionLogic": {
+                                                "key": "NULL",
+                                                "logicFlavour": "UNDEFINED",
+                                                "logic": ""
+                                            },
+                                            "stateFinalizerLogicMap": {
+                                                "entry": []
+                                            },
+                                            "defaultTask": {
+                                                "name": "VPNLinkCtxtDecideTask",
+                                                "version": "0.0.1"
+                                            },
+                                            "taskReferences": {
+                                                "entry": [
+                                                    {
+                                                        "key": {
+                                                            "name": "VPNLinkCtxtDecideTask",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "VPNLinkCtxtPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Decide",
+                                                                "localName": "VPNLinkCtxtDecideTask_DIRECT_Decide_Act"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "VPNLinkCtxtPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Decide",
+                                                                "localName": "Decide_Act"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "Establish",
+                                        "value": {
+                                            "stateKey": {
+                                                "parentKeyName": "VPNLinkCtxtPolicy",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Establish"
+                                            },
+                                            "trigger": {
+                                                "name": "VPNLinkCtxtMatchEvent",
+                                                "version": "0.0.1"
+                                            },
+                                            "stateOutputs": {
+                                                "entry": [
+                                                    {
+                                                        "key": "Establish_Decide",
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "VPNLinkCtxtPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Establish",
+                                                                "localName": "Establish_Decide"
+                                                            },
+                                                            "outgoingEvent": {
+                                                                "name": "VPNLinkCtxtEstablishEvent",
+                                                                "version": "0.0.1"
+                                                            },
+                                                            "nextState": {
+                                                                "parentKeyName": "VPNLinkCtxtPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "NULL",
+                                                                "localName": "Decide"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            },
+                                            "contextAlbumReference": [],
+                                            "taskSelectionLogic": {
+                                                "key": "NULL",
+                                                "logicFlavour": "UNDEFINED",
+                                                "logic": ""
+                                            },
+                                            "stateFinalizerLogicMap": {
+                                                "entry": []
+                                            },
+                                            "defaultTask": {
+                                                "name": "VPNLinkCtxtEstablishTask",
+                                                "version": "0.0.1"
+                                            },
+                                            "taskReferences": {
+                                                "entry": [
+                                                    {
+                                                        "key": {
+                                                            "name": "VPNLinkCtxtEstablishTask",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "VPNLinkCtxtPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Establish",
+                                                                "localName": "VPNLinkCtxtEstablishTask_DIRECT_Establish_Decide"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "VPNLinkCtxtPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Establish",
+                                                                "localName": "Establish_Decide"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "Match",
+                                        "value": {
+                                            "stateKey": {
+                                                "parentKeyName": "VPNLinkCtxtPolicy",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Match"
+                                            },
+                                            "trigger": {
+                                                "name": "VPNLinkCtxtTriggerEvent",
+                                                "version": "0.0.1"
+                                            },
+                                            "stateOutputs": {
+                                                "entry": [
+                                                    {
+                                                        "key": "Match_Establish",
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "VPNLinkCtxtPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Match",
+                                                                "localName": "Match_Establish"
+                                                            },
+                                                            "outgoingEvent": {
+                                                                "name": "VPNLinkCtxtMatchEvent",
+                                                                "version": "0.0.1"
+                                                            },
+                                                            "nextState": {
+                                                                "parentKeyName": "VPNLinkCtxtPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "NULL",
+                                                                "localName": "Establish"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            },
+                                            "contextAlbumReference": [],
+                                            "taskSelectionLogic": {
+                                                "key": "NULL",
+                                                "logicFlavour": "UNDEFINED",
+                                                "logic": ""
+                                            },
+                                            "stateFinalizerLogicMap": {
+                                                "entry": []
+                                            },
+                                            "defaultTask": {
+                                                "name": "VPNLinkCtxtMatchTask",
+                                                "version": "0.0.1"
+                                            },
+                                            "taskReferences": {
+                                                "entry": [
+                                                    {
+                                                        "key": {
+                                                            "name": "VPNLinkCtxtMatchTask",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "VPNLinkCtxtPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Match",
+                                                                "localName": "VPNLinkCtxtMatchTask_DIRECT_Match_Establish"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "VPNLinkCtxtPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Match",
+                                                                "localName": "Match_Establish"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            }
+                                        }
+                                    }
+                                ]
+                            },
+                            "firstState": "Match"
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNPolicy",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "policyKey": {
+                                "name": "VPNPolicy",
+                                "version": "0.0.1"
+                            },
+                            "template": "MEDA",
+                            "state": {
+                                "entry": [
+                                    {
+                                        "key": "Act",
+                                        "value": {
+                                            "stateKey": {
+                                                "parentKeyName": "VPNPolicy",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Act"
+                                            },
+                                            "trigger": {
+                                                "name": "VPNDecideEvent",
+                                                "version": "0.0.1"
+                                            },
+                                            "stateOutputs": {
+                                                "entry": [
+                                                    {
+                                                        "key": "Act_NULL",
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "VPNPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Act",
+                                                                "localName": "Act_NULL"
+                                                            },
+                                                            "outgoingEvent": {
+                                                                "name": "VPNActEvent",
+                                                                "version": "0.0.1"
+                                                            },
+                                                            "nextState": {
+                                                                "parentKeyName": "NULL",
+                                                                "parentKeyVersion": "0.0.0",
+                                                                "parentLocalName": "NULL",
+                                                                "localName": "NULL"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            },
+                                            "contextAlbumReference": [],
+                                            "taskSelectionLogic": {
+                                                "key": "TaskSelectionLogic",
+                                                "logicFlavour": "MVEL",
+                                                "logic": "logger.debug(subject.id + \":\" + subject.stateName);\nsubject.defaultTaskKey.copyTo(selectedTask)\nlogger.debug(subject.id + \":\" + subject.stateName + \", using default task\" + subject.defaultTaskKey);\nreturn true;"
+                                            },
+                                            "stateFinalizerLogicMap": {
+                                                "entry": []
+                                            },
+                                            "defaultTask": {
+                                                "name": "VPNActTask",
+                                                "version": "0.0.1"
+                                            },
+                                            "taskReferences": {
+                                                "entry": [
+                                                    {
+                                                        "key": {
+                                                            "name": "VPNActTask",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "VPNPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Act",
+                                                                "localName": "VPNActTask_DIRECT_Act_NULL"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "VPNPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Act",
+                                                                "localName": "Act_NULL"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "Decide",
+                                        "value": {
+                                            "stateKey": {
+                                                "parentKeyName": "VPNPolicy",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Decide"
+                                            },
+                                            "trigger": {
+                                                "name": "VPNEstablishEvent",
+                                                "version": "0.0.1"
+                                            },
+                                            "stateOutputs": {
+                                                "entry": [
+                                                    {
+                                                        "key": "Decide_Act",
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "VPNPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Decide",
+                                                                "localName": "Decide_Act"
+                                                            },
+                                                            "outgoingEvent": {
+                                                                "name": "VPNDecideEvent",
+                                                                "version": "0.0.1"
+                                                            },
+                                                            "nextState": {
+                                                                "parentKeyName": "VPNPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "NULL",
+                                                                "localName": "Act"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            },
+                                            "contextAlbumReference": [],
+                                            "taskSelectionLogic": {
+                                                "key": "TaskSelectionLogic",
+                                                "logicFlavour": "MVEL",
+                                                "logic": "logger.debug(subject.id + \":\" + subject.stateName);\nlogger.debug(inFields);\n\nString incomingLink = inFields[\"Link\"];\nString incomingProblemStatus = inFields[\"ProblemStatus\"];\n\n/* 0 label=VPNDecideTask */\n\nif (incomingLink.equals(\"L09\") && incomingProblemStatus.equals(\"NEWPROBLEM\")) {\n\tSystem.err.println(\"l9 NEWPROBLEM\");\n\tsubject.getTaskKey(\"VPNDecideSLATask\").copyTo(selectedTask);\n\treturn true;\n}\nelse if (incomingLink.equals(\"L09\") && inFields[\"ProblemStatus\"].equals(\"NEWSOLVED\")) {\n\tSystem.err.println(\"l9 NEWSOLVED\");\n\tsubject.getTaskKey(\"VPNDecideSolvedTask\").copyTo(selectedTask);\n\treturn true;\n}\nelse if (incomingLink.equals(\"L10\") && incomingProblemStatus.equals(\"NEWPROBLEM\")) {\n\tSystem.err.println(\"l10 NEWPROBLEM\");\n\tsubject.getTaskKey(\"VPNDecidePriorityTask\").copyTo(selectedTask);\n\treturn true;\n}\nelse if (incomingLink.equals(\"L10\") && incomingProblemStatus.equals(\"NEWSOLVED\")) {\n\tSystem.err.println(\"l10 NEWSOLVED\");\n\tsubject.getTaskKey(\"VPNDecideSolvedTask\").copyTo(selectedTask);\n\treturn true;\n}\nelse {\n\tsubject.defaultTaskKey.copyTo(selectedTask);\n\treturn true;\n}"
+                                            },
+                                            "stateFinalizerLogicMap": {
+                                                "entry": []
+                                            },
+                                            "defaultTask": {
+                                                "name": "VPNDecideTask",
+                                                "version": "0.0.1"
+                                            },
+                                            "taskReferences": {
+                                                "entry": [
+                                                    {
+                                                        "key": {
+                                                            "name": "VPNDecidePriorityTask",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "VPNPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Decide",
+                                                                "localName": "VPNDecidePriorityTask_DIRECT_Decide_Act"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "VPNPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Decide",
+                                                                "localName": "Decide_Act"
+                                                            }
+                                                        }
+                                                    },
+                                                    {
+                                                        "key": {
+                                                            "name": "VPNDecideSLATask",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "VPNPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Decide",
+                                                                "localName": "VPNDecideSLATask_DIRECT_Decide_Act"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "VPNPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Decide",
+                                                                "localName": "Decide_Act"
+                                                            }
+                                                        }
+                                                    },
+                                                    {
+                                                        "key": {
+                                                            "name": "VPNDecideSolvedTask",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "VPNPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Decide",
+                                                                "localName": "VPNDecideSolvedTask_DIRECT_Decide_Act"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "VPNPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Decide",
+                                                                "localName": "Decide_Act"
+                                                            }
+                                                        }
+                                                    },
+                                                    {
+                                                        "key": {
+                                                            "name": "VPNDecideTask",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "VPNPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Decide",
+                                                                "localName": "VPNDecideTask_DIRECT_Decide_Act"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "VPNPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Decide",
+                                                                "localName": "Decide_Act"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "Establish",
+                                        "value": {
+                                            "stateKey": {
+                                                "parentKeyName": "VPNPolicy",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Establish"
+                                            },
+                                            "trigger": {
+                                                "name": "VPNMatchEvent",
+                                                "version": "0.0.1"
+                                            },
+                                            "stateOutputs": {
+                                                "entry": [
+                                                    {
+                                                        "key": "Establish_Decide",
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "VPNPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Establish",
+                                                                "localName": "Establish_Decide"
+                                                            },
+                                                            "outgoingEvent": {
+                                                                "name": "VPNEstablishEvent",
+                                                                "version": "0.0.1"
+                                                            },
+                                                            "nextState": {
+                                                                "parentKeyName": "VPNPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "NULL",
+                                                                "localName": "Decide"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            },
+                                            "contextAlbumReference": [],
+                                            "taskSelectionLogic": {
+                                                "key": "TaskSelectionLogic",
+                                                "logicFlavour": "MVEL",
+                                                "logic": "logger.debug(subject.id + \":\" + subject.stateName);\nsubject.defaultTaskKey.copyTo(selectedTask)\nlogger.debug(subject.id + \":\" + subject.stateName + \", using default task\" + subject.defaultTaskKey);\nreturn true;"
+                                            },
+                                            "stateFinalizerLogicMap": {
+                                                "entry": []
+                                            },
+                                            "defaultTask": {
+                                                "name": "VPNEstablishTask",
+                                                "version": "0.0.1"
+                                            },
+                                            "taskReferences": {
+                                                "entry": [
+                                                    {
+                                                        "key": {
+                                                            "name": "VPNEstablishTask",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "VPNPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Establish",
+                                                                "localName": "VPNEstablishTask_DIRECT_Establish_Decide"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "VPNPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Establish",
+                                                                "localName": "Establish_Decide"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "Match",
+                                        "value": {
+                                            "stateKey": {
+                                                "parentKeyName": "VPNPolicy",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Match"
+                                            },
+                                            "trigger": {
+                                                "name": "VPNTriggerEvent",
+                                                "version": "0.0.1"
+                                            },
+                                            "stateOutputs": {
+                                                "entry": [
+                                                    {
+                                                        "key": "Match_Establish",
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "VPNPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Match",
+                                                                "localName": "Match_Establish"
+                                                            },
+                                                            "outgoingEvent": {
+                                                                "name": "VPNMatchEvent",
+                                                                "version": "0.0.1"
+                                                            },
+                                                            "nextState": {
+                                                                "parentKeyName": "VPNPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "NULL",
+                                                                "localName": "Establish"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            },
+                                            "contextAlbumReference": [],
+                                            "taskSelectionLogic": {
+                                                "key": "TaskSelectionLogic",
+                                                "logicFlavour": "MVEL",
+                                                "logic": "logger.debug(subject.id + \":\" + subject.stateName);\nsubject.defaultTaskKey.copyTo(selectedTask)\nlogger.debug(subject.id + \":\" + subject.stateName + \", using default task\" + subject.defaultTaskKey);\nreturn true;"
+                                            },
+                                            "stateFinalizerLogicMap": {
+                                                "entry": []
+                                            },
+                                            "defaultTask": {
+                                                "name": "VPNMatchTask",
+                                                "version": "0.0.1"
+                                            },
+                                            "taskReferences": {
+                                                "entry": [
+                                                    {
+                                                        "key": {
+                                                            "name": "VPNMatchTask",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "VPNPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Match",
+                                                                "localName": "VPNMatchTask_DIRECT_Match_Establish"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "VPNPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Match",
+                                                                "localName": "Match_Establish"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            }
+                                        }
+                                    }
+                                ]
+                            },
+                            "firstState": "Match"
+                        }
+                    }
+                ]
+            }
+        },
+        "tasks": {
+            "key": {
+                "name": "VPNTasks",
+                "version": "0.0.1"
+            },
+            "taskMap": {
+                "entry": [
+                    {
+                        "key": {
+                            "name": "VPNActTask",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNActTask",
+                                "version": "0.0.1"
+                            },
+                            "inputFields": {
+                                "entry": [
+                                    {
+                                        "key": "Action",
+                                        "value": {
+                                            "key": "Action",
+                                            "fieldSchemaKey": {
+                                                "name": "Action",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "AffectedCustomers",
+                                        "value": {
+                                            "key": "AffectedCustomers",
+                                            "fieldSchemaKey": {
+                                                "name": "AffectedCustomers",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "Link",
+                                        "value": {
+                                            "key": "Link",
+                                            "fieldSchemaKey": {
+                                                "name": "Link",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "ProblemStatus",
+                                        "value": {
+                                            "key": "ProblemStatus",
+                                            "fieldSchemaKey": {
+                                                "name": "ProblemStatus",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "outputFields": {
+                                "entry": [
+                                    {
+                                        "key": "CustomerMap",
+                                        "value": {
+                                            "key": "CustomerMap",
+                                            "fieldSchemaKey": {
+                                                "name": "CustomerMap",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "LinkMap",
+                                        "value": {
+                                            "key": "LinkMap",
+                                            "fieldSchemaKey": {
+                                                "name": "LinkMap",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "taskParameters": {
+                                "entry": []
+                            },
+                            "contextAlbumReference": [
+                                {
+                                    "name": "VPNCustomerAlbum",
+                                    "version": "0.0.1"
+                                },
+                                {
+                                    "name": "VPNLinkAlbum",
+                                    "version": "0.0.1"
+                                },
+                                {
+                                    "name": "VPNProblemAlbum",
+                                    "version": "0.0.1"
+                                }
+                            ],
+                            "taskLogic": {
+                                "key": "TaskLogic",
+                                "logicFlavour": "MVEL",
+                                "logic": "import java.util.HashMap;\nimport org.apache.avro.generic.GenericRecord;\n\nlogger.debug(subject.id + \":\" + subject.taskName);\n\nSystem.err.println(inFields);\nlogger.debug(subject.id);\n\nSystem.err.println(\"*** Links ***\");\nfor (GenericRecord link: getContextAlbum(\"VPNLinkAlbum\").values()) {\n    System.err.println(link.get(\"linkName\") + \"\\t\" + link.get(\"active\"));\n}\n\nSystem.err.println(\"*** Customers ***\");\nfor (GenericRecord customer: getContextAlbum(\"VPNCustomerAlbum\").values()) {\n    System.err.println(\n    \t       customer.get(\"customerName\")  + \"\\t\" +\n\t\t       customer.get(\"slaDT\") + \"\\t\" +\n\t\t       customer.get(\"ytdDT\") + \"\\t\" + \n\t\t       customer.get(\"linksInUse\"));\n}\n\nHashMap linkMap = subject.getOutFieldSchemaHelper(\"LinkMap\").createNewInstance();\nlinkMap.putAll(getContextAlbum(\"VPNLinkAlbum\"));\noutFields[\"LinkMap\"] = linkMap;\n\nHashMap customerMap = subject.getOutFieldSchemaHelper(\"CustomerMap\").createNewInstance();\ncustomerMap.putAll(getContextAlbum(\"VPNCustomerAlbum\"));\noutFields[\"CustomerMap\"] = customerMap;\n\nSystem.err.println(\"outFields: \" + outFields);\n\nreturn true;"
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNCustomerCtxtActTask",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNCustomerCtxtActTask",
+                                "version": "0.0.1"
+                            },
+                            "inputFields": {
+                                "entry": [
+                                    {
+                                        "key": "CustomerName",
+                                        "value": {
+                                            "key": "CustomerName",
+                                            "fieldSchemaKey": {
+                                                "name": "CustomerName",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "LinkList",
+                                        "value": {
+                                            "key": "LinkList",
+                                            "fieldSchemaKey": {
+                                                "name": "LinkList",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "SlaDT",
+                                        "value": {
+                                            "key": "SlaDT",
+                                            "fieldSchemaKey": {
+                                                "name": "SlaDT",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "YtdDT",
+                                        "value": {
+                                            "key": "YtdDT",
+                                            "fieldSchemaKey": {
+                                                "name": "YtdDT",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "outputFields": {
+                                "entry": [
+                                    {
+                                        "key": "CustomerName",
+                                        "value": {
+                                            "key": "CustomerName",
+                                            "fieldSchemaKey": {
+                                                "name": "CustomerName",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "LinkList",
+                                        "value": {
+                                            "key": "LinkList",
+                                            "fieldSchemaKey": {
+                                                "name": "LinkList",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "SlaDT",
+                                        "value": {
+                                            "key": "SlaDT",
+                                            "fieldSchemaKey": {
+                                                "name": "SlaDT",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "YtdDT",
+                                        "value": {
+                                            "key": "YtdDT",
+                                            "fieldSchemaKey": {
+                                                "name": "YtdDT",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "taskParameters": {
+                                "entry": []
+                            },
+                            "contextAlbumReference": [
+                                {
+                                    "name": "VPNCustomerAlbum",
+                                    "version": "0.0.1"
+                                },
+                                {
+                                    "name": "VPNLinkAlbum",
+                                    "version": "0.0.1"
+                                }
+                            ],
+                            "taskLogic": {
+                                "key": "TaskLogic",
+                                "logicFlavour": "MVEL",
+                                "logic": "import org.apache.avro.generic.GenericData.Array;\nimport org.apache.avro.generic.GenericRecord;\nimport org.apache.avro.Schema;\n\nlogger.debug(subject.id);\nSystem.err.println(inFields);\n\nString vpnCustomerName = inFields[\"CustomerName\"];\nGenericRecord vpnCustomer = getContextAlbum(\"VPNCustomerAlbum\").get(vpnCustomerName);\nif (vpnCustomer == null) {\n\tvpnCustomer = getContextAlbum(\"VPNCustomerAlbum\").getSchemaHelper.createNewInstance();\n\tvpnCustomer.put(\"customerName\", vpnCustomerName)\n\tvpnCustomer.put(\"slaDT\",      0);\n\tvpnCustomer.put(\"ytdDT\",      0);\n\tvpnCustomer.put(\"linksInUse\", new Array(0, Schema.createArray(vpnCustomer.getSchema().getField(\"linksInUse\").schema())));\n}\nvpnCustomer.put(\"slaDT\", inFields[\"SlaDT\"]);\nvpnCustomer.put(\"ytdDT\", inFields[\"YtdDT\"]);\n\nfor (String usedLinkName: inFields[\"LinkList\"].split(\" \")) {\n\tGenericRecord vpnLink = getContextAlbum(\"VPNLinkAlbum\").get(usedLinkName);\n\tif (vpnLink != null) {\n\t\tvpnCustomer.get(\"linksInUse\").add(vpnLink.get(\"linkName\"));\n\t}\n\telse {\n\t\tSystem.err.println(\"unknown link \\\"\" + usedLinkName + \"\\\" specified on customer \\\"\" + vpnCustomerName + \"\\\"\");\n\t}\n}\n\ngetContextAlbum(\"VPNCustomerAlbum\").put(vpnCustomer.get(\"customerName\"), vpnCustomer);\n\nSystem.err.println(\"*** Customers ***\");\nfor (GenericRecord customer: getContextAlbum(\"VPNCustomerAlbum\").values()) {\n\tSystem.err.println(\n\t\t\tcustomer.get(\"customerName\")  + \"\\t\" +\n\t\t\tcustomer.get(\"slaDT\") + \"\\t\" +\n\t\t\tcustomer.get(\"ytdDT\") + \"\\t\" + \n\t\t\tcustomer.get(\"linksInUse\"));\n}\n\nString outLinkList = \"\";\nfor (String link : vpnCustomer.get(\"linksInUse\")) {\n\toutLinkList += link + \" \";\n}\n\noutFields[\"CustomerName\"] = vpnCustomer.get(\"customerName\");\noutFields[\"LinkList\"]     = outLinkList.trim();\noutFields[\"SlaDT\"]        = vpnCustomer.get(\"slaDT\");\noutFields[\"YtdDT\"]        = vpnCustomer.get(\"ytdDT\");\n\nSystem.err.println(\"outFields: \" + outFields);\n\nreturn true;"
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNCustomerCtxtDecideTask",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNCustomerCtxtDecideTask",
+                                "version": "0.0.1"
+                            },
+                            "inputFields": {
+                                "entry": [
+                                    {
+                                        "key": "CustomerName",
+                                        "value": {
+                                            "key": "CustomerName",
+                                            "fieldSchemaKey": {
+                                                "name": "CustomerName",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "LinkList",
+                                        "value": {
+                                            "key": "LinkList",
+                                            "fieldSchemaKey": {
+                                                "name": "LinkList",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "SlaDT",
+                                        "value": {
+                                            "key": "SlaDT",
+                                            "fieldSchemaKey": {
+                                                "name": "SlaDT",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "YtdDT",
+                                        "value": {
+                                            "key": "YtdDT",
+                                            "fieldSchemaKey": {
+                                                "name": "YtdDT",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "outputFields": {
+                                "entry": [
+                                    {
+                                        "key": "CustomerName",
+                                        "value": {
+                                            "key": "CustomerName",
+                                            "fieldSchemaKey": {
+                                                "name": "CustomerName",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "LinkList",
+                                        "value": {
+                                            "key": "LinkList",
+                                            "fieldSchemaKey": {
+                                                "name": "LinkList",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "SlaDT",
+                                        "value": {
+                                            "key": "SlaDT",
+                                            "fieldSchemaKey": {
+                                                "name": "SlaDT",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "YtdDT",
+                                        "value": {
+                                            "key": "YtdDT",
+                                            "fieldSchemaKey": {
+                                                "name": "YtdDT",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "taskParameters": {
+                                "entry": []
+                            },
+                            "contextAlbumReference": [],
+                            "taskLogic": {
+                                "key": "TaskLogic",
+                                "logicFlavour": "MVEL",
+                                "logic": "logger.debug(subject.id + \":\" + subject.taskName);\nlogger.debug(inFields);\nlogger.debug(outFields);\n\nreturn true;"
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNCustomerCtxtEstablishTask",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNCustomerCtxtEstablishTask",
+                                "version": "0.0.1"
+                            },
+                            "inputFields": {
+                                "entry": [
+                                    {
+                                        "key": "CustomerName",
+                                        "value": {
+                                            "key": "CustomerName",
+                                            "fieldSchemaKey": {
+                                                "name": "CustomerName",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "LinkList",
+                                        "value": {
+                                            "key": "LinkList",
+                                            "fieldSchemaKey": {
+                                                "name": "LinkList",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "SlaDT",
+                                        "value": {
+                                            "key": "SlaDT",
+                                            "fieldSchemaKey": {
+                                                "name": "SlaDT",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "YtdDT",
+                                        "value": {
+                                            "key": "YtdDT",
+                                            "fieldSchemaKey": {
+                                                "name": "YtdDT",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "outputFields": {
+                                "entry": [
+                                    {
+                                        "key": "CustomerName",
+                                        "value": {
+                                            "key": "CustomerName",
+                                            "fieldSchemaKey": {
+                                                "name": "CustomerName",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "LinkList",
+                                        "value": {
+                                            "key": "LinkList",
+                                            "fieldSchemaKey": {
+                                                "name": "LinkList",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "SlaDT",
+                                        "value": {
+                                            "key": "SlaDT",
+                                            "fieldSchemaKey": {
+                                                "name": "SlaDT",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "YtdDT",
+                                        "value": {
+                                            "key": "YtdDT",
+                                            "fieldSchemaKey": {
+                                                "name": "YtdDT",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "taskParameters": {
+                                "entry": []
+                            },
+                            "contextAlbumReference": [],
+                            "taskLogic": {
+                                "key": "TaskLogic",
+                                "logicFlavour": "MVEL",
+                                "logic": "logger.debug(subject.id + \":\" + subject.taskName);\nlogger.debug(inFields);\nlogger.debug(outFields);\n\nreturn true;"
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNCustomerCtxtMatchTask",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNCustomerCtxtMatchTask",
+                                "version": "0.0.1"
+                            },
+                            "inputFields": {
+                                "entry": [
+                                    {
+                                        "key": "CustomerName",
+                                        "value": {
+                                            "key": "CustomerName",
+                                            "fieldSchemaKey": {
+                                                "name": "CustomerName",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "LinkList",
+                                        "value": {
+                                            "key": "LinkList",
+                                            "fieldSchemaKey": {
+                                                "name": "LinkList",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "SlaDT",
+                                        "value": {
+                                            "key": "SlaDT",
+                                            "fieldSchemaKey": {
+                                                "name": "SlaDT",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "YtdDT",
+                                        "value": {
+                                            "key": "YtdDT",
+                                            "fieldSchemaKey": {
+                                                "name": "YtdDT",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "outputFields": {
+                                "entry": [
+                                    {
+                                        "key": "CustomerName",
+                                        "value": {
+                                            "key": "CustomerName",
+                                            "fieldSchemaKey": {
+                                                "name": "CustomerName",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "LinkList",
+                                        "value": {
+                                            "key": "LinkList",
+                                            "fieldSchemaKey": {
+                                                "name": "LinkList",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "SlaDT",
+                                        "value": {
+                                            "key": "SlaDT",
+                                            "fieldSchemaKey": {
+                                                "name": "SlaDT",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "YtdDT",
+                                        "value": {
+                                            "key": "YtdDT",
+                                            "fieldSchemaKey": {
+                                                "name": "YtdDT",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "taskParameters": {
+                                "entry": []
+                            },
+                            "contextAlbumReference": [],
+                            "taskLogic": {
+                                "key": "TaskLogic",
+                                "logicFlavour": "MVEL",
+                                "logic": "logger.debug(subject.id + \":\" + subject.taskName);\nlogger.debug(inFields);\nlogger.debug(outFields);\n\nreturn true;"
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNDecidePriorityTask",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNDecidePriorityTask",
+                                "version": "0.0.1"
+                            },
+                            "inputFields": {
+                                "entry": [
+                                    {
+                                        "key": "AffectedCustomers",
+                                        "value": {
+                                            "key": "AffectedCustomers",
+                                            "fieldSchemaKey": {
+                                                "name": "AffectedCustomers",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "Link",
+                                        "value": {
+                                            "key": "Link",
+                                            "fieldSchemaKey": {
+                                                "name": "Link",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "ProblemStatus",
+                                        "value": {
+                                            "key": "ProblemStatus",
+                                            "fieldSchemaKey": {
+                                                "name": "ProblemStatus",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "outputFields": {
+                                "entry": [
+                                    {
+                                        "key": "Action",
+                                        "value": {
+                                            "key": "Action",
+                                            "fieldSchemaKey": {
+                                                "name": "Action",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "AffectedCustomers",
+                                        "value": {
+                                            "key": "AffectedCustomers",
+                                            "fieldSchemaKey": {
+                                                "name": "AffectedCustomers",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "Link",
+                                        "value": {
+                                            "key": "Link",
+                                            "fieldSchemaKey": {
+                                                "name": "Link",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "ProblemStatus",
+                                        "value": {
+                                            "key": "ProblemStatus",
+                                            "fieldSchemaKey": {
+                                                "name": "ProblemStatus",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "taskParameters": {
+                                "entry": []
+                            },
+                            "contextAlbumReference": [
+                                {
+                                    "name": "VPNCustomerAlbum",
+                                    "version": "0.0.1"
+                                },
+                                {
+                                    "name": "VPNLinkAlbum",
+                                    "version": "0.0.1"
+                                },
+                                {
+                                    "name": "VPNProblemAlbum",
+                                    "version": "0.0.1"
+                                }
+                            ],
+                            "taskLogic": {
+                                "key": "TaskLogic",
+                                "logicFlavour": "MVEL",
+                                "logic": "import org.apache.avro.generic.GenericRecord;\n\nlogger.debug(subject.id + \":\" + subject.taskName);\n\nlogger.debug(\"VPNDecidePriorityTask execution logic-Praveen\");\nlogger.debug(inFields);\noutFields[\"Link\"] = inFields[\"Link\"];\noutFields[\"Action\"] = \"Disconnect customers based on Priority\";\n\nArray affectedCustomersArray = subject.getOutFieldSchemaHelper(\"AffectedCustomers\").createNewInstance();\naffectedCustomersArray.add(\"A\");\noutFields[\"AffectedCustomers\"] = affectedCustomersArray;\n\nSystem.err.println(\"outFields: \" + outFields);\n\nreturn true;"
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNDecideSLATask",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNDecideSLATask",
+                                "version": "0.0.1"
+                            },
+                            "inputFields": {
+                                "entry": [
+                                    {
+                                        "key": "AffectedCustomers",
+                                        "value": {
+                                            "key": "AffectedCustomers",
+                                            "fieldSchemaKey": {
+                                                "name": "AffectedCustomers",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "Link",
+                                        "value": {
+                                            "key": "Link",
+                                            "fieldSchemaKey": {
+                                                "name": "Link",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "ProblemStatus",
+                                        "value": {
+                                            "key": "ProblemStatus",
+                                            "fieldSchemaKey": {
+                                                "name": "ProblemStatus",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "outputFields": {
+                                "entry": [
+                                    {
+                                        "key": "Action",
+                                        "value": {
+                                            "key": "Action",
+                                            "fieldSchemaKey": {
+                                                "name": "Action",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "AffectedCustomers",
+                                        "value": {
+                                            "key": "AffectedCustomers",
+                                            "fieldSchemaKey": {
+                                                "name": "AffectedCustomers",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "Link",
+                                        "value": {
+                                            "key": "Link",
+                                            "fieldSchemaKey": {
+                                                "name": "Link",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "ProblemStatus",
+                                        "value": {
+                                            "key": "ProblemStatus",
+                                            "fieldSchemaKey": {
+                                                "name": "ProblemStatus",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "taskParameters": {
+                                "entry": []
+                            },
+                            "contextAlbumReference": [
+                                {
+                                    "name": "VPNCustomerAlbum",
+                                    "version": "0.0.1"
+                                },
+                                {
+                                    "name": "VPNLinkAlbum",
+                                    "version": "0.0.1"
+                                },
+                                {
+                                    "name": "VPNProblemAlbum",
+                                    "version": "0.0.1"
+                                }
+                            ],
+                            "taskLogic": {
+                                "key": "TaskLogic",
+                                "logicFlavour": "MVEL",
+                                "logic": "import org.apache.avro.generic.GenericData.Array;\nimport org.apache.avro.generic.GenericRecord;\n\nlogger.debug(subject.id + \":\" + subject.taskName);\n\nSystem.err.println(inFields);\n\noutFields[\"Link\"] = inFields[\"Link\"];\noutFields[\"Action\"] = \"Disconnect customers based on SLA Agreement\";\n\nArray slaViolatedCustomerArray = subject.getOutFieldSchemaHelper(\"AffectedCustomers\").createNewInstance();\n\nSystem.err.println(\"cust\\tslaDT\\tytdDT\");\nfor (GenericRecord customer: getContextAlbum(\"VPNCustomerAlbum\").values()) {\n\tSystem.err.println(customer.get(\"customerName\") + \"\\t\" + customer.get(\"slaDT\") + \"\\t\" + customer.get(\"ytdDT\"));\n\n\tif (customer.get(\"ytdDT\") > customer.get(\"slaDT\")) {\n\t\tslaViolatedCustomerArray.add(customer.get(\"customerName\"));\n\t}\n}\n\nSystem.err.println(\"Customers whose SLAs are violated are:\" + slaViolatedCustomerArray);\n\noutFields[\"AffectedCustomers\"] = slaViolatedCustomerArray;\n\nSystem.err.println(\"outFields: \" + outFields);\n\nreturn true;"
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNDecideSolvedTask",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNDecideSolvedTask",
+                                "version": "0.0.1"
+                            },
+                            "inputFields": {
+                                "entry": [
+                                    {
+                                        "key": "AffectedCustomers",
+                                        "value": {
+                                            "key": "AffectedCustomers",
+                                            "fieldSchemaKey": {
+                                                "name": "AffectedCustomers",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "Link",
+                                        "value": {
+                                            "key": "Link",
+                                            "fieldSchemaKey": {
+                                                "name": "Link",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "ProblemStatus",
+                                        "value": {
+                                            "key": "ProblemStatus",
+                                            "fieldSchemaKey": {
+                                                "name": "ProblemStatus",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "outputFields": {
+                                "entry": [
+                                    {
+                                        "key": "Action",
+                                        "value": {
+                                            "key": "Action",
+                                            "fieldSchemaKey": {
+                                                "name": "Action",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "AffectedCustomers",
+                                        "value": {
+                                            "key": "AffectedCustomers",
+                                            "fieldSchemaKey": {
+                                                "name": "AffectedCustomers",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "Link",
+                                        "value": {
+                                            "key": "Link",
+                                            "fieldSchemaKey": {
+                                                "name": "Link",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "ProblemStatus",
+                                        "value": {
+                                            "key": "ProblemStatus",
+                                            "fieldSchemaKey": {
+                                                "name": "ProblemStatus",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "taskParameters": {
+                                "entry": []
+                            },
+                            "contextAlbumReference": [
+                                {
+                                    "name": "VPNCustomerAlbum",
+                                    "version": "0.0.1"
+                                },
+                                {
+                                    "name": "VPNLinkAlbum",
+                                    "version": "0.0.1"
+                                },
+                                {
+                                    "name": "VPNProblemAlbum",
+                                    "version": "0.0.1"
+                                }
+                            ],
+                            "taskLogic": {
+                                "key": "TaskLogic",
+                                "logicFlavour": "MVEL",
+                                "logic": "import org.apache.avro.generic.GenericRecord;\n\nlogger.debug(subject.id + \":\" + subject.taskName);\n\nSystem.err.println(inFields);\noutFields[\"Action\"] = \"Rebuild VPN for customers\";\noutFields[\"Link\"] = inFields[\"Link\"];\noutFields[\"AffectedCustomers\"] = inFields[\"AffectedCustomers\"];\n\n/* Get the problem-link-object for this link */\nString incomingLink = inFields[\"Link\"];\n\nGenericRecord vpnProblem = getContextAlbum(\"VPNProblemAlbum\").get(incomingLink);\n\nif (null != vpnProblem) {\n    /* Calculate the total down time from the problem-link-object */\n    long linkDownTimeinSecs = vpnProblem.get(\"endTime\") - vpnProblem.get(\"startTime\")/1000;\n    /* Get customers from Policy context and add to ytdDT */\n    for (GenericRecord customerName : vpnProblem.get(\"affectedCustomers\")) {\n    \tGenericRecord customer = getContextAlbum(\"VPNCustomerAlbum\").get(customerName);\n\t\tcustomer.put(\"ytdDT\", customer.get(\"ytdDT\") + linkDownTimeinSecs);\n    }\n}\n\n/* Remove the problem-link-object */\ngetContextAlbum(\"VPNProblemAlbum\").remove(incomingLink);\n\nSystem.err.println(\"outFields: \" + outFields);\nreturn true;"
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNDecideTask",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNDecideTask",
+                                "version": "0.0.1"
+                            },
+                            "inputFields": {
+                                "entry": [
+                                    {
+                                        "key": "AffectedCustomers",
+                                        "value": {
+                                            "key": "AffectedCustomers",
+                                            "fieldSchemaKey": {
+                                                "name": "AffectedCustomers",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "Link",
+                                        "value": {
+                                            "key": "Link",
+                                            "fieldSchemaKey": {
+                                                "name": "Link",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "ProblemStatus",
+                                        "value": {
+                                            "key": "ProblemStatus",
+                                            "fieldSchemaKey": {
+                                                "name": "ProblemStatus",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "outputFields": {
+                                "entry": [
+                                    {
+                                        "key": "Action",
+                                        "value": {
+                                            "key": "Action",
+                                            "fieldSchemaKey": {
+                                                "name": "Action",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "AffectedCustomers",
+                                        "value": {
+                                            "key": "AffectedCustomers",
+                                            "fieldSchemaKey": {
+                                                "name": "AffectedCustomers",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "Link",
+                                        "value": {
+                                            "key": "Link",
+                                            "fieldSchemaKey": {
+                                                "name": "Link",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "ProblemStatus",
+                                        "value": {
+                                            "key": "ProblemStatus",
+                                            "fieldSchemaKey": {
+                                                "name": "ProblemStatus",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "taskParameters": {
+                                "entry": []
+                            },
+                            "contextAlbumReference": [
+                                {
+                                    "name": "VPNCustomerAlbum",
+                                    "version": "0.0.1"
+                                },
+                                {
+                                    "name": "VPNLinkAlbum",
+                                    "version": "0.0.1"
+                                },
+                                {
+                                    "name": "VPNProblemAlbum",
+                                    "version": "0.0.1"
+                                }
+                            ],
+                            "taskLogic": {
+                                "key": "TaskLogic",
+                                "logicFlavour": "MVEL",
+                                "logic": "logger.debug(subject.id + \":\" + subject.taskName);\nlogger.debug(inFields);\nlogger.debug(outFields);\n\nreturn true;"
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNEstablishTask",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNEstablishTask",
+                                "version": "0.0.1"
+                            },
+                            "inputFields": {
+                                "entry": [
+                                    {
+                                        "key": "Link",
+                                        "value": {
+                                            "key": "Link",
+                                            "fieldSchemaKey": {
+                                                "name": "Link",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "Status",
+                                        "value": {
+                                            "key": "Status",
+                                            "fieldSchemaKey": {
+                                                "name": "Status",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "StatusChanged",
+                                        "value": {
+                                            "key": "StatusChanged",
+                                            "fieldSchemaKey": {
+                                                "name": "StatusChanged",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "outputFields": {
+                                "entry": [
+                                    {
+                                        "key": "AffectedCustomers",
+                                        "value": {
+                                            "key": "AffectedCustomers",
+                                            "fieldSchemaKey": {
+                                                "name": "AffectedCustomers",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "Link",
+                                        "value": {
+                                            "key": "Link",
+                                            "fieldSchemaKey": {
+                                                "name": "Link",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "ProblemStatus",
+                                        "value": {
+                                            "key": "ProblemStatus",
+                                            "fieldSchemaKey": {
+                                                "name": "ProblemStatus",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "taskParameters": {
+                                "entry": []
+                            },
+                            "contextAlbumReference": [
+                                {
+                                    "name": "VPNCustomerAlbum",
+                                    "version": "0.0.1"
+                                },
+                                {
+                                    "name": "VPNLinkAlbum",
+                                    "version": "0.0.1"
+                                },
+                                {
+                                    "name": "VPNProblemAlbum",
+                                    "version": "0.0.1"
+                                }
+                            ],
+                            "taskLogic": {
+                                "key": "TaskLogic",
+                                "logicFlavour": "MVEL",
+                                "logic": "import org.apache.avro.generic.GenericData.Array;\nimport org.apache.avro.generic.GenericRecord;\nimport org.apache.avro.Schema;\n\nlogger.debug(subject.getId() + \":\" + subject.getTaskName());\n\nSystem.err.println(inFields);\nString vpnLinkName = inFields[\"Link\"];\n\nGenericRecord vpnLink    = getContextAlbum(\"VPNLinkAlbum\")   .get(vpnLinkName);\nGenericRecord vpnProblem = getContextAlbum(\"VPNProblemAlbum\").get(vpnLinkName);\n\nString incomingStatus = inFields[\"Status\"];\nBoolean incomingStatusChanged = (Boolean)inFields[\"StatusChanged\"];\n\nif (incomingStatus.equalsIgnoreCase(\"DOWN\")) {\n\tvpnLink.put(\"active\", false);\n}\nelse {\n\tvpnLink.put(\"active\", true);\n}\n\nlong now = System.currentTimeMillis();\n\nArray affectedCustomerArray = subject.getOutFieldSchemaHelper(\"AffectedCustomers\").createNewInstance();\n\nif (incomingStatusChanged == false) {\n\toutFields[\"Link\"] = vpnLinkName;\n\tif (incomingStatus.equalsIgnoreCase(\"UP\")) {\n\t\toutFields[\"ProblemStatus\"] = \"NOPROBLEM\";\n\t\toutFields[\"AffectedCustomers\"] = affectedCustomerArray;\n\t}\n\telse if (incomingStatus.equalsIgnoreCase(\"DOWN\")) {\n\t\tfor (String customerName: vpnProblem.get(\"affectedCustomers\")) {\n\t\t\taffectedCustomerArray.add(customerName);\n\t\t}\n\t\toutFields[\"ProblemStatus\"] = \"STILLPROBLEM\";\n\t\toutFields[\"AffectedCustomers\"] = affectedCustomerArray;\n\t}\n\telse {\n\t\tSystem.err.println(\"VpnEstablishLogic: Unsupported link type!!!\" + vpnLinkName + \" \" + incomingStatus);\n\t}\n}\nelse if (incomingStatusChanged == true) {\n\t/* indicates new problem or new solution */\n\tif\t(incomingStatus.equalsIgnoreCase(\"UP\")) {\n\t\t/* A link that was down is now up */\n\t\tif (vpnProblem != null) {\n\t\t\tvpnProblem.put(\"endTime\", now);\n\t\t}\n\t\telse {\n\t\t\tSystem.err.println(\"VpnEstablishLogic: Link change to UP, but with no report of a previous problem!!!\" + vpnLinkName);\n\t\t}\n\t\tfor (String customerName: vpnProblem.get(\"affectedCustomers\")) {\n\t\t\taffectedCustomerArray.add(customerName);\n\t\t}\n\t\toutFields[\"Link\"] = vpnLinkName;\n\t\toutFields[\"AffectedCustomers\"] = affectedCustomerArray;\n\t\toutFields[\"ProblemStatus\"] = \"NEWSOLVED\";\n\t}\n\telse if (incomingStatus.equalsIgnoreCase(\"DOWN\")) {\n\t\t/* A link that was up is now down */\n\t\tif (vpnProblem == null) {\n\t\t\tvpnProblem = getContextAlbum(\"VPNProblemAlbum\").getSchemaHelper().createNewInstance();\n\t\t\tvpnProblem.put(\"problemName\", vpnLinkName);\n\t\t\tvpnProblem.put(\"startTime\",   now);\n\t\t\tvpnProblem.put(\"affectedCustomers\", new Array(0, Schema.createArray(vpnProblem.getSchema().getField(\"affectedCustomers\").schema())));\n\t\t\tgetContextAlbum(\"VPNProblemAlbum\").put(vpnLinkName, vpnProblem);\n\n\t\t\tfor (GenericRecord vpnCustomer : getContextAlbum(\"VPNCustomerAlbum\").values()) {\n\t\t\t\tif (vpnCustomer.get(\"linksInUse\").contains(vpnLinkName)) {\n\t\t\t\t\tvpnProblem.get(\"affectedCustomers\").add(vpnCustomer.get(\"customerName\"));\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tgetContextAlbum(\"VPNProblemAlbum\").put(vpnLinkName, vpnProblem);\n\n\t\t\tfor (String customerName: vpnProblem.get(\"affectedCustomers\")) {\n\t\t\t\taffectedCustomerArray.add(customerName);\n\t\t\t}\n\t\t\toutFields[\"Link\"] = vpnLinkName;\n\t\t\toutFields[\"AffectedCustomers\"] = affectedCustomerArray;\n\t\t\toutFields[\"ProblemStatus\"] = \"NEWPROBLEM\";\n\t\t}\n\t\telse {\n\t\t\tSystem.err.println(\"VpnEstablishLogic: Link change to DOWN, but with a report of a previous problem: \" + vpnLinkName + \" Not updating problem: \" + vpnProblem);\n\t\t\tfor (String customerName: vpnProblem.get(\"affectedCustomers\")) {\n\t\t\t\taffectedCustomerArray.add(customerName);\n\t\t\t}\n\t\t\toutFields[\"Link\"] = vpnLinkName;\n\t\t\toutFields[\"AffectedCustomers\"] = affectedCustomerArray;\n\t\t\toutFields[\"ProblemStatus\"] = \"STILLPROBLEM\";\n\t\t}\n\t}\n\telse {\n\t\tSystem.err.println(\"VpnEstablishLogic: Unsupported link type!!!\" +  vpnLinkName + \" \" + incomingStatus);\n\t}\n}\nelse {\n\tthrow new IllegalArgumentException(\"MatchEvent down time cannot be less than 0\");\n}\n\nSystem.err.println(\"outFields: \" + outFields);\nreturn true;"
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNLinkCtxtActTask",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNLinkCtxtActTask",
+                                "version": "0.0.1"
+                            },
+                            "inputFields": {
+                                "entry": [
+                                    {
+                                        "key": "Link",
+                                        "value": {
+                                            "key": "Link",
+                                            "fieldSchemaKey": {
+                                                "name": "Link",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "LinkUp",
+                                        "value": {
+                                            "key": "LinkUp",
+                                            "fieldSchemaKey": {
+                                                "name": "LinkUp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "outputFields": {
+                                "entry": [
+                                    {
+                                        "key": "Link",
+                                        "value": {
+                                            "key": "Link",
+                                            "fieldSchemaKey": {
+                                                "name": "Link",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "LinkUp",
+                                        "value": {
+                                            "key": "LinkUp",
+                                            "fieldSchemaKey": {
+                                                "name": "LinkUp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "taskParameters": {
+                                "entry": []
+                            },
+                            "contextAlbumReference": [
+                                {
+                                    "name": "VPNLinkAlbum",
+                                    "version": "0.0.1"
+                                }
+                            ],
+                            "taskLogic": {
+                                "key": "TaskLogic",
+                                "logicFlavour": "MVEL",
+                                "logic": "import org.apache.avro.generic.GenericRecord;\n\nlogger.debug(subject.id);\nSystem.err.println(inFields);\n\nString vpnLinkName = inFields[\"Link\"];\nGenericRecord vpnLink = getContextAlbum(\"VPNLinkAlbum\").get(vpnLinkName);\n\nif (vpnLink == null) {\n\tvpnLink = getContextAlbum(\"VPNLinkAlbum\").getSchemaHelper().createNewInstance();\n\tvpnLink.put(\"linkName\", vpnLinkName);\n\tvpnLink.put(\"active\",   true);\n\tgetContextAlbum(\"VPNLinkAlbum\").put(vpnLinkName, vpnLink);\n}\nvpnLink.put(\"active\", inFields[\"LinkUp\"])\n\nSystem.err.println(\"*** Links ***\");\nfor (GenericRecord link: getContextAlbum(\"VPNLinkAlbum\").values()) {\n\tSystem.err.println(link.get(\"linkName\") + \"\\t\" + link.get(\"active\"));\n}\n\noutFields[\"Link\"] = vpnLink.get(\"linkName\");\noutFields[\"LinkUp\"] = vpnLink.get(\"active\");\nSystem.err.println(\"outFields: \" + outFields);\n\nreturn true;"
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNLinkCtxtDecideTask",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNLinkCtxtDecideTask",
+                                "version": "0.0.1"
+                            },
+                            "inputFields": {
+                                "entry": [
+                                    {
+                                        "key": "Link",
+                                        "value": {
+                                            "key": "Link",
+                                            "fieldSchemaKey": {
+                                                "name": "Link",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "LinkUp",
+                                        "value": {
+                                            "key": "LinkUp",
+                                            "fieldSchemaKey": {
+                                                "name": "LinkUp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "outputFields": {
+                                "entry": [
+                                    {
+                                        "key": "Link",
+                                        "value": {
+                                            "key": "Link",
+                                            "fieldSchemaKey": {
+                                                "name": "Link",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "LinkUp",
+                                        "value": {
+                                            "key": "LinkUp",
+                                            "fieldSchemaKey": {
+                                                "name": "LinkUp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "taskParameters": {
+                                "entry": []
+                            },
+                            "contextAlbumReference": [],
+                            "taskLogic": {
+                                "key": "TaskLogic",
+                                "logicFlavour": "MVEL",
+                                "logic": "logger.debug(subject.id + \":\" + subject.taskName);\nlogger.debug(inFields);\nlogger.debug(outFields);\n\nreturn true;"
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNLinkCtxtEstablishTask",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNLinkCtxtEstablishTask",
+                                "version": "0.0.1"
+                            },
+                            "inputFields": {
+                                "entry": [
+                                    {
+                                        "key": "Link",
+                                        "value": {
+                                            "key": "Link",
+                                            "fieldSchemaKey": {
+                                                "name": "Link",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "LinkUp",
+                                        "value": {
+                                            "key": "LinkUp",
+                                            "fieldSchemaKey": {
+                                                "name": "LinkUp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "outputFields": {
+                                "entry": [
+                                    {
+                                        "key": "Link",
+                                        "value": {
+                                            "key": "Link",
+                                            "fieldSchemaKey": {
+                                                "name": "Link",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "LinkUp",
+                                        "value": {
+                                            "key": "LinkUp",
+                                            "fieldSchemaKey": {
+                                                "name": "LinkUp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "taskParameters": {
+                                "entry": []
+                            },
+                            "contextAlbumReference": [],
+                            "taskLogic": {
+                                "key": "TaskLogic",
+                                "logicFlavour": "MVEL",
+                                "logic": "logger.debug(subject.id + \":\" + subject.taskName);\nlogger.debug(inFields);\nlogger.debug(outFields);\n\nreturn true;"
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNLinkCtxtMatchTask",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNLinkCtxtMatchTask",
+                                "version": "0.0.1"
+                            },
+                            "inputFields": {
+                                "entry": [
+                                    {
+                                        "key": "Link",
+                                        "value": {
+                                            "key": "Link",
+                                            "fieldSchemaKey": {
+                                                "name": "Link",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "LinkUp",
+                                        "value": {
+                                            "key": "LinkUp",
+                                            "fieldSchemaKey": {
+                                                "name": "LinkUp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "outputFields": {
+                                "entry": [
+                                    {
+                                        "key": "Link",
+                                        "value": {
+                                            "key": "Link",
+                                            "fieldSchemaKey": {
+                                                "name": "Link",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "LinkUp",
+                                        "value": {
+                                            "key": "LinkUp",
+                                            "fieldSchemaKey": {
+                                                "name": "LinkUp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "taskParameters": {
+                                "entry": []
+                            },
+                            "contextAlbumReference": [],
+                            "taskLogic": {
+                                "key": "TaskLogic",
+                                "logicFlavour": "MVEL",
+                                "logic": "logger.debug(subject.id + \":\" + subject.taskName);\nlogger.debug(inFields);\nlogger.debug(outFields);\n\nreturn true;"
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNMatchTask",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNMatchTask",
+                                "version": "0.0.1"
+                            },
+                            "inputFields": {
+                                "entry": [
+                                    {
+                                        "key": "Link",
+                                        "value": {
+                                            "key": "Link",
+                                            "fieldSchemaKey": {
+                                                "name": "Link",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "Status",
+                                        "value": {
+                                            "key": "Status",
+                                            "fieldSchemaKey": {
+                                                "name": "Status",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "outputFields": {
+                                "entry": [
+                                    {
+                                        "key": "Link",
+                                        "value": {
+                                            "key": "Link",
+                                            "fieldSchemaKey": {
+                                                "name": "Link",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "Status",
+                                        "value": {
+                                            "key": "Status",
+                                            "fieldSchemaKey": {
+                                                "name": "Status",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "StatusChanged",
+                                        "value": {
+                                            "key": "StatusChanged",
+                                            "fieldSchemaKey": {
+                                                "name": "StatusChanged",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "taskParameters": {
+                                "entry": []
+                            },
+                            "contextAlbumReference": [
+                                {
+                                    "name": "VPNCustomerAlbum",
+                                    "version": "0.0.1"
+                                },
+                                {
+                                    "name": "VPNLinkAlbum",
+                                    "version": "0.0.1"
+                                },
+                                {
+                                    "name": "VPNProblemAlbum",
+                                    "version": "0.0.1"
+                                }
+                            ],
+                            "taskLogic": {
+                                "key": "TaskLogic",
+                                "logicFlavour": "MVEL",
+                                "logic": "import org.apache.avro.generic.GenericRecord;\n\nlogger.debug(subject.id + \":\" + subject.taskName);\nSystem.err.println(inFields);\n\nString vpnLinkName   = inFields[\"Link\"];\nString vpnLinkStatus = inFields[\"Status\"];\n\nGenericRecord vpnLink = getContextAlbum(\"VPNLinkAlbum\").get(vpnLinkName);\n\nif (vpnLink == null) {\n\tvpnLink = getContextAlbum(\"VPNLinkAlbum\").createItem();\n\tvpnLink.put(\"linkName\", vpnLinkName);\n\tgetContextAlbum(\"VPNLinkAlbum\").put(vpnLinkName, vpnLink);\n\n\t\n\tvpnLink = new VPNLink(vpnLinkName);\n\tgetContextAlbum(\"VPNLinkAlbum\").put(vpnLinkName, vpnLink);\n\tif (vpnLinkStatus.equalsIgnoreCase(\"DOWN\")) {\n\t\tvpnLink.put(\"active\", true);\n\t}\n\telse {\n\t\tvpnLink.put(\"active\", false);\n\t}\n}\n\nif (vpnLinkStatus.equalsIgnoreCase(\"DOWN\")) {\n\tif (vpnLinkName != null) {\n\t\tif (vpnLink.get(\"active\")) {\n\t\t\toutFields[\"StatusChanged\"] = true;\n\t\t}\n\t\telse {\n\t\t\toutFields[\"StatusChanged\"] = false;\n\t\t}\n\t\toutFields[\"Link\"]   = vpnLinkName;\n\t\toutFields[\"Status\"] = vpnLinkStatus;\n\t}\n\telse {\n\t\tSystem.err.println(\"match: trigger context error: link is null\");\n\t}\n}\nelse if (vpnLinkStatus.equalsIgnoreCase(\"UP\")) {\n\tif (vpnLinkName != null) {\n\t\tif (!vpnLink.get(\"active\")) {\n\t\t\toutFields[\"StatusChanged\"] = true;\n\t\t}\n\t\telse {\n\t\t\toutFields[\"StatusChanged\"] = false;\n\t\t}\n\t\toutFields[\"Link\"]   = vpnLinkName;\n\t\toutFields[\"Status\"] = vpnLinkStatus;\n\t}\n\telse {\n\t\tSystem.err.println(\"match: trigger context error: link is null\");\n\t}\n}\nelse {\n\tSystem.err.println(\"match: trigger context error: status neither UP nor DOWN\");\n}\n\nSystem.err.println(\"outFields: \" + outFields);\nreturn true;"
+                            }
+                        }
+                    }
+                ]
+            }
+        },
+        "events": {
+            "key": {
+                "name": "VPNEvents",
+                "version": "0.0.1"
+            },
+            "eventMap": {
+                "entry": [
+                    {
+                        "key": {
+                            "name": "VPNActEvent",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNActEvent",
+                                "version": "0.0.1"
+                            },
+                            "nameSpace": "org.onap.policy.apex.domains.vpn.events",
+                            "source": "Source",
+                            "target": "Target",
+                            "parameter": {
+                                "entry": [
+                                    {
+                                        "key": "CustomerMap",
+                                        "value": {
+                                            "key": "CustomerMap",
+                                            "fieldSchemaKey": {
+                                                "name": "CustomerMap",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "LinkMap",
+                                        "value": {
+                                            "key": "LinkMap",
+                                            "fieldSchemaKey": {
+                                                "name": "LinkMap",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNCustomerCtxtActEvent",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNCustomerCtxtActEvent",
+                                "version": "0.0.1"
+                            },
+                            "nameSpace": "org.onap.policy.apex.domains.vpn.events",
+                            "source": "Source",
+                            "target": "Target",
+                            "parameter": {
+                                "entry": [
+                                    {
+                                        "key": "CustomerName",
+                                        "value": {
+                                            "key": "CustomerName",
+                                            "fieldSchemaKey": {
+                                                "name": "CustomerName",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "LinkList",
+                                        "value": {
+                                            "key": "LinkList",
+                                            "fieldSchemaKey": {
+                                                "name": "LinkList",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "SlaDT",
+                                        "value": {
+                                            "key": "SlaDT",
+                                            "fieldSchemaKey": {
+                                                "name": "SlaDT",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "YtdDT",
+                                        "value": {
+                                            "key": "YtdDT",
+                                            "fieldSchemaKey": {
+                                                "name": "YtdDT",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNCustomerCtxtDecideEvent",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNCustomerCtxtDecideEvent",
+                                "version": "0.0.1"
+                            },
+                            "nameSpace": "org.onap.policy.apex.domains.vpn.events",
+                            "source": "Source",
+                            "target": "Target",
+                            "parameter": {
+                                "entry": [
+                                    {
+                                        "key": "CustomerName",
+                                        "value": {
+                                            "key": "CustomerName",
+                                            "fieldSchemaKey": {
+                                                "name": "CustomerName",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "LinkList",
+                                        "value": {
+                                            "key": "LinkList",
+                                            "fieldSchemaKey": {
+                                                "name": "LinkList",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "SlaDT",
+                                        "value": {
+                                            "key": "SlaDT",
+                                            "fieldSchemaKey": {
+                                                "name": "SlaDT",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "YtdDT",
+                                        "value": {
+                                            "key": "YtdDT",
+                                            "fieldSchemaKey": {
+                                                "name": "YtdDT",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNCustomerCtxtEstablishEvent",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNCustomerCtxtEstablishEvent",
+                                "version": "0.0.1"
+                            },
+                            "nameSpace": "org.onap.policy.apex.domains.vpn.events",
+                            "source": "Source",
+                            "target": "Target",
+                            "parameter": {
+                                "entry": [
+                                    {
+                                        "key": "CustomerName",
+                                        "value": {
+                                            "key": "CustomerName",
+                                            "fieldSchemaKey": {
+                                                "name": "CustomerName",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "LinkList",
+                                        "value": {
+                                            "key": "LinkList",
+                                            "fieldSchemaKey": {
+                                                "name": "LinkList",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "SlaDT",
+                                        "value": {
+                                            "key": "SlaDT",
+                                            "fieldSchemaKey": {
+                                                "name": "SlaDT",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "YtdDT",
+                                        "value": {
+                                            "key": "YtdDT",
+                                            "fieldSchemaKey": {
+                                                "name": "YtdDT",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNCustomerCtxtMatchEvent",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNCustomerCtxtMatchEvent",
+                                "version": "0.0.1"
+                            },
+                            "nameSpace": "org.onap.policy.apex.domains.vpn.events",
+                            "source": "Source",
+                            "target": "Target",
+                            "parameter": {
+                                "entry": [
+                                    {
+                                        "key": "CustomerName",
+                                        "value": {
+                                            "key": "CustomerName",
+                                            "fieldSchemaKey": {
+                                                "name": "CustomerName",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "LinkList",
+                                        "value": {
+                                            "key": "LinkList",
+                                            "fieldSchemaKey": {
+                                                "name": "LinkList",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "SlaDT",
+                                        "value": {
+                                            "key": "SlaDT",
+                                            "fieldSchemaKey": {
+                                                "name": "SlaDT",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "YtdDT",
+                                        "value": {
+                                            "key": "YtdDT",
+                                            "fieldSchemaKey": {
+                                                "name": "YtdDT",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNCustomerCtxtTriggerEvent",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNCustomerCtxtTriggerEvent",
+                                "version": "0.0.1"
+                            },
+                            "nameSpace": "org.onap.policy.apex.domains.vpn.events",
+                            "source": "Source",
+                            "target": "Target",
+                            "parameter": {
+                                "entry": [
+                                    {
+                                        "key": "CustomerName",
+                                        "value": {
+                                            "key": "CustomerName",
+                                            "fieldSchemaKey": {
+                                                "name": "CustomerName",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "LinkList",
+                                        "value": {
+                                            "key": "LinkList",
+                                            "fieldSchemaKey": {
+                                                "name": "LinkList",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "SlaDT",
+                                        "value": {
+                                            "key": "SlaDT",
+                                            "fieldSchemaKey": {
+                                                "name": "SlaDT",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "YtdDT",
+                                        "value": {
+                                            "key": "YtdDT",
+                                            "fieldSchemaKey": {
+                                                "name": "YtdDT",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNDecideEvent",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNDecideEvent",
+                                "version": "0.0.1"
+                            },
+                            "nameSpace": "org.onap.policy.apex.domains.vpn.events",
+                            "source": "Source",
+                            "target": "Target",
+                            "parameter": {
+                                "entry": [
+                                    {
+                                        "key": "Action",
+                                        "value": {
+                                            "key": "Action",
+                                            "fieldSchemaKey": {
+                                                "name": "Action",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "AffectedCustomers",
+                                        "value": {
+                                            "key": "AffectedCustomers",
+                                            "fieldSchemaKey": {
+                                                "name": "AffectedCustomers",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "Link",
+                                        "value": {
+                                            "key": "Link",
+                                            "fieldSchemaKey": {
+                                                "name": "Link",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "ProblemStatus",
+                                        "value": {
+                                            "key": "ProblemStatus",
+                                            "fieldSchemaKey": {
+                                                "name": "ProblemStatus",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNEstablishEvent",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNEstablishEvent",
+                                "version": "0.0.1"
+                            },
+                            "nameSpace": "org.onap.policy.apex.domains.vpn.events",
+                            "source": "Source",
+                            "target": "Target",
+                            "parameter": {
+                                "entry": [
+                                    {
+                                        "key": "AffectedCustomers",
+                                        "value": {
+                                            "key": "AffectedCustomers",
+                                            "fieldSchemaKey": {
+                                                "name": "AffectedCustomers",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "Link",
+                                        "value": {
+                                            "key": "Link",
+                                            "fieldSchemaKey": {
+                                                "name": "Link",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "ProblemStatus",
+                                        "value": {
+                                            "key": "ProblemStatus",
+                                            "fieldSchemaKey": {
+                                                "name": "ProblemStatus",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNLinkCtxtActEvent",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNLinkCtxtActEvent",
+                                "version": "0.0.1"
+                            },
+                            "nameSpace": "org.onap.policy.apex.domains.vpn.events",
+                            "source": "Source",
+                            "target": "Target",
+                            "parameter": {
+                                "entry": [
+                                    {
+                                        "key": "Link",
+                                        "value": {
+                                            "key": "Link",
+                                            "fieldSchemaKey": {
+                                                "name": "Link",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "LinkUp",
+                                        "value": {
+                                            "key": "LinkUp",
+                                            "fieldSchemaKey": {
+                                                "name": "LinkUp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNLinkCtxtDecideEvent",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNLinkCtxtDecideEvent",
+                                "version": "0.0.1"
+                            },
+                            "nameSpace": "org.onap.policy.apex.domains.vpn.events",
+                            "source": "Source",
+                            "target": "Target",
+                            "parameter": {
+                                "entry": [
+                                    {
+                                        "key": "Link",
+                                        "value": {
+                                            "key": "Link",
+                                            "fieldSchemaKey": {
+                                                "name": "Link",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "LinkUp",
+                                        "value": {
+                                            "key": "LinkUp",
+                                            "fieldSchemaKey": {
+                                                "name": "LinkUp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNLinkCtxtEstablishEvent",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNLinkCtxtEstablishEvent",
+                                "version": "0.0.1"
+                            },
+                            "nameSpace": "org.onap.policy.apex.domains.vpn.events",
+                            "source": "Source",
+                            "target": "Target",
+                            "parameter": {
+                                "entry": [
+                                    {
+                                        "key": "Link",
+                                        "value": {
+                                            "key": "Link",
+                                            "fieldSchemaKey": {
+                                                "name": "Link",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "LinkUp",
+                                        "value": {
+                                            "key": "LinkUp",
+                                            "fieldSchemaKey": {
+                                                "name": "LinkUp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNLinkCtxtMatchEvent",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNLinkCtxtMatchEvent",
+                                "version": "0.0.1"
+                            },
+                            "nameSpace": "org.onap.policy.apex.domains.vpn.events",
+                            "source": "Source",
+                            "target": "Target",
+                            "parameter": {
+                                "entry": [
+                                    {
+                                        "key": "Link",
+                                        "value": {
+                                            "key": "Link",
+                                            "fieldSchemaKey": {
+                                                "name": "Link",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "LinkUp",
+                                        "value": {
+                                            "key": "LinkUp",
+                                            "fieldSchemaKey": {
+                                                "name": "LinkUp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNLinkCtxtTriggerEvent",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNLinkCtxtTriggerEvent",
+                                "version": "0.0.1"
+                            },
+                            "nameSpace": "org.onap.policy.apex.domains.vpn.events",
+                            "source": "Source",
+                            "target": "Target",
+                            "parameter": {
+                                "entry": [
+                                    {
+                                        "key": "Link",
+                                        "value": {
+                                            "key": "Link",
+                                            "fieldSchemaKey": {
+                                                "name": "Link",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "LinkUp",
+                                        "value": {
+                                            "key": "LinkUp",
+                                            "fieldSchemaKey": {
+                                                "name": "LinkUp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNMatchEvent",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNMatchEvent",
+                                "version": "0.0.1"
+                            },
+                            "nameSpace": "org.onap.policy.apex.domains.vpn.events",
+                            "source": "Source",
+                            "target": "Target",
+                            "parameter": {
+                                "entry": [
+                                    {
+                                        "key": "Link",
+                                        "value": {
+                                            "key": "Link",
+                                            "fieldSchemaKey": {
+                                                "name": "Link",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "Status",
+                                        "value": {
+                                            "key": "Status",
+                                            "fieldSchemaKey": {
+                                                "name": "Status",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "StatusChanged",
+                                        "value": {
+                                            "key": "StatusChanged",
+                                            "fieldSchemaKey": {
+                                                "name": "StatusChanged",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNTriggerEvent",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNTriggerEvent",
+                                "version": "0.0.1"
+                            },
+                            "nameSpace": "org.onap.policy.apex.domains.vpn.events",
+                            "source": "Source",
+                            "target": "Target",
+                            "parameter": {
+                                "entry": [
+                                    {
+                                        "key": "Link",
+                                        "value": {
+                                            "key": "Link",
+                                            "fieldSchemaKey": {
+                                                "name": "Link",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "Status",
+                                        "value": {
+                                            "key": "Status",
+                                            "fieldSchemaKey": {
+                                                "name": "Status",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            }
+                        }
+                    }
+                ]
+            }
+        },
+        "albums": {
+            "key": {
+                "name": "VPNContext",
+                "version": "0.0.1"
+            },
+            "albums": {
+                "entry": [
+                    {
+                        "key": {
+                            "name": "VPNCustomerAlbum",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNCustomerAlbum",
+                                "version": "0.0.1"
+                            },
+                            "scope": "GLOBAL",
+                            "isWritable": true,
+                            "itemSchema": {
+                                "name": "VPNCustomer",
+                                "version": "0.0.1"
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNLinkAlbum",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNLinkAlbum",
+                                "version": "0.0.1"
+                            },
+                            "scope": "GLOBAL",
+                            "isWritable": true,
+                            "itemSchema": {
+                                "name": "VPNLink",
+                                "version": "0.0.1"
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNProblemAlbum",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNProblemAlbum",
+                                "version": "0.0.1"
+                            },
+                            "scope": "GLOBAL",
+                            "isWritable": true,
+                            "itemSchema": {
+                                "name": "VPNProblem",
+                                "version": "0.0.1"
+                            }
+                        }
+                    }
+                ]
+            }
+        },
+        "schemas": {
+            "key": {
+                "name": "VPNDatatypes",
+                "version": "0.0.1"
+            },
+            "schemas": {
+                "entry": [
+                    {
+                        "key": {
+                            "name": "Action",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Action",
+                                "version": "0.0.1"
+                            },
+                            "schemaFlavour": "Java",
+                            "schemaDefinition": "java.lang.String"
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "AffectedCustomers",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "AffectedCustomers",
+                                "version": "0.0.1"
+                            },
+                            "schemaFlavour": "Avro",
+                            "schemaDefinition": "{\n\t\"type\": \"array\", \"items\": \"string\"}\n}"
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "CustomerMap",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "CustomerMap",
+                                "version": "0.0.1"
+                            },
+                            "schemaFlavour": "Avro",
+                            "schemaDefinition": "{\n\t\"type\": \"map\", \"values\": {\n\t\t\"type\" : \"record\",\n\t\t\"name\" : \"VPNCustomer\",\n\t\t\"fields\" : [\n\t\t\t{\"name\" : \"customerName\", \"type\" : \"string\"},\n\t\t\t{\"name\" : \"slaDT\"       , \"type\" : \"int\"},\n\t\t\t{\"name\" : \"ytdDT\"       , \"type\" : \"int\"}\n\t\t\t]\n\t}\n}"
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "CustomerName",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "CustomerName",
+                                "version": "0.0.1"
+                            },
+                            "schemaFlavour": "Java",
+                            "schemaDefinition": "java.lang.String"
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Link",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Link",
+                                "version": "0.0.1"
+                            },
+                            "schemaFlavour": "Java",
+                            "schemaDefinition": "java.lang.String"
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "LinkList",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "LinkList",
+                                "version": "0.0.1"
+                            },
+                            "schemaFlavour": "Java",
+                            "schemaDefinition": "java.lang.String"
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "LinkMap",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "LinkMap",
+                                "version": "0.0.1"
+                            },
+                            "schemaFlavour": "Avro",
+                            "schemaDefinition": "{\n\t\"type\": \"map\", \"values\": {\n\t\t\"type\" : \"record\",\n\t\t\"name\" : \"VPNLink\",\n\t\t\"fields\" : [\n\t\t\t{\"name\": \"linkName\", \"type\": \"string\"},\n\t\t\t{\"name\": \"active\",   \"type\": \"boolean\"}\n\t\t\t]\n\t}\n}"
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "LinkUp",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "LinkUp",
+                                "version": "0.0.1"
+                            },
+                            "schemaFlavour": "Java",
+                            "schemaDefinition": "java.lang.Boolean"
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "ProblemStatus",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "ProblemStatus",
+                                "version": "0.0.1"
+                            },
+                            "schemaFlavour": "Java",
+                            "schemaDefinition": "java.lang.String"
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "SlaDT",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "SlaDT",
+                                "version": "0.0.1"
+                            },
+                            "schemaFlavour": "Java",
+                            "schemaDefinition": "java.lang.Integer"
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Status",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Status",
+                                "version": "0.0.1"
+                            },
+                            "schemaFlavour": "Java",
+                            "schemaDefinition": "java.lang.String"
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "StatusChanged",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "StatusChanged",
+                                "version": "0.0.1"
+                            },
+                            "schemaFlavour": "Java",
+                            "schemaDefinition": "java.lang.Boolean"
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNCustomer",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNCustomer",
+                                "version": "0.0.1"
+                            },
+                            "schemaFlavour": "Avro",
+                            "schemaDefinition": "{\n\t\"type\" : \"record\",\n\t\"name\" : \"VPNCustomer\",\n\t\"fields\" : [\n\t\t{\"name\" : \"customerName\", \"type\" : \"string\"},\n\t\t{\"name\" : \"slaDT\"       , \"type\" : \"int\"},\n\t\t{\"name\" : \"ytdDT\"       , \"type\" : \"int\"},\n\t\t{\n\t\t\t\"name\": \"linksInUse\",\n\t\t\t\"doc\": \"Links used by this customer\",\n\t\t\t\"type\": {\"type\"  : \"array\", \"items\" : \"string\"}\n\t\t}\n\t\t]\n}"
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNLink",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNLink",
+                                "version": "0.0.1"
+                            },
+                            "schemaFlavour": "Avro",
+                            "schemaDefinition": "{\n\t\"type\" : \"record\",\n\t\"name\" : \"VPNLink\",\n\t\"fields\" : [\n\t\t{\"name\": \"linkName\", \"type\": \"string\"},\n\t\t{\"name\": \"active\",   \"type\": \"boolean\"}\n\t\t]\n}"
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNProblem",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNProblem",
+                                "version": "0.0.1"
+                            },
+                            "schemaFlavour": "Avro",
+                            "schemaDefinition": "{\n\t\"type\" : \"record\",\n\t\"name\" : \"VPNProblem\",\n\t\"fields\" : [\n\t\t{\"name\": \"problemName\", \"type\": \"string\"},\n\t\t{\"name\": \"startTime\"  , \"type\": \"long\"},\n\t\t{\"name\": \"endTime\"    , \"type\": \"long\"},\n\t\t{\n\t\t\t\"name\": \"affectedCustomers\",\n\t\t\t\"doc\": \"customers affected by this problem\",\n\t\t\t\"type\": {\"type\"  : \"array\", \"items\" : \"string\"}\n\t\t}\n\t\t]\n}"
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "YtdDT",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "YtdDT",
+                                "version": "0.0.1"
+                            },
+                            "schemaFlavour": "Java",
+                            "schemaDefinition": "java.lang.Integer"
+                        }
+                    }
+                ]
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/testsuites/integration/integration-uservice-test/src/test/resources/policymodels/VPNPolicyModelJava.json b/testsuites/integration/integration-uservice-test/src/test/resources/policymodels/VPNPolicyModelJava.json
new file mode 100644 (file)
index 0000000..4a8c92f
--- /dev/null
@@ -0,0 +1,4557 @@
+{
+    "apexPolicyModel": {
+        "key": {
+            "name": "VPNPolicyModelJava",
+            "version": "0.0.1"
+        },
+        "keyInformation": {
+            "key": {
+                "name": "VPNKeyInformation",
+                "version": "0.0.1"
+            },
+            "keyInfoMap": {
+                "entry": [
+                    {
+                        "key": {
+                            "name": "Action",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Action",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "fecbf45a-8559-3ba8-be95-c773d8277912",
+                            "description": "Generated description for concept referred to by key \"Action:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "AffectedCustomers",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "AffectedCustomers",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "a076b82b-2843-310c-b6a5-a89da296caf7",
+                            "description": "Generated description for concept referred to by key \"AffectedCustomers:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "CustomerMap",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "CustomerMap",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "cc403e79-bf85-3bdc-83dc-86a1ff45abed",
+                            "description": "Generated description for concept referred to by key \"CustomerMap:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "CustomerName",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "CustomerName",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "638a87b0-2040-3ab7-8d1f-3877f6efb250",
+                            "description": "Generated description for concept referred to by key \"CustomerName:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Link",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Link",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "0e3b3a57-fa0a-3b0d-ad18-0322d1a515f0",
+                            "description": "Generated description for concept referred to by key \"Link:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "LinkList",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "LinkList",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "ec38833a-7f3e-3733-b38b-eb7ecc9e60ca",
+                            "description": "Generated description for concept referred to by key \"LinkList:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "LinkMap",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "LinkMap",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "5eceb73f-c951-360a-afb4-ca7a5376f8a9",
+                            "description": "Generated description for concept referred to by key \"LinkMap:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "LinkUp",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "LinkUp",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "2b9935ab-9b97-3228-ba43-ae48d7743c9f",
+                            "description": "Generated description for concept referred to by key \"LinkUp:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "ProblemStatus",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "ProblemStatus",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "b26602d0-53cb-357c-aa3a-bd53325c7208",
+                            "description": "Generated description for concept referred to by key \"ProblemStatus:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "SlaDT",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "SlaDT",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "c8a76dcf-d322-3a01-9d4b-c2d9a01359aa",
+                            "description": "Generated description for concept referred to by key \"SlaDT:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Status",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Status",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "32a032cd-923a-3578-a232-d3ce88434b45",
+                            "description": "Generated description for concept referred to by key \"Status:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "StatusChanged",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "StatusChanged",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "af0da9d9-a2bd-387c-a441-66a0b0a0f434",
+                            "description": "Generated description for concept referred to by key \"StatusChanged:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNActEvent",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNActEvent",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "8c285b89-7102-37b1-aa1b-86d080df0aa9",
+                            "description": "Generated description for concept referred to by key \"VPNActEvent:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNActTask",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNActTask",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "a83d78d1-b3b0-3742-85e4-25364bdbae1f",
+                            "description": "Generated description for concept referred to by key \"VPNActTask:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNContext",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNContext",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "ab3caa58-6748-373d-a6b9-08528951c261",
+                            "description": "Generated description for concept referred to by key \"VPNContext:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNCustomer",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNCustomer",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "3c987f55-b978-3e32-9858-4b1978594bf3",
+                            "description": "Generated description for concept referred to by key \"VPNCustomer:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNCustomerAlbum",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNCustomerAlbum",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "9d8d7a8b-13f8-3e7f-a34c-8ce5bb988290",
+                            "description": "Generated description for concept referred to by key \"VPNCustomerAlbum:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNCustomerCtxtActEvent",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNCustomerCtxtActEvent",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "dc6fef76-6014-392f-b017-116bc9a35249",
+                            "description": "Generated description for concept referred to by key \"VPNCustomerCtxtActEvent:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNCustomerCtxtActTask",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNCustomerCtxtActTask",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "2c9f5fb2-3fda-329a-bf81-9bbe72c0b39c",
+                            "description": "Generated description for concept referred to by key \"VPNCustomerCtxtActTask:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNCustomerCtxtDecideEvent",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNCustomerCtxtDecideEvent",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "9e86afcd-a764-3645-afdd-0fe373c2f9d0",
+                            "description": "Generated description for concept referred to by key \"VPNCustomerCtxtDecideEvent:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNCustomerCtxtDecideTask",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNCustomerCtxtDecideTask",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "7c033835-24e5-302b-a2e7-1f357f4a49da",
+                            "description": "Generated description for concept referred to by key \"VPNCustomerCtxtDecideTask:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNCustomerCtxtEstablishEvent",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNCustomerCtxtEstablishEvent",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "6767849e-b884-3de3-a9de-49ec21d1653a",
+                            "description": "Generated description for concept referred to by key \"VPNCustomerCtxtEstablishEvent:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNCustomerCtxtEstablishTask",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNCustomerCtxtEstablishTask",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "8d267e4f-a8b3-3ec1-9e00-4fe49c4824ac",
+                            "description": "Generated description for concept referred to by key \"VPNCustomerCtxtEstablishTask:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNCustomerCtxtMatchEvent",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNCustomerCtxtMatchEvent",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "3113d098-5f5d-30b1-91ad-24006aca60b3",
+                            "description": "Generated description for concept referred to by key \"VPNCustomerCtxtMatchEvent:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNCustomerCtxtMatchTask",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNCustomerCtxtMatchTask",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "f7381ce6-2df0-3123-bc4d-fdb28ec0b0b4",
+                            "description": "Generated description for concept referred to by key \"VPNCustomerCtxtMatchTask:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNCustomerCtxtPolicy",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNCustomerCtxtPolicy",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "51645b2f-19ab-3792-8088-a2b0eab9a75b",
+                            "description": "Generated description for concept referred to by key \"VPNCustomerCtxtPolicy:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNCustomerCtxtTriggerEvent",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNCustomerCtxtTriggerEvent",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "dd7ea64d-863e-3194-8eee-e4aab7af1454",
+                            "description": "Generated description for concept referred to by key \"VPNCustomerCtxtTriggerEvent:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNDatatypes",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNDatatypes",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "45ec61a2-39c6-3544-9d48-49e29b60daa7",
+                            "description": "Generated description for concept referred to by key \"VPNDatatypes:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNDecideEvent",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNDecideEvent",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "c8721fa3-ff74-3222-b2e4-9824b8daf7bb",
+                            "description": "Generated description for concept referred to by key \"VPNDecideEvent:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNDecidePriorityTask",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNDecidePriorityTask",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "cb2a893a-7719-3208-9952-a3fa3565cbb4",
+                            "description": "Generated description for concept referred to by key \"VPNDecidePriorityTask:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNDecideSLATask",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNDecideSLATask",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "bef3b2b0-5575-3b50-a1bc-dd05541cb800",
+                            "description": "Generated description for concept referred to by key \"VPNDecideSLATask:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNDecideSolvedTask",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNDecideSolvedTask",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "137f8cd1-0f33-3c03-88a5-d0408fe0c26a",
+                            "description": "Generated description for concept referred to by key \"VPNDecideSolvedTask:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNDecideTask",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNDecideTask",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "dc647231-a4d6-307e-bd42-d32fa0a2c2c5",
+                            "description": "Generated description for concept referred to by key \"VPNDecideTask:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNEstablishEvent",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNEstablishEvent",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "a5ec4ca5-b0ce-3098-afc2-61de501e35bd",
+                            "description": "Generated description for concept referred to by key \"VPNEstablishEvent:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNEstablishTask",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNEstablishTask",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "e5b00ad5-92d8-3ffc-93e0-ddd1c02e584f",
+                            "description": "Generated description for concept referred to by key \"VPNEstablishTask:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNEvents",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNEvents",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "07c2931d-9011-3d85-bca6-c10d43856f60",
+                            "description": "Generated description for concept referred to by key \"VPNEvents:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNKeyInformation",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNKeyInformation",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "c2516499-a76d-3526-a6ee-d1d93c598931",
+                            "description": "Generated description for concept referred to by key \"VPNKeyInformation:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNLink",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNLink",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "27e97f3a-8b39-3ae7-ac26-af9370cccd43",
+                            "description": "Generated description for concept referred to by key \"VPNLink:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNLinkAlbum",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNLinkAlbum",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "5a234e2d-9efd-336f-b26d-1f909cdb44be",
+                            "description": "Generated description for concept referred to by key \"VPNLinkAlbum:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNLinkCtxtActEvent",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNLinkCtxtActEvent",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "20fa2bc5-366a-3127-bbbf-c3408e30196d",
+                            "description": "Generated description for concept referred to by key \"VPNLinkCtxtActEvent:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNLinkCtxtActTask",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNLinkCtxtActTask",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "63d61114-538c-3c02-8bc6-d0214dc09824",
+                            "description": "Generated description for concept referred to by key \"VPNLinkCtxtActTask:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNLinkCtxtDecideEvent",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNLinkCtxtDecideEvent",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "42ecba03-b4cb-3a8f-8c0b-cc63da5eb28a",
+                            "description": "Generated description for concept referred to by key \"VPNLinkCtxtDecideEvent:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNLinkCtxtDecideTask",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNLinkCtxtDecideTask",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "ade15880-f26b-32fe-accc-58016cc8bdc5",
+                            "description": "Generated description for concept referred to by key \"VPNLinkCtxtDecideTask:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNLinkCtxtEstablishEvent",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNLinkCtxtEstablishEvent",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "6e10e999-4c93-34b2-8723-434a47e80d24",
+                            "description": "Generated description for concept referred to by key \"VPNLinkCtxtEstablishEvent:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNLinkCtxtEstablishTask",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNLinkCtxtEstablishTask",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "b3e9531b-162c-3b07-b47f-4013380e59e8",
+                            "description": "Generated description for concept referred to by key \"VPNLinkCtxtEstablishTask:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNLinkCtxtMatchEvent",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNLinkCtxtMatchEvent",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "fc2a579b-2424-3a20-9e48-b7fcc72259a7",
+                            "description": "Generated description for concept referred to by key \"VPNLinkCtxtMatchEvent:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNLinkCtxtMatchTask",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNLinkCtxtMatchTask",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "48c628d8-d660-37ec-8d24-c17c46ad3109",
+                            "description": "Generated description for concept referred to by key \"VPNLinkCtxtMatchTask:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNLinkCtxtPolicy",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNLinkCtxtPolicy",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "d3818863-91dc-3ed6-9087-c4cd76707003",
+                            "description": "Generated description for concept referred to by key \"VPNLinkCtxtPolicy:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNLinkCtxtTriggerEvent",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNLinkCtxtTriggerEvent",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "7af8f4e2-c662-3ccf-a77a-6dd2aafdd773",
+                            "description": "Generated description for concept referred to by key \"VPNLinkCtxtTriggerEvent:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNMatchEvent",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNMatchEvent",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "e9a25835-f032-3f6f-ae01-8b043cae3680",
+                            "description": "Generated description for concept referred to by key \"VPNMatchEvent:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNMatchTask",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNMatchTask",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "e5eb173b-18fd-34d2-924c-d4bc00979e86",
+                            "description": "Generated description for concept referred to by key \"VPNMatchTask:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNPolicies",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNPolicies",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "1b333371-46d0-3ae7-9da9-d2f7b3525fbc",
+                            "description": "Generated description for concept referred to by key \"VPNPolicies:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNPolicy",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNPolicy",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "5c1491a5-01ae-37cd-aa57-7aac775b6f56",
+                            "description": "Generated description for concept referred to by key \"VPNPolicy:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNPolicyModelJava",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNPolicyModelJava",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "39d0dbe2-5fc1-3171-b429-551c25d92003",
+                            "description": "Generated description for concept referred to by key \"VPNPolicyModelJava:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNProblem",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNProblem",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "0bcf2824-9a3a-394b-981f-1b6b51982a9f",
+                            "description": "Generated description for concept referred to by key \"VPNProblem:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNProblemAlbum",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNProblemAlbum",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "ea4e8801-7391-3cb4-a93a-1dfd51ec392c",
+                            "description": "Generated description for concept referred to by key \"VPNProblemAlbum:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNTasks",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNTasks",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "26cae2a3-9eba-3b73-b91c-ef70806cf158",
+                            "description": "Generated description for concept referred to by key \"VPNTasks:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNTriggerEvent",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNTriggerEvent",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "61759db7-3539-307a-9310-9f3870dab1d6",
+                            "description": "Generated description for concept referred to by key \"VPNTriggerEvent:0.0.1\""
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "YtdDT",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "YtdDT",
+                                "version": "0.0.1"
+                            },
+                            "UUID": "7bda6f7c-8469-3aea-a075-c1d4acc2a1c8",
+                            "description": "Generated description for concept referred to by key \"YtdDT:0.0.1\""
+                        }
+                    }
+                ]
+            }
+        },
+        "policies": {
+            "key": {
+                "name": "VPNPolicies",
+                "version": "0.0.1"
+            },
+            "policyMap": {
+                "entry": [
+                    {
+                        "key": {
+                            "name": "VPNCustomerCtxtPolicy",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "policyKey": {
+                                "name": "VPNCustomerCtxtPolicy",
+                                "version": "0.0.1"
+                            },
+                            "template": "MEDA",
+                            "state": {
+                                "entry": [
+                                    {
+                                        "key": "Act",
+                                        "value": {
+                                            "stateKey": {
+                                                "parentKeyName": "VPNCustomerCtxtPolicy",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Act"
+                                            },
+                                            "trigger": {
+                                                "name": "VPNCustomerCtxtDecideEvent",
+                                                "version": "0.0.1"
+                                            },
+                                            "stateOutputs": {
+                                                "entry": [
+                                                    {
+                                                        "key": "Act_NULL",
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "VPNCustomerCtxtPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Act",
+                                                                "localName": "Act_NULL"
+                                                            },
+                                                            "outgoingEvent": {
+                                                                "name": "VPNCustomerCtxtActEvent",
+                                                                "version": "0.0.1"
+                                                            },
+                                                            "nextState": {
+                                                                "parentKeyName": "NULL",
+                                                                "parentKeyVersion": "0.0.0",
+                                                                "parentLocalName": "NULL",
+                                                                "localName": "NULL"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            },
+                                            "contextAlbumReference": [],
+                                            "taskSelectionLogic": {
+                                                "key": "NULL",
+                                                "logicFlavour": "UNDEFINED",
+                                                "logic": ""
+                                            },
+                                            "stateFinalizerLogicMap": {
+                                                "entry": []
+                                            },
+                                            "defaultTask": {
+                                                "name": "VPNCustomerCtxtActTask",
+                                                "version": "0.0.1"
+                                            },
+                                            "taskReferences": {
+                                                "entry": [
+                                                    {
+                                                        "key": {
+                                                            "name": "VPNCustomerCtxtActTask",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "VPNCustomerCtxtPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Act",
+                                                                "localName": "VPNCustomerCtxtActTask_DIRECT_Act_NULL"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "VPNCustomerCtxtPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Act",
+                                                                "localName": "Act_NULL"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "Decide",
+                                        "value": {
+                                            "stateKey": {
+                                                "parentKeyName": "VPNCustomerCtxtPolicy",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Decide"
+                                            },
+                                            "trigger": {
+                                                "name": "VPNCustomerCtxtEstablishEvent",
+                                                "version": "0.0.1"
+                                            },
+                                            "stateOutputs": {
+                                                "entry": [
+                                                    {
+                                                        "key": "Decide_Act",
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "VPNCustomerCtxtPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Decide",
+                                                                "localName": "Decide_Act"
+                                                            },
+                                                            "outgoingEvent": {
+                                                                "name": "VPNCustomerCtxtDecideEvent",
+                                                                "version": "0.0.1"
+                                                            },
+                                                            "nextState": {
+                                                                "parentKeyName": "VPNCustomerCtxtPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "NULL",
+                                                                "localName": "Act"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            },
+                                            "contextAlbumReference": [],
+                                            "taskSelectionLogic": {
+                                                "key": "NULL",
+                                                "logicFlavour": "UNDEFINED",
+                                                "logic": ""
+                                            },
+                                            "stateFinalizerLogicMap": {
+                                                "entry": []
+                                            },
+                                            "defaultTask": {
+                                                "name": "VPNCustomerCtxtDecideTask",
+                                                "version": "0.0.1"
+                                            },
+                                            "taskReferences": {
+                                                "entry": [
+                                                    {
+                                                        "key": {
+                                                            "name": "VPNCustomerCtxtDecideTask",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "VPNCustomerCtxtPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Decide",
+                                                                "localName": "VPNCustomerCtxtDecideTask_DIRECT_Decide_Act"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "VPNCustomerCtxtPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Decide",
+                                                                "localName": "Decide_Act"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "Establish",
+                                        "value": {
+                                            "stateKey": {
+                                                "parentKeyName": "VPNCustomerCtxtPolicy",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Establish"
+                                            },
+                                            "trigger": {
+                                                "name": "VPNCustomerCtxtMatchEvent",
+                                                "version": "0.0.1"
+                                            },
+                                            "stateOutputs": {
+                                                "entry": [
+                                                    {
+                                                        "key": "Establish_Decide",
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "VPNCustomerCtxtPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Establish",
+                                                                "localName": "Establish_Decide"
+                                                            },
+                                                            "outgoingEvent": {
+                                                                "name": "VPNCustomerCtxtEstablishEvent",
+                                                                "version": "0.0.1"
+                                                            },
+                                                            "nextState": {
+                                                                "parentKeyName": "VPNCustomerCtxtPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "NULL",
+                                                                "localName": "Decide"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            },
+                                            "contextAlbumReference": [],
+                                            "taskSelectionLogic": {
+                                                "key": "NULL",
+                                                "logicFlavour": "UNDEFINED",
+                                                "logic": ""
+                                            },
+                                            "stateFinalizerLogicMap": {
+                                                "entry": []
+                                            },
+                                            "defaultTask": {
+                                                "name": "VPNCustomerCtxtEstablishTask",
+                                                "version": "0.0.1"
+                                            },
+                                            "taskReferences": {
+                                                "entry": [
+                                                    {
+                                                        "key": {
+                                                            "name": "VPNCustomerCtxtEstablishTask",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "VPNCustomerCtxtPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Establish",
+                                                                "localName": "VPNCustomerCtxtEstablishTask_DIRECT_Establish_Decide"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "VPNCustomerCtxtPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Establish",
+                                                                "localName": "Establish_Decide"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "Match",
+                                        "value": {
+                                            "stateKey": {
+                                                "parentKeyName": "VPNCustomerCtxtPolicy",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Match"
+                                            },
+                                            "trigger": {
+                                                "name": "VPNCustomerCtxtTriggerEvent",
+                                                "version": "0.0.1"
+                                            },
+                                            "stateOutputs": {
+                                                "entry": [
+                                                    {
+                                                        "key": "Match_Establish",
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "VPNCustomerCtxtPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Match",
+                                                                "localName": "Match_Establish"
+                                                            },
+                                                            "outgoingEvent": {
+                                                                "name": "VPNCustomerCtxtMatchEvent",
+                                                                "version": "0.0.1"
+                                                            },
+                                                            "nextState": {
+                                                                "parentKeyName": "VPNCustomerCtxtPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "NULL",
+                                                                "localName": "Establish"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            },
+                                            "contextAlbumReference": [],
+                                            "taskSelectionLogic": {
+                                                "key": "NULL",
+                                                "logicFlavour": "UNDEFINED",
+                                                "logic": ""
+                                            },
+                                            "stateFinalizerLogicMap": {
+                                                "entry": []
+                                            },
+                                            "defaultTask": {
+                                                "name": "VPNCustomerCtxtMatchTask",
+                                                "version": "0.0.1"
+                                            },
+                                            "taskReferences": {
+                                                "entry": [
+                                                    {
+                                                        "key": {
+                                                            "name": "VPNCustomerCtxtMatchTask",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "VPNCustomerCtxtPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Match",
+                                                                "localName": "VPNCustomerCtxtMatchTask_DIRECT_Match_Establish"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "VPNCustomerCtxtPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Match",
+                                                                "localName": "Match_Establish"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            }
+                                        }
+                                    }
+                                ]
+                            },
+                            "firstState": "Match"
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNLinkCtxtPolicy",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "policyKey": {
+                                "name": "VPNLinkCtxtPolicy",
+                                "version": "0.0.1"
+                            },
+                            "template": "MEDA",
+                            "state": {
+                                "entry": [
+                                    {
+                                        "key": "Act",
+                                        "value": {
+                                            "stateKey": {
+                                                "parentKeyName": "VPNLinkCtxtPolicy",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Act"
+                                            },
+                                            "trigger": {
+                                                "name": "VPNLinkCtxtDecideEvent",
+                                                "version": "0.0.1"
+                                            },
+                                            "stateOutputs": {
+                                                "entry": [
+                                                    {
+                                                        "key": "Act_NULL",
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "VPNLinkCtxtPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Act",
+                                                                "localName": "Act_NULL"
+                                                            },
+                                                            "outgoingEvent": {
+                                                                "name": "VPNLinkCtxtActEvent",
+                                                                "version": "0.0.1"
+                                                            },
+                                                            "nextState": {
+                                                                "parentKeyName": "NULL",
+                                                                "parentKeyVersion": "0.0.0",
+                                                                "parentLocalName": "NULL",
+                                                                "localName": "NULL"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            },
+                                            "contextAlbumReference": [],
+                                            "taskSelectionLogic": {
+                                                "key": "NULL",
+                                                "logicFlavour": "UNDEFINED",
+                                                "logic": ""
+                                            },
+                                            "stateFinalizerLogicMap": {
+                                                "entry": []
+                                            },
+                                            "defaultTask": {
+                                                "name": "VPNLinkCtxtActTask",
+                                                "version": "0.0.1"
+                                            },
+                                            "taskReferences": {
+                                                "entry": [
+                                                    {
+                                                        "key": {
+                                                            "name": "VPNLinkCtxtActTask",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "VPNLinkCtxtPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Act",
+                                                                "localName": "VPNLinkCtxtActTask_DIRECT_Act_NULL"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "VPNLinkCtxtPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Act",
+                                                                "localName": "Act_NULL"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "Decide",
+                                        "value": {
+                                            "stateKey": {
+                                                "parentKeyName": "VPNLinkCtxtPolicy",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Decide"
+                                            },
+                                            "trigger": {
+                                                "name": "VPNLinkCtxtEstablishEvent",
+                                                "version": "0.0.1"
+                                            },
+                                            "stateOutputs": {
+                                                "entry": [
+                                                    {
+                                                        "key": "Decide_Act",
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "VPNLinkCtxtPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Decide",
+                                                                "localName": "Decide_Act"
+                                                            },
+                                                            "outgoingEvent": {
+                                                                "name": "VPNLinkCtxtDecideEvent",
+                                                                "version": "0.0.1"
+                                                            },
+                                                            "nextState": {
+                                                                "parentKeyName": "VPNLinkCtxtPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "NULL",
+                                                                "localName": "Act"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            },
+                                            "contextAlbumReference": [],
+                                            "taskSelectionLogic": {
+                                                "key": "NULL",
+                                                "logicFlavour": "UNDEFINED",
+                                                "logic": ""
+                                            },
+                                            "stateFinalizerLogicMap": {
+                                                "entry": []
+                                            },
+                                            "defaultTask": {
+                                                "name": "VPNLinkCtxtDecideTask",
+                                                "version": "0.0.1"
+                                            },
+                                            "taskReferences": {
+                                                "entry": [
+                                                    {
+                                                        "key": {
+                                                            "name": "VPNLinkCtxtDecideTask",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "VPNLinkCtxtPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Decide",
+                                                                "localName": "VPNLinkCtxtDecideTask_DIRECT_Decide_Act"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "VPNLinkCtxtPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Decide",
+                                                                "localName": "Decide_Act"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "Establish",
+                                        "value": {
+                                            "stateKey": {
+                                                "parentKeyName": "VPNLinkCtxtPolicy",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Establish"
+                                            },
+                                            "trigger": {
+                                                "name": "VPNLinkCtxtMatchEvent",
+                                                "version": "0.0.1"
+                                            },
+                                            "stateOutputs": {
+                                                "entry": [
+                                                    {
+                                                        "key": "Establish_Decide",
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "VPNLinkCtxtPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Establish",
+                                                                "localName": "Establish_Decide"
+                                                            },
+                                                            "outgoingEvent": {
+                                                                "name": "VPNLinkCtxtEstablishEvent",
+                                                                "version": "0.0.1"
+                                                            },
+                                                            "nextState": {
+                                                                "parentKeyName": "VPNLinkCtxtPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "NULL",
+                                                                "localName": "Decide"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            },
+                                            "contextAlbumReference": [],
+                                            "taskSelectionLogic": {
+                                                "key": "NULL",
+                                                "logicFlavour": "UNDEFINED",
+                                                "logic": ""
+                                            },
+                                            "stateFinalizerLogicMap": {
+                                                "entry": []
+                                            },
+                                            "defaultTask": {
+                                                "name": "VPNLinkCtxtEstablishTask",
+                                                "version": "0.0.1"
+                                            },
+                                            "taskReferences": {
+                                                "entry": [
+                                                    {
+                                                        "key": {
+                                                            "name": "VPNLinkCtxtEstablishTask",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "VPNLinkCtxtPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Establish",
+                                                                "localName": "VPNLinkCtxtEstablishTask_DIRECT_Establish_Decide"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "VPNLinkCtxtPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Establish",
+                                                                "localName": "Establish_Decide"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "Match",
+                                        "value": {
+                                            "stateKey": {
+                                                "parentKeyName": "VPNLinkCtxtPolicy",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Match"
+                                            },
+                                            "trigger": {
+                                                "name": "VPNLinkCtxtTriggerEvent",
+                                                "version": "0.0.1"
+                                            },
+                                            "stateOutputs": {
+                                                "entry": [
+                                                    {
+                                                        "key": "Match_Establish",
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "VPNLinkCtxtPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Match",
+                                                                "localName": "Match_Establish"
+                                                            },
+                                                            "outgoingEvent": {
+                                                                "name": "VPNLinkCtxtMatchEvent",
+                                                                "version": "0.0.1"
+                                                            },
+                                                            "nextState": {
+                                                                "parentKeyName": "VPNLinkCtxtPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "NULL",
+                                                                "localName": "Establish"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            },
+                                            "contextAlbumReference": [],
+                                            "taskSelectionLogic": {
+                                                "key": "NULL",
+                                                "logicFlavour": "UNDEFINED",
+                                                "logic": ""
+                                            },
+                                            "stateFinalizerLogicMap": {
+                                                "entry": []
+                                            },
+                                            "defaultTask": {
+                                                "name": "VPNLinkCtxtMatchTask",
+                                                "version": "0.0.1"
+                                            },
+                                            "taskReferences": {
+                                                "entry": [
+                                                    {
+                                                        "key": {
+                                                            "name": "VPNLinkCtxtMatchTask",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "VPNLinkCtxtPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Match",
+                                                                "localName": "VPNLinkCtxtMatchTask_DIRECT_Match_Establish"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "VPNLinkCtxtPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Match",
+                                                                "localName": "Match_Establish"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            }
+                                        }
+                                    }
+                                ]
+                            },
+                            "firstState": "Match"
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNPolicy",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "policyKey": {
+                                "name": "VPNPolicy",
+                                "version": "0.0.1"
+                            },
+                            "template": "MEDA",
+                            "state": {
+                                "entry": [
+                                    {
+                                        "key": "Act",
+                                        "value": {
+                                            "stateKey": {
+                                                "parentKeyName": "VPNPolicy",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Act"
+                                            },
+                                            "trigger": {
+                                                "name": "VPNDecideEvent",
+                                                "version": "0.0.1"
+                                            },
+                                            "stateOutputs": {
+                                                "entry": [
+                                                    {
+                                                        "key": "Act_NULL",
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "VPNPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Act",
+                                                                "localName": "Act_NULL"
+                                                            },
+                                                            "outgoingEvent": {
+                                                                "name": "VPNActEvent",
+                                                                "version": "0.0.1"
+                                                            },
+                                                            "nextState": {
+                                                                "parentKeyName": "NULL",
+                                                                "parentKeyVersion": "0.0.0",
+                                                                "parentLocalName": "NULL",
+                                                                "localName": "NULL"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            },
+                                            "contextAlbumReference": [],
+                                            "taskSelectionLogic": {
+                                                "key": "TaskSelectionLogic",
+                                                "logicFlavour": "MVEL",
+                                                "logic": "logger.debug(subject.id + \":\" + subject.stateName);\nsubject.defaultTaskKey.copyTo(selectedTask)\nlogger.debug(subject.id + \":\" + subject.stateName + \", using default task\" + subject.defaultTaskKey);\nreturn true;"
+                                            },
+                                            "stateFinalizerLogicMap": {
+                                                "entry": []
+                                            },
+                                            "defaultTask": {
+                                                "name": "VPNActTask",
+                                                "version": "0.0.1"
+                                            },
+                                            "taskReferences": {
+                                                "entry": [
+                                                    {
+                                                        "key": {
+                                                            "name": "VPNActTask",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "VPNPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Act",
+                                                                "localName": "VPNActTask_DIRECT_Act_NULL"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "VPNPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Act",
+                                                                "localName": "Act_NULL"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "Decide",
+                                        "value": {
+                                            "stateKey": {
+                                                "parentKeyName": "VPNPolicy",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Decide"
+                                            },
+                                            "trigger": {
+                                                "name": "VPNEstablishEvent",
+                                                "version": "0.0.1"
+                                            },
+                                            "stateOutputs": {
+                                                "entry": [
+                                                    {
+                                                        "key": "Decide_Act",
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "VPNPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Decide",
+                                                                "localName": "Decide_Act"
+                                                            },
+                                                            "outgoingEvent": {
+                                                                "name": "VPNDecideEvent",
+                                                                "version": "0.0.1"
+                                                            },
+                                                            "nextState": {
+                                                                "parentKeyName": "VPNPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "NULL",
+                                                                "localName": "Act"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            },
+                                            "contextAlbumReference": [],
+                                            "taskSelectionLogic": {
+                                                "key": "TaskSelectionLogic",
+                                                "logicFlavour": "MVEL",
+                                                "logic": "logger.debug(subject.id + \":\" + subject.stateName);\nlogger.debug(inFields);\n\nString incomingLink = inFields[\"Link\"];\nString incomingProblemStatus = inFields[\"ProblemStatus\"];\n\n/* 0 label=VPNDecideTask */\n\nif (incomingLink.equals(\"L09\") && incomingProblemStatus.equals(\"NEWPROBLEM\")) {\n\tSystem.err.println(\"l9 NEWPROBLEM\");\n\tsubject.getTaskKey(\"VPNDecideSLATask\").copyTo(selectedTask);\n\treturn true;\n}\nelse if (incomingLink.equals(\"L09\") && inFields[\"ProblemStatus\"].equals(\"NEWSOLVED\")) {\n\tSystem.err.println(\"l9 NEWSOLVED\");\n\tsubject.getTaskKey(\"VPNDecideSolvedTask\").copyTo(selectedTask);\n\treturn true;\n}\nelse if (incomingLink.equals(\"L10\") && incomingProblemStatus.equals(\"NEWPROBLEM\")) {\n\tSystem.err.println(\"l10 NEWPROBLEM\");\n\tsubject.getTaskKey(\"VPNDecidePriorityTask\").copyTo(selectedTask);\n\treturn true;\n}\nelse if (incomingLink.equals(\"L10\") && incomingProblemStatus.equals(\"NEWSOLVED\")) {\n\tSystem.err.println(\"l10 NEWSOLVED\");\n\tsubject.getTaskKey(\"VPNDecideSolvedTask\").copyTo(selectedTask);\n\treturn true;\n}\nelse {\n\tsubject.defaultTaskKey.copyTo(selectedTask);\n\treturn true;\n}"
+                                            },
+                                            "stateFinalizerLogicMap": {
+                                                "entry": []
+                                            },
+                                            "defaultTask": {
+                                                "name": "VPNDecideTask",
+                                                "version": "0.0.1"
+                                            },
+                                            "taskReferences": {
+                                                "entry": [
+                                                    {
+                                                        "key": {
+                                                            "name": "VPNDecidePriorityTask",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "VPNPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Decide",
+                                                                "localName": "VPNDecidePriorityTask_DIRECT_Decide_Act"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "VPNPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Decide",
+                                                                "localName": "Decide_Act"
+                                                            }
+                                                        }
+                                                    },
+                                                    {
+                                                        "key": {
+                                                            "name": "VPNDecideSLATask",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "VPNPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Decide",
+                                                                "localName": "VPNDecideSLATask_DIRECT_Decide_Act"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "VPNPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Decide",
+                                                                "localName": "Decide_Act"
+                                                            }
+                                                        }
+                                                    },
+                                                    {
+                                                        "key": {
+                                                            "name": "VPNDecideSolvedTask",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "VPNPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Decide",
+                                                                "localName": "VPNDecideSolvedTask_DIRECT_Decide_Act"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "VPNPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Decide",
+                                                                "localName": "Decide_Act"
+                                                            }
+                                                        }
+                                                    },
+                                                    {
+                                                        "key": {
+                                                            "name": "VPNDecideTask",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "VPNPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Decide",
+                                                                "localName": "VPNDecideTask_DIRECT_Decide_Act"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "VPNPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Decide",
+                                                                "localName": "Decide_Act"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "Establish",
+                                        "value": {
+                                            "stateKey": {
+                                                "parentKeyName": "VPNPolicy",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Establish"
+                                            },
+                                            "trigger": {
+                                                "name": "VPNMatchEvent",
+                                                "version": "0.0.1"
+                                            },
+                                            "stateOutputs": {
+                                                "entry": [
+                                                    {
+                                                        "key": "Establish_Decide",
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "VPNPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Establish",
+                                                                "localName": "Establish_Decide"
+                                                            },
+                                                            "outgoingEvent": {
+                                                                "name": "VPNEstablishEvent",
+                                                                "version": "0.0.1"
+                                                            },
+                                                            "nextState": {
+                                                                "parentKeyName": "VPNPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "NULL",
+                                                                "localName": "Decide"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            },
+                                            "contextAlbumReference": [],
+                                            "taskSelectionLogic": {
+                                                "key": "TaskSelectionLogic",
+                                                "logicFlavour": "MVEL",
+                                                "logic": "logger.debug(subject.id + \":\" + subject.stateName);\nsubject.defaultTaskKey.copyTo(selectedTask)\nlogger.debug(subject.id + \":\" + subject.stateName + \", using default task\" + subject.defaultTaskKey);\nreturn true;"
+                                            },
+                                            "stateFinalizerLogicMap": {
+                                                "entry": []
+                                            },
+                                            "defaultTask": {
+                                                "name": "VPNEstablishTask",
+                                                "version": "0.0.1"
+                                            },
+                                            "taskReferences": {
+                                                "entry": [
+                                                    {
+                                                        "key": {
+                                                            "name": "VPNEstablishTask",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "VPNPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Establish",
+                                                                "localName": "VPNEstablishTask_DIRECT_Establish_Decide"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "VPNPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Establish",
+                                                                "localName": "Establish_Decide"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            }
+                                        }
+                                    },
+                                    {
+                                        "key": "Match",
+                                        "value": {
+                                            "stateKey": {
+                                                "parentKeyName": "VPNPolicy",
+                                                "parentKeyVersion": "0.0.1",
+                                                "parentLocalName": "NULL",
+                                                "localName": "Match"
+                                            },
+                                            "trigger": {
+                                                "name": "VPNTriggerEvent",
+                                                "version": "0.0.1"
+                                            },
+                                            "stateOutputs": {
+                                                "entry": [
+                                                    {
+                                                        "key": "Match_Establish",
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "VPNPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Match",
+                                                                "localName": "Match_Establish"
+                                                            },
+                                                            "outgoingEvent": {
+                                                                "name": "VPNMatchEvent",
+                                                                "version": "0.0.1"
+                                                            },
+                                                            "nextState": {
+                                                                "parentKeyName": "VPNPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "NULL",
+                                                                "localName": "Establish"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            },
+                                            "contextAlbumReference": [],
+                                            "taskSelectionLogic": {
+                                                "key": "TaskSelectionLogic",
+                                                "logicFlavour": "MVEL",
+                                                "logic": "logger.debug(subject.id + \":\" + subject.stateName);\nsubject.defaultTaskKey.copyTo(selectedTask)\nlogger.debug(subject.id + \":\" + subject.stateName + \", using default task\" + subject.defaultTaskKey);\nreturn true;"
+                                            },
+                                            "stateFinalizerLogicMap": {
+                                                "entry": []
+                                            },
+                                            "defaultTask": {
+                                                "name": "VPNMatchTask",
+                                                "version": "0.0.1"
+                                            },
+                                            "taskReferences": {
+                                                "entry": [
+                                                    {
+                                                        "key": {
+                                                            "name": "VPNMatchTask",
+                                                            "version": "0.0.1"
+                                                        },
+                                                        "value": {
+                                                            "key": {
+                                                                "parentKeyName": "VPNPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Match",
+                                                                "localName": "VPNMatchTask_DIRECT_Match_Establish"
+                                                            },
+                                                            "outputType": "DIRECT",
+                                                            "output": {
+                                                                "parentKeyName": "VPNPolicy",
+                                                                "parentKeyVersion": "0.0.1",
+                                                                "parentLocalName": "Match",
+                                                                "localName": "Match_Establish"
+                                                            }
+                                                        }
+                                                    }
+                                                ]
+                                            }
+                                        }
+                                    }
+                                ]
+                            },
+                            "firstState": "Match"
+                        }
+                    }
+                ]
+            }
+        },
+        "tasks": {
+            "key": {
+                "name": "VPNTasks",
+                "version": "0.0.1"
+            },
+            "taskMap": {
+                "entry": [
+                    {
+                        "key": {
+                            "name": "VPNActTask",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNActTask",
+                                "version": "0.0.1"
+                            },
+                            "inputFields": {
+                                "entry": [
+                                    {
+                                        "key": "Action",
+                                        "value": {
+                                            "key": "Action",
+                                            "fieldSchemaKey": {
+                                                "name": "Action",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "AffectedCustomers",
+                                        "value": {
+                                            "key": "AffectedCustomers",
+                                            "fieldSchemaKey": {
+                                                "name": "AffectedCustomers",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "Link",
+                                        "value": {
+                                            "key": "Link",
+                                            "fieldSchemaKey": {
+                                                "name": "Link",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "ProblemStatus",
+                                        "value": {
+                                            "key": "ProblemStatus",
+                                            "fieldSchemaKey": {
+                                                "name": "ProblemStatus",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "outputFields": {
+                                "entry": [
+                                    {
+                                        "key": "CustomerMap",
+                                        "value": {
+                                            "key": "CustomerMap",
+                                            "fieldSchemaKey": {
+                                                "name": "CustomerMap",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "LinkMap",
+                                        "value": {
+                                            "key": "LinkMap",
+                                            "fieldSchemaKey": {
+                                                "name": "LinkMap",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "taskParameters": {
+                                "entry": []
+                            },
+                            "contextAlbumReference": [
+                                {
+                                    "name": "VPNCustomerAlbum",
+                                    "version": "0.0.1"
+                                },
+                                {
+                                    "name": "VPNLinkAlbum",
+                                    "version": "0.0.1"
+                                },
+                                {
+                                    "name": "VPNProblemAlbum",
+                                    "version": "0.0.1"
+                                }
+                            ],
+                            "taskLogic": {
+                                "key": "TaskLogic",
+                                "logicFlavour": "MVEL",
+                                "logic": "import org.onap.policy.apex.domains.vpn.java.concepts.VPNLink;\nimport org.onap.policy.apex.domains.vpn.java.concepts.VPNLinkMap;\nimport org.onap.policy.apex.domains.vpn.java.concepts.VPNCustomer;\nimport org.onap.policy.apex.domains.vpn.java.concepts.VPNCustomerMap;\n\nlogger.debug(subject.id + \":\" + subject.taskName);\n\nSystem.err.println(inFields);\nlogger.debug(subject.id);\n\nSystem.err.println(\"*** Links ***\");\nfor (VPNLink link: getContextAlbum(\"VPNLinkAlbum\").values()) {\n    System.err.println(link.getName() + \"\\t\" + link.getActive());\n}\n\nSystem.err.println(\"*** Customers ***\");\nfor (VPNCustomer customer: getContextAlbum(\"VPNCustomerAlbum\").values()) {\n    System.err.println(\n    \t       customer.getName()  + \"\\t\" +\n\t\t       customer.getSlaDT() + \"\\t\" +\n\t\t       customer.getYtdDT() + \"\\t\" + \n\t\t       customer.getLinksInUseAsString());\n}\n\nVPNLinkMap linkMap = new VPNLinkMap();\nlinkMap.putAll(getContextAlbum(\"VPNLinkAlbum\"));\noutFields[\"LinkMap\"] = linkMap;\n\nVPNCustomerMap customerMap = new VPNCustomerMap();\ncustomerMap.putAll(getContextAlbum(\"VPNCustomerAlbum\"));\noutFields[\"CustomerMap\"] = customerMap;\n\nSystem.err.println(\"outFields: \" + outFields);\n\nreturn true;"
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNCustomerCtxtActTask",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNCustomerCtxtActTask",
+                                "version": "0.0.1"
+                            },
+                            "inputFields": {
+                                "entry": [
+                                    {
+                                        "key": "CustomerName",
+                                        "value": {
+                                            "key": "CustomerName",
+                                            "fieldSchemaKey": {
+                                                "name": "CustomerName",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "LinkList",
+                                        "value": {
+                                            "key": "LinkList",
+                                            "fieldSchemaKey": {
+                                                "name": "LinkList",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "SlaDT",
+                                        "value": {
+                                            "key": "SlaDT",
+                                            "fieldSchemaKey": {
+                                                "name": "SlaDT",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "YtdDT",
+                                        "value": {
+                                            "key": "YtdDT",
+                                            "fieldSchemaKey": {
+                                                "name": "YtdDT",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "outputFields": {
+                                "entry": [
+                                    {
+                                        "key": "CustomerName",
+                                        "value": {
+                                            "key": "CustomerName",
+                                            "fieldSchemaKey": {
+                                                "name": "CustomerName",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "LinkList",
+                                        "value": {
+                                            "key": "LinkList",
+                                            "fieldSchemaKey": {
+                                                "name": "LinkList",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "SlaDT",
+                                        "value": {
+                                            "key": "SlaDT",
+                                            "fieldSchemaKey": {
+                                                "name": "SlaDT",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "YtdDT",
+                                        "value": {
+                                            "key": "YtdDT",
+                                            "fieldSchemaKey": {
+                                                "name": "YtdDT",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "taskParameters": {
+                                "entry": []
+                            },
+                            "contextAlbumReference": [
+                                {
+                                    "name": "VPNCustomerAlbum",
+                                    "version": "0.0.1"
+                                },
+                                {
+                                    "name": "VPNLinkAlbum",
+                                    "version": "0.0.1"
+                                }
+                            ],
+                            "taskLogic": {
+                                "key": "TaskLogic",
+                                "logicFlavour": "MVEL",
+                                "logic": "import org.onap.policy.apex.domains.vpn.java.concepts.VPNCustomer;\nimport org.onap.policy.apex.domains.vpn.java.concepts.VPNLink;\n\nlogger.debug(subject.id);\nSystem.err.println(inFields);\n\nString vpnCustomerName = inFields[\"CustomerName\"];\nVPNCustomer vpnCustomer = getContextAlbum(\"VPNCustomerAlbum\").get(vpnCustomerName);\nif (vpnCustomer == null) {\n    vpnCustomer = new VPNCustomer(vpnCustomerName);\n\t getContextAlbum(\"VPNCustomerAlbum\").put(vpnCustomerName, vpnCustomer);\n}\nvpnCustomer.setSlaDT(inFields[\"SlaDT\"]);\nvpnCustomer.setYtdDT(inFields[\"YtdDT\"]);\n\nfor (String usedLinkName: inFields[\"LinkList\"].split(\" \")) {\n\tVPNLink vpnLink = getContextAlbum(\"VPNLinkAlbum\").get(usedLinkName);\n\tif (vpnLink != null) {\n\t\tvpnCustomer.getLinksInUse().add(vpnLink);\n\t}\n\telse {\n\t\tSystem.err.println(\"unknown link \\\\\"\" + usedLinkName + \"\\\\\" specified on customer \\\\\"\" + vpnCustomerName + \"\\\\\"\");\n\t}\n}\n\nSystem.err.println(\"*** Customers ***\");\nfor (VPNCustomer customer: getContextAlbum(\"VPNCustomerAlbum\").values()) {\n    System.err.println(\n    \t       customer.getName()  + \"\\t\" +\n\t\t       customer.getSlaDT() + \"\\t\" +\n\t\t       customer.getYtdDT() + \"\\t\" + \n\t\t       customer.getLinksInUseAsString());\n}\n\noutFields[\"CustomerName\"] = vpnCustomer.getName();\noutFields[\"LinkList\"]     = vpnCustomer.getLinksInUseAsString();\noutFields[\"SlaDT\"]        = vpnCustomer.getSlaDT();\noutFields[\"YtdDT\"]        = vpnCustomer.getYtdDT();\n\nSystem.err.println(\"outFields: \" + outFields);\n\nreturn true;"
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNCustomerCtxtDecideTask",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNCustomerCtxtDecideTask",
+                                "version": "0.0.1"
+                            },
+                            "inputFields": {
+                                "entry": [
+                                    {
+                                        "key": "CustomerName",
+                                        "value": {
+                                            "key": "CustomerName",
+                                            "fieldSchemaKey": {
+                                                "name": "CustomerName",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "LinkList",
+                                        "value": {
+                                            "key": "LinkList",
+                                            "fieldSchemaKey": {
+                                                "name": "LinkList",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "SlaDT",
+                                        "value": {
+                                            "key": "SlaDT",
+                                            "fieldSchemaKey": {
+                                                "name": "SlaDT",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "YtdDT",
+                                        "value": {
+                                            "key": "YtdDT",
+                                            "fieldSchemaKey": {
+                                                "name": "YtdDT",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "outputFields": {
+                                "entry": [
+                                    {
+                                        "key": "CustomerName",
+                                        "value": {
+                                            "key": "CustomerName",
+                                            "fieldSchemaKey": {
+                                                "name": "CustomerName",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "LinkList",
+                                        "value": {
+                                            "key": "LinkList",
+                                            "fieldSchemaKey": {
+                                                "name": "LinkList",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "SlaDT",
+                                        "value": {
+                                            "key": "SlaDT",
+                                            "fieldSchemaKey": {
+                                                "name": "SlaDT",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "YtdDT",
+                                        "value": {
+                                            "key": "YtdDT",
+                                            "fieldSchemaKey": {
+                                                "name": "YtdDT",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "taskParameters": {
+                                "entry": []
+                            },
+                            "contextAlbumReference": [],
+                            "taskLogic": {
+                                "key": "TaskLogic",
+                                "logicFlavour": "MVEL",
+                                "logic": "logger.debug(subject.id + \":\" + subject.taskName);\nlogger.debug(inFields);\nlogger.debug(outFields);\n\nreturn true;"
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNCustomerCtxtEstablishTask",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNCustomerCtxtEstablishTask",
+                                "version": "0.0.1"
+                            },
+                            "inputFields": {
+                                "entry": [
+                                    {
+                                        "key": "CustomerName",
+                                        "value": {
+                                            "key": "CustomerName",
+                                            "fieldSchemaKey": {
+                                                "name": "CustomerName",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "LinkList",
+                                        "value": {
+                                            "key": "LinkList",
+                                            "fieldSchemaKey": {
+                                                "name": "LinkList",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "SlaDT",
+                                        "value": {
+                                            "key": "SlaDT",
+                                            "fieldSchemaKey": {
+                                                "name": "SlaDT",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "YtdDT",
+                                        "value": {
+                                            "key": "YtdDT",
+                                            "fieldSchemaKey": {
+                                                "name": "YtdDT",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "outputFields": {
+                                "entry": [
+                                    {
+                                        "key": "CustomerName",
+                                        "value": {
+                                            "key": "CustomerName",
+                                            "fieldSchemaKey": {
+                                                "name": "CustomerName",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "LinkList",
+                                        "value": {
+                                            "key": "LinkList",
+                                            "fieldSchemaKey": {
+                                                "name": "LinkList",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "SlaDT",
+                                        "value": {
+                                            "key": "SlaDT",
+                                            "fieldSchemaKey": {
+                                                "name": "SlaDT",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "YtdDT",
+                                        "value": {
+                                            "key": "YtdDT",
+                                            "fieldSchemaKey": {
+                                                "name": "YtdDT",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "taskParameters": {
+                                "entry": []
+                            },
+                            "contextAlbumReference": [],
+                            "taskLogic": {
+                                "key": "TaskLogic",
+                                "logicFlavour": "MVEL",
+                                "logic": "logger.debug(subject.id + \":\" + subject.taskName);\nlogger.debug(inFields);\nlogger.debug(outFields);\n\nreturn true;"
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNCustomerCtxtMatchTask",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNCustomerCtxtMatchTask",
+                                "version": "0.0.1"
+                            },
+                            "inputFields": {
+                                "entry": [
+                                    {
+                                        "key": "CustomerName",
+                                        "value": {
+                                            "key": "CustomerName",
+                                            "fieldSchemaKey": {
+                                                "name": "CustomerName",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "LinkList",
+                                        "value": {
+                                            "key": "LinkList",
+                                            "fieldSchemaKey": {
+                                                "name": "LinkList",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "SlaDT",
+                                        "value": {
+                                            "key": "SlaDT",
+                                            "fieldSchemaKey": {
+                                                "name": "SlaDT",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "YtdDT",
+                                        "value": {
+                                            "key": "YtdDT",
+                                            "fieldSchemaKey": {
+                                                "name": "YtdDT",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "outputFields": {
+                                "entry": [
+                                    {
+                                        "key": "CustomerName",
+                                        "value": {
+                                            "key": "CustomerName",
+                                            "fieldSchemaKey": {
+                                                "name": "CustomerName",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "LinkList",
+                                        "value": {
+                                            "key": "LinkList",
+                                            "fieldSchemaKey": {
+                                                "name": "LinkList",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "SlaDT",
+                                        "value": {
+                                            "key": "SlaDT",
+                                            "fieldSchemaKey": {
+                                                "name": "SlaDT",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "YtdDT",
+                                        "value": {
+                                            "key": "YtdDT",
+                                            "fieldSchemaKey": {
+                                                "name": "YtdDT",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "taskParameters": {
+                                "entry": []
+                            },
+                            "contextAlbumReference": [],
+                            "taskLogic": {
+                                "key": "TaskLogic",
+                                "logicFlavour": "MVEL",
+                                "logic": "logger.debug(subject.id + \":\" + subject.taskName);\nlogger.debug(inFields);\nlogger.debug(outFields);\n\nreturn true;"
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNDecidePriorityTask",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNDecidePriorityTask",
+                                "version": "0.0.1"
+                            },
+                            "inputFields": {
+                                "entry": [
+                                    {
+                                        "key": "AffectedCustomers",
+                                        "value": {
+                                            "key": "AffectedCustomers",
+                                            "fieldSchemaKey": {
+                                                "name": "AffectedCustomers",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "Link",
+                                        "value": {
+                                            "key": "Link",
+                                            "fieldSchemaKey": {
+                                                "name": "Link",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "ProblemStatus",
+                                        "value": {
+                                            "key": "ProblemStatus",
+                                            "fieldSchemaKey": {
+                                                "name": "ProblemStatus",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "outputFields": {
+                                "entry": [
+                                    {
+                                        "key": "Action",
+                                        "value": {
+                                            "key": "Action",
+                                            "fieldSchemaKey": {
+                                                "name": "Action",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "AffectedCustomers",
+                                        "value": {
+                                            "key": "AffectedCustomers",
+                                            "fieldSchemaKey": {
+                                                "name": "AffectedCustomers",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "Link",
+                                        "value": {
+                                            "key": "Link",
+                                            "fieldSchemaKey": {
+                                                "name": "Link",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "ProblemStatus",
+                                        "value": {
+                                            "key": "ProblemStatus",
+                                            "fieldSchemaKey": {
+                                                "name": "ProblemStatus",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "taskParameters": {
+                                "entry": []
+                            },
+                            "contextAlbumReference": [
+                                {
+                                    "name": "VPNCustomerAlbum",
+                                    "version": "0.0.1"
+                                },
+                                {
+                                    "name": "VPNLinkAlbum",
+                                    "version": "0.0.1"
+                                },
+                                {
+                                    "name": "VPNProblemAlbum",
+                                    "version": "0.0.1"
+                                }
+                            ],
+                            "taskLogic": {
+                                "key": "TaskLogic",
+                                "logicFlavour": "MVEL",
+                                "logic": "import org.onap.policy.apex.domains.vpn.java.concepts.VPNCustomerArray;\n\nlogger.debug(subject.id + \":\" + subject.taskName);\n\nlogger.debug(\"VPNDecidePriorityTask execution logic-Praveen\");\nlogger.debug(inFields);\noutFields[\"Link\"] = inFields[\"Link\"];\noutFields[\"Action\"] = \"Disconnect customers based on Priority\";\n\nVPNCustomerArray affectedCustomersArray = new VPNCustomerArray();\naffectedCustomersArray.addCustomer(\"A\");\noutFields[\"AffectedCustomers\"] = affectedCustomersArray;\n\nSystem.err.println(\"outFields: \" + outFields);\n\nreturn true;"
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNDecideSLATask",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNDecideSLATask",
+                                "version": "0.0.1"
+                            },
+                            "inputFields": {
+                                "entry": [
+                                    {
+                                        "key": "AffectedCustomers",
+                                        "value": {
+                                            "key": "AffectedCustomers",
+                                            "fieldSchemaKey": {
+                                                "name": "AffectedCustomers",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "Link",
+                                        "value": {
+                                            "key": "Link",
+                                            "fieldSchemaKey": {
+                                                "name": "Link",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "ProblemStatus",
+                                        "value": {
+                                            "key": "ProblemStatus",
+                                            "fieldSchemaKey": {
+                                                "name": "ProblemStatus",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "outputFields": {
+                                "entry": [
+                                    {
+                                        "key": "Action",
+                                        "value": {
+                                            "key": "Action",
+                                            "fieldSchemaKey": {
+                                                "name": "Action",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "AffectedCustomers",
+                                        "value": {
+                                            "key": "AffectedCustomers",
+                                            "fieldSchemaKey": {
+                                                "name": "AffectedCustomers",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "Link",
+                                        "value": {
+                                            "key": "Link",
+                                            "fieldSchemaKey": {
+                                                "name": "Link",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "ProblemStatus",
+                                        "value": {
+                                            "key": "ProblemStatus",
+                                            "fieldSchemaKey": {
+                                                "name": "ProblemStatus",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "taskParameters": {
+                                "entry": []
+                            },
+                            "contextAlbumReference": [
+                                {
+                                    "name": "VPNCustomerAlbum",
+                                    "version": "0.0.1"
+                                },
+                                {
+                                    "name": "VPNLinkAlbum",
+                                    "version": "0.0.1"
+                                },
+                                {
+                                    "name": "VPNProblemAlbum",
+                                    "version": "0.0.1"
+                                }
+                            ],
+                            "taskLogic": {
+                                "key": "TaskLogic",
+                                "logicFlavour": "MVEL",
+                                "logic": "import org.onap.policy.apex.domains.vpn.java.concepts.VPNCustomerArray;\nimport org.onap.policy.apex.domains.vpn.java.concepts.VPNCustomer;\n\nlogger.debug(subject.id + \":\" + subject.taskName);\n\nSystem.err.println(inFields);\n\noutFields[\"Link\"] = inFields[\"Link\"];\noutFields[\"Action\"] = \"Disconnect customers based on SLA Agreement\";\n\nVPNCustomerArray slaViolatedCustomerArray = new VPNCustomerArray();\n\nSystem.err.println(\"cust\\tslaDT\\tytdDT\");\nfor (VPNCustomer customer: getContextAlbum(\"VPNCustomerAlbum\").values()) {\n\tSystem.err.println(customer.getName() + \"\\t\" + customer.getSlaDT() + \"\\t\" + customer.getYtdDT());\n\n\tif (customer.getYtdDT() > customer.getSlaDT()) {\n\t\tslaViolatedCustomerArray.addCustomer(customer.getName());\n\t}\n}\n\nSystem.err.println(\"Customers whose SLAs are violated are:\" + slaViolatedCustomerArray.toString());\n\ninFields[\"AffectedCustomers\"].removeAll(slaViolatedCustomerArray.getCustomers());\noutFields[\"AffectedCustomers\"] = new VPNCustomerArray(inFields[\"AffectedCustomers\"].getCustomers());\n\nSystem.err.println(\"outFields: \" + outFields);\n\nreturn true;"
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNDecideSolvedTask",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNDecideSolvedTask",
+                                "version": "0.0.1"
+                            },
+                            "inputFields": {
+                                "entry": [
+                                    {
+                                        "key": "AffectedCustomers",
+                                        "value": {
+                                            "key": "AffectedCustomers",
+                                            "fieldSchemaKey": {
+                                                "name": "AffectedCustomers",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "Link",
+                                        "value": {
+                                            "key": "Link",
+                                            "fieldSchemaKey": {
+                                                "name": "Link",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "ProblemStatus",
+                                        "value": {
+                                            "key": "ProblemStatus",
+                                            "fieldSchemaKey": {
+                                                "name": "ProblemStatus",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "outputFields": {
+                                "entry": [
+                                    {
+                                        "key": "Action",
+                                        "value": {
+                                            "key": "Action",
+                                            "fieldSchemaKey": {
+                                                "name": "Action",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "AffectedCustomers",
+                                        "value": {
+                                            "key": "AffectedCustomers",
+                                            "fieldSchemaKey": {
+                                                "name": "AffectedCustomers",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "Link",
+                                        "value": {
+                                            "key": "Link",
+                                            "fieldSchemaKey": {
+                                                "name": "Link",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "ProblemStatus",
+                                        "value": {
+                                            "key": "ProblemStatus",
+                                            "fieldSchemaKey": {
+                                                "name": "ProblemStatus",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "taskParameters": {
+                                "entry": []
+                            },
+                            "contextAlbumReference": [
+                                {
+                                    "name": "VPNCustomerAlbum",
+                                    "version": "0.0.1"
+                                },
+                                {
+                                    "name": "VPNLinkAlbum",
+                                    "version": "0.0.1"
+                                },
+                                {
+                                    "name": "VPNProblemAlbum",
+                                    "version": "0.0.1"
+                                }
+                            ],
+                            "taskLogic": {
+                                "key": "TaskLogic",
+                                "logicFlavour": "MVEL",
+                                "logic": "import org.onap.policy.apex.domains.vpn.java.concepts.VPNCustomer;\nimport org.onap.policy.apex.domains.vpn.java.concepts.VPNProblem;\n\nlogger.debug(subject.id + \":\" + subject.taskName);\n\nSystem.err.println(inFields);\noutFields[\"Action\"] = \"Rebuild VPN for customers\";\noutFields[\"Link\"] = inFields[\"Link\"];\noutFields[\"AffectedCustomers\"] = inFields[\"AffectedCustomers\"];\n\n/* Get the problem-link-object for this link */\nString incomingLink = inFields[\"Link\"];\n\nVPNProblem vpnProblem = getContextAlbum(\"VPNProblemAlbum\").get(incomingLink);\n\nif (null != vpnProblem) {\n    /* Calculate the total down time from the problem-link-object */\n    long linkDownTimeinSecs = (vpnProblem.getEndTime() - vpnProblem.getStartTime())/1000;\n    /* Get customers from Policy context and add to ytdDT */\n    for (VPNCustomer customer : vpnProblem.getAffectedCustomers()) {\n\t\tcustomer.setYtdDT(customer.getYtdDT() + linkDownTimeinSecs);\n    }\n}\n\n/* Remove the problem-link-object */\ngetContextAlbum(\"VPNProblemAlbum\").remove(incomingLink);\n\nSystem.err.println(\"outFields: \" + outFields);\nreturn true;"
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNDecideTask",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNDecideTask",
+                                "version": "0.0.1"
+                            },
+                            "inputFields": {
+                                "entry": [
+                                    {
+                                        "key": "AffectedCustomers",
+                                        "value": {
+                                            "key": "AffectedCustomers",
+                                            "fieldSchemaKey": {
+                                                "name": "AffectedCustomers",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "Link",
+                                        "value": {
+                                            "key": "Link",
+                                            "fieldSchemaKey": {
+                                                "name": "Link",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "ProblemStatus",
+                                        "value": {
+                                            "key": "ProblemStatus",
+                                            "fieldSchemaKey": {
+                                                "name": "ProblemStatus",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "outputFields": {
+                                "entry": [
+                                    {
+                                        "key": "Action",
+                                        "value": {
+                                            "key": "Action",
+                                            "fieldSchemaKey": {
+                                                "name": "Action",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "AffectedCustomers",
+                                        "value": {
+                                            "key": "AffectedCustomers",
+                                            "fieldSchemaKey": {
+                                                "name": "AffectedCustomers",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "Link",
+                                        "value": {
+                                            "key": "Link",
+                                            "fieldSchemaKey": {
+                                                "name": "Link",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "ProblemStatus",
+                                        "value": {
+                                            "key": "ProblemStatus",
+                                            "fieldSchemaKey": {
+                                                "name": "ProblemStatus",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "taskParameters": {
+                                "entry": []
+                            },
+                            "contextAlbumReference": [
+                                {
+                                    "name": "VPNCustomerAlbum",
+                                    "version": "0.0.1"
+                                },
+                                {
+                                    "name": "VPNLinkAlbum",
+                                    "version": "0.0.1"
+                                },
+                                {
+                                    "name": "VPNProblemAlbum",
+                                    "version": "0.0.1"
+                                }
+                            ],
+                            "taskLogic": {
+                                "key": "TaskLogic",
+                                "logicFlavour": "MVEL",
+                                "logic": "logger.debug(subject.id + \":\" + subject.taskName);\nlogger.debug(inFields);\nlogger.debug(outFields);\n\nreturn true;"
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNEstablishTask",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNEstablishTask",
+                                "version": "0.0.1"
+                            },
+                            "inputFields": {
+                                "entry": [
+                                    {
+                                        "key": "Link",
+                                        "value": {
+                                            "key": "Link",
+                                            "fieldSchemaKey": {
+                                                "name": "Link",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "Status",
+                                        "value": {
+                                            "key": "Status",
+                                            "fieldSchemaKey": {
+                                                "name": "Status",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "StatusChanged",
+                                        "value": {
+                                            "key": "StatusChanged",
+                                            "fieldSchemaKey": {
+                                                "name": "StatusChanged",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "outputFields": {
+                                "entry": [
+                                    {
+                                        "key": "AffectedCustomers",
+                                        "value": {
+                                            "key": "AffectedCustomers",
+                                            "fieldSchemaKey": {
+                                                "name": "AffectedCustomers",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "Link",
+                                        "value": {
+                                            "key": "Link",
+                                            "fieldSchemaKey": {
+                                                "name": "Link",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "ProblemStatus",
+                                        "value": {
+                                            "key": "ProblemStatus",
+                                            "fieldSchemaKey": {
+                                                "name": "ProblemStatus",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "taskParameters": {
+                                "entry": []
+                            },
+                            "contextAlbumReference": [
+                                {
+                                    "name": "VPNCustomerAlbum",
+                                    "version": "0.0.1"
+                                },
+                                {
+                                    "name": "VPNLinkAlbum",
+                                    "version": "0.0.1"
+                                },
+                                {
+                                    "name": "VPNProblemAlbum",
+                                    "version": "0.0.1"
+                                }
+                            ],
+                            "taskLogic": {
+                                "key": "TaskLogic",
+                                "logicFlavour": "MVEL",
+                                "logic": "import org.onap.policy.apex.domains.vpn.java.concepts.VPNLink;\nimport org.onap.policy.apex.domains.vpn.java.concepts.VPNCustomer;\nimport org.onap.policy.apex.domains.vpn.java.concepts.VPNProblem;\nimport org.onap.policy.apex.domains.vpn.java.concepts.VPNCustomerArray;\n\nlogger.debug(subject.id + \":\" + subject.taskName);\n\nSystem.err.println(inFields);\nString vpnLinkName = inFields[\"Link\"];\n\nVPNLink    vpnLink    = getContextAlbum(\"VPNLinkAlbum\").get(vpnLinkName);\nVPNProblem vpnProblem = getContextAlbum(\"VPNProblemAlbum\").get(vpnLinkName);\n\nString incomingStatus = inFields[\"Status\"];\nBoolean incomingStatusChanged = (Boolean)inFields[\"StatusChanged\"];\n\nif (incomingStatus.equalsIgnoreCase(\"DOWN\")) {\n\tvpnLink.setActive(false);\n}\nelse {\n\tvpnLink.setActive(true);\n}\n\nlong now = System.currentTimeMillis();\n\nif (incomingStatusChanged == false) {\n\toutFields[\"Link\"] = vpnLinkName;\n\tif (incomingStatus.equalsIgnoreCase(\"UP\")) {\n\t\toutFields[\"ProblemStatus\"] = \"NOPROBLEM\";\n\t\toutFields[\"AffectedCustomers\"] = new VPNCustomerArray();\n\t}\n\telse if (incomingStatus.equalsIgnoreCase(\"DOWN\")) {\n\t\toutFields[\"ProblemStatus\"] = \"STILLPROBLEM\";\n\t\toutFields[\"AffectedCustomers\"] = new VPNCustomerArray(vpnProblem.getAffectedCustomers());\n\t}\n\telse {\n\t\tSystem.err.println(\"VpnEstablishLogic: Unsupported link type!!!\" + vpnLinkName + \" \" + incomingStatus);\n\t}\n}\nelse if (incomingStatusChanged == true) {\n\t/* indicates new problem or new solution */\n\tif\t(incomingStatus.equalsIgnoreCase(\"UP\")) {\n\t\t/* A link that was down is now up */\n\t\tif (vpnProblem != null) {\n\t\t\tvpnProblem.setEndTime(now);\n\t\t}\n\t\telse {\n\t\t\tSystem.err.println(\"VpnEstablishLogic: Link change to UP, but with no report of a previous problem!!!\" + vpnLinkName);\n\t\t}\n\t\toutFields[\"Link\"] = vpnLinkName;\n\t\toutFields[\"AffectedCustomers\"] = new VPNCustomerArray(vpnProblem.getAffectedCustomers());\n\t\toutFields[\"ProblemStatus\"] = \"NEWSOLVED\";\n\t}\n\telse if (incomingStatus.equalsIgnoreCase(\"DOWN\")) {\n\t\t/* A link that was up is now down */\n\t\tif (vpnProblem == null) {\n\t\t\tvpnProblem = new VPNProblem(vpnLinkName);\n\t\t\tvpnProblem.setStartTime(now);\n\n\t\t\tfor (VPNCustomer vpnCustomer : getContextAlbum(\"VPNCustomerAlbum\").values()) {\n\t\t\t\tif (vpnCustomer.getLinksInUse().contains(vpnLinkName)) {\n\t\t\t\t\tvpnProblem.add(vpnCustomer);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tgetContextAlbum(\"VPNProblemAlbum\").put(vpnLinkName, vpnProblem);\n\n\t\t\toutFields[\"Link\"] = vpnLinkName;\n\t\t\toutFields[\"AffectedCustomers\"] = new VPNCustomerArray(vpnProblem.getAffectedCustomers());\n\t\t\toutFields[\"ProblemStatus\"] = \"NEWPROBLEM\";\n\t\t}\n\t\telse {\n\t\t\tSystem.err.println(\"VpnEstablishLogic: Link change to DOWN, but with a report of a previous problem: \" + vpnLinkName + \" Not updating problem: \" + vpnProblem);\n\t\t\toutFields[\"Link\"] = vpnLinkName;\n\t\t\toutFields[\"AffectedCustomers\"] = new VPNCustomerArray(vpnProblem.getAffectedCustomers());\n\t\t\toutFields[\"ProblemStatus\"] = \"STILLPROBLEM\";\n\t\t}\n\t}\n\telse {\n\t\tSystem.err.println(\"VpnEstablishLogic: Unsupported link type!!!\" +  vpnLinkName + \" \" + incomingStatus);\n\t}\n}\nelse {\n\tthrow new IllegalArgumentException(\"MatchEvent down time cannot be less than 0\");\n}\n\nSystem.err.println(\"outFields: \" + outFields);\nreturn true;"
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNLinkCtxtActTask",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNLinkCtxtActTask",
+                                "version": "0.0.1"
+                            },
+                            "inputFields": {
+                                "entry": [
+                                    {
+                                        "key": "Link",
+                                        "value": {
+                                            "key": "Link",
+                                            "fieldSchemaKey": {
+                                                "name": "Link",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "LinkUp",
+                                        "value": {
+                                            "key": "LinkUp",
+                                            "fieldSchemaKey": {
+                                                "name": "LinkUp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "outputFields": {
+                                "entry": [
+                                    {
+                                        "key": "Link",
+                                        "value": {
+                                            "key": "Link",
+                                            "fieldSchemaKey": {
+                                                "name": "Link",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "LinkUp",
+                                        "value": {
+                                            "key": "LinkUp",
+                                            "fieldSchemaKey": {
+                                                "name": "LinkUp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "taskParameters": {
+                                "entry": []
+                            },
+                            "contextAlbumReference": [
+                                {
+                                    "name": "VPNLinkAlbum",
+                                    "version": "0.0.1"
+                                }
+                            ],
+                            "taskLogic": {
+                                "key": "TaskLogic",
+                                "logicFlavour": "MVEL",
+                                "logic": "import org.onap.policy.apex.domains.vpn.java.concepts.VPNLink;\n\nlogger.debug(subject.id);\nSystem.err.println(inFields);\n\nString vpnLinkName = inFields[\"Link\"];\nVPNLink vpnLink = getContextAlbum(\"VPNLinkAlbum\").get(vpnLinkName);\nif (vpnLink == null) {\n    vpnLink = new VPNLink(vpnLinkName);\n    getContextAlbum(\"VPNLinkAlbum\").put(vpnLinkName, vpnLink);\n}\nvpnLink.setActive(inFields[\"LinkUp\"]);\n\nSystem.err.println(\"*** Links ***\");\nfor (VPNLink link: getContextAlbum(\"VPNLinkAlbum\").values()) {\n    System.err.println(link.getName() + \"\\t\" + link.getActive());\n}\n\noutFields[\"Link\"] = vpnLink.getName();\noutFields[\"LinkUp\"] = vpnLink.getActive();\nSystem.err.println(\"outFields: \" + outFields);\n\nreturn true;"
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNLinkCtxtDecideTask",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNLinkCtxtDecideTask",
+                                "version": "0.0.1"
+                            },
+                            "inputFields": {
+                                "entry": [
+                                    {
+                                        "key": "Link",
+                                        "value": {
+                                            "key": "Link",
+                                            "fieldSchemaKey": {
+                                                "name": "Link",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "LinkUp",
+                                        "value": {
+                                            "key": "LinkUp",
+                                            "fieldSchemaKey": {
+                                                "name": "LinkUp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "outputFields": {
+                                "entry": [
+                                    {
+                                        "key": "Link",
+                                        "value": {
+                                            "key": "Link",
+                                            "fieldSchemaKey": {
+                                                "name": "Link",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "LinkUp",
+                                        "value": {
+                                            "key": "LinkUp",
+                                            "fieldSchemaKey": {
+                                                "name": "LinkUp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "taskParameters": {
+                                "entry": []
+                            },
+                            "contextAlbumReference": [],
+                            "taskLogic": {
+                                "key": "TaskLogic",
+                                "logicFlavour": "MVEL",
+                                "logic": "logger.debug(subject.id + \":\" + subject.taskName);\nlogger.debug(inFields);\nlogger.debug(outFields);\n\nreturn true;"
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNLinkCtxtEstablishTask",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNLinkCtxtEstablishTask",
+                                "version": "0.0.1"
+                            },
+                            "inputFields": {
+                                "entry": [
+                                    {
+                                        "key": "Link",
+                                        "value": {
+                                            "key": "Link",
+                                            "fieldSchemaKey": {
+                                                "name": "Link",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "LinkUp",
+                                        "value": {
+                                            "key": "LinkUp",
+                                            "fieldSchemaKey": {
+                                                "name": "LinkUp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "outputFields": {
+                                "entry": [
+                                    {
+                                        "key": "Link",
+                                        "value": {
+                                            "key": "Link",
+                                            "fieldSchemaKey": {
+                                                "name": "Link",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "LinkUp",
+                                        "value": {
+                                            "key": "LinkUp",
+                                            "fieldSchemaKey": {
+                                                "name": "LinkUp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "taskParameters": {
+                                "entry": []
+                            },
+                            "contextAlbumReference": [],
+                            "taskLogic": {
+                                "key": "TaskLogic",
+                                "logicFlavour": "MVEL",
+                                "logic": "logger.debug(subject.id + \":\" + subject.taskName);\nlogger.debug(inFields);\nlogger.debug(outFields);\n\nreturn true;"
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNLinkCtxtMatchTask",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNLinkCtxtMatchTask",
+                                "version": "0.0.1"
+                            },
+                            "inputFields": {
+                                "entry": [
+                                    {
+                                        "key": "Link",
+                                        "value": {
+                                            "key": "Link",
+                                            "fieldSchemaKey": {
+                                                "name": "Link",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "LinkUp",
+                                        "value": {
+                                            "key": "LinkUp",
+                                            "fieldSchemaKey": {
+                                                "name": "LinkUp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "outputFields": {
+                                "entry": [
+                                    {
+                                        "key": "Link",
+                                        "value": {
+                                            "key": "Link",
+                                            "fieldSchemaKey": {
+                                                "name": "Link",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "LinkUp",
+                                        "value": {
+                                            "key": "LinkUp",
+                                            "fieldSchemaKey": {
+                                                "name": "LinkUp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "taskParameters": {
+                                "entry": []
+                            },
+                            "contextAlbumReference": [],
+                            "taskLogic": {
+                                "key": "TaskLogic",
+                                "logicFlavour": "MVEL",
+                                "logic": "logger.debug(subject.id + \":\" + subject.taskName);\nlogger.debug(inFields);\nlogger.debug(outFields);\n\nreturn true;"
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNMatchTask",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNMatchTask",
+                                "version": "0.0.1"
+                            },
+                            "inputFields": {
+                                "entry": [
+                                    {
+                                        "key": "Link",
+                                        "value": {
+                                            "key": "Link",
+                                            "fieldSchemaKey": {
+                                                "name": "Link",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "Status",
+                                        "value": {
+                                            "key": "Status",
+                                            "fieldSchemaKey": {
+                                                "name": "Status",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "outputFields": {
+                                "entry": [
+                                    {
+                                        "key": "Link",
+                                        "value": {
+                                            "key": "Link",
+                                            "fieldSchemaKey": {
+                                                "name": "Link",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "Status",
+                                        "value": {
+                                            "key": "Status",
+                                            "fieldSchemaKey": {
+                                                "name": "Status",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "StatusChanged",
+                                        "value": {
+                                            "key": "StatusChanged",
+                                            "fieldSchemaKey": {
+                                                "name": "StatusChanged",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            },
+                            "taskParameters": {
+                                "entry": []
+                            },
+                            "contextAlbumReference": [
+                                {
+                                    "name": "VPNCustomerAlbum",
+                                    "version": "0.0.1"
+                                },
+                                {
+                                    "name": "VPNLinkAlbum",
+                                    "version": "0.0.1"
+                                },
+                                {
+                                    "name": "VPNProblemAlbum",
+                                    "version": "0.0.1"
+                                }
+                            ],
+                            "taskLogic": {
+                                "key": "TaskLogic",
+                                "logicFlavour": "MVEL",
+                                "logic": "import org.onap.policy.apex.domains.vpn.java.concepts.VPNLink;\n\nlogger.debug(subject.id + \":\" + subject.taskName);\nSystem.err.println(inFields);\n\nString vpnLinkName   = inFields[\"Link\"];\nString vpnLinkStatus = inFields[\"Status\"];\n\nVPNLink vpnLink = getContextAlbum(\"VPNLinkAlbum\").get(vpnLinkName);\nif (vpnLink == null) {\n\tvpnLink = new VPNLink(vpnLinkName);\n\tgetContextAlbum(\"VPNLinkAlbum\").put(vpnLinkName, vpnLink);\n\tif (vpnLinkStatus.equalsIgnoreCase(\"DOWN\")) {\n\t\tvpnLink.setActive(true);\n\t}\n\telse {\n\t\tvpnLink.setActive(false);\n\t}\n}\n\nif (vpnLinkStatus.equalsIgnoreCase(\"DOWN\")) {\n\tif (vpnLinkName != null) {\n\t\tif (vpnLink.getActive()) {\n\t\t\toutFields[\"StatusChanged\"] = true;\n\t\t}\n\t\telse {\n\t\t\toutFields[\"StatusChanged\"] = false;\n\t\t}\n\t\toutFields[\"Link\"]   = vpnLinkName;\n\t\toutFields[\"Status\"] = vpnLinkStatus;\n\t}\n\telse {\n\t\tSystem.err.println(\"match: trigger context error: link is null\");\n\t}\n}\nelse if (vpnLinkStatus.equalsIgnoreCase(\"UP\")) {\n\tif (vpnLinkName != null) {\n\t\tif (!vpnLink.getActive()) {\n\t\t\toutFields[\"StatusChanged\"] = true;\n\t\t}\n\t\telse {\n\t\t\toutFields[\"StatusChanged\"] = false;\n\t\t}\n\t\toutFields[\"Link\"]   = vpnLinkName;\n\t\toutFields[\"Status\"] = vpnLinkStatus;\n\t}\n\telse {\n\t\tSystem.err.println(\"match: trigger context error: link is null\");\n\t}\n}\nelse {\n\tSystem.err.println(\"match: trigger context error: status neither UP nor DOWN\");\n}\n\nSystem.err.println(\"outFields: \" + outFields);\nreturn true;"
+                            }
+                        }
+                    }
+                ]
+            }
+        },
+        "events": {
+            "key": {
+                "name": "VPNEvents",
+                "version": "0.0.1"
+            },
+            "eventMap": {
+                "entry": [
+                    {
+                        "key": {
+                            "name": "VPNActEvent",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNActEvent",
+                                "version": "0.0.1"
+                            },
+                            "nameSpace": "org.onap.policy.apex.domains.vpn.events",
+                            "source": "Source",
+                            "target": "Target",
+                            "parameter": {
+                                "entry": [
+                                    {
+                                        "key": "CustomerMap",
+                                        "value": {
+                                            "key": "CustomerMap",
+                                            "fieldSchemaKey": {
+                                                "name": "CustomerMap",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "LinkMap",
+                                        "value": {
+                                            "key": "LinkMap",
+                                            "fieldSchemaKey": {
+                                                "name": "LinkMap",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNCustomerCtxtActEvent",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNCustomerCtxtActEvent",
+                                "version": "0.0.1"
+                            },
+                            "nameSpace": "org.onap.policy.apex.domains.vpn.events",
+                            "source": "Source",
+                            "target": "Target",
+                            "parameter": {
+                                "entry": [
+                                    {
+                                        "key": "CustomerName",
+                                        "value": {
+                                            "key": "CustomerName",
+                                            "fieldSchemaKey": {
+                                                "name": "CustomerName",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "LinkList",
+                                        "value": {
+                                            "key": "LinkList",
+                                            "fieldSchemaKey": {
+                                                "name": "LinkList",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "SlaDT",
+                                        "value": {
+                                            "key": "SlaDT",
+                                            "fieldSchemaKey": {
+                                                "name": "SlaDT",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "YtdDT",
+                                        "value": {
+                                            "key": "YtdDT",
+                                            "fieldSchemaKey": {
+                                                "name": "YtdDT",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNCustomerCtxtDecideEvent",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNCustomerCtxtDecideEvent",
+                                "version": "0.0.1"
+                            },
+                            "nameSpace": "org.onap.policy.apex.domains.vpn.events",
+                            "source": "Source",
+                            "target": "Target",
+                            "parameter": {
+                                "entry": [
+                                    {
+                                        "key": "CustomerName",
+                                        "value": {
+                                            "key": "CustomerName",
+                                            "fieldSchemaKey": {
+                                                "name": "CustomerName",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "LinkList",
+                                        "value": {
+                                            "key": "LinkList",
+                                            "fieldSchemaKey": {
+                                                "name": "LinkList",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "SlaDT",
+                                        "value": {
+                                            "key": "SlaDT",
+                                            "fieldSchemaKey": {
+                                                "name": "SlaDT",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "YtdDT",
+                                        "value": {
+                                            "key": "YtdDT",
+                                            "fieldSchemaKey": {
+                                                "name": "YtdDT",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNCustomerCtxtEstablishEvent",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNCustomerCtxtEstablishEvent",
+                                "version": "0.0.1"
+                            },
+                            "nameSpace": "org.onap.policy.apex.domains.vpn.events",
+                            "source": "Source",
+                            "target": "Target",
+                            "parameter": {
+                                "entry": [
+                                    {
+                                        "key": "CustomerName",
+                                        "value": {
+                                            "key": "CustomerName",
+                                            "fieldSchemaKey": {
+                                                "name": "CustomerName",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "LinkList",
+                                        "value": {
+                                            "key": "LinkList",
+                                            "fieldSchemaKey": {
+                                                "name": "LinkList",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "SlaDT",
+                                        "value": {
+                                            "key": "SlaDT",
+                                            "fieldSchemaKey": {
+                                                "name": "SlaDT",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "YtdDT",
+                                        "value": {
+                                            "key": "YtdDT",
+                                            "fieldSchemaKey": {
+                                                "name": "YtdDT",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNCustomerCtxtMatchEvent",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNCustomerCtxtMatchEvent",
+                                "version": "0.0.1"
+                            },
+                            "nameSpace": "org.onap.policy.apex.domains.vpn.events",
+                            "source": "Source",
+                            "target": "Target",
+                            "parameter": {
+                                "entry": [
+                                    {
+                                        "key": "CustomerName",
+                                        "value": {
+                                            "key": "CustomerName",
+                                            "fieldSchemaKey": {
+                                                "name": "CustomerName",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "LinkList",
+                                        "value": {
+                                            "key": "LinkList",
+                                            "fieldSchemaKey": {
+                                                "name": "LinkList",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "SlaDT",
+                                        "value": {
+                                            "key": "SlaDT",
+                                            "fieldSchemaKey": {
+                                                "name": "SlaDT",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "YtdDT",
+                                        "value": {
+                                            "key": "YtdDT",
+                                            "fieldSchemaKey": {
+                                                "name": "YtdDT",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNCustomerCtxtTriggerEvent",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNCustomerCtxtTriggerEvent",
+                                "version": "0.0.1"
+                            },
+                            "nameSpace": "org.onap.policy.apex.domains.vpn.events",
+                            "source": "Source",
+                            "target": "Target",
+                            "parameter": {
+                                "entry": [
+                                    {
+                                        "key": "CustomerName",
+                                        "value": {
+                                            "key": "CustomerName",
+                                            "fieldSchemaKey": {
+                                                "name": "CustomerName",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "LinkList",
+                                        "value": {
+                                            "key": "LinkList",
+                                            "fieldSchemaKey": {
+                                                "name": "LinkList",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "SlaDT",
+                                        "value": {
+                                            "key": "SlaDT",
+                                            "fieldSchemaKey": {
+                                                "name": "SlaDT",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "YtdDT",
+                                        "value": {
+                                            "key": "YtdDT",
+                                            "fieldSchemaKey": {
+                                                "name": "YtdDT",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNDecideEvent",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNDecideEvent",
+                                "version": "0.0.1"
+                            },
+                            "nameSpace": "org.onap.policy.apex.domains.vpn.events",
+                            "source": "Source",
+                            "target": "Target",
+                            "parameter": {
+                                "entry": [
+                                    {
+                                        "key": "Action",
+                                        "value": {
+                                            "key": "Action",
+                                            "fieldSchemaKey": {
+                                                "name": "Action",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "AffectedCustomers",
+                                        "value": {
+                                            "key": "AffectedCustomers",
+                                            "fieldSchemaKey": {
+                                                "name": "AffectedCustomers",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "Link",
+                                        "value": {
+                                            "key": "Link",
+                                            "fieldSchemaKey": {
+                                                "name": "Link",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "ProblemStatus",
+                                        "value": {
+                                            "key": "ProblemStatus",
+                                            "fieldSchemaKey": {
+                                                "name": "ProblemStatus",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNEstablishEvent",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNEstablishEvent",
+                                "version": "0.0.1"
+                            },
+                            "nameSpace": "org.onap.policy.apex.domains.vpn.events",
+                            "source": "Source",
+                            "target": "Target",
+                            "parameter": {
+                                "entry": [
+                                    {
+                                        "key": "AffectedCustomers",
+                                        "value": {
+                                            "key": "AffectedCustomers",
+                                            "fieldSchemaKey": {
+                                                "name": "AffectedCustomers",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "Link",
+                                        "value": {
+                                            "key": "Link",
+                                            "fieldSchemaKey": {
+                                                "name": "Link",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "ProblemStatus",
+                                        "value": {
+                                            "key": "ProblemStatus",
+                                            "fieldSchemaKey": {
+                                                "name": "ProblemStatus",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNLinkCtxtActEvent",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNLinkCtxtActEvent",
+                                "version": "0.0.1"
+                            },
+                            "nameSpace": "org.onap.policy.apex.domains.vpn.events",
+                            "source": "Source",
+                            "target": "Target",
+                            "parameter": {
+                                "entry": [
+                                    {
+                                        "key": "Link",
+                                        "value": {
+                                            "key": "Link",
+                                            "fieldSchemaKey": {
+                                                "name": "Link",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "LinkUp",
+                                        "value": {
+                                            "key": "LinkUp",
+                                            "fieldSchemaKey": {
+                                                "name": "LinkUp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNLinkCtxtDecideEvent",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNLinkCtxtDecideEvent",
+                                "version": "0.0.1"
+                            },
+                            "nameSpace": "org.onap.policy.apex.domains.vpn.events",
+                            "source": "Source",
+                            "target": "Target",
+                            "parameter": {
+                                "entry": [
+                                    {
+                                        "key": "Link",
+                                        "value": {
+                                            "key": "Link",
+                                            "fieldSchemaKey": {
+                                                "name": "Link",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "LinkUp",
+                                        "value": {
+                                            "key": "LinkUp",
+                                            "fieldSchemaKey": {
+                                                "name": "LinkUp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNLinkCtxtEstablishEvent",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNLinkCtxtEstablishEvent",
+                                "version": "0.0.1"
+                            },
+                            "nameSpace": "org.onap.policy.apex.domains.vpn.events",
+                            "source": "Source",
+                            "target": "Target",
+                            "parameter": {
+                                "entry": [
+                                    {
+                                        "key": "Link",
+                                        "value": {
+                                            "key": "Link",
+                                            "fieldSchemaKey": {
+                                                "name": "Link",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "LinkUp",
+                                        "value": {
+                                            "key": "LinkUp",
+                                            "fieldSchemaKey": {
+                                                "name": "LinkUp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNLinkCtxtMatchEvent",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNLinkCtxtMatchEvent",
+                                "version": "0.0.1"
+                            },
+                            "nameSpace": "org.onap.policy.apex.domains.vpn.events",
+                            "source": "Source",
+                            "target": "Target",
+                            "parameter": {
+                                "entry": [
+                                    {
+                                        "key": "Link",
+                                        "value": {
+                                            "key": "Link",
+                                            "fieldSchemaKey": {
+                                                "name": "Link",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "LinkUp",
+                                        "value": {
+                                            "key": "LinkUp",
+                                            "fieldSchemaKey": {
+                                                "name": "LinkUp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNLinkCtxtTriggerEvent",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNLinkCtxtTriggerEvent",
+                                "version": "0.0.1"
+                            },
+                            "nameSpace": "org.onap.policy.apex.domains.vpn.events",
+                            "source": "Source",
+                            "target": "Target",
+                            "parameter": {
+                                "entry": [
+                                    {
+                                        "key": "Link",
+                                        "value": {
+                                            "key": "Link",
+                                            "fieldSchemaKey": {
+                                                "name": "Link",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "LinkUp",
+                                        "value": {
+                                            "key": "LinkUp",
+                                            "fieldSchemaKey": {
+                                                "name": "LinkUp",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNMatchEvent",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNMatchEvent",
+                                "version": "0.0.1"
+                            },
+                            "nameSpace": "org.onap.policy.apex.domains.vpn.events",
+                            "source": "Source",
+                            "target": "Target",
+                            "parameter": {
+                                "entry": [
+                                    {
+                                        "key": "Link",
+                                        "value": {
+                                            "key": "Link",
+                                            "fieldSchemaKey": {
+                                                "name": "Link",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "Status",
+                                        "value": {
+                                            "key": "Status",
+                                            "fieldSchemaKey": {
+                                                "name": "Status",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "StatusChanged",
+                                        "value": {
+                                            "key": "StatusChanged",
+                                            "fieldSchemaKey": {
+                                                "name": "StatusChanged",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNTriggerEvent",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNTriggerEvent",
+                                "version": "0.0.1"
+                            },
+                            "nameSpace": "org.onap.policy.apex.domains.vpn.events",
+                            "source": "Source",
+                            "target": "Target",
+                            "parameter": {
+                                "entry": [
+                                    {
+                                        "key": "Link",
+                                        "value": {
+                                            "key": "Link",
+                                            "fieldSchemaKey": {
+                                                "name": "Link",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    },
+                                    {
+                                        "key": "Status",
+                                        "value": {
+                                            "key": "Status",
+                                            "fieldSchemaKey": {
+                                                "name": "Status",
+                                                "version": "0.0.1"
+                                            },
+                                            "optional": false
+                                        }
+                                    }
+                                ]
+                            }
+                        }
+                    }
+                ]
+            }
+        },
+        "albums": {
+            "key": {
+                "name": "VPNContext",
+                "version": "0.0.1"
+            },
+            "albums": {
+                "entry": [
+                    {
+                        "key": {
+                            "name": "VPNCustomerAlbum",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNCustomerAlbum",
+                                "version": "0.0.1"
+                            },
+                            "scope": "GLOBAL",
+                            "isWritable": true,
+                            "itemSchema": {
+                                "name": "VPNCustomer",
+                                "version": "0.0.1"
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNLinkAlbum",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNLinkAlbum",
+                                "version": "0.0.1"
+                            },
+                            "scope": "GLOBAL",
+                            "isWritable": true,
+                            "itemSchema": {
+                                "name": "VPNLink",
+                                "version": "0.0.1"
+                            }
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNProblemAlbum",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNProblemAlbum",
+                                "version": "0.0.1"
+                            },
+                            "scope": "GLOBAL",
+                            "isWritable": true,
+                            "itemSchema": {
+                                "name": "VPNProblem",
+                                "version": "0.0.1"
+                            }
+                        }
+                    }
+                ]
+            }
+        },
+        "schemas": {
+            "key": {
+                "name": "VPNDatatypes",
+                "version": "0.0.1"
+            },
+            "schemas": {
+                "entry": [
+                    {
+                        "key": {
+                            "name": "Action",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Action",
+                                "version": "0.0.1"
+                            },
+                            "schemaFlavour": "Java",
+                            "schemaDefinition": "java.lang.String"
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "AffectedCustomers",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "AffectedCustomers",
+                                "version": "0.0.1"
+                            },
+                            "schemaFlavour": "Java",
+                            "schemaDefinition": "org.onap.policy.apex.domains.vpn.java.concepts.VPNCustomerArray"
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "CustomerMap",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "CustomerMap",
+                                "version": "0.0.1"
+                            },
+                            "schemaFlavour": "Java",
+                            "schemaDefinition": "org.onap.policy.apex.domains.vpn.java.concepts.VPNCustomerMap"
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "CustomerName",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "CustomerName",
+                                "version": "0.0.1"
+                            },
+                            "schemaFlavour": "Java",
+                            "schemaDefinition": "java.lang.String"
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Link",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Link",
+                                "version": "0.0.1"
+                            },
+                            "schemaFlavour": "Java",
+                            "schemaDefinition": "java.lang.String"
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "LinkList",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "LinkList",
+                                "version": "0.0.1"
+                            },
+                            "schemaFlavour": "Java",
+                            "schemaDefinition": "java.lang.String"
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "LinkMap",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "LinkMap",
+                                "version": "0.0.1"
+                            },
+                            "schemaFlavour": "Java",
+                            "schemaDefinition": "org.onap.policy.apex.domains.vpn.java.concepts.VPNLinkMap"
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "LinkUp",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "LinkUp",
+                                "version": "0.0.1"
+                            },
+                            "schemaFlavour": "Java",
+                            "schemaDefinition": "java.lang.Boolean"
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "ProblemStatus",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "ProblemStatus",
+                                "version": "0.0.1"
+                            },
+                            "schemaFlavour": "Java",
+                            "schemaDefinition": "java.lang.String"
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "SlaDT",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "SlaDT",
+                                "version": "0.0.1"
+                            },
+                            "schemaFlavour": "Java",
+                            "schemaDefinition": "java.lang.Integer"
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "Status",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "Status",
+                                "version": "0.0.1"
+                            },
+                            "schemaFlavour": "Java",
+                            "schemaDefinition": "java.lang.String"
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "StatusChanged",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "StatusChanged",
+                                "version": "0.0.1"
+                            },
+                            "schemaFlavour": "Java",
+                            "schemaDefinition": "java.lang.Boolean"
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNCustomer",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNCustomer",
+                                "version": "0.0.1"
+                            },
+                            "schemaFlavour": "Java",
+                            "schemaDefinition": "org.onap.policy.apex.domains.vpn.java.concepts.VPNCustomer"
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNLink",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNLink",
+                                "version": "0.0.1"
+                            },
+                            "schemaFlavour": "Java",
+                            "schemaDefinition": "org.onap.policy.apex.domains.vpn.java.concepts.VPNLink"
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "VPNProblem",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "VPNProblem",
+                                "version": "0.0.1"
+                            },
+                            "schemaFlavour": "Java",
+                            "schemaDefinition": "org.onap.policy.apex.domains.vpn.java.concepts.VPNProblem"
+                        }
+                    },
+                    {
+                        "key": {
+                            "name": "YtdDT",
+                            "version": "0.0.1"
+                        },
+                        "value": {
+                            "key": {
+                                "name": "YtdDT",
+                                "version": "0.0.1"
+                            },
+                            "schemaFlavour": "Java",
+                            "schemaDefinition": "java.lang.Integer"
+                        }
+                    }
+                ]
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/testsuites/integration/integration-uservice-test/src/test/resources/prodcons/Context_AvroEventAlbum_file2file.json b/testsuites/integration/integration-uservice-test/src/test/resources/prodcons/Context_AvroEventAlbum_file2file.json
new file mode 100644 (file)
index 0000000..431b05a
--- /dev/null
@@ -0,0 +1,51 @@
+{
+    "engineServiceParameters": {
+        "name": "Context_JavaEventAlbum_Apex_Engine",
+        "version": "0.0.1",
+        "id": 101,
+        "instanceCount": 1,
+        "deploymentPort": 12550,
+        "policyModelFileName": "/dev/null",
+        "engineParameters": {
+            "executorParameters": {
+                "JAVASCRIPT": {
+                    "parameterClassName": "org.onap.policy.apex.plugins.executor.javascript.JavascriptExecutorParameters"
+                }
+            },
+            "contextParameters": {
+                "parameterClassName": "org.onap.policy.apex.context.parameters.ContextParameters",
+                "schemaParameters": {
+                    "Avro": {
+                        "parameterClassName": "org.onap.policy.apex.plugins.context.schema.avro.AvroSchemaHelperParameters"
+                    }
+                }
+            }
+        }
+    },
+    "eventOutputParameters": {
+        "aProducer": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "FILE",
+                "parameters": {
+                    "fileName": "src/test/resources/events/Context_AvroEventAlbum_EventOut.json"
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            }
+        }
+    },
+    "eventInputParameters": {
+        "aConsumer": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "FILE",
+                "parameters": {
+                    "fileName": "src/test/resources/events/Context_AvroEventAlbum_EventIn.json"
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            }
+        }
+    }
+}
diff --git a/testsuites/integration/integration-uservice-test/src/test/resources/prodcons/Context_JavaEventAlbum_file2file.json b/testsuites/integration/integration-uservice-test/src/test/resources/prodcons/Context_JavaEventAlbum_file2file.json
new file mode 100644 (file)
index 0000000..54f1a93
--- /dev/null
@@ -0,0 +1,43 @@
+{
+    "engineServiceParameters": {
+        "name": "Context_JavaEventAlbum_Apex_Engine",
+        "version": "0.0.1",
+        "id": 101,
+        "instanceCount": 1,
+        "deploymentPort": 12550,
+        "policyModelFileName": "/dev/null",
+        "engineParameters": {
+            "executorParameters": {
+                "JAVASCRIPT": {
+                    "parameterClassName": "org.onap.policy.apex.plugins.executor.javascript.JavascriptExecutorParameters"
+                }
+            }
+        }
+    },
+    "eventOutputParameters": {
+        "aProducer": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "FILE",
+                "parameters": {
+                    "fileName": "src/test/resources/events/Context_JavaEventAlbum_EventOut.json"
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            }
+        }
+    },
+    "eventInputParameters": {
+        "aConsumer": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "FILE",
+                "parameters": {
+                    "fileName": "src/test/resources/events/Context_JavaEventAlbum_EventIn.json"
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            }
+        }
+    }
+}
diff --git a/testsuites/integration/integration-uservice-test/src/test/resources/prodcons/File2FileFilteredInJsonEvent.json b/testsuites/integration/integration-uservice-test/src/test/resources/prodcons/File2FileFilteredInJsonEvent.json
new file mode 100644 (file)
index 0000000..507ae7d
--- /dev/null
@@ -0,0 +1,44 @@
+{
+    "engineServiceParameters": {
+        "name": "MyApexEngine",
+        "version": "0.0.1",
+        "id": 45,
+        "instanceCount": 4,
+        "deploymentPort": 12545,
+        "policyModelFileName": "src/test/resources/policymodels/SamplePolicyModelMVEL.json",
+        "engineParameters": {
+            "executorParameters": {
+                "MVEL": {
+                    "parameterClassName": "org.onap.policy.apex.plugins.executor.mvel.MVELExecutorParameters"
+                }
+            }
+        }
+    },
+    "eventInputParameters": {
+        "inputZero": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "FILE",
+                "parameters": {
+                    "fileName": "src/test/resources/events/EventsIn.json"
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            },
+            "eventNameFilter": "^E[Vv][Ee][Nn][Tt][0-9]000$"
+        }
+    },
+    "eventOutputParameters": {
+        "outputZero": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "FILE",
+                "parameters": {
+                    "fileName": "src/test/resources/events/Events0004Out.json"
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            }
+        }
+    }
+}
diff --git a/testsuites/integration/integration-uservice-test/src/test/resources/prodcons/File2FileFilteredInOutJsonEvent.json b/testsuites/integration/integration-uservice-test/src/test/resources/prodcons/File2FileFilteredInOutJsonEvent.json
new file mode 100644 (file)
index 0000000..43e187a
--- /dev/null
@@ -0,0 +1,69 @@
+{
+    "engineServiceParameters": {
+        "name": "MyApexEngine",
+        "version": "0.0.1",
+        "id": 45,
+        "instanceCount": 4,
+        "deploymentPort": 12545,
+        "policyModelFileName": "src/test/resources/policymodels/SamplePolicyModelMVEL.json",
+        "engineParameters": {
+            "executorParameters": {
+                "MVEL": {
+                    "parameterClassName": "org.onap.policy.apex.plugins.executor.mvel.MVELExecutorParameters"
+                }
+            }
+        }
+    },
+    "eventInputParameters": {
+        "inputZero": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "FILE",
+                "parameters": {
+                    "fileName": "src/test/resources/events/EventsIn.json"
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            },
+            "eventNameFilter": "^E[Vv][Ee][Nn][Tt][0-9]000$"
+        },
+        "inputOne": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "FILE",
+                "parameters": {
+                    "fileName": "src/test/resources/events/EventsIn.json"
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            },
+            "eventNameFilter": "^E[Vv][Ee][Nn][Tt][0-9]100$"
+        }
+    },
+    "eventOutputParameters": {
+        "outputZero": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "FILE",
+                "parameters": {
+                    "fileName": "src/test/resources/events/Events0004Out.json"
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            },
+            "eventNameFilter": "^E[Vv][Ee][Nn][Tt][0-9]004$"
+        },
+        "outputOne": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "FILE",
+                "parameters": {
+                    "fileName": "src/test/resources/events/Events0104Out.json"
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            },
+            "eventNameFilter": "^E[Vv][Ee][Nn][Tt][0-9]104$"
+        }
+    }
+}
diff --git a/testsuites/integration/integration-uservice-test/src/test/resources/prodcons/File2FileFilteredOutJsonEvent.json b/testsuites/integration/integration-uservice-test/src/test/resources/prodcons/File2FileFilteredOutJsonEvent.json
new file mode 100644 (file)
index 0000000..e5cd23b
--- /dev/null
@@ -0,0 +1,56 @@
+{
+    "engineServiceParameters": {
+        "name": "MyApexEngine",
+        "version": "0.0.1",
+        "id": 45,
+        "instanceCount": 4,
+        "deploymentPort": 12545,
+        "policyModelFileName": "src/test/resources/policymodels/SamplePolicyModelMVEL.json",
+        "engineParameters": {
+            "executorParameters": {
+                "MVEL": {
+                    "parameterClassName": "org.onap.policy.apex.plugins.executor.mvel.MVELExecutorParameters"
+                }
+            }
+        }
+    },
+    "eventInputParameters": {
+        "inputZero": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "FILE",
+                "parameters": {
+                    "fileName": "src/test/resources/events/EventsIn.json"
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            }
+        }
+    },
+    "eventOutputParameters": {
+        "outputZero": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "FILE",
+                "parameters": {
+                    "fileName": "src/test/resources/events/Events0004Out.json"
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            },
+            "eventNameFilter": "^E[Vv][Ee][Nn][Tt][0-9]004$"
+        },
+        "outputOne": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "FILE",
+                "parameters": {
+                    "fileName": "src/test/resources/events/Events0104Out.json"
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            },
+            "eventNameFilter": "^E[Vv][Ee][Nn][Tt][0-9]104$"
+        }
+    }
+}
diff --git a/testsuites/integration/integration-uservice-test/src/test/resources/prodcons/File2FileJsonEvent.json b/testsuites/integration/integration-uservice-test/src/test/resources/prodcons/File2FileJsonEvent.json
new file mode 100644 (file)
index 0000000..a7a3210
--- /dev/null
@@ -0,0 +1,43 @@
+{
+    "engineServiceParameters": {
+        "name": "MyApexEngine",
+        "version": "0.0.1",
+        "id": 45,
+        "instanceCount": 4,
+        "deploymentPort": 12545,
+        "policyModelFileName": "src/test/resources/policymodels/SamplePolicyModelMVEL.json",
+        "engineParameters": {
+            "executorParameters": {
+                "MVEL": {
+                    "parameterClassName": "org.onap.policy.apex.plugins.executor.mvel.MVELExecutorParameters"
+                }
+            }
+        }
+    },
+    "eventOutputParameters": {
+        "aProducer": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "FILE",
+                "parameters": {
+                    "fileName": "src/test/resources/events/EventsOut.json"
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            }
+        }
+    },
+    "eventInputParameters": {
+        "aConsumer": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "FILE",
+                "parameters": {
+                    "fileName": "src/test/resources/events/EventsIn.json"
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            }
+        }
+    }
+}
diff --git a/testsuites/integration/integration-uservice-test/src/test/resources/prodcons/File2FileXmlEvent.json b/testsuites/integration/integration-uservice-test/src/test/resources/prodcons/File2FileXmlEvent.json
new file mode 100644 (file)
index 0000000..5cca6d6
--- /dev/null
@@ -0,0 +1,45 @@
+{
+    "engineServiceParameters": {
+        "name": "MyApexEngine",
+        "version": "0.0.1",
+        "id": 45,
+        "instanceCount": 4,
+        "deploymentPort": 12546,
+        "policyModelFileName": "src/test/resources/policymodels/SamplePolicyModelMVEL.json",
+        "engineParameters": {
+            "executorParameters": {
+                "MVEL": {
+                    "parameterClassName": "org.onap.policy.apex.plugins.executor.mvel.MVELExecutorParameters"
+                }
+            }
+        }
+    },
+    "eventOutputParameters": {
+        "aProducer": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "FILE",
+                "parameters": {
+                    "fileName": "src/test/resources/events/EventsOut.xmlfile"
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "XML",
+                "parameterClassName": "org.onap.policy.apex.plugins.event.protocol.xml.XMLEventProtocolParameters"
+            }
+        }
+    },
+    "eventInputParameters": {
+        "aConsumer": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "FILE",
+                "parameters": {
+                    "fileName": "src/test/resources/events/EventsIn.xmlfile"
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "XML",
+                "parameterClassName": "org.onap.policy.apex.plugins.event.protocol.xml.XMLEventProtocolParameters"
+            }
+        }
+    }
+}
diff --git a/testsuites/integration/integration-uservice-test/src/test/resources/prodcons/File2RESTJsonEventBadHTTPMethod.json b/testsuites/integration/integration-uservice-test/src/test/resources/prodcons/File2RESTJsonEventBadHTTPMethod.json
new file mode 100644 (file)
index 0000000..b7540f9
--- /dev/null
@@ -0,0 +1,45 @@
+{
+    "engineServiceParameters": {
+        "name": "MyApexEngine",
+        "version": "0.0.1",
+        "id": 45,
+        "instanceCount": 4,
+        "deploymentPort": 12561,
+        "policyModelFileName": "src/test/resources/policymodels/SamplePolicyModelMVEL.json",
+        "engineParameters": {
+            "executorParameters": {
+                "MVEL": {
+                    "parameterClassName": "org.onap.policy.apex.plugins.executor.mvel.MVELExecutorParameters"
+                }
+            }
+        }
+    },
+    "eventOutputParameters": {
+        "FirstProducer": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "RESTCLIENT",
+                "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RESTClientCarrierTechnologyParameters",
+                "parameters": {
+                    "url": "http://localhost:32801/TestFile2Rest/apex/event/PutEvent",
+                    "httpMethod": "DELETE"
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            }
+        }
+    },
+    "eventInputParameters": {
+        "FirstConsumer": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "FILE",
+                "parameters": {
+                    "fileName": "src/test/resources/events/EventsIn.json"
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            }
+        }
+    }
+}
diff --git a/testsuites/integration/integration-uservice-test/src/test/resources/prodcons/File2RESTJsonEventBadURL.json b/testsuites/integration/integration-uservice-test/src/test/resources/prodcons/File2RESTJsonEventBadURL.json
new file mode 100644 (file)
index 0000000..9985693
--- /dev/null
@@ -0,0 +1,44 @@
+{
+    "engineServiceParameters": {
+        "name": "MyApexEngine",
+        "version": "0.0.1",
+        "id": 45,
+        "instanceCount": 4,
+        "deploymentPort": 12561,
+        "policyModelFileName": "src/test/resources/policymodels/SamplePolicyModelMVEL.json",
+        "engineParameters": {
+            "executorParameters": {
+                "MVEL": {
+                    "parameterClassName": "org.onap.policy.apex.plugins.executor.mvel.MVELExecutorParameters"
+                }
+            }
+        }
+    },
+    "eventOutputParameters": {
+        "FirstProducer": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "RESTCLIENT",
+                "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RESTClientCarrierTechnologyParameters",
+                "parameters": {
+                    "url": "http://localhost:32801/TestFile2Rest/apex/event/Bad"
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            }
+        }
+    },
+    "eventInputParameters": {
+        "FirstConsumer": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "FILE",
+                "parameters": {
+                    "fileName": "src/test/resources/events/EventsIn.json"
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            }
+        }
+    }
+}
diff --git a/testsuites/integration/integration-uservice-test/src/test/resources/prodcons/File2RESTJsonEventNoURL.json b/testsuites/integration/integration-uservice-test/src/test/resources/prodcons/File2RESTJsonEventNoURL.json
new file mode 100644 (file)
index 0000000..8c00885
--- /dev/null
@@ -0,0 +1,41 @@
+{
+    "engineServiceParameters": {
+        "name": "MyApexEngine",
+        "version": "0.0.1",
+        "id": 45,
+        "instanceCount": 4,
+        "deploymentPort": 12561,
+        "policyModelFileName": "src/test/resources/policymodels/SamplePolicyModelMVEL.json",
+        "engineParameters": {
+            "executorParameters": {
+                "MVEL": {
+                    "parameterClassName": "org.onap.policy.apex.plugins.executor.mvel.MVELExecutorParameters"
+                }
+            }
+        }
+    },
+    "eventOutputParameters": {
+        "FirstProducer": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "RESTCLIENT",
+                "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RESTClientCarrierTechnologyParameters"
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            }
+        }
+    },
+    "eventInputParameters": {
+        "FirstConsumer": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "FILE",
+                "parameters": {
+                    "fileName": "src/test/resources/events/EventsIn.json"
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            }
+        }
+    }
+}
diff --git a/testsuites/integration/integration-uservice-test/src/test/resources/prodcons/File2RESTJsonEventPost.json b/testsuites/integration/integration-uservice-test/src/test/resources/prodcons/File2RESTJsonEventPost.json
new file mode 100644 (file)
index 0000000..1a1a189
--- /dev/null
@@ -0,0 +1,44 @@
+{
+    "engineServiceParameters": {
+        "name": "MyApexEngine",
+        "version": "0.0.1",
+        "id": 45,
+        "instanceCount": 4,
+        "deploymentPort": 12561,
+        "policyModelFileName": "src/test/resources/policymodels/SamplePolicyModelMVEL.json",
+        "engineParameters": {
+            "executorParameters": {
+                "MVEL": {
+                    "parameterClassName": "org.onap.policy.apex.plugins.executor.mvel.MVELExecutorParameters"
+                }
+            }
+        }
+    },
+    "eventOutputParameters": {
+        "FirstProducer": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "RESTCLIENT",
+                "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RESTClientCarrierTechnologyParameters",
+                "parameters": {
+                    "url": "http://localhost:32801/TestFile2Rest/apex/event/PostEvent"
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            }
+        }
+    },
+    "eventInputParameters": {
+        "FirstConsumer": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "FILE",
+                "parameters": {
+                    "fileName": "src/test/resources/events/EventsIn.json"
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            }
+        }
+    }
+}
diff --git a/testsuites/integration/integration-uservice-test/src/test/resources/prodcons/File2RESTJsonEventPostBadResponse.json b/testsuites/integration/integration-uservice-test/src/test/resources/prodcons/File2RESTJsonEventPostBadResponse.json
new file mode 100644 (file)
index 0000000..fda83d7
--- /dev/null
@@ -0,0 +1,44 @@
+{
+    "engineServiceParameters": {
+        "name": "MyApexEngine",
+        "version": "0.0.1",
+        "id": 45,
+        "instanceCount": 4,
+        "deploymentPort": 12561,
+        "policyModelFileName": "src/test/resources/policymodels/SamplePolicyModelMVEL.json",
+        "engineParameters": {
+            "executorParameters": {
+                "MVEL": {
+                    "parameterClassName": "org.onap.policy.apex.plugins.executor.mvel.MVELExecutorParameters"
+                }
+            }
+        }
+    },
+    "eventOutputParameters": {
+        "FirstProducer": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "RESTCLIENT",
+                "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RESTClientCarrierTechnologyParameters",
+                "parameters": {
+                    "url": "http://localhost:32801/TestFile2Rest/apex/event/PostEventBadResponse"
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            }
+        }
+    },
+    "eventInputParameters": {
+        "FirstConsumer": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "FILE",
+                "parameters": {
+                    "fileName": "src/test/resources/events/EventsIn.json"
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            }
+        }
+    }
+}
diff --git a/testsuites/integration/integration-uservice-test/src/test/resources/prodcons/File2RESTJsonEventPut.json b/testsuites/integration/integration-uservice-test/src/test/resources/prodcons/File2RESTJsonEventPut.json
new file mode 100644 (file)
index 0000000..990e08f
--- /dev/null
@@ -0,0 +1,45 @@
+{
+    "engineServiceParameters": {
+        "name": "MyApexEngine",
+        "version": "0.0.1",
+        "id": 45,
+        "instanceCount": 4,
+        "deploymentPort": 12561,
+        "policyModelFileName": "src/test/resources/policymodels/SamplePolicyModelMVEL.json",
+        "engineParameters": {
+            "executorParameters": {
+                "MVEL": {
+                    "parameterClassName": "org.onap.policy.apex.plugins.executor.mvel.MVELExecutorParameters"
+                }
+            }
+        }
+    },
+    "eventOutputParameters": {
+        "FirstProducer": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "RESTCLIENT",
+                "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RESTClientCarrierTechnologyParameters",
+                "parameters": {
+                    "url": "http://localhost:32801/TestFile2Rest/apex/event/PutEvent",
+                    "httpMethod": "PUT"
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            }
+        }
+    },
+    "eventInputParameters": {
+        "FirstConsumer": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "FILE",
+                "parameters": {
+                    "fileName": "src/test/resources/events/EventsIn.json"
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            }
+        }
+    }
+}
diff --git a/testsuites/integration/integration-uservice-test/src/test/resources/prodcons/JMS2JMSJsonEvent.json b/testsuites/integration/integration-uservice-test/src/test/resources/prodcons/JMS2JMSJsonEvent.json
new file mode 100644 (file)
index 0000000..6e94055
--- /dev/null
@@ -0,0 +1,59 @@
+{
+    "engineServiceParameters": {
+        "name": "MyApexEngine",
+        "version": "0.0.1",
+        "id": 45,
+        "instanceCount": 4,
+        "deploymentPort": 12553,
+        "policyModelFileName": "src/test/resources/policymodels/SamplePolicyModelMVEL.json",
+        "engineParameters": {
+            "executorParameters": {
+                "MVEL": {
+                    "parameterClassName": "org.onap.policy.apex.plugins.executor.mvel.MVELExecutorParameters"
+                }
+            }
+        }
+    },
+    "eventOutputParameters": {
+        "aProducer": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "JMS",
+                "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.jms.JMSCarrierTechnologyParameters",
+                "parameters": {
+                    "initialContextFactory": "org.onap.policy.apex.apps.uservice.test.adapt.jms.TestInitialContextFactory",
+                    "connectionFactory": "ConnectionFactory",
+                    "providerURL": "remote://localhost:5445",
+                    "securityPrincipal": "guest",
+                    "securityCredentials": "IAmAGuest",
+                    "producerTopic": "jms/topic/apexOut",
+                    "objectMessageSending": "false"
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JMSTEXT",
+                "parameterClassName": "org.onap.policy.apex.plugins.event.protocol.jms.JMSTextEventProtocolParameters"
+            }
+        }
+    },
+    "eventInputParameters": {
+        "aConsumer": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "JMS",
+                "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.jms.JMSCarrierTechnologyParameters",
+                "parameters": {
+                    "initialContextFactory": "org.onap.policy.apex.apps.uservice.test.adapt.jms.TestInitialContextFactory",
+                    "connectionFactory": "ConnectionFactory",
+                    "providerURL": "remote://localhost:5445",
+                    "securityPrincipal": "guest",
+                    "securityCredentials": "IAmAGuest",
+                    "consumerTopic": "jms/topic/apexIn"
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JMSTEXT",
+                "parameterClassName": "org.onap.policy.apex.plugins.event.protocol.jms.JMSTextEventProtocolParameters"
+            }
+        }
+    }
+}
+
diff --git a/testsuites/integration/integration-uservice-test/src/test/resources/prodcons/JMS2JMSObjectEvent.json b/testsuites/integration/integration-uservice-test/src/test/resources/prodcons/JMS2JMSObjectEvent.json
new file mode 100644 (file)
index 0000000..9a8aed3
--- /dev/null
@@ -0,0 +1,58 @@
+{
+    "engineServiceParameters": {
+        "name": "MyApexEngine",
+        "version": "0.0.1",
+        "id": 45,
+        "instanceCount": 4,
+        "deploymentPort": 12553,
+        "policyModelFileName": "src/test/resources/policymodels/JMSTestModel.json",
+        "engineParameters": {
+            "executorParameters": {
+                "JAVASCRIPT": {
+                    "parameterClassName": "org.onap.policy.apex.plugins.executor.javascript.JavascriptExecutorParameters"
+                }
+            }
+        }
+    },
+    "eventOutputParameters": {
+        "aProducer": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "JMS",
+                "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.jms.JMSCarrierTechnologyParameters",
+                "parameters": {
+                    "initialContextFactory": "org.onap.policy.apex.apps.uservice.test.adapt.jms.TestInitialContextFactory",
+                    "connectionFactory": "ConnectionFactory",
+                    "providerURL": "remote://localhost:5445",
+                    "securityPrincipal": "guest",
+                    "securityCredentials": "IAmAGuest",
+                    "producerTopic": "jms/topic/apexOut"
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JMSOBJECT",
+                "parameterClassName": "org.onap.policy.apex.plugins.event.protocol.jms.JMSObjectEventProtocolParameters"
+            }
+        }
+    },
+    "eventInputParameters": {
+        "aConsumer": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "JMS",
+                "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.jms.JMSCarrierTechnologyParameters",
+                "parameters": {
+                    "initialContextFactory": "org.onap.policy.apex.apps.uservice.test.adapt.jms.TestInitialContextFactory",
+                    "connectionFactory": "ConnectionFactory",
+                    "providerURL": "remote://localhost:5445",
+                    "securityPrincipal": "guest",
+                    "securityCredentials": "IAmAGuest",
+                    "consumerTopic": "jms/topic/apexIn"
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JMSOBJECT",
+                "parameterClassName": "org.onap.policy.apex.plugins.event.protocol.jms.JMSObjectEventProtocolParameters"
+            }
+        }
+    }
+}
+
diff --git a/testsuites/integration/integration-uservice-test/src/test/resources/prodcons/Kafka2KafkaJsonEvent.json b/testsuites/integration/integration-uservice-test/src/test/resources/prodcons/Kafka2KafkaJsonEvent.json
new file mode 100644 (file)
index 0000000..974e22b
--- /dev/null
@@ -0,0 +1,63 @@
+{
+    "engineServiceParameters": {
+        "name": "MyApexEngine",
+        "version": "0.0.1",
+        "id": 45,
+        "instanceCount": 4,
+        "deploymentPort": 12547,
+        "policyModelFileName": "src/test/resources/policymodels/SamplePolicyModelMVEL.json",
+        "engineParameters": {
+            "executorParameters": {
+                "MVEL": {
+                    "parameterClassName": "org.onap.policy.apex.plugins.executor.mvel.MVELExecutorParameters"
+                }
+            }
+        }
+    },
+    "eventOutputParameters": {
+        "aProducer": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "KAFKA",
+                "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.kafka.KAFKACarrierTechnologyParameters",
+                "parameters": {
+                    "bootstrapServers": "localhost:39902",
+                    "acks": "all",
+                    "retries": 0,
+                    "batchSize": 16384,
+                    "lingerTime": 1,
+                    "bufferMemory": 33554432,
+                    "producerTopic": "apex-out-json",
+                    "keySerializer": "org.apache.kafka.common.serialization.StringSerializer",
+                    "valueSerializer": "org.apache.kafka.common.serialization.StringSerializer"
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            }
+        }
+    },
+    "eventInputParameters": {
+        "aConsumer": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "KAFKA",
+                "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.kafka.KAFKACarrierTechnologyParameters",
+                "parameters": {
+                    "bootstrapServers": "localhost:39902",
+                    "groupId": "apex-group-id",
+                    "enableAutoCommit": true,
+                    "autoCommitTime": 1000,
+                    "sessionTimeout": 30000,
+                    "consumerPollTime": 100,
+                    "consumerTopicList": [
+                        "apex-in-json"
+                    ],
+                    "keyDeserializer": "org.apache.kafka.common.serialization.StringDeserializer",
+                    "valueDeserializer": "org.apache.kafka.common.serialization.StringDeserializer"
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            }
+        }
+    }
+}
diff --git a/testsuites/integration/integration-uservice-test/src/test/resources/prodcons/Kafka2KafkaXmlEvent.json b/testsuites/integration/integration-uservice-test/src/test/resources/prodcons/Kafka2KafkaXmlEvent.json
new file mode 100644 (file)
index 0000000..916b7ca
--- /dev/null
@@ -0,0 +1,65 @@
+{
+    "engineServiceParameters": {
+        "name": "MyApexEngine",
+        "version": "0.0.1",
+        "id": 45,
+        "instanceCount": 3,
+        "deploymentPort": 12548,
+        "policyModelFileName": "src/test/resources/policymodels/SamplePolicyModelMVEL.json",
+        "engineParameters": {
+            "executorParameters": {
+                "MVEL": {
+                    "parameterClassName": "org.onap.policy.apex.plugins.executor.mvel.MVELExecutorParameters"
+                }
+            }
+        }
+    },
+    "eventOutputParameters": {
+        "aProducer": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "KAFKA",
+                "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.kafka.KAFKACarrierTechnologyParameters",
+                "parameters": {
+                    "bootstrapServers": "localhost:39902",
+                    "acks": "all",
+                    "retries": 0,
+                    "batchSize": 16384,
+                    "lingerTime": 1,
+                    "bufferMemory": 33554432,
+                    "producerTopic": "apex-out-xml",
+                    "keySerializer": "org.apache.kafka.common.serialization.StringSerializer",
+                    "valueSerializer": "org.apache.kafka.common.serialization.StringSerializer"
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "XML",
+                "parameterClassName": "org.onap.policy.apex.plugins.event.protocol.xml.XMLEventProtocolParameters"
+            }
+        }
+    },
+    "eventInputParameters": {
+        "aConsumer": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "KAFKA",
+                "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.kafka.KAFKACarrierTechnologyParameters",
+                "parameters": {
+                    "bootstrapServers": "localhost:39902",
+                    "groupId": "apex-group-id",
+                    "enableAutoCommit": true,
+                    "autoCommitTime": 1000,
+                    "sessionTimeout": 30000,
+                    "consumerPollTime": 100,
+                    "consumerTopicList": [
+                        "apex-in-xml"
+                    ],
+                    "keyDeserializer": "org.apache.kafka.common.serialization.StringDeserializer",
+                    "valueDeserializer": "org.apache.kafka.common.serialization.StringDeserializer"
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "XML",
+                "parameterClassName": "org.onap.policy.apex.plugins.event.protocol.xml.XMLEventProtocolParameters"
+            }
+        }
+    }
+}
diff --git a/testsuites/integration/integration-uservice-test/src/test/resources/prodcons/LBPolicy_ExecModel_file2kafka.json b/testsuites/integration/integration-uservice-test/src/test/resources/prodcons/LBPolicy_ExecModel_file2kafka.json
new file mode 100644 (file)
index 0000000..f98a853
--- /dev/null
@@ -0,0 +1,52 @@
+{
+    "engineServiceParameters": {
+        "name": "SONOM_LoadBalancing_Apex_Engine",
+        "version": "0.0.1",
+        "id": 102,
+        "instanceCount": 1,
+        "deploymentPort": 12549,
+        "policyModelFileName": "src/test/resources/policymodels/SamplePolicyModelMvel.json",
+        "engineParameters": {
+            "executorParameters": {
+                "MVEL": {
+                    "parameterClassName": "org.onap.policy.apex.plugins.executor.mvel.MVELExecutorParameters"
+                }
+            }
+        }
+    },
+    "eventOutputParameters": {
+        "aProducer": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "KAFKA",
+                "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.kafka.KAFKACarrierTechnologyParameters",
+                "parameters": {
+                    "bootstrapServers": "localhost:9092",
+                    "acks": "all",
+                    "retries": 0,
+                    "batchSize": 16384,
+                    "lingerTime": 1,
+                    "bufferMemory": 33554432,
+                    "producerTopic": "apex-out",
+                    "keySerializer": "org.apache.kafka.common.serialization.StringSerializer",
+                    "valueSerializer": "org.apache.kafka.common.serialization.StringSerializer"
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            }
+        }
+    },
+    "eventInputParameters": {
+        "aConsumer": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "FILE",
+                "parameters": {
+                    "fileName": "src/test/resources/events/SampleLBPolicyEventIn.json"
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            }
+        }
+    }
+}
diff --git a/testsuites/integration/integration-uservice-test/src/test/resources/prodcons/REST2FileJsonEmptyEvents.json b/testsuites/integration/integration-uservice-test/src/test/resources/prodcons/REST2FileJsonEmptyEvents.json
new file mode 100644 (file)
index 0000000..8e77e7d
--- /dev/null
@@ -0,0 +1,44 @@
+{
+    "engineServiceParameters": {
+        "name": "MyApexEngine",
+        "version": "0.0.1",
+        "id": 45,
+        "instanceCount": 4,
+        "deploymentPort": 12561,
+        "policyModelFileName": "src/test/resources/policymodels/SamplePolicyModelMVEL.json",
+        "engineParameters": {
+            "executorParameters": {
+                "MVEL": {
+                    "parameterClassName": "org.onap.policy.apex.plugins.executor.mvel.MVELExecutorParameters"
+                }
+            }
+        }
+    },
+    "eventInputParameters": {
+        "FirstConsumer": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "RESTCLIENT",
+                "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RESTClientCarrierTechnologyParameters",
+                "parameters": {
+                    "url": "http://localhost:32801/TestRest2File/apex/event/GetEmptyEvent"
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            }
+        }
+    },
+    "eventOutputParameters": {
+        "FirstProducer": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "FILE",
+                "parameters": {
+                    "fileName": "src/test/resources/events/EventsOut.json"
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            }
+        }
+    }
+}
diff --git a/testsuites/integration/integration-uservice-test/src/test/resources/prodcons/REST2FileJsonEvent.json b/testsuites/integration/integration-uservice-test/src/test/resources/prodcons/REST2FileJsonEvent.json
new file mode 100644 (file)
index 0000000..849a83e
--- /dev/null
@@ -0,0 +1,44 @@
+{
+    "engineServiceParameters": {
+        "name": "MyApexEngine",
+        "version": "0.0.1",
+        "id": 45,
+        "instanceCount": 4,
+        "deploymentPort": 12561,
+        "policyModelFileName": "src/test/resources/policymodels/SamplePolicyModelMVEL.json",
+        "engineParameters": {
+            "executorParameters": {
+                "MVEL": {
+                    "parameterClassName": "org.onap.policy.apex.plugins.executor.mvel.MVELExecutorParameters"
+                }
+            }
+        }
+    },
+    "eventInputParameters": {
+        "FirstConsumer": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "RESTCLIENT",
+                "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RESTClientCarrierTechnologyParameters",
+                "parameters": {
+                    "url": "http://localhost:32801/TestRest2File/apex/event/GetEvent"
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            }
+        }
+    },
+    "eventOutputParameters": {
+        "FirstProducer": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "FILE",
+                "parameters": {
+                    "fileName": "src/test/resources/events/EventsOut.json"
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            }
+        }
+    }
+}
diff --git a/testsuites/integration/integration-uservice-test/src/test/resources/prodcons/REST2FileJsonEventBadHTTPMethod.json b/testsuites/integration/integration-uservice-test/src/test/resources/prodcons/REST2FileJsonEventBadHTTPMethod.json
new file mode 100644 (file)
index 0000000..86f14b0
--- /dev/null
@@ -0,0 +1,45 @@
+{
+    "engineServiceParameters": {
+        "name": "MyApexEngine",
+        "version": "0.0.1",
+        "id": 45,
+        "instanceCount": 4,
+        "deploymentPort": 12561,
+        "policyModelFileName": "src/test/resources/policymodels/SamplePolicyModelMVEL.json",
+        "engineParameters": {
+            "executorParameters": {
+                "MVEL": {
+                    "parameterClassName": "org.onap.policy.apex.plugins.executor.mvel.MVELExecutorParameters"
+                }
+            }
+        }
+    },
+    "eventInputParameters": {
+        "FirstConsumer": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "RESTCLIENT",
+                "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RESTClientCarrierTechnologyParameters",
+                "parameters": {
+                    "url": "http://localhost:32801/TestRest2File/apex/event/GetEvent",
+                    "httpMethod": "POST"
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            }
+        }
+    },
+    "eventOutputParameters": {
+        "FirstProducer": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "FILE",
+                "parameters": {
+                    "fileName": "src/test/resources/events/EventsOut.json"
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            }
+        }
+    }
+}
diff --git a/testsuites/integration/integration-uservice-test/src/test/resources/prodcons/REST2FileJsonEventBadResponse.json b/testsuites/integration/integration-uservice-test/src/test/resources/prodcons/REST2FileJsonEventBadResponse.json
new file mode 100644 (file)
index 0000000..95c3fd5
--- /dev/null
@@ -0,0 +1,44 @@
+{
+    "engineServiceParameters": {
+        "name": "MyApexEngine",
+        "version": "0.0.1",
+        "id": 45,
+        "instanceCount": 4,
+        "deploymentPort": 12561,
+        "policyModelFileName": "src/test/resources/policymodels/SamplePolicyModelMVEL.json",
+        "engineParameters": {
+            "executorParameters": {
+                "MVEL": {
+                    "parameterClassName": "org.onap.policy.apex.plugins.executor.mvel.MVELExecutorParameters"
+                }
+            }
+        }
+    },
+    "eventInputParameters": {
+        "FirstConsumer": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "RESTCLIENT",
+                "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RESTClientCarrierTechnologyParameters",
+                "parameters": {
+                    "url": "http://localhost:32801/TestRest2File/apex/event/GetEventBadResponse"
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            }
+        }
+    },
+    "eventOutputParameters": {
+        "FirstProducer": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "FILE",
+                "parameters": {
+                    "fileName": "src/test/resources/events/EventsOut.json"
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            }
+        }
+    }
+}
diff --git a/testsuites/integration/integration-uservice-test/src/test/resources/prodcons/REST2FileJsonEventBadURL.json b/testsuites/integration/integration-uservice-test/src/test/resources/prodcons/REST2FileJsonEventBadURL.json
new file mode 100644 (file)
index 0000000..f58e55b
--- /dev/null
@@ -0,0 +1,44 @@
+{
+    "engineServiceParameters": {
+        "name": "MyApexEngine",
+        "version": "0.0.1",
+        "id": 45,
+        "instanceCount": 4,
+        "deploymentPort": 12561,
+        "policyModelFileName": "src/test/resources/policymodels/SamplePolicyModelMVEL.json",
+        "engineParameters": {
+            "executorParameters": {
+                "MVEL": {
+                    "parameterClassName": "org.onap.policy.apex.plugins.executor.mvel.MVELExecutorParameters"
+                }
+            }
+        }
+    },
+    "eventInputParameters": {
+        "FirstConsumer": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "RESTCLIENT",
+                "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RESTClientCarrierTechnologyParameters",
+                "parameters": {
+                    "url": "http://localhost:32801/TestRest2File/apex/event/Bad"
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            }
+        }
+    },
+    "eventOutputParameters": {
+        "FirstProducer": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "FILE",
+                "parameters": {
+                    "fileName": "src/test/resources/events/EventsOut.json"
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            }
+        }
+    }
+}
diff --git a/testsuites/integration/integration-uservice-test/src/test/resources/prodcons/REST2FileJsonEventNoURL.json b/testsuites/integration/integration-uservice-test/src/test/resources/prodcons/REST2FileJsonEventNoURL.json
new file mode 100644 (file)
index 0000000..ff35e17
--- /dev/null
@@ -0,0 +1,41 @@
+{
+    "engineServiceParameters": {
+        "name": "MyApexEngine",
+        "version": "0.0.1",
+        "id": 45,
+        "instanceCount": 4,
+        "deploymentPort": 12561,
+        "policyModelFileName": "src/test/resources/policymodels/SamplePolicyModelMVEL.json",
+        "engineParameters": {
+            "executorParameters": {
+                "MVEL": {
+                    "parameterClassName": "org.onap.policy.apex.plugins.executor.mvel.MVELExecutorParameters"
+                }
+            }
+        }
+    },
+    "eventInputParameters": {
+        "FirstConsumer": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "RESTCLIENT",
+                "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RESTClientCarrierTechnologyParameters"
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            }
+        }
+    },
+    "eventOutputParameters": {
+        "FirstProducer": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "FILE",
+                "parameters": {
+                    "fileName": "src/test/resources/events/EventsOut.json"
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            }
+        }
+    }
+}
diff --git a/testsuites/integration/integration-uservice-test/src/test/resources/prodcons/RESTServerJsonEvent.json b/testsuites/integration/integration-uservice-test/src/test/resources/prodcons/RESTServerJsonEvent.json
new file mode 100644 (file)
index 0000000..180530a
--- /dev/null
@@ -0,0 +1,50 @@
+{
+    "engineServiceParameters": {
+        "name": "MyApexEngine",
+        "version": "0.0.1",
+        "id": 45,
+        "instanceCount": 4,
+        "deploymentPort": 12561,
+        "policyModelFileName": "src/test/resources/policymodels/SamplePolicyModelMVEL.json",
+        "engineParameters": {
+            "executorParameters": {
+                "MVEL": {
+                    "parameterClassName": "org.onap.policy.apex.plugins.executor.mvel.MVELExecutorParameters"
+                }
+            }
+        }
+    },
+    "eventInputParameters": {
+        "FirstConsumer": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "RESTSERVER",
+                "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restserver.RESTServerCarrierTechnologyParameters",
+                "parameters": {
+                    "standalone": true,
+                    "host": "localhost",
+                    "port": 23324
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            },
+            "synchronousMode": true,
+            "synchronousPeer": "FirstProducer",
+            "synchronousTimeout": 500
+        }
+    },
+    "eventOutputParameters": {
+        "FirstProducer": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "RESTSERVER",
+                "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restserver.RESTServerCarrierTechnologyParameters"
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            },
+            "synchronousMode": true,
+            "synchronousPeer": "FirstConsumer",
+            "synchronousTimeout": 500
+        }
+    }
+}
diff --git a/testsuites/integration/integration-uservice-test/src/test/resources/prodcons/RESTServerJsonEventConsumerNotSync.json b/testsuites/integration/integration-uservice-test/src/test/resources/prodcons/RESTServerJsonEventConsumerNotSync.json
new file mode 100644 (file)
index 0000000..7cd558a
--- /dev/null
@@ -0,0 +1,47 @@
+{
+    "engineServiceParameters": {
+        "name": "MyApexEngine",
+        "version": "0.0.1",
+        "id": 45,
+        "instanceCount": 4,
+        "deploymentPort": 12561,
+        "policyModelFileName": "src/test/resources/policymodels/SamplePolicyModelMVEL.json",
+        "engineParameters": {
+            "executorParameters": {
+                "MVEL": {
+                    "parameterClassName": "org.onap.policy.apex.plugins.executor.mvel.MVELExecutorParameters"
+                }
+            }
+        }
+    },
+    "eventInputParameters": {
+        "FirstConsumer": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "RESTSERVER",
+                "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restserver.RESTServerCarrierTechnologyParameters",
+                "parameters": {
+                    "standalone": true,
+                    "host": "localhost",
+                    "port": 23324
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            }
+        }
+    },
+    "eventOutputParameters": {
+        "FirstProducer": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "RESTSERVER",
+                "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restserver.RESTServerCarrierTechnologyParameters"
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            },
+            "synchronousMode": true,
+            "synchronousPeer": "FirstConsumer",
+            "synchronousTimeout": 500
+        }
+    }
+}
diff --git a/testsuites/integration/integration-uservice-test/src/test/resources/prodcons/RESTServerJsonEventConsumerStandaloneNoHost.json b/testsuites/integration/integration-uservice-test/src/test/resources/prodcons/RESTServerJsonEventConsumerStandaloneNoHost.json
new file mode 100644 (file)
index 0000000..72c94fd
--- /dev/null
@@ -0,0 +1,48 @@
+{
+    "engineServiceParameters": {
+        "name": "MyApexEngine",
+        "version": "0.0.1",
+        "id": 45,
+        "instanceCount": 4,
+        "deploymentPort": 12561,
+        "policyModelFileName": "src/test/resources/policymodels/SamplePolicyModelMVEL.json",
+        "engineParameters": {
+            "executorParameters": {
+                "MVEL": {
+                    "parameterClassName": "org.onap.policy.apex.plugins.executor.mvel.MVELExecutorParameters"
+                }
+            }
+        }
+    },
+    "eventInputParameters": {
+        "FirstConsumer": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "RESTSERVER",
+                "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restserver.RESTServerCarrierTechnologyParameters",
+                "parameters": {
+                    "standalone": true
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            },
+            "synchronousMode": true,
+            "synchronousPeer": "FirstProducer",
+            "synchronousTimeout": 500
+        }
+    },
+    "eventOutputParameters": {
+        "FirstProducer": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "RESTSERVER",
+                "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restserver.RESTServerCarrierTechnologyParameters"
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            },
+            "synchronousMode": true,
+            "synchronousPeer": "FirstConsumer",
+            "synchronousTimeout": 500
+        }
+    }
+}
diff --git a/testsuites/integration/integration-uservice-test/src/test/resources/prodcons/RESTServerJsonEventConsumerStandaloneNoPort.json b/testsuites/integration/integration-uservice-test/src/test/resources/prodcons/RESTServerJsonEventConsumerStandaloneNoPort.json
new file mode 100644 (file)
index 0000000..0ee99e2
--- /dev/null
@@ -0,0 +1,49 @@
+{
+    "engineServiceParameters": {
+        "name": "MyApexEngine",
+        "version": "0.0.1",
+        "id": 45,
+        "instanceCount": 4,
+        "deploymentPort": 12561,
+        "policyModelFileName": "src/test/resources/policymodels/SamplePolicyModelMVEL.json",
+        "engineParameters": {
+            "executorParameters": {
+                "MVEL": {
+                    "parameterClassName": "org.onap.policy.apex.plugins.executor.mvel.MVELExecutorParameters"
+                }
+            }
+        }
+    },
+    "eventInputParameters": {
+        "FirstConsumer": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "RESTSERVER",
+                "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restserver.RESTServerCarrierTechnologyParameters",
+                "parameters": {
+                    "standalone": true,
+                    "host": "localhost"
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            },
+            "synchronousMode": true,
+            "synchronousPeer": "FirstProducer",
+            "synchronousTimeout": 500
+        }
+    },
+    "eventOutputParameters": {
+        "FirstProducer": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "RESTSERVER",
+                "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restserver.RESTServerCarrierTechnologyParameters"
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            },
+            "synchronousMode": true,
+            "synchronousPeer": "FirstConsumer",
+            "synchronousTimeout": 500
+        }
+    }
+}
diff --git a/testsuites/integration/integration-uservice-test/src/test/resources/prodcons/RESTServerJsonEventContextAvro.json b/testsuites/integration/integration-uservice-test/src/test/resources/prodcons/RESTServerJsonEventContextAvro.json
new file mode 100644 (file)
index 0000000..7aabe00
--- /dev/null
@@ -0,0 +1,58 @@
+{
+    "engineServiceParameters": {
+        "name": "MyApexEngine",
+        "version": "0.0.1",
+        "id": 45,
+        "instanceCount": 4,
+        "deploymentPort": 12561,
+        "policyModelFileName": "src/test/resources/policymodels/VPNPolicyModelAvro.json",
+        "engineParameters": {
+            "executorParameters": {
+                "MVEL": {
+                    "parameterClassName": "org.onap.policy.apex.plugins.executor.mvel.MVELExecutorParameters"
+                }
+            },
+            "contextParameters": {
+                "parameterClassName": "org.onap.policy.apex.context.parameters.ContextParameters",
+                "schemaParameters": {
+                    "Avro": {
+                        "parameterClassName": "org.onap.policy.apex.plugins.context.schema.avro.AvroSchemaHelperParameters"
+                    }
+                }
+            }
+        }
+    },
+    "eventInputParameters": {
+        "FirstConsumer": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "RESTSERVER",
+                "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restserver.RESTServerCarrierTechnologyParameters",
+                "parameters": {
+                    "standalone": true,
+                    "host": "localhost",
+                    "port": 23324
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            },
+            "synchronousMode": true,
+            "synchronousPeer": "FirstProducer",
+            "synchronousTimeout": 500
+        }
+    },
+    "eventOutputParameters": {
+        "FirstProducer": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "RESTSERVER",
+                "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restserver.RESTServerCarrierTechnologyParameters"
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            },
+            "synchronousMode": true,
+            "synchronousPeer": "FirstConsumer",
+            "synchronousTimeout": 500
+        }
+    }
+}
diff --git a/testsuites/integration/integration-uservice-test/src/test/resources/prodcons/RESTServerJsonEventContextJava.json b/testsuites/integration/integration-uservice-test/src/test/resources/prodcons/RESTServerJsonEventContextJava.json
new file mode 100644 (file)
index 0000000..30b32da
--- /dev/null
@@ -0,0 +1,58 @@
+{
+    "engineServiceParameters": {
+        "name": "MyApexEngine",
+        "version": "0.0.1",
+        "id": 45,
+        "instanceCount": 4,
+        "deploymentPort": 12561,
+        "policyModelFileName": "src/test/resources/policymodels/VPNPolicyModelJava.json",
+        "engineParameters": {
+            "executorParameters": {
+                "MVEL": {
+                    "parameterClassName": "org.onap.policy.apex.plugins.executor.mvel.MVELExecutorParameters"
+                }
+            },
+            "contextParameters": {
+                "parameterClassName": "org.onap.policy.apex.context.parameters.ContextParameters",
+                "schemaParameters": {
+                    "Avro": {
+                        "parameterClassName": "org.onap.policy.apex.plugins.context.schema.avro.AvroSchemaHelperParameters"
+                    }
+                }
+            }
+        }
+    },
+    "eventInputParameters": {
+        "FirstConsumer": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "RESTSERVER",
+                "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restserver.RESTServerCarrierTechnologyParameters",
+                "parameters": {
+                    "standalone": true,
+                    "host": "localhost",
+                    "port": 23324
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            },
+            "synchronousMode": true,
+            "synchronousPeer": "FirstProducer",
+            "synchronousTimeout": 500
+        }
+    },
+    "eventOutputParameters": {
+        "FirstProducer": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "RESTSERVER",
+                "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restserver.RESTServerCarrierTechnologyParameters"
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            },
+            "synchronousMode": true,
+            "synchronousPeer": "FirstConsumer",
+            "synchronousTimeout": 500
+        }
+    }
+}
diff --git a/testsuites/integration/integration-uservice-test/src/test/resources/prodcons/RESTServerJsonEventDivideByZero.json b/testsuites/integration/integration-uservice-test/src/test/resources/prodcons/RESTServerJsonEventDivideByZero.json
new file mode 100644 (file)
index 0000000..1a5db11
--- /dev/null
@@ -0,0 +1,50 @@
+{
+    "engineServiceParameters": {
+        "name": "MyApexEngine",
+        "version": "0.0.1",
+        "id": 45,
+        "instanceCount": 4,
+        "deploymentPort": 12561,
+        "policyModelFileName": "src/test/resources/policymodels/SamplePolicyModelMVELDivideByZero.json",
+        "engineParameters": {
+            "executorParameters": {
+                "MVEL": {
+                    "parameterClassName": "org.onap.policy.apex.plugins.executor.mvel.MVELExecutorParameters"
+                }
+            }
+        }
+    },
+    "eventInputParameters": {
+        "FirstConsumer": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "RESTSERVER",
+                "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restserver.RESTServerCarrierTechnologyParameters",
+                "parameters": {
+                    "standalone": true,
+                    "host": "localhost",
+                    "port": 23324
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            },
+            "synchronousMode": true,
+            "synchronousPeer": "FirstProducer",
+            "synchronousTimeout": 500
+        }
+    },
+    "eventOutputParameters": {
+        "FirstProducer": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "RESTSERVER",
+                "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restserver.RESTServerCarrierTechnologyParameters"
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            },
+            "synchronousMode": true,
+            "synchronousPeer": "FirstConsumer",
+            "synchronousTimeout": 500
+        }
+    }
+}
diff --git a/testsuites/integration/integration-uservice-test/src/test/resources/prodcons/RESTServerJsonEventMultiIn.json b/testsuites/integration/integration-uservice-test/src/test/resources/prodcons/RESTServerJsonEventMultiIn.json
new file mode 100644 (file)
index 0000000..9975a44
--- /dev/null
@@ -0,0 +1,79 @@
+{
+    "engineServiceParameters": {
+        "name": "MyApexEngine",
+        "version": "0.0.1",
+        "id": 45,
+        "instanceCount": 4,
+        "deploymentPort": 12561,
+        "policyModelFileName": "src/test/resources/policymodels/SamplePolicyModelMVEL.json",
+        "engineParameters": {
+            "executorParameters": {
+                "MVEL": {
+                    "parameterClassName": "org.onap.policy.apex.plugins.executor.mvel.MVELExecutorParameters"
+                }
+            }
+        }
+    },
+    "eventInputParameters": {
+        "FirstConsumer": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "RESTSERVER",
+                "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restserver.RESTServerCarrierTechnologyParameters",
+                "parameters": {
+                    "standalone": true,
+                    "host": "localhost",
+                    "port": 23324
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            },
+            "synchronousMode": true,
+            "synchronousPeer": "FirstProducer",
+            "synchronousTimeout": 500
+        },
+        "SecondConsumer": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "RESTSERVER",
+                "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restserver.RESTServerCarrierTechnologyParameters",
+                "parameters": {
+                    "standalone": true,
+                    "host": "localhost",
+                    "port": 23325
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            },
+            "synchronousMode": true,
+            "synchronousPeer": "SecondProducer",
+            "synchronousTimeout": 500
+        }
+    },
+    "eventOutputParameters": {
+        "FirstProducer": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "RESTSERVER",
+                "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restserver.RESTServerCarrierTechnologyParameters"
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            },
+            "synchronousMode": true,
+            "synchronousPeer": "FirstConsumer",
+            "synchronousTimeout": 500
+        },
+        "SecondProducer": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "RESTSERVER",
+                "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restserver.RESTServerCarrierTechnologyParameters"
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            },
+            "synchronousMode": true,
+            "synchronousPeer": "SecondConsumer",
+            "synchronousTimeout": 500
+        }
+    }
+}
diff --git a/testsuites/integration/integration-uservice-test/src/test/resources/prodcons/RESTServerJsonEventProducerHost.json b/testsuites/integration/integration-uservice-test/src/test/resources/prodcons/RESTServerJsonEventProducerHost.json
new file mode 100644 (file)
index 0000000..c335708
--- /dev/null
@@ -0,0 +1,53 @@
+{
+    "engineServiceParameters": {
+        "name": "MyApexEngine",
+        "version": "0.0.1",
+        "id": 45,
+        "instanceCount": 4,
+        "deploymentPort": 12561,
+        "policyModelFileName": "src/test/resources/policymodels/SamplePolicyModelMVEL.json",
+        "engineParameters": {
+            "executorParameters": {
+                "MVEL": {
+                    "parameterClassName": "org.onap.policy.apex.plugins.executor.mvel.MVELExecutorParameters"
+                }
+            }
+        }
+    },
+    "eventInputParameters": {
+        "FirstConsumer": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "RESTSERVER",
+                "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restserver.RESTServerCarrierTechnologyParameters",
+                "parameters": {
+                    "standalone": true,
+                    "host": "localhost",
+                    "port": 23324
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            },
+            "synchronousMode": true,
+            "synchronousPeer": "FirstProducer",
+            "synchronousTimeout": 500
+        }
+    },
+    "eventOutputParameters": {
+        "FirstProducer": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "RESTSERVER",
+                "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restserver.RESTServerCarrierTechnologyParameters",
+                "parameters": {
+                    "host": "localhost"
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            },
+            "synchronousMode": true,
+            "synchronousPeer": "FirstConsumer",
+            "synchronousTimeout": 500
+        }
+    }
+}
diff --git a/testsuites/integration/integration-uservice-test/src/test/resources/prodcons/RESTServerJsonEventProducerNotSync.json b/testsuites/integration/integration-uservice-test/src/test/resources/prodcons/RESTServerJsonEventProducerNotSync.json
new file mode 100644 (file)
index 0000000..1c0d005
--- /dev/null
@@ -0,0 +1,44 @@
+{
+    "engineServiceParameters": {
+        "name": "MyApexEngine",
+        "version": "0.0.1",
+        "id": 45,
+        "instanceCount": 4,
+        "deploymentPort": 12561,
+        "policyModelFileName": "src/test/resources/policymodels/SamplePolicyModelMVEL.json",
+        "engineParameters": {
+            "executorParameters": {
+                "MVEL": {
+                    "parameterClassName": "org.onap.policy.apex.plugins.executor.mvel.MVELExecutorParameters"
+                }
+            }
+        }
+    },
+    "eventInputParameters": {
+        "FirstConsumer": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "RESTSERVER",
+                "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restserver.RESTServerCarrierTechnologyParameters",
+                "parameters": {
+                    "standalone": true,
+                    "host": "localhost",
+                    "port": 29775
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            }
+        }
+    },
+    "eventOutputParameters": {
+        "FirstProducer": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "RESTSERVER",
+                "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restserver.RESTServerCarrierTechnologyParameters"
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            }
+        }
+    }
+}
diff --git a/testsuites/integration/integration-uservice-test/src/test/resources/prodcons/RESTServerJsonEventProducerPort.json b/testsuites/integration/integration-uservice-test/src/test/resources/prodcons/RESTServerJsonEventProducerPort.json
new file mode 100644 (file)
index 0000000..4366c65
--- /dev/null
@@ -0,0 +1,53 @@
+{
+    "engineServiceParameters": {
+        "name": "MyApexEngine",
+        "version": "0.0.1",
+        "id": 45,
+        "instanceCount": 4,
+        "deploymentPort": 12561,
+        "policyModelFileName": "src/test/resources/policymodels/SamplePolicyModelMVEL.json",
+        "engineParameters": {
+            "executorParameters": {
+                "MVEL": {
+                    "parameterClassName": "org.onap.policy.apex.plugins.executor.mvel.MVELExecutorParameters"
+                }
+            }
+        }
+    },
+    "eventInputParameters": {
+        "FirstConsumer": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "RESTSERVER",
+                "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restserver.RESTServerCarrierTechnologyParameters",
+                "parameters": {
+                    "standalone": true,
+                    "host": "localhost",
+                    "port": 23324
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            },
+            "synchronousMode": true,
+            "synchronousPeer": "FirstProducer",
+            "synchronousTimeout": 500
+        }
+    },
+    "eventOutputParameters": {
+        "FirstProducer": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "RESTSERVER",
+                "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restserver.RESTServerCarrierTechnologyParameters",
+                "parameters": {
+                    "port": 12345
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            },
+            "synchronousMode": true,
+            "synchronousPeer": "FirstConsumer",
+            "synchronousTimeout": 500
+        }
+    }
+}
diff --git a/testsuites/integration/integration-uservice-test/src/test/resources/prodcons/RESTServerJsonEventProducerStandalone.json b/testsuites/integration/integration-uservice-test/src/test/resources/prodcons/RESTServerJsonEventProducerStandalone.json
new file mode 100644 (file)
index 0000000..d0cf4eb
--- /dev/null
@@ -0,0 +1,53 @@
+{
+    "engineServiceParameters": {
+        "name": "MyApexEngine",
+        "version": "0.0.1",
+        "id": 45,
+        "instanceCount": 4,
+        "deploymentPort": 12561,
+        "policyModelFileName": "src/test/resources/policymodels/SamplePolicyModelMVEL.json",
+        "engineParameters": {
+            "executorParameters": {
+                "MVEL": {
+                    "parameterClassName": "org.onap.policy.apex.plugins.executor.mvel.MVELExecutorParameters"
+                }
+            }
+        }
+    },
+    "eventInputParameters": {
+        "FirstConsumer": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "RESTSERVER",
+                "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restserver.RESTServerCarrierTechnologyParameters",
+                "parameters": {
+                    "standalone": true,
+                    "host": "localhost",
+                    "port": 23324
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            },
+            "synchronousMode": true,
+            "synchronousPeer": "FirstProducer",
+            "synchronousTimeout": 500
+        }
+    },
+    "eventOutputParameters": {
+        "FirstProducer": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "RESTSERVER",
+                "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restserver.RESTServerCarrierTechnologyParameters",
+                "parameters": {
+                    "standalone": true
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            },
+            "synchronousMode": true,
+            "synchronousPeer": "FirstConsumer",
+            "synchronousTimeout": 500
+        }
+    }
+}
diff --git a/testsuites/integration/integration-uservice-test/src/test/resources/prodcons/Ws2WsClientJsonEvent.json b/testsuites/integration/integration-uservice-test/src/test/resources/prodcons/Ws2WsClientJsonEvent.json
new file mode 100644 (file)
index 0000000..651a63b
--- /dev/null
@@ -0,0 +1,47 @@
+{
+    "engineServiceParameters": {
+        "name": "MyApexEngine",
+        "version": "0.0.1",
+        "id": 45,
+        "instanceCount": 4,
+        "deploymentPort": 12552,
+        "policyModelFileName": "src/test/resources/policymodels/SamplePolicyModelMVEL.json",
+        "engineParameters": {
+            "executorParameters": {
+                "MVEL": {
+                    "parameterClassName": "org.onap.policy.apex.plugins.executor.mvel.MVELExecutorParameters"
+                }
+            }
+        }
+    },
+    "eventOutputParameters": {
+        "aProducer": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "WEBSOCKET",
+                "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.websocket.WEBSOCKETCarrierTechnologyParameters",
+                "parameters": {
+                    "host": "localhost",
+                    "port": 42453
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            }
+        }
+    },
+    "eventInputParameters": {
+        "aConsumer": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "WEBSOCKET",
+                "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.websocket.WEBSOCKETCarrierTechnologyParameters",
+                "parameters": {
+                    "host": "localhost",
+                    "port": 42451
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            }
+        }
+    }
+}
diff --git a/testsuites/integration/integration-uservice-test/src/test/resources/prodcons/Ws2WsClientXMLEvent.json b/testsuites/integration/integration-uservice-test/src/test/resources/prodcons/Ws2WsClientXMLEvent.json
new file mode 100644 (file)
index 0000000..c14bc06
--- /dev/null
@@ -0,0 +1,49 @@
+{
+    "engineServiceParameters": {
+        "name": "MyApexEngine",
+        "version": "0.0.1",
+        "id": 45,
+        "instanceCount": 4,
+        "deploymentPort": 12553,
+        "policyModelFileName": "src/test/resources/policymodels/SamplePolicyModelMVEL.json",
+        "engineParameters": {
+            "executorParameters": {
+                "MVEL": {
+                    "parameterClassName": "org.onap.policy.apex.plugins.executor.mvel.MVELExecutorParameters"
+                }
+            }
+        }
+    },
+    "eventOutputParameters": {
+        "aProducer": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "WEBSOCKET",
+                "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.websocket.WEBSOCKETCarrierTechnologyParameters",
+                "parameters": {
+                    "host": "localhost",
+                    "port": 42453
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "XML",
+                "parameterClassName": "org.onap.policy.apex.plugins.event.protocol.xml.XMLEventProtocolParameters"
+            }
+        }
+    },
+    "eventInputParameters": {
+        "aConsumer": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "WEBSOCKET",
+                "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.websocket.WEBSOCKETCarrierTechnologyParameters",
+                "parameters": {
+                    "host": "localhost",
+                    "port": 42451
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "XML",
+                "parameterClassName": "org.onap.policy.apex.plugins.event.protocol.xml.XMLEventProtocolParameters"
+            }
+        }
+    }
+}
diff --git a/testsuites/integration/integration-uservice-test/src/test/resources/prodcons/Ws2WsServerJsonEvent.json b/testsuites/integration/integration-uservice-test/src/test/resources/prodcons/Ws2WsServerJsonEvent.json
new file mode 100644 (file)
index 0000000..c1fa11c
--- /dev/null
@@ -0,0 +1,47 @@
+{
+    "engineServiceParameters": {
+        "name": "MyApexEngine",
+        "version": "0.0.1",
+        "id": 45,
+        "instanceCount": 4,
+        "deploymentPort": 12554,
+        "policyModelFileName": "src/test/resources/policymodels/SamplePolicyModelMVEL.json",
+        "engineParameters": {
+            "executorParameters": {
+                "MVEL": {
+                    "parameterClassName": "org.onap.policy.apex.plugins.executor.mvel.MVELExecutorParameters"
+                }
+            }
+        }
+    },
+    "eventOutputParameters": {
+        "aProducer": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "WEBSOCKET",
+                "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.websocket.WEBSOCKETCarrierTechnologyParameters",
+                "parameters": {
+                    "wsClient": false,
+                    "port": 42452
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            }
+        }
+    },
+    "eventInputParameters": {
+        "aConsumer": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "WEBSOCKET",
+                "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.websocket.WEBSOCKETCarrierTechnologyParameters",
+                "parameters": {
+                    "wsClient": false,
+                    "port": 42450
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            }
+        }
+    }
+}
diff --git a/testsuites/integration/integration-uservice-test/src/test/resources/prodcons/Ws2WsServerXMLEvent.json b/testsuites/integration/integration-uservice-test/src/test/resources/prodcons/Ws2WsServerXMLEvent.json
new file mode 100644 (file)
index 0000000..878d710
--- /dev/null
@@ -0,0 +1,49 @@
+{
+    "engineServiceParameters": {
+        "name": "MyApexEngine",
+        "version": "0.0.1",
+        "id": 45,
+        "instanceCount": 4,
+        "deploymentPort": 12555,
+        "policyModelFileName": "src/test/resources/policymodels/SamplePolicyModelMVEL.json",
+        "engineParameters": {
+            "executorParameters": {
+                "MVEL": {
+                    "parameterClassName": "org.onap.policy.apex.plugins.executor.mvel.MVELExecutorParameters"
+                }
+            }
+        }
+    },
+    "eventOutputParameters": {
+        "aProducer": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "WEBSOCKET",
+                "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.websocket.WEBSOCKETCarrierTechnologyParameters",
+                "parameters": {
+                    "wsClient": false,
+                    "port": 42452
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "XML",
+                "parameterClassName": "org.onap.policy.apex.plugins.event.protocol.xml.XMLEventProtocolParameters"
+            }
+        }
+    },
+    "eventInputParameters": {
+        "aConsumer": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "WEBSOCKET",
+                "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.websocket.WEBSOCKETCarrierTechnologyParameters",
+                "parameters": {
+                    "wsClient": false,
+                    "port": 42450
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "XML",
+                "parameterClassName": "org.onap.policy.apex.plugins.event.protocol.xml.XMLEventProtocolParameters"
+            }
+        }
+    }
+}
diff --git a/testsuites/integration/pom.xml b/testsuites/integration/pom.xml
new file mode 100644 (file)
index 0000000..4e6bec7
--- /dev/null
@@ -0,0 +1,38 @@
+<!--
+  ============LICENSE_START=======================================================
+   Copyright (C) 2018 Ericsson. 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.
+
+  SPDX-License-Identifier: Apache-2.0
+  ============LICENSE_END=========================================================
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.onap.policy.apex-pdp.testsuites</groupId>
+        <artifactId>testsuites</artifactId>
+        <version>2.0.0-SNAPSHOT</version>
+    </parent>
+
+    <groupId>org.onap.policy.apex-pdp.testsuites.integration</groupId>
+    <artifactId>integration</artifactId>
+    <packaging>pom</packaging>
+
+    <modules>
+        <module>integration-common</module>
+        <module>integration-uservice-test</module>
+    </modules>
+</project>
\ No newline at end of file
diff --git a/testsuites/pom.xml b/testsuites/pom.xml
new file mode 100644 (file)
index 0000000..9d105a2
--- /dev/null
@@ -0,0 +1,36 @@
+<!--
+  ============LICENSE_START=======================================================
+   Copyright (C) 2018 Ericsson. 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.
+
+  SPDX-License-Identifier: Apache-2.0
+  ============LICENSE_END=========================================================
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.onap.policy.apex-pdp</groupId>
+        <artifactId>apex-pdp</artifactId>
+        <version>2.0.0-SNAPSHOT</version>
+    </parent>
+
+    <groupId>org.onap.policy.apex-pdp.testsuites</groupId>
+    <artifactId>testsuites</artifactId>
+    <packaging>pom</packaging>
+
+    <modules>
+        <module>integration</module>
+    </modules>
+</project>
\ No newline at end of file