Adding examples-servlet module to apex-pdp 69/58069/2
authorramverma <ram.krishna.verma@ericsson.com>
Mon, 30 Jul 2018 18:13:47 +0000 (19:13 +0100)
committerramverma <ram.krishna.verma@ericsson.com>
Mon, 30 Jul 2018 18:40:15 +0000 (19:40 +0100)
Adding examples-servlet module to demonstrate the capability that
apex-pdp can be simply started as a servlet deployed in any application
server.

Change-Id: I5c9e323f1468cc14c6277c0037029679d00cd751
Issue-ID: POLICY-861
Signed-off-by: ramverma <ram.krishna.verma@ericsson.com>
12 files changed:
examples/examples-servlet/pom.xml [new file with mode: 0644]
examples/examples-servlet/src/main/java/org/onap/policy/apex/examples/servlet/ApexServletListener.java [new file with mode: 0644]
examples/examples-servlet/src/main/java/org/onap/policy/apex/examples/servlet/package-info.java [new file with mode: 0644]
examples/examples-servlet/src/main/resources/webapp/WEB-INF/classes/config/SampleDomain/RESTServerJsonEvent.json [new file with mode: 0644]
examples/examples-servlet/src/main/resources/webapp/WEB-INF/classes/events/SampleDomain/EventsIn.jsons [new file with mode: 0644]
examples/examples-servlet/src/main/resources/webapp/WEB-INF/classes/logback.xml [new file with mode: 0644]
examples/examples-servlet/src/main/resources/webapp/WEB-INF/classes/models/SampleDomain/SamplePolicyModelJAVASCRIPT.json [new file with mode: 0644]
examples/examples-servlet/src/main/resources/webapp/WEB-INF/web.xml [new file with mode: 0644]
examples/examples-servlet/src/main/resources/webapp/readme_examples-servlet.txt [new file with mode: 0644]
examples/pom.xml
packages/apex-pdp-package-full/pom.xml
packages/apex-pdp-package-full/src/main/package/tarball/assembly.xml

