Adding Benchmark module 79/56279/4
authorwaqas.ikram <waqas.ikram@ericsson.com>
Thu, 12 Jul 2018 11:47:09 +0000 (12:47 +0100)
committerwaqas.ikram <waqas.ikram@ericsson.com>
Fri, 13 Jul 2018 10:47:15 +0000 (11:47 +0100)
Change-Id: I4817580bf53bbf46b6890b70d49c8a2edabca749
Issue-ID: POLICY-865
Signed-off-by: waqas.ikram <waqas.ikram@ericsson.com>
43 files changed:
context/context-test-utils/src/main/java/org/onap/policy/apex/context/test/utils/Constants.java
testsuites/integration/integration-common/src/main/java/org/onap/policy/apex/test/common/model/EvalDomainModelFactory.java
testsuites/integration/integration-common/src/main/java/org/onap/policy/apex/test/common/model/java/EvalTask_Logic.java
testsuites/integration/integration-common/src/main/resources/org/onap/policy/apex/test/common/model/jython/EvalTask_Logic.jython
testsuites/integration/integration-executor-test/pom.xml
testsuites/integration/pom.xml
testsuites/performance/performance-benchmark-test/pom.xml [new file with mode: 0644]
testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/service/engine/benchmark/ApexBaseBenchMarkTest.java [new file with mode: 0644]
testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/service/engine/benchmark/ApexEngineBenchmark.java [new file with mode: 0644]
testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/service/engine/benchmark/TestApexEventListener.java [new file with mode: 0644]
testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/service/engine/main/BaseTest.java [new file with mode: 0644]
testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/service/engine/main/TestAsyncEventMIMO.java [new file with mode: 0644]
testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/service/engine/main/TestAsyncEventMISO.java [new file with mode: 0644]
testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/service/engine/main/TestAsyncEventSIMO.java [new file with mode: 0644]
testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/service/engine/main/TestAsyncEventSISO.java [new file with mode: 0644]
testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/service/engine/main/TestSyncEventMIMO.java [new file with mode: 0644]
testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/service/engine/main/TestSyncEventSISO.java [new file with mode: 0644]
testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/service/engine/runtime/ApexServiceModelUpdateTest.java [new file with mode: 0644]
testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/service/engine/runtime/ApexServiceTest.java [new file with mode: 0644]
testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/service/engine/utils/Utils.java [new file with mode: 0644]
testsuites/performance/performance-benchmark-test/src/test/resources/events/EventsInMulti0.json [new file with mode: 0644]
testsuites/performance/performance-benchmark-test/src/test/resources/events/EventsInMulti1.json [new file with mode: 0644]
testsuites/performance/performance-benchmark-test/src/test/resources/events/EventsInMulti2.json [new file with mode: 0644]
testsuites/performance/performance-benchmark-test/src/test/resources/events/EventsInSingle.json [new file with mode: 0644]
testsuites/performance/performance-benchmark-test/src/test/resources/logback-test.xml [new file with mode: 0644]
testsuites/performance/performance-benchmark-test/src/test/resources/parameters/File2FileJsonEventAsyncMIMO.json [new file with mode: 0644]
testsuites/performance/performance-benchmark-test/src/test/resources/parameters/File2FileJsonEventAsyncMISO.json [new file with mode: 0644]
testsuites/performance/performance-benchmark-test/src/test/resources/parameters/File2FileJsonEventAsyncSIMO.json [new file with mode: 0644]
testsuites/performance/performance-benchmark-test/src/test/resources/parameters/File2FileJsonEventAsyncSISO.json [new file with mode: 0644]
testsuites/performance/performance-benchmark-test/src/test/resources/parameters/File2FileJsonEventSyncMIMO.json [new file with mode: 0644]
testsuites/performance/performance-benchmark-test/src/test/resources/parameters/File2FileJsonEventSyncSISO.json [new file with mode: 0644]
testsuites/performance/performance-benchmark-test/src/test/resources/policymodels/SamplePolicyModelMVEL.json [new file with mode: 0644]
testsuites/performance/performance-context-metrics/pom.xml [moved from testsuites/integration/integration-context-metrics/pom.xml with 94% similarity]
testsuites/performance/performance-context-metrics/src/main/java/org/onap/policy/apex/plugins/context/metrics/ConcurrentContextMetrics.java [moved from testsuites/integration/integration-context-metrics/src/main/java/org/onap/policy/apex/plugins/context/metrics/ConcurrentContextMetrics.java with 100% similarity]
testsuites/performance/performance-context-metrics/src/main/java/org/onap/policy/apex/plugins/context/metrics/ConcurrentContextMetricsJVM.java [moved from testsuites/integration/integration-context-metrics/src/main/java/org/onap/policy/apex/plugins/context/metrics/ConcurrentContextMetricsJVM.java with 100% similarity]
testsuites/performance/performance-context-metrics/src/main/java/org/onap/policy/apex/plugins/context/metrics/ConcurrentContextMetricsJVMThread.java [moved from testsuites/integration/integration-context-metrics/src/main/java/org/onap/policy/apex/plugins/context/metrics/ConcurrentContextMetricsJVMThread.java with 100% similarity]
testsuites/performance/performance-context-metrics/src/main/java/org/onap/policy/apex/plugins/context/metrics/ConcurrentContextMetricsThread.java [moved from testsuites/integration/integration-context-metrics/src/main/java/org/onap/policy/apex/plugins/context/metrics/ConcurrentContextMetricsThread.java with 100% similarity]
testsuites/performance/performance-context-metrics/src/main/java/org/onap/policy/apex/plugins/context/metrics/package-info.java [moved from testsuites/integration/integration-context-metrics/src/main/java/org/onap/policy/apex/plugins/context/metrics/package-info.java with 100% similarity]
testsuites/performance/performance-context-metrics/src/test/java/org/onap/policy/apex/plugins/context/metrics/TestMetrics.java [moved from testsuites/integration/integration-context-metrics/src/test/java/org/onap/policy/apex/plugins/context/metrics/TestMetrics.java with 100% similarity]
testsuites/performance/performance-context-metrics/src/test/resources/hazelcast/hazelcast.xml [moved from testsuites/integration/integration-context-metrics/src/test/resources/hazelcast/hazelcast.xml with 100% similarity]
testsuites/performance/performance-context-metrics/src/test/resources/infinispan/infinispan.xml [moved from testsuites/integration/integration-context-metrics/src/test/resources/infinispan/infinispan.xml with 100% similarity]
testsuites/performance/pom.xml [new file with mode: 0644]
testsuites/pom.xml

index 2bf304e..7968713 100644 (file)
@@ -56,8 +56,11 @@ public class Constants {
     private static final AxArtifactKey KEY3 = new AxArtifactKey("testC-bot", VERSION);
     private static final AxArtifactKey KEY2 = new AxArtifactKey("testC-next", VERSION);
 
-    private static final AxArtifactKey[] AX_ARTIFACT_KEYS = {KEY, KEY2, KEY3};
-    public static final AxArtifactKey[] USED_ARTIFACT_STACK_ARRAY = AX_ARTIFACT_KEYS;
+    public static final AxArtifactKey[] USED_ARTIFACT_STACK_ARRAY = getAxArtifactKeyArray();
+
+    private static AxArtifactKey[] getAxArtifactKeyArray() {
+        return new AxArtifactKey[] {KEY, KEY2, KEY3};
+    }
 
     private Constants() {}
 
index 65d49f0..83a4ccc 100644 (file)
@@ -354,7 +354,7 @@ public class EvalDomainModelFactory {
         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);
+        final AxTaskLogic eAxLogic = new AxTaskLogic(eTask.getKey(), "TaskLogic", (justOneLang == null ? "JYTHON" : justOneLang), logicReader);
         eAxLogic.setLogic(
                 eAxLogic.getLogic().replaceAll("<STATE_NAME>", "Event").replaceAll("<TASK_NAME>", eTask.getKey().getName()).replaceAll("<STATE_NUMBER>", "1"));
         eTask.setTaskLogic(eAxLogic);
index f861071..f4fa533 100644 (file)
@@ -28,10 +28,7 @@ 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.
@@ -43,13 +40,11 @@ public class EvalTask_Logic {
     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.outFields.put("State3Timestamp", timeNow.getTime());
         executor.logger.debug(executor.outFields.toString());
-        stateNo++;
         return true;
     }
 }
index bc803eb..aa65256 100644 (file)
 #-------------------------------------------------------------------------------
 
 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.outFields["State<STATE_NUMBER>Timestamp"] = Long(Date().getTime())
 executor.logger.debug('outFields: ' + executor.outFields.toString())
 returnValue = Boolean.TRUE
index d064f63..82f847f 100644 (file)
@@ -79,7 +79,7 @@
             <version>${project.version}</version>
             <scope>test</scope>
         </dependency>
-            <dependency>
+        <dependency>
             <groupId>org.apache.derby</groupId>
             <artifactId>derby</artifactId>
             <version>${version.derby}</version>
index 9fcfd32..0e82d24 100644 (file)
     <artifactId>integration</artifactId>
     <packaging>pom</packaging>
 
+    <modules>
+        <module>integration-common</module>
+        <module>integration-executor-test</module>
+        <module>integration-uservice-test</module>
+    </modules>
+
     <profiles>
-        <profile>
-            <id>apexDefault</id>
-            <activation>
-                <activeByDefault>true</activeByDefault>
-            </activation>
-            <modules>
-                <module>integration-common</module>
-                <module>integration-executor-test</module>
-                <module>integration-uservice-test</module>
-            </modules>
-        </profile>
         <profile>
             <id>apexMetrics</id>
             <activation>
                 </property>
             </activation>
             <modules>
-                <module>integration-common</module>
-                <module>integration-executor-test</module>
-                <module>integration-uservice-test</module>
-                <module>integration-context-metrics</module>
+                <module>integration-context-test</module>
             </modules>
         </profile>
         <profile>
                 </property>
             </activation>
             <modules>
