Adding Benchmark module
Change-Id: I4817580bf53bbf46b6890b70d49c8a2edabca749
Issue-ID: POLICY-865
Signed-off-by: waqas.ikram <waqas.ikram@ericsson.com>
diff --git a/testsuites/performance/performance-benchmark-test/pom.xml b/testsuites/performance/performance-benchmark-test/pom.xml
new file mode 100644
index 0000000..118fe11
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/pom.xml
@@ -0,0 +1,99 @@
+<!--
+ ============LICENSE_START=======================================================
+ Copyright (C) 2018 Ericsson. All rights reserved.
+ ================================================================================
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+ SPDX-License-Identifier: Apache-2.0
+ ============LICENSE_END=========================================================
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.onap.policy.apex-pdp.testsuites.performance</groupId>
+ <artifactId>performance</artifactId>
+ <version>2.0.0-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>performance-benchmark-test</artifactId>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.onap.policy.apex-pdp.services</groupId>
+ <artifactId>services-engine</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.onap.policy.apex-pdp.testsuites.integration</groupId>
+ <artifactId>integration-common</artifactId>
+ <version>${project.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.onap.policy.apex-pdp.plugins.plugins-executor</groupId>
+ <artifactId>plugins-executor-mvel</artifactId>
+ <version>${project.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.onap.policy.apex-pdp.plugins.plugins-executor</groupId>
+ <artifactId>plugins-executor-javascript</artifactId>
+ <version>${project.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.onap.policy.apex-pdp.plugins.plugins-executor</groupId>
+ <artifactId>plugins-executor-jython</artifactId>
+ <version>${project.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.onap.policy.apex-pdp.plugins.plugins-executor</groupId>
+ <artifactId>plugins-executor-java</artifactId>
+ <version>${project.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.onap.policy.apex-pdp.plugins.plugins-executor</groupId>
+ <artifactId>plugins-executor-jruby</artifactId>
+ <version>${project.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.onap.policy.apex-pdp.plugins.plugins-context.context-schema</groupId>
+ <artifactId>context-schema-avro</artifactId>
+ <version>${project.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.onap.policy.apex-pdp.context</groupId>
+ <artifactId>context-test-utils</artifactId>
+ <version>${project.version}</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <forkMode>always</forkMode>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
\ No newline at end of file
diff --git a/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/service/engine/benchmark/ApexBaseBenchMarkTest.java b/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/service/engine/benchmark/ApexBaseBenchMarkTest.java
new file mode 100644
index 0000000..3638119
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/service/engine/benchmark/ApexBaseBenchMarkTest.java
@@ -0,0 +1,139 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2018 Ericsson. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+package org.onap.policy.apex.service.engine.benchmark;
+
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.TimeUnit;
+
+import org.onap.policy.apex.context.impl.schema.java.JavaSchemaHelperParameters;
+import org.onap.policy.apex.context.parameters.ContextParameters;
+import org.onap.policy.apex.context.parameters.SchemaParameters;
+import org.onap.policy.apex.core.engine.EngineParameters;
+import org.onap.policy.apex.core.engine.ExecutorParameters;
+import org.onap.policy.apex.core.infrastructure.threading.ThreadUtilities;
+import org.onap.policy.apex.model.basicmodel.concepts.ApexException;
+import org.onap.policy.apex.model.basicmodel.concepts.AxArtifactKey;
+import org.onap.policy.apex.plugins.context.schema.avro.AvroSchemaHelperParameters;
+import org.onap.policy.apex.plugins.executor.java.JavaExecutorParameters;
+import org.onap.policy.apex.plugins.executor.javascript.JavascriptExecutorParameters;
+import org.onap.policy.apex.plugins.executor.jruby.JrubyExecutorParameters;
+import org.onap.policy.apex.plugins.executor.jython.JythonExecutorParameters;
+import org.onap.policy.apex.plugins.executor.mvel.MVELExecutorParameters;
+import org.onap.policy.apex.service.engine.event.ApexEvent;
+import org.onap.policy.apex.service.engine.runtime.ApexEventListener;
+import org.onap.policy.apex.service.engine.runtime.ApexServiceModelUpdateTest;
+import org.onap.policy.apex.service.engine.runtime.EngineService;
+import org.onap.policy.apex.service.engine.runtime.EngineServiceEventInterface;
+import org.onap.policy.apex.service.engine.runtime.impl.EngineServiceImpl;
+import org.onap.policy.apex.service.parameters.engineservice.EngineServiceParameters;
+import org.slf4j.ext.XLogger;
+import org.slf4j.ext.XLoggerFactory;
+
+public class ApexBaseBenchMarkTest {
+ private static final long STOP_TIME_OUT = TimeUnit.SECONDS.toMillis(30);
+ private static final XLogger LOGGER = XLoggerFactory.getXLogger(ApexServiceModelUpdateTest.class);
+ private static final long MAX_START_WAIT = TimeUnit.SECONDS.toMillis(10);
+ private final AxArtifactKey engineServiceKey = new AxArtifactKey("Machine-1_process-1_engine-1", "0.0.0");
+ private final String model;
+ private final int threads;
+ private final ApexEventListener listener;
+ private EngineService service;
+ private EngineServiceEventInterface engineServiceEventInterface;
+
+
+ public ApexBaseBenchMarkTest(final String model, final int threads, final ApexEventListener listener) {
+ this.model = model;
+ this.threads = threads;
+ this.listener = listener;
+ }
+
+ public void setUp() throws Exception {
+ final EngineServiceParameters parameters = new EngineServiceParameters();
+ parameters.setInstanceCount(threads);
+ parameters.setName(engineServiceKey.getName());
+ parameters.setVersion(engineServiceKey.getVersion());
+ parameters.setId(100);
+
+ final EngineParameters engineParameters = parameters.getEngineParameters();
+ final Map<String, ExecutorParameters> executorParameterMap = engineParameters.getExecutorParameterMap();
+ executorParameterMap.put("MVEL", new MVELExecutorParameters());
+ executorParameterMap.put("JAVASCRIPT", new JavascriptExecutorParameters());
+ executorParameterMap.put("JYTHON", new JythonExecutorParameters());
+ executorParameterMap.put("JAVA", new JavaExecutorParameters());
+ executorParameterMap.put("JRUBY", new JrubyExecutorParameters());
+
+ final ContextParameters contextParameters = engineParameters.getContextParameters();
+ final SchemaParameters schemaParameters = contextParameters.getSchemaParameters();
+ schemaParameters.getSchemaHelperParameterMap().put("Avro", new AvroSchemaHelperParameters());
+ schemaParameters.getSchemaHelperParameterMap().put("Java", new JavaSchemaHelperParameters());
+ service = EngineServiceImpl.create(parameters);
+
+ service = EngineServiceImpl.create(parameters);
+ service.registerActionListener("listener", listener);
+ service.updateModel(parameters.getEngineKey(), model, true);
+
+ LOGGER.info("Starting EngineService ... ");
+ service.startAll();
+
+ final long starttime = System.currentTimeMillis();
+ while (!service.isStarted() && System.currentTimeMillis() - starttime < MAX_START_WAIT) {
+ ThreadUtilities.sleep(50);
+ }
+ if (!service.isStarted()) {
+ LOGGER.error("Apex Service {} failed to start after {} ms", service.getKey(), MAX_START_WAIT);
+ new ApexException("Unable to start engine service ");
+ }
+
+ engineServiceEventInterface = service.getEngineServiceEventInterface();
+ }
+
+ public void sendEvents(final List<ApexEvent> events) {
+ for (final ApexEvent event : events) {
+ engineServiceEventInterface.sendEvent(event);
+ }
+ }
+
+ public void sendEvent(final ApexEvent event) {
+ engineServiceEventInterface.sendEvent(event);
+ }
+
+
+ public EngineService getService() {
+ return service;
+ }
+
+ public void destroy() throws Exception {
+ if (service != null) {
+ LOGGER.info("Stopping EngineService ... ");
+ service.stop();
+ final long currentTimeInMillSec = System.currentTimeMillis();
+ while (!service.isStopped()) {
+ if (System.currentTimeMillis() - currentTimeInMillSec > STOP_TIME_OUT) {
+ LOGGER.warn("Timed Out EngineService status: ", service.isStopped());
+ break;
+ }
+ ThreadUtilities.sleep(500);
+ }
+ service = null;
+ }
+ }
+
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/service/engine/benchmark/ApexEngineBenchmark.java b/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/service/engine/benchmark/ApexEngineBenchmark.java
new file mode 100644
index 0000000..d7a4ef8
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/service/engine/benchmark/ApexEngineBenchmark.java
@@ -0,0 +1,137 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2016-2018 Ericsson. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.apex.service.engine.benchmark;
+
+import static org.junit.Assert.assertEquals;
+
+import java.util.concurrent.TimeUnit;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.onap.policy.apex.core.infrastructure.threading.ThreadUtilities;
+import org.onap.policy.apex.service.engine.event.ApexEvent;
+import org.onap.policy.apex.service.engine.utils.Utils;
+import org.onap.policy.apex.test.common.model.EvalDomainModelFactory;
+import org.python.icu.impl.Assert;
+import org.slf4j.ext.XLogger;
+import org.slf4j.ext.XLoggerFactory;
+
+/**
+ * The Class ApexEngineBenchmark.
+ */
+public class ApexEngineBenchmark {
+ // Logger for this class
+ private static final XLogger LOGGER = XLoggerFactory.getXLogger(ApexEngineBenchmark.class);
+
+ private static final String TARGET = "apex";
+ private static final String SOURCE = "test";
+ private static final String NAME = "Event0000";
+ private static final String VERSION = "0.0.1";
+ private static final String PACKAGE = "org.onap.policy.apex.domains.sample.events";
+
+ private static final long TIME_OUT_IN_MILLISEC = TimeUnit.MINUTES.toMillis(1);
+
+ private String apexECAModelString;
+ private String apexOODAModelString;
+
+ @Before
+ public void setUp() throws Exception {
+ apexECAModelString = Utils.getModelString(new EvalDomainModelFactory().getECAPolicyModel());
+ apexOODAModelString = Utils.getModelString(new EvalDomainModelFactory().getOODAPolicyModel());
+ }
+
+ @Test
+ public void testBenchmark_SingletonWorker() throws Exception {
+ executeTest(apexECAModelString, 100, 1, 20);
+ executeTest(apexOODAModelString, 100, 1, 20);
+ }
+
+ @Test
+ public void testBenchmark_3ThreadWorker() throws Exception {
+ executeTest(apexECAModelString, 1000, 3, 10);
+ executeTest(apexOODAModelString, 100, 3, 10);
+ }
+
+ @Test
+ public void testBenchmark_10ThreadWorker() throws Exception {
+ executeTest(apexECAModelString, 2000, 10, 10);
+ executeTest(apexOODAModelString, 2000, 10, 10);
+ }
+
+ @Test
+ public void testBenchmark_50ThreadWorker() throws Exception {
+ executeTest(apexECAModelString, 3000, 50, 10);
+ executeTest(apexOODAModelString, 3000, 50, 10);
+ }
+
+ @Test
+ public void TestE_AvailableProcessorsThreadWorker() throws Exception {
+ final int cores = Runtime.getRuntime().availableProcessors();
+ executeTest(apexECAModelString, 3000, cores, 10);
+ executeTest(apexOODAModelString, 3000, cores, 10);
+ }
+
+ private void executeTest(final String policyModel, final int eventsCount, final int threads, final int loop)
+ throws Exception {
+
+ LOGGER.info("Running Test with Event count: {}, Instance count: {} and loop: {}", eventsCount, threads, loop);
+ final TestApexEventListener apexEventListener = new TestApexEventListener();
+
+ final ApexBaseBenchMarkTest apexBaseBenchMarkTest =
+ new ApexBaseBenchMarkTest(policyModel, threads, apexEventListener);
+
+ try {
+ apexBaseBenchMarkTest.setUp();
+ for (int i = 0; i < loop; i++) {
+ sendEvents(apexBaseBenchMarkTest, eventsCount);
+ final long currentTimeInMillSec = System.currentTimeMillis();
+ while (apexEventListener.getEventReceived() < eventsCount) {
+ if (System.currentTimeMillis() - currentTimeInMillSec > TIME_OUT_IN_MILLISEC) {
+ LOGGER.warn("Wait timed out ... ");
+ break;
+ }
+ ThreadUtilities.sleep(500);
+ }
+ assertEquals(eventsCount, apexEventListener.getEventReceived());
+ apexEventListener.printResult();
+ apexEventListener.reset();
+ }
+ } catch (final Exception exception) {
+ Assert.fail(exception);
+ } finally {
+ apexBaseBenchMarkTest.destroy();
+ LOGGER.info("Finished Running Test with Event count: {}, Instance count: {} and loop: {}", eventsCount,
+ threads, loop);
+ }
+ }
+
+ public void sendEvents(final ApexBaseBenchMarkTest apexBaseBenchMarkTest, final int eventsCount) throws Exception {
+ for (int eventNum = 0; eventNum < eventsCount; eventNum++) {
+ final long currentTimeMillis = System.currentTimeMillis();
+ final ApexEvent event = new ApexEvent(NAME, VERSION, PACKAGE, SOURCE, TARGET);
+ event.put("TestTemperature", eventNum);
+ event.put("FirstEventTimestamp", currentTimeMillis);
+ event.put("SentTimestamp", currentTimeMillis);
+ event.put("EventNumber", eventNum);
+ apexBaseBenchMarkTest.sendEvent(event);
+ }
+ }
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/service/engine/benchmark/TestApexEventListener.java b/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/service/engine/benchmark/TestApexEventListener.java
new file mode 100644
index 0000000..b2de8f0
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/service/engine/benchmark/TestApexEventListener.java
@@ -0,0 +1,92 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2018 Ericsson. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+package org.onap.policy.apex.service.engine.benchmark;
+
+import static org.junit.Assert.assertNull;
+
+import java.util.Queue;
+import java.util.concurrent.ConcurrentLinkedQueue;
+import java.util.concurrent.atomic.AtomicLong;
+
+import org.onap.policy.apex.service.engine.event.ApexEvent;
+import org.onap.policy.apex.service.engine.runtime.ApexEventListener;
+import org.slf4j.ext.XLogger;
+import org.slf4j.ext.XLoggerFactory;
+
+public class TestApexEventListener implements ApexEventListener {
+
+ private static final String SENT_TIMESTAMP = "SentTimestamp";
+ private static final XLogger LOGGER = XLoggerFactory.getXLogger(TestApexEventListener.class);
+ private static final String RECVD_TIMESTAMP = "RecvdTimestamp";
+ private Queue<ApexEvent> queue;
+
+ private final AtomicLong eventReceived = new AtomicLong();
+
+ public TestApexEventListener() {
+ this.queue = new ConcurrentLinkedQueue<ApexEvent>();
+ }
+
+ @Override
+ public void onApexEvent(final ApexEvent apexEvent) {
+ apexEvent.put(RECVD_TIMESTAMP, System.currentTimeMillis());
+ eventReceived.incrementAndGet();
+ queue.add(apexEvent);
+ }
+
+ public void printResult() {
+ if (!queue.isEmpty()) {
+ long maxTimeInMilliSeconds = 0;
+ long minTimeInMilliSeconds = Long.MAX_VALUE;
+ final long numEvents = queue.size();
+ long totalTimeInMilliSeconds = 0;
+ for (final ApexEvent apexEvent : queue) {
+ assertNull(apexEvent.getExceptionMessage());
+ final Long endTimeInMilliSeconds = (Long) apexEvent.get(RECVD_TIMESTAMP);
+ final Long startTimeInMilliSeconds = (Long) apexEvent.get(SENT_TIMESTAMP);
+ final long timeTaken = endTimeInMilliSeconds - startTimeInMilliSeconds;
+ totalTimeInMilliSeconds += timeTaken;
+ if (timeTaken > maxTimeInMilliSeconds) {
+ maxTimeInMilliSeconds = timeTaken;
+ }
+ if (timeTaken < minTimeInMilliSeconds) {
+ minTimeInMilliSeconds = timeTaken;
+ }
+ }
+ LOGGER.info("Average Time Taken to process {} events: {} ms", numEvents,
+ (totalTimeInMilliSeconds / numEvents));
+ LOGGER.info("Max Time Taken: {} ms", maxTimeInMilliSeconds);
+ LOGGER.info("Min Time Taken: {} ms", minTimeInMilliSeconds);
+ }
+ }
+
+ public void reset() {
+ this.queue = new ConcurrentLinkedQueue<ApexEvent>();
+ eventReceived.set(0);;
+ }
+
+ public Queue<ApexEvent> getQueue() {
+ return queue;
+ }
+
+ public long getEventReceived() {
+ return eventReceived.get();
+ }
+
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/service/engine/main/BaseTest.java b/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/service/engine/main/BaseTest.java
new file mode 100644
index 0000000..d38107d
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/service/engine/main/BaseTest.java
@@ -0,0 +1,120 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2018 Ericsson. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+package org.onap.policy.apex.service.engine.main;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+import java.io.File;
+import java.io.IOException;
+import java.nio.file.Files;
+import java.util.concurrent.TimeUnit;
+
+import org.onap.policy.apex.core.infrastructure.threading.ThreadUtilities;
+import org.onap.policy.apex.model.utilities.TextFileUtils;
+
+public class BaseTest {
+ protected final static long TIME_OUT_IN_MS = TimeUnit.SECONDS.toMillis(10);
+
+ protected long getFileLength(final String file, final long expectedFileSize) throws IOException {
+ return getFileLength(10, file, expectedFileSize);
+ }
+
+ protected long getFileLength(final int loopTime, final String file, final long expectedFileSize)
+ throws IOException {
+ long length = 0;
+ for (int i = 0; i < loopTime; i++) {
+ final String fileString = TextFileUtils.getTextFileAsString(file).replaceAll("\\s+", "");
+ length = fileString.length();
+ if (length > 0 && length >= expectedFileSize) {
+ break;
+ }
+ ThreadUtilities.sleep(500);
+ }
+ return length;
+ }
+
+ protected void waitForOutFiles(final File... files) {
+ final long timeInMillis = System.currentTimeMillis();
+ while (!isFilesExist(files)) {
+ if (System.currentTimeMillis() - timeInMillis > TIME_OUT_IN_MS) {
+ break;
+ }
+ ThreadUtilities.sleep(500);
+ }
+
+ }
+
+ private void assertFilesExists(final File... files) {
+ for (final File file : files) {
+ assertTrue("Test failed, the output " + file + "event file was not created", file.exists());
+ }
+ }
+
+ private void deleteFiles(final File... files) throws IOException {
+ for (final File file : files) {
+ Files.deleteIfExists(file.toPath());
+ }
+ }
+
+ private boolean isFilesExist(final File[] files) {
+ for (final File file : files) {
+ if (!file.exists()) {
+ return false;
+ }
+ }
+ return true;
+ }
+
+ protected File[] toFile(final String[] filesPath) {
+ if (filesPath == null || filesPath.length == 0) {
+ return new File[] {};
+ }
+ final File[] files = new File[filesPath.length];
+
+ for (int index = 0; index < filesPath.length; index++) {
+ files[index] = new File(filesPath[index]);
+ }
+
+ return files;
+ }
+
+ protected void testFileEvents(final String[] args, final String[] expectedFilesPath, final long expectedFileSize)
+ throws Exception {
+ final ApexMain apexMain = new ApexMain(args);
+
+ final File[] expectedFiles = toFile(expectedFilesPath);
+ try {
+
+ waitForOutFiles(expectedFiles);
+ assertFilesExists(expectedFiles);
+
+ for (final String filePath : expectedFilesPath) {
+ assertEquals(expectedFileSize, getFileLength(filePath, expectedFileSize));
+ }
+
+ apexMain.shutdown();
+
+ } finally {
+ deleteFiles(expectedFiles);
+ }
+ }
+
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/service/engine/main/TestAsyncEventMIMO.java b/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/service/engine/main/TestAsyncEventMIMO.java
new file mode 100644
index 0000000..714deba
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/service/engine/main/TestAsyncEventMIMO.java
@@ -0,0 +1,36 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2016-2018 Ericsson. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.apex.service.engine.main;
+
+import org.junit.Test;
+
+public class TestAsyncEventMIMO extends BaseTest {
+
+ @Test
+ public void testJsonFileAsyncMIMO() throws Exception {
+ final String[] args = {"-c", "src/test/resources/parameters/File2FileJsonEventAsyncMIMO.json"};
+ final String[] outFilePaths = {"src/test/resources/events/EventsOutMulti0.json",
+ "src/test/resources/events/EventsOutMulti1.json", "src/test/resources/events/EventsOutMulti2.json"};
+
+ testFileEvents(args, outFilePaths, 48956 * 3);
+ }
+
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/service/engine/main/TestAsyncEventMISO.java b/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/service/engine/main/TestAsyncEventMISO.java
new file mode 100644
index 0000000..c5e7f4d
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/service/engine/main/TestAsyncEventMISO.java
@@ -0,0 +1,33 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2016-2018 Ericsson. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.apex.service.engine.main;
+
+import org.junit.Test;
+
+public class TestAsyncEventMISO extends BaseTest {
+
+ @Test
+ public void testJsonFileAsyncMISO() throws Exception {
+ final String[] args = {"-c", "src/test/resources/parameters/File2FileJsonEventAsyncMISO.json"};
+
+ testFileEvents(args, new String[] {"src/test/resources/events/EventsOutSingle.json"}, 48956 * 3);
+ }
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/service/engine/main/TestAsyncEventSIMO.java b/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/service/engine/main/TestAsyncEventSIMO.java
new file mode 100644
index 0000000..0f57067
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/service/engine/main/TestAsyncEventSIMO.java
@@ -0,0 +1,36 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2016-2018 Ericsson. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.apex.service.engine.main;
+
+import org.junit.Test;
+
+public class TestAsyncEventSIMO extends BaseTest {
+
+ @Test
+ public void testJsonFileAsyncSIMO() throws Exception {
+ final String[] args = {"-c", "src/test/resources/parameters/File2FileJsonEventAsyncSIMO.json"};
+ final String[] outFilePaths = {"src/test/resources/events/EventsOutMulti0.json",
+ "src/test/resources/events/EventsOutMulti1.json", "src/test/resources/events/EventsOutMulti2.json"};
+
+ testFileEvents(args, outFilePaths, 48956);
+ }
+
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/service/engine/main/TestAsyncEventSISO.java b/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/service/engine/main/TestAsyncEventSISO.java
new file mode 100644
index 0000000..4152e20
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/service/engine/main/TestAsyncEventSISO.java
@@ -0,0 +1,33 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2016-2018 Ericsson. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.apex.service.engine.main;
+
+import org.junit.Test;
+
+public class TestAsyncEventSISO extends BaseTest {
+
+ @Test
+ public void testJsonFileAsyncSISO() throws Exception {
+ final String[] args = {"-c", "src/test/resources/parameters/File2FileJsonEventAsyncSISO.json"};
+
+ testFileEvents(args, new String[] {"src/test/resources/events/EventsOutSingle.json"}, 48956);
+ }
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/service/engine/main/TestSyncEventMIMO.java b/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/service/engine/main/TestSyncEventMIMO.java
new file mode 100644
index 0000000..ad1a981
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/service/engine/main/TestSyncEventMIMO.java
@@ -0,0 +1,36 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2016-2018 Ericsson. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.apex.service.engine.main;
+
+import org.junit.Test;
+
+public class TestSyncEventMIMO extends BaseTest {
+
+ @Test
+ public void testJsonFileAsyncMIMO() throws Exception {
+ final String[] args = {"-c", "src/test/resources/parameters/File2FileJsonEventSyncMIMO.json"};
+ final String[] outFilePaths = {"src/test/resources/events/EventsOutMulti0.json",
+ "src/test/resources/events/EventsOutMulti1.json", "src/test/resources/events/EventsOutMulti2.json"};
+
+ testFileEvents(args, outFilePaths, 48956 * 3);
+ }
+
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/service/engine/main/TestSyncEventSISO.java b/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/service/engine/main/TestSyncEventSISO.java
new file mode 100644
index 0000000..395c2fe
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/service/engine/main/TestSyncEventSISO.java
@@ -0,0 +1,33 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2016-2018 Ericsson. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.apex.service.engine.main;
+
+import org.junit.Test;
+
+public class TestSyncEventSISO extends BaseTest {
+
+ @Test
+ public void testJsonFileAsyncSISO() throws Exception {
+ final String[] args = {"-c", "src/test/resources/parameters/File2FileJsonEventSyncSISO.json"};
+
+ testFileEvents(args, new String[] {"src/test/resources/events/EventsOutSingle.json"}, 48956);
+ }
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/service/engine/runtime/ApexServiceModelUpdateTest.java b/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/service/engine/runtime/ApexServiceModelUpdateTest.java
new file mode 100644
index 0000000..d265806
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/service/engine/runtime/ApexServiceModelUpdateTest.java
@@ -0,0 +1,363 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2016-2018 Ericsson. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.apex.service.engine.runtime;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
+import java.io.IOException;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.onap.policy.apex.core.infrastructure.threading.ThreadUtilities;
+import org.onap.policy.apex.model.basicmodel.concepts.ApexException;
+import org.onap.policy.apex.model.basicmodel.concepts.AxArtifactKey;
+import org.onap.policy.apex.model.basicmodel.service.ModelService;
+import org.onap.policy.apex.model.policymodel.concepts.AxPolicyModel;
+import org.onap.policy.apex.plugins.executor.mvel.MVELExecutorParameters;
+import org.onap.policy.apex.service.engine.event.ApexEvent;
+import org.onap.policy.apex.service.engine.event.ApexEventException;
+import org.onap.policy.apex.service.engine.runtime.impl.EngineServiceImpl;
+import org.onap.policy.apex.service.engine.utils.Utils;
+import org.onap.policy.apex.service.parameters.engineservice.EngineServiceParameters;
+import org.onap.policy.apex.test.common.model.SampleDomainModelFactory;
+import org.slf4j.ext.XLogger;
+import org.slf4j.ext.XLoggerFactory;
+
+
+/**
+ * The Class ApexServiceTest.
+ *
+ * @author Liam Fallon (liam.fallon@ericsson.com)
+ */
+public class ApexServiceModelUpdateTest {
+ // Logger for this class
+ private static final XLogger LOGGER = XLoggerFactory.getXLogger(ApexServiceModelUpdateTest.class);
+
+ private final AxArtifactKey engineServiceKey = new AxArtifactKey("Machine-1_process-1_engine-1", "0.0.0");
+ private final EngineServiceParameters parameters = new EngineServiceParameters();
+ private EngineService service = null;
+ private TestListener listener = null;
+ private int actionEventsReceived = 0;
+
+ private AxPolicyModel apexSamplePolicyModel = null;
+ private String apexSampleModelString;
+
+ /**
+ * Sets up the test by creating an engine and reading in the test policy.
+ *
+ * @throws ApexException if something goes wron
+ * @throws IOException
+ */
+ @Before
+ public void setUp() throws ApexException, IOException {
+ // create engine with 3 threads
+ parameters.setInstanceCount(3);
+ parameters.setName(engineServiceKey.getName());
+ parameters.setVersion(engineServiceKey.getVersion());
+ parameters.setId(100);
+ parameters.getEngineParameters().getExecutorParameterMap().put("MVEL", new MVELExecutorParameters());
+ service = EngineServiceImpl.create(parameters);
+
+ LOGGER.debug("Running TestApexEngine. . .");
+
+ apexSamplePolicyModel = new SampleDomainModelFactory().getSamplePolicyModel("MVEL");
+ assertNotNull(apexSamplePolicyModel);
+
+ apexSampleModelString = Utils.getModelString(apexSamplePolicyModel);
+
+ // create engine
+ listener = new TestListener();
+ service.registerActionListener("MyListener", listener);
+ }
+
+ /**
+ * Tear down the the test infrastructure.
+ *
+ * @throws ApexException if there is an error
+ */
+ @After
+ public void tearDown() throws Exception {
+ if (service != null) {
+ service.stop();
+ }
+ service = null;
+ }
+
+ /**
+ * Test start with no model.
+ */
+ @Test
+ public void testNoModelStart() {
+ try {
+ service.startAll();
+ fail("Engine should not start with no model");
+ } catch (final Exception e) {
+ e.printStackTrace();
+ assertEquals("start()<-Machine-1_process-1_engine-1-0:0.0.0,STOPPED, cannot start engine, "
+ + "engine has not been initialized, its model is not loaded", e.getMessage());
+ }
+ }
+
+ /**
+ * Test model update with string model without force.
+ *
+ * @throws ApexException if there is an error
+ */
+ @Test
+ public void testModelUpdateStringNewNoForce() throws ApexException {
+ service.updateModel(parameters.getEngineKey(), apexSampleModelString, false);
+ service.startAll();
+ assertEquals(apexSamplePolicyModel.getKey(), ModelService.getModel(AxPolicyModel.class).getKey());
+ }
+
+ /**
+ * Test model update with string model with force.
+ *
+ * @throws ApexException if there is an error
+ */
+ @Test
+ public void testModelUpdateStringNewForce() throws ApexException {
+ service.updateModel(parameters.getEngineKey(), apexSampleModelString, true);
+ service.startAll();
+ assertEquals(apexSamplePolicyModel.getKey(), ModelService.getModel(AxPolicyModel.class).getKey());
+ }
+
+ /**
+ * Test model update with a new string model without force.
+ *
+ * @throws ApexException if there is an error
+ */
+ @Test
+ public void testModelUpdateStringNewNewNoForce() throws ApexException {
+ service.updateModel(parameters.getEngineKey(), apexSampleModelString, false);
+ service.startAll();
+ assertEquals(apexSamplePolicyModel.getKey(), ModelService.getModel(AxPolicyModel.class).getKey());
+
+ sendEvents();
+
+ service.updateModel(parameters.getEngineKey(), apexSampleModelString, false);
+ assertEquals(apexSamplePolicyModel.getKey(), ModelService.getModel(AxPolicyModel.class).getKey());
+
+ sendEvents();
+ }
+
+ /**
+ * Test incompatible model update with a model object without force.
+ *
+ * @throws ApexException if there is an error
+ */
+ @Test
+ public void testModelUpdateIncoNoForce() throws ApexException {
+ service.updateModel(parameters.getEngineKey(), apexSamplePolicyModel, false);
+ service.startAll();
+ assertEquals(apexSamplePolicyModel.getKey(), ModelService.getModel(AxPolicyModel.class).getKey());
+
+ // Different model name, incompatible
+ final AxPolicyModel incoPolicyModel0 = new AxPolicyModel(apexSamplePolicyModel);
+ incoPolicyModel0.getKey().setName("INCOMPATIBLE");
+
+ try {
+ service.updateModel(parameters.getEngineKey(), incoPolicyModel0, false);
+ fail("model update should fail on incompatible model without force being true");
+ } catch (final Exception e) {
+ System.err.println(e.getMessage());
+ assertEquals(
+ "apex model update failed, supplied model with key \"INCOMPATIBLE:0.0.1\" is not a compatible "
+ + "model update from the existing engine model with key \"SamplePolicyModelMVEL:0.0.1\"",
+ e.getMessage());
+ }
+
+ // Still on old model
+ sendEvents();
+
+ // Different major version, incompatible
+ final AxPolicyModel incoPolicyModel1 = new AxPolicyModel(apexSamplePolicyModel);
+ incoPolicyModel1.getKey().setVersion("1.0.1");
+
+ try {
+ service.updateModel(parameters.getEngineKey(), incoPolicyModel1, false);
+ fail("model update should fail on incompatible model without force being true");
+ } catch (final Exception e) {
+ System.err.println(e.getMessage());
+ e.printStackTrace();
+ assertEquals(
+ "apex model update failed, supplied model with key \"SamplePolicyModelMVEL:1.0.1\" is not a compatible "
+ + "model update from the existing engine model with key \"SamplePolicyModelMVEL:0.0.1\"",
+ e.getMessage());
+ }
+
+ // Still on old model
+ sendEvents();
+
+ // Different minor version, compatible
+ final AxPolicyModel coPolicyModel0 = new AxPolicyModel(apexSamplePolicyModel);
+ coPolicyModel0.getKey().setVersion("0.1.0");
+ service.updateModel(parameters.getEngineKey(), coPolicyModel0, false);
+
+ // On new compatible model
+ sendEvents();
+
+ // Different patch version, compatible
+ final AxPolicyModel coPolicyModel1 = new AxPolicyModel(apexSamplePolicyModel);
+ coPolicyModel1.getKey().setVersion("0.0.2");
+ service.updateModel(parameters.getEngineKey(), coPolicyModel1, false);
+
+ // On new compatible model
+ sendEvents();
+
+ }
+
+ /**
+ * Test incompatible model update with a model object with force.
+ *
+ * @throws ApexException if there is an error
+ */
+ @Test
+ public void testModelUpdateIncoForce() throws ApexException {
+ service.updateModel(parameters.getEngineKey(), apexSamplePolicyModel, false);
+ service.startAll();
+ assertEquals(apexSamplePolicyModel.getKey(), ModelService.getModel(AxPolicyModel.class).getKey());
+
+ // Different model name, incompatible
+ final AxPolicyModel incoPolicyModel0 = new AxPolicyModel(apexSamplePolicyModel);
+ incoPolicyModel0.getKey().setName("INCOMPATIBLE");
+ service.updateModel(parameters.getEngineKey(), incoPolicyModel0, true);
+
+ // On updated model
+ sendEvents();
+
+ // Different major version, incompatible
+ final AxPolicyModel incoPolicyModel1 = new AxPolicyModel(apexSamplePolicyModel);
+ incoPolicyModel1.getKey().setVersion("1.0.1");
+ service.updateModel(parameters.getEngineKey(), incoPolicyModel1, true);
+
+ // On updated model
+ sendEvents();
+
+ // Different minor version, compatible
+ final AxPolicyModel coPolicyModel0 = new AxPolicyModel(apexSamplePolicyModel);
+ coPolicyModel0.getKey().setVersion("0.1.0");
+ service.updateModel(parameters.getEngineKey(), coPolicyModel0, true);
+
+ // On new compatible model
+ sendEvents();
+
+ // Different patch version, compatible
+ final AxPolicyModel coPolicyModel1 = new AxPolicyModel(apexSamplePolicyModel);
+ coPolicyModel1.getKey().setVersion("0.0.2");
+ service.updateModel(parameters.getEngineKey(), coPolicyModel1, true);
+
+ // On new compatible model
+ sendEvents();
+
+ }
+
+ /**
+ * Utility method to send some events into the test engine.
+ *
+ * @throws ApexEventException if there is an error
+ */
+ private void sendEvents() throws ApexEventException {
+ final EngineServiceEventInterface engineServiceEventInterface = service.getEngineServiceEventInterface();
+
+ // Send some events
+ final Date testStartTime = new Date();
+ final Map<String, Object> eventDataMap = new HashMap<String, Object>();
+ eventDataMap.put("TestSlogan", "This is a test slogan");
+ eventDataMap.put("TestMatchCase", (byte) 123);
+ eventDataMap.put("TestTimestamp", testStartTime.getTime());
+ eventDataMap.put("TestTemperature", 34.5445667);
+
+ final ApexEvent event =
+ new ApexEvent("Event0000", "0.0.1", "org.onap.policy.apex.domains.sample.events", "test", "apex");
+ event.putAll(eventDataMap);
+ engineServiceEventInterface.sendEvent(event);
+
+ final ApexEvent event2 =
+ new ApexEvent("Event0100", "0.0.1", "org.onap.policy.apex.domains.sample.events", "test", "apex");
+ event2.putAll(eventDataMap);
+ engineServiceEventInterface.sendEvent(event2);
+
+ // Wait for results
+ while (actionEventsReceived < 2) {
+ ThreadUtilities.sleep(100);
+ }
+ ThreadUtilities.sleep(500);
+ }
+
+ /**
+ * The listener interface for receiving test events. The class that is interested in processing
+ * a test event implements this interface, and the object created with that class is registered
+ * with a component using the component's <code>addTestListener</code> method. When the test
+ * event occurs, that object's appropriate method is invoked.
+ *
+ * @see TestEvent
+ */
+ private final class TestListener implements ApexEventListener {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.onap.policy.apex.service.engine.runtime.ApexEventListener#onApexEvent(org.onap.policy
+ * .apex.service.engine.event.ApexEvent)
+ */
+ @Override
+ public synchronized void onApexEvent(final ApexEvent event) {
+ LOGGER.debug("result 1 is:" + event);
+ checkResult(event);
+ actionEventsReceived++;
+
+ final Date testStartTime = new Date((Long) event.get("TestTimestamp"));
+ final Date testEndTime = new Date();
+
+ LOGGER.info("policy execution time: " + (testEndTime.getTime() - testStartTime.getTime()) + "ms");
+ }
+
+ /**
+ * Check result.
+ *
+ * @param result the result
+ */
+ private void checkResult(final ApexEvent result) {
+ assertTrue(result.getName().startsWith("Event0004") || result.getName().startsWith("Event0104"));
+
+ assertTrue(result.get("TestSlogan").equals("This is a test slogan"));
+ assertTrue(result.get("TestMatchCase").equals(new Byte((byte) 123)));
+ assertTrue(result.get("TestTemperature").equals(34.5445667));
+ assertTrue(((byte) result.get("TestMatchCaseSelected")) >= 0
+ && ((byte) result.get("TestMatchCaseSelected") <= 3));
+ assertTrue(((byte) result.get("TestEstablishCaseSelected")) >= 0
+ && ((byte) result.get("TestEstablishCaseSelected") <= 3));
+ assertTrue(((byte) result.get("TestDecideCaseSelected")) >= 0
+ && ((byte) result.get("TestDecideCaseSelected") <= 3));
+ assertTrue(
+ ((byte) result.get("TestActCaseSelected")) >= 0 && ((byte) result.get("TestActCaseSelected") <= 3));
+ }
+ }
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/service/engine/runtime/ApexServiceTest.java b/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/service/engine/runtime/ApexServiceTest.java
new file mode 100644
index 0000000..c5617e1
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/service/engine/runtime/ApexServiceTest.java
@@ -0,0 +1,474 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2016-2018 Ericsson. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.apex.service.engine.runtime;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.onap.policy.apex.core.infrastructure.threading.ThreadUtilities;
+import org.onap.policy.apex.model.basicmodel.concepts.ApexException;
+import org.onap.policy.apex.model.basicmodel.concepts.AxArtifactKey;
+import org.onap.policy.apex.model.policymodel.concepts.AxPolicyModel;
+import org.onap.policy.apex.plugins.executor.mvel.MVELExecutorParameters;
+import org.onap.policy.apex.service.engine.event.ApexEvent;
+import org.onap.policy.apex.service.engine.runtime.impl.EngineServiceImpl;
+import org.onap.policy.apex.service.engine.utils.Utils;
+import org.onap.policy.apex.service.parameters.engineservice.EngineServiceParameters;
+import org.onap.policy.apex.test.common.model.SampleDomainModelFactory;
+import org.slf4j.ext.XLogger;
+import org.slf4j.ext.XLoggerFactory;
+
+/**
+ * The Class ApexServiceTest.
+ *
+ * @author Liam Fallon (liam.fallon@ericsson.com)
+ */
+public class ApexServiceTest {
+ // Logger for this class
+ private static final XLogger LOGGER = XLoggerFactory.getXLogger(ApexServiceTest.class);
+
+ private static final long MAX_STOP_WAIT = 5000; // 5 sec
+ private static final long MAX_START_WAIT = 5000; // 5 sec
+ private static final long MAX_RECV_WAIT = 5000; // 5 sec
+
+ private final static AxArtifactKey engineServiceKey = new AxArtifactKey("Machine-1_process-1_engine-1", "0.0.0");
+ private final static EngineServiceParameters parameters = new EngineServiceParameters();
+ private static EngineService service = null;
+ private static TestListener listener = null;
+ private static AxPolicyModel apexPolicyModel = null;
+ private static int actionEventsReceived = 0;
+
+ private static String apexModelString;
+
+ private boolean waitFlag = true;
+
+ /**
+ * Sets the up.
+ *
+ * @throws Exception the exception
+ */
+ @BeforeClass
+ public static void setUp() throws Exception {
+ // create engine with 3 threads
+ parameters.setInstanceCount(3);
+ parameters.setName(engineServiceKey.getName());
+ parameters.setVersion(engineServiceKey.getVersion());
+ parameters.setId(100);
+ parameters.getEngineParameters().getExecutorParameterMap().put("MVEL", new MVELExecutorParameters());
+ service = EngineServiceImpl.create(parameters);
+
+
+ LOGGER.debug("Running TestApexEngine. . .");
+
+ apexPolicyModel = new SampleDomainModelFactory().getSamplePolicyModel("MVEL");
+ assertNotNull(apexPolicyModel);
+
+ apexModelString = Utils.getModelString(apexPolicyModel);
+
+ // create engine
+ listener = new TestListener();
+ service.registerActionListener("Listener", listener);
+ }
+
+ /**
+ * Update the engine then test the engine with 2 sample events.
+ *
+ * @throws ApexException if there is a problem
+ */
+ @Test
+ public void testExecutionSet1() throws ApexException {
+ service.updateModel(parameters.getEngineKey(), apexModelString, true);
+ // Start the service
+ service.startAll();
+ final long starttime = System.currentTimeMillis();
+ for (final AxArtifactKey engineKey : service.getEngineKeys()) {
+ LOGGER.info("{}", service.getStatus(engineKey));
+ }
+ while (!service.isStarted() && System.currentTimeMillis() - starttime < MAX_START_WAIT) {
+ ThreadUtilities.sleep(200);
+ }
+ if (!service.isStarted()) {
+ fail("Apex Service " + service.getKey() + " failed to start after " + MAX_START_WAIT + " ms");
+ }
+
+ final EngineServiceEventInterface engineServiceEventInterface = service.getEngineServiceEventInterface();
+
+ // Send some events
+ final Date testStartTime = new Date();
+ final Map<String, Object> eventDataMap = new HashMap<String, Object>();
+ eventDataMap.put("TestSlogan", "This is a test slogan");
+ eventDataMap.put("TestMatchCase", (byte) 123);
+ eventDataMap.put("TestTimestamp", testStartTime.getTime());
+ eventDataMap.put("TestTemperature", 34.5445667);
+
+ final ApexEvent event =
+ new ApexEvent("Event0000", "0.0.1", "org.onap.policy.apex.domains.sample.events", "test", "apex");
+ event.setExecutionID(System.nanoTime());
+ event.putAll(eventDataMap);
+ engineServiceEventInterface.sendEvent(event);
+
+ final ApexEvent event2 =
+ new ApexEvent("Event0100", "0.0.1", "org.onap.policy.apex.domains.sample.events", "test", "apex");
+ event2.setExecutionID(System.nanoTime());
+ event2.putAll(eventDataMap);
+ engineServiceEventInterface.sendEvent(event2);
+
+ // Wait for results
+ final long recvtime = System.currentTimeMillis();
+ while (actionEventsReceived < 2 && System.currentTimeMillis() - recvtime < MAX_RECV_WAIT) {
+ ThreadUtilities.sleep(100);
+ }
+ ThreadUtilities.sleep(500);
+ assertEquals(2, actionEventsReceived);
+ actionEventsReceived = 0;
+
+
+ // Stop all engines on this engine service
+ final long stoptime = System.currentTimeMillis();
+ service.stop();
+ while (!service.isStopped() && System.currentTimeMillis() - stoptime < MAX_STOP_WAIT) {
+ ThreadUtilities.sleep(200);
+ }
+ if (!service.isStopped()) {
+ fail("Apex Service " + service.getKey() + " failed to stop after " + MAX_STOP_WAIT + " ms");
+ }
+ }
+
+ /**
+ * Update the engine then test the engine with 2 sample events.
+ *
+ * @throws ApexException if there is a problem
+ */
+ @Test
+ public void testExecutionSet1Sync() throws ApexException {
+ service.updateModel(parameters.getEngineKey(), apexModelString, true);
+ // Start the service
+ service.startAll();
+ final long starttime = System.currentTimeMillis();
+ for (final AxArtifactKey engineKey : service.getEngineKeys()) {
+ LOGGER.info("{}", service.getStatus(engineKey));
+ }
+ while (!service.isStarted() && System.currentTimeMillis() - starttime < MAX_START_WAIT) {
+ ThreadUtilities.sleep(200);
+ }
+ if (!service.isStarted()) {
+ fail("Apex Service " + service.getKey() + " failed to start after " + MAX_START_WAIT + " ms");
+ }
+
+ // Send some events
+ final Date testStartTime = new Date();
+ final Map<String, Object> eventDataMap = new HashMap<String, Object>();
+ eventDataMap.put("TestSlogan", "This is a test slogan");
+ eventDataMap.put("TestMatchCase", (byte) 123);
+ eventDataMap.put("TestTimestamp", testStartTime.getTime());
+ eventDataMap.put("TestTemperature", 34.5445667);
+
+ final ApexEvent event1 =
+ new ApexEvent("Event0000", "0.0.1", "org.onap.policy.apex.domains.sample.events", "test", "apex");
+ event1.putAll(eventDataMap);
+ event1.setExecutionID(System.nanoTime());
+
+ final ApexEventListener myEventListener1 = new ApexEventListener() {
+ @Override
+ public void onApexEvent(final ApexEvent responseEvent) {
+ assertNotNull("Synchronous sendEventWait failed", responseEvent);
+ assertEquals(event1.getExecutionID(), responseEvent.getExecutionID());
+ waitFlag = false;
+ }
+ };
+
+ waitFlag = true;
+ service.registerActionListener("Listener1", myEventListener1);
+ service.getEngineServiceEventInterface().sendEvent(event1);
+
+ while (waitFlag) {
+ ThreadUtilities.sleep(100);
+ }
+
+ final ApexEvent event2 =
+ new ApexEvent("Event0100", "0.0.1", "org.onap.policy.apex.domains.sample.events", "test", "apex");
+ event2.setExecutionID(System.nanoTime());
+ event2.putAll(eventDataMap);
+
+ final ApexEventListener myEventListener2 = new ApexEventListener() {
+ @Override
+ public void onApexEvent(final ApexEvent responseEvent) {
+ assertNotNull("Synchronous sendEventWait failed", responseEvent);
+ assertEquals(event2.getExecutionID(), responseEvent.getExecutionID());
+ assertEquals(2, actionEventsReceived);
+ waitFlag = false;
+ }
+ };
+
+ waitFlag = true;
+ service.deregisterActionListener("Listener1");
+ service.registerActionListener("Listener2", myEventListener2);
+ service.getEngineServiceEventInterface().sendEvent(event2);
+
+ while (waitFlag) {
+ ThreadUtilities.sleep(100);
+ }
+ service.deregisterActionListener("Listener2");
+
+ actionEventsReceived = 0;
+
+ // Stop all engines on this engine service
+ final long stoptime = System.currentTimeMillis();
+ service.stop();
+ while (!service.isStopped() && System.currentTimeMillis() - stoptime < MAX_STOP_WAIT) {
+ ThreadUtilities.sleep(200);
+ }
+ if (!service.isStopped()) {
+ fail("Apex Service " + service.getKey() + " failed to stop after " + MAX_STOP_WAIT + " ms");
+ }
+ }
+
+ /**
+ * Update the engine then test the engine with 2 sample events - again.
+ *
+ * @throws ApexException if there is a problem
+ */
+ @Test
+ public void testExecutionSet2() throws ApexException {
+ service.updateModel(parameters.getEngineKey(), apexModelString, true);
+ // Start the service
+ service.startAll();
+ final long starttime = System.currentTimeMillis();
+ for (final AxArtifactKey engineKey : service.getEngineKeys()) {
+ LOGGER.info("{}", service.getStatus(engineKey));
+ }
+ while (!service.isStarted() && System.currentTimeMillis() - starttime < MAX_START_WAIT) {
+ ThreadUtilities.sleep(200);
+ }
+ if (!service.isStarted()) {
+ fail("Apex Service " + service.getKey() + " failed to start after " + MAX_START_WAIT + " ms");
+ }
+
+ final EngineServiceEventInterface engineServiceEventInterface = service.getEngineServiceEventInterface();
+
+ // Send some events
+ final Date testStartTime = new Date();
+ final Map<String, Object> eventDataMap = new HashMap<String, Object>();
+ eventDataMap.put("TestSlogan", "This is a test slogan");
+ eventDataMap.put("TestMatchCase", (byte) 123);
+ eventDataMap.put("TestTimestamp", testStartTime.getTime());
+ eventDataMap.put("TestTemperature", 34.5445667);
+
+ final ApexEvent event =
+ new ApexEvent("Event0000", "0.0.1", "org.onap.policy.apex.domains.sample.events", "test", "apex");
+ event.setExecutionID(System.nanoTime());
+ event.putAll(eventDataMap);
+ engineServiceEventInterface.sendEvent(event);
+
+ final ApexEvent event2 =
+ new ApexEvent("Event0100", "0.0.1", "org.onap.policy.apex.domains.sample.events", "test", "apex");
+ event2.setExecutionID(System.nanoTime());
+ event2.putAll(eventDataMap);
+ engineServiceEventInterface.sendEvent(event2);
+
+ // Wait for results
+ final long recvtime = System.currentTimeMillis();
+ while (actionEventsReceived < 2 && System.currentTimeMillis() - recvtime < MAX_RECV_WAIT) {
+ ThreadUtilities.sleep(100);
+ }
+ ThreadUtilities.sleep(500);
+ assertEquals(2, actionEventsReceived);
+ actionEventsReceived = 0;
+
+ // Stop all engines on this engine service
+ final long stoptime = System.currentTimeMillis();
+ service.stop();
+ while (!service.isStopped() && System.currentTimeMillis() - stoptime < MAX_STOP_WAIT) {
+ ThreadUtilities.sleep(200);
+ }
+ if (!service.isStopped()) {
+ fail("Apex Service " + service.getKey() + " failed to stop after " + MAX_STOP_WAIT + " ms");
+ }
+ }
+
+ /**
+ * Update the engine then test the engine with 2 sample events - again.
+ *
+ * @throws ApexException if there is a problem
+ */
+ @Test
+ public void testExecutionSet2Sync() throws ApexException {
+ service.updateModel(parameters.getEngineKey(), apexModelString, true);
+ // Start the service
+ service.startAll();
+ final long starttime = System.currentTimeMillis();
+ for (final AxArtifactKey engineKey : service.getEngineKeys()) {
+ LOGGER.info("{}", service.getStatus(engineKey));
+ }
+ while (!service.isStarted() && System.currentTimeMillis() - starttime < MAX_START_WAIT) {
+ ThreadUtilities.sleep(200);
+ }
+ if (!service.isStarted()) {
+ fail("Apex Service " + service.getKey() + " failed to start after " + MAX_START_WAIT + " ms");
+ }
+
+ // Send some events
+ final Date testStartTime = new Date();
+ final Map<String, Object> eventDataMap = new HashMap<String, Object>();
+ eventDataMap.put("TestSlogan", "This is a test slogan");
+ eventDataMap.put("TestMatchCase", (byte) 123);
+ eventDataMap.put("TestTimestamp", testStartTime.getTime());
+ eventDataMap.put("TestTemperature", 34.5445667);
+
+ final ApexEvent event1 =
+ new ApexEvent("Event0000", "0.0.1", "org.onap.policy.apex.domains.sample.events", "test", "apex");
+ event1.putAll(eventDataMap);
+
+ final ApexEventListener myEventListener1 = new ApexEventListener() {
+ @Override
+ public void onApexEvent(final ApexEvent responseEvent) {
+ assertNotNull("Synchronous sendEventWait failed", responseEvent);
+ assertEquals(event1.getExecutionID(), responseEvent.getExecutionID());
+ waitFlag = false;
+ }
+ };
+
+ waitFlag = true;
+ service.registerActionListener("Listener1", myEventListener1);
+ service.getEngineServiceEventInterface().sendEvent(event1);
+
+ while (waitFlag) {
+ ThreadUtilities.sleep(100);
+ }
+
+ final ApexEvent event2 =
+ new ApexEvent("Event0100", "0.0.1", "org.onap.policy.apex.domains.sample.events", "test", "apex");
+ event2.putAll(eventDataMap);
+
+ final ApexEventListener myEventListener2 = new ApexEventListener() {
+ @Override
+ public void onApexEvent(final ApexEvent responseEvent) {
+ assertNotNull("Synchronous sendEventWait failed", responseEvent);
+ assertEquals(event2.getExecutionID(), responseEvent.getExecutionID());
+ waitFlag = false;
+ }
+ };
+
+ waitFlag = true;
+ service.registerActionListener("Listener2", myEventListener2);
+ service.deregisterActionListener("Listener1");
+ service.getEngineServiceEventInterface().sendEvent(event2);
+
+ while (waitFlag) {
+ ThreadUtilities.sleep(100);
+ }
+
+ service.deregisterActionListener("Listener2");
+
+ assertEquals(2, actionEventsReceived);
+
+ actionEventsReceived = 0;
+
+ // Stop all engines on this engine service
+ final long stoptime = System.currentTimeMillis();
+ service.stop();
+ while (!service.isStopped() && System.currentTimeMillis() - stoptime < MAX_STOP_WAIT) {
+ ThreadUtilities.sleep(200);
+ }
+ if (!service.isStopped()) {
+ fail("Apex Service " + service.getKey() + " failed to stop after " + MAX_STOP_WAIT + " ms");
+ }
+ }
+
+ /**
+ * Tear down the the test infrastructure.
+ *
+ * @throws ApexException if there is an error
+ */
+ @AfterClass
+ public static void tearDown() throws Exception {
+ // Stop all engines on this engine service
+ final long stoptime = System.currentTimeMillis();
+ service.stop();
+ while (!service.isStopped() && System.currentTimeMillis() - stoptime < MAX_STOP_WAIT) {
+ ThreadUtilities.sleep(200);
+ }
+ if (!service.isStopped()) {
+ fail("Apex Service " + service.getKey() + " failed to stop after " + MAX_STOP_WAIT + " ms");
+ }
+ service = null;
+ }
+
+ /**
+ * The listener interface for receiving test events. The class that is interested in processing
+ * a test event implements this interface, and the object created with that class is registered
+ * with a component using the component's <code>addTestListener</code> method. When the test
+ * event occurs, that object's appropriate method is invoked.
+ *
+ * @see TestEvent
+ */
+ private final static class TestListener implements ApexEventListener {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.onap.policy.apex.service.engine.runtime.ApexEventListener#onApexEvent(org.onap.policy
+ * .apex.service.engine.event.ApexEvent)
+ */
+ @Override
+ public synchronized void onApexEvent(final ApexEvent event) {
+ LOGGER.debug("result 1 is:" + event);
+ checkResult(event);
+ actionEventsReceived++;
+
+ final Date testStartTime = new Date((Long) event.get("TestTimestamp"));
+ final Date testEndTime = new Date();
+
+ LOGGER.info("policy execution time: " + (testEndTime.getTime() - testStartTime.getTime()) + "ms");
+ }
+
+ /**
+ * Check result.
+ *
+ * @param result the result
+ */
+ private void checkResult(final ApexEvent result) {
+ assertTrue(result.getName().startsWith("Event0004") || result.getName().startsWith("Event0104"));
+
+ assertTrue(result.get("TestSlogan").equals("This is a test slogan"));
+ assertTrue(result.get("TestMatchCase").equals(new Byte((byte) 123)));
+ assertTrue(result.get("TestTemperature").equals(34.5445667));
+ assertTrue(((byte) result.get("TestMatchCaseSelected")) >= 0
+ && ((byte) result.get("TestMatchCaseSelected") <= 3));
+ assertTrue(((byte) result.get("TestEstablishCaseSelected")) >= 0
+ && ((byte) result.get("TestEstablishCaseSelected") <= 3));
+ assertTrue(((byte) result.get("TestDecideCaseSelected")) >= 0
+ && ((byte) result.get("TestDecideCaseSelected") <= 3));
+ assertTrue(
+ ((byte) result.get("TestActCaseSelected")) >= 0 && ((byte) result.get("TestActCaseSelected") <= 3));
+ }
+ }
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/service/engine/utils/Utils.java b/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/service/engine/utils/Utils.java
new file mode 100644
index 0000000..cfc787d
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/service/engine/utils/Utils.java
@@ -0,0 +1,40 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2018 Ericsson. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+package org.onap.policy.apex.service.engine.utils;
+
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+
+import org.onap.policy.apex.model.basicmodel.handling.ApexModelException;
+import org.onap.policy.apex.model.basicmodel.handling.ApexModelWriter;
+import org.onap.policy.apex.model.policymodel.concepts.AxPolicyModel;
+
+public class Utils {
+
+ private Utils() {}
+
+ public static String getModelString(final AxPolicyModel ecaPolicyModel) throws ApexModelException, IOException {
+ try (final ByteArrayOutputStream baOutputStream = new ByteArrayOutputStream()) {
+ new ApexModelWriter<AxPolicyModel>(AxPolicyModel.class).write(ecaPolicyModel, baOutputStream);
+ return baOutputStream.toString();
+ }
+ }
+
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/test/resources/events/EventsInMulti0.json b/testsuites/performance/performance-benchmark-test/src/test/resources/events/EventsInMulti0.json
new file mode 100644
index 0000000..f0a0a3d
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/test/resources/events/EventsInMulti0.json
@@ -0,0 +1,1100 @@
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869268,
+ "TestTemperature": 8071.559
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869269,
+ "TestTemperature": 517.19727
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869269,
+ "TestTemperature": 9080.866
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869269,
+ "TestTemperature": 4263.7085
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869269,
+ "TestTemperature": 2342.069
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869269,
+ "TestTemperature": 6400.4565
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869269,
+ "TestTemperature": 9495.611
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869269,
+ "TestTemperature": 4872.2935
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869269,
+ "TestTemperature": 8130.8086
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869269,
+ "TestTemperature": 2580.434
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869269,
+ "TestTemperature": 3169.4663
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869269,
+ "TestTemperature": 4517.7646
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869269,
+ "TestTemperature": 9600.465
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869269,
+ "TestTemperature": 8720.648
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869269,
+ "TestTemperature": 1031.3821
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 959.9608
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 1483.7533
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 394.8325
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 59.376953
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 862.1466
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 8557.394
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 6732.3687
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 2,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 7155.3843
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 4896.5264
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 8457.574
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 4085.176
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 4198.338
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 105.033516
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 8219.068
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 8780.495
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 6224.9775
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 4218.1353
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 4719.9116
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 2,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 4592.7275
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 7874.2705
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 2,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 9866.951
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 2,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 7536.962
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 2430.3843
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 2,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 6369.2866
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 7396.739
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 2,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 6187.027
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 2216.0667
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 2,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 4855.6562
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 2,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 5205.6836
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 418.89252
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 2,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 5307.6343
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 7034.2065
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 7784.3804
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 3656.007
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 8538.289
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 2,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 6515.7104
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 4562.0537
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 9030.76
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 9085.617
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 1244.1838
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 9286.382
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 9573.472
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 2,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 9994.268
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 3556.8076
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 1305.1998
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 6063.7573
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 8860.109
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 1599.9061
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 4316.625
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 2753.6135
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 4469.7656
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 4155.1416
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 1627.2205
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 5554.9585
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 5863.8896
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 9095.753
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 2,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 5641.7603
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 6120.2446
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 3478.2087
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 1807.8446
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 8476.179
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 7418.1934
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 2,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 4800.719
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 8741.285
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 2,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 2099.0818
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 138.22377
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 272.6066
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 2604.9036
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 540.5176
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 2,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 1482.7478
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 1053.8315
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 6267.906
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 636.44586
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 902.7964
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 259.42923
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 6066.484
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 2918.8723
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 2,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 6470.262
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 2603.0845
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 4435.378
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 3989.0928
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 7657.731
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 2,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 6677.433
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 9456.176
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 8723.999
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/test/resources/events/EventsInMulti1.json b/testsuites/performance/performance-benchmark-test/src/test/resources/events/EventsInMulti1.json
new file mode 100644
index 0000000..f0a0a3d
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/test/resources/events/EventsInMulti1.json
@@ -0,0 +1,1100 @@
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869268,
+ "TestTemperature": 8071.559
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869269,
+ "TestTemperature": 517.19727
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869269,
+ "TestTemperature": 9080.866
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869269,
+ "TestTemperature": 4263.7085
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869269,
+ "TestTemperature": 2342.069
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869269,
+ "TestTemperature": 6400.4565
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869269,
+ "TestTemperature": 9495.611
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869269,
+ "TestTemperature": 4872.2935
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869269,
+ "TestTemperature": 8130.8086
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869269,
+ "TestTemperature": 2580.434
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869269,
+ "TestTemperature": 3169.4663
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869269,
+ "TestTemperature": 4517.7646
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869269,
+ "TestTemperature": 9600.465
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869269,
+ "TestTemperature": 8720.648
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869269,
+ "TestTemperature": 1031.3821
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 959.9608
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 1483.7533
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 394.8325
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 59.376953
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 862.1466
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 8557.394
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 6732.3687
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 2,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 7155.3843
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 4896.5264
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 8457.574
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 4085.176
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 4198.338
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 105.033516
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 8219.068
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 8780.495
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 6224.9775
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 4218.1353
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 4719.9116
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 2,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 4592.7275
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 7874.2705
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 2,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 9866.951
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 2,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 7536.962
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 2430.3843
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 2,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 6369.2866
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 7396.739
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 2,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 6187.027
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 2216.0667
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 2,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 4855.6562
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 2,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 5205.6836
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 418.89252
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 2,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 5307.6343
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 7034.2065
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 7784.3804
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 3656.007
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 8538.289
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 2,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 6515.7104
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 4562.0537
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 9030.76
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 9085.617
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 1244.1838
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 9286.382
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 9573.472
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 2,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 9994.268
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 3556.8076
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 1305.1998
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 6063.7573
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 8860.109
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 1599.9061
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 4316.625
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 2753.6135
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 4469.7656
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 4155.1416
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 1627.2205
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 5554.9585
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 5863.8896
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 9095.753
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 2,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 5641.7603
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 6120.2446
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 3478.2087
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 1807.8446
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 8476.179
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 7418.1934
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 2,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 4800.719
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 8741.285
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 2,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 2099.0818
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 138.22377
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 272.6066
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 2604.9036
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 540.5176
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 2,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 1482.7478
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 1053.8315
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 6267.906
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 636.44586
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 902.7964
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 259.42923
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 6066.484
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 2918.8723
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 2,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 6470.262
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 2603.0845
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 4435.378
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 3989.0928
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 7657.731
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 2,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 6677.433
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 9456.176
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 8723.999
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/test/resources/events/EventsInMulti2.json b/testsuites/performance/performance-benchmark-test/src/test/resources/events/EventsInMulti2.json
new file mode 100644
index 0000000..f0a0a3d
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/test/resources/events/EventsInMulti2.json
@@ -0,0 +1,1100 @@
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869268,
+ "TestTemperature": 8071.559
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869269,
+ "TestTemperature": 517.19727
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869269,
+ "TestTemperature": 9080.866
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869269,
+ "TestTemperature": 4263.7085
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869269,
+ "TestTemperature": 2342.069
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869269,
+ "TestTemperature": 6400.4565
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869269,
+ "TestTemperature": 9495.611
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869269,
+ "TestTemperature": 4872.2935
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869269,
+ "TestTemperature": 8130.8086
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869269,
+ "TestTemperature": 2580.434
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869269,
+ "TestTemperature": 3169.4663
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869269,
+ "TestTemperature": 4517.7646
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869269,
+ "TestTemperature": 9600.465
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869269,
+ "TestTemperature": 8720.648
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869269,
+ "TestTemperature": 1031.3821
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 959.9608
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 1483.7533
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 394.8325
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 59.376953
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 862.1466
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 8557.394
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 6732.3687
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 2,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 7155.3843
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 4896.5264
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 8457.574
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 4085.176
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 4198.338
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 105.033516
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 8219.068
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 8780.495
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 6224.9775
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 4218.1353
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 4719.9116
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 2,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 4592.7275
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 7874.2705
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 2,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 9866.951
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 2,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 7536.962
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 2430.3843
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 2,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 6369.2866
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 7396.739
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 2,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 6187.027
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 2216.0667
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 2,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 4855.6562
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 2,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 5205.6836
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 418.89252
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 2,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 5307.6343
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 7034.2065
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 7784.3804
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 3656.007
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 8538.289
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 2,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 6515.7104
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 4562.0537
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 9030.76
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 9085.617
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 1244.1838
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 9286.382
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 9573.472
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 2,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 9994.268
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 3556.8076
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 1305.1998
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 6063.7573
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 8860.109
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 1599.9061
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 4316.625
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 2753.6135
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 4469.7656
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 4155.1416
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 1627.2205
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 5554.9585
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 5863.8896
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 9095.753
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 2,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 5641.7603
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 6120.2446
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 3478.2087
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 1807.8446
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 8476.179
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 7418.1934
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 2,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 4800.719
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 8741.285
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 2,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 2099.0818
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 138.22377
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 272.6066
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 2604.9036
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 540.5176
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 2,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 1482.7478
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 1053.8315
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 6267.906
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 636.44586
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 902.7964
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 259.42923
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 6066.484
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 2918.8723
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 2,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 6470.262
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 2603.0845
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 4435.378
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 3989.0928
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 7657.731
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 2,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 6677.433
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 9456.176
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 8723.999
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/test/resources/events/EventsInSingle.json b/testsuites/performance/performance-benchmark-test/src/test/resources/events/EventsInSingle.json
new file mode 100644
index 0000000..f0a0a3d
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/test/resources/events/EventsInSingle.json
@@ -0,0 +1,1100 @@
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869268,
+ "TestTemperature": 8071.559
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869269,
+ "TestTemperature": 517.19727
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869269,
+ "TestTemperature": 9080.866
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869269,
+ "TestTemperature": 4263.7085
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869269,
+ "TestTemperature": 2342.069
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869269,
+ "TestTemperature": 6400.4565
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869269,
+ "TestTemperature": 9495.611
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869269,
+ "TestTemperature": 4872.2935
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869269,
+ "TestTemperature": 8130.8086
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869269,
+ "TestTemperature": 2580.434
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869269,
+ "TestTemperature": 3169.4663
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869269,
+ "TestTemperature": 4517.7646
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869269,
+ "TestTemperature": 9600.465
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869269,
+ "TestTemperature": 8720.648
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869269,
+ "TestTemperature": 1031.3821
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 959.9608
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 1483.7533
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 394.8325
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 59.376953
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 862.1466
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 8557.394
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 6732.3687
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 2,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 7155.3843
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 4896.5264
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 8457.574
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 4085.176
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 4198.338
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 105.033516
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 8219.068
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 8780.495
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 6224.9775
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 4218.1353
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 4719.9116
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 2,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 4592.7275
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 7874.2705
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 2,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 9866.951
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 2,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 7536.962
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 2430.3843
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 2,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 6369.2866
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 7396.739
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 2,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 6187.027
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 2216.0667
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 2,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 4855.6562
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 2,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 5205.6836
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 418.89252
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 2,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 5307.6343
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 7034.2065
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 7784.3804
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 3656.007
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 8538.289
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 2,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 6515.7104
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 4562.0537
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 9030.76
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 9085.617
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 1244.1838
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 9286.382
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 9573.472
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 2,
+ "TestTimestamp": 1469781869270,
+ "TestTemperature": 9994.268
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 3556.8076
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 1305.1998
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 6063.7573
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 8860.109
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 1599.9061
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 4316.625
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 2753.6135
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 4469.7656
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 4155.1416
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 1627.2205
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 5554.9585
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 5863.8896
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 9095.753
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 2,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 5641.7603
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 6120.2446
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 3478.2087
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 1807.8446
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 8476.179
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 7418.1934
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 2,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 4800.719
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 8741.285
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 2,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 2099.0818
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 138.22377
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 272.6066
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 1,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 2604.9036
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 540.5176
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 2,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 1482.7478
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 1053.8315
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 6267.906
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 636.44586
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 902.7964
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 259.42923
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 6066.484
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 2918.8723
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 2,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 6470.262
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 2603.0845
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 4435.378
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 3989.0928
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 7657.731
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 2,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 6677.433
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0100",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event1",
+ "TestMatchCase": 0,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 9456.176
+}
+{
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "name": "Event0000",
+ "version": "0.0.1",
+ "source": "test",
+ "target": "apex",
+ "TestSlogan": "Test slogan for External Event0",
+ "TestMatchCase": 3,
+ "TestTimestamp": 1469781869271,
+ "TestTemperature": 8723.999
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/test/resources/logback-test.xml b/testsuites/performance/performance-benchmark-test/src/test/resources/logback-test.xml
new file mode 100644
index 0000000..52f0e74
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/test/resources/logback-test.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ============LICENSE_START=======================================================
+ Copyright (C) 2016-2018 Ericsson. All rights reserved.
+ ================================================================================
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+ SPDX-License-Identifier: Apache-2.0
+ ============LICENSE_END=========================================================
+-->
+
+<configuration>
+
+ <contextName>Apex</contextName>
+ <statusListener class="ch.qos.logback.core.status.OnConsoleStatusListener" />
+ <property name="LOG_DIR" value="${java.io.tmpdir}/apex_logging/" />
+
+ <!-- USE FOR STD OUT ONLY -->
+ <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+ <encoder>
+ <Pattern>%d %contextName [%t] %level %logger{36} - %msg%n</Pattern>
+ </encoder>
+ </appender>
+
+ <root level="info">
+ <appender-ref ref="STDOUT" />
+ </root>
+
+ <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${LOG_DIR}/apex.log</file>
+ <encoder>
+ <pattern>%d %-5relative [procId=${processId}] [%thread] %-5level
+ %logger{26} - %msg %n %ex{full}</pattern>
+ </encoder>
+ </appender>
+
+ <logger name="org.onap.policy.apex" level="info" additivity="false">
+ <appender-ref ref="STDOUT" />
+ </logger>
+</configuration>
diff --git a/testsuites/performance/performance-benchmark-test/src/test/resources/parameters/File2FileJsonEventAsyncMIMO.json b/testsuites/performance/performance-benchmark-test/src/test/resources/parameters/File2FileJsonEventAsyncMIMO.json
new file mode 100644
index 0000000..05ef173
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/test/resources/parameters/File2FileJsonEventAsyncMIMO.json
@@ -0,0 +1,87 @@
+{
+ "engineServiceParameters": {
+ "name": "MyApexEngine",
+ "version": "0.0.1",
+ "id": 45,
+ "instanceCount": 4,
+ "deploymentPort": 12545,
+ "policyModelFileName": "src/test/resources/policymodels/SamplePolicyModelMVEL.json",
+ "engineParameters": {
+ "executorParameters": {
+ "MVEL": {
+ "parameterClassName": "org.onap.policy.apex.plugins.executor.mvel.MVELExecutorParameters"
+ }
+ }
+ }
+ },
+ "eventInputParameters": {
+ "aConsumer0": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "FILE",
+ "parameters": {
+ "fileName": "src/test/resources/events/EventsInMulti0.json"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ },
+ "aConsumer1": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "FILE",
+ "parameters": {
+ "fileName": "src/test/resources/events/EventsInMulti1.json"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ },
+ "aConsumer2": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "FILE",
+ "parameters": {
+ "fileName": "src/test/resources/events/EventsInMulti2.json"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ },
+ "eventOutputParameters": {
+ "aProducer0": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "FILE",
+ "parameters": {
+ "fileName": "src/test/resources/events/EventsOutMulti0.json"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ },
+ "aProducer1": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "FILE",
+ "parameters": {
+ "fileName": "src/test/resources/events/EventsOutMulti1.json"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ },
+ "aProducer2": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "FILE",
+ "parameters": {
+ "fileName": "src/test/resources/events/EventsOutMulti2.json"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ }
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/test/resources/parameters/File2FileJsonEventAsyncMISO.json b/testsuites/performance/performance-benchmark-test/src/test/resources/parameters/File2FileJsonEventAsyncMISO.json
new file mode 100644
index 0000000..38c949a
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/test/resources/parameters/File2FileJsonEventAsyncMISO.json
@@ -0,0 +1,65 @@
+{
+ "engineServiceParameters": {
+ "name": "MyApexEngine",
+ "version": "0.0.1",
+ "id": 45,
+ "instanceCount": 4,
+ "deploymentPort": 12545,
+ "policyModelFileName": "src/test/resources/policymodels/SamplePolicyModelMVEL.json",
+ "engineParameters": {
+ "executorParameters": {
+ "MVEL": {
+ "parameterClassName": "org.onap.policy.apex.plugins.executor.mvel.MVELExecutorParameters"
+ }
+ }
+ }
+ },
+ "eventInputParameters": {
+ "aConsumer0": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "FILE",
+ "parameters": {
+ "fileName": "src/test/resources/events/EventsInMulti0.json"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ },
+ "aConsumer1": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "FILE",
+ "parameters": {
+ "fileName": "src/test/resources/events/EventsInMulti1.json"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ },
+ "aConsumer2": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "FILE",
+ "parameters": {
+ "fileName": "src/test/resources/events/EventsInMulti2.json"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ },
+ "eventOutputParameters": {
+ "aProducer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "FILE",
+ "parameters": {
+ "fileName": "src/test/resources/events/EventsOutSingle.json"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ }
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/test/resources/parameters/File2FileJsonEventAsyncSIMO.json b/testsuites/performance/performance-benchmark-test/src/test/resources/parameters/File2FileJsonEventAsyncSIMO.json
new file mode 100644
index 0000000..71cc261
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/test/resources/parameters/File2FileJsonEventAsyncSIMO.json
@@ -0,0 +1,65 @@
+{
+ "engineServiceParameters": {
+ "name": "MyApexEngine",
+ "version": "0.0.1",
+ "id": 45,
+ "instanceCount": 4,
+ "deploymentPort": 12545,
+ "policyModelFileName": "src/test/resources/policymodels/SamplePolicyModelMVEL.json",
+ "engineParameters": {
+ "executorParameters": {
+ "MVEL": {
+ "parameterClassName": "org.onap.policy.apex.plugins.executor.mvel.MVELExecutorParameters"
+ }
+ }
+ }
+ },
+ "eventInputParameters": {
+ "aConsumer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "FILE",
+ "parameters": {
+ "fileName": "src/test/resources/events/EventsInSingle.json"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ },
+ "eventOutputParameters": {
+ "aProducer0": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "FILE",
+ "parameters": {
+ "fileName": "src/test/resources/events/EventsOutMulti0.json"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ },
+ "aProducer1": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "FILE",
+ "parameters": {
+ "fileName": "src/test/resources/events/EventsOutMulti1.json"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ },
+ "aProducer2": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "FILE",
+ "parameters": {
+ "fileName": "src/test/resources/events/EventsOutMulti2.json"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ }
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/test/resources/parameters/File2FileJsonEventAsyncSISO.json b/testsuites/performance/performance-benchmark-test/src/test/resources/parameters/File2FileJsonEventAsyncSISO.json
new file mode 100644
index 0000000..f12baad
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/test/resources/parameters/File2FileJsonEventAsyncSISO.json
@@ -0,0 +1,43 @@
+{
+ "engineServiceParameters": {
+ "name": "MyApexEngine",
+ "version": "0.0.1",
+ "id": 45,
+ "instanceCount": 4,
+ "deploymentPort": 12545,
+ "policyModelFileName": "src/test/resources/policymodels/SamplePolicyModelMVEL.json",
+ "engineParameters": {
+ "executorParameters": {
+ "MVEL": {
+ "parameterClassName": "org.onap.policy.apex.plugins.executor.mvel.MVELExecutorParameters"
+ }
+ }
+ }
+ },
+ "eventOutputParameters": {
+ "aProducer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "FILE",
+ "parameters": {
+ "fileName": "src/test/resources/events/EventsOutSingle.json"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ },
+ "eventInputParameters": {
+ "aConsumer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "FILE",
+ "parameters": {
+ "fileName": "src/test/resources/events/EventsInSingle.json"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ }
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/test/resources/parameters/File2FileJsonEventSyncMIMO.json b/testsuites/performance/performance-benchmark-test/src/test/resources/parameters/File2FileJsonEventSyncMIMO.json
new file mode 100644
index 0000000..8f53a3c
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/test/resources/parameters/File2FileJsonEventSyncMIMO.json
@@ -0,0 +1,105 @@
+{
+ "engineServiceParameters": {
+ "name": "MyApexEngine",
+ "version": "0.0.1",
+ "id": 45,
+ "instanceCount": 4,
+ "deploymentPort": 12545,
+ "policyModelFileName": "src/test/resources/policymodels/SamplePolicyModelMVEL.json",
+ "engineParameters": {
+ "executorParameters": {
+ "MVEL": {
+ "parameterClassName": "org.onap.policy.apex.plugins.executor.mvel.MVELExecutorParameters"
+ }
+ }
+ }
+ },
+ "eventInputParameters": {
+ "aConsumer0": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "FILE",
+ "parameters": {
+ "fileName": "src/test/resources/events/EventsInMulti0.json"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ },
+ "synchronousMode": true,
+ "synchronousPeer": "aProducer0",
+ "synchronousTimeout": 1000
+ },
+ "aConsumer1": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "FILE",
+ "parameters": {
+ "fileName": "src/test/resources/events/EventsInMulti1.json"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ },
+ "synchronousMode": true,
+ "synchronousPeer": "aProducer1",
+ "synchronousTimeout": 1000
+ },
+ "aConsumer2": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "FILE",
+ "parameters": {
+ "fileName": "src/test/resources/events/EventsInMulti2.json"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ },
+ "synchronousMode": true,
+ "synchronousPeer": "aProducer2",
+ "synchronousTimeout": 1000
+ }
+ },
+ "eventOutputParameters": {
+ "aProducer0": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "FILE",
+ "parameters": {
+ "fileName": "src/test/resources/events/EventsOutMulti0.json"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ },
+ "synchronousMode": true,
+ "synchronousPeer": "aConsumer0",
+ "synchronousTimeout": 1000
+ },
+ "aProducer1": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "FILE",
+ "parameters": {
+ "fileName": "src/test/resources/events/EventsOutMulti1.json"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ },
+ "synchronousMode": true,
+ "synchronousPeer": "aConsumer1",
+ "synchronousTimeout": 1000
+ },
+ "aProducer2": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "FILE",
+ "parameters": {
+ "fileName": "src/test/resources/events/EventsOutMulti2.json"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ },
+ "synchronousMode": true,
+ "synchronousPeer": "aConsumer2",
+ "synchronousTimeout": 1000
+ }
+ }
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/test/resources/parameters/File2FileJsonEventSyncSISO.json b/testsuites/performance/performance-benchmark-test/src/test/resources/parameters/File2FileJsonEventSyncSISO.json
new file mode 100644
index 0000000..a7df667
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/test/resources/parameters/File2FileJsonEventSyncSISO.json
@@ -0,0 +1,49 @@
+{
+ "engineServiceParameters": {
+ "name": "MyApexEngine",
+ "version": "0.0.1",
+ "id": 45,
+ "instanceCount": 4,
+ "deploymentPort": 12545,
+ "policyModelFileName": "src/test/resources/policymodels/SamplePolicyModelMVEL.json",
+ "engineParameters": {
+ "executorParameters": {
+ "MVEL": {
+ "parameterClassName": "org.onap.policy.apex.plugins.executor.mvel.MVELExecutorParameters"
+ }
+ }
+ }
+ },
+ "eventOutputParameters": {
+ "SyncProducer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "FILE",
+ "parameters": {
+ "fileName": "src/test/resources/events/EventsOutSingle.json"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ },
+ "synchronousMode": true,
+ "synchronousPeer": "SyncConsumer",
+ "synchronousTimeout": 1000
+ }
+ },
+ "eventInputParameters": {
+ "SyncConsumer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "FILE",
+ "parameters": {
+ "fileName": "src/test/resources/events/EventsInSingle.json"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ },
+ "synchronousMode": true,
+ "synchronousPeer": "SyncProducer",
+ "synchronousTimeout": 1000
+ }
+ }
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/test/resources/policymodels/SamplePolicyModelMVEL.json b/testsuites/performance/performance-benchmark-test/src/test/resources/policymodels/SamplePolicyModelMVEL.json
new file mode 100644
index 0000000..95ea511
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/test/resources/policymodels/SamplePolicyModelMVEL.json
@@ -0,0 +1,7372 @@
+{
+ "apexPolicyModel": {
+ "key": {
+ "name": "SamplePolicyModelMVEL",
+ "version": "0.0.1"
+ },
+ "keyInformation": {
+ "key": {
+ "name": "KeyInformation",
+ "version": "0.0.1"
+ },
+ "keyInfoMap": {
+ "entry": [
+ {
+ "key": {
+ "name": "Context",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "Context",
+ "version": "0.0.1"
+ },
+ "UUID": "ca36bfd8-6042-3633-8c85-89c66507c3bf",
+ "description": "Generated description for concept referred to by key \"Context:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "Event0000",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "Event0000",
+ "version": "0.0.1"
+ },
+ "UUID": "465a81cc-885f-3a4d-bc4e-1508da92b236",
+ "description": "Generated description for concept referred to by key \"Event0000:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "Event0001",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "Event0001",
+ "version": "0.0.1"
+ },
+ "UUID": "36b2d570-fff7-3a4b-bab2-6bf492f5129a",
+ "description": "Generated description for concept referred to by key \"Event0001:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "Event0002",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "Event0002",
+ "version": "0.0.1"
+ },
+ "UUID": "ff6160a7-fb5e-379c-a6d2-2cd28053eacf",
+ "description": "Generated description for concept referred to by key \"Event0002:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "Event0003",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "Event0003",
+ "version": "0.0.1"
+ },
+ "UUID": "5899e216-2abf-3781-abc4-2c257b92721e",
+ "description": "Generated description for concept referred to by key \"Event0003:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "Event0004",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "Event0004",
+ "version": "0.0.1"
+ },
+ "UUID": "7c2692a7-4587-3d09-abf9-d96b339a316f",
+ "description": "Generated description for concept referred to by key \"Event0004:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "Event0100",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "Event0100",
+ "version": "0.0.1"
+ },
+ "UUID": "b696048c-c0b0-34c1-8dbe-32ab6c8bc0c7",
+ "description": "Generated description for concept referred to by key \"Event0100:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "Event0101",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "Event0101",
+ "version": "0.0.1"
+ },
+ "UUID": "edbfa868-2ab2-30fd-8078-4c7f67ca6122",
+ "description": "Generated description for concept referred to by key \"Event0101:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "Event0102",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "Event0102",
+ "version": "0.0.1"
+ },
+ "UUID": "6b6ad2ff-ef63-3f7b-aabb-fba44f8de9d4",
+ "description": "Generated description for concept referred to by key \"Event0102:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "Event0103",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "Event0103",
+ "version": "0.0.1"
+ },
+ "UUID": "c2550912-10d9-3000-8826-377288cd6cb1",
+ "description": "Generated description for concept referred to by key \"Event0103:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "Event0104",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "Event0104",
+ "version": "0.0.1"
+ },
+ "UUID": "f6d75b71-c8a7-3337-a121-88d68c389f5a",
+ "description": "Generated description for concept referred to by key \"Event0104:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "Events",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "Events",
+ "version": "0.0.1"
+ },
+ "UUID": "0215644c-4531-375c-8335-d558b4de8c03",
+ "description": "Generated description for concept referred to by key \"Events:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "ExternalContextAlbum",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "ExternalContextAlbum",
+ "version": "0.0.1"
+ },
+ "UUID": "976a79e7-5c80-3c03-9503-da3f41fec395",
+ "description": "Generated description for concept referred to by key \"ExternalContextAlbum:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "GlobalContextAlbum",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "GlobalContextAlbum",
+ "version": "0.0.1"
+ },
+ "UUID": "c95e9e5f-d2c7-3ac7-a205-ea3574530cb7",
+ "description": "Generated description for concept referred to by key \"GlobalContextAlbum:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "KeyInformation",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "KeyInformation",
+ "version": "0.0.1"
+ },
+ "UUID": "1ff2f905-685c-3caf-95bc-0bbc90345888",
+ "description": "Generated description for concept referred to by key \"KeyInformation:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "Policies",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "Policies",
+ "version": "0.0.1"
+ },
+ "UUID": "f54c3b2b-be76-31c4-adfc-87c494c06808",
+ "description": "Generated description for concept referred to by key \"Policies:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "Policy0",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "Policy0",
+ "version": "0.0.1"
+ },
+ "UUID": "3410e939-30ca-32c4-a2d8-c30b6fee6eec",
+ "description": "Generated description for concept referred to by key \"Policy0:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "Policy0ContextAlbum",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "Policy0ContextAlbum",
+ "version": "0.0.1"
+ },
+ "UUID": "e27564c4-3cbf-3db2-9bf3-83ae80a2f907",
+ "description": "Generated description for concept referred to by key \"Policy0ContextAlbum:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "Policy1",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "Policy1",
+ "version": "0.0.1"
+ },
+ "UUID": "d0b2b585-f344-33b8-af9e-250e7f4cfbce",
+ "description": "Generated description for concept referred to by key \"Policy1:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "Policy1ContextAlbum",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "Policy1ContextAlbum",
+ "version": "0.0.1"
+ },
+ "UUID": "815d74ae-6fc0-3221-87b9-2bb1dfdfa7f0",
+ "description": "Generated description for concept referred to by key \"Policy1ContextAlbum:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "SamplePolicyModelMVEL",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "SamplePolicyModelMVEL",
+ "version": "0.0.1"
+ },
+ "UUID": "a4cc4860-0bbc-389c-b270-e1bf7daffbe2",
+ "description": "Generated description for concept referred to by key \"SamplePolicyModelMVEL:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "Task_Act0",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "Task_Act0",
+ "version": "0.0.1"
+ },
+ "UUID": "0589ff20-adcc-3ce5-95fe-8d7978ed54ed",
+ "description": "Generated description for concept referred to by key \"Task_Act0:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "Task_Act1",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "Task_Act1",
+ "version": "0.0.1"
+ },
+ "UUID": "095b126d-ca8b-32c9-ad52-d744e817a79c",
+ "description": "Generated description for concept referred to by key \"Task_Act1:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "Task_Act2",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "Task_Act2",
+ "version": "0.0.1"
+ },
+ "UUID": "3d786b4c-d9ee-3367-ab71-c67271a4ea2f",
+ "description": "Generated description for concept referred to by key \"Task_Act2:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "Task_Act3",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "Task_Act3",
+ "version": "0.0.1"
+ },
+ "UUID": "9231753e-20c5-3436-982f-9100340cc570",
+ "description": "Generated description for concept referred to by key \"Task_Act3:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "Task_Decide0",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "Task_Decide0",
+ "version": "0.0.1"
+ },
+ "UUID": "502383d3-483f-3a56-a426-2f0406674c8d",
+ "description": "Generated description for concept referred to by key \"Task_Decide0:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "Task_Decide1",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "Task_Decide1",
+ "version": "0.0.1"
+ },
+ "UUID": "16598106-41c8-3b5a-99c6-5fcf6d1a5ddf",
+ "description": "Generated description for concept referred to by key \"Task_Decide1:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "Task_Decide2",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "Task_Decide2",
+ "version": "0.0.1"
+ },
+ "UUID": "ad3a89f5-e369-3c66-b22c-669f7b3653b8",
+ "description": "Generated description for concept referred to by key \"Task_Decide2:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "Task_Decide3",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "Task_Decide3",
+ "version": "0.0.1"
+ },
+ "UUID": "56815939-1164-3867-9ed1-0a27ff8aafb3",
+ "description": "Generated description for concept referred to by key \"Task_Decide3:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "Task_Establish0",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "Task_Establish0",
+ "version": "0.0.1"
+ },
+ "UUID": "0db0c566-ecd7-3e27-9865-4b82c893abdb",
+ "description": "Generated description for concept referred to by key \"Task_Establish0:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "Task_Establish1",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "Task_Establish1",
+ "version": "0.0.1"
+ },
+ "UUID": "6944a4c1-6201-317c-8d7e-eaa7f2ee0ea0",
+ "description": "Generated description for concept referred to by key \"Task_Establish1:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "Task_Establish2",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "Task_Establish2",
+ "version": "0.0.1"
+ },
+ "UUID": "0f766ea9-11cd-3e7d-a8c8-28c8dee6a85a",
+ "description": "Generated description for concept referred to by key \"Task_Establish2:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "Task_Establish3",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "Task_Establish3",
+ "version": "0.0.1"
+ },
+ "UUID": "c3237a38-cc6d-3418-b1e1-0dc8b4bdcc66",
+ "description": "Generated description for concept referred to by key \"Task_Establish3:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "Task_Match0",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "Task_Match0",
+ "version": "0.0.1"
+ },
+ "UUID": "051bcfd5-cf73-3c89-8ee7-ea6e005ec059",
+ "description": "Generated description for concept referred to by key \"Task_Match0:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "Task_Match1",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "Task_Match1",
+ "version": "0.0.1"
+ },
+ "UUID": "3754fe19-98f2-34a1-9f45-db31052208d8",
+ "description": "Generated description for concept referred to by key \"Task_Match1:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "Task_Match2",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "Task_Match2",
+ "version": "0.0.1"
+ },
+ "UUID": "8c200709-a180-3c8b-916f-275ff49ce194",
+ "description": "Generated description for concept referred to by key \"Task_Match2:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "Task_Match3",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "Task_Match3",
+ "version": "0.0.1"
+ },
+ "UUID": "a1a879c6-4510-33b0-bbd0-ad6256189a37",
+ "description": "Generated description for concept referred to by key \"Task_Match3:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "Tasks",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "Tasks",
+ "version": "0.0.1"
+ },
+ "UUID": "a7fab96b-ce1c-37ce-bbb2-556b6db524a5",
+ "description": "Generated description for concept referred to by key \"Tasks:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "UUID": "0a652886-c88d-3f8c-8994-ae9161e7c963",
+ "description": "Generated description for concept referred to by key \"TestCase:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "TestContextItem000",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "TestContextItem000",
+ "version": "0.0.1"
+ },
+ "UUID": "8efba9fa-371e-33df-a7d6-88b0284e7fd0",
+ "description": "Generated description for concept referred to by key \"TestContextItem000:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "TestContextItem001",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "TestContextItem001",
+ "version": "0.0.1"
+ },
+ "UUID": "3740077c-a2b3-356b-81dc-5ded2118a951",
+ "description": "Generated description for concept referred to by key \"TestContextItem001:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "TestContextItem002",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "TestContextItem002",
+ "version": "0.0.1"
+ },
+ "UUID": "b5c7df95-9af5-322f-9ea8-eb440a2bf926",
+ "description": "Generated description for concept referred to by key \"TestContextItem002:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "TestContextItem003",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "TestContextItem003",
+ "version": "0.0.1"
+ },
+ "UUID": "b36f0aa5-0fb9-3e2c-8fa2-fddb7fd05f4b",
+ "description": "Generated description for concept referred to by key \"TestContextItem003:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "TestContextItem004",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "TestContextItem004",
+ "version": "0.0.1"
+ },
+ "UUID": "093cda11-eaeb-3a46-a5b6-d5e30c00935b",
+ "description": "Generated description for concept referred to by key \"TestContextItem004:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "TestContextItem005",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "TestContextItem005",
+ "version": "0.0.1"
+ },
+ "UUID": "569a758d-ba40-37c0-aebb-7ad138df25ac",
+ "description": "Generated description for concept referred to by key \"TestContextItem005:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "TestContextItem006",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "TestContextItem006",
+ "version": "0.0.1"
+ },
+ "UUID": "252818d9-b61f-3962-a905-8865fb00fb04",
+ "description": "Generated description for concept referred to by key \"TestContextItem006:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "TestContextItem007",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "TestContextItem007",
+ "version": "0.0.1"
+ },
+ "UUID": "fe1a5f7c-c083-377b-a797-752b01fc6c73",
+ "description": "Generated description for concept referred to by key \"TestContextItem007:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "TestContextItem008",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "TestContextItem008",
+ "version": "0.0.1"
+ },
+ "UUID": "aa87d007-d07e-3f67-8c6d-0ebc3d85479d",
+ "description": "Generated description for concept referred to by key \"TestContextItem008:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "TestContextItem009",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "TestContextItem009",
+ "version": "0.0.1"
+ },
+ "UUID": "126e7a3a-11b6-3f88-9397-c21d8819f859",
+ "description": "Generated description for concept referred to by key \"TestContextItem009:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "TestContextItem00A",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "TestContextItem00A",
+ "version": "0.0.1"
+ },
+ "UUID": "0e0e3dec-e03d-3379-a87b-1ecd4aa3d8cc",
+ "description": "Generated description for concept referred to by key \"TestContextItem00A:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "TestContextItem00B",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "TestContextItem00B",
+ "version": "0.0.1"
+ },
+ "UUID": "dbdc98df-3ff4-360c-b8d3-a7a836ac3de6",
+ "description": "Generated description for concept referred to by key \"TestContextItem00B:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "TestContextItem00C",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "TestContextItem00C",
+ "version": "0.0.1"
+ },
+ "UUID": "32a2f355-77f3-3b25-ace6-7a9c5763a5ad",
+ "description": "Generated description for concept referred to by key \"TestContextItem00C:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "TestDatatypes",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "TestDatatypes",
+ "version": "0.0.1"
+ },
+ "UUID": "3f95472c-973e-30e2-95f1-bf00cbef909a",
+ "description": "Generated description for concept referred to by key \"TestDatatypes:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "TestExternalContextItem",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "TestExternalContextItem",
+ "version": "0.0.1"
+ },
+ "UUID": "610dbbd4-9149-3b3c-9af4-819056f0e169",
+ "description": "Generated description for concept referred to by key \"TestExternalContextItem:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "TestGlobalContextItem",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "TestGlobalContextItem",
+ "version": "0.0.1"
+ },
+ "UUID": "07fa8f68-55f1-3fd0-81c1-749a379753a7",
+ "description": "Generated description for concept referred to by key \"TestGlobalContextItem:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "TestPolicyContextItem",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "TestPolicyContextItem",
+ "version": "0.0.1"
+ },
+ "UUID": "d9c93cd1-539e-35c5-aaec-bb711ceb1251",
+ "description": "Generated description for concept referred to by key \"TestPolicyContextItem:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "TestSlogan",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "TestSlogan",
+ "version": "0.0.1"
+ },
+ "UUID": "683fe492-7eae-3ac7-9924-bb7850208d05",
+ "description": "Generated description for concept referred to by key \"TestSlogan:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "TestTemperature",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "TestTemperature",
+ "version": "0.0.1"
+ },
+ "UUID": "bba25b6f-e3cd-3060-9022-4ef3a79f8eb0",
+ "description": "Generated description for concept referred to by key \"TestTemperature:0.0.1\""
+ }
+ },
+ {
+ "key": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "UUID": "97b73937-c344-33c0-924c-4d26b6449564",
+ "description": "Generated description for concept referred to by key \"TestTimestamp:0.0.1\""
+ }
+ }
+ ]
+ }
+ },
+ "policies": {
+ "key": {
+ "name": "Policies",
+ "version": "0.0.1"
+ },
+ "policyMap": {
+ "entry": [
+ {
+ "key": {
+ "name": "Policy0",
+ "version": "0.0.1"
+ },
+ "value": {
+ "policyKey": {
+ "name": "Policy0",
+ "version": "0.0.1"
+ },
+ "template": "MEDA",
+ "state": {
+ "entry": [
+ {
+ "key": "Act",
+ "value": {
+ "stateKey": {
+ "parentKeyName": "Policy0",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "NULL",
+ "localName": "Act"
+ },
+ "trigger": {
+ "name": "Event0003",
+ "version": "0.0.1"
+ },
+ "stateOutputs": {
+ "entry": [
+ {
+ "key": "Act_NULL",
+ "value": {
+ "key": {
+ "parentKeyName": "Policy0",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "Act",
+ "localName": "Act_NULL"
+ },
+ "outgoingEvent": {
+ "name": "Event0004",
+ "version": "0.0.1"
+ },
+ "nextState": {
+ "parentKeyName": "NULL",
+ "parentKeyVersion": "0.0.0",
+ "parentLocalName": "NULL",
+ "localName": "NULL"
+ }
+ }
+ }
+ ]
+ },
+ "contextAlbumReference": [
+ {
+ "name": "GlobalContextAlbum",
+ "version": "0.0.1"
+ }
+ ],
+ "taskSelectionLogic": {
+ "key": "TaskSelectionLigic",
+ "logicFlavour": "MVEL",
+ "logic": "logger.debug(subject.id + \":\" + subject.stateName);\nsubject.defaultTaskKey.copyTo(selectedTask);\nreturn true;"
+ },
+ "stateFinalizerLogicMap": {
+ "entry": []
+ },
+ "defaultTask": {
+ "name": "Task_Act1",
+ "version": "0.0.1"
+ },
+ "taskReferences": {
+ "entry": [
+ {
+ "key": {
+ "name": "Task_Act0",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "parentKeyName": "Policy0",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "Act",
+ "localName": "Task_Act0_DIRECT_Act_NULL"
+ },
+ "outputType": "DIRECT",
+ "output": {
+ "parentKeyName": "Policy0",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "Act",
+ "localName": "Act_NULL"
+ }
+ }
+ },
+ {
+ "key": {
+ "name": "Task_Act1",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "parentKeyName": "Policy0",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "Act",
+ "localName": "Task_Act1_DIRECT_Act_NULL"
+ },
+ "outputType": "DIRECT",
+ "output": {
+ "parentKeyName": "Policy0",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "Act",
+ "localName": "Act_NULL"
+ }
+ }
+ },
+ {
+ "key": {
+ "name": "Task_Act2",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "parentKeyName": "Policy0",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "Act",
+ "localName": "Task_Act2_DIRECT_Act_NULL"
+ },
+ "outputType": "DIRECT",
+ "output": {
+ "parentKeyName": "Policy0",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "Act",
+ "localName": "Act_NULL"
+ }
+ }
+ },
+ {
+ "key": {
+ "name": "Task_Act3",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "parentKeyName": "Policy0",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "Act",
+ "localName": "Task_Act3_DIRECT_Act_NULL"
+ },
+ "outputType": "DIRECT",
+ "output": {
+ "parentKeyName": "Policy0",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "Act",
+ "localName": "Act_NULL"
+ }
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "key": "Decide",
+ "value": {
+ "stateKey": {
+ "parentKeyName": "Policy0",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "NULL",
+ "localName": "Decide"
+ },
+ "trigger": {
+ "name": "Event0002",
+ "version": "0.0.1"
+ },
+ "stateOutputs": {
+ "entry": [
+ {
+ "key": "Decide_Act",
+ "value": {
+ "key": {
+ "parentKeyName": "Policy0",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "Decide",
+ "localName": "Decide_Act"
+ },
+ "outgoingEvent": {
+ "name": "Event0003",
+ "version": "0.0.1"
+ },
+ "nextState": {
+ "parentKeyName": "Policy0",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "NULL",
+ "localName": "Act"
+ }
+ }
+ }
+ ]
+ },
+ "contextAlbumReference": [
+ {
+ "name": "ExternalContextAlbum",
+ "version": "0.0.1"
+ },
+ {
+ "name": "GlobalContextAlbum",
+ "version": "0.0.1"
+ },
+ {
+ "name": "Policy0ContextAlbum",
+ "version": "0.0.1"
+ }
+ ],
+ "taskSelectionLogic": {
+ "key": "TaskSelectionLigic",
+ "logicFlavour": "MVEL",
+ "logic": "logger.debug(subject.id + \":\" + subject.stateName);\nsubject.defaultTaskKey.copyTo(selectedTask);\nreturn true;"
+ },
+ "stateFinalizerLogicMap": {
+ "entry": []
+ },
+ "defaultTask": {
+ "name": "Task_Decide3",
+ "version": "0.0.1"
+ },
+ "taskReferences": {
+ "entry": [
+ {
+ "key": {
+ "name": "Task_Decide0",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "parentKeyName": "Policy0",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "Decide",
+ "localName": "Task_Decide0_DIRECT_Decide_Act"
+ },
+ "outputType": "DIRECT",
+ "output": {
+ "parentKeyName": "Policy0",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "Decide",
+ "localName": "Decide_Act"
+ }
+ }
+ },
+ {
+ "key": {
+ "name": "Task_Decide1",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "parentKeyName": "Policy0",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "Decide",
+ "localName": "Task_Decide1_DIRECT_Decide_Act"
+ },
+ "outputType": "DIRECT",
+ "output": {
+ "parentKeyName": "Policy0",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "Decide",
+ "localName": "Decide_Act"
+ }
+ }
+ },
+ {
+ "key": {
+ "name": "Task_Decide2",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "parentKeyName": "Policy0",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "Decide",
+ "localName": "Task_Decide2_DIRECT_Decide_Act"
+ },
+ "outputType": "DIRECT",
+ "output": {
+ "parentKeyName": "Policy0",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "Decide",
+ "localName": "Decide_Act"
+ }
+ }
+ },
+ {
+ "key": {
+ "name": "Task_Decide3",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "parentKeyName": "Policy0",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "Decide",
+ "localName": "Task_Decide3_DIRECT_Decide_Act"
+ },
+ "outputType": "DIRECT",
+ "output": {
+ "parentKeyName": "Policy0",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "Decide",
+ "localName": "Decide_Act"
+ }
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "key": "Establish",
+ "value": {
+ "stateKey": {
+ "parentKeyName": "Policy0",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "NULL",
+ "localName": "Establish"
+ },
+ "trigger": {
+ "name": "Event0001",
+ "version": "0.0.1"
+ },
+ "stateOutputs": {
+ "entry": [
+ {
+ "key": "Establish_Decide",
+ "value": {
+ "key": {
+ "parentKeyName": "Policy0",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "Establish",
+ "localName": "Establish_Decide"
+ },
+ "outgoingEvent": {
+ "name": "Event0002",
+ "version": "0.0.1"
+ },
+ "nextState": {
+ "parentKeyName": "Policy0",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "NULL",
+ "localName": "Decide"
+ }
+ }
+ }
+ ]
+ },
+ "contextAlbumReference": [
+ {
+ "name": "ExternalContextAlbum",
+ "version": "0.0.1"
+ },
+ {
+ "name": "GlobalContextAlbum",
+ "version": "0.0.1"
+ },
+ {
+ "name": "Policy1ContextAlbum",
+ "version": "0.0.1"
+ }
+ ],
+ "taskSelectionLogic": {
+ "key": "TaskSelectionLigic",
+ "logicFlavour": "MVEL",
+ "logic": "logger.debug(subject.id + \":\" + subject.stateName);\nsubject.defaultTaskKey.copyTo(selectedTask);\nreturn true;"
+ },
+ "stateFinalizerLogicMap": {
+ "entry": []
+ },
+ "defaultTask": {
+ "name": "Task_Establish2",
+ "version": "0.0.1"
+ },
+ "taskReferences": {
+ "entry": [
+ {
+ "key": {
+ "name": "Task_Establish0",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "parentKeyName": "Policy0",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "Establish",
+ "localName": "Task_Establish0_DIRECT_Establish_Decide"
+ },
+ "outputType": "DIRECT",
+ "output": {
+ "parentKeyName": "Policy0",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "Establish",
+ "localName": "Establish_Decide"
+ }
+ }
+ },
+ {
+ "key": {
+ "name": "Task_Establish1",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "parentKeyName": "Policy0",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "Establish",
+ "localName": "Task_Establish1_DIRECT_Establish_Decide"
+ },
+ "outputType": "DIRECT",
+ "output": {
+ "parentKeyName": "Policy0",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "Establish",
+ "localName": "Establish_Decide"
+ }
+ }
+ },
+ {
+ "key": {
+ "name": "Task_Establish2",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "parentKeyName": "Policy0",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "Establish",
+ "localName": "Task_Establish2_DIRECT_Establish_Decide"
+ },
+ "outputType": "DIRECT",
+ "output": {
+ "parentKeyName": "Policy0",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "Establish",
+ "localName": "Establish_Decide"
+ }
+ }
+ },
+ {
+ "key": {
+ "name": "Task_Establish3",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "parentKeyName": "Policy0",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "Establish",
+ "localName": "Task_Establish3_DIRECT_Establish_Decide"
+ },
+ "outputType": "DIRECT",
+ "output": {
+ "parentKeyName": "Policy0",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "Establish",
+ "localName": "Establish_Decide"
+ }
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "key": "Match",
+ "value": {
+ "stateKey": {
+ "parentKeyName": "Policy0",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "NULL",
+ "localName": "Match"
+ },
+ "trigger": {
+ "name": "Event0000",
+ "version": "0.0.1"
+ },
+ "stateOutputs": {
+ "entry": [
+ {
+ "key": "Match_Establish",
+ "value": {
+ "key": {
+ "parentKeyName": "Policy0",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "Match",
+ "localName": "Match_Establish"
+ },
+ "outgoingEvent": {
+ "name": "Event0001",
+ "version": "0.0.1"
+ },
+ "nextState": {
+ "parentKeyName": "Policy0",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "NULL",
+ "localName": "Establish"
+ }
+ }
+ }
+ ]
+ },
+ "contextAlbumReference": [
+ {
+ "name": "GlobalContextAlbum",
+ "version": "0.0.1"
+ },
+ {
+ "name": "Policy0ContextAlbum",
+ "version": "0.0.1"
+ }
+ ],
+ "taskSelectionLogic": {
+ "key": "TaskSelectionLigic",
+ "logicFlavour": "MVEL",
+ "logic": "logger.debug(subject.id + \":\" + subject.stateName);\nsubject.defaultTaskKey.copyTo(selectedTask);\nreturn true;"
+ },
+ "stateFinalizerLogicMap": {
+ "entry": []
+ },
+ "defaultTask": {
+ "name": "Task_Match0",
+ "version": "0.0.1"
+ },
+ "taskReferences": {
+ "entry": [
+ {
+ "key": {
+ "name": "Task_Match0",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "parentKeyName": "Policy0",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "Match",
+ "localName": "Task_Match0_DIRECT_Match_Establish"
+ },
+ "outputType": "DIRECT",
+ "output": {
+ "parentKeyName": "Policy0",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "Match",
+ "localName": "Match_Establish"
+ }
+ }
+ },
+ {
+ "key": {
+ "name": "Task_Match1",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "parentKeyName": "Policy0",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "Match",
+ "localName": "Task_Match1_DIRECT_Match_Establish"
+ },
+ "outputType": "DIRECT",
+ "output": {
+ "parentKeyName": "Policy0",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "Match",
+ "localName": "Match_Establish"
+ }
+ }
+ },
+ {
+ "key": {
+ "name": "Task_Match2",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "parentKeyName": "Policy0",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "Match",
+ "localName": "Task_Match2_DIRECT_Match_Establish"
+ },
+ "outputType": "DIRECT",
+ "output": {
+ "parentKeyName": "Policy0",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "Match",
+ "localName": "Match_Establish"
+ }
+ }
+ },
+ {
+ "key": {
+ "name": "Task_Match3",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "parentKeyName": "Policy0",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "Match",
+ "localName": "Task_Match3_DIRECT_Match_Establish"
+ },
+ "outputType": "DIRECT",
+ "output": {
+ "parentKeyName": "Policy0",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "Match",
+ "localName": "Match_Establish"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ ]
+ },
+ "firstState": "Match"
+ }
+ },
+ {
+ "key": {
+ "name": "Policy1",
+ "version": "0.0.1"
+ },
+ "value": {
+ "policyKey": {
+ "name": "Policy1",
+ "version": "0.0.1"
+ },
+ "template": "MEDA",
+ "state": {
+ "entry": [
+ {
+ "key": "Act",
+ "value": {
+ "stateKey": {
+ "parentKeyName": "Policy1",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "NULL",
+ "localName": "Act"
+ },
+ "trigger": {
+ "name": "Event0103",
+ "version": "0.0.1"
+ },
+ "stateOutputs": {
+ "entry": [
+ {
+ "key": "Act_NULL",
+ "value": {
+ "key": {
+ "parentKeyName": "Policy1",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "Act",
+ "localName": "Act_NULL"
+ },
+ "outgoingEvent": {
+ "name": "Event0104",
+ "version": "0.0.1"
+ },
+ "nextState": {
+ "parentKeyName": "NULL",
+ "parentKeyVersion": "0.0.0",
+ "parentLocalName": "NULL",
+ "localName": "NULL"
+ }
+ }
+ }
+ ]
+ },
+ "contextAlbumReference": [
+ {
+ "name": "GlobalContextAlbum",
+ "version": "0.0.1"
+ }
+ ],
+ "taskSelectionLogic": {
+ "key": "TaskSelectionLigic",
+ "logicFlavour": "MVEL",
+ "logic": "logger.debug(subject.id + \":\" + subject.stateName);\nsubject.defaultTaskKey.copyTo(selectedTask);\nreturn true;"
+ },
+ "stateFinalizerLogicMap": {
+ "entry": []
+ },
+ "defaultTask": {
+ "name": "Task_Act0",
+ "version": "0.0.1"
+ },
+ "taskReferences": {
+ "entry": [
+ {
+ "key": {
+ "name": "Task_Act0",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "parentKeyName": "Policy1",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "Act",
+ "localName": "Task_Act0_DIRECT_Act_NULL"
+ },
+ "outputType": "DIRECT",
+ "output": {
+ "parentKeyName": "Policy1",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "Act",
+ "localName": "Act_NULL"
+ }
+ }
+ },
+ {
+ "key": {
+ "name": "Task_Act1",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "parentKeyName": "Policy1",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "Act",
+ "localName": "Task_Act1_DIRECT_Act_NULL"
+ },
+ "outputType": "DIRECT",
+ "output": {
+ "parentKeyName": "Policy1",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "Act",
+ "localName": "Act_NULL"
+ }
+ }
+ },
+ {
+ "key": {
+ "name": "Task_Act2",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "parentKeyName": "Policy1",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "Act",
+ "localName": "Task_Act2_DIRECT_Act_NULL"
+ },
+ "outputType": "DIRECT",
+ "output": {
+ "parentKeyName": "Policy1",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "Act",
+ "localName": "Act_NULL"
+ }
+ }
+ },
+ {
+ "key": {
+ "name": "Task_Act3",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "parentKeyName": "Policy1",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "Act",
+ "localName": "Task_Act3_DIRECT_Act_NULL"
+ },
+ "outputType": "DIRECT",
+ "output": {
+ "parentKeyName": "Policy1",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "Act",
+ "localName": "Act_NULL"
+ }
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "key": "Decide",
+ "value": {
+ "stateKey": {
+ "parentKeyName": "Policy1",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "NULL",
+ "localName": "Decide"
+ },
+ "trigger": {
+ "name": "Event0102",
+ "version": "0.0.1"
+ },
+ "stateOutputs": {
+ "entry": [
+ {
+ "key": "Decide_Act",
+ "value": {
+ "key": {
+ "parentKeyName": "Policy1",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "Decide",
+ "localName": "Decide_Act"
+ },
+ "outgoingEvent": {
+ "name": "Event0103",
+ "version": "0.0.1"
+ },
+ "nextState": {
+ "parentKeyName": "Policy1",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "NULL",
+ "localName": "Act"
+ }
+ }
+ }
+ ]
+ },
+ "contextAlbumReference": [
+ {
+ "name": "ExternalContextAlbum",
+ "version": "0.0.1"
+ },
+ {
+ "name": "GlobalContextAlbum",
+ "version": "0.0.1"
+ },
+ {
+ "name": "Policy1ContextAlbum",
+ "version": "0.0.1"
+ }
+ ],
+ "taskSelectionLogic": {
+ "key": "TaskSelectionLigic",
+ "logicFlavour": "MVEL",
+ "logic": "logger.debug(subject.id + \":\" + subject.stateName);\nsubject.defaultTaskKey.copyTo(selectedTask);\nreturn true;"
+ },
+ "stateFinalizerLogicMap": {
+ "entry": []
+ },
+ "defaultTask": {
+ "name": "Task_Decide3",
+ "version": "0.0.1"
+ },
+ "taskReferences": {
+ "entry": [
+ {
+ "key": {
+ "name": "Task_Decide0",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "parentKeyName": "Policy1",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "Decide",
+ "localName": "Task_Decide0_DIRECT_Decide_Act"
+ },
+ "outputType": "DIRECT",
+ "output": {
+ "parentKeyName": "Policy1",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "Decide",
+ "localName": "Decide_Act"
+ }
+ }
+ },
+ {
+ "key": {
+ "name": "Task_Decide1",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "parentKeyName": "Policy1",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "Decide",
+ "localName": "Task_Decide1_DIRECT_Decide_Act"
+ },
+ "outputType": "DIRECT",
+ "output": {
+ "parentKeyName": "Policy1",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "Decide",
+ "localName": "Decide_Act"
+ }
+ }
+ },
+ {
+ "key": {
+ "name": "Task_Decide2",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "parentKeyName": "Policy1",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "Decide",
+ "localName": "Task_Decide2_DIRECT_Decide_Act"
+ },
+ "outputType": "DIRECT",
+ "output": {
+ "parentKeyName": "Policy1",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "Decide",
+ "localName": "Decide_Act"
+ }
+ }
+ },
+ {
+ "key": {
+ "name": "Task_Decide3",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "parentKeyName": "Policy1",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "Decide",
+ "localName": "Task_Decide3_DIRECT_Decide_Act"
+ },
+ "outputType": "DIRECT",
+ "output": {
+ "parentKeyName": "Policy1",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "Decide",
+ "localName": "Decide_Act"
+ }
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "key": "Establish",
+ "value": {
+ "stateKey": {
+ "parentKeyName": "Policy1",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "NULL",
+ "localName": "Establish"
+ },
+ "trigger": {
+ "name": "Event0101",
+ "version": "0.0.1"
+ },
+ "stateOutputs": {
+ "entry": [
+ {
+ "key": "Establish_Decide",
+ "value": {
+ "key": {
+ "parentKeyName": "Policy1",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "Establish",
+ "localName": "Establish_Decide"
+ },
+ "outgoingEvent": {
+ "name": "Event0102",
+ "version": "0.0.1"
+ },
+ "nextState": {
+ "parentKeyName": "Policy1",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "NULL",
+ "localName": "Decide"
+ }
+ }
+ }
+ ]
+ },
+ "contextAlbumReference": [
+ {
+ "name": "ExternalContextAlbum",
+ "version": "0.0.1"
+ },
+ {
+ "name": "GlobalContextAlbum",
+ "version": "0.0.1"
+ },
+ {
+ "name": "Policy1ContextAlbum",
+ "version": "0.0.1"
+ }
+ ],
+ "taskSelectionLogic": {
+ "key": "TaskSelectionLigic",
+ "logicFlavour": "MVEL",
+ "logic": "logger.debug(subject.id + \":\" + subject.stateName);\nsubject.defaultTaskKey.copyTo(selectedTask);\nreturn true;"
+ },
+ "stateFinalizerLogicMap": {
+ "entry": []
+ },
+ "defaultTask": {
+ "name": "Task_Establish1",
+ "version": "0.0.1"
+ },
+ "taskReferences": {
+ "entry": [
+ {
+ "key": {
+ "name": "Task_Establish0",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "parentKeyName": "Policy1",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "Establish",
+ "localName": "Task_Establish0_DIRECT_Establish_Decide"
+ },
+ "outputType": "DIRECT",
+ "output": {
+ "parentKeyName": "Policy1",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "Establish",
+ "localName": "Establish_Decide"
+ }
+ }
+ },
+ {
+ "key": {
+ "name": "Task_Establish1",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "parentKeyName": "Policy1",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "Establish",
+ "localName": "Task_Establish1_DIRECT_Establish_Decide"
+ },
+ "outputType": "DIRECT",
+ "output": {
+ "parentKeyName": "Policy1",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "Establish",
+ "localName": "Establish_Decide"
+ }
+ }
+ },
+ {
+ "key": {
+ "name": "Task_Establish2",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "parentKeyName": "Policy1",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "Establish",
+ "localName": "Task_Establish2_DIRECT_Establish_Decide"
+ },
+ "outputType": "DIRECT",
+ "output": {
+ "parentKeyName": "Policy1",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "Establish",
+ "localName": "Establish_Decide"
+ }
+ }
+ },
+ {
+ "key": {
+ "name": "Task_Establish3",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "parentKeyName": "Policy1",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "Establish",
+ "localName": "Task_Establish3_DIRECT_Establish_Decide"
+ },
+ "outputType": "DIRECT",
+ "output": {
+ "parentKeyName": "Policy1",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "Establish",
+ "localName": "Establish_Decide"
+ }
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "key": "Match",
+ "value": {
+ "stateKey": {
+ "parentKeyName": "Policy1",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "NULL",
+ "localName": "Match"
+ },
+ "trigger": {
+ "name": "Event0100",
+ "version": "0.0.1"
+ },
+ "stateOutputs": {
+ "entry": [
+ {
+ "key": "Match_Establish",
+ "value": {
+ "key": {
+ "parentKeyName": "Policy1",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "Match",
+ "localName": "Match_Establish"
+ },
+ "outgoingEvent": {
+ "name": "Event0101",
+ "version": "0.0.1"
+ },
+ "nextState": {
+ "parentKeyName": "Policy1",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "NULL",
+ "localName": "Establish"
+ }
+ }
+ }
+ ]
+ },
+ "contextAlbumReference": [
+ {
+ "name": "ExternalContextAlbum",
+ "version": "0.0.1"
+ },
+ {
+ "name": "GlobalContextAlbum",
+ "version": "0.0.1"
+ },
+ {
+ "name": "Policy1ContextAlbum",
+ "version": "0.0.1"
+ }
+ ],
+ "taskSelectionLogic": {
+ "key": "TaskSelectionLigic",
+ "logicFlavour": "MVEL",
+ "logic": "logger.debug(subject.id + \":\" + subject.stateName);\nsubject.defaultTaskKey.copyTo(selectedTask);\nreturn true;"
+ },
+ "stateFinalizerLogicMap": {
+ "entry": []
+ },
+ "defaultTask": {
+ "name": "Task_Match3",
+ "version": "0.0.1"
+ },
+ "taskReferences": {
+ "entry": [
+ {
+ "key": {
+ "name": "Task_Match0",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "parentKeyName": "Policy1",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "Match",
+ "localName": "Task_Match0_DIRECT_Match_Establish"
+ },
+ "outputType": "DIRECT",
+ "output": {
+ "parentKeyName": "Policy1",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "Match",
+ "localName": "Match_Establish"
+ }
+ }
+ },
+ {
+ "key": {
+ "name": "Task_Match1",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "parentKeyName": "Policy1",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "Match",
+ "localName": "Task_Match1_DIRECT_Match_Establish"
+ },
+ "outputType": "DIRECT",
+ "output": {
+ "parentKeyName": "Policy1",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "Match",
+ "localName": "Match_Establish"
+ }
+ }
+ },
+ {
+ "key": {
+ "name": "Task_Match2",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "parentKeyName": "Policy1",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "Match",
+ "localName": "Task_Match2_DIRECT_Match_Establish"
+ },
+ "outputType": "DIRECT",
+ "output": {
+ "parentKeyName": "Policy1",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "Match",
+ "localName": "Match_Establish"
+ }
+ }
+ },
+ {
+ "key": {
+ "name": "Task_Match3",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "parentKeyName": "Policy1",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "Match",
+ "localName": "Task_Match3_DIRECT_Match_Establish"
+ },
+ "outputType": "DIRECT",
+ "output": {
+ "parentKeyName": "Policy1",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "Match",
+ "localName": "Match_Establish"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ ]
+ },
+ "firstState": "Match"
+ }
+ }
+ ]
+ }
+ },
+ "tasks": {
+ "key": {
+ "name": "Tasks",
+ "version": "0.0.1"
+ },
+ "taskMap": {
+ "entry": [
+ {
+ "key": {
+ "name": "Task_Act0",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "Task_Act0",
+ "version": "0.0.1"
+ },
+ "inputFields": {
+ "entry": [
+ {
+ "key": "TestDecideCaseSelected",
+ "value": {
+ "key": "TestDecideCaseSelected",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestDecideStateTime",
+ "value": {
+ "key": "TestDecideStateTime",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestEstablishCaseSelected",
+ "value": {
+ "key": "TestEstablishCaseSelected",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestEstablishStateTime",
+ "value": {
+ "key": "TestEstablishStateTime",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchCase",
+ "value": {
+ "key": "TestMatchCase",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchCaseSelected",
+ "value": {
+ "key": "TestMatchCaseSelected",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchStateTime",
+ "value": {
+ "key": "TestMatchStateTime",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestSlogan",
+ "value": {
+ "key": "TestSlogan",
+ "fieldSchemaKey": {
+ "name": "TestSlogan",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestTemperature",
+ "value": {
+ "key": "TestTemperature",
+ "fieldSchemaKey": {
+ "name": "TestTemperature",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestTimestamp",
+ "value": {
+ "key": "TestTimestamp",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ }
+ ]
+ },
+ "outputFields": {
+ "entry": [
+ {
+ "key": "TestActCaseSelected",
+ "value": {
+ "key": "TestActCaseSelected",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestActStateTime",
+ "value": {
+ "key": "TestActStateTime",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestDecideCaseSelected",
+ "value": {
+ "key": "TestDecideCaseSelected",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestDecideStateTime",
+ "value": {
+ "key": "TestDecideStateTime",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestEstablishCaseSelected",
+ "value": {
+ "key": "TestEstablishCaseSelected",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestEstablishStateTime",
+ "value": {
+ "key": "TestEstablishStateTime",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchCase",
+ "value": {
+ "key": "TestMatchCase",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchCaseSelected",
+ "value": {
+ "key": "TestMatchCaseSelected",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchStateTime",
+ "value": {
+ "key": "TestMatchStateTime",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestSlogan",
+ "value": {
+ "key": "TestSlogan",
+ "fieldSchemaKey": {
+ "name": "TestSlogan",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestTemperature",
+ "value": {
+ "key": "TestTemperature",
+ "fieldSchemaKey": {
+ "name": "TestTemperature",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestTimestamp",
+ "value": {
+ "key": "TestTimestamp",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ }
+ ]
+ },
+ "taskParameters": {
+ "entry": [
+ {
+ "key": "Parameter0",
+ "value": {
+ "key": {
+ "parentKeyName": "Task_Act0",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "NULL",
+ "localName": "Parameter0"
+ },
+ "defaultValue": "DefaultValue0"
+ }
+ },
+ {
+ "key": "Parameter1",
+ "value": {
+ "key": {
+ "parentKeyName": "Task_Act0",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "NULL",
+ "localName": "Parameter1"
+ },
+ "defaultValue": "DefaultValue1"
+ }
+ },
+ {
+ "key": "Parameter2",
+ "value": {
+ "key": {
+ "parentKeyName": "Task_Act0",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "NULL",
+ "localName": "Parameter2"
+ },
+ "defaultValue": "DefaultValue2"
+ }
+ }
+ ]
+ },
+ "contextAlbumReference": [
+ {
+ "name": "ExternalContextAlbum",
+ "version": "0.0.1"
+ },
+ {
+ "name": "GlobalContextAlbum",
+ "version": "0.0.1"
+ },
+ {
+ "name": "Policy0ContextAlbum",
+ "version": "0.0.1"
+ },
+ {
+ "name": "Policy1ContextAlbum",
+ "version": "0.0.1"
+ }
+ ],
+ "taskLogic": {
+ "key": "_TaskLogic",
+ "logicFlavour": "MVEL",
+ "logic": "import java.util.Date;\nlogger.debug(subject.id);\ngc = getContextAlbum(\"GlobalContextAlbum\");\nlogger.debug(gc);\nlogger.debug(inFields);\noutFields[\"TestActCaseSelected\"] = (byte)2;\ntimeNow = new Date();\noutFields[\"TestActStateTime\"] = timeNow.getTime();\nlogger.debug(outFields);\nreturn true;"
+ }
+ }
+ },
+ {
+ "key": {
+ "name": "Task_Act1",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "Task_Act1",
+ "version": "0.0.1"
+ },
+ "inputFields": {
+ "entry": [
+ {
+ "key": "TestDecideCaseSelected",
+ "value": {
+ "key": "TestDecideCaseSelected",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestDecideStateTime",
+ "value": {
+ "key": "TestDecideStateTime",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestEstablishCaseSelected",
+ "value": {
+ "key": "TestEstablishCaseSelected",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestEstablishStateTime",
+ "value": {
+ "key": "TestEstablishStateTime",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchCase",
+ "value": {
+ "key": "TestMatchCase",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchCaseSelected",
+ "value": {
+ "key": "TestMatchCaseSelected",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchStateTime",
+ "value": {
+ "key": "TestMatchStateTime",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestSlogan",
+ "value": {
+ "key": "TestSlogan",
+ "fieldSchemaKey": {
+ "name": "TestSlogan",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestTemperature",
+ "value": {
+ "key": "TestTemperature",
+ "fieldSchemaKey": {
+ "name": "TestTemperature",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestTimestamp",
+ "value": {
+ "key": "TestTimestamp",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ }
+ ]
+ },
+ "outputFields": {
+ "entry": [
+ {
+ "key": "TestActCaseSelected",
+ "value": {
+ "key": "TestActCaseSelected",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestActStateTime",
+ "value": {
+ "key": "TestActStateTime",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestDecideCaseSelected",
+ "value": {
+ "key": "TestDecideCaseSelected",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestDecideStateTime",
+ "value": {
+ "key": "TestDecideStateTime",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestEstablishCaseSelected",
+ "value": {
+ "key": "TestEstablishCaseSelected",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestEstablishStateTime",
+ "value": {
+ "key": "TestEstablishStateTime",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchCase",
+ "value": {
+ "key": "TestMatchCase",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchCaseSelected",
+ "value": {
+ "key": "TestMatchCaseSelected",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchStateTime",
+ "value": {
+ "key": "TestMatchStateTime",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestSlogan",
+ "value": {
+ "key": "TestSlogan",
+ "fieldSchemaKey": {
+ "name": "TestSlogan",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestTemperature",
+ "value": {
+ "key": "TestTemperature",
+ "fieldSchemaKey": {
+ "name": "TestTemperature",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestTimestamp",
+ "value": {
+ "key": "TestTimestamp",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ }
+ ]
+ },
+ "taskParameters": {
+ "entry": [
+ {
+ "key": "Parameter0",
+ "value": {
+ "key": {
+ "parentKeyName": "Task_Act1",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "NULL",
+ "localName": "Parameter0"
+ },
+ "defaultValue": "DefaultValue0"
+ }
+ },
+ {
+ "key": "Parameter1",
+ "value": {
+ "key": {
+ "parentKeyName": "Task_Act1",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "NULL",
+ "localName": "Parameter1"
+ },
+ "defaultValue": "DefaultValue1"
+ }
+ }
+ ]
+ },
+ "contextAlbumReference": [
+ {
+ "name": "GlobalContextAlbum",
+ "version": "0.0.1"
+ },
+ {
+ "name": "Policy0ContextAlbum",
+ "version": "0.0.1"
+ }
+ ],
+ "taskLogic": {
+ "key": "_TaskLogic",
+ "logicFlavour": "MVEL",
+ "logic": "import java.util.Date;\nlogger.debug(subject.id);\ngc = getContextAlbum(\"GlobalContextAlbum\");\nlogger.debug(gc);\nlogger.debug(inFields);\noutFields[\"TestActCaseSelected\"] = (byte)3;\ntimeNow = new Date();\noutFields[\"TestActStateTime\"] = timeNow.getTime();\nlogger.debug(outFields);\nreturn true;"
+ }
+ }
+ },
+ {
+ "key": {
+ "name": "Task_Act2",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "Task_Act2",
+ "version": "0.0.1"
+ },
+ "inputFields": {
+ "entry": [
+ {
+ "key": "TestDecideCaseSelected",
+ "value": {
+ "key": "TestDecideCaseSelected",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestDecideStateTime",
+ "value": {
+ "key": "TestDecideStateTime",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestEstablishCaseSelected",
+ "value": {
+ "key": "TestEstablishCaseSelected",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestEstablishStateTime",
+ "value": {
+ "key": "TestEstablishStateTime",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchCase",
+ "value": {
+ "key": "TestMatchCase",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchCaseSelected",
+ "value": {
+ "key": "TestMatchCaseSelected",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchStateTime",
+ "value": {
+ "key": "TestMatchStateTime",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestSlogan",
+ "value": {
+ "key": "TestSlogan",
+ "fieldSchemaKey": {
+ "name": "TestSlogan",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestTemperature",
+ "value": {
+ "key": "TestTemperature",
+ "fieldSchemaKey": {
+ "name": "TestTemperature",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestTimestamp",
+ "value": {
+ "key": "TestTimestamp",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ }
+ ]
+ },
+ "outputFields": {
+ "entry": [
+ {
+ "key": "TestActCaseSelected",
+ "value": {
+ "key": "TestActCaseSelected",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestActStateTime",
+ "value": {
+ "key": "TestActStateTime",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestDecideCaseSelected",
+ "value": {
+ "key": "TestDecideCaseSelected",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestDecideStateTime",
+ "value": {
+ "key": "TestDecideStateTime",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestEstablishCaseSelected",
+ "value": {
+ "key": "TestEstablishCaseSelected",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestEstablishStateTime",
+ "value": {
+ "key": "TestEstablishStateTime",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchCase",
+ "value": {
+ "key": "TestMatchCase",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchCaseSelected",
+ "value": {
+ "key": "TestMatchCaseSelected",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchStateTime",
+ "value": {
+ "key": "TestMatchStateTime",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestSlogan",
+ "value": {
+ "key": "TestSlogan",
+ "fieldSchemaKey": {
+ "name": "TestSlogan",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestTemperature",
+ "value": {
+ "key": "TestTemperature",
+ "fieldSchemaKey": {
+ "name": "TestTemperature",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestTimestamp",
+ "value": {
+ "key": "TestTimestamp",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ }
+ ]
+ },
+ "taskParameters": {
+ "entry": [
+ {
+ "key": "Parameter0",
+ "value": {
+ "key": {
+ "parentKeyName": "Task_Act2",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "NULL",
+ "localName": "Parameter0"
+ },
+ "defaultValue": "DefaultValue0"
+ }
+ }
+ ]
+ },
+ "contextAlbumReference": [
+ {
+ "name": "GlobalContextAlbum",
+ "version": "0.0.1"
+ },
+ {
+ "name": "Policy1ContextAlbum",
+ "version": "0.0.1"
+ }
+ ],
+ "taskLogic": {
+ "key": "_TaskLogic",
+ "logicFlavour": "MVEL",
+ "logic": "import java.util.Date;\nlogger.debug(subject.id);\ngc = getContextAlbum(\"GlobalContextAlbum\");\nlogger.debug(gc);\nlogger.debug(inFields);\noutFields[\"TestActCaseSelected\"] = (byte)0;\ntimeNow = new Date();\noutFields[\"TestActStateTime\"] = timeNow.getTime();\nlogger.debug(outFields);\nreturn true;"
+ }
+ }
+ },
+ {
+ "key": {
+ "name": "Task_Act3",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "Task_Act3",
+ "version": "0.0.1"
+ },
+ "inputFields": {
+ "entry": [
+ {
+ "key": "TestDecideCaseSelected",
+ "value": {
+ "key": "TestDecideCaseSelected",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestDecideStateTime",
+ "value": {
+ "key": "TestDecideStateTime",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestEstablishCaseSelected",
+ "value": {
+ "key": "TestEstablishCaseSelected",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestEstablishStateTime",
+ "value": {
+ "key": "TestEstablishStateTime",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchCase",
+ "value": {
+ "key": "TestMatchCase",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchCaseSelected",
+ "value": {
+ "key": "TestMatchCaseSelected",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchStateTime",
+ "value": {
+ "key": "TestMatchStateTime",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestSlogan",
+ "value": {
+ "key": "TestSlogan",
+ "fieldSchemaKey": {
+ "name": "TestSlogan",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestTemperature",
+ "value": {
+ "key": "TestTemperature",
+ "fieldSchemaKey": {
+ "name": "TestTemperature",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestTimestamp",
+ "value": {
+ "key": "TestTimestamp",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ }
+ ]
+ },
+ "outputFields": {
+ "entry": [
+ {
+ "key": "TestActCaseSelected",
+ "value": {
+ "key": "TestActCaseSelected",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestActStateTime",
+ "value": {
+ "key": "TestActStateTime",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestDecideCaseSelected",
+ "value": {
+ "key": "TestDecideCaseSelected",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestDecideStateTime",
+ "value": {
+ "key": "TestDecideStateTime",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestEstablishCaseSelected",
+ "value": {
+ "key": "TestEstablishCaseSelected",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestEstablishStateTime",
+ "value": {
+ "key": "TestEstablishStateTime",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchCase",
+ "value": {
+ "key": "TestMatchCase",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchCaseSelected",
+ "value": {
+ "key": "TestMatchCaseSelected",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchStateTime",
+ "value": {
+ "key": "TestMatchStateTime",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestSlogan",
+ "value": {
+ "key": "TestSlogan",
+ "fieldSchemaKey": {
+ "name": "TestSlogan",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestTemperature",
+ "value": {
+ "key": "TestTemperature",
+ "fieldSchemaKey": {
+ "name": "TestTemperature",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestTimestamp",
+ "value": {
+ "key": "TestTimestamp",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ }
+ ]
+ },
+ "taskParameters": {
+ "entry": [
+ {
+ "key": "Parameter0",
+ "value": {
+ "key": {
+ "parentKeyName": "Task_Act3",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "NULL",
+ "localName": "Parameter0"
+ },
+ "defaultValue": "DefaultValue0"
+ }
+ }
+ ]
+ },
+ "contextAlbumReference": [
+ {
+ "name": "ExternalContextAlbum",
+ "version": "0.0.1"
+ },
+ {
+ "name": "GlobalContextAlbum",
+ "version": "0.0.1"
+ }
+ ],
+ "taskLogic": {
+ "key": "_TaskLogic",
+ "logicFlavour": "MVEL",
+ "logic": "import java.util.Date;\nlogger.debug(subject.id);\ngc = getContextAlbum(\"GlobalContextAlbum\");\nlogger.debug(gc);\nlogger.debug(inFields);\noutFields[\"TestActCaseSelected\"] = (byte)1;\ntimeNow = new Date();\noutFields[\"TestActStateTime\"] = timeNow.getTime();\nlogger.debug(outFields);\nreturn true;"
+ }
+ }
+ },
+ {
+ "key": {
+ "name": "Task_Decide0",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "Task_Decide0",
+ "version": "0.0.1"
+ },
+ "inputFields": {
+ "entry": [
+ {
+ "key": "TestEstablishCaseSelected",
+ "value": {
+ "key": "TestEstablishCaseSelected",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestEstablishStateTime",
+ "value": {
+ "key": "TestEstablishStateTime",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchCase",
+ "value": {
+ "key": "TestMatchCase",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchCaseSelected",
+ "value": {
+ "key": "TestMatchCaseSelected",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchStateTime",
+ "value": {
+ "key": "TestMatchStateTime",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestSlogan",
+ "value": {
+ "key": "TestSlogan",
+ "fieldSchemaKey": {
+ "name": "TestSlogan",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestTemperature",
+ "value": {
+ "key": "TestTemperature",
+ "fieldSchemaKey": {
+ "name": "TestTemperature",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestTimestamp",
+ "value": {
+ "key": "TestTimestamp",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ }
+ ]
+ },
+ "outputFields": {
+ "entry": [
+ {
+ "key": "TestDecideCaseSelected",
+ "value": {
+ "key": "TestDecideCaseSelected",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestDecideStateTime",
+ "value": {
+ "key": "TestDecideStateTime",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestEstablishCaseSelected",
+ "value": {
+ "key": "TestEstablishCaseSelected",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestEstablishStateTime",
+ "value": {
+ "key": "TestEstablishStateTime",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchCase",
+ "value": {
+ "key": "TestMatchCase",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchCaseSelected",
+ "value": {
+ "key": "TestMatchCaseSelected",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchStateTime",
+ "value": {
+ "key": "TestMatchStateTime",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestSlogan",
+ "value": {
+ "key": "TestSlogan",
+ "fieldSchemaKey": {
+ "name": "TestSlogan",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestTemperature",
+ "value": {
+ "key": "TestTemperature",
+ "fieldSchemaKey": {
+ "name": "TestTemperature",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestTimestamp",
+ "value": {
+ "key": "TestTimestamp",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ }
+ ]
+ },
+ "taskParameters": {
+ "entry": [
+ {
+ "key": "Parameter0",
+ "value": {
+ "key": {
+ "parentKeyName": "Task_Decide0",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "NULL",
+ "localName": "Parameter0"
+ },
+ "defaultValue": "DefaultValue0"
+ }
+ },
+ {
+ "key": "Parameter1",
+ "value": {
+ "key": {
+ "parentKeyName": "Task_Decide0",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "NULL",
+ "localName": "Parameter1"
+ },
+ "defaultValue": "DefaultValue1"
+ }
+ },
+ {
+ "key": "Parameter2",
+ "value": {
+ "key": {
+ "parentKeyName": "Task_Decide0",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "NULL",
+ "localName": "Parameter2"
+ },
+ "defaultValue": "DefaultValue2"
+ }
+ }
+ ]
+ },
+ "contextAlbumReference": [
+ {
+ "name": "ExternalContextAlbum",
+ "version": "0.0.1"
+ },
+ {
+ "name": "GlobalContextAlbum",
+ "version": "0.0.1"
+ },
+ {
+ "name": "Policy0ContextAlbum",
+ "version": "0.0.1"
+ },
+ {
+ "name": "Policy1ContextAlbum",
+ "version": "0.0.1"
+ }
+ ],
+ "taskLogic": {
+ "key": "_TaskLogic",
+ "logicFlavour": "MVEL",
+ "logic": "import java.util.Date;\nlogger.debug(subject.id);\ngc = getContextAlbum(\"GlobalContextAlbum\");\nlogger.debug(gc);\nlogger.debug(inFields);\noutFields[\"TestDecideCaseSelected\"] = (byte)2;\ntimeNow = new Date();\noutFields[\"TestDecideStateTime\"] = timeNow.getTime();\nlogger.debug(outFields);\nreturn true;"
+ }
+ }
+ },
+ {
+ "key": {
+ "name": "Task_Decide1",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "Task_Decide1",
+ "version": "0.0.1"
+ },
+ "inputFields": {
+ "entry": [
+ {
+ "key": "TestEstablishCaseSelected",
+ "value": {
+ "key": "TestEstablishCaseSelected",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestEstablishStateTime",
+ "value": {
+ "key": "TestEstablishStateTime",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchCase",
+ "value": {
+ "key": "TestMatchCase",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchCaseSelected",
+ "value": {
+ "key": "TestMatchCaseSelected",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchStateTime",
+ "value": {
+ "key": "TestMatchStateTime",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestSlogan",
+ "value": {
+ "key": "TestSlogan",
+ "fieldSchemaKey": {
+ "name": "TestSlogan",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestTemperature",
+ "value": {
+ "key": "TestTemperature",
+ "fieldSchemaKey": {
+ "name": "TestTemperature",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestTimestamp",
+ "value": {
+ "key": "TestTimestamp",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ }
+ ]
+ },
+ "outputFields": {
+ "entry": [
+ {
+ "key": "TestDecideCaseSelected",
+ "value": {
+ "key": "TestDecideCaseSelected",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestDecideStateTime",
+ "value": {
+ "key": "TestDecideStateTime",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestEstablishCaseSelected",
+ "value": {
+ "key": "TestEstablishCaseSelected",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestEstablishStateTime",
+ "value": {
+ "key": "TestEstablishStateTime",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchCase",
+ "value": {
+ "key": "TestMatchCase",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchCaseSelected",
+ "value": {
+ "key": "TestMatchCaseSelected",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchStateTime",
+ "value": {
+ "key": "TestMatchStateTime",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestSlogan",
+ "value": {
+ "key": "TestSlogan",
+ "fieldSchemaKey": {
+ "name": "TestSlogan",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestTemperature",
+ "value": {
+ "key": "TestTemperature",
+ "fieldSchemaKey": {
+ "name": "TestTemperature",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestTimestamp",
+ "value": {
+ "key": "TestTimestamp",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ }
+ ]
+ },
+ "taskParameters": {
+ "entry": [
+ {
+ "key": "Parameter0",
+ "value": {
+ "key": {
+ "parentKeyName": "Task_Decide1",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "NULL",
+ "localName": "Parameter0"
+ },
+ "defaultValue": "DefaultValue0"
+ }
+ },
+ {
+ "key": "Parameter1",
+ "value": {
+ "key": {
+ "parentKeyName": "Task_Decide1",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "NULL",
+ "localName": "Parameter1"
+ },
+ "defaultValue": "DefaultValue1"
+ }
+ }
+ ]
+ },
+ "contextAlbumReference": [
+ {
+ "name": "GlobalContextAlbum",
+ "version": "0.0.1"
+ },
+ {
+ "name": "Policy0ContextAlbum",
+ "version": "0.0.1"
+ }
+ ],
+ "taskLogic": {
+ "key": "_TaskLogic",
+ "logicFlavour": "MVEL",
+ "logic": "import java.util.Date;\nlogger.debug(subject.id);\ngc = getContextAlbum(\"GlobalContextAlbum\");\nlogger.debug(gc);\nlogger.debug(inFields);\noutFields[\"TestDecideCaseSelected\"] = (byte)3;\ntimeNow = new Date();\noutFields[\"TestDecideStateTime\"] = timeNow.getTime();\nlogger.debug(outFields);\nreturn true;"
+ }
+ }
+ },
+ {
+ "key": {
+ "name": "Task_Decide2",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "Task_Decide2",
+ "version": "0.0.1"
+ },
+ "inputFields": {
+ "entry": [
+ {
+ "key": "TestEstablishCaseSelected",
+ "value": {
+ "key": "TestEstablishCaseSelected",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestEstablishStateTime",
+ "value": {
+ "key": "TestEstablishStateTime",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchCase",
+ "value": {
+ "key": "TestMatchCase",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchCaseSelected",
+ "value": {
+ "key": "TestMatchCaseSelected",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchStateTime",
+ "value": {
+ "key": "TestMatchStateTime",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestSlogan",
+ "value": {
+ "key": "TestSlogan",
+ "fieldSchemaKey": {
+ "name": "TestSlogan",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestTemperature",
+ "value": {
+ "key": "TestTemperature",
+ "fieldSchemaKey": {
+ "name": "TestTemperature",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestTimestamp",
+ "value": {
+ "key": "TestTimestamp",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ }
+ ]
+ },
+ "outputFields": {
+ "entry": [
+ {
+ "key": "TestDecideCaseSelected",
+ "value": {
+ "key": "TestDecideCaseSelected",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestDecideStateTime",
+ "value": {
+ "key": "TestDecideStateTime",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestEstablishCaseSelected",
+ "value": {
+ "key": "TestEstablishCaseSelected",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestEstablishStateTime",
+ "value": {
+ "key": "TestEstablishStateTime",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchCase",
+ "value": {
+ "key": "TestMatchCase",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchCaseSelected",
+ "value": {
+ "key": "TestMatchCaseSelected",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchStateTime",
+ "value": {
+ "key": "TestMatchStateTime",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestSlogan",
+ "value": {
+ "key": "TestSlogan",
+ "fieldSchemaKey": {
+ "name": "TestSlogan",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestTemperature",
+ "value": {
+ "key": "TestTemperature",
+ "fieldSchemaKey": {
+ "name": "TestTemperature",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestTimestamp",
+ "value": {
+ "key": "TestTimestamp",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ }
+ ]
+ },
+ "taskParameters": {
+ "entry": [
+ {
+ "key": "Parameter0",
+ "value": {
+ "key": {
+ "parentKeyName": "Task_Decide2",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "NULL",
+ "localName": "Parameter0"
+ },
+ "defaultValue": "DefaultValue0"
+ }
+ }
+ ]
+ },
+ "contextAlbumReference": [
+ {
+ "name": "GlobalContextAlbum",
+ "version": "0.0.1"
+ },
+ {
+ "name": "Policy1ContextAlbum",
+ "version": "0.0.1"
+ }
+ ],
+ "taskLogic": {
+ "key": "_TaskLogic",
+ "logicFlavour": "MVEL",
+ "logic": "import java.util.Date;\nlogger.debug(subject.id);\ngc = getContextAlbum(\"GlobalContextAlbum\");\nlogger.debug(gc);\nlogger.debug(inFields);\noutFields[\"TestDecideCaseSelected\"] = (byte)0;\ntimeNow = new Date();\noutFields[\"TestDecideStateTime\"] = timeNow.getTime();\nlogger.debug(outFields);\nreturn true;"
+ }
+ }
+ },
+ {
+ "key": {
+ "name": "Task_Decide3",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "Task_Decide3",
+ "version": "0.0.1"
+ },
+ "inputFields": {
+ "entry": [
+ {
+ "key": "TestEstablishCaseSelected",
+ "value": {
+ "key": "TestEstablishCaseSelected",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestEstablishStateTime",
+ "value": {
+ "key": "TestEstablishStateTime",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchCase",
+ "value": {
+ "key": "TestMatchCase",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchCaseSelected",
+ "value": {
+ "key": "TestMatchCaseSelected",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchStateTime",
+ "value": {
+ "key": "TestMatchStateTime",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestSlogan",
+ "value": {
+ "key": "TestSlogan",
+ "fieldSchemaKey": {
+ "name": "TestSlogan",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestTemperature",
+ "value": {
+ "key": "TestTemperature",
+ "fieldSchemaKey": {
+ "name": "TestTemperature",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestTimestamp",
+ "value": {
+ "key": "TestTimestamp",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ }
+ ]
+ },
+ "outputFields": {
+ "entry": [
+ {
+ "key": "TestDecideCaseSelected",
+ "value": {
+ "key": "TestDecideCaseSelected",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestDecideStateTime",
+ "value": {
+ "key": "TestDecideStateTime",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestEstablishCaseSelected",
+ "value": {
+ "key": "TestEstablishCaseSelected",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestEstablishStateTime",
+ "value": {
+ "key": "TestEstablishStateTime",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchCase",
+ "value": {
+ "key": "TestMatchCase",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchCaseSelected",
+ "value": {
+ "key": "TestMatchCaseSelected",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchStateTime",
+ "value": {
+ "key": "TestMatchStateTime",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestSlogan",
+ "value": {
+ "key": "TestSlogan",
+ "fieldSchemaKey": {
+ "name": "TestSlogan",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestTemperature",
+ "value": {
+ "key": "TestTemperature",
+ "fieldSchemaKey": {
+ "name": "TestTemperature",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestTimestamp",
+ "value": {
+ "key": "TestTimestamp",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ }
+ ]
+ },
+ "taskParameters": {
+ "entry": [
+ {
+ "key": "Parameter0",
+ "value": {
+ "key": {
+ "parentKeyName": "Task_Decide3",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "NULL",
+ "localName": "Parameter0"
+ },
+ "defaultValue": "DefaultValue0"
+ }
+ }
+ ]
+ },
+ "contextAlbumReference": [
+ {
+ "name": "ExternalContextAlbum",
+ "version": "0.0.1"
+ },
+ {
+ "name": "GlobalContextAlbum",
+ "version": "0.0.1"
+ }
+ ],
+ "taskLogic": {
+ "key": "_TaskLogic",
+ "logicFlavour": "MVEL",
+ "logic": "import java.util.Date;\nlogger.debug(subject.id);\ngc = getContextAlbum(\"GlobalContextAlbum\");\nlogger.debug(gc);\nlogger.debug(inFields);\noutFields[\"TestDecideCaseSelected\"] = (byte)1;\ntimeNow = new Date();\noutFields[\"TestDecideStateTime\"] = timeNow.getTime();\nlogger.debug(outFields);\nreturn true;"
+ }
+ }
+ },
+ {
+ "key": {
+ "name": "Task_Establish0",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "Task_Establish0",
+ "version": "0.0.1"
+ },
+ "inputFields": {
+ "entry": [
+ {
+ "key": "TestMatchCase",
+ "value": {
+ "key": "TestMatchCase",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchCaseSelected",
+ "value": {
+ "key": "TestMatchCaseSelected",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchStateTime",
+ "value": {
+ "key": "TestMatchStateTime",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestSlogan",
+ "value": {
+ "key": "TestSlogan",
+ "fieldSchemaKey": {
+ "name": "TestSlogan",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestTemperature",
+ "value": {
+ "key": "TestTemperature",
+ "fieldSchemaKey": {
+ "name": "TestTemperature",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestTimestamp",
+ "value": {
+ "key": "TestTimestamp",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ }
+ ]
+ },
+ "outputFields": {
+ "entry": [
+ {
+ "key": "TestEstablishCaseSelected",
+ "value": {
+ "key": "TestEstablishCaseSelected",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestEstablishStateTime",
+ "value": {
+ "key": "TestEstablishStateTime",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchCase",
+ "value": {
+ "key": "TestMatchCase",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchCaseSelected",
+ "value": {
+ "key": "TestMatchCaseSelected",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchStateTime",
+ "value": {
+ "key": "TestMatchStateTime",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestSlogan",
+ "value": {
+ "key": "TestSlogan",
+ "fieldSchemaKey": {
+ "name": "TestSlogan",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestTemperature",
+ "value": {
+ "key": "TestTemperature",
+ "fieldSchemaKey": {
+ "name": "TestTemperature",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestTimestamp",
+ "value": {
+ "key": "TestTimestamp",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ }
+ ]
+ },
+ "taskParameters": {
+ "entry": [
+ {
+ "key": "Parameter0",
+ "value": {
+ "key": {
+ "parentKeyName": "Task_Establish0",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "NULL",
+ "localName": "Parameter0"
+ },
+ "defaultValue": "DefaultValue0"
+ }
+ },
+ {
+ "key": "Parameter1",
+ "value": {
+ "key": {
+ "parentKeyName": "Task_Establish0",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "NULL",
+ "localName": "Parameter1"
+ },
+ "defaultValue": "DefaultValue1"
+ }
+ },
+ {
+ "key": "Parameter2",
+ "value": {
+ "key": {
+ "parentKeyName": "Task_Establish0",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "NULL",
+ "localName": "Parameter2"
+ },
+ "defaultValue": "DefaultValue2"
+ }
+ }
+ ]
+ },
+ "contextAlbumReference": [
+ {
+ "name": "ExternalContextAlbum",
+ "version": "0.0.1"
+ },
+ {
+ "name": "GlobalContextAlbum",
+ "version": "0.0.1"
+ },
+ {
+ "name": "Policy0ContextAlbum",
+ "version": "0.0.1"
+ },
+ {
+ "name": "Policy1ContextAlbum",
+ "version": "0.0.1"
+ }
+ ],
+ "taskLogic": {
+ "key": "_TaskLogic",
+ "logicFlavour": "MVEL",
+ "logic": "import java.util.Date;\nlogger.debug(subject.id);\ngc = getContextAlbum(\"GlobalContextAlbum\");\nlogger.debug(gc);\nlogger.debug(inFields);\noutFields[\"TestEstablishCaseSelected\"] = (byte)2;\ntimeNow = new Date();\noutFields[\"TestEstablishStateTime\"] = timeNow.getTime();\nlogger.debug(outFields);\nreturn true;"
+ }
+ }
+ },
+ {
+ "key": {
+ "name": "Task_Establish1",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "Task_Establish1",
+ "version": "0.0.1"
+ },
+ "inputFields": {
+ "entry": [
+ {
+ "key": "TestMatchCase",
+ "value": {
+ "key": "TestMatchCase",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchCaseSelected",
+ "value": {
+ "key": "TestMatchCaseSelected",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchStateTime",
+ "value": {
+ "key": "TestMatchStateTime",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestSlogan",
+ "value": {
+ "key": "TestSlogan",
+ "fieldSchemaKey": {
+ "name": "TestSlogan",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestTemperature",
+ "value": {
+ "key": "TestTemperature",
+ "fieldSchemaKey": {
+ "name": "TestTemperature",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestTimestamp",
+ "value": {
+ "key": "TestTimestamp",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ }
+ ]
+ },
+ "outputFields": {
+ "entry": [
+ {
+ "key": "TestEstablishCaseSelected",
+ "value": {
+ "key": "TestEstablishCaseSelected",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestEstablishStateTime",
+ "value": {
+ "key": "TestEstablishStateTime",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchCase",
+ "value": {
+ "key": "TestMatchCase",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchCaseSelected",
+ "value": {
+ "key": "TestMatchCaseSelected",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchStateTime",
+ "value": {
+ "key": "TestMatchStateTime",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestSlogan",
+ "value": {
+ "key": "TestSlogan",
+ "fieldSchemaKey": {
+ "name": "TestSlogan",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestTemperature",
+ "value": {
+ "key": "TestTemperature",
+ "fieldSchemaKey": {
+ "name": "TestTemperature",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestTimestamp",
+ "value": {
+ "key": "TestTimestamp",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ }
+ ]
+ },
+ "taskParameters": {
+ "entry": [
+ {
+ "key": "Parameter0",
+ "value": {
+ "key": {
+ "parentKeyName": "Task_Establish1",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "NULL",
+ "localName": "Parameter0"
+ },
+ "defaultValue": "DefaultValue0"
+ }
+ },
+ {
+ "key": "Parameter1",
+ "value": {
+ "key": {
+ "parentKeyName": "Task_Establish1",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "NULL",
+ "localName": "Parameter1"
+ },
+ "defaultValue": "DefaultValue1"
+ }
+ }
+ ]
+ },
+ "contextAlbumReference": [
+ {
+ "name": "GlobalContextAlbum",
+ "version": "0.0.1"
+ },
+ {
+ "name": "Policy0ContextAlbum",
+ "version": "0.0.1"
+ }
+ ],
+ "taskLogic": {
+ "key": "_TaskLogic",
+ "logicFlavour": "MVEL",
+ "logic": "import java.util.Date;\nlogger.debug(subject.id);\ngc = getContextAlbum(\"GlobalContextAlbum\");\nlogger.debug(gc);\nlogger.debug(inFields);\noutFields[\"TestEstablishCaseSelected\"] = (byte)3;\ntimeNow = new Date();\noutFields[\"TestEstablishStateTime\"] = timeNow.getTime();\nlogger.debug(outFields);\nreturn true;"
+ }
+ }
+ },
+ {
+ "key": {
+ "name": "Task_Establish2",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "Task_Establish2",
+ "version": "0.0.1"
+ },
+ "inputFields": {
+ "entry": [
+ {
+ "key": "TestMatchCase",
+ "value": {
+ "key": "TestMatchCase",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchCaseSelected",
+ "value": {
+ "key": "TestMatchCaseSelected",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchStateTime",
+ "value": {
+ "key": "TestMatchStateTime",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestSlogan",
+ "value": {
+ "key": "TestSlogan",
+ "fieldSchemaKey": {
+ "name": "TestSlogan",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestTemperature",
+ "value": {
+ "key": "TestTemperature",
+ "fieldSchemaKey": {
+ "name": "TestTemperature",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestTimestamp",
+ "value": {
+ "key": "TestTimestamp",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ }
+ ]
+ },
+ "outputFields": {
+ "entry": [
+ {
+ "key": "TestEstablishCaseSelected",
+ "value": {
+ "key": "TestEstablishCaseSelected",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestEstablishStateTime",
+ "value": {
+ "key": "TestEstablishStateTime",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchCase",
+ "value": {
+ "key": "TestMatchCase",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchCaseSelected",
+ "value": {
+ "key": "TestMatchCaseSelected",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchStateTime",
+ "value": {
+ "key": "TestMatchStateTime",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestSlogan",
+ "value": {
+ "key": "TestSlogan",
+ "fieldSchemaKey": {
+ "name": "TestSlogan",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestTemperature",
+ "value": {
+ "key": "TestTemperature",
+ "fieldSchemaKey": {
+ "name": "TestTemperature",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestTimestamp",
+ "value": {
+ "key": "TestTimestamp",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ }
+ ]
+ },
+ "taskParameters": {
+ "entry": [
+ {
+ "key": "Parameter0",
+ "value": {
+ "key": {
+ "parentKeyName": "Task_Establish2",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "NULL",
+ "localName": "Parameter0"
+ },
+ "defaultValue": "DefaultValue0"
+ }
+ }
+ ]
+ },
+ "contextAlbumReference": [
+ {
+ "name": "GlobalContextAlbum",
+ "version": "0.0.1"
+ },
+ {
+ "name": "Policy1ContextAlbum",
+ "version": "0.0.1"
+ }
+ ],
+ "taskLogic": {
+ "key": "_TaskLogic",
+ "logicFlavour": "MVEL",
+ "logic": "import java.util.Date;\nlogger.debug(subject.id);\ngc = getContextAlbum(\"GlobalContextAlbum\");\nlogger.debug(gc);\nlogger.debug(inFields);\noutFields[\"TestEstablishCaseSelected\"] = (byte)0;\ntimeNow = new Date();\noutFields[\"TestEstablishStateTime\"] = timeNow.getTime();\nlogger.debug(outFields);\nreturn true;"
+ }
+ }
+ },
+ {
+ "key": {
+ "name": "Task_Establish3",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "Task_Establish3",
+ "version": "0.0.1"
+ },
+ "inputFields": {
+ "entry": [
+ {
+ "key": "TestMatchCase",
+ "value": {
+ "key": "TestMatchCase",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchCaseSelected",
+ "value": {
+ "key": "TestMatchCaseSelected",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchStateTime",
+ "value": {
+ "key": "TestMatchStateTime",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestSlogan",
+ "value": {
+ "key": "TestSlogan",
+ "fieldSchemaKey": {
+ "name": "TestSlogan",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestTemperature",
+ "value": {
+ "key": "TestTemperature",
+ "fieldSchemaKey": {
+ "name": "TestTemperature",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestTimestamp",
+ "value": {
+ "key": "TestTimestamp",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ }
+ ]
+ },
+ "outputFields": {
+ "entry": [
+ {
+ "key": "TestEstablishCaseSelected",
+ "value": {
+ "key": "TestEstablishCaseSelected",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestEstablishStateTime",
+ "value": {
+ "key": "TestEstablishStateTime",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchCase",
+ "value": {
+ "key": "TestMatchCase",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchCaseSelected",
+ "value": {
+ "key": "TestMatchCaseSelected",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchStateTime",
+ "value": {
+ "key": "TestMatchStateTime",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestSlogan",
+ "value": {
+ "key": "TestSlogan",
+ "fieldSchemaKey": {
+ "name": "TestSlogan",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestTemperature",
+ "value": {
+ "key": "TestTemperature",
+ "fieldSchemaKey": {
+ "name": "TestTemperature",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestTimestamp",
+ "value": {
+ "key": "TestTimestamp",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ }
+ ]
+ },
+ "taskParameters": {
+ "entry": [
+ {
+ "key": "Parameter0",
+ "value": {
+ "key": {
+ "parentKeyName": "Task_Establish3",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "NULL",
+ "localName": "Parameter0"
+ },
+ "defaultValue": "DefaultValue0"
+ }
+ }
+ ]
+ },
+ "contextAlbumReference": [
+ {
+ "name": "ExternalContextAlbum",
+ "version": "0.0.1"
+ },
+ {
+ "name": "GlobalContextAlbum",
+ "version": "0.0.1"
+ }
+ ],
+ "taskLogic": {
+ "key": "_TaskLogic",
+ "logicFlavour": "MVEL",
+ "logic": "import java.util.Date;\nlogger.debug(subject.id);\ngc = getContextAlbum(\"GlobalContextAlbum\");\nlogger.debug(gc);\nlogger.debug(inFields);\noutFields[\"TestEstablishCaseSelected\"] = (byte)1;\ntimeNow = new Date();\noutFields[\"TestEstablishStateTime\"] = timeNow.getTime();\nlogger.debug(outFields);\nreturn true;"
+ }
+ }
+ },
+ {
+ "key": {
+ "name": "Task_Match0",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "Task_Match0",
+ "version": "0.0.1"
+ },
+ "inputFields": {
+ "entry": [
+ {
+ "key": "TestMatchCase",
+ "value": {
+ "key": "TestMatchCase",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestSlogan",
+ "value": {
+ "key": "TestSlogan",
+ "fieldSchemaKey": {
+ "name": "TestSlogan",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestTemperature",
+ "value": {
+ "key": "TestTemperature",
+ "fieldSchemaKey": {
+ "name": "TestTemperature",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestTimestamp",
+ "value": {
+ "key": "TestTimestamp",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ }
+ ]
+ },
+ "outputFields": {
+ "entry": [
+ {
+ "key": "TestMatchCase",
+ "value": {
+ "key": "TestMatchCase",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchCaseSelected",
+ "value": {
+ "key": "TestMatchCaseSelected",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchStateTime",
+ "value": {
+ "key": "TestMatchStateTime",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestSlogan",
+ "value": {
+ "key": "TestSlogan",
+ "fieldSchemaKey": {
+ "name": "TestSlogan",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestTemperature",
+ "value": {
+ "key": "TestTemperature",
+ "fieldSchemaKey": {
+ "name": "TestTemperature",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestTimestamp",
+ "value": {
+ "key": "TestTimestamp",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ }
+ ]
+ },
+ "taskParameters": {
+ "entry": [
+ {
+ "key": "Parameter0",
+ "value": {
+ "key": {
+ "parentKeyName": "Task_Match0",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "NULL",
+ "localName": "Parameter0"
+ },
+ "defaultValue": "DefaultValue0"
+ }
+ },
+ {
+ "key": "Parameter1",
+ "value": {
+ "key": {
+ "parentKeyName": "Task_Match0",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "NULL",
+ "localName": "Parameter1"
+ },
+ "defaultValue": "DefaultValue1"
+ }
+ },
+ {
+ "key": "Parameter2",
+ "value": {
+ "key": {
+ "parentKeyName": "Task_Match0",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "NULL",
+ "localName": "Parameter2"
+ },
+ "defaultValue": "DefaultValue2"
+ }
+ }
+ ]
+ },
+ "contextAlbumReference": [
+ {
+ "name": "ExternalContextAlbum",
+ "version": "0.0.1"
+ },
+ {
+ "name": "GlobalContextAlbum",
+ "version": "0.0.1"
+ },
+ {
+ "name": "Policy0ContextAlbum",
+ "version": "0.0.1"
+ },
+ {
+ "name": "Policy1ContextAlbum",
+ "version": "0.0.1"
+ }
+ ],
+ "taskLogic": {
+ "key": "_TaskLogic",
+ "logicFlavour": "MVEL",
+ "logic": "import java.util.Date;\nlogger.debug(subject.id);\ngc = getContextAlbum(\"GlobalContextAlbum\");\nlogger.debug(gc);\nlogger.debug(inFields);\noutFields[\"TestMatchCaseSelected\"] = (byte)2;\ntimeNow = new Date();\noutFields[\"TestMatchStateTime\"] = timeNow.getTime();\nlogger.debug(outFields);\nreturn true;"
+ }
+ }
+ },
+ {
+ "key": {
+ "name": "Task_Match1",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "Task_Match1",
+ "version": "0.0.1"
+ },
+ "inputFields": {
+ "entry": [
+ {
+ "key": "TestMatchCase",
+ "value": {
+ "key": "TestMatchCase",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestSlogan",
+ "value": {
+ "key": "TestSlogan",
+ "fieldSchemaKey": {
+ "name": "TestSlogan",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestTemperature",
+ "value": {
+ "key": "TestTemperature",
+ "fieldSchemaKey": {
+ "name": "TestTemperature",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestTimestamp",
+ "value": {
+ "key": "TestTimestamp",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ }
+ ]
+ },
+ "outputFields": {
+ "entry": [
+ {
+ "key": "TestMatchCase",
+ "value": {
+ "key": "TestMatchCase",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchCaseSelected",
+ "value": {
+ "key": "TestMatchCaseSelected",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchStateTime",
+ "value": {
+ "key": "TestMatchStateTime",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestSlogan",
+ "value": {
+ "key": "TestSlogan",
+ "fieldSchemaKey": {
+ "name": "TestSlogan",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestTemperature",
+ "value": {
+ "key": "TestTemperature",
+ "fieldSchemaKey": {
+ "name": "TestTemperature",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestTimestamp",
+ "value": {
+ "key": "TestTimestamp",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ }
+ ]
+ },
+ "taskParameters": {
+ "entry": [
+ {
+ "key": "Parameter0",
+ "value": {
+ "key": {
+ "parentKeyName": "Task_Match1",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "NULL",
+ "localName": "Parameter0"
+ },
+ "defaultValue": "DefaultValue0"
+ }
+ },
+ {
+ "key": "Parameter1",
+ "value": {
+ "key": {
+ "parentKeyName": "Task_Match1",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "NULL",
+ "localName": "Parameter1"
+ },
+ "defaultValue": "DefaultValue1"
+ }
+ }
+ ]
+ },
+ "contextAlbumReference": [
+ {
+ "name": "GlobalContextAlbum",
+ "version": "0.0.1"
+ },
+ {
+ "name": "Policy0ContextAlbum",
+ "version": "0.0.1"
+ }
+ ],
+ "taskLogic": {
+ "key": "_TaskLogic",
+ "logicFlavour": "MVEL",
+ "logic": "import java.util.Date;\nlogger.debug(subject.id);\ngc = getContextAlbum(\"GlobalContextAlbum\");\nlogger.debug(gc);\nlogger.debug(inFields);\noutFields[\"TestMatchCaseSelected\"] = (byte)3;\ntimeNow = new Date();\noutFields[\"TestMatchStateTime\"] = timeNow.getTime();\nlogger.debug(outFields);\nreturn true;"
+ }
+ }
+ },
+ {
+ "key": {
+ "name": "Task_Match2",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "Task_Match2",
+ "version": "0.0.1"
+ },
+ "inputFields": {
+ "entry": [
+ {
+ "key": "TestMatchCase",
+ "value": {
+ "key": "TestMatchCase",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestSlogan",
+ "value": {
+ "key": "TestSlogan",
+ "fieldSchemaKey": {
+ "name": "TestSlogan",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestTemperature",
+ "value": {
+ "key": "TestTemperature",
+ "fieldSchemaKey": {
+ "name": "TestTemperature",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestTimestamp",
+ "value": {
+ "key": "TestTimestamp",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ }
+ ]
+ },
+ "outputFields": {
+ "entry": [
+ {
+ "key": "TestMatchCase",
+ "value": {
+ "key": "TestMatchCase",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchCaseSelected",
+ "value": {
+ "key": "TestMatchCaseSelected",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchStateTime",
+ "value": {
+ "key": "TestMatchStateTime",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestSlogan",
+ "value": {
+ "key": "TestSlogan",
+ "fieldSchemaKey": {
+ "name": "TestSlogan",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestTemperature",
+ "value": {
+ "key": "TestTemperature",
+ "fieldSchemaKey": {
+ "name": "TestTemperature",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestTimestamp",
+ "value": {
+ "key": "TestTimestamp",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ }
+ ]
+ },
+ "taskParameters": {
+ "entry": [
+ {
+ "key": "Parameter0",
+ "value": {
+ "key": {
+ "parentKeyName": "Task_Match2",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "NULL",
+ "localName": "Parameter0"
+ },
+ "defaultValue": "DefaultValue0"
+ }
+ }
+ ]
+ },
+ "contextAlbumReference": [
+ {
+ "name": "GlobalContextAlbum",
+ "version": "0.0.1"
+ },
+ {
+ "name": "Policy1ContextAlbum",
+ "version": "0.0.1"
+ }
+ ],
+ "taskLogic": {
+ "key": "_TaskLogic",
+ "logicFlavour": "MVEL",
+ "logic": "import java.util.Date;\nlogger.debug(subject.id);\ngc = getContextAlbum(\"GlobalContextAlbum\");\nlogger.debug(gc);\nlogger.debug(inFields);\noutFields[\"TestMatchCaseSelected\"] = (byte)0;\ntimeNow = new Date();\noutFields[\"TestMatchStateTime\"] = timeNow.getTime();\nlogger.debug(outFields);\nreturn true;"
+ }
+ }
+ },
+ {
+ "key": {
+ "name": "Task_Match3",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "Task_Match3",
+ "version": "0.0.1"
+ },
+ "inputFields": {
+ "entry": [
+ {
+ "key": "TestMatchCase",
+ "value": {
+ "key": "TestMatchCase",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestSlogan",
+ "value": {
+ "key": "TestSlogan",
+ "fieldSchemaKey": {
+ "name": "TestSlogan",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestTemperature",
+ "value": {
+ "key": "TestTemperature",
+ "fieldSchemaKey": {
+ "name": "TestTemperature",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestTimestamp",
+ "value": {
+ "key": "TestTimestamp",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ }
+ ]
+ },
+ "outputFields": {
+ "entry": [
+ {
+ "key": "TestMatchCase",
+ "value": {
+ "key": "TestMatchCase",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchCaseSelected",
+ "value": {
+ "key": "TestMatchCaseSelected",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchStateTime",
+ "value": {
+ "key": "TestMatchStateTime",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestSlogan",
+ "value": {
+ "key": "TestSlogan",
+ "fieldSchemaKey": {
+ "name": "TestSlogan",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestTemperature",
+ "value": {
+ "key": "TestTemperature",
+ "fieldSchemaKey": {
+ "name": "TestTemperature",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestTimestamp",
+ "value": {
+ "key": "TestTimestamp",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ }
+ ]
+ },
+ "taskParameters": {
+ "entry": [
+ {
+ "key": "Parameter0",
+ "value": {
+ "key": {
+ "parentKeyName": "Task_Match3",
+ "parentKeyVersion": "0.0.1",
+ "parentLocalName": "NULL",
+ "localName": "Parameter0"
+ },
+ "defaultValue": "DefaultValue0"
+ }
+ }
+ ]
+ },
+ "contextAlbumReference": [
+ {
+ "name": "ExternalContextAlbum",
+ "version": "0.0.1"
+ },
+ {
+ "name": "GlobalContextAlbum",
+ "version": "0.0.1"
+ }
+ ],
+ "taskLogic": {
+ "key": "_TaskLogic",
+ "logicFlavour": "MVEL",
+ "logic": "import java.util.Date;\nlogger.debug(subject.id);\ngc = getContextAlbum(\"GlobalContextAlbum\");\nlogger.debug(gc);\nlogger.debug(inFields);\noutFields[\"TestMatchCaseSelected\"] = (byte)1;\ntimeNow = new Date();\noutFields[\"TestMatchStateTime\"] = timeNow.getTime();\nlogger.debug(outFields);\nreturn true;"
+ }
+ }
+ }
+ ]
+ }
+ },
+ "events": {
+ "key": {
+ "name": "Events",
+ "version": "0.0.1"
+ },
+ "eventMap": {
+ "entry": [
+ {
+ "key": {
+ "name": "Event0000",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "Event0000",
+ "version": "0.0.1"
+ },
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "source": "Outside",
+ "target": "Match",
+ "parameter": {
+ "entry": [
+ {
+ "key": "TestMatchCase",
+ "value": {
+ "key": "TestMatchCase",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestSlogan",
+ "value": {
+ "key": "TestSlogan",
+ "fieldSchemaKey": {
+ "name": "TestSlogan",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestTemperature",
+ "value": {
+ "key": "TestTemperature",
+ "fieldSchemaKey": {
+ "name": "TestTemperature",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestTimestamp",
+ "value": {
+ "key": "TestTimestamp",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "key": {
+ "name": "Event0001",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "Event0001",
+ "version": "0.0.1"
+ },
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "source": "Match",
+ "target": "Establish",
+ "parameter": {
+ "entry": [
+ {
+ "key": "TestMatchCase",
+ "value": {
+ "key": "TestMatchCase",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchCaseSelected",
+ "value": {
+ "key": "TestMatchCaseSelected",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchStateTime",
+ "value": {
+ "key": "TestMatchStateTime",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestSlogan",
+ "value": {
+ "key": "TestSlogan",
+ "fieldSchemaKey": {
+ "name": "TestSlogan",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestTemperature",
+ "value": {
+ "key": "TestTemperature",
+ "fieldSchemaKey": {
+ "name": "TestTemperature",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestTimestamp",
+ "value": {
+ "key": "TestTimestamp",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "key": {
+ "name": "Event0002",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "Event0002",
+ "version": "0.0.1"
+ },
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "source": "Establish",
+ "target": "Decide",
+ "parameter": {
+ "entry": [
+ {
+ "key": "TestEstablishCaseSelected",
+ "value": {
+ "key": "TestEstablishCaseSelected",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestEstablishStateTime",
+ "value": {
+ "key": "TestEstablishStateTime",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchCase",
+ "value": {
+ "key": "TestMatchCase",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchCaseSelected",
+ "value": {
+ "key": "TestMatchCaseSelected",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchStateTime",
+ "value": {
+ "key": "TestMatchStateTime",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestSlogan",
+ "value": {
+ "key": "TestSlogan",
+ "fieldSchemaKey": {
+ "name": "TestSlogan",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestTemperature",
+ "value": {
+ "key": "TestTemperature",
+ "fieldSchemaKey": {
+ "name": "TestTemperature",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestTimestamp",
+ "value": {
+ "key": "TestTimestamp",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "key": {
+ "name": "Event0003",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "Event0003",
+ "version": "0.0.1"
+ },
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "source": "Decide",
+ "target": "Act",
+ "parameter": {
+ "entry": [
+ {
+ "key": "TestDecideCaseSelected",
+ "value": {
+ "key": "TestDecideCaseSelected",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestDecideStateTime",
+ "value": {
+ "key": "TestDecideStateTime",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestEstablishCaseSelected",
+ "value": {
+ "key": "TestEstablishCaseSelected",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestEstablishStateTime",
+ "value": {
+ "key": "TestEstablishStateTime",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchCase",
+ "value": {
+ "key": "TestMatchCase",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchCaseSelected",
+ "value": {
+ "key": "TestMatchCaseSelected",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchStateTime",
+ "value": {
+ "key": "TestMatchStateTime",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestSlogan",
+ "value": {
+ "key": "TestSlogan",
+ "fieldSchemaKey": {
+ "name": "TestSlogan",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestTemperature",
+ "value": {
+ "key": "TestTemperature",
+ "fieldSchemaKey": {
+ "name": "TestTemperature",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestTimestamp",
+ "value": {
+ "key": "TestTimestamp",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "key": {
+ "name": "Event0004",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "Event0004",
+ "version": "0.0.1"
+ },
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "source": "Act",
+ "target": "Outside",
+ "parameter": {
+ "entry": [
+ {
+ "key": "TestActCaseSelected",
+ "value": {
+ "key": "TestActCaseSelected",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestActStateTime",
+ "value": {
+ "key": "TestActStateTime",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestDecideCaseSelected",
+ "value": {
+ "key": "TestDecideCaseSelected",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestDecideStateTime",
+ "value": {
+ "key": "TestDecideStateTime",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestEstablishCaseSelected",
+ "value": {
+ "key": "TestEstablishCaseSelected",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestEstablishStateTime",
+ "value": {
+ "key": "TestEstablishStateTime",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchCase",
+ "value": {
+ "key": "TestMatchCase",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchCaseSelected",
+ "value": {
+ "key": "TestMatchCaseSelected",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchStateTime",
+ "value": {
+ "key": "TestMatchStateTime",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestSlogan",
+ "value": {
+ "key": "TestSlogan",
+ "fieldSchemaKey": {
+ "name": "TestSlogan",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestTemperature",
+ "value": {
+ "key": "TestTemperature",
+ "fieldSchemaKey": {
+ "name": "TestTemperature",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestTimestamp",
+ "value": {
+ "key": "TestTimestamp",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "key": {
+ "name": "Event0100",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "Event0100",
+ "version": "0.0.1"
+ },
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "source": "Outside",
+ "target": "Match",
+ "parameter": {
+ "entry": [
+ {
+ "key": "TestMatchCase",
+ "value": {
+ "key": "TestMatchCase",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestSlogan",
+ "value": {
+ "key": "TestSlogan",
+ "fieldSchemaKey": {
+ "name": "TestSlogan",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestTemperature",
+ "value": {
+ "key": "TestTemperature",
+ "fieldSchemaKey": {
+ "name": "TestTemperature",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestTimestamp",
+ "value": {
+ "key": "TestTimestamp",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "key": {
+ "name": "Event0101",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "Event0101",
+ "version": "0.0.1"
+ },
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "source": "Match",
+ "target": "Establish",
+ "parameter": {
+ "entry": [
+ {
+ "key": "TestMatchCase",
+ "value": {
+ "key": "TestMatchCase",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchCaseSelected",
+ "value": {
+ "key": "TestMatchCaseSelected",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchStateTime",
+ "value": {
+ "key": "TestMatchStateTime",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestSlogan",
+ "value": {
+ "key": "TestSlogan",
+ "fieldSchemaKey": {
+ "name": "TestSlogan",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestTemperature",
+ "value": {
+ "key": "TestTemperature",
+ "fieldSchemaKey": {
+ "name": "TestTemperature",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestTimestamp",
+ "value": {
+ "key": "TestTimestamp",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "key": {
+ "name": "Event0102",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "Event0102",
+ "version": "0.0.1"
+ },
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "source": "Establish",
+ "target": "Decide",
+ "parameter": {
+ "entry": [
+ {
+ "key": "TestEstablishCaseSelected",
+ "value": {
+ "key": "TestEstablishCaseSelected",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestEstablishStateTime",
+ "value": {
+ "key": "TestEstablishStateTime",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchCase",
+ "value": {
+ "key": "TestMatchCase",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchCaseSelected",
+ "value": {
+ "key": "TestMatchCaseSelected",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchStateTime",
+ "value": {
+ "key": "TestMatchStateTime",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestSlogan",
+ "value": {
+ "key": "TestSlogan",
+ "fieldSchemaKey": {
+ "name": "TestSlogan",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestTemperature",
+ "value": {
+ "key": "TestTemperature",
+ "fieldSchemaKey": {
+ "name": "TestTemperature",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestTimestamp",
+ "value": {
+ "key": "TestTimestamp",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "key": {
+ "name": "Event0103",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "Event0103",
+ "version": "0.0.1"
+ },
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "source": "Decide",
+ "target": "Act",
+ "parameter": {
+ "entry": [
+ {
+ "key": "TestDecideCaseSelected",
+ "value": {
+ "key": "TestDecideCaseSelected",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestDecideStateTime",
+ "value": {
+ "key": "TestDecideStateTime",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestEstablishCaseSelected",
+ "value": {
+ "key": "TestEstablishCaseSelected",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestEstablishStateTime",
+ "value": {
+ "key": "TestEstablishStateTime",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchCase",
+ "value": {
+ "key": "TestMatchCase",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchCaseSelected",
+ "value": {
+ "key": "TestMatchCaseSelected",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchStateTime",
+ "value": {
+ "key": "TestMatchStateTime",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestSlogan",
+ "value": {
+ "key": "TestSlogan",
+ "fieldSchemaKey": {
+ "name": "TestSlogan",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestTemperature",
+ "value": {
+ "key": "TestTemperature",
+ "fieldSchemaKey": {
+ "name": "TestTemperature",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestTimestamp",
+ "value": {
+ "key": "TestTimestamp",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ }
+ ]
+ }
+ }
+ },
+ {
+ "key": {
+ "name": "Event0104",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "Event0104",
+ "version": "0.0.1"
+ },
+ "nameSpace": "org.onap.policy.apex.sample.events",
+ "source": "Act",
+ "target": "Outside",
+ "parameter": {
+ "entry": [
+ {
+ "key": "TestActCaseSelected",
+ "value": {
+ "key": "TestActCaseSelected",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestActStateTime",
+ "value": {
+ "key": "TestActStateTime",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestDecideCaseSelected",
+ "value": {
+ "key": "TestDecideCaseSelected",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestDecideStateTime",
+ "value": {
+ "key": "TestDecideStateTime",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestEstablishCaseSelected",
+ "value": {
+ "key": "TestEstablishCaseSelected",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestEstablishStateTime",
+ "value": {
+ "key": "TestEstablishStateTime",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchCase",
+ "value": {
+ "key": "TestMatchCase",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchCaseSelected",
+ "value": {
+ "key": "TestMatchCaseSelected",
+ "fieldSchemaKey": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestMatchStateTime",
+ "value": {
+ "key": "TestMatchStateTime",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestSlogan",
+ "value": {
+ "key": "TestSlogan",
+ "fieldSchemaKey": {
+ "name": "TestSlogan",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestTemperature",
+ "value": {
+ "key": "TestTemperature",
+ "fieldSchemaKey": {
+ "name": "TestTemperature",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ },
+ {
+ "key": "TestTimestamp",
+ "value": {
+ "key": "TestTimestamp",
+ "fieldSchemaKey": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "optional": false
+ }
+ }
+ ]
+ }
+ }
+ }
+ ]
+ }
+ },
+ "albums": {
+ "key": {
+ "name": "Context",
+ "version": "0.0.1"
+ },
+ "albums": {
+ "entry": [
+ {
+ "key": {
+ "name": "ExternalContextAlbum",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "ExternalContextAlbum",
+ "version": "0.0.1"
+ },
+ "scope": "EXTERNAL",
+ "isWritable": false,
+ "itemSchema": {
+ "name": "TestExternalContextItem",
+ "version": "0.0.1"
+ }
+ }
+ },
+ {
+ "key": {
+ "name": "GlobalContextAlbum",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "GlobalContextAlbum",
+ "version": "0.0.1"
+ },
+ "scope": "GLOBAL",
+ "isWritable": true,
+ "itemSchema": {
+ "name": "TestGlobalContextItem",
+ "version": "0.0.1"
+ }
+ }
+ },
+ {
+ "key": {
+ "name": "Policy0ContextAlbum",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "Policy0ContextAlbum",
+ "version": "0.0.1"
+ },
+ "scope": "APPLICATION",
+ "isWritable": true,
+ "itemSchema": {
+ "name": "TestPolicyContextItem",
+ "version": "0.0.1"
+ }
+ }
+ },
+ {
+ "key": {
+ "name": "Policy1ContextAlbum",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "Policy1ContextAlbum",
+ "version": "0.0.1"
+ },
+ "scope": "APPLICATION",
+ "isWritable": true,
+ "itemSchema": {
+ "name": "TestPolicyContextItem",
+ "version": "0.0.1"
+ }
+ }
+ }
+ ]
+ }
+ },
+ "schemas": {
+ "key": {
+ "name": "TestDatatypes",
+ "version": "0.0.1"
+ },
+ "schemas": {
+ "entry": [
+ {
+ "key": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "TestCase",
+ "version": "0.0.1"
+ },
+ "schemaFlavour": "Java",
+ "schemaDefinition": "java.lang.Byte"
+ }
+ },
+ {
+ "key": {
+ "name": "TestContextItem000",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "TestContextItem000",
+ "version": "0.0.1"
+ },
+ "schemaFlavour": "Java",
+ "schemaDefinition": "org.onap.policy.apex.context.test.concepts.TestContextItem000"
+ }
+ },
+ {
+ "key": {
+ "name": "TestContextItem001",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "TestContextItem001",
+ "version": "0.0.1"
+ },
+ "schemaFlavour": "Java",
+ "schemaDefinition": "org.onap.policy.apex.context.test.concepts.TestContextItem001"
+ }
+ },
+ {
+ "key": {
+ "name": "TestContextItem002",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "TestContextItem002",
+ "version": "0.0.1"
+ },
+ "schemaFlavour": "Java",
+ "schemaDefinition": "org.onap.policy.apex.context.test.concepts.TestContextItem002"
+ }
+ },
+ {
+ "key": {
+ "name": "TestContextItem003",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "TestContextItem003",
+ "version": "0.0.1"
+ },
+ "schemaFlavour": "Java",
+ "schemaDefinition": "org.onap.policy.apex.context.test.concepts.TestContextItem003"
+ }
+ },
+ {
+ "key": {
+ "name": "TestContextItem004",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "TestContextItem004",
+ "version": "0.0.1"
+ },
+ "schemaFlavour": "Java",
+ "schemaDefinition": "org.onap.policy.apex.context.test.concepts.TestContextItem004"
+ }
+ },
+ {
+ "key": {
+ "name": "TestContextItem005",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "TestContextItem005",
+ "version": "0.0.1"
+ },
+ "schemaFlavour": "Java",
+ "schemaDefinition": "org.onap.policy.apex.context.test.concepts.TestContextItem005"
+ }
+ },
+ {
+ "key": {
+ "name": "TestContextItem006",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "TestContextItem006",
+ "version": "0.0.1"
+ },
+ "schemaFlavour": "Java",
+ "schemaDefinition": "org.onap.policy.apex.context.test.concepts.TestContextItem006"
+ }
+ },
+ {
+ "key": {
+ "name": "TestContextItem007",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "TestContextItem007",
+ "version": "0.0.1"
+ },
+ "schemaFlavour": "Java",
+ "schemaDefinition": "org.onap.policy.apex.context.test.concepts.TestContextItem007"
+ }
+ },
+ {
+ "key": {
+ "name": "TestContextItem008",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "TestContextItem008",
+ "version": "0.0.1"
+ },
+ "schemaFlavour": "Java",
+ "schemaDefinition": "org.onap.policy.apex.context.test.concepts.TestContextItem008"
+ }
+ },
+ {
+ "key": {
+ "name": "TestContextItem009",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "TestContextItem009",
+ "version": "0.0.1"
+ },
+ "schemaFlavour": "Java",
+ "schemaDefinition": "org.onap.policy.apex.context.test.concepts.TestContextItem009"
+ }
+ },
+ {
+ "key": {
+ "name": "TestContextItem00A",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "TestContextItem00A",
+ "version": "0.0.1"
+ },
+ "schemaFlavour": "Java",
+ "schemaDefinition": "org.onap.policy.apex.context.test.concepts.TestContextItem00A"
+ }
+ },
+ {
+ "key": {
+ "name": "TestContextItem00B",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "TestContextItem00B",
+ "version": "0.0.1"
+ },
+ "schemaFlavour": "Java",
+ "schemaDefinition": "org.onap.policy.apex.context.test.concepts.TestContextItem00B"
+ }
+ },
+ {
+ "key": {
+ "name": "TestContextItem00C",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "TestContextItem00C",
+ "version": "0.0.1"
+ },
+ "schemaFlavour": "Java",
+ "schemaDefinition": "org.onap.policy.apex.context.test.concepts.TestContextItem00C"
+ }
+ },
+ {
+ "key": {
+ "name": "TestExternalContextItem",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "TestExternalContextItem",
+ "version": "0.0.1"
+ },
+ "schemaFlavour": "Java",
+ "schemaDefinition": "org.onap.policy.apex.context.test.concepts.TestExternalContextItem"
+ }
+ },
+ {
+ "key": {
+ "name": "TestGlobalContextItem",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "TestGlobalContextItem",
+ "version": "0.0.1"
+ },
+ "schemaFlavour": "Java",
+ "schemaDefinition": "org.onap.policy.apex.context.test.concepts.TestGlobalContextItem"
+ }
+ },
+ {
+ "key": {
+ "name": "TestPolicyContextItem",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "TestPolicyContextItem",
+ "version": "0.0.1"
+ },
+ "schemaFlavour": "Java",
+ "schemaDefinition": "org.onap.policy.apex.context.test.concepts.TestPolicyContextItem"
+ }
+ },
+ {
+ "key": {
+ "name": "TestSlogan",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "TestSlogan",
+ "version": "0.0.1"
+ },
+ "schemaFlavour": "Java",
+ "schemaDefinition": "java.lang.String"
+ }
+ },
+ {
+ "key": {
+ "name": "TestTemperature",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "TestTemperature",
+ "version": "0.0.1"
+ },
+ "schemaFlavour": "Java",
+ "schemaDefinition": "java.lang.Double"
+ }
+ },
+ {
+ "key": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "value": {
+ "key": {
+ "name": "TestTimestamp",
+ "version": "0.0.1"
+ },
+ "schemaFlavour": "Java",
+ "schemaDefinition": "java.lang.Long"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/testsuites/performance/performance-context-metrics/pom.xml b/testsuites/performance/performance-context-metrics/pom.xml
new file mode 100644
index 0000000..4f6eabf
--- /dev/null
+++ b/testsuites/performance/performance-context-metrics/pom.xml
@@ -0,0 +1,72 @@
+<!--
+ ============LICENSE_START=======================================================
+ Copyright (C) 2018 Ericsson. All rights reserved.
+ ================================================================================
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+ SPDX-License-Identifier: Apache-2.0
+ ============LICENSE_END=========================================================
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.onap.policy.apex-pdp.testsuites.performance</groupId>
+ <artifactId>performance</artifactId>
+ <version>2.0.0-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>performance-context-metrics</artifactId>
+ <name>${project.artifactId}</name>
+ <description>[${project.parent.artifactId}] module to calculate metrics using various plugins</description>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.onap.policy.apex-pdp.core</groupId>
+ <artifactId>core-infrastructure</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.plugins.plugins-context.context-distribution</groupId>
+ <artifactId>context-distribution-hazelcast</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.onap.policy.apex-pdp.plugins.plugins-context.context-distribution</groupId>
+ <artifactId>context-distribution-infinispan</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.onap.policy.apex-pdp.plugins.plugins-context.context-locking</groupId>
+ <artifactId>context-locking-curator</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.onap.policy.apex-pdp.plugins.plugins-context.context-locking</groupId>
+ <artifactId>context-locking-hazelcast</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.curator</groupId>
+ <artifactId>curator-test</artifactId>
+ <version>3.2.0</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+</project>
\ No newline at end of file
diff --git a/testsuites/performance/performance-context-metrics/src/main/java/org/onap/policy/apex/plugins/context/metrics/ConcurrentContextMetrics.java b/testsuites/performance/performance-context-metrics/src/main/java/org/onap/policy/apex/plugins/context/metrics/ConcurrentContextMetrics.java
new file mode 100644
index 0000000..cbe06ed
--- /dev/null
+++ b/testsuites/performance/performance-context-metrics/src/main/java/org/onap/policy/apex/plugins/context/metrics/ConcurrentContextMetrics.java
@@ -0,0 +1,525 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2016-2018 Ericsson. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.apex.plugins.context.metrics;
+
+import java.io.IOException;
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+import org.onap.policy.apex.context.ContextAlbum;
+import org.onap.policy.apex.context.ContextException;
+import org.onap.policy.apex.context.Distributor;
+import org.onap.policy.apex.context.impl.distribution.DistributorFactory;
+import org.onap.policy.apex.context.parameters.ContextParameters;
+import org.onap.policy.apex.context.parameters.DistributorParameters;
+import org.onap.policy.apex.context.parameters.LockManagerParameters;
+import org.onap.policy.apex.context.test.concepts.TestContextLongItem;
+import org.onap.policy.apex.context.test.factory.TestContextAlbumFactory;
+import org.onap.policy.apex.core.infrastructure.threading.ThreadUtilities;
+import org.onap.policy.apex.model.basicmodel.concepts.ApexException;
+import org.onap.policy.apex.model.basicmodel.concepts.AxArtifactKey;
+import org.onap.policy.apex.model.basicmodel.handling.ApexModelException;
+import org.onap.policy.apex.model.contextmodel.concepts.AxContextModel;
+import org.onap.policy.apex.plugins.context.distribution.infinispan.InfinispanDistributorParameters;
+import org.onap.policy.apex.plugins.context.locking.curator.CuratorLockManagerParameters;
+import org.slf4j.ext.XLogger;
+import org.slf4j.ext.XLoggerFactory;
+
+/**
+ * The Class concurrentContextMetrics tests concurrent use of context.
+ *
+ * @author Liam Fallon (liam.fallon@ericsson.com)
+ */
+public class ConcurrentContextMetrics {
+ private static final int NUM_ARGS = 8;
+ private static final int ARG_LABEL = 0;
+ private static final int ARG_JVM_COUNT = 1;
+ private static final int ARG_THREAD_COUNT = 2;
+ private static final int ARG_ITERATIONS = 3;
+ private static final int ARG_ARRAY_SIZE = 4;
+ private static final int ARG_LOCK_TYPE = 5;
+ private static final int ARG_ZOOKEEPER_ADDRESS = 6;
+ private static final int ARG_INTERACTIVE = 7;
+
+ private static final int TIME_10_MS = 10;
+
+ // Logger for this class
+ private static final XLogger LOGGER = XLoggerFactory.getXLogger(ConcurrentContextMetrics.class);
+
+ // Test parameters
+ private String testLabel = null;
+ private int jvmCount = -1;
+ private int threadCount = -1;
+ private int threadLoops = -1;
+ private int longArraySize = -1;
+ private int lockType = -1;
+ private String zookeeperAddress = null;
+ private long total = -1;
+ private boolean interactive = false;
+
+ // The context distributor and map used by each test
+ private Distributor contextDistributor = null;
+ private ContextAlbum lTypeAlbum = null;
+
+ private final DateFormat dateFormat = new SimpleDateFormat("yyyy,MM,dd,HH,mm,ss,S");
+
+ /**
+ * The main method.
+ *
+ * @param args the args
+ * @throws ApexModelException the apex model exception
+ * @throws IOException the IO exception
+ * @throws ApexException the apex exception
+ */
+ public static void main(final String[] args) throws ApexModelException, IOException, ApexException {
+ if (args.length != NUM_ARGS) {
+ System.err.println(
+ "usage: ConcurrentContextMetrics testLabel jvmCount threadCount threadLoops longArraySize lockType zookeeperAddress interactive");
+ return;
+ }
+ // @formatter:off
+ final ConcurrentContextMetrics concurrentContextMetrics = new ConcurrentContextMetrics(
+ args[ARG_LABEL],
+ Integer.valueOf(args[ARG_JVM_COUNT]),
+ Integer.valueOf(args[ARG_THREAD_COUNT]),
+ Integer.valueOf(args[ARG_ITERATIONS]),
+ Integer.valueOf(args[ARG_ARRAY_SIZE]),
+ Integer.valueOf(args[ARG_LOCK_TYPE]),
+ args[ARG_ZOOKEEPER_ADDRESS],
+ Boolean.valueOf(args[ARG_INTERACTIVE]));
+ // @formatter:on
+
+ concurrentContextMetrics.concurrentContextMetricsJVMLocal();
+ concurrentContextMetrics.concurrentContextMetricsCurator();
+ concurrentContextMetrics.concurrentContextMetricsHazelcast();
+ concurrentContextMetrics.concurrentContextMetricsHazelcastMultiJVMHazelcastLock();
+ concurrentContextMetrics.concurrentContextMetricsInfinispanMultiJVMHazelcastlock();
+ concurrentContextMetrics.concurrentContextMetricsInfinispanMultiJVMCuratorLock();
+ concurrentContextMetrics.concurrentContextMetricsHazelcastMultiJVMCuratorLock();
+ }
+
+ /**
+ * The Constructor.
+ *
+ * @param testLabel the test label
+ * @param jvmCount the jvm count
+ * @param threadCount the thread count
+ * @param threadLoops the thread loops
+ * @param longArraySize the long array size
+ * @param lockType the lock type
+ * @param zookeeperAddress the zookeeper address
+ * @param interactive the interactive
+ */
+ // CHECKSTYLE:OFF: checkstyle:parameterNumber
+ public ConcurrentContextMetrics(final String testLabel, final int jvmCount, final int threadCount,
+ final int threadLoops, final int longArraySize, final int lockType, final String zookeeperAddress,
+ final boolean interactive) {
+ // CHECKSTYLE:ON: checkstyle:parameterNumber
+ super();
+ this.testLabel = testLabel;
+ this.jvmCount = jvmCount;
+ this.threadCount = threadCount;
+ this.threadLoops = threadLoops;
+ this.longArraySize = longArraySize;
+ this.lockType = lockType;
+ this.zookeeperAddress = zookeeperAddress;
+ this.interactive = interactive;
+ }
+
+ /**
+ * Concurrent context metrics JVM local.
+ *
+ * @throws ApexModelException the apex model exception
+ * @throws IOException the IO exception
+ * @throws ApexException the apex exception
+ */
+ private void concurrentContextMetricsJVMLocal() throws ApexModelException, IOException, ApexException {
+ if (jvmCount != 1) {
+ return;
+ }
+
+ LOGGER.debug("Running concurrentContextMetricsJVMLocalVarSet metrics . . .");
+
+ final ContextParameters contextParameters = new ContextParameters();
+ contextParameters.getDistributorParameters()
+ .setPluginClass(DistributorParameters.DEFAULT_DISTRIBUTOR_PLUGIN_CLASS);
+ contextParameters.getLockManagerParameters()
+ .setPluginClass(LockManagerParameters.DEFAULT_LOCK_MANAGER_PLUGIN_CLASS);
+ runConcurrentContextMetrics("JVMLocal");
+
+ LOGGER.debug("Ran concurrentContextMetricsJVMLocalVarSet metrics");
+ }
+
+ /**
+ * Concurrent context metrics hazelcast.
+ *
+ * @throws ApexModelException the apex model exception
+ * @throws IOException the IO exception
+ * @throws ApexException the apex exception
+ */
+ private void concurrentContextMetricsHazelcast() throws ApexModelException, IOException, ApexException {
+ if (jvmCount != 1) {
+ return;
+ }
+
+ LOGGER.debug("Running concurrentContextMetricsHazelcast metrics . . .");
+
+ final ContextParameters contextParameters = new ContextParameters();
+ contextParameters.getDistributorParameters()
+ .setPluginClass(DistributorParameters.DEFAULT_DISTRIBUTOR_PLUGIN_CLASS);
+ contextParameters.getLockManagerParameters()
+ .setPluginClass("org.onap.policy.apex.plugins.context.locking.hazelcast.HazelcastLockManager");
+ runConcurrentContextMetrics("Hazelcast");
+
+ LOGGER.debug("Ran concurrentContextMetricsHazelcast metrics");
+ }
+
+ /**
+ * Concurrent context metrics curator.
+ *
+ * @throws ApexModelException the apex model exception
+ * @throws IOException the IO exception
+ * @throws ApexException the apex exception
+ */
+ private void concurrentContextMetricsCurator() throws ApexModelException, IOException, ApexException {
+ if (jvmCount != 1) {
+ return;
+ }
+
+ LOGGER.debug("Running concurrentContextMetricsCurator metrics . . .");
+
+ final ContextParameters contextParameters = new ContextParameters();
+ contextParameters.getDistributorParameters()
+ .setPluginClass(DistributorParameters.DEFAULT_DISTRIBUTOR_PLUGIN_CLASS);
+
+ final CuratorLockManagerParameters curatorParameters = new CuratorLockManagerParameters();
+ curatorParameters.setPluginClass("org.onap.policy.apex.plugins.context.locking.curator.CuratorLockManager");
+ contextParameters.setLockManagerParameters(curatorParameters);
+ curatorParameters.setZookeeperAddress(zookeeperAddress);
+
+ runConcurrentContextMetrics("Curator");
+
+ LOGGER.debug("Ran concurrentContextMetricsCurator metrics");
+ }
+
+ /**
+ * Concurrent context metrics hazelcast multi JVM hazelcast lock.
+ *
+ * @throws ApexModelException the apex model exception
+ * @throws IOException the IO exception
+ * @throws ApexException the apex exception
+ */
+ private void concurrentContextMetricsHazelcastMultiJVMHazelcastLock()
+ throws ApexModelException, IOException, ApexException {
+ LOGGER.debug("Running concurrentContextMetricsHazelcastMultiJVMHazelcastLock metrics . . .");
+
+ final ContextParameters contextParameters = new ContextParameters();
+ contextParameters.getDistributorParameters().setPluginClass(
+ "org.onap.policy.apex.plugins.context.distribution.hazelcast.HazelcastContextDistributor");
+ contextParameters.getLockManagerParameters()
+ .setPluginClass("org.onap.policy.apex.plugins.context.locking.hazelcast.HazelcastLockManager");
+ runConcurrentContextMetrics("HazelcastMultiJVMHazelcastLock");
+
+ LOGGER.debug("Ran concurrentContextMetricsHazelcastMultiJVMHazelcastLock metrics");
+ }
+
+ /**
+ * Concurrent context metrics infinispan multi JVM hazelcastlock.
+ *
+ * @throws ApexModelException the apex model exception
+ * @throws IOException the IO exception
+ * @throws ApexException the apex exception
+ */
+ private void concurrentContextMetricsInfinispanMultiJVMHazelcastlock()
+ throws ApexModelException, IOException, ApexException {
+ LOGGER.debug("Running concurrentContextMetricsInfinispanMultiJVMHazelcastlock metrics . . .");
+
+ final ContextParameters contextParameters = new ContextParameters();
+ contextParameters.getDistributorParameters().setPluginClass(
+ "org.onap.policy.apex.plugins.context.distribution.infinispan.InfinispanContextDistributor");
+ contextParameters.getLockManagerParameters()
+ .setPluginClass("org.onap.policy.apex.plugins.context.locking.hazelcast.HazelcastLockManager");
+
+ final InfinispanDistributorParameters infinispanParameters = new InfinispanDistributorParameters();
+ contextParameters.setDistributorParameters(infinispanParameters);
+
+ runConcurrentContextMetrics("InfinispanMultiJVMHazelcastlock");
+
+ LOGGER.debug("Ran concurrentContextMetricsInfinispanMultiJVMHazelcastlock metrics");
+ }
+
+ /**
+ * Concurrent context metrics infinispan multi JVM curator lock.
+ *
+ * @throws ApexModelException the apex model exception
+ * @throws IOException the IO exception
+ * @throws ApexException the apex exception
+ */
+ private void concurrentContextMetricsInfinispanMultiJVMCuratorLock()
+ throws ApexModelException, IOException, ApexException {
+ LOGGER.debug("Running concurrentContextMetricsInfinispanMultiJVMCuratorLock metrics . . .");
+
+ final ContextParameters contextParameters = new ContextParameters();
+ contextParameters.getDistributorParameters().setPluginClass(
+ "org.onap.policy.apex.plugins.context.distribution.infinispan.InfinispanContextDistributor");
+
+ final CuratorLockManagerParameters curatorParameters = new CuratorLockManagerParameters();
+ curatorParameters.setPluginClass("org.onap.policy.apex.plugins.context.locking.curator.CuratorLockManager");
+ contextParameters.setLockManagerParameters(curatorParameters);
+ curatorParameters.setZookeeperAddress(zookeeperAddress);
+
+ final InfinispanDistributorParameters infinispanParameters = new InfinispanDistributorParameters();
+ contextParameters.setDistributorParameters(infinispanParameters);
+
+ runConcurrentContextMetrics("InfinispanMultiJVMCuratorLock");
+
+ LOGGER.debug("Ran concurrentContextMetricsInfinispanMultiJVMCuratorLock metrics");
+ }
+
+ /**
+ * Concurrent context metrics hazelcast multi JVM curator lock.
+ *
+ * @throws ApexModelException the apex model exception
+ * @throws IOException the IO exception
+ * @throws ApexException the apex exception
+ */
+ private void concurrentContextMetricsHazelcastMultiJVMCuratorLock()
+ throws ApexModelException, IOException, ApexException {
+ LOGGER.debug("Running concurrentContextMetricsHazelcastMultiJVMCuratorLock metrics . . .");
+
+ final ContextParameters contextParameters = new ContextParameters();
+ contextParameters.getDistributorParameters().setPluginClass(
+ "org.onap.policy.apex.plugins.context.distribution.hazelcast.HazelcastContextDistributor");
+
+ final CuratorLockManagerParameters curatorParameters = new CuratorLockManagerParameters();
+ curatorParameters.setPluginClass("org.onap.policy.apex.plugins.context.locking.curator.CuratorLockManager");
+ contextParameters.setLockManagerParameters(curatorParameters);
+ curatorParameters.setZookeeperAddress(zookeeperAddress);
+
+ runConcurrentContextMetrics("HazelcastMultiJVMCuratorLock");
+
+ LOGGER.debug("Ran concurrentContextMetricsHazelcastMultiJVMCuratorLock metrics");
+ }
+
+ /**
+ * Run concurrent context metrics.
+ *
+ * @param testName the test name
+ * @throws ApexModelException the apex model exception
+ * @throws IOException the IO exception
+ * @throws ApexException the apex exception
+ */
+ private void runConcurrentContextMetrics(final String testName)
+ throws ApexModelException, IOException, ApexException {
+ total = -1;
+ outMetricLine(testName, "Init");
+
+ try {
+ setupContext();
+ } catch (final Exception e) {
+ e.printStackTrace();
+ throw e;
+ }
+
+ outMetricLine(testName, "Start");
+
+ Thread[] threadArray;
+
+ // Check if we have a single JVM or multiple JVMs
+ int runningThreadCount = -1;
+ if (jvmCount == 1) {
+ threadArray = new Thread[threadCount];
+
+ // Run everything in this JVM
+ for (int t = 0; t < threadCount; t++) {
+ threadArray[t] =
+ new Thread(new ConcurrentContextMetricsThread(0, t, threadLoops, longArraySize, lockType));
+ threadArray[t].setName(testLabel + "_" + testName + ":concurrentContextMetricsThread_0_" + t);
+ threadArray[t].start();
+ }
+
+ outMetricLine(testName, "Running");
+ runningThreadCount = threadCount;
+ } else {
+ threadArray = new Thread[jvmCount];
+
+ final ConcurrentContextMetricsJVMThread[] jvmArray = new ConcurrentContextMetricsJVMThread[jvmCount];
+ // Spawn JVMs to run the tests
+ for (int j = 0; j < jvmCount; j++) {
+ jvmArray[j] = new ConcurrentContextMetricsJVMThread(testLabel + "_" + testName, j, threadCount,
+ threadLoops, longArraySize, lockType);
+ threadArray[j] = new Thread(jvmArray[j]);
+ threadArray[j].setName(testLabel + "_" + testName + ":concurrentContextMetricsJVMThread_" + j);
+ threadArray[j].start();
+ }
+
+ boolean allReadyToGo;
+ do {
+ ThreadUtilities.sleep(TIME_10_MS);
+ allReadyToGo = true;
+ for (int j = 0; j < jvmCount; j++) {
+ if (!jvmArray[j].isReadyToGo()) {
+ allReadyToGo = false;
+ break;
+ }
+ }
+ } while (!allReadyToGo);
+
+ outMetricLine(testName, "Ready");
+ if (interactive) {
+ System.in.read();
+ }
+ outMetricLine(testName, "Running");
+
+ for (int j = 0; j < jvmCount; j++) {
+ jvmArray[j].offYouGo();
+ }
+
+ boolean allFinished;
+ do {
+ ThreadUtilities.sleep(TIME_10_MS);
+ allFinished = true;
+ for (int j = 0; j < jvmCount; j++) {
+ if (!jvmArray[j].isAllFinished()) {
+ allFinished = false;
+ break;
+ }
+ }
+ } while (!allFinished);
+
+ outMetricLine(testName, "Completed");
+
+ verifyContext(testName);
+
+ for (int j = 0; j < jvmCount; j++) {
+ jvmArray[j].finishItOut();
+ }
+
+ runningThreadCount = jvmCount;
+ }
+
+ boolean allFinished;
+ do {
+ ThreadUtilities.sleep(TIME_10_MS);
+ allFinished = true;
+ for (int i = 0; i < runningThreadCount; i++) {
+ if (threadArray[i].isAlive()) {
+ allFinished = false;
+ break;
+ }
+ }
+ } while (!allFinished);
+
+ if (jvmCount == 1) {
+ outMetricLine(testName, "Completed");
+ verifyContext(testName);
+ }
+
+ clearContext(testName);
+ }
+
+ /**
+ * Setup context.
+ *
+ * @throws ContextException the context exception
+ */
+ private void setupContext() throws ContextException {
+ final AxArtifactKey distributorKey = new AxArtifactKey("ApexDistributor", "0.0.1");
+ contextDistributor = new DistributorFactory().getDistributor(distributorKey);
+
+ final AxArtifactKey[] usedArtifactStackArray = {new AxArtifactKey("testC-top", "0.0.1"),
+ new AxArtifactKey("testC-next", "0.0.1"), new AxArtifactKey("testC-bot", "0.0.1")};
+
+ final AxContextModel albumsModel = TestContextAlbumFactory.createMultiAlbumsContextModel();
+ contextDistributor.registerModel(albumsModel);
+
+ lTypeAlbum = contextDistributor.createContextAlbum(new AxArtifactKey("LTypeContextAlbum", "0.0.1"));
+ assert (lTypeAlbum != null);
+ lTypeAlbum.setUserArtifactStack(usedArtifactStackArray);
+
+ for (int i = 0; i < longArraySize; i++) {
+ final String longKey = Integer.toString(i);
+ final TestContextLongItem longItem = new TestContextLongItem();
+ longItem.setLongValue(0);
+ lTypeAlbum.put(longKey, longItem);
+ }
+ }
+
+ /**
+ * Verify context.
+ *
+ * @param testName the test name
+ * @throws ContextException the context exception
+ */
+ private void verifyContext(final String testName) throws ContextException {
+ total = 0;
+
+ try {
+ for (int i = 0; i < longArraySize; i++) {
+ total += ((TestContextLongItem) lTypeAlbum.get(Integer.toString(i))).getLongValue();
+ }
+
+ outMetricLine(testName, "Totaled");
+ } catch (final Exception e) {
+ e.printStackTrace();
+ }
+
+ if (lockType == 2) {
+ if (total == jvmCount * threadCount * threadLoops) {
+ outMetricLine(testName, "VerifiedOK");
+ } else {
+ outMetricLine(testName, "VerifiedFail");
+ }
+ } else {
+ if (total == 0) {
+ outMetricLine(testName, "VerifiedOK");
+ } else {
+ outMetricLine(testName, "VerifiedFail");
+ }
+ }
+ }
+
+ /**
+ * Clear context.
+ *
+ * @param testName the test name
+ * @throws ContextException the context exception
+ */
+ private void clearContext(final String testName) throws ContextException {
+ contextDistributor.clear();
+ contextDistributor = null;
+
+ outMetricLine(testName, "Cleared");
+ }
+
+ /**
+ * Out metric line.
+ *
+ * @param testName the test name
+ * @param testPhase the test phase
+ */
+ public void outMetricLine(final String testName, final String testPhase) {
+ System.out.println("ContextMetrics," + dateFormat.format(new Date()) + "," + System.currentTimeMillis() + ","
+ + testLabel + "," + testName + "," + testPhase + "," + jvmCount + "," + threadCount + "," + threadLoops
+ + "," + longArraySize + "," + lockType + "," + total);
+ }
+}
diff --git a/testsuites/performance/performance-context-metrics/src/main/java/org/onap/policy/apex/plugins/context/metrics/ConcurrentContextMetricsJVM.java b/testsuites/performance/performance-context-metrics/src/main/java/org/onap/policy/apex/plugins/context/metrics/ConcurrentContextMetricsJVM.java
new file mode 100644
index 0000000..ed81e39
--- /dev/null
+++ b/testsuites/performance/performance-context-metrics/src/main/java/org/onap/policy/apex/plugins/context/metrics/ConcurrentContextMetricsJVM.java
@@ -0,0 +1,212 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2016-2018 Ericsson. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.apex.plugins.context.metrics;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.util.Arrays;
+
+import org.onap.policy.apex.context.ContextAlbum;
+import org.onap.policy.apex.context.Distributor;
+import org.onap.policy.apex.context.impl.distribution.DistributorFactory;
+import org.onap.policy.apex.context.test.factory.TestContextAlbumFactory;
+import org.onap.policy.apex.core.infrastructure.threading.ThreadUtilities;
+import org.onap.policy.apex.model.basicmodel.concepts.ApexException;
+import org.onap.policy.apex.model.basicmodel.concepts.AxArtifactKey;
+import org.onap.policy.apex.model.basicmodel.service.AbstractParameters;
+import org.onap.policy.apex.model.basicmodel.service.ParameterService;
+import org.onap.policy.apex.model.contextmodel.concepts.AxContextModel;
+import org.onap.policy.apex.model.utilities.Assertions;
+import org.slf4j.ext.XLogger;
+import org.slf4j.ext.XLoggerFactory;
+
+import com.google.gson.Gson;
+import com.google.gson.JsonSyntaxException;
+
+/**
+ * The Class ConcurrentContextMetricsJVM rins in its own JVM to test concurrent context updates and
+ * lockings across JVMs.
+ *
+ * @author Liam Fallon (liam.fallon@ericsson.com)
+ */
+public final class ConcurrentContextMetricsJVM {
+ // Logger for this class
+ private static final XLogger LOGGER = XLoggerFactory.getXLogger(ConcurrentContextMetricsJVM.class);
+
+ private static final int NUM_ARGS = 6;
+ private static final int ARG_JVM_NO = 1;
+ private static final int ARG_THREAD_COUNT = 2;
+ private static final int ARG_ITERATIONS = 3;
+ private static final int ARG_ARRAY_SIZE = 4;
+ private static final int ARG_LOCK_TYPE = 5;
+
+ private static final int WAIT_10_MS = 10;
+
+ /**
+ * The Constructor for this class.
+ *
+ * @param testType the test type
+ * @param jvmNo the jvm no
+ * @param threadCount the thread count
+ * @param threadLoops the thread loops
+ * @param longArraySize the long array size
+ * @param lockType the lock type
+ * @throws ApexException the apex exception
+ * @throws IOException the IO exception
+ */
+ private ConcurrentContextMetricsJVM(final String testType, final int jvmNo, final int threadCount,
+ final int threadLoops, final int longArraySize, final int lockType) throws ApexException, IOException {
+ LOGGER.debug("starting JVMs and threads . . .");
+
+ final BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
+
+ // Set up the distributor for this JVM
+ final AxArtifactKey distributorKey = new AxArtifactKey("ApexDistributor", "0.0.1");
+ final Distributor contextDistributor = new DistributorFactory().getDistributor(distributorKey);
+
+ final AxArtifactKey[] usedArtifactStackArray = {new AxArtifactKey("testC-top_" + jvmNo, "0.0.1"),
+ new AxArtifactKey("testC-next_" + jvmNo, "0.0.1"), new AxArtifactKey("testC-bot_" + jvmNo, "0.0.1")};
+
+ final AxContextModel testAxContextModel = TestContextAlbumFactory.createLongContextModel();
+ contextDistributor.registerModel(testAxContextModel);
+ final ContextAlbum testContextAlbum =
+ contextDistributor.createContextAlbum(new AxArtifactKey("LongSameTypeContextAlbum", "0.0.1"));
+ Assertions.argumentNotNull(testContextAlbum, "testContextAlbum may not be null");
+ testContextAlbum.setUserArtifactStack(usedArtifactStackArray);
+
+ final Thread[] threadArray = new Thread[threadCount];
+
+ for (int t = 0; t < threadCount; t++) {
+ threadArray[t] =
+ new Thread(new ConcurrentContextMetricsThread(jvmNo, t, threadLoops, longArraySize, lockType));
+ threadArray[t].setName(testType + ":ConcurrentContextMetricsThread_" + jvmNo + "_" + t);
+ threadArray[t].start();
+ LOGGER.debug("started thread " + threadArray[t].getName());
+ }
+
+ System.out.println("ReadyToGo");
+ while (true) {
+ final String goLine = bufferedReader.readLine();
+ if (!goLine.trim().equals("OffYouGo")) {
+ throw new IOException("Expected OffYouGo");
+ }
+ break;
+ }
+
+ boolean allFinished;
+ do {
+ allFinished = true;
+ for (int t = 0; t < threadCount; t++) {
+ if (threadArray[t].isAlive()) {
+ allFinished = false;
+ ThreadUtilities.sleep(WAIT_10_MS);
+ break;
+ }
+ }
+ } while (!allFinished);
+
+ System.out.println("AllFinished");
+ while (true) {
+ final String goLine = bufferedReader.readLine();
+ if (!goLine.trim().equals("FinishItOut")) {
+ throw new IOException("Expected FinishItOut");
+ }
+ break;
+ }
+
+ LOGGER.debug("threads finished");
+ contextDistributor.clear();
+ }
+
+ /**
+ * The main method.
+ *
+ * @param args the args
+ * @throws JsonSyntaxException the json syntax exception
+ * @throws ClassNotFoundException the class not found exception
+ */
+ @SuppressWarnings("unchecked")
+ public static void main(final String[] args) throws JsonSyntaxException, ClassNotFoundException {
+ if (args.length < NUM_ARGS || (args.length % 2 != 0)) {
+ LOGGER.error("invalid arguments: " + Arrays.toString(args));
+ LOGGER.error(
+ "usage: ConcurrentContextMetricsJVM testLabel jvmNo threadCount threadLoops longArraySize lockType [parameterKey parameterJson].... ");
+ return;
+ }
+
+ int jvmNo = -1;
+ int threadCount = -1;
+ int threadLoops = -1;
+ int longArraySize = -1;
+ int lockType = -1;
+
+ try {
+ jvmNo = Integer.parseInt(args[ARG_JVM_NO]);
+ } catch (final Exception e) {
+ LOGGER.error("invalid argument jvmNo", e);
+ return;
+ }
+
+ try {
+ threadCount = Integer.parseInt(args[ARG_THREAD_COUNT]);
+ } catch (final Exception e) {
+ LOGGER.error("invalid argument threadCount", e);
+ return;
+ }
+
+ try {
+ threadLoops = Integer.parseInt(args[ARG_ITERATIONS]);
+ } catch (final Exception e) {
+ LOGGER.error("invalid argument threadLoops", e);
+ return;
+ }
+
+ try {
+ longArraySize = Integer.parseInt(args[ARG_ARRAY_SIZE]);
+ } catch (final Exception e) {
+ LOGGER.error("invalid argument longArraySize", e);
+ return;
+ }
+
+ try {
+ lockType = Integer.parseInt(args[ARG_LOCK_TYPE]);
+ } catch (final Exception e) {
+ LOGGER.error("invalid argument lockType", e);
+ return;
+ }
+
+ for (int p = NUM_ARGS; p < args.length - 1; p += 2) {
+ @SuppressWarnings("rawtypes")
+ final Class parametersClass = Class.forName(args[p]);
+ final AbstractParameters parameters =
+ (AbstractParameters) new Gson().fromJson(args[p + 1], parametersClass);
+ ParameterService.registerParameters(parametersClass, parameters);
+ }
+
+ try {
+ new ConcurrentContextMetricsJVM(args[0], jvmNo, threadCount, threadLoops, longArraySize, lockType);
+ } catch (final Exception e) {
+ LOGGER.error("error running test in JVM", e);
+ return;
+ }
+ }
+}
diff --git a/testsuites/performance/performance-context-metrics/src/main/java/org/onap/policy/apex/plugins/context/metrics/ConcurrentContextMetricsJVMThread.java b/testsuites/performance/performance-context-metrics/src/main/java/org/onap/policy/apex/plugins/context/metrics/ConcurrentContextMetricsJVMThread.java
new file mode 100644
index 0000000..64bc0ca
--- /dev/null
+++ b/testsuites/performance/performance-context-metrics/src/main/java/org/onap/policy/apex/plugins/context/metrics/ConcurrentContextMetricsJVMThread.java
@@ -0,0 +1,187 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2016-2018 Ericsson. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.apex.plugins.context.metrics;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.PrintWriter;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map.Entry;
+
+import org.onap.policy.apex.model.basicmodel.concepts.ApexException;
+import org.onap.policy.apex.model.basicmodel.service.AbstractParameters;
+import org.onap.policy.apex.model.basicmodel.service.ParameterService;
+import org.slf4j.ext.XLogger;
+import org.slf4j.ext.XLoggerFactory;
+
+import com.google.gson.Gson;
+
+/**
+ * The Class ConcurrentContextMetricsJVMThread gets metrics for concurrent use of context.
+ *
+ * @author Liam Fallon (liam.fallon@ericsson.com)
+ */
+public class ConcurrentContextMetricsJVMThread implements Runnable {
+ // Logger for this class
+ private static final XLogger LOGGER = XLoggerFactory.getXLogger(ConcurrentContextMetricsJVMThread.class);
+
+ private final String testType;
+ private final int jvm;
+ private final int threadCount;
+ private final int threadLoops;
+ private final int longArraySize;
+ private final int lockType;
+
+ private boolean readyToGo = false;
+ private boolean allFinished = false;
+
+ private PrintWriter processWriter;
+
+ /**
+ * The Constructor.
+ *
+ * @param testType the test type
+ * @param jvm the jvm
+ * @param threadCount the thread count
+ * @param threadLoops the thread loops
+ * @param longArraySize the long array size
+ * @param lockType the lock type
+ * @throws ApexException the apex exception
+ */
+ public ConcurrentContextMetricsJVMThread(final String testType, final int jvm, final int threadCount,
+ final int threadLoops, final int longArraySize, final int lockType) throws ApexException {
+ this.testType = testType;
+ this.jvm = jvm;
+ this.threadCount = threadCount;
+ this.threadLoops = threadLoops;
+ this.longArraySize = longArraySize;
+ this.lockType = lockType;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see java.lang.Runnable#run()
+ */
+ @Override
+ public void run() {
+ final List<String> commandList = new ArrayList<>();
+ commandList.add(System.getProperty("java.home") + System.getProperty("file.separator") + "bin"
+ + System.getProperty("file.separator") + "java");
+ commandList.add("-cp");
+ commandList.add(System.getProperty("java.class.path"));
+ for (final Entry<Object, Object> property : System.getProperties().entrySet()) {
+ if (property.getKey().toString().startsWith("APEX")
+ || property.getKey().toString().equals("java.net.preferIPv4Stack")
+ || property.getKey().toString().equals("jgroups.bind_addr")) {
+ commandList.add("-D" + property.getKey().toString() + "=" + property.getValue().toString());
+ }
+ }
+ commandList.add("org.onap.policy.apex.plugins.context.metrics.ConcurrentContextMetricsJVM");
+ commandList.add(testType);
+ commandList.add(new Integer(jvm).toString());
+ commandList.add(new Integer(threadCount).toString());
+ commandList.add(new Integer(threadLoops).toString());
+ commandList.add(new Integer(longArraySize).toString());
+ commandList.add(new Integer(lockType).toString());
+
+ for (final Entry<Class<?>, AbstractParameters> parameterServiceEntry : ParameterService.getAll()) {
+ commandList.add(parameterServiceEntry.getKey().getCanonicalName());
+ commandList.add(new Gson().toJson(parameterServiceEntry.getValue()));
+ }
+
+ LOGGER.info("starting JVM " + jvm);
+
+ // Run the JVM
+ final ProcessBuilder processBuilder = new ProcessBuilder(commandList);
+ processBuilder.redirectErrorStream(true);
+ Process process;
+
+ try {
+ process = processBuilder.start();
+
+ final InputStream is = process.getInputStream();
+ processWriter = new PrintWriter(process.getOutputStream());
+ final InputStreamReader isr = new InputStreamReader(is);
+ final BufferedReader br = new BufferedReader(isr);
+
+ String line;
+
+ LOGGER.info("JVM Output for command " + commandList + "\n");
+ while ((line = br.readLine()) != null) {
+ LOGGER.info(line);
+
+ if (line.trim().equals("ReadyToGo")) {
+ readyToGo = true;
+ } else if (line.trim().equals("AllFinished")) {
+ allFinished = true;
+ }
+ }
+
+ // Wait to get exit value
+ try {
+ final int exitValue = process.waitFor();
+ LOGGER.info("\n\nJVM " + jvm + " finished, exit value is " + exitValue);
+ } catch (final InterruptedException e) {
+ e.printStackTrace();
+ }
+ } catch (final IOException e1) {
+ e1.printStackTrace();
+ }
+ }
+
+ /**
+ * Checks if is ready to go.
+ *
+ * @return true, if checks if is ready to go
+ */
+ public boolean isReadyToGo() {
+ return readyToGo;
+ }
+
+ /**
+ * Checks if is all finished.
+ *
+ * @return true, if checks if is all finished
+ */
+ public boolean isAllFinished() {
+ return allFinished;
+ }
+
+ /**
+ * Off you go.
+ */
+ public void offYouGo() {
+ processWriter.println("OffYouGo");
+ processWriter.flush();
+ }
+
+ /**
+ * Finish it out.
+ */
+ public void finishItOut() {
+ processWriter.println("FinishItOut");
+ processWriter.flush();
+ }
+}
diff --git a/testsuites/performance/performance-context-metrics/src/main/java/org/onap/policy/apex/plugins/context/metrics/ConcurrentContextMetricsThread.java b/testsuites/performance/performance-context-metrics/src/main/java/org/onap/policy/apex/plugins/context/metrics/ConcurrentContextMetricsThread.java
new file mode 100644
index 0000000..e207832
--- /dev/null
+++ b/testsuites/performance/performance-context-metrics/src/main/java/org/onap/policy/apex/plugins/context/metrics/ConcurrentContextMetricsThread.java
@@ -0,0 +1,170 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2016-2018 Ericsson. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.apex.plugins.context.metrics;
+
+import java.util.Random;
+
+import org.onap.policy.apex.context.ContextAlbum;
+import org.onap.policy.apex.context.ContextException;
+import org.onap.policy.apex.context.Distributor;
+import org.onap.policy.apex.context.impl.distribution.DistributorFactory;
+import org.onap.policy.apex.context.test.concepts.TestContextLongItem;
+import org.onap.policy.apex.context.test.factory.TestContextAlbumFactory;
+import org.onap.policy.apex.model.basicmodel.concepts.ApexException;
+import org.onap.policy.apex.model.basicmodel.concepts.AxArtifactKey;
+import org.onap.policy.apex.model.contextmodel.concepts.AxContextModel;
+import org.slf4j.ext.XLogger;
+import org.slf4j.ext.XLoggerFactory;
+
+/**
+ * The Class ConcurrentContextMetricsThread gets metrics for concurrent use of context.
+ *
+ * @author Liam Fallon (liam.fallon@ericsson.com)
+ */
+public class ConcurrentContextMetricsThread implements Runnable {
+ // Logger for this class
+ private static final XLogger LOGGER = XLoggerFactory.getXLogger(ConcurrentContextMetricsThread.class);
+ private final Distributor contextDistributor;
+ private final int jvm;
+ private final int instance;
+ private final int threadLoops;
+ private final int longArraySize;
+ private final int lockType;
+
+ /**
+ * The Constructor.
+ *
+ * @param jvm the jvm
+ * @param instance the instance
+ * @param threadLoops the thread loops
+ * @param longArraySize the long array size
+ * @param lockType the lock type
+ * @throws ApexException the apex exception
+ */
+ public ConcurrentContextMetricsThread(final int jvm, final int instance, final int threadLoops,
+ final int longArraySize, final int lockType) throws ApexException {
+ this.jvm = jvm;
+ this.instance = instance;
+ this.threadLoops = threadLoops;
+ this.longArraySize = longArraySize;
+ this.lockType = lockType;
+
+ final AxArtifactKey distributorKey = new AxArtifactKey("ApexDistributor_" + jvm + "_" + instance, "0.0.1");
+ contextDistributor = new DistributorFactory().getDistributor(distributorKey);
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see java.lang.Runnable#run()
+ */
+ @Override
+ public void run() {
+ LOGGER.info("running ConcurrentContextMetricsThread_" + jvm + "_" + instance + " . . .");
+
+ ContextAlbum lTypeAlbum = null;
+ try {
+ final AxContextModel axTestContextModel = TestContextAlbumFactory.createMultiAlbumsContextModel();
+ contextDistributor.registerModel(axTestContextModel);
+ lTypeAlbum = contextDistributor.createContextAlbum(new AxArtifactKey("LTypeContextAlbum", "0.0.1"));
+ } catch (final Exception e) {
+ LOGGER.error("could not get the test context album", e);
+ LOGGER.error("failed ConcurrentContextMetricsThread_" + jvm + "_" + instance);
+ return;
+ }
+
+ if (lTypeAlbum == null) {
+ LOGGER.error("could not find the test context album");
+ LOGGER.error("failed ConcurrentContextMetricsThread_" + jvm + "_" + instance);
+ return;
+ }
+
+ final AxArtifactKey[] usedArtifactStackArray =
+ {new AxArtifactKey("testCC-top", "0.0.1"), new AxArtifactKey("testCC-" + instance, "0.0.1")};
+
+ lTypeAlbum.setUserArtifactStack(usedArtifactStackArray);
+
+ final Random rand = new Random();
+
+ for (int i = 0; i < threadLoops; i++) {
+ // Get the next random entry to use
+ final String nextLongKey = Integer.toString(rand.nextInt(longArraySize));
+
+ if (lockType == 0) {
+ final TestContextLongItem item = (TestContextLongItem) lTypeAlbum.get(nextLongKey);
+ final long value = item.getLongValue();
+ if (LOGGER.isTraceEnabled()) {
+ LOGGER.trace("lock type=" + lockType + ", value=" + value);
+ }
+ continue;
+ }
+
+ if (lockType == 1) {
+ try {
+ lTypeAlbum.lockForReading(nextLongKey);
+ } catch (final ContextException e) {
+ LOGGER.error("could not acquire read lock on context album, key=" + nextLongKey, e);
+ continue;
+ }
+
+ final TestContextLongItem item = (TestContextLongItem) lTypeAlbum.get(nextLongKey);
+ final long value = item.getLongValue();
+ if (LOGGER.isTraceEnabled()) {
+ LOGGER.trace("lock type=" + lockType + ", value=" + value);
+ }
+
+ try {
+ lTypeAlbum.unlockForReading(nextLongKey);
+ } catch (final ContextException e) {
+ LOGGER.error("could not release read lock on context album, key=" + nextLongKey, e);
+ }
+
+ continue;
+ }
+
+ if (lockType == 2) {
+ try {
+ lTypeAlbum.lockForWriting(nextLongKey);
+ } catch (final ContextException e) {
+ LOGGER.error("could not acquire write lock on context album, key=" + nextLongKey, e);
+ continue;
+ }
+
+ final TestContextLongItem item = (TestContextLongItem) lTypeAlbum.get(nextLongKey);
+ long value = item.getLongValue();
+ if (LOGGER.isTraceEnabled()) {
+ LOGGER.trace("lock type=" + lockType + ", value=" + value);
+ }
+ item.setLongValue(++value);
+ lTypeAlbum.put(nextLongKey, item);
+
+ try {
+ lTypeAlbum.unlockForWriting(nextLongKey);
+ } catch (final ContextException e) {
+ LOGGER.error("could not release write lock on context album, key=" + nextLongKey, e);
+ }
+ continue;
+ }
+ }
+
+ LOGGER.info("completed ConcurrentContextMetricsThread_" + jvm + "_" + instance);
+ }
+}
diff --git a/testsuites/performance/performance-context-metrics/src/main/java/org/onap/policy/apex/plugins/context/metrics/package-info.java b/testsuites/performance/performance-context-metrics/src/main/java/org/onap/policy/apex/plugins/context/metrics/package-info.java
new file mode 100644
index 0000000..5e916b6d
--- /dev/null
+++ b/testsuites/performance/performance-context-metrics/src/main/java/org/onap/policy/apex/plugins/context/metrics/package-info.java
@@ -0,0 +1,27 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2016-2018 Ericsson. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+/**
+ * Used to get metrics on the performance of Context Album performance for various types of
+ * distribution and locking mechanisms in APEX.
+ *
+ * @author Liam Fallon (liam.fallon@ericsson.com)
+ */
+package org.onap.policy.apex.plugins.context.metrics;
diff --git a/testsuites/performance/performance-context-metrics/src/test/java/org/onap/policy/apex/plugins/context/metrics/TestMetrics.java b/testsuites/performance/performance-context-metrics/src/test/java/org/onap/policy/apex/plugins/context/metrics/TestMetrics.java
new file mode 100644
index 0000000..5607f87
--- /dev/null
+++ b/testsuites/performance/performance-context-metrics/src/test/java/org/onap/policy/apex/plugins/context/metrics/TestMetrics.java
@@ -0,0 +1,57 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2016-2018 Ericsson. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.apex.plugins.context.metrics;
+
+import static org.junit.Assert.fail;
+
+import java.io.IOException;
+
+import org.apache.curator.test.TestingServer;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+public class TestMetrics {
+ // Zookeeper test server
+ TestingServer zkTestServer;
+
+ @Before
+ public void beforeTest() throws Exception {
+ zkTestServer = new TestingServer(62181);
+ }
+
+ @After
+ public void afterTest() throws IOException {
+ zkTestServer.stop();
+ }
+
+ @Test
+ public void getSingleJVMMetrics() {
+ final String[] args = {"singleJVMTestNL", "1", "32", "1000", "65536", "0", "localhost:62181", "false"};
+
+ try {
+ ConcurrentContextMetrics.main(args);
+ } catch (final Exception e) {
+ fail("Metrics test failed");
+ e.printStackTrace();
+ }
+ }
+}
diff --git a/testsuites/performance/performance-context-metrics/src/test/resources/hazelcast/hazelcast.xml b/testsuites/performance/performance-context-metrics/src/test/resources/hazelcast/hazelcast.xml
new file mode 100644
index 0000000..84da495
--- /dev/null
+++ b/testsuites/performance/performance-context-metrics/src/test/resources/hazelcast/hazelcast.xml
@@ -0,0 +1,643 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ============LICENSE_START=======================================================
+ Copyright (C) 2016-2018 Ericsson. All rights reserved.
+ ================================================================================
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+ SPDX-License-Identifier: Apache-2.0
+ ============LICENSE_END=========================================================
+-->
+
+<hazelcast xmlns="http://www.hazelcast.com/schema/config"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <group>
+ <name>HazelcastGroup3.0EVAL</name>
+ <password>password3.0EVAL</password>
+ </group>
+ <network>
+ <port auto-increment="true">5706</port>
+ <join>
+ <multicast enabled="false">
+ <multicast-group>224.2.2.10</multicast-group>
+ <multicast-port>54327</multicast-port>
+ </multicast>
+ <tcp-ip enabled="true">
+ <members>10.0.0.0</members>
+ <!-- members>192.168.219.141</members-->
+ </tcp-ip>
+ </join>
+ <interfaces enabled="false">
+ <!-- This value will allow hazelcast to run locally from the IDE -->
+ <interface>127.0.0.*</interface>
+ </interfaces>
+ </network>
+ <properties>
+ <property name="hazelcast.icmp.enabled">true</property>
+ <property name="hazelcast.logging.type">slf4j</property>
+ <!-- disable the hazelcast shutdown hook - prefer to control the shutdown
+ in code -->
+ <property name="hazelcast.shutdownhook.enabled">false</property>
+ <property name="hazelcast.graceful.shutdown.max.wait">60</property>
+ </properties>
+ <executor-service>
+ <pool-size>16</pool-size>
+ </executor-service>
+ <queue name="default">
+ <!-- Maximum size of the queue. Any integer between 0 and Integer.MAX_VALUE.
+ 0 means Integer.MAX_VALUE. Default is 0. -->
+ <max-size>100000</max-size>
+ <!-- Maximum number of seconds for each item to stay in the queue. Items
+ that are not consumed in <time-to-live-seconds> will automatically get evicted
+ from the queue. Any integer between 0 and Integer.MAX_VALUE. 0 means infinite.
+ Default is 0. -->
+ </queue>
+ <map name="default">
+ <!-- Number of backups. If 1 is set as the backup-count for example, then
+ all entries of the map will be copied to another JVM for fail-safety. Valid
+ numbers are 0 (no backup), 1, 2, 3. -->
+ <backup-count>1</backup-count>
+ <!-- Valid values are: NONE (no eviction), LRU (Least Recently Used), LFU
+ (Least Frequiently Used). NONE is the default. -->
+ <eviction-policy>NONE</eviction-policy>
+ <!-- Maximum size of the map. When max size is reached, map is evicted
+ based on the policy defined. Any integer between 0 and Integer.MAX_VALUE.
+ 0 means Integer.MAX_VALUE. Default is 0. -->
+ <max-size>0</max-size>
+ <!-- When max. size is reached, specified percentage of the map will be
+ evicted. Any integer between 0 and 100. If 25 is set for example, 25% of
+ the entries will get evicted. -->
+ <eviction-percentage>25</eviction-percentage>
+ </map>
+ <map name="L_ATTACH-Map">
+ <!-- Number of backups. If 1 is set as the backup-count for example, then
+ all entries of the map will be copied to another JVM for fail-safety. Valid
+ numbers are 0 (no backup), 1, 2, 3. -->
+ <backup-count>1</backup-count>
+ <!-- Valid values are: NONE (no eviction), LRU (Least Recently Used), LFU
+ (Least Frequiently Used). NONE is the default. -->
+ <eviction-policy>LRU</eviction-policy>
+ <!-- Maximum size of the map. When max size is reached, map is evicted
+ based on the policy defined. Any integer between 0 and Integer.MAX_VALUE.
+ 0 means Integer.MAX_VALUE. Default is 0. -->
+ <max-size>1000000</max-size>
+ <!-- When max. size is reached, specified percentage of the map will be
+ evicted. Any integer between 0 and 100. If 25 is set for example, 25% of
+ the entries will get evicted. -->
+ <eviction-percentage>5</eviction-percentage>
+
+ <!-- Maximum number of seconds for each entry to stay in the map. Entries
+ that are older than <time-to-live-seconds> and not updated for <time-to-live-seconds>
+ will get automatically evicted from the map. Any integer between 0 and Integer.MAX_VALUE.
+ 0 means infinite. Default is 0. -->
+ <time-to-live-seconds>0</time-to-live-seconds>
+
+ <!-- <map-store enabled="true"> Name of the class implementing MapLoader
+ and/or MapStore. The class should implement at least of these interfaces
+ and contain no-argument constructor. Note that the inner classes are not
+ supported. <class-name>com.ericsson.xstream.loading.service.buffer.L_ATTACHLoader</class-name>
+ Number of seconds to delay to call the MapStore.store(key, value). If the
+ value is zero then it is write-through so MapStore.store(key, value) will
+ be called as soon as the entry is updated. Otherwise it is write-behind so
+ updates will be stored after write-delay-seconds value by calling Hazelcast.storeAll(map).
+ Default value is 0. <write-delay-seconds>60000</write-delay-seconds> </map-store> -->
+
+
+ </map>
+ <map name="CTUM-Map">
+ <!-- Number of backups. If 1 is set as the backup-count for example, then
+ all entries of the map will be copied to another JVM for fail-safety. Valid
+ numbers are 0 (no backup), 1, 2, 3. -->
+ <backup-count>1</backup-count>
+ <!-- Valid values are: NONE (no eviction), LRU (Least Recently Used), LFU
+ (Least Frequiently Used). NONE is the default. -->
+ <eviction-policy>LRU</eviction-policy>
+ <!-- Maximum size of the map. When max size is reached, map is evicted
+ based on the policy defined. Any integer between 0 and Integer.MAX_VALUE.
+ 0 means Integer.MAX_VALUE. Default is 0. -->
+ <max-size>1000000</max-size>
+ <!-- When max. size is reached, specified percentage of the map will be
+ evicted. Any integer between 0 and 100. If 25 is set for example, 25% of
+ the entries will get evicted. -->
+ <eviction-percentage>5</eviction-percentage>
+
+ <!-- Maximum number of seconds for each entry to stay in the map. Entries
+ that are older than <time-to-live-seconds> and not updated for <time-to-live-seconds>
+ will get automatically evicted from the map. Any integer between 0 and Integer.MAX_VALUE.
+ 0 means infinite. Default is 0. -->
+ <time-to-live-seconds>7200</time-to-live-seconds>
+
+ <!-- <map-store enabled="true"> Name of the class implementing MapLoader
+ and/or MapStore. The class should implement at least of these interfaces
+ and contain no-argument constructor. Note that the inner classes are not
+ supported. <class-name>com.ericsson.xstream.loading.service.buffer.CTUMLoader</class-name>
+ Number of seconds to delay to call the MapStore.store(key, value). If the
+ value is zero then it is write-through so MapStore.store(key, value) will
+ be called as soon as the entry is updated. Otherwise it is write-behind so
+ updates will be stored after write-delay-seconds value by calling Hazelcast.storeAll(map).
+ Default value is 0. <write-delay-seconds>3600</write-delay-seconds> </map-store> -->
+
+ </map>
+ <map name="L_HANDOVER-Map">
+ <!-- Number of backups. If 1 is set as the backup-count for example, then
+ all entries of the map will be copied to another JVM for fail-safety. Valid
+ numbers are 0 (no backup), 1, 2, 3. -->
+ <backup-count>1</backup-count>
+ <!-- Valid values are: NONE (no eviction), LRU (Least Recently Used), LFU
+ (Least Frequiently Used). NONE is the default. -->
+ <eviction-policy>LRU</eviction-policy>
+ <!-- Maximum size of the map. When max size is reached, map is evicted
+ based on the policy defined. Any integer between 0 and Integer.MAX_VALUE.
+ 0 means Integer.MAX_VALUE. Default is 0. -->
+ <max-size>1000000</max-size>
+ <!-- When max. size is reached, specified percentage of the map will be
+ evicted. Any integer between 0 and 100. If 25 is set for example, 25% of
+ the entries will get evicted. -->
+ <eviction-percentage>5</eviction-percentage>
+
+ <!-- Maximum number of seconds for each entry to stay in the map. Entries
+ that are older than <time-to-live-seconds> and not updated for <time-to-live-seconds>
+ will get automatically evicted from the map. Any integer between 0 and Integer.MAX_VALUE.
+ 0 means infinite. Default is 0. -->
+ <time-to-live-seconds>3600</time-to-live-seconds>
+
+ <!-- <map-store enabled="true"> Name of the class implementing MapLoader
+ and/or MapStore. The class should implement at least of these interfaces
+ and contain no-argument constructor. Note that the inner classes are not
+ supported. <class-name>com.ericsson.xstream.base.publishing.hazelcast.L_ATTACHStore</class-name>
+ Number of seconds to delay to call the MapStore.store(key, value). If the
+ value is zero then it is write-through so MapStore.store(key, value) will
+ be called as soon as the entry is updated. Otherwise it is write-behind so
+ updates will be stored after write-delay-seconds value by calling Hazelcast.storeAll(map).
+ Default value is 0. <write-delay-seconds>5</write-delay-seconds> </map-store> -->
+
+
+ </map>
+
+ <map name="L_SERVICE_REQUEST-Map">
+ <!-- Number of backups. If 1 is set as the backup-count for example, then
+ all entries of the map will be copied to another JVM for fail-safety. Valid
+ numbers are 0 (no backup), 1, 2, 3. -->
+ <backup-count>1</backup-count>
+ <!-- Valid values are: NONE (no eviction), LRU (Least Recently Used), LFU
+ (Least Frequiently Used). NONE is the default. -->
+ <eviction-policy>LRU</eviction-policy>
+ <!-- Maximum size of the map. When max size is reached, map is evicted
+ based on the policy defined. Any integer between 0 and Integer.MAX_VALUE.
+ 0 means Integer.MAX_VALUE. Default is 0. -->
+ <max-size>1000000</max-size>
+ <!-- When max. size is reached, specified percentage of the map will be
+ evicted. Any integer between 0 and 100. If 25 is set for example, 25% of
+ the entries will get evicted. -->
+ <eviction-percentage>5</eviction-percentage>
+
+ <!-- Maximum number of seconds for each entry to stay in the map. Entries
+ that are older than <time-to-live-seconds> and not updated for <time-to-live-seconds>
+ will get automatically evicted from the map. Any integer between 0 and Integer.MAX_VALUE.
+ 0 means infinite. Default is 0. -->
+ <time-to-live-seconds>7200</time-to-live-seconds>
+
+ <!-- <map-store enabled="true"> Name of the class implementing MapLoader
+ and/or MapStore. The class should implement at least of these interfaces
+ and contain no-argument constructor. Note that the inner classes are not
+ supported. <class-name>com.ericsson.xstream.base.publishing.hazelcast.L_HandoverStore</class-name>
+ Number of seconds to delay to call the MapStore.store(key, value). If the
+ value is zero then it is write-through so MapStore.store(key, value) will
+ be called as soon as the entry is updated. Otherwise it is write-behind so
+ updates will be stored after write-delay-seconds value by calling Hazelcast.storeAll(map).
+ Default value is 0. <write-delay-seconds>5</write-delay-seconds> </map-store> -->
+
+
+ </map>
+ <map name="CommonCache">
+
+
+ <!-- Number of async-backups. If 1 is set as the backup-count for example,
+ then all entries of the map will be copied to another JVM for fail-safety.
+ Valid numbers are 0 (no backup), 1, 2, 3. -->
+ <async-backup-count>1</async-backup-count>
+
+ <!-- Can we read the local backup entries? Default value is false for strong
+ consistency. Being able to read backup data will give you greater performance. -->
+ <read-backup-data>true</read-backup-data>
+ <!-- Valid values are: NONE (no eviction), LRU (Least Recently Used), LFU
+ (Least Frequiently Used). NONE is the default. -->
+ <eviction-policy>LRU</eviction-policy>
+ <!-- Maximum size of the map. When max size is reached, map is evicted
+ based on the policy defined. Any integer between 0 and Integer.MAX_VALUE.
+ 0 means Integer.MAX_VALUE. Default is 0. -->
+ <max-size>3000000</max-size>
+ <!-- When max. size is reached, specified percentage of the map will be
+ evicted. Any integer between 0 and 100. If 25 is set for example, 25% of
+ the entries will get evicted. -->
+ <eviction-percentage>5</eviction-percentage>
+
+ <!-- Maximum number of seconds for each entry to stay in the map. Entries
+ that are older than <time-to-live-seconds> and not updated for <time-to-live-seconds>
+ will get automatically evicted from the map. Any integer between 0 and Integer.MAX_VALUE.
+ 0 means infinite. Default is 0. -->
+ <time-to-live-seconds>7200</time-to-live-seconds>
+
+ <!-- <map-store enabled="true"> Name of the class implementing MapLoader
+ and/or MapStore. The class should implement at least of these interfaces
+ and contain no-argument constructor. Note that the inner classes are not
+ supported. <class-name>com.ericsson.xstream.base.publishing.hazelcast.L_HandoverStore</class-name>
+ Number of seconds to delay to call the MapStore.store(key, value). If the
+ value is zero then it is write-through so MapStore.store(key, value) will
+ be called as soon as the entry is updated. Otherwise it is write-behind so
+ updates will be stored after write-delay-seconds value by calling Hazelcast.storeAll(map).
+ Default value is 0. <write-delay-seconds>5</write-delay-seconds> </map-store> -->
+
+
+ </map>
+
+
+ <map name="Topology-Map">
+
+ <!-- Number of backups. If 1 is set as the backup-count for example, then
+ all entries of the map will be copied to another JVM for fail-safety. Valid
+ numbers are 0 (no backup), 1, 2, 3. -->
+ <backup-count>2</backup-count>
+ <!-- Valid values are: NONE (no eviction), LRU (Least Recently Used), LFU
+ (Least Frequiently Used). NONE is the default. -->
+ <eviction-policy>NONE</eviction-policy>
+ <!-- Maximum size of the map. When max size is reached, map is evicted
+ based on the policy defined. Any integer between 0 and Integer.MAX_VALUE.
+ 0 means Integer.MAX_VALUE. Default is 0. -->
+ <max-size>10000000</max-size>
+ <!-- When max. size is reached, specified percentage of the map will be
+ evicted. Any integer between 0 and 100. If 25 is set for example, 25% of
+ the entries will get evicted. -->
+ <eviction-percentage>0</eviction-percentage>
+
+
+ <!-- Maximum number of seconds for each entry to stay in the map. Entries
+ that are older than <time-to-live-seconds> and not updated for <time-to-live-seconds>
+ will get automatically evicted from the map. Any integer between 0 and Integer.MAX_VALUE.
+ 0 means infinite. Default is 0. -->
+ <time-to-live-seconds>0</time-to-live-seconds>
+
+ <!-- <map-store enabled="true"> Name of the class implementing MapLoader
+ and/or MapStore. The class should implement at least of these interfaces
+ and contain no-argument constructor. Note that the inner classes are not
+ supported. <class-name>com.ericsson.xstream.loading.service.buffer.TopologyCacheLoader</class-name>
+ Number of seconds to delay to call the MapStore.store(key, value). If the
+ value is zero then it is write-through so MapStore.store(key, value) will
+ be called as soon as the entry is updated. Otherwise it is write-behind so
+ updates will be stored after write-delay-seconds value by calling Hazelcast.storeAll(map).
+ Default value is 0. <write-delay-seconds>5</write-delay-seconds> </map-store> -->
+
+
+
+ </map>
+ <map name="Protocol-cause-code-Map">
+ <near-cache>
+ <!-- Maximum number of seconds for each entry to stay in the near cache.
+ Entries that are older than <time-to-live-seconds> will get automatically
+ evicted from the near cache. Any integer between 0 and Integer.MAX_VALUE.
+ 0 means infinite. Default is 0. -->
+ <time-to-live-seconds>0</time-to-live-seconds>
+
+ <!-- Maximum number of seconds each entry can stay in the near cache as
+ untouched (not-read). Entries that are not read (touched) more than <max-idle-seconds>
+ value will get removed from the near cache. Any integer between 0 and Integer.MAX_VALUE.
+ 0 means Integer.MAX_VALUE. Default is 0. -->
+ <max-idle-seconds>0</max-idle-seconds>
+
+ <!-- Valid values are: NONE (no extra eviction, <time-to-live-seconds>
+ may still apply), LRU (Least Recently Used), LFU (Least Frequently Used).
+ NONE is the default. Regardless of the eviction policy used, <time-to-live-seconds>
+ will still apply. -->
+ <eviction-policy>NONE</eviction-policy>
+
+ <!-- Maximum size of the near cache. When max size is reached, cache is
+ evicted based on the policy defined. Any integer between 0 and Integer.MAX_VALUE.
+ 0 means Integer.MAX_VALUE. Default is 0. -->
+ <max-size>2000</max-size>
+
+ <!-- Should the cached entries get evicted if the entries are changed
+ (updated or removed). true of false. Default is true. -->
+ <invalidate-on-change>true</invalidate-on-change>
+
+ </near-cache>
+
+
+
+ </map>
+ <map name="SessionId_Map">
+
+ <!-- Number of backups. If 1 is set as the backup-count for example, then
+ all entries of the map will be copied to another JVM for fail-safety. Valid
+ numbers are 0 (no backup), 1, 2, 3. -->
+ <backup-count>1</backup-count>
+ <!-- Valid values are: NONE (no eviction), LRU (Least Recently Used), LFU
+ (Least Frequiently Used). NONE is the default. -->
+ <eviction-policy>NONE</eviction-policy>
+ <!-- Maximum size of the map. When max size is reached, map is evicted
+ based on the policy defined. Any integer between 0 and Integer.MAX_VALUE.
+ 0 means Integer.MAX_VALUE. Default is 0. -->
+ <max-size>10000000</max-size>
+ <!-- When max. size is reached, specified percentage of the map will be
+ evicted. Any integer between 0 and 100. If 25 is set for example, 25% of
+ the entries will get evicted. -->
+ <eviction-percentage>0</eviction-percentage>
+
+
+ <!-- Maximum number of seconds for each entry to stay in the map. Entries
+ that are older than <time-to-live-seconds> and not updated for <time-to-live-seconds>
+ will get automatically evicted from the map. Any integer between 0 and Integer.MAX_VALUE.
+ 0 means infinite. Default is 0. -->
+ <time-to-live-seconds>60</time-to-live-seconds>
+ <!-- <map-store enabled="true"> Name of the class implementing MapLoader
+ and/or MapStore. The class should implement at least of these interfaces
+ and contain no-argument constructor. Note that the inner classes are not
+ supported. <class-name>com.ericsson.xstream.loading.service.buffer.TopologyCacheLoader</class-name>
+ Number of seconds to delay to call the MapStore.store(key, value). If the
+ value is zero then it is write-through so MapStore.store(key, value) will
+ be called as soon as the entry is updated. Otherwise it is write-behind so
+ updates will be stored after write-delay-seconds value by calling Hazelcast.storeAll(map).
+ Default value is 0. <write-delay-seconds>5</write-delay-seconds> </map-store> -->
+
+
+ </map>
+ <map name="gpeh-reasons-Map">
+ <!-- Number of backups. If 1 is set as the backup-count for example, then
+ all entries of the map will be copied to another JVM for fail-safety. Valid
+ numbers are 0 (no backup), 1, 2, 3. -->
+ <backup-count>2</backup-count>
+ <!-- When max. size is reached, specified percentage of the map will be
+ evicted. Any integer between 0 and 100. If 25 is set for example, 25% of
+ the entries will get evicted. -->
+ <eviction-percentage>0</eviction-percentage>
+ <near-cache>
+ <!-- Number of backups. If 1 is set as the backup-count for example, then
+ all entries of the map will be copied to another JVM for fail-safety. Valid
+ numbers are 0 (no backup), 1, 2, 3. -->
+ <!-- Valid values are: NONE (no eviction), LRU (Least Recently Used),
+ LFU (Least Frequently Used). NONE is the default. -->
+ <eviction-policy>NONE</eviction-policy>
+ <!-- Maximum size of the map. When max size is reached, map is evicted
+ based on the policy defined. Any integer between 0 and Integer.MAX_VALUE.
+ 0 means Integer.MAX_VALUE. Default is 0. -->
+ <max-size>1000</max-size>
+
+
+ <!-- Maximum number of seconds for each entry to stay in the map. Entries
+ that are older than <time-to-live-seconds> and not updated for <time-to-live-seconds>
+ will get automatically evicted from the map. Any integer between 0 and Integer.MAX_VALUE.
+ 0 means infinite. Default is 0. -->
+ <time-to-live-seconds>0</time-to-live-seconds>
+ </near-cache>
+ </map>
+ <map name="tac-imei-Map">
+ <!-- Number of backups. If 1 is set as the backup-count for example, then
+ all entries of the map will be copied to another JVM for fail-safety. Valid
+ numbers are 0 (no backup), 1, 2, 3. -->
+ <backup-count>2</backup-count>
+ <!-- When max. size is reached, specified percentage of the map will be
+ evicted. Any integer between 0 and 100. If 25 is set for example, 25% of
+ the entries will get evicted. -->
+ <eviction-percentage>0</eviction-percentage>
+
+ <near-cache>
+ <!-- Valid values are: NONE (no eviction), LRU (Least Recently Used),
+ LFU (Least Frequently Used). NONE is the default. -->
+ <eviction-policy>NONE</eviction-policy>
+ <!-- Maximum size of the map. When max size is reached, map is evicted
+ based on the policy defined. Any integer between 0 and Integer.MAX_VALUE.
+ 0 means Integer.MAX_VALUE. Default is 0. -->
+ <max-size>10000</max-size>
+
+ <!-- Maximum number of seconds for each entry to stay in the map. Entries
+ that are older than <time-to-live-seconds> and not updated for <time-to-live-seconds>
+ will get automatically evicted from the map. Any integer between 0 and Integer.MAX_VALUE.
+ 0 means infinite. Default is 0. -->
+ <time-to-live-seconds>0</time-to-live-seconds>
+ </near-cache>
+ </map>
+
+ <map name="CORE-DATA-Map">
+
+ <!-- Number of backups. If 1 is set as the backup-count for example, then
+ all entries of the map will be copied to another JVM for fail-safety. Valid
+ numbers are 0 (no backup), 1, 2, 3. -->
+ <backup-count>2</backup-count>
+ <!-- Valid values are: NONE (no eviction), LRU (Least Recently Used), LFU
+ (Least Frequiently Used). NONE is the default. -->
+ <eviction-policy>NONE</eviction-policy>
+ <!-- Maximum size of the map. When max size is reached, map is evicted
+ based on the policy defined. Any integer between 0 and Integer.MAX_VALUE.
+ 0 means Integer.MAX_VALUE. Default is 0. -->
+ <max-size>10000000</max-size>
+ <!-- When max. size is reached, specified percentage of the map will be
+ evicted. Any integer between 0 and 100. If 25 is set for example, 25% of
+ the entries will get evicted. -->
+ <eviction-percentage>0</eviction-percentage>
+
+
+ <!-- Maximum number of seconds for each entry to stay in the map. Entries
+ that are older than <time-to-live-seconds> and not updated for <time-to-live-seconds>
+ will get automatically evicted from the map. Any integer between 0 and Integer.MAX_VALUE.
+ 0 means infinite. Default is 0. -->
+ <time-to-live-seconds>0</time-to-live-seconds>
+
+ <!-- <map-store enabled="true"> Name of the class implementing MapLoader
+ and/or MapStore. The class should implement at least of these interfaces
+ and contain no-argument constructor. Note that the inner classes are not
+ supported. <class-name>com.ericsson.xstream.loading.service.buffer.TopologyCacheLoader</class-name>
+ Number of seconds to delay to call the MapStore.store(key, value). If the
+ value is zero then it is write-through so MapStore.store(key, value) will
+ be called as soon as the entry is updated. Otherwise it is write-behind so
+ updates will be stored after write-delay-seconds value by calling Hazelcast.storeAll(map).
+ Default value is 0. <write-delay-seconds>5</write-delay-seconds> </map-store> -->
+
+
+
+ </map>
+ <map name="IMSI-APN-Map">
+
+ <!-- Number of backups. If 1 is set as the backup-count for example, then
+ all entries of the map will be copied to another JVM for fail-safety. Valid
+ numbers are 0 (no backup), 1, 2, 3. -->
+ <backup-count>2</backup-count>
+ <!-- Valid values are: NONE (no eviction), LRU (Least Recently Used), LFU
+ (Least Frequiently Used). NONE is the default. -->
+ <eviction-policy>NONE</eviction-policy>
+ <!-- Maximum size of the map. When max size is reached, map is evicted
+ based on the policy defined. Any integer between 0 and Integer.MAX_VALUE.
+ 0 means Integer.MAX_VALUE. Default is 0. -->
+ <max-size>10000000</max-size>
+ <!-- When max. size is reached, specified percentage of the map will be
+ evicted. Any integer between 0 and 100. If 25 is set for example, 25% of
+ the entries will get evicted. -->
+ <eviction-percentage>0</eviction-percentage>
+
+
+ <!-- Maximum number of seconds for each entry to stay in the map. Entries
+ that are older than <time-to-live-seconds> and not updated for <time-to-live-seconds>
+ will get automatically evicted from the map. Any integer between 0 and Integer.MAX_VALUE.
+ 0 means infinite. Default is 0. -->
+ <time-to-live-seconds>0</time-to-live-seconds>
+
+ <!-- <map-store enabled="true"> Name of the class implementing MapLoader
+ and/or MapStore. The class should implement at least of these interfaces
+ and contain no-argument constructor. Note that the inner classes are not
+ supported. <class-name>com.ericsson.xstream.loading.service.buffer.TopologyCacheLoader</class-name>
+ Number of seconds to delay to call the MapStore.store(key, value). If the
+ value is zero then it is write-through so MapStore.store(key, value) will
+ be called as soon as the entry is updated. Otherwise it is write-behind so
+ updates will be stored after write-delay-seconds value by calling Hazelcast.storeAll(map).
+ Default value is 0. <write-delay-seconds>5</write-delay-seconds> </map-store> -->
+
+
+
+ </map>
+ <map name="CommonDataCache">
+
+
+ <!-- Number of async-backups. If 1 is set as the backup-count for example,
+ then all entries of the map will be copied to another JVM for fail-safety.
+ Valid numbers are 0 (no backup), 1, 2, 3. -->
+ <async-backup-count>1</async-backup-count>
+
+ <!-- Can we read the local backup entries? Default value is false for strong
+ consistency. Being able to read backup data will give you greater performance. -->
+ <read-backup-data>true</read-backup-data>
+ <!-- Valid values are: NONE (no eviction), LRU (Least Recently Used), LFU
+ (Least Frequiently Used). NONE is the default. -->
+ <eviction-policy>LRU</eviction-policy>
+ <!-- Maximum size of the map. When max size is reached, map is evicted
+ based on the policy defined. Any integer between 0 and Integer.MAX_VALUE.
+ 0 means Integer.MAX_VALUE. Default is 0. -->
+ <max-size>3000000</max-size>
+ <!-- When max. size is reached, specified percentage of the map will be
+ evicted. Any integer between 0 and 100. If 25 is set for example, 25% of
+ the entries will get evicted. -->
+ <eviction-percentage>5</eviction-percentage>
+
+ <!-- Maximum number of seconds for each entry to stay in the map. Entries
+ that are older than <time-to-live-seconds> and not updated for <time-to-live-seconds>
+ will get automatically evicted from the map. Any integer between 0 and Integer.MAX_VALUE.
+ 0 means infinite. Default is 0. -->
+ <time-to-live-seconds>7200</time-to-live-seconds>
+
+ <!-- <map-store enabled="true"> Name of the class implementing MapLoader
+ and/or MapStore. The class should implement at least of these interfaces
+ and contain no-argument constructor. Note that the inner classes are not
+ supported. <class-name>com.ericsson.xstream.base.publishing.hazelcast.L_HandoverStore</class-name>
+ Number of seconds to delay to call the MapStore.store(key, value). If the
+ value is zero then it is write-through so MapStore.store(key, value) will
+ be called as soon as the entry is updated. Otherwise it is write-behind so
+ updates will be stored after write-delay-seconds value by calling Hazelcast.storeAll(map).
+ Default value is 0. <write-delay-seconds>5</write-delay-seconds> </map-store> -->
+
+
+ </map>
+
+
+ <queue name="raw-distributer-queue">
+ <!-- Maximum size of the queue. Any integer between 0 and Integer.MAX_VALUE.
+ 0 means Integer.MAX_VALUE. Default is 0. -->
+ <max-size>100000</max-size>
+ </queue>
+ <map name="queue-map">
+
+ <!-- Number of backups. If 1 is set as the backup-count for example, then
+ all entries of the map will be copied to another JVM for fail-safety. Valid
+ numbers are 0 (no backup), 1, 2, 3. -->
+ <backup-count>0</backup-count>
+
+ </map>
+
+ <map name="radio-correlation-config-Map">
+ <backup-count>2</backup-count>
+ <eviction-policy>NONE</eviction-policy>
+ <max-size>50</max-size>
+ <eviction-percentage>0</eviction-percentage>
+ <time-to-live-seconds>0</time-to-live-seconds>
+ </map>
+
+ <map name="xstream-configuration-map">
+ <!-- Number of backups. If 1 is set as the backup-count for example, then
+ all entries of the map will be copied to another JVM for fail-safety. Valid
+ numbers are 0 (no backup), 1, 2, 3. -->
+ <backup-count>0</backup-count>
+ <time-to-live-seconds>100000</time-to-live-seconds>
+ </map>
+
+ <map name="TOPIC-TASK-MAP">
+
+ <async-backup-count>3</async-backup-count>
+
+ <read-backup-data>true</read-backup-data>
+ <!-- Valid values are: NONE (no eviction), LRU (Least Recently Used), LFU
+ (Least Frequiently Used). NONE is the default. -->
+ <eviction-policy>NONE</eviction-policy>
+ <!-- Maximum size of the map. When max size is reached, map is evicted
+ based on the policy defined. Any integer between 0 and Integer.MAX_VALUE.
+ 0 means Integer.MAX_VALUE. Default is 0. -->
+ <max-size>1000</max-size>
+ <!-- When max. size is reached, specified percentage of the map will be
+ evicted. Any integer between 0 and 100. If 25 is set for example, 25% of
+ the entries will get evicted. -->
+ <eviction-percentage>0</eviction-percentage>
+
+
+
+ <!-- Maximum number of seconds for each entry to stay in the map. Entries
+ that are older than <time-to-live-seconds> and not updated for <time-to-live-seconds>
+ will get automatically evicted from the map. Any integer between 0 and Integer.MAX_VALUE.
+ 0 means infinite. Default is 0. -->
+ <time-to-live-seconds>0</time-to-live-seconds>
+ </map>
+ <map name="TOPIC-REGISTRY">
+
+ <async-backup-count>3</async-backup-count>
+
+ <read-backup-data>true</read-backup-data>
+ <!-- Valid values are: NONE (no eviction), LRU (Least Recently Used), LFU
+ (Least Frequiently Used). NONE is the default. -->
+ <eviction-policy>NONE</eviction-policy>
+ <!-- Maximum size of the map. When max size is reached, map is evicted
+ based on the policy defined. Any integer between 0 and Integer.MAX_VALUE.
+ 0 means Integer.MAX_VALUE. Default is 0. -->
+ <max-size>1000</max-size>
+ <!-- When max. size is reached, specified percentage of the map will be
+ evicted. Any integer between 0 and 100. If 25 is set for example, 25% of
+ the entries will get evicted. -->
+ <eviction-percentage>0</eviction-percentage>
+
+
+
+ <!-- Maximum number of seconds for each entry to stay in the map. Entries
+ that are older than <time-to-live-seconds> and not updated for <time-to-live-seconds>
+ will get automatically evicted from the map. Any integer between 0 and Integer.MAX_VALUE.
+ 0 means infinite. Default is 0. -->
+ <time-to-live-seconds>0</time-to-live-seconds>
+ </map>
+ <queue name="Pooled-Topic-Request-Queue">
+ <!-- Maximum size of the queue.Any integer between 0 and Integer.MAX_VALUE.
+ 0 means Integer.MAX_VALUE. Default is 0. -->
+ <max-size>100000</max-size>
+ </queue>
+ <map name="Pooled-Topic-Request-Queue-Backup-map">
+
+ <!-- Number of backups. If 1 is set as the backup-count for example, then
+ all entries of the map will be copied to another JVM for fail-safety. Valid
+ numbers are 0 (no backup), 1, 2, 3. -->
+ <backup-count>1</backup-count>
+ <eviction-policy>NONE</eviction-policy>
+ <time-to-live-seconds>0</time-to-live-seconds>
+ </map>
+
+</hazelcast>
diff --git a/testsuites/performance/performance-context-metrics/src/test/resources/infinispan/infinispan.xml b/testsuites/performance/performance-context-metrics/src/test/resources/infinispan/infinispan.xml
new file mode 100644
index 0000000..a854133
--- /dev/null
+++ b/testsuites/performance/performance-context-metrics/src/test/resources/infinispan/infinispan.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ============LICENSE_START=======================================================
+ Copyright (C) 2016-2018 Ericsson. All rights reserved.
+ ================================================================================
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+ SPDX-License-Identifier: Apache-2.0
+ ============LICENSE_END=========================================================
+-->
+
+<?xml version="1.0" encoding="UTF-8"?>
+
+<infinispan xmlns="urn:infinispan:config:8.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:infinispan:config:8.0 http://infinispan.org/schemas/infinispan-config-8.0.xsd">
+ <jgroups>
+ <stack-file name="external-file" path="default-configs/default-jgroups-tcp.xml" />
+ </jgroups>
+
+ <cache-container name="ApexCacheContainer" default-cache="TestContext_0.0.1">
+ <transport cluster="apexCluster" stack="external-file" />
+ <jmx />
+ <replicated-cache name="LargeContextMap_0.0.1" mode="SYNC" statistics="true">
+ <state-transfer enabled="true" />
+ </replicated-cache>
+ <replicated-cache name="LongSameTypeContextMap_0.0.1" mode="SYNC" statistics="true">
+ <state-transfer enabled="true" />
+ </replicated-cache>
+ <replicated-cache name="TestContext_0.0.1" mode="SYNC">
+ <state-transfer enabled="true" />
+ </replicated-cache>
+ </cache-container>
+</infinispan>
diff --git a/testsuites/performance/pom.xml b/testsuites/performance/pom.xml
new file mode 100644
index 0000000..5f10d8f
--- /dev/null
+++ b/testsuites/performance/pom.xml
@@ -0,0 +1,59 @@
+<!--
+ ============LICENSE_START=======================================================
+ Copyright (C) 2018 Ericsson. All rights reserved.
+ ================================================================================
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+ SPDX-License-Identifier: Apache-2.0
+ ============LICENSE_END=========================================================
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.onap.policy.apex-pdp.testsuites</groupId>
+ <artifactId>testsuites</artifactId>
+ <version>2.0.0-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.onap.policy.apex-pdp.testsuites.performance</groupId>
+ <artifactId>performance</artifactId>
+ <packaging>pom</packaging>
+
+ <profiles>
+ <profile>
+ <id>apexMetrics</id>
+ <activation>
+ <property>
+ <name>apexMetrics</name>
+ </property>
+ </activation>
+ <modules>
+ <module>performance-context-metrics</module>
+ <module>performance-benchmark-test</module>
+ </modules>
+ </profile>
+ <profile>
+ <id>apexAll</id>
+ <activation>
+ <property>
+ <name>apexAll</name>
+ </property>
+ </activation>
+ <modules>
+ <module>performance-context-metrics</module>
+ <module>performance-benchmark-test</module>
+ </modules>
+ </profile>
+ </profiles>
+</project>
\ No newline at end of file