diff --git a/examples/examples-servlet/pom.xml b/examples/examples-servlet/pom.xml
new file mode 100644 (file)
index 0000000..dff689f
--- /dev/null
@@ -0,0 +1,90 @@
+<!--
+  ============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.examples</groupId>
+        <artifactId>examples</artifactId>
+        <version>2.0.0-SNAPSHOT</version>
+    </parent>
+
+    <artifactId>examples-servlet</artifactId>
+    <packaging>war</packaging>
+    <name>${project.artifactId}</name>
+    <description>Specific code for the APEX Servlet Example</description>
+
+    <dependencies>
+        <dependency>
+            <groupId>javax.servlet</groupId>
+            <artifactId>javax.servlet-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.inject</groupId>
+            <artifactId>jersey-hk2</artifactId>
+            <version>${version.jersey}</version>
+        </dependency>
+        <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.plugins.plugins-event.plugins-event-carrier</groupId>
+            <artifactId>plugins-event-carrier-restserver</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.onap.policy.apex-pdp.plugins.plugins-executor</groupId>
+            <artifactId>plugins-executor-javascript</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.onap.policy.apex-pdp.context</groupId>
+            <artifactId>context-test-utils</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.onap.policy.apex-pdp.testsuites.integration</groupId>
+            <artifactId>integration-common</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-war-plugin</artifactId>
+                <configuration>
+                    <warSourceDirectory>src/main/resources/webapp</warSourceDirectory>
+                </configuration>
+                <executions>
+                    <execution>
+                        <phase>prepare-package</phase>
+                        <goals>
+                            <goal>war</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+</project>
\ No newline at end of file
diff --git a/examples/examples-servlet/src/main/java/org/onap/policy/apex/examples/servlet/ApexServletListener.java b/examples/examples-servlet/src/main/java/org/onap/policy/apex/examples/servlet/ApexServletListener.java
new file mode 100644 (file)
index 0000000..f6de128
--- /dev/null
@@ -0,0 +1,104 @@
+/*-
+ * ============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.examples.servlet;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.servlet.ServletContextEvent;
+import javax.servlet.ServletContextListener;
+import javax.servlet.annotation.WebListener;
+
+import org.onap.policy.apex.model.basicmodel.concepts.ApexException;
+import org.onap.policy.apex.model.basicmodel.concepts.ApexRuntimeException;
+import org.onap.policy.apex.service.engine.main.ApexMain;
+import org.slf4j.ext.XLogger;
+import org.slf4j.ext.XLoggerFactory;
+
+/**
+ * This class is a listener that is called when the servlet is started and stopped. It brings up the Apex engine on
+ * servlet start and shuts it down on servlet stop.
+ *
+ * @author Liam Fallon (liam.fallon@ericsson.com)
+ */
+@WebListener
+public class ApexServletListener implements ServletContextListener {
+    private static final XLogger LOGGER = XLoggerFactory.getXLogger(ApexServletListener.class);
+
+    // The Apex engine reference
+    private ApexMain apexMain;
+
+    /*
+     * (non-Javadoc)
+     *
+     * @see javax.servlet.ServletContextListener#contextInitialized(javax.servlet.ServletContextEvent)
+     */
+    @Override
+    public void contextInitialized(final ServletContextEvent servletContextEvent) {
+        // The web.xml file contains the context parameters for the Apex engine
+        final String configFileName = servletContextEvent.getServletContext().getInitParameter("config-file");
+        final String modelFileName = servletContextEvent.getServletContext().getInitParameter("model-file");
+
+        LOGGER.info("Apex Servliet has been started, config-file= " + configFileName + ", model-file=" + modelFileName);
+
+        // Check that a configuration file have been specified
+        if (servletContextEvent.getServletContext().getInitParameter("config-file") == null) {
+            final String errorMessage =
+                    "Apex servlet start failed, servlet parameter \"config-file\" has not been specified";
+            LOGGER.error("Apex servlet start failed, servlet parameter \"config-file\" has not been specified");
+            throw new ApexRuntimeException(errorMessage);
+        }
+
+        // Construct the Apex command line arguments
+        final List<String> argsList = new ArrayList<String>();
+        argsList.add("-config-file");
+        argsList.add(configFileName);
+
+        // Model file name is an optional parameter
+        if (modelFileName != null) {
+            argsList.add("-model-file");
+            argsList.add(modelFileName);
+        }
+
+        // Initialize apex
+        apexMain = new ApexMain(argsList.toArray(new String[argsList.size()]));
+    }
+
+
+    /*
+     * (non-Javadoc)
+     *
+     * @see javax.servlet.ServletContextListener#contextDestroyed(javax.servlet.ServletContextEvent)
+     */
+    @Override
+    public void contextDestroyed(final ServletContextEvent servletContextEvent) {
+        // Shut Apex down
+        try {
+            apexMain.shutdown();
+            apexMain = null;
+        } catch (final ApexException e) {
+            final String errorMessage = "Apex servlet stop did not execute normally";
+            LOGGER.error(errorMessage, e);
+        }
+
+        LOGGER.info("Apex Servliet has been stopped");
+    }
+}
diff --git a/examples/examples-servlet/src/main/java/org/onap/policy/apex/examples/servlet/package-info.java b/examples/examples-servlet/src/main/java/org/onap/policy/apex/examples/servlet/package-info.java
new file mode 100644 (file)
index 0000000..baf427e
--- /dev/null
@@ -0,0 +1,27 @@
+/*-
+ * ============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=========================================================
+ */
+
+/**
+ * Allows the APEX engine to be run as a servlet under the control of a Servlet container such as Apache Tomcat.
+ *
+ * @author Liam Fallon (liam.fallon@ericsson.com)
+ */
+
+package org.onap.policy.apex.examples.servlet;
diff --git a/examples/examples-servlet/src/main/resources/webapp/WEB-INF/classes/config/SampleDomain/RESTServerJsonEvent.json b/examples/examples-servlet/src/main/resources/webapp/WEB-INF/classes/config/SampleDomain/RESTServerJsonEvent.json
new file mode 100644 (file)
index 0000000..bb652e9
--- /dev/null
@@ -0,0 +1,71 @@
+{
+    "engineServiceParameters":{
+        "name"          : "MyApexEngine",
+        "version"        : "0.0.1",
+        "id"             :  45,
+        "instanceCount"  : 4,
+        "deploymentPort" : 12561,
+        "policyModelFileName" : "models/SampleDomain/SamplePolicyModelJAVASCRIPT.json",
+        "engineParameters"    : {
+            "executorParameters" : {
+                "JAVASCRIPT" : {
+                    "parameterClassName" : "org.onap.policy.apex.plugins.executor.javascript.JavascriptExecutorParameters"
+                }
+            }
+        }
+    },
+    "eventInputParameters": {
+        "FirstConsumer": {
+            "carrierTechnologyParameters" : {
+                "carrierTechnology" : "RESTSERVER",
+                "parameterClassName" : "org.onap.policy.apex.plugins.event.carrier.restserver.RESTServerCarrierTechnologyParameters"
+            },
+            "eventProtocolParameters":{
+                "eventProtocol" : "JSON"
+            },
+            "synchronousMode"    : true,
+            "synchronousPeer"    : "FirstProducer",
+            "synchronousTimeout" : 500
+
+        },
+        "SecondConsumer": {
+            "carrierTechnologyParameters" : {
+                "carrierTechnology" : "RESTSERVER",
+                "parameterClassName" : "org.onap.policy.apex.plugins.event.carrier.restserver.RESTServerCarrierTechnologyParameters"
+            },
+            "eventProtocolParameters":{
+                "eventProtocol" : "JSON"
+            },
+            "synchronousMode"    : true,
+            "synchronousPeer"    : "SecondProducer",
+            "synchronousTimeout" : 500
+
+        }
+    },
+    "eventOutputParameters": {
+        "FirstProducer": {
+            "carrierTechnologyParameters":{
+                "carrierTechnology" : "RESTSERVER",
+                "parameterClassName" : "org.onap.policy.apex.plugins.event.carrier.restserver.RESTServerCarrierTechnologyParameters"
+            },
+            "eventProtocolParameters":{
+                "eventProtocol" : "JSON"
+            },
+            "synchronousMode"    : true,
+            "synchronousPeer"    : "FirstConsumer",
+            "synchronousTimeout" : 500
+        },
+        "SecondProducer": {
+            "carrierTechnologyParameters":{
+                "carrierTechnology" : "RESTSERVER",
+                "parameterClassName" : "org.onap.policy.apex.plugins.event.carrier.restserver.RESTServerCarrierTechnologyParameters"
+            },
+            "eventProtocolParameters":{
+                "eventProtocol" : "JSON"
+            },
+            "synchronousMode"    : true,
+            "synchronousPeer"    : "SecondConsumer",
+            "synchronousTimeout" : 500
+        }
+    }
+}
diff --git a/examples/examples-servlet/src/main/resources/webapp/WEB-INF/classes/events/SampleDomain/EventsIn.jsons b/examples/examples-servlet/src/main/resources/webapp/WEB-INF/classes/events/SampleDomain/EventsIn.jsons
new file mode 100644 (file)
index 0000000..da11b2c
--- /dev/null
@@ -0,0 +1,1100 @@
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869268,
+  "TestTemperature": 8071.559
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869269,
+  "TestTemperature": 517.19727
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869269,
+  "TestTemperature": 9080.866
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869269,
+  "TestTemperature": 4263.7085
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869269,
+  "TestTemperature": 2342.069
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869269,
+  "TestTemperature": 6400.4565
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869269,
+  "TestTemperature": 9495.611
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869269,
+  "TestTemperature": 4872.2935
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869269,
+  "TestTemperature": 8130.8086
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869269,
+  "TestTemperature": 2580.434
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869269,
+  "TestTemperature": 3169.4663
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869269,
+  "TestTemperature": 4517.7646
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869269,
+  "TestTemperature": 9600.465
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869269,
+  "TestTemperature": 8720.648
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869269,
+  "TestTemperature": 1031.3821
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 959.9608
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 1483.7533
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 394.8325
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 59.376953
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 862.1466
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 8557.394
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 6732.3687
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 7155.3843
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 4896.5264
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 8457.574
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 4085.176
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 4198.338
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 105.033516
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 8219.068
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 8780.495
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 6224.9775
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 4218.1353
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 4719.9116
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 4592.7275
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 7874.2705
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 9866.951
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 7536.962
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 2430.3843
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 6369.2866
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 7396.739
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 6187.027
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 2216.0667
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 4855.6562
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 5205.6836
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 418.89252
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 5307.6343
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 7034.2065
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 7784.3804
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 3656.007
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 8538.289
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 6515.7104
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 4562.0537
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 9030.76
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 9085.617
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 1244.1838
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 9286.382
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 9573.472
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869270,
+  "TestTemperature": 9994.268
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 3556.8076
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 1305.1998
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 6063.7573
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 8860.109
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 1599.9061
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 4316.625
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 2753.6135
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 4469.7656
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 4155.1416
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 1627.2205
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 5554.9585
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 5863.8896
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 9095.753
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 5641.7603
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 6120.2446
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 3478.2087
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 1807.8446
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 8476.179
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 7418.1934
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 4800.719
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 8741.285
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 2099.0818
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 138.22377
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 272.6066
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 1,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 2604.9036
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 540.5176
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 1482.7478
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 1053.8315
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 6267.906
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 636.44586
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 902.7964
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 259.42923
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 6066.484
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 2918.8723
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 6470.262
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 2603.0845
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 4435.378
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 3989.0928
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 7657.731
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 2,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 6677.433
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0100",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event1",
+  "TestMatchCase": 0,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 9456.176
+}
+{
+  "nameSpace": "org.onap.policy.apex.sample.events",
+  "name": "Event0000",
+  "version": "0.0.1",
+  "source": "test",
+  "target": "apex",
+  "TestSlogan": "Test slogan for External Event0",
+  "TestMatchCase": 3,
+  "TestTimestamp": 1469781869271,
+  "TestTemperature": 8723.999
+}
diff --git a/examples/examples-servlet/src/main/resources/webapp/WEB-INF/classes/logback.xml b/examples/examples-servlet/src/main/resources/webapp/WEB-INF/classes/logback.xml
new file mode 100644 (file)
index 0000000..ac15721
--- /dev/null
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ============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=========================================================
+-->
+
+<configuration debug="false">
+    <statusListener class="ch.qos.logback.core.status.NopStatusListener" />
+
+    <contextName>Apex</contextName>
+    <property name="VAR_LOG" value="${catalina.home}/logs/apex" />
+
+    <!-- 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>
+
+    <appender name="FILE" class="ch.qos.logback.core.FileAppender">
+        <file>${VAR_LOG}/apex.log</file>
+        <encoder>
+            <pattern>%d %-5relative [procId=${processId}] [%thread] %-5level
+                %logger{26} - %msg %n %ex{full}</pattern>
+        </encoder>
+    </appender>
+
+    <appender name="CTXT_FILE" class="ch.qos.logback.core.FileAppender">
+        <file>${VAR_LOG}/apex_ctxt.log</file>
+        <encoder>
+            <pattern>%d %-5relative [procId=${processId}] [%thread] %-5level
+                %logger{26} - %msg %n %ex{full}</pattern>
+        </encoder>
+    </appender>
+
+    <root level="info">
+        <appender-ref ref="FILE" />
+    </root>
+
+    <logger name="org.onap.policy.apex" level="info" additivity="false">
+        <appender-ref ref="FILE" />
+    </logger>
+
+    <logger name="org.onap.policy.apex.core.context.monitoring" level="TRACE" additivity="false">
+        <appender-ref ref="CTXT_FILE" />
+    </logger>
+
+</configuration>
diff --git a/examples/examples-servlet/src/main/resources/webapp/WEB-INF/classes/models/SampleDomain/SamplePolicyModelJAVASCRIPT.json b/examples/examples-servlet/src/main/resources/webapp/WEB-INF/classes/models/SampleDomain/SamplePolicyModelJAVASCRIPT.json
new file mode 100644 (file)
index 0000000..c1b28bb
--- /dev/null
@@ -0,0 +1,6684 @@
+{
+   "apexPolicyModel" : {
+      "key" : {
+         "name" : "SamplePolicyModelJAVASCRIPT",
+         "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" : "SamplePolicyModelJAVASCRIPT",
+                  "version" : "0.0.1"
+               },
+               "value" : {
+                  "key" : {
+                     "name" : "SamplePolicyModelJAVASCRIPT",
+                     "version" : "0.0.1"
+                  },
+                  "UUID" : "bc8ee312-81ce-3c4a-92d5-4a73b8077148",
+                  "description" : "Generated description for concept referred to by key \"SamplePolicyModelJAVASCRIPT: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" : "JAVASCRIPT",
+                              "logic" : "executor.logger.debug(executor.subject.id);\nvar gc = executor.getContextAlbum(\"GlobalContextAlbum\");\nexecutor.logger.debug(gc.name);\nexecutor.subject.defaultTaskKey.copyTo(executor.selectedTask)\n\nvar returnValue = executor.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" : "JAVASCRIPT",
+                              "logic" : "executor.logger.debug(executor.subject.id);\nvar gc = executor.getContextAlbum(\"GlobalContextAlbum\");\nexecutor.logger.debug(gc.name);\nexecutor.subject.defaultTaskKey.copyTo(executor.selectedTask)\n\nvar returnValue = executor.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" : "JAVASCRIPT",
+                              "logic" : "executor.logger.debug(executor.subject.id);\nvar gc = executor.getContextAlbum(\"GlobalContextAlbum\");\nexecutor.logger.debug(gc.name);\nexecutor.subject.defaultTaskKey.copyTo(executor.selectedTask)\n\nvar returnValue = executor.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" : "JAVASCRIPT",
+                              "logic" : "executor.logger.debug(executor.subject.id);\nvar gc = executor.getContextAlbum(\"GlobalContextAlbum\");\nexecutor.logger.debug(gc.name);\nexecutor.subject.defaultTaskKey.copyTo(executor.selectedTask)\n\nvar returnValue = executor.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" : "JAVASCRIPT",
+                              "logic" : "executor.logger.debug(executor.subject.id);\nvar gc = executor.getContextAlbum(\"GlobalContextAlbum\");\nexecutor.logger.debug(gc.name);\nexecutor.subject.defaultTaskKey.copyTo(executor.selectedTask)\n\nvar returnValue = executor.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" : "JAVASCRIPT",
+                              "logic" : "executor.logger.debug(executor.subject.id);\nvar gc = executor.getContextAlbum(\"GlobalContextAlbum\");\nexecutor.logger.debug(gc.name);\nexecutor.subject.defaultTaskKey.copyTo(executor.selectedTask)\n\nvar returnValue = executor.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" : "JAVASCRIPT",
+                              "logic" : "executor.logger.debug(executor.subject.id);\nvar gc = executor.getContextAlbum(\"GlobalContextAlbum\");\nexecutor.logger.debug(gc.name);\nexecutor.subject.defaultTaskKey.copyTo(executor.selectedTask)\n\nvar returnValue = executor.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" : "JAVASCRIPT",
+                              "logic" : "executor.logger.debug(executor.subject.id);\nvar gc = executor.getContextAlbum(\"GlobalContextAlbum\");\nexecutor.logger.debug(gc.name);\nexecutor.subject.defaultTaskKey.copyTo(executor.selectedTask)\n\nvar returnValue = executor.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" : "JAVASCRIPT",
+                     "logic" : "executor.logger.debug(executor.subject.id);\nvar gc = executor.getContextAlbum(\"GlobalContextAlbum\");\nexecutor.logger.debug(gc.name);\nexecutor.logger.debug(executor.inFields);\n\nvar caseSelectedType = Java.type(\"java.lang.Byte\");\nexecutor.outFields.put(\"TestActCaseSelected\", new caseSelectedType(2));\n\nvar JavaDate = Java.type(\"java.util.Date\");\ntimeNow = new JavaDate();\nexecutor.outFields.put(\"TestActStateTime\", timeNow.getTime());\nexecutor.logger.debug(executor.eo);\n\nvar returnValue = executor.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" : "JAVASCRIPT",
+                     "logic" : "executor.logger.debug(executor.subject.id);\nvar gc = executor.getContextAlbum(\"GlobalContextAlbum\");\nexecutor.logger.debug(gc.name);\nexecutor.logger.debug(executor.inFields);\n\nvar caseSelectedType = Java.type(\"java.lang.Byte\");\nexecutor.outFields.put(\"TestActCaseSelected\", new caseSelectedType(3));\n\nvar JavaDate = Java.type(\"java.util.Date\");\ntimeNow = new JavaDate();\nexecutor.outFields.put(\"TestActStateTime\", timeNow.getTime());\nexecutor.logger.debug(executor.eo);\n\nvar returnValue = executor.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" : "JAVASCRIPT",
+                     "logic" : "executor.logger.debug(executor.subject.id);\nvar gc = executor.getContextAlbum(\"GlobalContextAlbum\");\nexecutor.logger.debug(gc.name);\nexecutor.logger.debug(executor.inFields);\n\nvar caseSelectedType = Java.type(\"java.lang.Byte\");\nexecutor.outFields.put(\"TestActCaseSelected\", new caseSelectedType(0));\n\nvar JavaDate = Java.type(\"java.util.Date\");\ntimeNow = new JavaDate();\nexecutor.outFields.put(\"TestActStateTime\", timeNow.getTime());\nexecutor.logger.debug(executor.eo);\n\nvar returnValue = executor.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" : "JAVASCRIPT",
+                     "logic" : "executor.logger.debug(executor.subject.id);\nvar gc = executor.getContextAlbum(\"GlobalContextAlbum\");\nexecutor.logger.debug(gc.name);\nexecutor.logger.debug(executor.inFields);\n\nvar caseSelectedType = Java.type(\"java.lang.Byte\");\nexecutor.outFields.put(\"TestActCaseSelected\", new caseSelectedType(1));\n\nvar JavaDate = Java.type(\"java.util.Date\");\ntimeNow = new JavaDate();\nexecutor.outFields.put(\"TestActStateTime\", timeNow.getTime());\nexecutor.logger.debug(executor.eo);\n\nvar returnValue = executor.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" : "JAVASCRIPT",
+                     "logic" : "executor.logger.debug(executor.subject.id);\nvar gc = executor.getContextAlbum(\"GlobalContextAlbum\");\nexecutor.logger.debug(gc.name);\nexecutor.logger.debug(executor.inFields);\n\nvar caseSelectedType = Java.type(\"java.lang.Byte\");\nexecutor.outFields.put(\"TestDecideCaseSelected\", new caseSelectedType(2));\n\nvar JavaDate = Java.type(\"java.util.Date\");\ntimeNow = new JavaDate();\nexecutor.outFields.put(\"TestDecideStateTime\", timeNow.getTime());\nexecutor.logger.debug(executor.eo);\n\nvar returnValue = executor.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" : "JAVASCRIPT",
+                     "logic" : "executor.logger.debug(executor.subject.id);\nvar gc = executor.getContextAlbum(\"GlobalContextAlbum\");\nexecutor.logger.debug(gc.name);\nexecutor.logger.debug(executor.inFields);\n\nvar caseSelectedType = Java.type(\"java.lang.Byte\");\nexecutor.outFields.put(\"TestDecideCaseSelected\", new caseSelectedType(3));\n\nvar JavaDate = Java.type(\"java.util.Date\");\ntimeNow = new JavaDate();\nexecutor.outFields.put(\"TestDecideStateTime\", timeNow.getTime());\nexecutor.logger.debug(executor.eo);\n\nvar returnValue = executor.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" : "JAVASCRIPT",
+                     "logic" : "executor.logger.debug(executor.subject.id);\nvar gc = executor.getContextAlbum(\"GlobalContextAlbum\");\nexecutor.logger.debug(gc.name);\nexecutor.logger.debug(executor.inFields);\n\nvar caseSelectedType = Java.type(\"java.lang.Byte\");\nexecutor.outFields.put(\"TestDecideCaseSelected\", new caseSelectedType(0));\n\nvar JavaDate = Java.type(\"java.util.Date\");\ntimeNow = new JavaDate();\nexecutor.outFields.put(\"TestDecideStateTime\", timeNow.getTime());\nexecutor.logger.debug(executor.eo);\n\nvar returnValue = executor.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" : "JAVASCRIPT",
+                     "logic" : "executor.logger.debug(executor.subject.id);\nvar gc = executor.getContextAlbum(\"GlobalContextAlbum\");\nexecutor.logger.debug(gc.name);\nexecutor.logger.debug(executor.inFields);\n\nvar caseSelectedType = Java.type(\"java.lang.Byte\");\nexecutor.outFields.put(\"TestDecideCaseSelected\", new caseSelectedType(1));\n\nvar JavaDate = Java.type(\"java.util.Date\");\ntimeNow = new JavaDate();\nexecutor.outFields.put(\"TestDecideStateTime\", timeNow.getTime());\nexecutor.logger.debug(executor.eo);\n\nvar returnValue = executor.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" : "JAVASCRIPT",
+                     "logic" : "executor.logger.debug(executor.subject.id);\nvar gc = executor.getContextAlbum(\"GlobalContextAlbum\");\nexecutor.logger.debug(gc.name);\nexecutor.logger.debug(executor.inFields);\n\nvar caseSelectedType = Java.type(\"java.lang.Byte\");\nexecutor.outFields.put(\"TestEstablishCaseSelected\", new caseSelectedType(2));\n\nvar JavaDate = Java.type(\"java.util.Date\");\ntimeNow = new JavaDate();\nexecutor.outFields.put(\"TestEstablishStateTime\", timeNow.getTime());\nexecutor.logger.debug(executor.eo);\n\nvar returnValue = executor.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" : "JAVASCRIPT",
+                     "logic" : "executor.logger.debug(executor.subject.id);\nvar gc = executor.getContextAlbum(\"GlobalContextAlbum\");\nexecutor.logger.debug(gc.name);\nexecutor.logger.debug(executor.inFields);\n\nvar caseSelectedType = Java.type(\"java.lang.Byte\");\nexecutor.outFields.put(\"TestEstablishCaseSelected\", new caseSelectedType(3));\n\nvar JavaDate = Java.type(\"java.util.Date\");\ntimeNow = new JavaDate();\nexecutor.outFields.put(\"TestEstablishStateTime\", timeNow.getTime());\nexecutor.logger.debug(executor.eo);\n\nvar returnValue = executor.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" : "JAVASCRIPT",
+                     "logic" : "executor.logger.debug(executor.subject.id);\nvar gc = executor.getContextAlbum(\"GlobalContextAlbum\");\nexecutor.logger.debug(gc.name);\nexecutor.logger.debug(executor.inFields);\n\nvar caseSelectedType = Java.type(\"java.lang.Byte\");\nexecutor.outFields.put(\"TestEstablishCaseSelected\", new caseSelectedType(0));\n\nvar JavaDate = Java.type(\"java.util.Date\");\ntimeNow = new JavaDate();\nexecutor.outFields.put(\"TestEstablishStateTime\", timeNow.getTime());\nexecutor.logger.debug(executor.eo);\n\nvar returnValue = executor.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" : "JAVASCRIPT",
+                     "logic" : "executor.logger.debug(executor.subject.id);\nvar gc = executor.getContextAlbum(\"GlobalContextAlbum\");\nexecutor.logger.debug(gc.name);\nexecutor.logger.debug(executor.inFields);\n\nvar caseSelectedType = Java.type(\"java.lang.Byte\");\nexecutor.outFields.put(\"TestEstablishCaseSelected\", new caseSelectedType(1));\n\nvar JavaDate = Java.type(\"java.util.Date\");\ntimeNow = new JavaDate();\nexecutor.outFields.put(\"TestEstablishStateTime\", timeNow.getTime());\nexecutor.logger.debug(executor.eo);\n\nvar returnValue = executor.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" : "JAVASCRIPT",
+                     "logic" : "executor.logger.debug(executor.subject.id);\nvar gc = executor.getContextAlbum(\"GlobalContextAlbum\");\nexecutor.logger.debug(gc.name);\nexecutor.logger.debug(executor.inFields);\n\nvar caseSelectedType = Java.type(\"java.lang.Byte\");\nexecutor.outFields.put(\"TestMatchCaseSelected\", new caseSelectedType(2));\n\nvar JavaDate = Java.type(\"java.util.Date\");\ntimeNow = new JavaDate();\nexecutor.outFields.put(\"TestMatchStateTime\", timeNow.getTime());\nexecutor.logger.debug(executor.eo);\n\nvar returnValue = executor.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" : "JAVASCRIPT",
+                     "logic" : "executor.logger.debug(executor.subject.id);\nvar gc = executor.getContextAlbum(\"GlobalContextAlbum\");\nexecutor.logger.debug(gc.name);\nexecutor.logger.debug(executor.inFields);\n\nvar caseSelectedType = Java.type(\"java.lang.Byte\");\nexecutor.outFields.put(\"TestMatchCaseSelected\", new caseSelectedType(3));\n\nvar JavaDate = Java.type(\"java.util.Date\");\ntimeNow = new JavaDate();\nexecutor.outFields.put(\"TestMatchStateTime\", timeNow.getTime());\nexecutor.logger.debug(executor.eo);\n\nvar returnValue = executor.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" : "JAVASCRIPT",
+                     "logic" : "executor.logger.debug(executor.subject.id);\nvar gc = executor.getContextAlbum(\"GlobalContextAlbum\");\nexecutor.logger.debug(gc.name);\nexecutor.logger.debug(executor.inFields);\n\nvar caseSelectedType = Java.type(\"java.lang.Byte\");\nexecutor.outFields.put(\"TestMatchCaseSelected\", new caseSelectedType(0));\n\nvar JavaDate = Java.type(\"java.util.Date\");\ntimeNow = new JavaDate();\nexecutor.outFields.put(\"TestMatchStateTime\", timeNow.getTime());\nexecutor.logger.debug(executor.eo);\n\nvar returnValue = executor.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" : "JAVASCRIPT",
+                     "logic" : "executor.logger.debug(executor.subject.id);\nvar gc = executor.getContextAlbum(\"GlobalContextAlbum\");\nexecutor.logger.debug(gc.name);\nexecutor.logger.debug(executor.inFields);\n\nvar caseSelectedType = Java.type(\"java.lang.Byte\");\nexecutor.outFields.put(\"TestMatchCaseSelected\", new caseSelectedType(1));\n\nvar JavaDate = Java.type(\"java.util.Date\");\ntimeNow = new JavaDate();\nexecutor.outFields.put(\"TestMatchStateTime\", timeNow.getTime());\nexecutor.logger.debug(executor.eo);\n\nvar returnValue = executor.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.TestContextBooleanItem"
+               }
+            }, {
+               "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.TestContextByteItem"
+               }
+            }, {
+               "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.TestContextIntItem"
+               }
+            }, {
+               "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.TestContextLongItem"
+               }
+            }, {
+               "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.TestContextFloatItem"
+               }
+            }, {
+               "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.TestContextDoubleItem"
+               }
+            }, {
+               "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.TestContextStringItem"
+               }
+            }, {
+               "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.TestContextLongObjectItem"
+               }
+            }, {
+               "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.TestContextDateItem"
+               }
+            }, {
+               "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.TestContextDateTzItem"
+               }
+            }, {
+               "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.TestContextDateLocaleItem"
+               }
+            }, {
+               "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.TestContextTreeSetItem"
+               }
+            }, {
+               "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.TestContextTreeMapItem"
+               }
+            }, {
+               "key" : {
+                  "name" : "TestExternalContextItem",
+                  "version" : "0.0.1"
+               },
+               "value" : {
+                  "key" : {
+                     "name" : "TestExternalContextItem",
+                     "version" : "0.0.1"
+                  },
+                  "schemaFlavour" : "Java",
+                  "schemaDefinition" : "org.onap.policy.apex.context.test.concepts.TestExternalContextItem"
+               }
+            }, {
+               "key" : {
+                  "name" : "TestGlobalContextItem",
+                  "version" : "0.0.1"
+               },
+               "value" : {
+                  "key" : {
+                     "name" : "TestGlobalContextItem",
+                     "version" : "0.0.1"
+                  },
+                  "schemaFlavour" : "Java",
+                  "schemaDefinition" : "org.onap.policy.apex.context.test.concepts.TestGlobalContextItem"
+               }
+            }, {
+               "key" : {
+                  "name" : "TestPolicyContextItem",
+                  "version" : "0.0.1"
+               },
+               "value" : {
+                  "key" : {
+                     "name" : "TestPolicyContextItem",
+                     "version" : "0.0.1"
+                  },
+                  "schemaFlavour" : "Java",
+                  "schemaDefinition" : "org.onap.policy.apex.context.test.concepts.TestPolicyContextItem"
+               }
+            }, {
+               "key" : {
+                  "name" : "TestSlogan",
+                  "version" : "0.0.1"
+               },
+               "value" : {
+                  "key" : {
+                     "name" : "TestSlogan",
+                     "version" : "0.0.1"
+                  },
+                  "schemaFlavour" : "Java",
+                  "schemaDefinition" : "java.lang.String"
+               }
+            }, {
+               "key" : {
+                  "name" : "TestTemperature",
+                  "version" : "0.0.1"
+               },
+               "value" : {
+                  "key" : {
+                     "name" : "TestTemperature",
+                     "version" : "0.0.1"
+                  },
+                  "schemaFlavour" : "Java",
+                  "schemaDefinition" : "java.lang.Double"
+               }
+            }, {
+               "key" : {
+                  "name" : "TestTimestamp",
+                  "version" : "0.0.1"
+               },
+               "value" : {
+                  "key" : {
+                     "name" : "TestTimestamp",
+                     "version" : "0.0.1"
+                  },
+                  "schemaFlavour" : "Java",
+                  "schemaDefinition" : "java.lang.Long"
+               }
+            } ]
+         }
+      }
+   }
+}
\ No newline at end of file
diff --git a/examples/examples-servlet/src/main/resources/webapp/WEB-INF/web.xml b/examples/examples-servlet/src/main/resources/webapp/WEB-INF/web.xml
new file mode 100644 (file)
index 0000000..8d7eca7
--- /dev/null
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ============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=========================================================
+-->
+<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee"
+    xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
+    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
+    http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
+    id="WebApp_ID" version="3.0">
+
+    <context-param>
+        <param-name>config-file</param-name>
+        <param-value>config/SampleDomain/RESTServerJsonEvent.json</param-value>
+    </context-param>
+    <context-param>
+        <param-name>model-file</param-name>
+        <param-value>models/SampleDomain/SamplePolicyModelJAVASCRIPT.json</param-value>
+    </context-param>
+
+    <listener>
+        <listener-class>org.onap.policy.apex.examples.servlet.ApexServletListener</listener-class>
+    </listener>
+
+    <servlet>
+        <servlet-name>apex-apps.servlet</servlet-name>
+        <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
+        <init-param>
+            <param-name>jersey.config.server.provider.packages</param-name>
+            <param-value>org.onap.policy.apex.plugins.event.carrier.restserver</param-value>
+        </init-param>
+        <load-on-startup>1</load-on-startup>
+    </servlet>
+    <servlet-mapping>
+        <servlet-name>apex-apps.servlet</servlet-name>
+        <url-pattern>/apex/*</url-pattern>
+    </servlet-mapping>
+</web-app>
diff --git a/examples/examples-servlet/src/main/resources/webapp/readme_examples-servlet.txt b/examples/examples-servlet/src/main/resources/webapp/readme_examples-servlet.txt
new file mode 100644 (file)
index 0000000..6f881f4
--- /dev/null
@@ -0,0 +1,85 @@
+/*-
+ * ============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=========================================================
+ */
+
+ The examples-servlet application demonstrate the capability that apex-pdp can be simply started as a servlet deployed in any application server (example - tomcat).
+
+ The examples-servlet war file can be found at following locations.
+
+ 1) Inside a container where apex-pdp is installed - /opt/app/policy/apex-pdp/apex-pdp-package-full-${project.version}/war
+ 2) Inside the tarball.gz distribution of apex-pdp - /war
+
+
+ Kindly follow the following steps to run apex-pdp servlet example war file.
+
+ 1) Install a tomcat server (or any other web server of your choice).
+ 2) Goto webapps folder under tomcat installation directory.
+ 3) Copy the examples-servlet war file here.
+ 4) Make sure you have given correct access permission to the war file to execute.
+ 5) Goto bin directory of tomcat and start the server using appropriate script for windows/linux.
+ 6) Open a browser window and type the following url - http://localhost:8080/examples-servlet-2.0.0-SNAPSHOT/apex/eventInput/Status
+ 7) If everything is fine, you must see the following JSON in browser.
+    {
+     "INPUTS": "[FirstConsumer, SecondConsumer]",
+     "STAT": 1,
+     "POST": 0,
+     "PUT":  0
+    }
+ 8) Open a rest client (example - Postman, ARC etc.) and make a http post request with following details.
+    Method: POST
+    URL: http://localhost:8080/examples-servlet-2.0.0-SNAPSHOT/apex/FirstConsumer/EventIn
+    Header: [{"key":"Content-Type","value":"application/json"}]
+    Body: {
+            "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
+          }
+ 9) If everything is fine, you must see the following response from server in your rest client.
+       Status: 200 OK
+       Body: {
+            "name": "Event0104",
+            "version": "0.0.1",
+            "nameSpace": "org.onap.policy.apex.sample.events",
+            "source": "Act",
+            "target": "Outside",
+            "TestActCaseSelected": 2,
+            "TestActStateTime": 1532960255194,
+            "TestDecideCaseSelected": 1,
+            "TestDecideStateTime": 1532960255114,
+            "TestEstablishCaseSelected": 3,
+            "TestEstablishStateTime": 1532960255085,
+            "TestMatchCase": 0,
+            "TestMatchCaseSelected": 1,
+            "TestMatchStateTime": 1532960255047,
+            "TestSlogan": "Test slogan for External Event1",
+            "TestTemperature": 8071.559,
+            "TestTimestamp": 1469781869268
+          }
+ 10) Congratulations!!! you have successfully run examples-servlet application.
+ 11) Try playing more by changing the json body content in http post request (Step-8) and fetching status from browser (Step-6).
+
+
+ Note - If not working, please check the IP, PORT & webapp context root (examples-servlet-2.0.0-SNAPSHOT) as it may be different.
\ No newline at end of file
index 37306f3..ce0a82f 100644 (file)
@@ -42,5 +42,6 @@
         <module>examples-decisionmaker</module>
         <module>examples-periodic</module>
         <module>examples-onap-vcpe</module>