-                <module>integration-common</module>
-                <module>integration-executor-test</module>
-                <module>integration-uservice-test</module>
                 <module>integration-context-test</module>
-                <module>integration-context-metrics</module>
             </modules>
         </profile>
     </profiles>
diff --git a/testsuites/performance/performance-benchmark-test/pom.xml b/testsuites/performance/performance-benchmark-test/pom.xml
new file mode 100644 (file)
index 0000000..118fe11
--- /dev/null
@@ -0,0 +1,99 @@
+<!--
+  ============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.performance</groupId>
+        <artifactId>performance</artifactId>
+        <version>2.0.0-SNAPSHOT</version>
+    </parent>
+
+    <artifactId>performance-benchmark-test</artifactId>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.onap.policy.apex-pdp.services</groupId>
+            <artifactId>services-engine</artifactId>
+            <version>${project.version}</version>
+        </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.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-executor</groupId>
+            <artifactId>plugins-executor-jython</artifactId>
+            <version>${project.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.onap.policy.apex-pdp.plugins.plugins-executor</groupId>
+            <artifactId>plugins-executor-java</artifactId>
+            <version>${project.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.onap.policy.apex-pdp.plugins.plugins-executor</groupId>
+            <artifactId>plugins-executor-jruby</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.context</groupId>
+            <artifactId>context-test-utils</artifactId>
+            <version>${project.version}</version>
+            <scope>test</scope>
+        </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/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/service/engine/benchmark/ApexBaseBenchMarkTest.java b/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/service/engine/benchmark/ApexBaseBenchMarkTest.java
new file mode 100644 (file)
index 0000000..3638119
--- /dev/null
@@ -0,0 +1,139 @@
+/*-
+ * ============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=========================================================
+ */
+package org.onap.policy.apex.service.engine.benchmark;
+
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.TimeUnit;
+
+import org.onap.policy.apex.context.impl.schema.java.JavaSchemaHelperParameters;
+import org.onap.policy.apex.context.parameters.ContextParameters;
+import org.onap.policy.apex.context.parameters.SchemaParameters;
+import org.onap.policy.apex.core.engine.EngineParameters;
+import org.onap.policy.apex.core.engine.ExecutorParameters;
+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.concepts.AxArtifactKey;
+import org.onap.policy.apex.plugins.context.schema.avro.AvroSchemaHelperParameters;
+import org.onap.policy.apex.plugins.executor.java.JavaExecutorParameters;
+import org.onap.policy.apex.plugins.executor.javascript.JavascriptExecutorParameters;
+import org.onap.policy.apex.plugins.executor.jruby.JrubyExecutorParameters;
+import org.onap.policy.apex.plugins.executor.jython.JythonExecutorParameters;
+import org.onap.policy.apex.plugins.executor.mvel.MVELExecutorParameters;
+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.ApexServiceModelUpdateTest;
+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;
+
+public class ApexBaseBenchMarkTest {
+    private static final long STOP_TIME_OUT = TimeUnit.SECONDS.toMillis(30);
+    private static final XLogger LOGGER = XLoggerFactory.getXLogger(ApexServiceModelUpdateTest.class);
+    private static final long MAX_START_WAIT = TimeUnit.SECONDS.toMillis(10);
+    private final AxArtifactKey engineServiceKey = new AxArtifactKey("Machine-1_process-1_engine-1", "0.0.0");
+    private final String model;
+    private final int threads;
+    private final ApexEventListener listener;
+    private EngineService service;
+    private EngineServiceEventInterface engineServiceEventInterface;
+
+
+    public ApexBaseBenchMarkTest(final String model, final int threads, final ApexEventListener listener) {
+        this.model = model;
+        this.threads = threads;
+        this.listener = listener;
+    }
+
+    public void setUp() throws Exception {
+        final EngineServiceParameters parameters = new EngineServiceParameters();
+        parameters.setInstanceCount(threads);
+        parameters.setName(engineServiceKey.getName());
+        parameters.setVersion(engineServiceKey.getVersion());
+        parameters.setId(100);
+
+        final EngineParameters engineParameters = parameters.getEngineParameters();
+        final Map<String, ExecutorParameters> executorParameterMap = engineParameters.getExecutorParameterMap();
+        executorParameterMap.put("MVEL", new MVELExecutorParameters());
+        executorParameterMap.put("JAVASCRIPT", new JavascriptExecutorParameters());
+        executorParameterMap.put("JYTHON", new JythonExecutorParameters());
+        executorParameterMap.put("JAVA", new JavaExecutorParameters());
+        executorParameterMap.put("JRUBY", new JrubyExecutorParameters());
+
+        final ContextParameters contextParameters = engineParameters.getContextParameters();
+        final SchemaParameters schemaParameters = contextParameters.getSchemaParameters();
+        schemaParameters.getSchemaHelperParameterMap().put("Avro", new AvroSchemaHelperParameters());
+        schemaParameters.getSchemaHelperParameterMap().put("Java", new JavaSchemaHelperParameters());
+        service = EngineServiceImpl.create(parameters);
+
+        service = EngineServiceImpl.create(parameters);
+        service.registerActionListener("listener", listener);
+        service.updateModel(parameters.getEngineKey(), model, true);
+
+        LOGGER.info("Starting EngineService ... ");
+        service.startAll();
+
+        final long starttime = System.currentTimeMillis();
+        while (!service.isStarted() && System.currentTimeMillis() - starttime < MAX_START_WAIT) {
+            ThreadUtilities.sleep(50);
+        }
+        if (!service.isStarted()) {
+            LOGGER.error("Apex Service {} failed to start after {} ms", service.getKey(), MAX_START_WAIT);
+            new ApexException("Unable to start engine service ");
+        }
+
+        engineServiceEventInterface = service.getEngineServiceEventInterface();
+    }
+
+    public void sendEvents(final List<ApexEvent> events) {
+        for (final ApexEvent event : events) {
+            engineServiceEventInterface.sendEvent(event);
+        }
+    }
+
+    public void sendEvent(final ApexEvent event) {
+        engineServiceEventInterface.sendEvent(event);
+    }
+
+
+    public EngineService getService() {
+        return service;
+    }
+
+    public void destroy() throws Exception {
+        if (service != null) {
+            LOGGER.info("Stopping EngineService ... ");
+            service.stop();
+            final long currentTimeInMillSec = System.currentTimeMillis();
+            while (!service.isStopped()) {
+                if (System.currentTimeMillis() - currentTimeInMillSec > STOP_TIME_OUT) {
+                    LOGGER.warn("Timed Out EngineService status: ", service.isStopped());
+                    break;
+                }
+                ThreadUtilities.sleep(500);
+            }
+            service = null;
+        }
+    }
+
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/service/engine/benchmark/ApexEngineBenchmark.java b/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/service/engine/benchmark/ApexEngineBenchmark.java
new file mode 100644 (file)
index 0000000..d7a4ef8
--- /dev/null
@@ -0,0 +1,137 @@
+/*-
+ * ============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.service.engine.benchmark;
+
+import static org.junit.Assert.assertEquals;
+
+import java.util.concurrent.TimeUnit;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.onap.policy.apex.core.infrastructure.threading.ThreadUtilities;
+import org.onap.policy.apex.service.engine.event.ApexEvent;
+import org.onap.policy.apex.service.engine.utils.Utils;
+import org.onap.policy.apex.test.common.model.EvalDomainModelFactory;
+import org.python.icu.impl.Assert;
+import org.slf4j.ext.XLogger;
+import org.slf4j.ext.XLoggerFactory;
+
+/**
+ * The Class ApexEngineBenchmark.
+ */
+public class ApexEngineBenchmark {
+    // Logger for this class
+    private static final XLogger LOGGER = XLoggerFactory.getXLogger(ApexEngineBenchmark.class);
+
+    private static final String TARGET = "apex";
+    private static final String SOURCE = "test";
+    private static final String NAME = "Event0000";
+    private static final String VERSION = "0.0.1";
+    private static final String PACKAGE = "org.onap.policy.apex.domains.sample.events";
+
+    private static final long TIME_OUT_IN_MILLISEC = TimeUnit.MINUTES.toMillis(1);
+
+    private String apexECAModelString;
+    private String apexOODAModelString;
+
+    @Before
+    public void setUp() throws Exception {
+        apexECAModelString = Utils.getModelString(new EvalDomainModelFactory().getECAPolicyModel());
+        apexOODAModelString = Utils.getModelString(new EvalDomainModelFactory().getOODAPolicyModel());
+    }
+
+    @Test
+    public void testBenchmark_SingletonWorker() throws Exception {
+        executeTest(apexECAModelString, 100, 1, 20);
+        executeTest(apexOODAModelString, 100, 1, 20);
+    }
+
+    @Test
+    public void testBenchmark_3ThreadWorker() throws Exception {
+        executeTest(apexECAModelString, 1000, 3, 10);
+        executeTest(apexOODAModelString, 100, 3, 10);
+    }
+
+    @Test
+    public void testBenchmark_10ThreadWorker() throws Exception {
+        executeTest(apexECAModelString, 2000, 10, 10);
+        executeTest(apexOODAModelString, 2000, 10, 10);
+    }
+
+    @Test
+    public void testBenchmark_50ThreadWorker() throws Exception {
+        executeTest(apexECAModelString, 3000, 50, 10);
+        executeTest(apexOODAModelString, 3000, 50, 10);
+    }
+
+    @Test
+    public void TestE_AvailableProcessorsThreadWorker() throws Exception {
+        final int cores = Runtime.getRuntime().availableProcessors();
+        executeTest(apexECAModelString, 3000, cores, 10);
+        executeTest(apexOODAModelString, 3000, cores, 10);
+    }
+
+    private void executeTest(final String policyModel, final int eventsCount, final int threads, final int loop)
+            throws Exception {
+
+        LOGGER.info("Running Test with Event count: {}, Instance count: {} and loop: {}", eventsCount, threads, loop);
+        final TestApexEventListener apexEventListener = new TestApexEventListener();
+
+        final ApexBaseBenchMarkTest apexBaseBenchMarkTest =
+                new ApexBaseBenchMarkTest(policyModel, threads, apexEventListener);
+
+        try {
+            apexBaseBenchMarkTest.setUp();
+            for (int i = 0; i < loop; i++) {
+                sendEvents(apexBaseBenchMarkTest, eventsCount);
+                final long currentTimeInMillSec = System.currentTimeMillis();
+                while (apexEventListener.getEventReceived() < eventsCount) {
+                    if (System.currentTimeMillis() - currentTimeInMillSec > TIME_OUT_IN_MILLISEC) {
+                        LOGGER.warn("Wait timed out ... ");
+                        break;
+                    }
+                    ThreadUtilities.sleep(500);
+                }
+                assertEquals(eventsCount, apexEventListener.getEventReceived());
+                apexEventListener.printResult();
+                apexEventListener.reset();
+            }
+        } catch (final Exception exception) {
+            Assert.fail(exception);
+        } finally {
+            apexBaseBenchMarkTest.destroy();
+            LOGGER.info("Finished Running Test with Event count: {}, Instance count: {} and loop: {}", eventsCount,
+                    threads, loop);
+        }
+    }
+
+    public void sendEvents(final ApexBaseBenchMarkTest apexBaseBenchMarkTest, final int eventsCount) throws Exception {
+        for (int eventNum = 0; eventNum < eventsCount; eventNum++) {
+            final long currentTimeMillis = System.currentTimeMillis();
+            final ApexEvent event = new ApexEvent(NAME, VERSION, PACKAGE, SOURCE, TARGET);
+            event.put("TestTemperature", eventNum);
+            event.put("FirstEventTimestamp", currentTimeMillis);
+            event.put("SentTimestamp", currentTimeMillis);
+            event.put("EventNumber", eventNum);
+            apexBaseBenchMarkTest.sendEvent(event);
+        }
+    }
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/service/engine/benchmark/TestApexEventListener.java b/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/service/engine/benchmark/TestApexEventListener.java
new file mode 100644 (file)
index 0000000..b2de8f0
--- /dev/null
@@ -0,0 +1,92 @@
+/*-
+ * ============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=========================================================
+ */
+package org.onap.policy.apex.service.engine.benchmark;
+
+import static org.junit.Assert.assertNull;
+
+import java.util.Queue;
+import java.util.concurrent.ConcurrentLinkedQueue;
+import java.util.concurrent.atomic.AtomicLong;
+
+import org.onap.policy.apex.service.engine.event.ApexEvent;
+import org.onap.policy.apex.service.engine.runtime.ApexEventListener;
+import org.slf4j.ext.XLogger;
+import org.slf4j.ext.XLoggerFactory;
+
+public class TestApexEventListener implements ApexEventListener {
+
+    private static final String SENT_TIMESTAMP = "SentTimestamp";
+    private static final XLogger LOGGER = XLoggerFactory.getXLogger(TestApexEventListener.class);
+    private static final String RECVD_TIMESTAMP = "RecvdTimestamp";
+    private Queue<ApexEvent> queue;
+
+    private final AtomicLong eventReceived = new AtomicLong();
+
+    public TestApexEventListener() {
+        this.queue = new ConcurrentLinkedQueue<ApexEvent>();
+    }
+
+    @Override
+    public void onApexEvent(final ApexEvent apexEvent) {
+        apexEvent.put(RECVD_TIMESTAMP, System.currentTimeMillis());
+        eventReceived.incrementAndGet();
+        queue.add(apexEvent);
+    }
+
+    public void printResult() {
+        if (!queue.isEmpty()) {
+            long maxTimeInMilliSeconds = 0;
+            long minTimeInMilliSeconds = Long.MAX_VALUE;
+            final long numEvents = queue.size();
+            long totalTimeInMilliSeconds = 0;
+            for (final ApexEvent apexEvent : queue) {
+                assertNull(apexEvent.getExceptionMessage());
+                final Long endTimeInMilliSeconds = (Long) apexEvent.get(RECVD_TIMESTAMP);
+                final Long startTimeInMilliSeconds = (Long) apexEvent.get(SENT_TIMESTAMP);
+                final long timeTaken = endTimeInMilliSeconds - startTimeInMilliSeconds;
+                totalTimeInMilliSeconds += timeTaken;
+                if (timeTaken > maxTimeInMilliSeconds) {
+                    maxTimeInMilliSeconds = timeTaken;
+                }
+                if (timeTaken < minTimeInMilliSeconds) {
+                    minTimeInMilliSeconds = timeTaken;
+                }
+            }
+            LOGGER.info("Average Time Taken to process {} events: {} ms", numEvents,
+                    (totalTimeInMilliSeconds / numEvents));
+            LOGGER.info("Max Time Taken: {} ms", maxTimeInMilliSeconds);
+            LOGGER.info("Min Time Taken: {} ms", minTimeInMilliSeconds);
+        }
+    }
+
+    public void reset() {
+        this.queue = new ConcurrentLinkedQueue<ApexEvent>();
+        eventReceived.set(0);;
+    }
+
+    public Queue<ApexEvent> getQueue() {
+        return queue;
+    }
+
+    public long getEventReceived() {
+        return eventReceived.get();
+    }
+
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/service/engine/main/BaseTest.java b/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/service/engine/main/BaseTest.java
new file mode 100644 (file)
index 0000000..d38107d
--- /dev/null
@@ -0,0 +1,120 @@
+/*-
+ * ============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=========================================================
+ */
+package org.onap.policy.apex.service.engine.main;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+import java.io.File;
+import java.io.IOException;
+import java.nio.file.Files;
+import java.util.concurrent.TimeUnit;
+
+import org.onap.policy.apex.core.infrastructure.threading.ThreadUtilities;
+import org.onap.policy.apex.model.utilities.TextFileUtils;
+
+public class BaseTest {
+    protected final static long TIME_OUT_IN_MS = TimeUnit.SECONDS.toMillis(10);
+
+    protected long getFileLength(final String file, final long expectedFileSize) throws IOException {
+        return getFileLength(10, file, expectedFileSize);
+    }
+
+    protected long getFileLength(final int loopTime, final String file, final long expectedFileSize)
+            throws IOException {
+        long length = 0;
+        for (int i = 0; i < loopTime; i++) {
+            final String fileString = TextFileUtils.getTextFileAsString(file).replaceAll("\\s+", "");
+            length = fileString.length();
+            if (length > 0 && length >= expectedFileSize) {
+                break;
+            }
+            ThreadUtilities.sleep(500);
+        }
+        return length;
+    }
+
+    protected void waitForOutFiles(final File... files) {
+        final long timeInMillis = System.currentTimeMillis();
+        while (!isFilesExist(files)) {
+            if (System.currentTimeMillis() - timeInMillis > TIME_OUT_IN_MS) {
+                break;
+            }
+            ThreadUtilities.sleep(500);
+        }
+
+    }
+
+    private void assertFilesExists(final File... files) {
+        for (final File file : files) {
+            assertTrue("Test failed, the output " + file + "event file was not created", file.exists());
+        }
+    }
+
+    private void deleteFiles(final File... files) throws IOException {
+        for (final File file : files) {
+            Files.deleteIfExists(file.toPath());
+        }
+    }
+
+    private boolean isFilesExist(final File[] files) {
+        for (final File file : files) {
+            if (!file.exists()) {
+                return false;
+            }
+        }
+        return true;
+    }
+
+    protected File[] toFile(final String[] filesPath) {
+        if (filesPath == null || filesPath.length == 0) {
+            return new File[] {};
+        }
+        final File[] files = new File[filesPath.length];
+
+        for (int index = 0; index < filesPath.length; index++) {
+            files[index] = new File(filesPath[index]);
+        }
+
+        return files;
+    }
+
+    protected void testFileEvents(final String[] args, final String[] expectedFilesPath, final long expectedFileSize)
+            throws Exception {
+        final ApexMain apexMain = new ApexMain(args);
+
+        final File[] expectedFiles = toFile(expectedFilesPath);
+        try {
+
+            waitForOutFiles(expectedFiles);
+            assertFilesExists(expectedFiles);
+
+            for (final String filePath : expectedFilesPath) {
+                assertEquals(expectedFileSize, getFileLength(filePath, expectedFileSize));
+            }
+
+            apexMain.shutdown();
+
+        } finally {
+            deleteFiles(expectedFiles);
+        }
+    }
+
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/service/engine/main/TestAsyncEventMIMO.java b/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/service/engine/main/TestAsyncEventMIMO.java
new file mode 100644 (file)
index 0000000..714deba
--- /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=========================================================
+ */
+
+package org.onap.policy.apex.service.engine.main;
+
+import org.junit.Test;
+
+public class TestAsyncEventMIMO extends BaseTest {
+
+    @Test
+    public void testJsonFileAsyncMIMO() throws Exception {
+        final String[] args = {"-c", "src/test/resources/parameters/File2FileJsonEventAsyncMIMO.json"};
+        final String[] outFilePaths = {"src/test/resources/events/EventsOutMulti0.json",
+                "src/test/resources/events/EventsOutMulti1.json", "src/test/resources/events/EventsOutMulti2.json"};
+
+        testFileEvents(args, outFilePaths, 48956 * 3);
+    }
+
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/service/engine/main/TestAsyncEventMISO.java b/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/service/engine/main/TestAsyncEventMISO.java
new file mode 100644 (file)
index 0000000..c5e7f4d
--- /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=========================================================
+ */
+
+package org.onap.policy.apex.service.engine.main;
+
+import org.junit.Test;
+
+public class TestAsyncEventMISO extends BaseTest {
+
+    @Test
+    public void testJsonFileAsyncMISO() throws Exception {
+        final String[] args = {"-c", "src/test/resources/parameters/File2FileJsonEventAsyncMISO.json"};
+
+        testFileEvents(args, new String[] {"src/test/resources/events/EventsOutSingle.json"}, 48956 * 3);
+    }
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/service/engine/main/TestAsyncEventSIMO.java b/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/service/engine/main/TestAsyncEventSIMO.java
new file mode 100644 (file)
index 0000000..0f57067
--- /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=========================================================
+ */
+
+package org.onap.policy.apex.service.engine.main;
+
+import org.junit.Test;
+
+public class TestAsyncEventSIMO extends BaseTest {
+
+    @Test
+    public void testJsonFileAsyncSIMO() throws Exception {
+        final String[] args = {"-c", "src/test/resources/parameters/File2FileJsonEventAsyncSIMO.json"};
+        final String[] outFilePaths = {"src/test/resources/events/EventsOutMulti0.json",
+                "src/test/resources/events/EventsOutMulti1.json", "src/test/resources/events/EventsOutMulti2.json"};
+
+        testFileEvents(args, outFilePaths, 48956);
+    }
+
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/service/engine/main/TestAsyncEventSISO.java b/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/service/engine/main/TestAsyncEventSISO.java
new file mode 100644 (file)
index 0000000..4152e20
--- /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=========================================================
+ */
+
+package org.onap.policy.apex.service.engine.main;
+
+import org.junit.Test;
+
+public class TestAsyncEventSISO extends BaseTest {
+
+    @Test
+    public void testJsonFileAsyncSISO() throws Exception {
+        final String[] args = {"-c", "src/test/resources/parameters/File2FileJsonEventAsyncSISO.json"};
+
+        testFileEvents(args, new String[] {"src/test/resources/events/EventsOutSingle.json"}, 48956);
+    }
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/service/engine/main/TestSyncEventMIMO.java b/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/service/engine/main/TestSyncEventMIMO.java
new file mode 100644 (file)
index 0000000..ad1a981
--- /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=========================================================
+ */
+
+package org.onap.policy.apex.service.engine.main;
+
+import org.junit.Test;
+
+public class TestSyncEventMIMO extends BaseTest {
+
+    @Test
+    public void testJsonFileAsyncMIMO() throws Exception {
+        final String[] args = {"-c", "src/test/resources/parameters/File2FileJsonEventSyncMIMO.json"};
+        final String[] outFilePaths = {"src/test/resources/events/EventsOutMulti0.json",
+                "src/test/resources/events/EventsOutMulti1.json", "src/test/resources/events/EventsOutMulti2.json"};
+
+        testFileEvents(args, outFilePaths, 48956 * 3);
+    }
+
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/service/engine/main/TestSyncEventSISO.java b/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/service/engine/main/TestSyncEventSISO.java
new file mode 100644 (file)
index 0000000..395c2fe
--- /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=========================================================
+ */
+
+package org.onap.policy.apex.service.engine.main;
+
+import org.junit.Test;
+
+public class TestSyncEventSISO extends BaseTest {
+
+    @Test
+    public void testJsonFileAsyncSISO() throws Exception {
+        final String[] args = {"-c", "src/test/resources/parameters/File2FileJsonEventSyncSISO.json"};
+
+        testFileEvents(args, new String[] {"src/test/resources/events/EventsOutSingle.json"}, 48956);
+    }
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/service/engine/runtime/ApexServiceModelUpdateTest.java b/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/service/engine/runtime/ApexServiceModelUpdateTest.java
new file mode 100644 (file)
index 0000000..d265806
--- /dev/null
@@ -0,0 +1,363 @@
+/*-
+ * ============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.service.engine.runtime;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
+import java.io.IOException;
+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.infrastructure.threading.ThreadUtilities;
+import org.onap.policy.apex.model.basicmodel.concepts.ApexException;
+import org.onap.policy.apex.model.basicmodel.concepts.AxArtifactKey;
+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.engine.event.ApexEventException;
+import org.onap.policy.apex.service.engine.runtime.impl.EngineServiceImpl;
+import org.onap.policy.apex.service.engine.utils.Utils;
+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;
+
+
+/**
+ * The Class ApexServiceTest.
+ *
+ * @author Liam Fallon (liam.fallon@ericsson.com)
+ */
+public class ApexServiceModelUpdateTest {
+    // Logger for this class
+    private static final XLogger LOGGER = XLoggerFactory.getXLogger(ApexServiceModelUpdateTest.class);
+
+    private final AxArtifactKey engineServiceKey = new AxArtifactKey("Machine-1_process-1_engine-1", "0.0.0");
+    private final EngineServiceParameters parameters = new EngineServiceParameters();
+    private EngineService service = null;
+    private TestListener listener = null;
+    private int actionEventsReceived = 0;
+
+    private AxPolicyModel apexSamplePolicyModel = null;
+    private String apexSampleModelString;
+
+    /**
+     * Sets up the test by creating an engine and reading in the test policy.
+     *
+     * @throws ApexException if something goes wron
+     * @throws IOException
+     */
+    @Before
+    public void setUp() throws ApexException, IOException {
+        // create engine with 3 threads
+        parameters.setInstanceCount(3);
+        parameters.setName(engineServiceKey.getName());
+        parameters.setVersion(engineServiceKey.getVersion());
+        parameters.setId(100);
+        parameters.getEngineParameters().getExecutorParameterMap().put("MVEL", new MVELExecutorParameters());
+        service = EngineServiceImpl.create(parameters);
+
+        LOGGER.debug("Running TestApexEngine. . .");
+
+        apexSamplePolicyModel = new SampleDomainModelFactory().getSamplePolicyModel("MVEL");
+        assertNotNull(apexSamplePolicyModel);
+
+        apexSampleModelString = Utils.getModelString(apexSamplePolicyModel);
+
+        // create engine
+        listener = new TestListener();
+        service.registerActionListener("MyListener", listener);
+    }
+
+    /**
+     * Tear down the the test infrastructure.
+     *
+     * @throws ApexException if there is an error
+     */
+    @After
+    public void tearDown() throws Exception {
+        if (service != null) {
+            service.stop();
+        }
+        service = null;
+    }
+
+    /**
+     * Test start with no model.
+     */
+    @Test
+    public void testNoModelStart() {
+        try {
+            service.startAll();
+            fail("Engine should not start with no model");
+        } catch (final Exception e) {
+            e.printStackTrace();
+            assertEquals("start()<-Machine-1_process-1_engine-1-0:0.0.0,STOPPED,  cannot start engine, "
+                    + "engine has not been initialized, its model is not loaded", e.getMessage());
+        }
+    }
+
+    /**
+     * Test model update with string model without force.
+     *
+     * @throws ApexException if there is an error
+     */
+    @Test
+    public void testModelUpdateStringNewNoForce() throws ApexException {
+        service.updateModel(parameters.getEngineKey(), apexSampleModelString, false);
+        service.startAll();
+        assertEquals(apexSamplePolicyModel.getKey(), ModelService.getModel(AxPolicyModel.class).getKey());
+    }
+
+    /**
+     * Test model update with string model with force.
+     *
+     * @throws ApexException if there is an error
+     */
+    @Test
+    public void testModelUpdateStringNewForce() throws ApexException {
+        service.updateModel(parameters.getEngineKey(), apexSampleModelString, true);
+        service.startAll();
+        assertEquals(apexSamplePolicyModel.getKey(), ModelService.getModel(AxPolicyModel.class).getKey());
+    }
+
+    /**
+     * Test model update with a new string model without force.
+     *
+     * @throws ApexException if there is an error
+     */
+    @Test
+    public void testModelUpdateStringNewNewNoForce() throws ApexException {
+        service.updateModel(parameters.getEngineKey(), apexSampleModelString, false);
+        service.startAll();
+        assertEquals(apexSamplePolicyModel.getKey(), ModelService.getModel(AxPolicyModel.class).getKey());
+
+        sendEvents();
+
+        service.updateModel(parameters.getEngineKey(), apexSampleModelString, false);
+        assertEquals(apexSamplePolicyModel.getKey(), ModelService.getModel(AxPolicyModel.class).getKey());
+
+        sendEvents();
+    }
+
+    /**
+     * Test incompatible model update with a model object without force.
+     *
+     * @throws ApexException if there is an error
+     */
+    @Test
+    public void testModelUpdateIncoNoForce() throws ApexException {
+        service.updateModel(parameters.getEngineKey(), apexSamplePolicyModel, false);
+        service.startAll();
+        assertEquals(apexSamplePolicyModel.getKey(), ModelService.getModel(AxPolicyModel.class).getKey());
+
+        // Different model name, incompatible
+        final AxPolicyModel incoPolicyModel0 = new AxPolicyModel(apexSamplePolicyModel);
+        incoPolicyModel0.getKey().setName("INCOMPATIBLE");
+
+        try {
+            service.updateModel(parameters.getEngineKey(), incoPolicyModel0, false);
+            fail("model update should fail on incompatible model without force being true");
+        } catch (final Exception e) {
+            System.err.println(e.getMessage());
+            assertEquals(
+                    "apex model update failed, supplied model with key \"INCOMPATIBLE:0.0.1\" is not a compatible "
+                            + "model update from the existing engine model with key \"SamplePolicyModelMVEL:0.0.1\"",
+                    e.getMessage());
+        }
+
+        // Still on old model
+        sendEvents();
+
+        // Different major version, incompatible
+        final AxPolicyModel incoPolicyModel1 = new AxPolicyModel(apexSamplePolicyModel);
+        incoPolicyModel1.getKey().setVersion("1.0.1");
+
+        try {
+            service.updateModel(parameters.getEngineKey(), incoPolicyModel1, false);
+            fail("model update should fail on incompatible model without force being true");
+        } catch (final Exception e) {
+            System.err.println(e.getMessage());
+            e.printStackTrace();
+            assertEquals(
+                    "apex model update failed, supplied model with key \"SamplePolicyModelMVEL:1.0.1\" is not a compatible "
+                            + "model update from the existing engine model with key \"SamplePolicyModelMVEL:0.0.1\"",
+                    e.getMessage());
+        }
+
+        // Still on old model
+        sendEvents();
+
+        // Different minor version, compatible
+        final AxPolicyModel coPolicyModel0 = new AxPolicyModel(apexSamplePolicyModel);
+        coPolicyModel0.getKey().setVersion("0.1.0");
+        service.updateModel(parameters.getEngineKey(), coPolicyModel0, false);
+
+        // On new compatible model
+        sendEvents();
+
+        // Different patch version, compatible
+        final AxPolicyModel coPolicyModel1 = new AxPolicyModel(apexSamplePolicyModel);
+        coPolicyModel1.getKey().setVersion("0.0.2");
+        service.updateModel(parameters.getEngineKey(), coPolicyModel1, false);
+
+        // On new compatible model
+        sendEvents();
+
+    }
+
+    /**
+     * Test incompatible model update with a model object with force.
+     *
+     * @throws ApexException if there is an error
+     */
+    @Test
+    public void testModelUpdateIncoForce() throws ApexException {
+        service.updateModel(parameters.getEngineKey(), apexSamplePolicyModel, false);
+        service.startAll();
+        assertEquals(apexSamplePolicyModel.getKey(), ModelService.getModel(AxPolicyModel.class).getKey());
+
+        // Different model name, incompatible
+        final AxPolicyModel incoPolicyModel0 = new AxPolicyModel(apexSamplePolicyModel);
+        incoPolicyModel0.getKey().setName("INCOMPATIBLE");
+        service.updateModel(parameters.getEngineKey(), incoPolicyModel0, true);
+
+        // On updated model
+        sendEvents();
+
+        // Different major version, incompatible
+        final AxPolicyModel incoPolicyModel1 = new AxPolicyModel(apexSamplePolicyModel);
+        incoPolicyModel1.getKey().setVersion("1.0.1");
+        service.updateModel(parameters.getEngineKey(), incoPolicyModel1, true);
+
+        // On updated model
+        sendEvents();
+
+        // Different minor version, compatible
+        final AxPolicyModel coPolicyModel0 = new AxPolicyModel(apexSamplePolicyModel);
+        coPolicyModel0.getKey().setVersion("0.1.0");
+        service.updateModel(parameters.getEngineKey(), coPolicyModel0, true);
+
+        // On new compatible model
+        sendEvents();
+
+        // Different patch version, compatible
+        final AxPolicyModel coPolicyModel1 = new AxPolicyModel(apexSamplePolicyModel);
+        coPolicyModel1.getKey().setVersion("0.0.2");
+        service.updateModel(parameters.getEngineKey(), coPolicyModel1, true);
+
+        // On new compatible model
+        sendEvents();
+
+    }
+
+    /**
+     * Utility method to send some events into the test engine.
+     * 
+     * @throws ApexEventException if there is an error
+     */
+    private void sendEvents() throws ApexEventException {
+        final EngineServiceEventInterface engineServiceEventInterface = service.getEngineServiceEventInterface();
+
+        // Send some events
+        final Date testStartTime = new Date();
+        final Map<String, Object> eventDataMap = new HashMap<String, Object>();
+        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 event =
+                new ApexEvent("Event0000", "0.0.1", "org.onap.policy.apex.domains.sample.events", "test", "apex");
+        event.putAll(eventDataMap);
+        engineServiceEventInterface.sendEvent(event);
+
+        final ApexEvent event2 =
+                new ApexEvent("Event0100", "0.0.1", "org.onap.policy.apex.domains.sample.events", "test", "apex");
+        event2.putAll(eventDataMap);
+        engineServiceEventInterface.sendEvent(event2);
+
+        // Wait for results
+        while (actionEventsReceived < 2) {
+            ThreadUtilities.sleep(100);
+        }
+        ThreadUtilities.sleep(500);
+    }
+
+    /**
+     * The listener interface for receiving test events. The class that is interested in processing
+     * a test event implements this interface, and the object created with that class is registered
+     * with a component using the component's <code>addTestListener</code> method. When the test
+     * event occurs, that object's appropriate method is invoked.
+     *
+     * @see TestEvent
+     */
+    private final class TestListener 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 event) {
+            LOGGER.debug("result 1 is:" + event);
+            checkResult(event);
+            actionEventsReceived++;
+
+            final Date testStartTime = new Date((Long) event.get("TestTimestamp"));
+            final Date testEndTime = new Date();
+
+            LOGGER.info("policy execution time: " + (testEndTime.getTime() - testStartTime.getTime()) + "ms");
+        }
+
+        /**
+         * Check result.
+         *
+         * @param result the result
+         */
+        private void checkResult(final ApexEvent result) {
+            assertTrue(result.getName().startsWith("Event0004") || result.getName().startsWith("Event0104"));
+
+            assertTrue(result.get("TestSlogan").equals("This is a test slogan"));
+            assertTrue(result.get("TestMatchCase").equals(new Byte((byte) 123)));
+            assertTrue(result.get("TestTemperature").equals(34.5445667));
+            assertTrue(((byte) result.get("TestMatchCaseSelected")) >= 0
+                    && ((byte) result.get("TestMatchCaseSelected") <= 3));
+            assertTrue(((byte) result.get("TestEstablishCaseSelected")) >= 0
+                    && ((byte) result.get("TestEstablishCaseSelected") <= 3));
+            assertTrue(((byte) result.get("TestDecideCaseSelected")) >= 0
+                    && ((byte) result.get("TestDecideCaseSelected") <= 3));
+            assertTrue(
+                    ((byte) result.get("TestActCaseSelected")) >= 0 && ((byte) result.get("TestActCaseSelected") <= 3));
+        }
+    }
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/service/engine/runtime/ApexServiceTest.java b/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/service/engine/runtime/ApexServiceTest.java
new file mode 100644 (file)
index 0000000..c5617e1
--- /dev/null
@@ -0,0 +1,474 @@
+/*-
+ * ============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.service.engine.runtime;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
+
+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.model.basicmodel.concepts.AxArtifactKey;
+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.engine.runtime.impl.EngineServiceImpl;
+import org.onap.policy.apex.service.engine.utils.Utils;
+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;
+
+/**
+ * The Class ApexServiceTest.
+ *
+ * @author Liam Fallon (liam.fallon@ericsson.com)
+ */
+public class ApexServiceTest {
+    // Logger for this class
+    private static final XLogger LOGGER = XLoggerFactory.getXLogger(ApexServiceTest.class);
+
+    private static final long MAX_STOP_WAIT = 5000; // 5 sec
+    private static final long MAX_START_WAIT = 5000; // 5 sec
+    private static final long MAX_RECV_WAIT = 5000; // 5 sec
+
+    private final static AxArtifactKey engineServiceKey = new AxArtifactKey("Machine-1_process-1_engine-1", "0.0.0");
+    private final static EngineServiceParameters parameters = new EngineServiceParameters();
+    private static EngineService service = null;
+    private static TestListener listener = null;
+    private static AxPolicyModel apexPolicyModel = null;
+    private static int actionEventsReceived = 0;
+
+    private static String apexModelString;
+
+    private boolean waitFlag = true;
+
+    /**
+     * Sets the up.
+     *
+     * @throws Exception the exception
+     */
+    @BeforeClass
+    public static void setUp() throws Exception {
+        // create engine with 3 threads
+        parameters.setInstanceCount(3);
+        parameters.setName(engineServiceKey.getName());
+        parameters.setVersion(engineServiceKey.getVersion());
+        parameters.setId(100);
+        parameters.getEngineParameters().getExecutorParameterMap().put("MVEL", new MVELExecutorParameters());
+        service = EngineServiceImpl.create(parameters);
+
+
+        LOGGER.debug("Running TestApexEngine. . .");
+
+        apexPolicyModel = new SampleDomainModelFactory().getSamplePolicyModel("MVEL");
+        assertNotNull(apexPolicyModel);
+
+        apexModelString = Utils.getModelString(apexPolicyModel);
+
+        // create engine
+        listener = new TestListener();
+        service.registerActionListener("Listener", listener);
+    }
+
+    /**
+     * Update the engine then test the engine with 2 sample events.
+     *
+     * @throws ApexException if there is a problem
+     */
+    @Test
+    public void testExecutionSet1() throws ApexException {
+        service.updateModel(parameters.getEngineKey(), apexModelString, true);
+        // Start the service
+        service.startAll();
+        final long starttime = System.currentTimeMillis();
+        for (final AxArtifactKey engineKey : service.getEngineKeys()) {
+            LOGGER.info("{}", service.getStatus(engineKey));
+        }
+        while (!service.isStarted() && System.currentTimeMillis() - starttime < MAX_START_WAIT) {
+            ThreadUtilities.sleep(200);
+        }
+        if (!service.isStarted()) {
+            fail("Apex Service " + service.getKey() + " failed to start after " + MAX_START_WAIT + " ms");
+        }
+
+        final EngineServiceEventInterface engineServiceEventInterface = service.getEngineServiceEventInterface();
+
+        // Send some events
+        final Date testStartTime = new Date();
+        final Map<String, Object> eventDataMap = new HashMap<String, Object>();
+        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 event =
+                new ApexEvent("Event0000", "0.0.1", "org.onap.policy.apex.domains.sample.events", "test", "apex");
+        event.setExecutionID(System.nanoTime());
+        event.putAll(eventDataMap);
+        engineServiceEventInterface.sendEvent(event);
+
+        final ApexEvent event2 =
+                new ApexEvent("Event0100", "0.0.1", "org.onap.policy.apex.domains.sample.events", "test", "apex");
+        event2.setExecutionID(System.nanoTime());
+        event2.putAll(eventDataMap);
+        engineServiceEventInterface.sendEvent(event2);
+
+        // Wait for results
+        final long recvtime = System.currentTimeMillis();
+        while (actionEventsReceived < 2 && System.currentTimeMillis() - recvtime < MAX_RECV_WAIT) {
+            ThreadUtilities.sleep(100);
+        }
+        ThreadUtilities.sleep(500);
+        assertEquals(2, actionEventsReceived);
+        actionEventsReceived = 0;
+
+
+        // Stop all engines on this engine service
+        final long stoptime = System.currentTimeMillis();
+        service.stop();
+        while (!service.isStopped() && System.currentTimeMillis() - stoptime < MAX_STOP_WAIT) {
+            ThreadUtilities.sleep(200);
+        }
+        if (!service.isStopped()) {
+            fail("Apex Service " + service.getKey() + " failed to stop after " + MAX_STOP_WAIT + " ms");
+        }
+    }
+
+    /**
+     * Update the engine then test the engine with 2 sample events.
+     *
+     * @throws ApexException if there is a problem
+     */
+    @Test
+    public void testExecutionSet1Sync() throws ApexException {
+        service.updateModel(parameters.getEngineKey(), apexModelString, true);
+        // Start the service
+        service.startAll();
+        final long starttime = System.currentTimeMillis();
+        for (final AxArtifactKey engineKey : service.getEngineKeys()) {
+            LOGGER.info("{}", service.getStatus(engineKey));
+        }
+        while (!service.isStarted() && System.currentTimeMillis() - starttime < MAX_START_WAIT) {
+            ThreadUtilities.sleep(200);
+        }
+        if (!service.isStarted()) {
+            fail("Apex Service " + service.getKey() + " failed to start after " + MAX_START_WAIT + " ms");
+        }
+
+        // Send some events
+        final Date testStartTime = new Date();
+        final Map<String, Object> eventDataMap = new HashMap<String, Object>();
+        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 event1 =
+                new ApexEvent("Event0000", "0.0.1", "org.onap.policy.apex.domains.sample.events", "test", "apex");
+        event1.putAll(eventDataMap);
+        event1.setExecutionID(System.nanoTime());
+
+        final ApexEventListener myEventListener1 = new ApexEventListener() {
+            @Override
+            public void onApexEvent(final ApexEvent responseEvent) {
+                assertNotNull("Synchronous sendEventWait failed", responseEvent);
+                assertEquals(event1.getExecutionID(), responseEvent.getExecutionID());
+                waitFlag = false;
+            }
+        };
+
+        waitFlag = true;
+        service.registerActionListener("Listener1", myEventListener1);
+        service.getEngineServiceEventInterface().sendEvent(event1);
+
+        while (waitFlag) {
+            ThreadUtilities.sleep(100);
+        }
+
+        final ApexEvent event2 =
+                new ApexEvent("Event0100", "0.0.1", "org.onap.policy.apex.domains.sample.events", "test", "apex");
+        event2.setExecutionID(System.nanoTime());
+        event2.putAll(eventDataMap);
+
+        final ApexEventListener myEventListener2 = new ApexEventListener() {
+            @Override
+            public void onApexEvent(final ApexEvent responseEvent) {
+                assertNotNull("Synchronous sendEventWait failed", responseEvent);
+                assertEquals(event2.getExecutionID(), responseEvent.getExecutionID());
+                assertEquals(2, actionEventsReceived);
+                waitFlag = false;
+            }
+        };
+
+        waitFlag = true;
+        service.deregisterActionListener("Listener1");
+        service.registerActionListener("Listener2", myEventListener2);
+        service.getEngineServiceEventInterface().sendEvent(event2);
+
+        while (waitFlag) {
+            ThreadUtilities.sleep(100);
+        }
+        service.deregisterActionListener("Listener2");
+
+        actionEventsReceived = 0;
+
+        // Stop all engines on this engine service
+        final long stoptime = System.currentTimeMillis();
+        service.stop();
+        while (!service.isStopped() && System.currentTimeMillis() - stoptime < MAX_STOP_WAIT) {
+            ThreadUtilities.sleep(200);
+        }
+        if (!service.isStopped()) {
+            fail("Apex Service " + service.getKey() + " failed to stop after " + MAX_STOP_WAIT + " ms");
+        }
+    }
+
+    /**
+     * Update the engine then test the engine with 2 sample events - again.
+     *
+     * @throws ApexException if there is a problem
+     */
+    @Test
+    public void testExecutionSet2() throws ApexException {
+        service.updateModel(parameters.getEngineKey(), apexModelString, true);
+        // Start the service
+        service.startAll();
+        final long starttime = System.currentTimeMillis();
+        for (final AxArtifactKey engineKey : service.getEngineKeys()) {
+            LOGGER.info("{}", service.getStatus(engineKey));
+        }
+        while (!service.isStarted() && System.currentTimeMillis() - starttime < MAX_START_WAIT) {
+            ThreadUtilities.sleep(200);
+        }
+        if (!service.isStarted()) {
+            fail("Apex Service " + service.getKey() + " failed to start after " + MAX_START_WAIT + " ms");
+        }
+
+        final EngineServiceEventInterface engineServiceEventInterface = service.getEngineServiceEventInterface();
+
+        // Send some events
+        final Date testStartTime = new Date();
+        final Map<String, Object> eventDataMap = new HashMap<String, Object>();
+        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 event =
+                new ApexEvent("Event0000", "0.0.1", "org.onap.policy.apex.domains.sample.events", "test", "apex");
+        event.setExecutionID(System.nanoTime());
+        event.putAll(eventDataMap);
+        engineServiceEventInterface.sendEvent(event);
+
+        final ApexEvent event2 =
+                new ApexEvent("Event0100", "0.0.1", "org.onap.policy.apex.domains.sample.events", "test", "apex");
+        event2.setExecutionID(System.nanoTime());
+        event2.putAll(eventDataMap);
+        engineServiceEventInterface.sendEvent(event2);
+
+        // Wait for results
+        final long recvtime = System.currentTimeMillis();
+        while (actionEventsReceived < 2 && System.currentTimeMillis() - recvtime < MAX_RECV_WAIT) {
+            ThreadUtilities.sleep(100);
+        }
+        ThreadUtilities.sleep(500);
+        assertEquals(2, actionEventsReceived);
+        actionEventsReceived = 0;
+
+        // Stop all engines on this engine service
+        final long stoptime = System.currentTimeMillis();
+        service.stop();
+        while (!service.isStopped() && System.currentTimeMillis() - stoptime < MAX_STOP_WAIT) {
+            ThreadUtilities.sleep(200);
+        }
+        if (!service.isStopped()) {
+            fail("Apex Service " + service.getKey() + " failed to stop after " + MAX_STOP_WAIT + " ms");
+        }
+    }
+
+    /**
+     * Update the engine then test the engine with 2 sample events - again.
+     *
+     * @throws ApexException if there is a problem
+     */
+    @Test
+    public void testExecutionSet2Sync() throws ApexException {
+        service.updateModel(parameters.getEngineKey(), apexModelString, true);
+        // Start the service
+        service.startAll();
+        final long starttime = System.currentTimeMillis();
+        for (final AxArtifactKey engineKey : service.getEngineKeys()) {
+            LOGGER.info("{}", service.getStatus(engineKey));
+        }
+        while (!service.isStarted() && System.currentTimeMillis() - starttime < MAX_START_WAIT) {
+            ThreadUtilities.sleep(200);
+        }
+        if (!service.isStarted()) {
+            fail("Apex Service " + service.getKey() + " failed to start after " + MAX_START_WAIT + " ms");
+        }
+
+        // Send some events
+        final Date testStartTime = new Date();
+        final Map<String, Object> eventDataMap = new HashMap<String, Object>();
+        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 event1 =
+                new ApexEvent("Event0000", "0.0.1", "org.onap.policy.apex.domains.sample.events", "test", "apex");
+        event1.putAll(eventDataMap);
+
+        final ApexEventListener myEventListener1 = new ApexEventListener() {
+            @Override
+            public void onApexEvent(final ApexEvent responseEvent) {
+                assertNotNull("Synchronous sendEventWait failed", responseEvent);
+                assertEquals(event1.getExecutionID(), responseEvent.getExecutionID());
+                waitFlag = false;
+            }
+        };
+
+        waitFlag = true;
+        service.registerActionListener("Listener1", myEventListener1);
+        service.getEngineServiceEventInterface().sendEvent(event1);
+
+        while (waitFlag) {
+            ThreadUtilities.sleep(100);
+        }
+
+        final ApexEvent event2 =
+                new ApexEvent("Event0100", "0.0.1", "org.onap.policy.apex.domains.sample.events", "test", "apex");
+        event2.putAll(eventDataMap);
+
+        final ApexEventListener myEventListener2 = new ApexEventListener() {
+            @Override
+            public void onApexEvent(final ApexEvent responseEvent) {
+                assertNotNull("Synchronous sendEventWait failed", responseEvent);
+                assertEquals(event2.getExecutionID(), responseEvent.getExecutionID());
+                waitFlag = false;
+            }
+        };
+
+        waitFlag = true;
+        service.registerActionListener("Listener2", myEventListener2);
+        service.deregisterActionListener("Listener1");
+        service.getEngineServiceEventInterface().sendEvent(event2);
+
+        while (waitFlag) {
+            ThreadUtilities.sleep(100);
+        }
+
+        service.deregisterActionListener("Listener2");
+
+        assertEquals(2, actionEventsReceived);
+
+        actionEventsReceived = 0;
+
+        // Stop all engines on this engine service
+        final long stoptime = System.currentTimeMillis();
+        service.stop();
+        while (!service.isStopped() && System.currentTimeMillis() - stoptime < MAX_STOP_WAIT) {
+            ThreadUtilities.sleep(200);
+        }
+        if (!service.isStopped()) {
+            fail("Apex Service " + service.getKey() + " failed to stop after " + MAX_STOP_WAIT + " ms");
+        }
+    }
+
+    /**
+     * Tear down the the test infrastructure.
+     *
+     * @throws ApexException if there is an error
+     */
+    @AfterClass
+    public static void tearDown() throws Exception {
+        // Stop all engines on this engine service
+        final long stoptime = System.currentTimeMillis();
+        service.stop();
+        while (!service.isStopped() && System.currentTimeMillis() - stoptime < MAX_STOP_WAIT) {
+            ThreadUtilities.sleep(200);
+        }
+        if (!service.isStopped()) {
+            fail("Apex Service " + service.getKey() + " failed to stop after " + MAX_STOP_WAIT + " ms");
+        }
+        service = null;
+    }
+
+    /**
+     * The listener interface for receiving test events. The class that is interested in processing
+     * a test event implements this interface, and the object created with that class is registered
+     * with a component using the component's <code>addTestListener</code> method. When the test
+     * event occurs, that object's appropriate method is invoked.
+     *
+     * @see TestEvent
+     */
+    private final static class TestListener 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 event) {
+            LOGGER.debug("result 1 is:" + event);
+            checkResult(event);
+            actionEventsReceived++;
+
+            final Date testStartTime = new Date((Long) event.get("TestTimestamp"));
+            final Date testEndTime = new Date();
+
+            LOGGER.info("policy execution time: " + (testEndTime.getTime() - testStartTime.getTime()) + "ms");
+        }
+
+        /**
+         * Check result.
+         *
+         * @param result the result
+         */
+        private void checkResult(final ApexEvent result) {
+            assertTrue(result.getName().startsWith("Event0004") || result.getName().startsWith("Event0104"));
+
+            assertTrue(result.get("TestSlogan").equals("This is a test slogan"));
+            assertTrue(result.get("TestMatchCase").equals(new Byte((byte) 123)));
+            assertTrue(result.get("TestTemperature").equals(34.5445667));
+            assertTrue(((byte) result.get("TestMatchCaseSelected")) >= 0
+                    && ((byte) result.get("TestMatchCaseSelected") <= 3));
+            assertTrue(((byte) result.get("TestEstablishCaseSelected")) >= 0
+                    && ((byte) result.get("TestEstablishCaseSelected") <= 3));
+            assertTrue(((byte) result.get("TestDecideCaseSelected")) >= 0
+                    && ((byte) result.get("TestDecideCaseSelected") <= 3));
+            assertTrue(
+                    ((byte) result.get("TestActCaseSelected")) >= 0 && ((byte) result.get("TestActCaseSelected") <= 3));
+        }
+    }
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/service/engine/utils/Utils.java b/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/service/engine/utils/Utils.java
new file mode 100644 (file)
index 0000000..cfc787d
--- /dev/null
@@ -0,0 +1,40 @@
+/*-
+ * ============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=========================================================
+ */
+package org.onap.policy.apex.service.engine.utils;
+
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+
+import org.onap.policy.apex.model.basicmodel.handling.ApexModelException;
+import org.onap.policy.apex.model.basicmodel.handling.ApexModelWriter;
+import org.onap.policy.apex.model.policymodel.concepts.AxPolicyModel;
+
+public class Utils {
+
+    private Utils() {}
+
+    public static String getModelString(final AxPolicyModel ecaPolicyModel) throws ApexModelException, IOException {
+        try (final ByteArrayOutputStream baOutputStream = new ByteArrayOutputStream()) {
+            new ApexModelWriter<AxPolicyModel>(AxPolicyModel.class).write(ecaPolicyModel, baOutputStream);
+            return baOutputStream.toString();
+        }
+    }
+
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/test/resources/events/EventsInMulti0.json b/testsuites/performance/performance-benchmark-test/src/test/resources/events/EventsInMulti0.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/performance/performance-benchmark-test/src/test/resources/events/EventsInMulti1.json b/testsuites/performance/performance-benchmark-test/src/test/resources/events/EventsInMulti1.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/performance/performance-benchmark-test/src/test/resources/events/EventsInMulti2.json b/testsuites/performance/performance-benchmark-test/src/test/resources/events/EventsInMulti2.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/performance/performance-benchmark-test/src/test/resources/events/EventsInSingle.json b/testsuites/performance/performance-benchmark-test/src/test/resources/events/EventsInSingle.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/performance/performance-benchmark-test/src/test/resources/logback-test.xml b/testsuites/performance/performance-benchmark-test/src/test/resources/logback-test.xml
new file mode 100644 (file)
index 0000000..52f0e74
--- /dev/null
@@ -0,0 +1,50 @@
+<?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=========================================================
+-->
+
+<configuration>
+
+    <contextName>Apex</contextName>
+    <statusListener class="ch.qos.logback.core.status.OnConsoleStatusListener" />
+    <property name="LOG_DIR" value="${java.io.tmpdir}/apex_logging/" />
+
+       <!-- USE FOR STD OUT ONLY -->
+    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+        <encoder>
+            <Pattern>%d %contextName [%t] %level %logger{36} - %msg%n</Pattern>
+        </encoder>
+    </appender>
+
+    <root level="info">
+        <appender-ref ref="STDOUT" />
+    </root>
+
+    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <file>${LOG_DIR}/apex.log</file>
+        <encoder>
+            <pattern>%d %-5relative [procId=${processId}] [%thread] %-5level
+                %logger{26} - %msg %n %ex{full}</pattern>
+        </encoder>
+    </appender>
+
+    <logger name="org.onap.policy.apex" level="info" additivity="false">
+        <appender-ref ref="STDOUT" />
+    </logger>
+</configuration>
diff --git a/testsuites/performance/performance-benchmark-test/src/test/resources/parameters/File2FileJsonEventAsyncMIMO.json b/testsuites/performance/performance-benchmark-test/src/test/resources/parameters/File2FileJsonEventAsyncMIMO.json
new file mode 100644 (file)
index 0000000..05ef173
--- /dev/null
@@ -0,0 +1,87 @@
+{
+    "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": {
+        "aConsumer0": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "FILE",
+                "parameters": {
+                    "fileName": "src/test/resources/events/EventsInMulti0.json"
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            }
+        },
+        "aConsumer1": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "FILE",
+                "parameters": {
+                    "fileName": "src/test/resources/events/EventsInMulti1.json"
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            }
+        },
+        "aConsumer2": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "FILE",
+                "parameters": {
+                    "fileName": "src/test/resources/events/EventsInMulti2.json"
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            }
+        }
+    },
+    "eventOutputParameters": {
+        "aProducer0": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "FILE",
+                "parameters": {
+                    "fileName": "src/test/resources/events/EventsOutMulti0.json"
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            }
+        },
+        "aProducer1": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "FILE",
+                "parameters": {
+                    "fileName": "src/test/resources/events/EventsOutMulti1.json"
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            }
+        },
+        "aProducer2": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "FILE",
+                "parameters": {
+                    "fileName": "src/test/resources/events/EventsOutMulti2.json"
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            }
+        }
+    }
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/test/resources/parameters/File2FileJsonEventAsyncMISO.json b/testsuites/performance/performance-benchmark-test/src/test/resources/parameters/File2FileJsonEventAsyncMISO.json
new file mode 100644 (file)
index 0000000..38c949a
--- /dev/null
@@ -0,0 +1,65 @@
+{
+    "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": {
+        "aConsumer0": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "FILE",
+                "parameters": {
+                    "fileName": "src/test/resources/events/EventsInMulti0.json"
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            }
+        },
+        "aConsumer1": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "FILE",
+                "parameters": {
+                    "fileName": "src/test/resources/events/EventsInMulti1.json"
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            }
+        },
+        "aConsumer2": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "FILE",
+                "parameters": {
+                    "fileName": "src/test/resources/events/EventsInMulti2.json"
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            }
+        }
+    },
+    "eventOutputParameters": {
+        "aProducer": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "FILE",
+                "parameters": {
+                    "fileName": "src/test/resources/events/EventsOutSingle.json"
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            }
+        }
+    }
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/test/resources/parameters/File2FileJsonEventAsyncSIMO.json b/testsuites/performance/performance-benchmark-test/src/test/resources/parameters/File2FileJsonEventAsyncSIMO.json
new file mode 100644 (file)
index 0000000..71cc261
--- /dev/null
@@ -0,0 +1,65 @@
+{
+    "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": {
+        "aConsumer": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "FILE",
+                "parameters": {
+                    "fileName": "src/test/resources/events/EventsInSingle.json"
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            }
+        }
+    },
+    "eventOutputParameters": {
+        "aProducer0": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "FILE",
+                "parameters": {
+                    "fileName": "src/test/resources/events/EventsOutMulti0.json"
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            }
+        },
+        "aProducer1": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "FILE",
+                "parameters": {
+                    "fileName": "src/test/resources/events/EventsOutMulti1.json"
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            }
+        },
+        "aProducer2": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "FILE",
+                "parameters": {
+                    "fileName": "src/test/resources/events/EventsOutMulti2.json"
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            }
+        }
+    }
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/test/resources/parameters/File2FileJsonEventAsyncSISO.json b/testsuites/performance/performance-benchmark-test/src/test/resources/parameters/File2FileJsonEventAsyncSISO.json
new file mode 100644 (file)
index 0000000..f12baad
--- /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/EventsOutSingle.json"
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            }
+        }
+    },
+    "eventInputParameters": {
+        "aConsumer": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "FILE",
+                "parameters": {
+                    "fileName": "src/test/resources/events/EventsInSingle.json"
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            }
+        }
+    }
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/test/resources/parameters/File2FileJsonEventSyncMIMO.json b/testsuites/performance/performance-benchmark-test/src/test/resources/parameters/File2FileJsonEventSyncMIMO.json
new file mode 100644 (file)
index 0000000..8f53a3c
--- /dev/null
@@ -0,0 +1,105 @@
+{
+    "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": {
+        "aConsumer0": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "FILE",
+                "parameters": {
+                    "fileName": "src/test/resources/events/EventsInMulti0.json"
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            },
+            "synchronousMode": true,
+            "synchronousPeer": "aProducer0",
+            "synchronousTimeout": 1000
+        },
+        "aConsumer1": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "FILE",
+                "parameters": {
+                    "fileName": "src/test/resources/events/EventsInMulti1.json"
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            },
+            "synchronousMode": true,
+            "synchronousPeer": "aProducer1",
+            "synchronousTimeout": 1000
+        },
+        "aConsumer2": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "FILE",
+                "parameters": {
+                    "fileName": "src/test/resources/events/EventsInMulti2.json"
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            },
+            "synchronousMode": true,
+            "synchronousPeer": "aProducer2",
+            "synchronousTimeout": 1000
+        }
+    },
+    "eventOutputParameters": {
+        "aProducer0": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "FILE",
+                "parameters": {
+                    "fileName": "src/test/resources/events/EventsOutMulti0.json"
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            },
+            "synchronousMode": true,
+            "synchronousPeer": "aConsumer0",
+            "synchronousTimeout": 1000
+        },
+        "aProducer1": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "FILE",
+                "parameters": {
+                    "fileName": "src/test/resources/events/EventsOutMulti1.json"
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            },
+            "synchronousMode": true,
+            "synchronousPeer": "aConsumer1",
+            "synchronousTimeout": 1000
+        },
+        "aProducer2": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "FILE",
+                "parameters": {
+                    "fileName": "src/test/resources/events/EventsOutMulti2.json"
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            },
+            "synchronousMode": true,
+            "synchronousPeer": "aConsumer2",
+            "synchronousTimeout": 1000
+        }
+    }
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/test/resources/parameters/File2FileJsonEventSyncSISO.json b/testsuites/performance/performance-benchmark-test/src/test/resources/parameters/File2FileJsonEventSyncSISO.json
new file mode 100644 (file)
index 0000000..a7df667
--- /dev/null
@@ -0,0 +1,49 @@
+{
+    "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": {
+        "SyncProducer": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "FILE",
+                "parameters": {
+                    "fileName": "src/test/resources/events/EventsOutSingle.json"
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            },
+            "synchronousMode": true,
+            "synchronousPeer": "SyncConsumer",
+            "synchronousTimeout": 1000
+        }
+    },
+    "eventInputParameters": {
+        "SyncConsumer": {
+            "carrierTechnologyParameters": {
+                "carrierTechnology": "FILE",
+                "parameters": {
+                    "fileName": "src/test/resources/events/EventsInSingle.json"
+                }
+            },
+            "eventProtocolParameters": {
+                "eventProtocol": "JSON"
+            },
+            "synchronousMode": true,
+            "synchronousPeer": "SyncProducer",
+            "synchronousTimeout": 1000
+        }
+    }
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/test/resources/policymodels/SamplePolicyModelMVEL.json b/testsuites/performance/performance-benchmark-test/src/test/resources/policymodels/SamplePolicyModelMVEL.json
new file mode 100644 (file)
index 0000000..95ea511
--- /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": "ca36bfd8-6042-3633-8c85-89c66507c3bf",
+                            "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": "465a81cc-885f-3a4d-bc4e-1508da92b236",
+                            "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": "36b2d570-fff7-3a4b-bab2-6bf492f5129a",
+                            "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": "ff6160a7-fb5e-379c-a6d2-2cd28053eacf",
+                            "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": "5899e216-2abf-3781-abc4-2c257b92721e",
+                            "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": "7c2692a7-4587-3d09-abf9-d96b339a316f",
+                            "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": "b696048c-c0b0-34c1-8dbe-32ab6c8bc0c7",
+                            "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": "edbfa868-2ab2-30fd-8078-4c7f67ca6122",
+                            "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": "6b6ad2ff-ef63-3f7b-aabb-fba44f8de9d4",
+                            "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": "c2550912-10d9-3000-8826-377288cd6cb1",
+                            "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": "f6d75b71-c8a7-3337-a121-88d68c389f5a",
+                            "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": "0215644c-4531-375c-8335-d558b4de8c03",
+                            "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": "976a79e7-5c80-3c03-9503-da3f41fec395",
+                            "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": "c95e9e5f-d2c7-3ac7-a205-ea3574530cb7",
+                            "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": "1ff2f905-685c-3caf-95bc-0bbc90345888",
+                            "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": "f54c3b2b-be76-31c4-adfc-87c494c06808",
+                            "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": "3410e939-30ca-32c4-a2d8-c30b6fee6eec",
+                            "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": "e27564c4-3cbf-3db2-9bf3-83ae80a2f907",
+                            "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": "d0b2b585-f344-33b8-af9e-250e7f4cfbce",
+                            "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": "815d74ae-6fc0-3221-87b9-2bb1dfdfa7f0",
+                            "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": "a4cc4860-0bbc-389c-b270-e1bf7daffbe2",
+                            "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": "0589ff20-adcc-3ce5-95fe-8d7978ed54ed",
+                            "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": "095b126d-ca8b-32c9-ad52-d744e817a79c",
+                            "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": "3d786b4c-d9ee-3367-ab71-c67271a4ea2f",
+                            "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": "9231753e-20c5-3436-982f-9100340cc570",
+                            "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": "502383d3-483f-3a56-a426-2f0406674c8d",
+                            "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": "16598106-41c8-3b5a-99c6-5fcf6d1a5ddf",
+                            "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": "ad3a89f5-e369-3c66-b22c-669f7b3653b8",
+                            "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": "56815939-1164-3867-9ed1-0a27ff8aafb3",
+                            "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": "0db0c566-ecd7-3e27-9865-4b82c893abdb",
+                            "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": "6944a4c1-6201-317c-8d7e-eaa7f2ee0ea0",
+                            "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": "0f766ea9-11cd-3e7d-a8c8-28c8dee6a85a",
+                            "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": "c3237a38-cc6d-3418-b1e1-0dc8b4bdcc66",
+                            "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": "051bcfd5-cf73-3c89-8ee7-ea6e005ec059",
+                            "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": "3754fe19-98f2-34a1-9f45-db31052208d8",
+                            "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": "8c200709-a180-3c8b-916f-275ff49ce194",
+                            "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": "a1a879c6-4510-33b0-bbd0-ad6256189a37",
+                            "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": "a7fab96b-ce1c-37ce-bbb2-556b6db524a5",
+                            "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": "0a652886-c88d-3f8c-8994-ae9161e7c963",
+                            "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": "8efba9fa-371e-33df-a7d6-88b0284e7fd0",
+                            "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": "3740077c-a2b3-356b-81dc-5ded2118a951",
+                            "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": "b5c7df95-9af5-322f-9ea8-eb440a2bf926",
+                            "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": "b36f0aa5-0fb9-3e2c-8fa2-fddb7fd05f4b",
+                            "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": "093cda11-eaeb-3a46-a5b6-d5e30c00935b",
+                            "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": "569a758d-ba40-37c0-aebb-7ad138df25ac",
+                            "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": "252818d9-b61f-3962-a905-8865fb00fb04",
+                            "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": "fe1a5f7c-c083-377b-a797-752b01fc6c73",
+                            "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": "aa87d007-d07e-3f67-8c6d-0ebc3d85479d",
+                            "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": "126e7a3a-11b6-3f88-9397-c21d8819f859",
+                            "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": "0e0e3dec-e03d-3379-a87b-1ecd4aa3d8cc",
+                            "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": "dbdc98df-3ff4-360c-b8d3-a7a836ac3de6",
+                            "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": "32a2f355-77f3-3b25-ace6-7a9c5763a5ad",
+                            "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": "3f95472c-973e-30e2-95f1-bf00cbef909a",
+                            "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": "610dbbd4-9149-3b3c-9af4-819056f0e169",
+                            "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": "07fa8f68-55f1-3fd0-81c1-749a379753a7",
+                            "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": "d9c93cd1-539e-35c5-aaec-bb711ceb1251",
+                            "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": "683fe492-7eae-3ac7-9924-bb7850208d05",
+                            "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": "bba25b6f-e3cd-3060-9022-4ef3a79f8eb0",
+                            "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": "97b73937-c344-33c0-924c-4d26b6449564",
+                            "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();\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();\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();\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();\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"
+                        }
+                    }
+                ]
+            }
+        }
+    }
+}
     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>
+        <groupId>org.onap.policy.apex-pdp.testsuites.performance</groupId>
+        <artifactId>performance</artifactId>
         <version>2.0.0-SNAPSHOT</version>
     </parent>
-    <artifactId>integration-context-metrics</artifactId>
+
+    <artifactId>performance-context-metrics</artifactId>
     <name>${project.artifactId}</name>
     <description>[${project.parent.artifactId}] module to calculate metrics using various plugins</description>
 
diff --git a/testsuites/performance/pom.xml b/testsuites/performance/pom.xml
new file mode 100644 (file)
index 0000000..5f10d8f
--- /dev/null
@@ -0,0 +1,59 @@
+<!--
+  ============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.performance</groupId>
+    <artifactId>performance</artifactId>
+    <packaging>pom</packaging>
+
+    <profiles>
+        <profile>
+            <id>apexMetrics</id>
+            <activation>
+                <property>
+                    <name>apexMetrics</name>
+                </property>
+            </activation>
+            <modules>
+                <module>performance-context-metrics</module>
+                <module>performance-benchmark-test</module>
+            </modules>
+        </profile>
+        <profile>
+            <id>apexAll</id>
+            <activation>
+                <property>
+                    <name>apexAll</name>
+                </property>
+            </activation>
+            <modules>
+                <module>performance-context-metrics</module>
+                <module>performance-benchmark-test</module>
+            </modules>
+        </profile>
+    </profiles>
+</project>
\ No newline at end of file
index 9d105a2..c7bbb61 100644 (file)
@@ -32,5 +32,6 @@
 
     <modules>
         <module>integration</module>
+        <module>performance</module>
     </modules>
 </project>
\ No newline at end of file