+        <module>examples-servlet</module>
     </modules>
 </project>
\ No newline at end of file
index bb0beee..2ec77f7 100644 (file)
             <artifactId>examples-onap-vcpe</artifactId>
             <version>${project.version}</version>
         </dependency>
+        <dependency>
+            <groupId>org.onap.policy.apex-pdp.examples</groupId>
+            <artifactId>examples-servlet</artifactId>
+            <type>war</type>
+            <version>${project.version}</version>
+        </dependency>
     </dependencies>
 
     <build>
                                     <outputDirectory>${project.build.directory}/examples/models/ONAPvCPE</outputDirectory>
                                     <includes>/ONAPvCPEPolicyModel.json</includes>
                                 </artifactItem>
+                                <artifactItem>
+                                    <groupId>org.onap.policy.apex-pdp.examples</groupId>
+                                    <artifactId>examples-servlet</artifactId>
+                                    <version>${project.version}</version>
+                                    <type>war</type>
+                                    <overWrite>false</overWrite>
+                                    <outputDirectory>${project.build.directory}/etc</outputDirectory>
+                                    <includes>/readme_examples-servlet.txt</includes>
+                                </artifactItem>
                             </artifactItems>
                             <overWriteReleases>true</overWriteReleases>
                             <overWriteSnapshots>true</overWriteSnapshots>
                                         <prefix>/opt/app/policy/apex-pdp/${project.artifactId}-${project.version}/etc</prefix>
                                     </mapper>
                                 </data>
+                                <data>
+                                    <src>${project.build.directory}/install_hierarchy/war</src>
+                                    <type>directory</type>
+                                    <dst>etc</dst>
+                                    <mapper>
+                                        <type>perm</type>
+                                        <prefix>/opt/app/policy/apex-pdp/${install.package.name}-${project.version}/war</prefix>
+                                    </mapper>
+                                </data>
                                 <data>
                                     <src>${project.build.directory}/install_hierarchy/examples</src>
                                     <type>directory</type>
                                         </source>
                                     </sources>
                                 </mapping>
+                                <mapping>
+                                    <directory>/opt/app/policy/apex-pdp/${install.package.name}-${project.version}/war</directory>
+                                    <username>root</username>
+                                    <groupname>root</groupname>
+                                    <sources>
+                                        <source>
+                                            <location>${project.build.directory}/install_hierarchy/war</location>
+                                        </source>
+                                    </sources>
+                                </mapping>
                                 <mapping>
                                     <directory>/opt/app/policy/apex-pdp/${project.artifactId}-${project.version}/examples</directory>
                                     <username>root</username>
index cd242f3..1080506 100644 (file)
   ============LICENSE_END=========================================================
 -->
 <assembly>
-       <id>tarball</id>
-       <formats>
-               <format>tar.gz</format>
-       </formats>
-       <includeBaseDirectory>false</includeBaseDirectory>
-       <dependencySets>
-               <dependencySet>
-                       <useProjectArtifact>true</useProjectArtifact>
-                       <outputDirectory>/lib</outputDirectory>
-                       <unpack>false</unpack>
-                       <scope>runtime</scope>
-                       <includes>
-                               <include>*:jar</include>
-                       </includes>
-               </dependencySet>
-               <dependencySet>
-                       <useProjectArtifact>true</useProjectArtifact>
-                       <outputDirectory>/war</outputDirectory>
-                       <unpack>false</unpack>
-                       <scope>runtime</scope>
-                       <includes>
-                               <include>*:war</include>
-                       </includes>
-               </dependencySet>
-       </dependencySets>
-       <fileSets>
-               <fileSet>
-                       <directory>${project.basedir}/src/main/package/scripts</directory>
-                       <includes>
-                               <include>*</include>
-                       </includes>
-                       <outputDirectory>/bin</outputDirectory>
-                       <fileMode>0755</fileMode>
-                       <lineEnding>unix</lineEnding>
-                       <excludes>
-                               <exclude>*.formatted</exclude>
-                       </excludes>
-               </fileSet>
-               <fileSet>
-                       <directory>${project.basedir}/src/main/resources</directory>
-                       <includes>
-                               <include>**/*</include>
-                       </includes>
-                       <outputDirectory>/etc</outputDirectory>
-                       <lineEnding>unix</lineEnding>
-                       <excludes>
-                               <exclude>*.formatted</exclude>
-                       </excludes>
-               </fileSet>
-               <fileSet>
-                       <directory>${project.basedir}/src/main/package/examples</directory>
-                       <includes>
-                               <include>**/*</include>
-                       </includes>
-                       <outputDirectory>/examples</outputDirectory>
-                       <lineEnding>unix</lineEnding>
-                       <excludes>
-                               <exclude>*.formatted</exclude>
-                       </excludes>
-               </fileSet>
-               <fileSet>
-                       <directory>${project.build.directory}/etc</directory>
-                       <includes>
-                               <include>**/*</include>
-                       </includes>
-                       <outputDirectory>/etc</outputDirectory>
-                       <lineEnding>unix</lineEnding>
-                       <excludes>
-                               <exclude>*.formatted</exclude>
-                       </excludes>
-               </fileSet>
-               <fileSet>
-                       <directory>${project.build.directory}/examples</directory>
-                       <includes>
-                               <include>**/*</include>
-                       </includes>
-                       <outputDirectory>/examples</outputDirectory>
-                       <lineEnding>unix</lineEnding>
-                       <excludes>
-                               <exclude>*.formatted</exclude>
-                       </excludes>
-               </fileSet>
-               <fileSet>
-                       <directory>${project.build.directory}/lib</directory>
-                       <includes>
-                               <include>**/*</include>
-                       </includes>
-                       <outputDirectory>/lib</outputDirectory>
-                       <excludes>
-                               <exclude>*.formatted</exclude>
-                       </excludes>
-               </fileSet>
-       </fileSets>
+    <id>tarball</id>
+    <formats>
+        <format>tar.gz</format>
+    </formats>
+    <includeBaseDirectory>false</includeBaseDirectory>
+    <dependencySets>
+        <dependencySet>
+            <useProjectArtifact>true</useProjectArtifact>
+            <outputDirectory>/lib</outputDirectory>
+            <unpack>false</unpack>
+            <scope>runtime</scope>
+            <includes>
+                <include>*:jar</include>
+            </includes>
+        </dependencySet>
+        <dependencySet>
+            <useProjectArtifact>true</useProjectArtifact>
+            <outputDirectory>/war</outputDirectory>
+            <unpack>false</unpack>
+            <scope>runtime</scope>
+            <includes>
+                <include>*:war</include>
+            </includes>
+        </dependencySet>
+    </dependencySets>
+    <fileSets>
+        <fileSet>
+            <directory>${project.basedir}/src/main/package/scripts</directory>
+            <includes>
+                <include>*</include>
+            </includes>
+            <outputDirectory>/bin</outputDirectory>
+            <fileMode>0755</fileMode>
+            <lineEnding>unix</lineEnding>
+            <excludes>
+                <exclude>*.formatted</exclude>
+            </excludes>
+        </fileSet>
+        <fileSet>
+            <directory>${project.basedir}/src/main/resources</directory>
+            <includes>
+                <include>**/*</include>
+            </includes>
+            <outputDirectory>/etc</outputDirectory>
+            <lineEnding>unix</lineEnding>
+            <excludes>
+                <exclude>*.formatted</exclude>
+            </excludes>
+        </fileSet>
+        <fileSet>
+            <directory>${project.basedir}/src/main/package/examples</directory>
+            <includes>
+                <include>**/*</include>
+            </includes>
+            <outputDirectory>/examples</outputDirectory>
+            <lineEnding>unix</lineEnding>
+            <excludes>
+                <exclude>*.formatted</exclude>
+            </excludes>
+        </fileSet>
+        <fileSet>
+            <directory>${project.build.directory}/etc</directory>
+            <includes>
+                <include>**/*</include>
+            </includes>
+            <outputDirectory>/etc</outputDirectory>
+            <lineEnding>unix</lineEnding>
+            <excludes>
+                <exclude>*.formatted</exclude>
+            </excludes>
+        </fileSet>
+        <fileSet>
+            <directory>${project.build.directory}/examples</directory>
+            <includes>
+                <include>**/*</include>
+            </includes>
+            <outputDirectory>/examples</outputDirectory>
+            <lineEnding>unix</lineEnding>
+            <excludes>
+                <exclude>*.formatted</exclude>
+            </excludes>
+        </fileSet>
+        <fileSet>
+            <directory>${project.build.directory}/lib</directory>
+            <includes>
+                <include>**/*</include>
+            </includes>
+            <outputDirectory>/lib</outputDirectory>
+            <excludes>
+                <exclude>*.formatted</exclude>
+            </excludes>
+        </fileSet>
+        <!-- Just to keep readme & war file in the same directory -->
+        <fileSet>
+            <directory>${project.build.directory}/etc</directory>
+            <includes>
+                <include>readme_examples-servlet.txt</include>
+            </includes>
+            <outputDirectory>/war</outputDirectory>
+        </fileSet>
+    </fileSets>
 </assembly>