aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--context/context-management/src/test/resources/logback-test.xml2
-rw-r--r--core/core-infrastructure/src/main/resources/logback.xml2
-rw-r--r--core/core-infrastructure/src/test/resources/logback-test.xml2
-rw-r--r--core/core-protocols/src/test/resources/logback-test.xml2
-rw-r--r--model/engine-model/src/test/resources/logback-test.xml2
-rw-r--r--model/event-model/src/test/resources/logback-test.xml2
-rw-r--r--model/model-api/src/test/resources/logback-test.xml2
-rw-r--r--model/policy-model/src/test/resources/logback-test.xml2
-rw-r--r--packages/apex-pdp-package-full/pom.xml23
-rw-r--r--packages/apex-pdp-package-full/src/main/package/scripts/apexApps.bat3
-rwxr-xr-xpackages/apex-pdp-package-full/src/main/package/scripts/apexApps.sh2
-rw-r--r--packages/apex-pdp-package-full/src/main/package/scripts/runBenchmark.sh74
-rwxr-xr-xpackages/apex-pdp-package-full/src/main/package/scripts/runOneBenchmark.sh89
-rw-r--r--packages/apex-pdp-package-full/src/main/resources/hazelcast/hazelcast.xml178
-rw-r--r--packages/apex-pdp-package-full/src/main/resources/logback.xml2
-rw-r--r--plugins/plugins-context/plugins-context-schema/plugins-context-schema-avro/src/test/resources/logback-test.xml2
-rw-r--r--plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restserver/src/test/resources/logback-test.xml2
-rw-r--r--testsuites/integration/integration-context-test/src/test/resources/hazelcast/hazelcast.xml6
-rw-r--r--testsuites/integration/integration-executor-test/src/test/resources/logback-test.xml2
-rw-r--r--testsuites/performance/performance-benchmark-test/pom.xml103
-rw-r--r--testsuites/performance/performance-benchmark-test/src/main/java/org/onap/policy/apex/testsuites/performance/benchmark/eventgenerator/EventBatch.java151
-rw-r--r--testsuites/performance/performance-benchmark-test/src/main/java/org/onap/policy/apex/testsuites/performance/benchmark/eventgenerator/EventBatchStats.java239
-rw-r--r--testsuites/performance/performance-benchmark-test/src/main/java/org/onap/policy/apex/testsuites/performance/benchmark/eventgenerator/EventGenerator.java185
-rw-r--r--testsuites/performance/performance-benchmark-test/src/main/java/org/onap/policy/apex/testsuites/performance/benchmark/eventgenerator/EventGeneratorEndpoint.java177
-rw-r--r--testsuites/performance/performance-benchmark-test/src/main/java/org/onap/policy/apex/testsuites/performance/benchmark/eventgenerator/EventGeneratorParameterHandler.java214
-rw-r--r--testsuites/performance/performance-benchmark-test/src/main/java/org/onap/policy/apex/testsuites/performance/benchmark/eventgenerator/EventGeneratorParameters.java156
-rw-r--r--testsuites/performance/performance-benchmark-test/src/main/java/org/onap/policy/apex/testsuites/performance/benchmark/eventgenerator/EventGeneratorStats.java59
-rw-r--r--testsuites/performance/performance-benchmark-test/src/main/java/org/onap/policy/apex/testsuites/performance/benchmark/eventgenerator/events/InputEvent.java142
-rw-r--r--testsuites/performance/performance-benchmark-test/src/main/java/org/onap/policy/apex/testsuites/performance/benchmark/eventgenerator/events/OutputEvent.java135
-rw-r--r--testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/EventGeneratorConfig.json9
-rw-r--r--testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/JRuby01.json45
-rw-r--r--testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/JRuby02.json45
-rw-r--r--testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/JRuby04.json45
-rw-r--r--testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/JRuby08.json45
-rw-r--r--testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/JRuby16.json45
-rw-r--r--testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/JRuby32.json45
-rw-r--r--testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/JRuby64.json45
-rw-r--r--testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Java01.json45
-rw-r--r--testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Java02.json45
-rw-r--r--testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Java04.json45
-rw-r--r--testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Java08.json45
-rw-r--r--testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Java16.json45
-rw-r--r--testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Java32.json45
-rw-r--r--testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Java64.json45
-rw-r--r--testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Javascript01.json45
-rw-r--r--testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Javascript02.json45
-rw-r--r--testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Javascript04.json45
-rw-r--r--testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Javascript08.json45
-rw-r--r--testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Javascript16.json45
-rw-r--r--testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Javascript32.json45
-rw-r--r--testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Javascript64.json45
-rw-r--r--testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Jython01.json45
-rw-r--r--testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Jython02.json45
-rw-r--r--testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Jython04.json45
-rw-r--r--testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Jython08.json45
-rw-r--r--testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Jython16.json45
-rw-r--r--testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Jython32.json45
-rw-r--r--testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Jython64.json45
-rw-r--r--testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Mvel01.json45
-rw-r--r--testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Mvel02.json45
-rw-r--r--testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Mvel04.json45
-rw-r--r--testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Mvel08.json45
-rw-r--r--testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Mvel16.json45
-rw-r--r--testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Mvel32.json45
-rw-r--r--testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Mvel64.json45
-rw-r--r--testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/testsuites/performance/benchmark/engine/benchmark/ApexBaseBenchMarkTest.java175
-rw-r--r--testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/testsuites/performance/benchmark/engine/benchmark/ApexEngineBenchmarkTest.java183
-rw-r--r--testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/testsuites/performance/benchmark/engine/benchmark/ApexEventListenerTest.java126
-rw-r--r--testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/testsuites/performance/benchmark/eventgenerator/EventBatchStatsTest.java57
-rw-r--r--testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/testsuites/performance/benchmark/eventgenerator/EventBatchTest.java48
-rw-r--r--testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/testsuites/performance/benchmark/eventgenerator/EventGeneratorEndpointTest.java115
-rw-r--r--testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/testsuites/performance/benchmark/eventgenerator/EventGeneratorParametersHandlerTest.java325
-rw-r--r--testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/testsuites/performance/benchmark/eventgenerator/EventGeneratorParametersTest.java71
-rw-r--r--testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/testsuites/performance/benchmark/eventgenerator/EventGeneratorStatsTest.java44
-rw-r--r--testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/testsuites/performance/benchmark/eventgenerator/EventGeneratorTest.java160
-rw-r--r--testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/testsuites/performance/benchmark/eventgenerator/events/InputEventTest.java68
-rw-r--r--testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/testsuites/performance/benchmark/eventgenerator/events/OutputEventTest.java70
-rw-r--r--testsuites/performance/performance-benchmark-test/src/test/resources/parameters/unit/BadHost.json5
-rw-r--r--testsuites/performance/performance-benchmark-test/src/test/resources/parameters/unit/BadPort.json5
-rw-r--r--testsuites/performance/performance-benchmark-test/src/test/resources/parameters/unit/Default.json1
-rw-r--r--testsuites/performance/performance-benchmark-test/src/test/resources/parameters/unit/Empty.json0
-rw-r--r--testsuites/performance/performance-benchmark-test/src/test/resources/parameters/unit/NullHost.json5
-rw-r--r--testsuites/performance/performance-benchmark-test/src/test/resources/parameters/unit/Valid.json5
-rw-r--r--testsuites/performance/performance-benchmark-test/src/test/resources/policymodels/SamplePolicyModelMVEL.json7372
-rw-r--r--testsuites/performance/performance-context-metrics/src/test/resources/hazelcast/hazelcast.xml6
-rw-r--r--testsuites/performance/pom.xml10
86 files changed, 4421 insertions, 7974 deletions
diff --git a/context/context-management/src/test/resources/logback-test.xml b/context/context-management/src/test/resources/logback-test.xml
index 51398da38..3c12577eb 100644
--- a/context/context-management/src/test/resources/logback-test.xml
+++ b/context/context-management/src/test/resources/logback-test.xml
@@ -25,7 +25,7 @@
<statusListener class="ch.qos.logback.core.status.OnConsoleStatusListener" />
<property name="LOG_DIR" value="${java.io.tmpdir}/apex_logging/" />
- <!-- USE FOR STD OUT ONLY -->
+ <!-- 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>
diff --git a/core/core-infrastructure/src/main/resources/logback.xml b/core/core-infrastructure/src/main/resources/logback.xml
index b1d855419..ddcfb4531 100644
--- a/core/core-infrastructure/src/main/resources/logback.xml
+++ b/core/core-infrastructure/src/main/resources/logback.xml
@@ -25,7 +25,7 @@
<statusListener class="ch.qos.logback.core.status.OnConsoleStatusListener" />
<property name="VAR_LOG" value="/var/log/ericsson/apex/" />
- <!-- USE FOR STD OUT ONLY -->
+ <!-- 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>
diff --git a/core/core-infrastructure/src/test/resources/logback-test.xml b/core/core-infrastructure/src/test/resources/logback-test.xml
index 034511335..4ece82083 100644
--- a/core/core-infrastructure/src/test/resources/logback-test.xml
+++ b/core/core-infrastructure/src/test/resources/logback-test.xml
@@ -25,7 +25,7 @@
<statusListener class="ch.qos.logback.core.status.OnConsoleStatusListener" />
<property name="LOG_DIR" value="${java.io.tmpdir}/apex_logging/" />
- <!-- USE FOR STD OUT ONLY -->
+ <!-- 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>
diff --git a/core/core-protocols/src/test/resources/logback-test.xml b/core/core-protocols/src/test/resources/logback-test.xml
index 034511335..4ece82083 100644
--- a/core/core-protocols/src/test/resources/logback-test.xml
+++ b/core/core-protocols/src/test/resources/logback-test.xml
@@ -25,7 +25,7 @@
<statusListener class="ch.qos.logback.core.status.OnConsoleStatusListener" />
<property name="LOG_DIR" value="${java.io.tmpdir}/apex_logging/" />
- <!-- USE FOR STD OUT ONLY -->
+ <!-- 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>
diff --git a/model/engine-model/src/test/resources/logback-test.xml b/model/engine-model/src/test/resources/logback-test.xml
index 034511335..4ece82083 100644
--- a/model/engine-model/src/test/resources/logback-test.xml
+++ b/model/engine-model/src/test/resources/logback-test.xml
@@ -25,7 +25,7 @@
<statusListener class="ch.qos.logback.core.status.OnConsoleStatusListener" />
<property name="LOG_DIR" value="${java.io.tmpdir}/apex_logging/" />
- <!-- USE FOR STD OUT ONLY -->
+ <!-- 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>
diff --git a/model/event-model/src/test/resources/logback-test.xml b/model/event-model/src/test/resources/logback-test.xml
index dfafb04d9..96f8d2ba3 100644
--- a/model/event-model/src/test/resources/logback-test.xml
+++ b/model/event-model/src/test/resources/logback-test.xml
@@ -25,7 +25,7 @@
<statusListener class="ch.qos.logback.core.status.OnConsoleStatusListener" />
<property name="LOG_DIR" value="${java.io.tmpdir}/apex_logging/" />
- <!-- USE FOR STD OUT ONLY -->
+ <!-- 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>
diff --git a/model/model-api/src/test/resources/logback-test.xml b/model/model-api/src/test/resources/logback-test.xml
index 114b39c70..7c3609ee3 100644
--- a/model/model-api/src/test/resources/logback-test.xml
+++ b/model/model-api/src/test/resources/logback-test.xml
@@ -25,7 +25,7 @@
<statusListener class="ch.qos.logback.core.status.OnConsoleStatusListener" />
<property name="LOG_DIR" value="${java.io.tmpdir}/apex_logging/" />
- <!-- USE FOR STD OUT ONLY -->
+ <!-- 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>
diff --git a/model/policy-model/src/test/resources/logback-test.xml b/model/policy-model/src/test/resources/logback-test.xml
index 114b39c70..7c3609ee3 100644
--- a/model/policy-model/src/test/resources/logback-test.xml
+++ b/model/policy-model/src/test/resources/logback-test.xml
@@ -25,7 +25,7 @@
<statusListener class="ch.qos.logback.core.status.OnConsoleStatusListener" />
<property name="LOG_DIR" value="${java.io.tmpdir}/apex_logging/" />
- <!-- USE FOR STD OUT ONLY -->
+ <!-- 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>
diff --git a/packages/apex-pdp-package-full/pom.xml b/packages/apex-pdp-package-full/pom.xml
index e357290c3..a3ca91cc6 100644
--- a/packages/apex-pdp-package-full/pom.xml
+++ b/packages/apex-pdp-package-full/pom.xml
@@ -17,7 +17,8 @@
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">
+<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.packages</groupId>
@@ -167,6 +168,13 @@
<artifactId>plugins-event-carrier-restrequestor</artifactId>
<version>${project.version}</version>
</dependency>
+
+ <!-- Benchmark test event generator -->
+ <dependency>
+ <groupId>org.onap.policy.apex-pdp.testsuites.performance</groupId>
+ <artifactId>performance-benchmark-test</artifactId>
+ <version>${project.version}</version>
+ </dependency>
<!-- Plugins for event protocols -->
<dependency>
@@ -289,6 +297,15 @@
<includes>etc/**/*,examples/**/*</includes>
</artifactItem>
<artifactItem>
+ <groupId>org.onap.policy.apex-pdp.testsuites.performance</groupId>
+ <artifactId>performance-benchmark-test</artifactId>
+ <version>${project.version}</version>
+ <type>jar</type>
+ <overWrite>false</overWrite>
+ <outputDirectory>${project.build.directory}</outputDirectory>
+ <includes>examples/**/*</includes>
+ </artifactItem>
+ <artifactItem>
<groupId>org.onap.policy.apex-pdp.examples</groupId>
<artifactId>examples-aadm</artifactId>
<version>${project.version}</version>
@@ -481,7 +498,9 @@
<phase>package</phase>
<configuration>
<tasks>
- <untar src="${project.build.directory}/${project.artifactId}-${project.version}-tarball.tar.gz" dest="${project.build.directory}/install_hierarchy" compression="gzip" />
+ <untar
+ src="${project.build.directory}/${project.artifactId}-${project.version}-tarball.tar.gz"
+ dest="${project.build.directory}/install_hierarchy" compression="gzip" />
</tasks>
</configuration>
<goals>
diff --git a/packages/apex-pdp-package-full/src/main/package/scripts/apexApps.bat b/packages/apex-pdp-package-full/src/main/package/scripts/apexApps.bat
index d5ac0532c..848498b1e 100644
--- a/packages/apex-pdp-package-full/src/main/package/scripts/apexApps.bat
+++ b/packages/apex-pdp-package-full/src/main/package/scripts/apexApps.bat
@@ -81,6 +81,7 @@ set APEX_APP_MAP[engine]=java -Dlogback.configurationFile=%APEX_HOME%\etc\logbac
set APEX_APP_MAP[eng-deployment]=java -Dlogback.configurationFile=%APEX_HOME%\etc\logback.xml -jar %APEX_HOME%\lib\applications\client-deployment-%_VERSION%-deployment.jar
set APEX_APP_MAP[eng-monitoring]=java -Dlogback.configurationFile=%APEX_HOME%\etc\logback.xml -jar %APEX_HOME%\lib\applications\client-monitoring-%_VERSION%-monitoring.jar
set APEX_APP_MAP[full-client]=java -Dlogback.configurationFile=%APEX_HOME%\etc\logback.xml -jar %APEX_HOME%\lib\applications\client-full-%_VERSION%-full.jar
+set APEX_APP_MAP[event-generator]=java -Dlogback.configurationFile=%APEX_HOME%\etc\logback.xml -cp %CLASSPATH% %_CONFIG% org.onap.policy.apex.testsuites.performance.benchmark.eventgenerator.EventGenerator
:: array of applications with name=description
:: declare -A APEX_APP_DESCR_MAP
@@ -94,7 +95,7 @@ set APEX_APP_DESCR_MAP[engine]=starts the APEX engine
set APEX_APP_DESCR_MAP[eng-deployment]=starts the APEX deployment client in a simple webserver
set APEX_APP_DESCR_MAP[eng-monitoring]=starts the APEX engine monitoring client in a simple webserver
set APEX_APP_DESCR_MAP[full-client]=starts the full APEX client (rest editor, deployment, monitoring) in a simple webserver
-
+set APEX_APP_DESCR_MAP["event-generator"]=starts the event generator in a simple webserver for performance testing
:: no command line means help, -h means help
if "%1" == "" goto Help
diff --git a/packages/apex-pdp-package-full/src/main/package/scripts/apexApps.sh b/packages/apex-pdp-package-full/src/main/package/scripts/apexApps.sh
index 3316e8e1c..c5569baaa 100755
--- a/packages/apex-pdp-package-full/src/main/package/scripts/apexApps.sh
+++ b/packages/apex-pdp-package-full/src/main/package/scripts/apexApps.sh
@@ -90,6 +90,7 @@ APEX_APP_MAP["engine"]="java -Dlogback.configurationFile=$APEX_HOME/etc/logback.
APEX_APP_MAP["eng-deployment"]="java -Dlogback.configurationFile=$APEX_HOME/etc/logback.xml -jar $APEX_HOME/lib/applications/client-deployment-$_version-deployment.jar"
APEX_APP_MAP["eng-monitoring"]="java -Dlogback.configurationFile=$APEX_HOME/etc/logback.xml -jar $APEX_HOME/lib/applications/client-monitoring-$_version-monitoring.jar"
APEX_APP_MAP["full-client"]="java -Dlogback.configurationFile=$APEX_HOME/etc/logback.xml -jar $APEX_HOME/lib/applications/client-full-$_version-full.jar"
+APEX_APP_MAP["event-gen"]="java -Dlogback.configurationFile=$APEX_HOME/etc/logback.xml -cp ${CLASSPATH} $_config org.onap.policy.apex.testsuites.performance.benchmark.eventgenerator.EventGenerator"
## array of applications with name=description
declare -A APEX_APP_DESCR_MAP
@@ -103,6 +104,7 @@ APEX_APP_DESCR_MAP["engine"]="starts the APEX engine"
APEX_APP_DESCR_MAP["eng-deployment"]="starts the APEX deployment client in a simple webserver"
APEX_APP_DESCR_MAP["eng-monitoring"]="starts the APEX engine monitoring client in a simple webserver"
APEX_APP_DESCR_MAP["full-client"]="starts the full APEX client (rest editor, deployment, monitoring) in a simple webserver"
+APEX_APP_DESCR_MAP["event-generator"]="starts the event generator in a simple webserver for performance testing"
##
## Help screen and exit condition (i.e. too few arguments)
diff --git a/packages/apex-pdp-package-full/src/main/package/scripts/runBenchmark.sh b/packages/apex-pdp-package-full/src/main/package/scripts/runBenchmark.sh
new file mode 100644
index 000000000..08c8d181f
--- /dev/null
+++ b/packages/apex-pdp-package-full/src/main/package/scripts/runBenchmark.sh
@@ -0,0 +1,74 @@
+#!/usr/bin/env bash
+
+#-------------------------------------------------------------------------------
+# ============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=========================================================
+#-------------------------------------------------------------------------------
+
+if [ -z $APEX_HOME ]
+then
+ APEX_HOME="/opt/app/policy/apex-pdp"
+fi
+
+if [ ! -d $APEX_HOME ]
+then
+ echo
+ echo 'Apex directory "'$APEX_HOME'" not set or not a directory'
+ echo "Please set environment for 'APEX_HOME'"
+ exit
+fi
+
+$APEX_HOME/bin/runOneBenchmark.sh Javascript 01
+$APEX_HOME/bin/runOneBenchmark.sh Javascript 02
+$APEX_HOME/bin/runOneBenchmark.sh Javascript 04
+$APEX_HOME/bin/runOneBenchmark.sh Javascript 08
+$APEX_HOME/bin/runOneBenchmark.sh Javascript 16
+$APEX_HOME/bin/runOneBenchmark.sh Javascript 32
+$APEX_HOME/bin/runOneBenchmark.sh Javascript 64
+
+$APEX_HOME/bin/runOneBenchmark.sh Jython 01
+$APEX_HOME/bin/runOneBenchmark.sh Jython 02
+$APEX_HOME/bin/runOneBenchmark.sh Jython 04
+$APEX_HOME/bin/runOneBenchmark.sh Jython 08
+$APEX_HOME/bin/runOneBenchmark.sh Jython 16
+$APEX_HOME/bin/runOneBenchmark.sh Jython 32
+$APEX_HOME/bin/runOneBenchmark.sh Jython 64
+
+$APEX_HOME/bin/runOneBenchmark.sh Mvel 01
+$APEX_HOME/bin/runOneBenchmark.sh Mvel 02
+$APEX_HOME/bin/runOneBenchmark.sh Mvel 04
+$APEX_HOME/bin/runOneBenchmark.sh Mvel 08
+$APEX_HOME/bin/runOneBenchmark.sh Mvel 16
+$APEX_HOME/bin/runOneBenchmark.sh Mvel 32
+$APEX_HOME/bin/runOneBenchmark.sh Mvel 64
+
+$APEX_HOME/bin/runOneBenchmark.sh Java 01
+$APEX_HOME/bin/runOneBenchmark.sh Java 02
+$APEX_HOME/bin/runOneBenchmark.sh Java 04
+$APEX_HOME/bin/runOneBenchmark.sh Java 08
+$APEX_HOME/bin/runOneBenchmark.sh Java 16
+$APEX_HOME/bin/runOneBenchmark.sh Java 32
+$APEX_HOME/bin/runOneBenchmark.sh Java 64
+
+#$APEX_HOME/bin/runOneBenchmark.sh JRuby 01
+#$APEX_HOME/bin/runOneBenchmark.sh JRuby 02
+#$APEX_HOME/bin/runOneBenchmark.sh JRuby 04
+#$APEX_HOME/bin/runOneBenchmark.sh JRuby 08
+#$APEX_HOME/bin/runOneBenchmark.sh JRuby 16
+#$APEX_HOME/bin/runOneBenchmark.sh JRuby 32
+#$APEX_HOME/bin/runOneBenchmark.sh JRuby 64
diff --git a/packages/apex-pdp-package-full/src/main/package/scripts/runOneBenchmark.sh b/packages/apex-pdp-package-full/src/main/package/scripts/runOneBenchmark.sh
new file mode 100755
index 000000000..2e81bd29d
--- /dev/null
+++ b/packages/apex-pdp-package-full/src/main/package/scripts/runOneBenchmark.sh
@@ -0,0 +1,89 @@
+#!/usr/bin/env bash
+
+#-------------------------------------------------------------------------------
+# ============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=========================================================
+#-------------------------------------------------------------------------------
+
+if [ -z $APEX_HOME ]
+then
+ APEX_HOME="/opt/app/policy/apex-pdp"
+fi
+
+if [ ! -d $APEX_HOME ]
+then
+ echo
+ echo 'Apex directory "'$APEX_HOME'" not set or not a directory'
+ echo "Please set environment for 'APEX_HOME'"
+ exit
+fi
+
+if [ $# -ne 2 ]
+then
+ echo "usage: $0 executor-type thread-count"
+ echo " executor-type [Javascript|Jython|JRuby|Mvel|Java]"
+ echo " thread-count [01|02|04|08|16|32|64]"
+ exit 1
+fi
+
+if [ "$1" != "Javascript" ] && [ "$1" != "Jython" ] && [ "$1" != "JRuby" ] && [ "$1" != "Mvel" ] && [ "$1" != "Java" ]
+then
+ echo "executor-type must be a member of the set [Javascript|Jython|JRuby|Mvel|Java]"
+ exit 1
+fi
+
+if [ "$2" != "01" ] && [ "$2" != "02" ] && [ "$2" != "04" ] && [ "$2" != "08" ] && [ "$2" != "16" ] && [ "$2" != "32" ] && [ "$2" != "64" ]
+then
+ echo "thread-count must be a member of the set [01|02|04|08|16|32|64]"
+ exit 1
+fi
+
+# Remove the old benchmark test result file if it exists
+rm -fr examples/benchmark/Bm$1$2.json
+
+# Start the event generator
+/bin/bash bin/apexApps.sh event-gen -c examples/benchmark/EventGeneratorConfig.json -o examples/benchmark/Bm$1$2.json > examples/benchmark/Bm$1$2_gen.log 2>&1 &
+
+# Start Apex
+sleep 2
+/bin/bash bin/apexApps.sh engine -c examples/benchmark/$1$2.json > examples/benchmark/Bm$1$2_apex.log 2>&1 &
+apex_pid=`ps -A -o pid,cmd | grep ApexMain | grep -v grep | head -n 1 | awk '{print $1}'`
+
+echo "running benchmark test for executor $1 with $2 threads"
+
+# Loop until result file exists
+while [ ! -f examples/benchmark/Bm$1$2.json ]
+do
+ echo -n .
+ sleep 1
+done
+
+# Loop until result file has 318 lines
+while [ "$(wc -l examples/benchmark/Bm$1$2.json | cut -f1 -d' ')" -lt 318 ]
+do
+ echo -n .
+ sleep 1
+done
+
+# Kill Apex
+kill $apex_pid
+
+sleep 5
+
+echo ""
+echo "Finished"
diff --git a/packages/apex-pdp-package-full/src/main/resources/hazelcast/hazelcast.xml b/packages/apex-pdp-package-full/src/main/resources/hazelcast/hazelcast.xml
index f90c53c51..b0847f295 100644
--- a/packages/apex-pdp-package-full/src/main/resources/hazelcast/hazelcast.xml
+++ b/packages/apex-pdp-package-full/src/main/resources/hazelcast/hazelcast.xml
@@ -32,19 +32,19 @@
</multicast>
<tcp-ip enabled="true">
<members>10.0.0.1</members>
- <!-- members>192.168.219.141</members-->
+ <!-- members>192.168.219.141</members-->
</tcp-ip>
</join>
<interfaces enabled="false">
- <!-- This value will allow hazelcast to run locally from the IDE -->
+ <!-- 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 -->
+ <!-- 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>
@@ -52,59 +52,59 @@
<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. -->
+ <!-- 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. -->
+ <!-- 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. -->
+ <!-- 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. -->
+ <!-- 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. -->
+ <!-- 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. -->
+ <!-- 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="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. -->
+ <!-- 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. -->
+ <!-- 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. -->
+ <!-- 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. -->
+ <!-- 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. -->
+ <!-- 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. -->
+ <!-- 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>
@@ -113,45 +113,45 @@
<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. -->
+ <!-- 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. -->
+ <!-- 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. -->
+ <!-- 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. -->
+ <!-- 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. -->
+ <!-- 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. -->
+ <!-- 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>
<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. -->
+ <!-- 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. -->
+ <!-- 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>
@@ -161,24 +161,24 @@
<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. -->
+ <!-- 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. -->
+ <!-- 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. -->
+ <!-- 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. -->
+ <!-- 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">
@@ -186,34 +186,34 @@
<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. -->
+ <!-- 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. -->
+ <!-- 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. -->
+ <!-- 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. -->
+ <!-- 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. -->
+ <!-- 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. -->
+ <!-- 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>
diff --git a/packages/apex-pdp-package-full/src/main/resources/logback.xml b/packages/apex-pdp-package-full/src/main/resources/logback.xml
index 42502b1ab..b96a37686 100644
--- a/packages/apex-pdp-package-full/src/main/resources/logback.xml
+++ b/packages/apex-pdp-package-full/src/main/resources/logback.xml
@@ -25,7 +25,7 @@
<contextName>Apex</contextName>
<property name="VAR_LOG" value="/var/log/onap/policy/apex-pdp/" />
- <!-- USE FOR STD OUT ONLY -->
+ <!-- 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>
diff --git a/plugins/plugins-context/plugins-context-schema/plugins-context-schema-avro/src/test/resources/logback-test.xml b/plugins/plugins-context/plugins-context-schema/plugins-context-schema-avro/src/test/resources/logback-test.xml
index 3dd11e9cb..10cf3cc57 100644
--- a/plugins/plugins-context/plugins-context-schema/plugins-context-schema-avro/src/test/resources/logback-test.xml
+++ b/plugins/plugins-context/plugins-context-schema/plugins-context-schema-avro/src/test/resources/logback-test.xml
@@ -25,7 +25,7 @@
<statusListener class="ch.qos.logback.core.status.OnConsoleStatusListener" />
<property name="LOG_DIR" value="${java.io.tmpdir}/apex_logging/" />
- <!-- USE FOR STD OUT ONLY -->
+ <!-- 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>
diff --git a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restserver/src/test/resources/logback-test.xml b/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restserver/src/test/resources/logback-test.xml
index dc591b1f1..b5c23f24c 100644
--- a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restserver/src/test/resources/logback-test.xml
+++ b/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-restserver/src/test/resources/logback-test.xml
@@ -25,7 +25,7 @@
<statusListener class="ch.qos.logback.core.status.OnConsoleStatusListener" />
<property name="LOG_DIR" value="${java.io.tmpdir}/apex_logging/" />
- <!-- USE FOR STD OUT ONLY -->
+ <!-- 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>
diff --git a/testsuites/integration/integration-context-test/src/test/resources/hazelcast/hazelcast.xml b/testsuites/integration/integration-context-test/src/test/resources/hazelcast/hazelcast.xml
index 2918909c3..f6f010c1b 100644
--- a/testsuites/integration/integration-context-test/src/test/resources/hazelcast/hazelcast.xml
+++ b/testsuites/integration/integration-context-test/src/test/resources/hazelcast/hazelcast.xml
@@ -36,15 +36,15 @@
</tcp-ip>
</join>
<interfaces enabled="false">
- <!-- This value will allow hazelcast to run locally from the IDE -->
+ <!-- This value will allow hazelcast to run locally from the IDE -->
<interface>127.0.0.*</interface>
</interfaces>
</network>
<properties>
<property name="hazelcast.icmp.enabled">false</property>
<property name="hazelcast.logging.type">slf4j</property>
- <!-- disable the hazelcast shutdown hook - prefer to control the shutdown
- in code -->
+ <!-- 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>
<property name="hazelcast.operation.generic.thread.count">1</property>
diff --git a/testsuites/integration/integration-executor-test/src/test/resources/logback-test.xml b/testsuites/integration/integration-executor-test/src/test/resources/logback-test.xml
index 549fb1912..021e55d2a 100644
--- a/testsuites/integration/integration-executor-test/src/test/resources/logback-test.xml
+++ b/testsuites/integration/integration-executor-test/src/test/resources/logback-test.xml
@@ -25,7 +25,7 @@
<statusListener class="ch.qos.logback.core.status.OnConsoleStatusListener" />
<property name="LOG_DIR" value="${java.io.tmpdir}/apex_logging/" />
- <!-- USE FOR STD OUT ONLY -->
+ <!-- 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>
diff --git a/testsuites/performance/performance-benchmark-test/pom.xml b/testsuites/performance/performance-benchmark-test/pom.xml
index 584b63898..6f6a978b1 100644
--- a/testsuites/performance/performance-benchmark-test/pom.xml
+++ b/testsuites/performance/performance-benchmark-test/pom.xml
@@ -36,6 +36,26 @@
<version>${project.version}</version>
</dependency>
<dependency>
+ <groupId>org.glassfish.jersey.core</groupId>
+ <artifactId>jersey-client</artifactId>
+ <version>${version.jersey}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.glassfish.jersey.containers</groupId>
+ <artifactId>jersey-container-grizzly2-http</artifactId>
+ <version>${version.jersey}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.glassfish.jersey.containers</groupId>
+ <artifactId>jersey-container-servlet-core</artifactId>
+ <version>${version.jersey}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.glassfish.jersey.inject</groupId>
+ <artifactId>jersey-hk2</artifactId>
+ <version>2.27</version>
+ </dependency>
+ <dependency>
<groupId>org.onap.policy.apex-pdp.testsuites.integration</groupId>
<artifactId>integration-common</artifactId>
<version>${project.version}</version>
@@ -78,26 +98,105 @@
<scope>test</scope>
</dependency>
<dependency>
+ <groupId>org.onap.policy.apex-pdp.plugins.plugins-event.plugins-event-carrier</groupId>
+ <artifactId>plugins-event-carrier-restclient</artifactId>
+ <version>${project.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
<groupId>org.onap.policy.apex-pdp.context</groupId>
<artifactId>context-test-utils</artifactId>
<version>${project.version}</version>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.mockito</groupId>
+ <artifactId>mockito-all</artifactId>
+ <scope>test</scope>
+ </dependency>
</dependencies>
<build>
<plugins>
+ <!-- Copy required resources and examples -->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-dependency-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>unpack-examples</id>
+ <phase>generate-test-resources</phase>
+ <goals>
+ <goal>unpack</goal>
+ </goals>
+ <configuration>
+ <artifactItems>
+ <artifactItem>
+ <groupId>org.onap.policy.apex-pdp.testsuites.integration</groupId>
+ <artifactId>integration-common</artifactId>
+ <version>${project.version}</version>
+ <type>jar</type>
+ <overWrite>false</overWrite>
+ <outputDirectory>${project.build.directory}</outputDirectory>
+ <includes>examples/**/*</includes>
+ </artifactItem>
+ </artifactItems>
+ <overWriteReleases>true</overWriteReleases>
+ <overWriteSnapshots>true</overWriteSnapshots>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
- <forkMode>always</forkMode>
+ <reuseForks>false</reuseForks>
</configuration>
</plugin>
</plugins>
</build>
<profiles>
+ <profile>
+ <id>only-eclipse</id>
+ <activation>
+ <property>
+ <name>m2e.version</name>
+ </property>
+ </activation>
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.eclipse.m2e</groupId>
+ <artifactId>lifecycle-mapping</artifactId>
+ <version>1.0.0</version>
+ <configuration>
+ <lifecycleMappingMetadata>
+ <pluginExecutions>
+ <pluginExecution>
+ <pluginExecutionFilter>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-dependency-plugin</artifactId>
+ <versionRange>[2.0,)</versionRange>
+ <goals>
+ <goal>unpack</goal>
+ </goals>
+ </pluginExecutionFilter>
+ <action>
+ <ignore />
+ </action>
+ </pluginExecution>
+ </pluginExecutions>
+ </lifecycleMappingMetadata>
+ </configuration>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+ </profile>
+
<profile>
<id>apexSite</id>
<activation>
@@ -113,4 +212,4 @@
</distributionManagement>
</profile>
</profiles>
-</project> \ No newline at end of file
+</project>
diff --git a/testsuites/performance/performance-benchmark-test/src/main/java/org/onap/policy/apex/testsuites/performance/benchmark/eventgenerator/EventBatch.java b/testsuites/performance/performance-benchmark-test/src/main/java/org/onap/policy/apex/testsuites/performance/benchmark/eventgenerator/EventBatch.java
new file mode 100644
index 000000000..abf0c993f
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/main/java/org/onap/policy/apex/testsuites/performance/benchmark/eventgenerator/EventBatch.java
@@ -0,0 +1,151 @@
+/*-
+ * ============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.testsuites.performance.benchmark.eventgenerator;
+
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.atomic.AtomicInteger;
+
+import org.onap.policy.apex.testsuites.performance.benchmark.eventgenerator.events.InputEvent;
+import org.onap.policy.apex.testsuites.performance.benchmark.eventgenerator.events.OutputEvent;
+
+/**
+ * This class keeps track of a batch of events sent to an Apex instance.
+ */
+public class EventBatch {
+ private static AtomicInteger nextBatchNumber = new AtomicInteger();
+
+ private final int batchNumber = nextBatchNumber.getAndIncrement();
+ private final Map<Integer, InputEvent> inputEventMap = new ConcurrentHashMap<>();
+ private final Map<Integer, OutputEvent> outputEventMap = new ConcurrentHashMap<>();
+
+ private final int batchSize;
+ private final String apexClient;
+
+ /**
+ * Create an event batch.
+ *
+ * @param batchSize the size of the batch
+ * @param apexClient the apex client to which the event batch will be sent
+ */
+ public EventBatch(final int batchSize, final String apexClient) {
+ this.batchSize = batchSize;
+ this.apexClient = apexClient;
+
+ // Create the events for the batch of events
+ for (int eventNumber = 0; eventNumber < batchSize; eventNumber++) {
+ InputEvent inputEvent = new InputEvent();
+ inputEvent.setTestSlogan(getEventSlogan(eventNumber));
+ inputEventMap.put(eventNumber, inputEvent);
+ }
+ }
+
+ /**
+ * Get the batch of events as a JSON string.
+ *
+ * @return the JSON string representation of the batch of events.
+ */
+ public String getBatchAsJsonString() {
+ if (batchSize == 1) {
+ return inputEventMap.get(0).asJson();
+ }
+
+ StringBuilder jsonBuilder = new StringBuilder();
+ jsonBuilder.append("[\n");
+ boolean first = true;
+ for (InputEvent inputEvent : inputEventMap.values()) {
+ if (first) {
+ first = false;
+ }
+ else {
+ jsonBuilder.append(",\n");
+ }
+ jsonBuilder.append(inputEvent.asJson());
+ }
+ jsonBuilder.append("\n]\n");
+
+ return jsonBuilder.toString();
+ }
+
+ public int getBatchNumber() {
+ return batchNumber;
+ }
+
+ public int getBatchSize() {
+ return batchSize;
+ }
+
+ public String getApexClient() {
+ return apexClient;
+ }
+
+ /**
+ * Get the event slogan.
+ *
+ * @param eventNumber the number of this event
+ * @return the event slogan
+ */
+ private String getEventSlogan(final int eventNumber) {
+ StringBuilder testSloganBuilder = new StringBuilder();
+ testSloganBuilder.append(batchNumber);
+ testSloganBuilder.append('-');
+ testSloganBuilder.append(eventNumber);
+ testSloganBuilder.append(": ");
+ testSloganBuilder.append(apexClient);
+
+ return testSloganBuilder.toString();
+ }
+
+ /**
+ * Handle a response event.
+ *
+ * @param responseEvent the response event
+ */
+ public void handleResponse(OutputEvent responseEvent) {
+ outputEventMap.put(responseEvent.findEventNumber(), responseEvent);
+ }
+
+ /**
+ * Get the statistics on this event batch.
+ * @return the event batch statistics
+ */
+ public EventBatchStats getStats() {
+ return new EventBatchStats(this);
+ }
+
+ /**
+ * Get an input event for an event number.
+ * @param eventNo the event number
+ * @return the event
+ */
+ public InputEvent getInputEvent(int eventNo) {
+ return inputEventMap.get(eventNo);
+ }
+
+ /**
+ * Get an output event for an event number.
+ * @param eventNo the event number
+ * @return the event
+ */
+ public OutputEvent getOutputEvent(int eventNo) {
+ return outputEventMap.get(eventNo);
+ }
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/main/java/org/onap/policy/apex/testsuites/performance/benchmark/eventgenerator/EventBatchStats.java b/testsuites/performance/performance-benchmark-test/src/main/java/org/onap/policy/apex/testsuites/performance/benchmark/eventgenerator/EventBatchStats.java
new file mode 100644
index 000000000..321cd28e2
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/main/java/org/onap/policy/apex/testsuites/performance/benchmark/eventgenerator/EventBatchStats.java
@@ -0,0 +1,239 @@
+/*-
+ * ============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.testsuites.performance.benchmark.eventgenerator;
+
+import java.util.List;
+
+import org.apache.commons.lang3.tuple.ImmutablePair;
+import org.apache.commons.lang3.tuple.Pair;
+import org.onap.policy.apex.testsuites.performance.benchmark.eventgenerator.events.OutputEvent;
+
+/**
+ * This POJO class returns statistics on a event batch execution in Apex.
+ */
+public class EventBatchStats {
+ private final int batchNumber;
+ private final int batchSize;
+ private final String apexClient;
+
+ // @formatter:off
+ private long eventsNotSent = 0;
+ private long eventsSent = 0;
+ private long eventsNotReceived = 0;
+ private long eventsReceived = 0;
+ private long averageRoundTripNano = 0;
+ private long shortestRoundTripNano = Long.MAX_VALUE;
+ private long longestRoundTripNano = 0;
+ private long averageApexExecutionNano = 0;
+ private long shortestApexExecutionNano = Long.MAX_VALUE;
+ private long longestApexExecutionNano = 0;
+ // @formatter:on
+
+ /**
+ * Create a statistics object for an event batch.
+ *
+ * @param eventBatch the event batch for these statistics
+ */
+ public EventBatchStats(final EventBatch eventBatch) {
+ this.batchNumber = eventBatch.getBatchNumber();
+ this.batchSize = eventBatch.getBatchSize();
+ this.apexClient = eventBatch.getApexClient();
+
+ calcutateStats(eventBatch);
+ }
+
+ /**
+ * Create a total statistics object for a list of event batches.
+ *
+ * @param eventBatchStatsList the event batch for these statistics
+ */
+ public EventBatchStats(final List<EventBatchStats> eventBatchStatsList) {
+ this.batchNumber = -1;
+ this.apexClient = "TOTAL";
+
+ calcutateStats(eventBatchStatsList);
+
+ this.batchSize = (int)(eventsNotSent + eventsSent);
+ }
+
+ /**
+ * Compile the statistics.
+ * @param eventBatch the event batch for which statisticss should be calculated
+ */
+ private void calcutateStats(final EventBatch eventBatch) {
+ long accumulatedRoundTripTime = 0;
+ long accumulatedApexExecutionTime = 0;
+
+ for (int eventNo = 0; eventNo < batchSize; eventNo++) {
+ Pair<Long, Long> eventTimings = calculateEventTimings(eventBatch, eventNo);
+ if (eventTimings == null) {
+ // The event has not been sent yet or the response has not been received yet
+ continue;
+ }
+
+ accumulatedRoundTripTime += eventTimings.getLeft();
+ accumulatedApexExecutionTime += eventTimings.getRight();
+ }
+
+ if (eventsReceived != 0) {
+ averageRoundTripNano = accumulatedRoundTripTime / eventsReceived;
+ averageApexExecutionNano = accumulatedApexExecutionTime / eventsReceived;
+ }
+ }
+
+ /**
+ * Compile the statistics.
+ * @param eventBatchStatsList the event batch list for which statistics should be calculated
+ */
+ private void calcutateStats(final List<EventBatchStats> eventBatchStatsList) {
+ long accumulatedRoundTripTime = 0;
+ long accumulatedApexExecutionTime = 0;
+
+ for (EventBatchStats eventBatchStats: eventBatchStatsList) {
+ // @formatter:off
+ eventsNotSent += eventBatchStats.getEventsNotSent();
+ eventsSent += eventBatchStats.getEventsSent();
+ eventsNotReceived += eventBatchStats.getEventsNotReceived();
+ eventsReceived += eventBatchStats.getEventsReceived();
+ // @formatter:on
+
+ if (shortestRoundTripNano > eventBatchStats.getShortestRoundTripNano()) {
+ shortestRoundTripNano = eventBatchStats.getShortestRoundTripNano();
+ }
+
+ if (shortestApexExecutionNano > eventBatchStats.getShortestApexExecutionNano()) {
+ shortestApexExecutionNano = eventBatchStats.getShortestApexExecutionNano();
+ }
+
+ if (longestRoundTripNano < eventBatchStats.getLongestRoundTripNano()) {
+ longestRoundTripNano = eventBatchStats.getLongestRoundTripNano();
+ }
+
+ if (longestApexExecutionNano < eventBatchStats.getLongestApexExecutionNano()) {
+ longestApexExecutionNano = eventBatchStats.getLongestApexExecutionNano();
+ }
+
+ accumulatedRoundTripTime += eventBatchStats.getAverageRoundTripNano();
+ accumulatedApexExecutionTime += eventBatchStats.getAverageApexExecutionNano();
+ }
+
+ if (!eventBatchStatsList.isEmpty()) {
+ averageRoundTripNano = accumulatedRoundTripTime / eventBatchStatsList.size();
+ averageApexExecutionNano = accumulatedApexExecutionTime / eventBatchStatsList.size();
+ }
+ }
+
+ /**
+ * Calculate statistics for a single event.
+ * @param eventBatch the event batch for the event
+ * @param eventNo the event number of the event
+ * @return
+ */
+ private Pair<Long, Long> calculateEventTimings(EventBatch eventBatch, int eventNo) {
+ // If an event is in a batch, it has been sent
+ eventsSent++;
+
+ OutputEvent outputEvent = eventBatch.getOutputEvent(eventNo);
+
+ if (outputEvent == null) {
+ eventsNotReceived++;
+ return null;
+
+ }
+ else {
+ eventsReceived++;
+ }
+
+ long roundTrip = outputEvent.getTestReceviedTimestamp() - outputEvent.getTestTimestamp();
+ long apexExecution = outputEvent.getTestActStateTime() - outputEvent.getTestMatchStateTime();
+
+
+ if (shortestRoundTripNano > roundTrip) {
+ shortestRoundTripNano = roundTrip;
+ }
+
+ if (shortestApexExecutionNano > apexExecution) {
+ shortestApexExecutionNano = apexExecution;
+ }
+
+ if (longestRoundTripNano < roundTrip) {
+ longestRoundTripNano = roundTrip;
+ }
+
+ if (longestApexExecutionNano < apexExecution) {
+ longestApexExecutionNano = apexExecution;
+ }
+
+ return new ImmutablePair<>(roundTrip, apexExecution);
+ }
+
+ public int getBatchNumber() {
+ return batchNumber;
+ }
+
+ public int getBatchSize() {
+ return batchSize;
+ }
+
+ public String getApexClient() {
+ return apexClient;
+ }
+
+ public long getEventsNotSent() {
+ return eventsNotSent;
+ }
+
+ public long getEventsSent() {
+ return eventsSent;
+ }
+
+ public long getEventsNotReceived() {
+ return eventsNotReceived;
+ }
+
+ public long getEventsReceived() {
+ return eventsReceived;
+ }
+
+ public long getAverageRoundTripNano() {
+ return averageRoundTripNano;
+ }
+
+ public long getShortestRoundTripNano() {
+ return shortestRoundTripNano;
+ }
+
+ public long getLongestRoundTripNano() {
+ return longestRoundTripNano;
+ }
+
+ public long getAverageApexExecutionNano() {
+ return averageApexExecutionNano;
+ }
+
+ public long getShortestApexExecutionNano() {
+ return shortestApexExecutionNano;
+ }
+
+ public long getLongestApexExecutionNano() {
+ return longestApexExecutionNano;
+ }
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/main/java/org/onap/policy/apex/testsuites/performance/benchmark/eventgenerator/EventGenerator.java b/testsuites/performance/performance-benchmark-test/src/main/java/org/onap/policy/apex/testsuites/performance/benchmark/eventgenerator/EventGenerator.java
new file mode 100644
index 000000000..a5ed37803
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/main/java/org/onap/policy/apex/testsuites/performance/benchmark/eventgenerator/EventGenerator.java
@@ -0,0 +1,185 @@
+/*-
+ * ============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.testsuites.performance.benchmark.eventgenerator;
+
+import java.io.IOException;
+import java.net.URI;
+import java.util.Arrays;
+
+import org.apache.commons.cli.ParseException;
+import org.glassfish.grizzly.http.server.HttpServer;
+import org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpServerFactory;
+import org.glassfish.jersey.server.ResourceConfig;
+import org.onap.policy.apex.core.infrastructure.threading.ThreadUtilities;
+import org.onap.policy.apex.model.utilities.TextFileUtils;
+import org.slf4j.ext.XLogger;
+import org.slf4j.ext.XLoggerFactory;
+
+/**
+ * This class is the main class of a REST server that generates sample events.
+ */
+public class EventGenerator {
+ // Get a reference to the logger
+ private static final XLogger LOGGER = XLoggerFactory.getXLogger(EventGenerator.class);
+
+ // Parameters for event generation
+ private final EventGeneratorParameters parameters;
+
+ // The HTTP server we are running
+ private final HttpServer eventGeneratorServer;
+
+ /**
+ * Instantiates a new event generator with the given parameters.
+ *
+ * @param parameters the parameters for the event generator
+ */
+ public EventGenerator(final EventGeneratorParameters parameters) {
+ this.parameters = parameters;
+
+ // Set the parameters in the event generator endpoint
+ EventGeneratorEndpoint.clearEventGenerationStats();
+ EventGeneratorEndpoint.setParameters(parameters);
+
+ // Add a shutdown hook to shut down the rest services when the process is exiting
+ Runtime.getRuntime().addShutdownHook(new Thread(new EventGeneratorShutdownHook()));
+
+ LOGGER.info("Event generator REST server starting");
+
+ final ResourceConfig rc = new ResourceConfig(EventGeneratorEndpoint.class);
+ eventGeneratorServer = GrizzlyHttpServerFactory.createHttpServer(getBaseUri(), rc);
+
+ // Wait for the HTTP server to come up
+ while (!eventGeneratorServer.isStarted()) {
+ ThreadUtilities.sleep(50);
+ }
+
+ LOGGER.info("Event generator REST server started");
+ }
+
+ /**
+ * Get the current event generation statistics.
+ *
+ * @return the statistics as a JSON string
+ */
+ public String getEventGenerationStats() {
+ return EventGeneratorEndpoint.getEventGenerationStats();
+ }
+
+ /**
+ * Check if event generation is finished.
+ *
+ * @return true if event generation is finished
+ */
+ public boolean isFinished() {
+ return EventGeneratorEndpoint.isFinished();
+ }
+
+ /**
+ * Tear down the event generator.
+ */
+ public void tearDown() {
+ LOGGER.info("Event generator shutting down");
+
+ eventGeneratorServer.shutdown();
+
+ if (parameters.getOutFile() != null) {
+ try {
+ TextFileUtils.putStringAsTextFile(getEventGenerationStats(), parameters.getOutFile());
+ }
+ catch (IOException ioe) {
+ LOGGER.warn("could not output statistics to file \"" + parameters.getOutFile() + "\"", ioe);
+ }
+ }
+
+ LOGGER.info("Event generator shut down");
+ }
+
+ /**
+ * Get the base URI for the server.
+ *
+ * @return the base URI
+ */
+ private URI getBaseUri() {
+ String baseUri = "http://" + parameters.getHost() + ':' + parameters.getPort() + '/' + "/EventGenerator";
+ return URI.create(baseUri);
+ }
+
+ /**
+ * This class is a shutdown hook for the Apex editor command.
+ */
+ private class EventGeneratorShutdownHook implements Runnable {
+ /*
+ * (non-Javadoc)
+ *
+ * @see java.lang.Runnable#run()
+ */
+ @Override
+ public void run() {
+ tearDown();
+ }
+ }
+
+ /**
+ * The main method.
+ *
+ * @param args the arguments
+ * @throws Exception the exception
+ */
+ public static void main(final String[] args) {
+ LOGGER.info("Starting event generator with arguments: " + Arrays.toString(args));
+
+ EventGeneratorParameterHandler parameterHandler = new EventGeneratorParameterHandler();
+
+ EventGeneratorParameters parameters = null;
+
+ try {
+ parameters = parameterHandler.parse(args);
+ }
+ catch (ParseException pe) {
+ LOGGER.trace("Event generator start exception", pe);
+ LOGGER.info("Start of event generator failed: {}", pe.getMessage());
+ return;
+ }
+
+ // Null parameters means we print help
+ if (parameters == null) {
+ LOGGER.info(parameterHandler.getHelp(EventGenerator.class.getName()));
+ return;
+ }
+
+ // Start the event generator
+ EventGenerator eventGenerator = new EventGenerator(parameters);
+ LOGGER.info("Event generator started");
+
+ // Wait for event generation to finish
+ while (!eventGenerator.isFinished()) {
+ ThreadUtilities.sleep(200);
+ }
+
+
+ // Shut down the server
+ eventGenerator.tearDown();
+
+ LOGGER.info("Event generator statistics\n" + eventGenerator.getEventGenerationStats());
+
+ LOGGER.info("Event generator finished");
+ }
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/main/java/org/onap/policy/apex/testsuites/performance/benchmark/eventgenerator/EventGeneratorEndpoint.java b/testsuites/performance/performance-benchmark-test/src/main/java/org/onap/policy/apex/testsuites/performance/benchmark/eventgenerator/EventGeneratorEndpoint.java
new file mode 100644
index 000000000..ed624fb83
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/main/java/org/onap/policy/apex/testsuites/performance/benchmark/eventgenerator/EventGeneratorEndpoint.java
@@ -0,0 +1,177 @@
+/*-
+ * ============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.testsuites.performance.benchmark.eventgenerator;
+
+import com.google.gson.Gson;
+
+import java.util.concurrent.ConcurrentHashMap;
+
+import javax.inject.Inject;
+import javax.inject.Provider;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.core.Response;
+
+import org.glassfish.grizzly.http.server.Request;
+import org.onap.policy.apex.core.infrastructure.threading.ThreadUtilities;
+import org.onap.policy.apex.testsuites.performance.benchmark.eventgenerator.events.OutputEvent;
+import org.slf4j.ext.XLogger;
+import org.slf4j.ext.XLoggerFactory;
+
+/**
+ * This class is the REST end point for event simulator REST calls.
+ */
+@Path("/")
+public class EventGeneratorEndpoint {
+ // Get a reference to the logger
+ private static final XLogger LOGGER = XLoggerFactory.getXLogger(EventGeneratorEndpoint.class);
+
+ // Parameters for event generation
+ private static EventGeneratorParameters parameters = new EventGeneratorParameters();
+
+ // The map of event batches sent in the test
+ private static ConcurrentHashMap<Integer, EventBatch> batchMap = new ConcurrentHashMap<>();
+
+ // Flag indicating that event processing has finished
+ private static boolean finished = false;
+
+ // The current HTTP request
+ private final Provider<Request> httpRequest;
+
+ /**
+ * Inject the HTTP request with a constructor.
+ * @param httpRequest the current request
+ */
+ @Inject
+ public EventGeneratorEndpoint(final Provider<Request> httpRequest) {
+ this.httpRequest = httpRequest;
+ }
+
+ /**
+ * Set the parameters for the end point.
+ *
+ * @param incomingParameters the new parameters
+ */
+ public static void setParameters(EventGeneratorParameters incomingParameters) {
+ synchronized (parameters) {
+ parameters = incomingParameters;
+ }
+ }
+
+ /**
+ * Get event generator statistics.
+ *
+ * @return the response
+ */
+ @Path("/Stats")
+ @GET
+ public Response serviceGetStats() {
+ return Response.status(200).entity(new EventGeneratorStats(batchMap).getStatsAsJsonString()).build();
+ }
+
+ /**
+ * Generate a single event.
+ *
+ * @return the event
+ */
+ @Path("/GetEvents")
+ @GET
+ public Response getEvents() {
+ ThreadUtilities.sleep(parameters.getDelayBetweenBatches());
+
+ // Check if event generation is finished
+ if (isFinished()) {
+ return Response.status(204).build();
+ }
+
+ // A batch count of 0 means to continue to handle events for ever
+ if (parameters.getBatchCount() > 0 && batchMap.size() >= parameters.getBatchCount()) {
+ setFinished(true);
+ return Response.status(204).build();
+ }
+
+ EventBatch batch = new EventBatch(parameters.getBatchSize(), getApexClient());
+ batchMap.put(batch.getBatchNumber(), batch);
+
+ return Response.status(200).entity(batch.getBatchAsJsonString()).build();
+ }
+
+ /**
+ * Get a single response to an event.
+ *
+ * @param jsonString the json string
+ * @return the response
+ */
+ @Path("/PostEvent")
+ @POST
+ public Response postEventResponse(final String jsonString) {
+ final OutputEvent outputEvent = new Gson().fromJson(jsonString, OutputEvent.class);
+
+ EventBatch batch = batchMap.get(outputEvent.findBatchNumber());
+
+ if (batch == null) {
+ String errorMessage = "no input event found for received output event " + outputEvent;
+ LOGGER.warn(errorMessage);
+ return Response.status(409).build();
+ }
+
+ batch.handleResponse(outputEvent);
+ return Response.status(200).build();
+ }
+
+ /**
+ * Get the name, address, and port of the Apex client getting the events.
+ *
+ * @return the Apex client
+ */
+ private String getApexClient() {
+ return httpRequest.get().getRemoteHost() + '(' + httpRequest.get().getRemoteAddr() + "):"
+ + httpRequest.get().getRemotePort();
+ }
+
+ /**
+ * Get event generation statistics.
+ * @return the statistics on event generation
+ */
+ protected static String getEventGenerationStats() {
+ return new EventGeneratorStats(batchMap).getStatsAsJsonString();
+ }
+
+ /**
+ * Clear event generation statistics.
+ */
+ protected static void clearEventGenerationStats() {
+ batchMap.clear();
+ }
+
+ /**
+ * Check if event generation has finished.
+ * @return true if event generation has finished
+ */
+ protected static boolean isFinished() {
+ return finished;
+ }
+
+ protected static void setFinished(boolean finished) {
+ EventGeneratorEndpoint.finished = finished;
+ }
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/main/java/org/onap/policy/apex/testsuites/performance/benchmark/eventgenerator/EventGeneratorParameterHandler.java b/testsuites/performance/performance-benchmark-test/src/main/java/org/onap/policy/apex/testsuites/performance/benchmark/eventgenerator/EventGeneratorParameterHandler.java
new file mode 100644
index 000000000..4cc94712f
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/main/java/org/onap/policy/apex/testsuites/performance/benchmark/eventgenerator/EventGeneratorParameterHandler.java
@@ -0,0 +1,214 @@
+/*-
+ * ============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.testsuites.performance.benchmark.eventgenerator;
+
+import com.google.gson.Gson;
+
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.io.StringWriter;
+import java.util.Arrays;
+
+import org.apache.commons.cli.CommandLine;
+import org.apache.commons.cli.DefaultParser;
+import org.apache.commons.cli.HelpFormatter;
+import org.apache.commons.cli.Option;
+import org.apache.commons.cli.Options;
+import org.apache.commons.cli.ParseException;
+import org.onap.policy.apex.model.utilities.TextFileUtils;
+import org.slf4j.ext.XLogger;
+import org.slf4j.ext.XLoggerFactory;
+
+/**
+ * This class reads and handles command line parameters to the event generator.
+ */
+public class EventGeneratorParameterHandler {
+ // Get a reference to the logger
+ private static final XLogger LOGGER = XLoggerFactory.getXLogger(EventGeneratorParameterHandler.class);
+
+ private static final String CONFIGURATION_FILE = "configuration-file";
+ private static final String PORT = "port";
+ private static final String HOST = "host";
+ private static final String HELP = "help";
+ private static final String BATCH_SIZE = "batch-size";
+ private static final String BATCH_COUNT = "batch-count";
+ private static final String BATCH_DELAY = "delay-between-batches";
+ private static final String OUTPUT_FILE = "output-file";
+
+ private static final int MAX_HELP_LINE_LENGTH = 120;
+
+ // Apache Commons CLI options
+ private final Options options;
+
+ /**
+ * Construct the options for the CLI editor.
+ */
+ public EventGeneratorParameterHandler() {
+ options = new Options();
+ options.addOption(Option.builder("h").longOpt(HELP).desc("outputs the usage of this command").required(false)
+ .type(Boolean.class).build());
+ options.addOption(Option.builder("H").longOpt(HOST)
+ .desc("the host name on which to start the event generation server, defaults to \"localhost\"")
+ .hasArg().argName(HOST).required(false).type(String.class).build());
+ options.addOption(Option.builder("p").longOpt(PORT)
+ .desc("the port on which to start the event generation server, defaults to 42339").hasArg()
+ .argName(PORT).required(false).type(Number.class).build());
+ options.addOption(Option.builder("c").longOpt(CONFIGURATION_FILE)
+ .desc("name of a file containing the parameters for the event generations server, "
+ + "this option must appear on its own")
+ .hasArg().argName(CONFIGURATION_FILE).required(false).type(String.class).build());
+ options.addOption(Option.builder("o").longOpt(OUTPUT_FILE)
+ .desc("path and name of a file to which output will be written,"
+ + " if not specified no output is written")
+ .hasArg().argName(OUTPUT_FILE).required(false).type(String.class).build());
+ options.addOption(Option.builder("bc").longOpt(BATCH_COUNT)
+ .desc("the number of batches of events to send, must be 0 or more, "
+ + "0 means send event batches forever, defaults to 1")
+ .hasArg().argName(BATCH_COUNT).required(false).type(Number.class).build());
+ options.addOption(Option.builder("bs").longOpt(BATCH_SIZE)
+ .desc("the number of events to send in an event batch, must be 1 or more, defaults to 1")
+ .hasArg().argName(BATCH_SIZE).required(false).type(Number.class).build());
+ options.addOption(Option.builder("bd").longOpt(BATCH_DELAY)
+ .desc("the delay in milliseconds between event batches, must be zero or more, "
+ + "defaults to 10,000 (10 seconds)")
+ .hasArg().argName(BATCH_DELAY).required(false).type(Number.class).build());
+ }
+
+ /**
+ * Parse the command line options.
+ *
+ * @param args The arguments
+ * @return the CLI parameters
+ * @throws ParseException on parse errors
+ */
+ public EventGeneratorParameters parse(final String[] args) throws ParseException {
+ CommandLine commandLine = new DefaultParser().parse(options, args);
+ final String[] remainingArgs = commandLine.getArgs();
+
+ if (remainingArgs.length > 0) {
+ throw new ParseException("too many command line arguments specified : " + Arrays.toString(remainingArgs));
+ }
+
+ if (commandLine.hasOption('h')) {
+ return null;
+ }
+
+ EventGeneratorParameters parameters = new EventGeneratorParameters();
+
+ if (commandLine.hasOption('c')) {
+ parameters = getParametersFromJsonFile(commandLine.getOptionValue(CONFIGURATION_FILE));
+ }
+
+ parseFlags(commandLine, parameters);
+
+ if (commandLine.hasOption('o')) {
+ parameters.setOutFile(commandLine.getOptionValue(OUTPUT_FILE));
+ }
+
+ if (!parameters.isValid()) {
+ throw new ParseException("specified parameters are not valid: " + parameters.validate().getResult());
+ }
+
+ return parameters;
+ }
+
+ /**
+ * Parse the command flags.
+ *
+ * @param commandLine the command line to parse
+ * @param parameters the parameters we are parsing into
+ * @throws ParseException on parse errors
+ */
+ private void parseFlags(CommandLine commandLine, EventGeneratorParameters parameters) throws ParseException {
+ if (commandLine.hasOption('H')) {
+ parameters.setHost(commandLine.getOptionValue(HOST));
+ }
+
+ if (commandLine.hasOption('p')) {
+ parameters.setPort(((Number) commandLine.getParsedOptionValue(PORT)).intValue());
+ }
+
+ if (commandLine.hasOption("bc")) {
+ parameters.setBatchCount(((Number) commandLine.getParsedOptionValue(BATCH_COUNT)).intValue());
+ }
+
+ if (commandLine.hasOption("bs")) {
+ parameters.setBatchSize(((Number) commandLine.getParsedOptionValue(BATCH_SIZE)).intValue());
+ }
+
+ if (commandLine.hasOption("bd")) {
+ parameters.setDelayBetweenBatches(((Number) commandLine.getParsedOptionValue(BATCH_DELAY)).longValue());
+ }
+ }
+
+ /**
+ * Get the parameters from a JSON file.
+ *
+ * @param configurationFile the location of the configuration file
+ * @return the parameters read from the JSON file
+ * @throws ParseException on errors reading the parameters
+ */
+ private EventGeneratorParameters getParametersFromJsonFile(String configurationFile) throws ParseException {
+ String parameterJsonString = null;
+
+ try {
+ parameterJsonString = TextFileUtils.getTextFileAsString(configurationFile);
+ } catch (IOException ioe) {
+ String errorMessage = "Could not read parameters from configuration file \"" + configurationFile + "\": "
+ + ioe.getMessage();
+ LOGGER.warn(errorMessage, ioe);
+ throw new ParseException(errorMessage);
+ }
+
+ if (parameterJsonString == null || parameterJsonString.trim().length() == 0) {
+ String errorMessage = "No parameters found in configuration file \"" + configurationFile + "\"";
+ LOGGER.warn(errorMessage);
+ throw new ParseException(errorMessage);
+ }
+
+ try {
+ return new Gson().fromJson(parameterJsonString, EventGeneratorParameters.class);
+ } catch (Exception ge) {
+ String errorMessage = "Error parsing JSON parameters from configuration file \"" + configurationFile
+ + "\": " + ge.getMessage();
+ LOGGER.warn(errorMessage, ge);
+ throw new ParseException(errorMessage);
+ }
+ }
+
+ /**
+ * Get help information.
+ *
+ * @param mainClassName the main class name for the help output
+ * @return help string
+ */
+ public String getHelp(final String mainClassName) {
+ final StringWriter stringWriter = new StringWriter();
+ final PrintWriter stringPrintWriter = new PrintWriter(stringWriter);
+
+ final HelpFormatter helpFormatter = new HelpFormatter();
+ helpFormatter.printHelp(stringPrintWriter, MAX_HELP_LINE_LENGTH, mainClassName + " [options...] ", "", options,
+ 0, 0, "");
+
+ return stringWriter.toString();
+ }
+
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/main/java/org/onap/policy/apex/testsuites/performance/benchmark/eventgenerator/EventGeneratorParameters.java b/testsuites/performance/performance-benchmark-test/src/main/java/org/onap/policy/apex/testsuites/performance/benchmark/eventgenerator/EventGeneratorParameters.java
new file mode 100644
index 000000000..8eb41b4e3
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/main/java/org/onap/policy/apex/testsuites/performance/benchmark/eventgenerator/EventGeneratorParameters.java
@@ -0,0 +1,156 @@
+/*-
+ * ============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.testsuites.performance.benchmark.eventgenerator;
+
+import org.onap.policy.common.parameters.GroupValidationResult;
+import org.onap.policy.common.parameters.ParameterGroup;
+import org.onap.policy.common.parameters.ValidationStatus;
+
+/**
+ * This class defines the parameters for event generation.
+ */
+public class EventGeneratorParameters implements ParameterGroup {
+ // @formatter:off
+ private static final String DEFAULT_NAME = EventGeneratorParameters.class.getSimpleName();
+ private static final String DEFAULT_HOST = "localhost";
+ private static final int DEFAULT_PORT = 32801;
+ private static final int DEFAULT_BATCH_COUNT = 1;
+ private static final int DEFAULT_BATCH_SIZE = 1;
+ private static final long DEFAULT_DELAY_BETWEEN_BATCHES = 2000;
+
+ private String name = DEFAULT_NAME;
+ private String host = DEFAULT_HOST;
+ private int port = DEFAULT_PORT;
+ private int batchCount = DEFAULT_BATCH_COUNT;
+ private int batchSize = DEFAULT_BATCH_SIZE;
+ private long delayBetweenBatches = DEFAULT_DELAY_BETWEEN_BATCHES;
+ private String outFile = null;
+ // @formatter:on
+
+ /**
+ * Create default parameters.
+ */
+ public EventGeneratorParameters() {
+ // Default parameters are generated
+ }
+
+ @Override
+ public String getName() {
+ return name;
+ }
+
+ @Override
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getHost() {
+ return host;
+ }
+
+ public void setHost(String host) {
+ this.host = host;
+ }
+
+ public int getPort() {
+ return port;
+ }
+
+ public void setPort(int port) {
+ this.port = port;
+ }
+
+ public int getBatchCount() {
+ return batchCount;
+ }
+
+ public void setBatchCount(int batchCount) {
+ this.batchCount = batchCount;
+ }
+
+ public int getBatchSize() {
+ return batchSize;
+ }
+
+ public void setBatchSize(int batchSize) {
+ this.batchSize = batchSize;
+ }
+
+ public long getDelayBetweenBatches() {
+ return delayBetweenBatches;
+ }
+
+ public void setDelayBetweenBatches(long delayBetweenBatches) {
+ this.delayBetweenBatches = delayBetweenBatches;
+ }
+
+ public String getOutFile() {
+ return outFile;
+ }
+
+ public void setOutFile(String outFile) {
+ this.outFile = outFile;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public GroupValidationResult validate() {
+ GroupValidationResult validationResult = new GroupValidationResult(this);
+
+ if (isNullOrBlank(name)) {
+ validationResult.setResult("name", ValidationStatus.INVALID, "name must be a non-blank string");
+ }
+
+ if (isNullOrBlank(host)) {
+ validationResult.setResult("host", ValidationStatus.INVALID, "host must be a non-blank string");
+ }
+
+ if (port < 1024 || port > 65535) {
+ validationResult.setResult("port", ValidationStatus.INVALID,
+ "port must be an integer between 1024 and 65535 inclusive");
+ }
+
+ if (batchCount < 0) {
+ validationResult.setResult("batchCount", ValidationStatus.INVALID,
+ "batchCount must be an integer with a value of zero or more, "
+ + "zero means generate batches forever");
+ }
+
+ if (batchSize < 1) {
+ validationResult.setResult("batchSize", ValidationStatus.INVALID,
+ "batchSize must be an integer greater than zero");
+ }
+
+ if (delayBetweenBatches < 0) {
+ validationResult.setResult("batchSize", ValidationStatus.INVALID,
+ "batchSize must be an integer with a value of zero or more");
+ }
+
+ return validationResult;
+ }
+
+ private boolean isNullOrBlank(final String stringValue) {
+ return stringValue == null || stringValue.trim().length() == 0;
+ }
+
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/main/java/org/onap/policy/apex/testsuites/performance/benchmark/eventgenerator/EventGeneratorStats.java b/testsuites/performance/performance-benchmark-test/src/main/java/org/onap/policy/apex/testsuites/performance/benchmark/eventgenerator/EventGeneratorStats.java
new file mode 100644
index 000000000..f3a5372bf
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/main/java/org/onap/policy/apex/testsuites/performance/benchmark/eventgenerator/EventGeneratorStats.java
@@ -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=========================================================
+ */
+
+package org.onap.policy.apex.testsuites.performance.benchmark.eventgenerator;
+
+import com.google.gson.GsonBuilder;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * This class creates statistics for the event generator's current status.
+ */
+public class EventGeneratorStats {
+ private final EventBatchStats totalStats;
+ private final List<EventBatchStats> batchStatsList = new ArrayList<>();
+
+ /**
+ * Create the statistics using the current batch map.
+ * @param batchMap the batch map to use
+ */
+ public EventGeneratorStats(final Map<Integer, EventBatch> batchMap) {
+ for (EventBatch eventBatch: batchMap.values()) {
+ batchStatsList.add(new EventBatchStats(eventBatch));
+ }
+
+ totalStats = new EventBatchStats(batchStatsList);
+ }
+
+ /**
+ * Get the batch statistics as a JSON string.
+ * @return the statistics as a JSON string
+ */
+ public String getStatsAsJsonString() {
+ return new GsonBuilder().setPrettyPrinting().create().toJson(this);
+ }
+
+ public EventBatchStats getTotalStats() {
+ return totalStats;
+ }
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/main/java/org/onap/policy/apex/testsuites/performance/benchmark/eventgenerator/events/InputEvent.java b/testsuites/performance/performance-benchmark-test/src/main/java/org/onap/policy/apex/testsuites/performance/benchmark/eventgenerator/events/InputEvent.java
new file mode 100644
index 000000000..cf70ea2f1
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/main/java/org/onap/policy/apex/testsuites/performance/benchmark/eventgenerator/events/InputEvent.java
@@ -0,0 +1,142 @@
+/*-
+ * ============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.testsuites.performance.benchmark.eventgenerator.events;
+
+import com.google.gson.GsonBuilder;
+import com.google.gson.annotations.SerializedName;
+
+import java.util.Random;
+
+/**
+ * This class is a POJO representing an input event for load testing.
+ */
+public class InputEvent {
+ private String nameSpace = "org.onap.policy.apex.sample.events";
+ private String name;
+ private String version = "0.0.1";
+ private String source = "EventGenerator";
+ private String target = "Apex";
+
+ @SerializedName(value = "TestSlogan")
+ private String testSlogan;
+
+ @SerializedName(value = "TestMatchCase")
+ private int testMatchCase;
+
+ @SerializedName(value = "TestTimestamp")
+ private long testTimestamp = System.nanoTime();
+
+ @SerializedName(value = "TestTemperature")
+ private double testTemperature;
+
+ /**
+ * Constructor, assign default values to fields.
+ */
+ public InputEvent() {
+ final Random rand = new Random();
+ testMatchCase = rand.nextInt(4);
+ name = "Event0" + rand.nextInt(2) + "00";
+ testTemperature = rand.nextDouble() * 1000;
+ }
+
+ public String getNameSpace() {
+ return nameSpace;
+
+ }
+
+ public void setNameSpace(String nameSpace) {
+ this.nameSpace = nameSpace;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getVersion() {
+ return version;
+ }
+
+ public void setVersion(String version) {
+ this.version = version;
+ }
+
+ public String getSource() {
+ return source;
+ }
+
+ public void setSource(String source) {
+ this.source = source;
+ }
+
+ public String getTarget() {
+ return target;
+ }
+
+
+ public void setTarget(String target) {
+ this.target = target;
+ }
+
+ public String getTestSlogan() {
+ return testSlogan;
+ }
+
+ public void setTestSlogan(String testSlogan) {
+ this.testSlogan = testSlogan;
+ }
+
+ public int getTestMatchCase() {
+ return testMatchCase;
+ }
+
+ public void setTestMatchCase(int testMatchCase) {
+ this.testMatchCase = testMatchCase;
+ }
+
+ public long getTestTimestamp() {
+ return testTimestamp;
+ }
+
+ public void setTestTimestamp(long testTimestamp) {
+ this.testTimestamp = testTimestamp;
+ }
+
+ public double getTestTemperature() {
+ return testTemperature;
+ }
+
+ public void setTestTemperature(double testTemperature) {
+ this.testTemperature = testTemperature;
+ }
+
+ /**
+ * Get a JSON representation of the input event.
+ *
+ * @return the event in JSON format
+ */
+ public String asJson() {
+ return new GsonBuilder().setPrettyPrinting().create().toJson(this);
+ }
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/main/java/org/onap/policy/apex/testsuites/performance/benchmark/eventgenerator/events/OutputEvent.java b/testsuites/performance/performance-benchmark-test/src/main/java/org/onap/policy/apex/testsuites/performance/benchmark/eventgenerator/events/OutputEvent.java
new file mode 100644
index 000000000..0350b3f2e
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/main/java/org/onap/policy/apex/testsuites/performance/benchmark/eventgenerator/events/OutputEvent.java
@@ -0,0 +1,135 @@
+/*-
+ * ============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.testsuites.performance.benchmark.eventgenerator.events;
+
+import com.google.gson.annotations.SerializedName;
+
+/**
+ * This class is a POJO representing an output event for load testing.
+ */
+public class OutputEvent extends InputEvent {
+ @SerializedName(value = "TestMatchCaseSelected")
+ private int testMatchCaseSelected;
+
+ @SerializedName(value = "TestMatchStateTime")
+ private long testMatchStateTime;
+
+ @SerializedName(value = "TestEstablishCaseSelected")
+ private int testEstablishCaseSelected;
+
+ @SerializedName(value = "TestEstablishStateTime")
+ private long testEstablishStateTime;
+
+ @SerializedName(value = "TestDecideCaseSelected")
+ private int testDecideCaseSelected;
+
+ @SerializedName(value = "TestDecideStateTime")
+ private long testDecideStateTime;
+
+ @SerializedName(value = "TestActCaseSelected")
+ private int testActCaseSelected;
+
+ @SerializedName(value = "TestActStateTime")
+ private long testActStateTime;
+
+ private long testReceviedTimestamp = System.nanoTime();
+
+ public int getTestMatchCaseSelected() {
+ return testMatchCaseSelected;
+ }
+
+ public void setTestMatchCaseSelected(int testMatchCaseSelected) {
+ this.testMatchCaseSelected = testMatchCaseSelected;
+ }
+
+ public long getTestMatchStateTime() {
+ return testMatchStateTime;
+ }
+
+ public void setTestMatchStateTime(long testMatchStateTime) {
+ this.testMatchStateTime = testMatchStateTime;
+ }
+
+ public int getTestEstablishCaseSelected() {
+ return testEstablishCaseSelected;
+ }
+
+ public void setTestEstablishCaseSelected(int testEstablishCaseSelected) {
+ this.testEstablishCaseSelected = testEstablishCaseSelected;
+ }
+
+ public long getTestEstablishStateTime() {
+ return testEstablishStateTime;
+ }
+
+ public void setTestEstablishStateTime(long testEstablishStateTime) {
+ this.testEstablishStateTime = testEstablishStateTime;
+ }
+
+ public int getTestDecideCaseSelected() {
+ return testDecideCaseSelected;
+ }
+
+ public void setTestDecideCaseSelected(int testDecideCaseSelected) {
+ this.testDecideCaseSelected = testDecideCaseSelected;
+ }
+
+ public long getTestDecideStateTime() {
+ return testDecideStateTime;
+ }
+
+ public void setTestDecideStateTime(long testDecideStateTime) {
+ this.testDecideStateTime = testDecideStateTime;
+ }
+
+ public int getTestActCaseSelected() {
+ return testActCaseSelected;
+ }
+
+ public void setTestActCaseSelected(int testActCaseSelected) {
+ this.testActCaseSelected = testActCaseSelected;
+ }
+
+ public long getTestActStateTime() {
+ return testActStateTime;
+ }
+
+ public void setTestActStateTime(long testActStateTime) {
+ this.testActStateTime = testActStateTime;
+ }
+
+ public long getTestReceviedTimestamp() {
+ return testReceviedTimestamp;
+ }
+
+ public void setTestReceviedTimestamp(long testReceviedTimestamp) {
+ this.testReceviedTimestamp = testReceviedTimestamp;
+ }
+
+ public int findBatchNumber() {
+ return Integer.valueOf(getTestSlogan().substring(0, getTestSlogan().indexOf('-')));
+ }
+
+ public int findEventNumber() {
+ return Integer.valueOf(
+ getTestSlogan().substring(getTestSlogan().indexOf('-') + 1, getTestSlogan().indexOf(':')));
+ }
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/EventGeneratorConfig.json b/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/EventGeneratorConfig.json
new file mode 100644
index 000000000..ede72cc60
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/EventGeneratorConfig.json
@@ -0,0 +1,9 @@
+{
+ "name": "EventGenerator",
+ "host": "localhost",
+ "port": 32801,
+ "batchCount": 20,
+ "batchSize": 50,
+ "delayBetweenBatches": 2000,
+ "outFile": null
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/JRuby01.json b/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/JRuby01.json
new file mode 100644
index 000000000..117d3fbc5
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/JRuby01.json
@@ -0,0 +1,45 @@
+{
+ "engineServiceParameters": {
+ "name": "MyApexEngine",
+ "version": "0.0.1",
+ "id": 45,
+ "instanceCount": 1,
+ "deploymentPort": 12561,
+ "policyModelFileName": "examples/models/SampleDomain/SamplePolicyModelJRUBY.xml",
+ "engineParameters": {
+ "executorParameters": {
+ "JRUBY": {
+ "parameterClassName": "org.onap.policy.apex.plugins.executor.jruby.JrubyExecutorParameters"
+ }
+ }
+ }
+ },
+ "eventInputParameters": {
+ "FirstConsumer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://localhost:32801/EventGenerator/GetEvents"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ },
+ "eventOutputParameters": {
+ "FirstProducer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://localhost:32801/EventGenerator/PostEvent"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ }
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/JRuby02.json b/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/JRuby02.json
new file mode 100644
index 000000000..0e154ddf7
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/JRuby02.json
@@ -0,0 +1,45 @@
+{
+ "engineServiceParameters": {
+ "name": "MyApexEngine",
+ "version": "0.0.1",
+ "id": 45,
+ "instanceCount": 2,
+ "deploymentPort": 12561,
+ "policyModelFileName": "examples/models/SampleDomain/SamplePolicyModelJRUBY.xml",
+ "engineParameters": {
+ "executorParameters": {
+ "JRUBY": {
+ "parameterClassName": "org.onap.policy.apex.plugins.executor.jruby.JrubyExecutorParameters"
+ }
+ }
+ }
+ },
+ "eventInputParameters": {
+ "FirstConsumer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://localhost:32801/EventGenerator/GetEvents"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ },
+ "eventOutputParameters": {
+ "FirstProducer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://localhost:32801/EventGenerator/PostEvent"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ }
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/JRuby04.json b/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/JRuby04.json
new file mode 100644
index 000000000..9d1c891b7
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/JRuby04.json
@@ -0,0 +1,45 @@
+{
+ "engineServiceParameters": {
+ "name": "MyApexEngine",
+ "version": "0.0.1",
+ "id": 45,
+ "instanceCount": 4,
+ "deploymentPort": 12561,
+ "policyModelFileName": "examples/models/SampleDomain/SamplePolicyModelJRUBY.xml",
+ "engineParameters": {
+ "executorParameters": {
+ "JRUBY": {
+ "parameterClassName": "org.onap.policy.apex.plugins.executor.jruby.JrubyExecutorParameters"
+ }
+ }
+ }
+ },
+ "eventInputParameters": {
+ "FirstConsumer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://localhost:32801/EventGenerator/GetEvents"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ },
+ "eventOutputParameters": {
+ "FirstProducer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://localhost:32801/EventGenerator/PostEvent"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ }
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/JRuby08.json b/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/JRuby08.json
new file mode 100644
index 000000000..d4fd87af7
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/JRuby08.json
@@ -0,0 +1,45 @@
+{
+ "engineServiceParameters": {
+ "name": "MyApexEngine",
+ "version": "0.0.1",
+ "id": 45,
+ "instanceCount": 8,
+ "deploymentPort": 12561,
+ "policyModelFileName": "examples/models/SampleDomain/SamplePolicyModelJRUBY.xml",
+ "engineParameters": {
+ "executorParameters": {
+ "JRUBY": {
+ "parameterClassName": "org.onap.policy.apex.plugins.executor.jruby.JrubyExecutorParameters"
+ }
+ }
+ }
+ },
+ "eventInputParameters": {
+ "FirstConsumer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://localhost:32801/EventGenerator/GetEvents"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ },
+ "eventOutputParameters": {
+ "FirstProducer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://localhost:32801/EventGenerator/PostEvent"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ }
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/JRuby16.json b/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/JRuby16.json
new file mode 100644
index 000000000..24c26644c
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/JRuby16.json
@@ -0,0 +1,45 @@
+{
+ "engineServiceParameters": {
+ "name": "MyApexEngine",
+ "version": "0.0.1",
+ "id": 45,
+ "instanceCount": 16,
+ "deploymentPort": 12561,
+ "policyModelFileName": "examples/models/SampleDomain/SamplePolicyModelJRUBY.xml",
+ "engineParameters": {
+ "executorParameters": {
+ "JRUBY": {
+ "parameterClassName": "org.onap.policy.apex.plugins.executor.jruby.JrubyExecutorParameters"
+ }
+ }
+ }
+ },
+ "eventInputParameters": {
+ "FirstConsumer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://localhost:32801/EventGenerator/GetEvents"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ },
+ "eventOutputParameters": {
+ "FirstProducer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://localhost:32801/EventGenerator/PostEvent"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ }
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/JRuby32.json b/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/JRuby32.json
new file mode 100644
index 000000000..88293b899
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/JRuby32.json
@@ -0,0 +1,45 @@
+{
+ "engineServiceParameters": {
+ "name": "MyApexEngine",
+ "version": "0.0.1",
+ "id": 45,
+ "instanceCount": 32,
+ "deploymentPort": 12561,
+ "policyModelFileName": "examples/models/SampleDomain/SamplePolicyModelJRUBY.xml",
+ "engineParameters": {
+ "executorParameters": {
+ "JRUBY": {
+ "parameterClassName": "org.onap.policy.apex.plugins.executor.jruby.JrubyExecutorParameters"
+ }
+ }
+ }
+ },
+ "eventInputParameters": {
+ "FirstConsumer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://localhost:32801/EventGenerator/GetEvents"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ },
+ "eventOutputParameters": {
+ "FirstProducer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://localhost:32801/EventGenerator/PostEvent"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ }
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/JRuby64.json b/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/JRuby64.json
new file mode 100644
index 000000000..99a8b3f0f
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/JRuby64.json
@@ -0,0 +1,45 @@
+{
+ "engineServiceParameters": {
+ "name": "MyApexEngine",
+ "version": "0.0.1",
+ "id": 45,
+ "instanceCount": 64,
+ "deploymentPort": 12561,
+ "policyModelFileName": "examples/models/SampleDomain/SamplePolicyModelJRUBY.xml",
+ "engineParameters": {
+ "executorParameters": {
+ "JRUBY": {
+ "parameterClassName": "org.onap.policy.apex.plugins.executor.jruby.JrubyExecutorParameters"
+ }
+ }
+ }
+ },
+ "eventInputParameters": {
+ "FirstConsumer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://localhost:32801/EventGenerator/GetEvents"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ },
+ "eventOutputParameters": {
+ "FirstProducer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://localhost:32801/EventGenerator/PostEvent"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ }
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Java01.json b/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Java01.json
new file mode 100644
index 000000000..674e3005e
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Java01.json
@@ -0,0 +1,45 @@
+{
+ "engineServiceParameters": {
+ "name": "MyApexEngine",
+ "version": "0.0.1",
+ "id": 45,
+ "instanceCount": 1,
+ "deploymentPort": 12561,
+ "policyModelFileName": "examples/models/SampleDomain/SamplePolicyModelJAVA.xml",
+ "engineParameters": {
+ "executorParameters": {
+ "JAVA": {
+ "parameterClassName": "org.onap.policy.apex.plugins.executor.java.JavaExecutorParameters"
+ }
+ }
+ }
+ },
+ "eventInputParameters": {
+ "FirstConsumer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://localhost:32801/EventGenerator/GetEvents"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ },
+ "eventOutputParameters": {
+ "FirstProducer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://localhost:32801/EventGenerator/PostEvent"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ }
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Java02.json b/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Java02.json
new file mode 100644
index 000000000..8c1702026
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Java02.json
@@ -0,0 +1,45 @@
+{
+ "engineServiceParameters": {
+ "name": "MyApexEngine",
+ "version": "0.0.1",
+ "id": 45,
+ "instanceCount": 2,
+ "deploymentPort": 12561,
+ "policyModelFileName": "examples/models/SampleDomain/SamplePolicyModelJAVA.xml",
+ "engineParameters": {
+ "executorParameters": {
+ "JAVA": {
+ "parameterClassName": "org.onap.policy.apex.plugins.executor.java.JavaExecutorParameters"
+ }
+ }
+ }
+ },
+ "eventInputParameters": {
+ "FirstConsumer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://localhost:32801/EventGenerator/GetEvents"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ },
+ "eventOutputParameters": {
+ "FirstProducer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://localhost:32801/EventGenerator/PostEvent"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ }
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Java04.json b/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Java04.json
new file mode 100644
index 000000000..2602390ae
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Java04.json
@@ -0,0 +1,45 @@
+{
+ "engineServiceParameters": {
+ "name": "MyApexEngine",
+ "version": "0.0.1",
+ "id": 45,
+ "instanceCount": 4,
+ "deploymentPort": 12561,
+ "policyModelFileName": "examples/models/SampleDomain/SamplePolicyModelJAVA.xml",
+ "engineParameters": {
+ "executorParameters": {
+ "JAVA": {
+ "parameterClassName": "org.onap.policy.apex.plugins.executor.java.JavaExecutorParameters"
+ }
+ }
+ }
+ },
+ "eventInputParameters": {
+ "FirstConsumer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://localhost:32801/EventGenerator/GetEvents"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ },
+ "eventOutputParameters": {
+ "FirstProducer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://localhost:32801/EventGenerator/PostEvent"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ }
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Java08.json b/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Java08.json
new file mode 100644
index 000000000..a9d990292
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Java08.json
@@ -0,0 +1,45 @@
+{
+ "engineServiceParameters": {
+ "name": "MyApexEngine",
+ "version": "0.0.1",
+ "id": 45,
+ "instanceCount": 8,
+ "deploymentPort": 12561,
+ "policyModelFileName": "examples/models/SampleDomain/SamplePolicyModelJAVA.xml",
+ "engineParameters": {
+ "executorParameters": {
+ "JAVA": {
+ "parameterClassName": "org.onap.policy.apex.plugins.executor.java.JavaExecutorParameters"
+ }
+ }
+ }
+ },
+ "eventInputParameters": {
+ "FirstConsumer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://localhost:32801/EventGenerator/GetEvents"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ },
+ "eventOutputParameters": {
+ "FirstProducer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://localhost:32801/EventGenerator/PostEvent"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ }
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Java16.json b/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Java16.json
new file mode 100644
index 000000000..dc1d9f699
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Java16.json
@@ -0,0 +1,45 @@
+{
+ "engineServiceParameters": {
+ "name": "MyApexEngine",
+ "version": "0.0.1",
+ "id": 45,
+ "instanceCount": 16,
+ "deploymentPort": 12561,
+ "policyModelFileName": "examples/models/SampleDomain/SamplePolicyModelJAVA.xml",
+ "engineParameters": {
+ "executorParameters": {
+ "JAVA": {
+ "parameterClassName": "org.onap.policy.apex.plugins.executor.java.JavaExecutorParameters"
+ }
+ }
+ }
+ },
+ "eventInputParameters": {
+ "FirstConsumer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://localhost:32801/EventGenerator/GetEvents"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ },
+ "eventOutputParameters": {
+ "FirstProducer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://localhost:32801/EventGenerator/PostEvent"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ }
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Java32.json b/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Java32.json
new file mode 100644
index 000000000..0bc52e336
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Java32.json
@@ -0,0 +1,45 @@
+{
+ "engineServiceParameters": {
+ "name": "MyApexEngine",
+ "version": "0.0.1",
+ "id": 45,
+ "instanceCount": 32,
+ "deploymentPort": 12561,
+ "policyModelFileName": "examples/models/SampleDomain/SamplePolicyModelJAVA.xml",
+ "engineParameters": {
+ "executorParameters": {
+ "JAVA": {
+ "parameterClassName": "org.onap.policy.apex.plugins.executor.java.JavaExecutorParameters"
+ }
+ }
+ }
+ },
+ "eventInputParameters": {
+ "FirstConsumer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://localhost:32801/EventGenerator/GetEvents"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ },
+ "eventOutputParameters": {
+ "FirstProducer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://localhost:32801/EventGenerator/PostEvent"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ }
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Java64.json b/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Java64.json
new file mode 100644
index 000000000..52d074089
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Java64.json
@@ -0,0 +1,45 @@
+{
+ "engineServiceParameters": {
+ "name": "MyApexEngine",
+ "version": "0.0.1",
+ "id": 45,
+ "instanceCount": 64,
+ "deploymentPort": 12561,
+ "policyModelFileName": "examples/models/SampleDomain/SamplePolicyModelJAVA.xml",
+ "engineParameters": {
+ "executorParameters": {
+ "JAVA": {
+ "parameterClassName": "org.onap.policy.apex.plugins.executor.java.JavaExecutorParameters"
+ }
+ }
+ }
+ },
+ "eventInputParameters": {
+ "FirstConsumer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://localhost:32801/EventGenerator/GetEvents"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ },
+ "eventOutputParameters": {
+ "FirstProducer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://localhost:32801/EventGenerator/PostEvent"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ }
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Javascript01.json b/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Javascript01.json
new file mode 100644
index 000000000..afea5fe45
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Javascript01.json
@@ -0,0 +1,45 @@
+{
+ "engineServiceParameters": {
+ "name": "MyApexEngine",
+ "version": "0.0.1",
+ "id": 45,
+ "instanceCount": 1,
+ "deploymentPort": 12561,
+ "policyModelFileName": "examples/models/SampleDomain/SamplePolicyModelJAVASCRIPT.xml",
+ "engineParameters": {
+ "executorParameters": {
+ "JAVASCRIPT": {
+ "parameterClassName": "org.onap.policy.apex.plugins.executor.javascript.JavascriptExecutorParameters"
+ }
+ }
+ }
+ },
+ "eventInputParameters": {
+ "FirstConsumer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://localhost:32801/EventGenerator/GetEvents"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ },
+ "eventOutputParameters": {
+ "FirstProducer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://localhost:32801/EventGenerator/PostEvent"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ }
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Javascript02.json b/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Javascript02.json
new file mode 100644
index 000000000..f28dc18b1
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Javascript02.json
@@ -0,0 +1,45 @@
+{
+ "engineServiceParameters": {
+ "name": "MyApexEngine",
+ "version": "0.0.1",
+ "id": 45,
+ "instanceCount": 2,
+ "deploymentPort": 12561,
+ "policyModelFileName": "examples/models/SampleDomain/SamplePolicyModelJAVASCRIPT.xml",
+ "engineParameters": {
+ "executorParameters": {
+ "JAVASCRIPT": {
+ "parameterClassName": "org.onap.policy.apex.plugins.executor.javascript.JavascriptExecutorParameters"
+ }
+ }
+ }
+ },
+ "eventInputParameters": {
+ "FirstConsumer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://localhost:32801/EventGenerator/GetEvents"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ },
+ "eventOutputParameters": {
+ "FirstProducer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://localhost:32801/EventGenerator/PostEvent"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ }
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Javascript04.json b/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Javascript04.json
new file mode 100644
index 000000000..110996e6a
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Javascript04.json
@@ -0,0 +1,45 @@
+{
+ "engineServiceParameters": {
+ "name": "MyApexEngine",
+ "version": "0.0.1",
+ "id": 45,
+ "instanceCount": 4,
+ "deploymentPort": 12561,
+ "policyModelFileName": "examples/models/SampleDomain/SamplePolicyModelJAVASCRIPT.xml",
+ "engineParameters": {
+ "executorParameters": {
+ "JAVASCRIPT": {
+ "parameterClassName": "org.onap.policy.apex.plugins.executor.javascript.JavascriptExecutorParameters"
+ }
+ }
+ }
+ },
+ "eventInputParameters": {
+ "FirstConsumer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://localhost:32801/EventGenerator/GetEvents"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ },
+ "eventOutputParameters": {
+ "FirstProducer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://localhost:32801/EventGenerator/PostEvent"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ }
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Javascript08.json b/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Javascript08.json
new file mode 100644
index 000000000..67bca6b8a
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Javascript08.json
@@ -0,0 +1,45 @@
+{
+ "engineServiceParameters": {
+ "name": "MyApexEngine",
+ "version": "0.0.1",
+ "id": 45,
+ "instanceCount": 8,
+ "deploymentPort": 12561,
+ "policyModelFileName": "examples/models/SampleDomain/SamplePolicyModelJAVASCRIPT.xml",
+ "engineParameters": {
+ "executorParameters": {
+ "JAVASCRIPT": {
+ "parameterClassName": "org.onap.policy.apex.plugins.executor.javascript.JavascriptExecutorParameters"
+ }
+ }
+ }
+ },
+ "eventInputParameters": {
+ "FirstConsumer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://localhost:32801/EventGenerator/GetEvents"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ },
+ "eventOutputParameters": {
+ "FirstProducer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://localhost:32801/EventGenerator/PostEvent"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ }
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Javascript16.json b/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Javascript16.json
new file mode 100644
index 000000000..ceff6370c
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Javascript16.json
@@ -0,0 +1,45 @@
+{
+ "engineServiceParameters": {
+ "name": "MyApexEngine",
+ "version": "0.0.1",
+ "id": 45,
+ "instanceCount": 16,
+ "deploymentPort": 12561,
+ "policyModelFileName": "examples/models/SampleDomain/SamplePolicyModelJAVASCRIPT.xml",
+ "engineParameters": {
+ "executorParameters": {
+ "JAVASCRIPT": {
+ "parameterClassName": "org.onap.policy.apex.plugins.executor.javascript.JavascriptExecutorParameters"
+ }
+ }
+ }
+ },
+ "eventInputParameters": {
+ "FirstConsumer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://localhost:32801/EventGenerator/GetEvents"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ },
+ "eventOutputParameters": {
+ "FirstProducer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://localhost:32801/EventGenerator/PostEvent"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ }
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Javascript32.json b/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Javascript32.json
new file mode 100644
index 000000000..eeb371e29
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Javascript32.json
@@ -0,0 +1,45 @@
+{
+ "engineServiceParameters": {
+ "name": "MyApexEngine",
+ "version": "0.0.1",
+ "id": 45,
+ "instanceCount": 32,
+ "deploymentPort": 12561,
+ "policyModelFileName": "examples/models/SampleDomain/SamplePolicyModelJAVASCRIPT.xml",
+ "engineParameters": {
+ "executorParameters": {
+ "JAVASCRIPT": {
+ "parameterClassName": "org.onap.policy.apex.plugins.executor.javascript.JavascriptExecutorParameters"
+ }
+ }
+ }
+ },
+ "eventInputParameters": {
+ "FirstConsumer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://localhost:32801/EventGenerator/GetEvents"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ },
+ "eventOutputParameters": {
+ "FirstProducer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://localhost:32801/EventGenerator/PostEvent"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ }
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Javascript64.json b/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Javascript64.json
new file mode 100644
index 000000000..a724f668c
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Javascript64.json
@@ -0,0 +1,45 @@
+{
+ "engineServiceParameters": {
+ "name": "MyApexEngine",
+ "version": "0.0.1",
+ "id": 45,
+ "instanceCount": 64,
+ "deploymentPort": 12561,
+ "policyModelFileName": "examples/models/SampleDomain/SamplePolicyModelJAVASCRIPT.xml",
+ "engineParameters": {
+ "executorParameters": {
+ "JAVASCRIPT": {
+ "parameterClassName": "org.onap.policy.apex.plugins.executor.javascript.JavascriptExecutorParameters"
+ }
+ }
+ }
+ },
+ "eventInputParameters": {
+ "FirstConsumer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://localhost:32801/EventGenerator/GetEvents"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ },
+ "eventOutputParameters": {
+ "FirstProducer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://localhost:32801/EventGenerator/PostEvent"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ }
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Jython01.json b/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Jython01.json
new file mode 100644
index 000000000..25c4e426c
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Jython01.json
@@ -0,0 +1,45 @@
+{
+ "engineServiceParameters": {
+ "name": "MyApexEngine",
+ "version": "0.0.1",
+ "id": 45,
+ "instanceCount": 1,
+ "deploymentPort": 12561,
+ "policyModelFileName": "examples/models/SampleDomain/SamplePolicyModelJYTHON.xml",
+ "engineParameters": {
+ "executorParameters": {
+ "JYTHON": {
+ "parameterClassName": "org.onap.policy.apex.plugins.executor.jython.JythonExecutorParameters"
+ }
+ }
+ }
+ },
+ "eventInputParameters": {
+ "FirstConsumer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://localhost:32801/EventGenerator/GetEvents"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ },
+ "eventOutputParameters": {
+ "FirstProducer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://localhost:32801/EventGenerator/PostEvent"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ }
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Jython02.json b/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Jython02.json
new file mode 100644
index 000000000..9f010775a
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Jython02.json
@@ -0,0 +1,45 @@
+{
+ "engineServiceParameters": {
+ "name": "MyApexEngine",
+ "version": "0.0.1",
+ "id": 45,
+ "instanceCount": 2,
+ "deploymentPort": 12561,
+ "policyModelFileName": "examples/models/SampleDomain/SamplePolicyModelJYTHON.xml",
+ "engineParameters": {
+ "executorParameters": {
+ "JYTHON": {
+ "parameterClassName": "org.onap.policy.apex.plugins.executor.jython.JythonExecutorParameters"
+ }
+ }
+ }
+ },
+ "eventInputParameters": {
+ "FirstConsumer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://localhost:32801/EventGenerator/GetEvents"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ },
+ "eventOutputParameters": {
+ "FirstProducer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://localhost:32801/EventGenerator/PostEvent"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ }
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Jython04.json b/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Jython04.json
new file mode 100644
index 000000000..0bd8c35dd
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Jython04.json
@@ -0,0 +1,45 @@
+{
+ "engineServiceParameters": {
+ "name": "MyApexEngine",
+ "version": "0.0.1",
+ "id": 45,
+ "instanceCount": 4,
+ "deploymentPort": 12561,
+ "policyModelFileName": "examples/models/SampleDomain/SamplePolicyModelJYTHON.xml",
+ "engineParameters": {
+ "executorParameters": {
+ "JYTHON": {
+ "parameterClassName": "org.onap.policy.apex.plugins.executor.jython.JythonExecutorParameters"
+ }
+ }
+ }
+ },
+ "eventInputParameters": {
+ "FirstConsumer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://localhost:32801/EventGenerator/GetEvents"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ },
+ "eventOutputParameters": {
+ "FirstProducer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://localhost:32801/EventGenerator/PostEvent"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ }
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Jython08.json b/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Jython08.json
new file mode 100644
index 000000000..8e7fd3f23
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Jython08.json
@@ -0,0 +1,45 @@
+{
+ "engineServiceParameters": {
+ "name": "MyApexEngine",
+ "version": "0.0.1",
+ "id": 45,
+ "instanceCount": 8,
+ "deploymentPort": 12561,
+ "policyModelFileName": "examples/models/SampleDomain/SamplePolicyModelJYTHON.xml",
+ "engineParameters": {
+ "executorParameters": {
+ "JYTHON": {
+ "parameterClassName": "org.onap.policy.apex.plugins.executor.jython.JythonExecutorParameters"
+ }
+ }
+ }
+ },
+ "eventInputParameters": {
+ "FirstConsumer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://localhost:32801/EventGenerator/GetEvents"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ },
+ "eventOutputParameters": {
+ "FirstProducer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://localhost:32801/EventGenerator/PostEvent"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ }
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Jython16.json b/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Jython16.json
new file mode 100644
index 000000000..899a6b8ef
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Jython16.json
@@ -0,0 +1,45 @@
+{
+ "engineServiceParameters": {
+ "name": "MyApexEngine",
+ "version": "0.0.1",
+ "id": 45,
+ "instanceCount": 16,
+ "deploymentPort": 12561,
+ "policyModelFileName": "examples/models/SampleDomain/SamplePolicyModelJYTHON.xml",
+ "engineParameters": {
+ "executorParameters": {
+ "JYTHON": {
+ "parameterClassName": "org.onap.policy.apex.plugins.executor.jython.JythonExecutorParameters"
+ }
+ }
+ }
+ },
+ "eventInputParameters": {
+ "FirstConsumer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://localhost:32801/EventGenerator/GetEvents"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ },
+ "eventOutputParameters": {
+ "FirstProducer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://localhost:32801/EventGenerator/PostEvent"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ }
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Jython32.json b/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Jython32.json
new file mode 100644
index 000000000..9919970d7
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Jython32.json
@@ -0,0 +1,45 @@
+{
+ "engineServiceParameters": {
+ "name": "MyApexEngine",
+ "version": "0.0.1",
+ "id": 45,
+ "instanceCount": 32,
+ "deploymentPort": 12561,
+ "policyModelFileName": "examples/models/SampleDomain/SamplePolicyModelJYTHON.xml",
+ "engineParameters": {
+ "executorParameters": {
+ "JYTHON": {
+ "parameterClassName": "org.onap.policy.apex.plugins.executor.jython.JythonExecutorParameters"
+ }
+ }
+ }
+ },
+ "eventInputParameters": {
+ "FirstConsumer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://localhost:32801/EventGenerator/GetEvents"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ },
+ "eventOutputParameters": {
+ "FirstProducer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://localhost:32801/EventGenerator/PostEvent"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ }
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Jython64.json b/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Jython64.json
new file mode 100644
index 000000000..8952f45c7
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Jython64.json
@@ -0,0 +1,45 @@
+{
+ "engineServiceParameters": {
+ "name": "MyApexEngine",
+ "version": "0.0.1",
+ "id": 45,
+ "instanceCount": 64,
+ "deploymentPort": 12561,
+ "policyModelFileName": "examples/models/SampleDomain/SamplePolicyModelJYTHON.xml",
+ "engineParameters": {
+ "executorParameters": {
+ "JYTHON": {
+ "parameterClassName": "org.onap.policy.apex.plugins.executor.jython.JythonExecutorParameters"
+ }
+ }
+ }
+ },
+ "eventInputParameters": {
+ "FirstConsumer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://localhost:32801/EventGenerator/GetEvents"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ },
+ "eventOutputParameters": {
+ "FirstProducer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://localhost:32801/EventGenerator/PostEvent"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ }
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Mvel01.json b/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Mvel01.json
new file mode 100644
index 000000000..3bf7749bd
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Mvel01.json
@@ -0,0 +1,45 @@
+{
+ "engineServiceParameters": {
+ "name": "MyApexEngine",
+ "version": "0.0.1",
+ "id": 45,
+ "instanceCount": 1,
+ "deploymentPort": 12561,
+ "policyModelFileName": "examples/models/SampleDomain/SamplePolicyModelMVEL.xml",
+ "engineParameters": {
+ "executorParameters": {
+ "MVEL": {
+ "parameterClassName": "org.onap.policy.apex.plugins.executor.mvel.MvelExecutorParameters"
+ }
+ }
+ }
+ },
+ "eventInputParameters": {
+ "FirstConsumer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://localhost:32801/EventGenerator/GetEvents"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ },
+ "eventOutputParameters": {
+ "FirstProducer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://localhost:32801/EventGenerator/PostEvent"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ }
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Mvel02.json b/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Mvel02.json
new file mode 100644
index 000000000..eb203c872
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Mvel02.json
@@ -0,0 +1,45 @@
+{
+ "engineServiceParameters": {
+ "name": "MyApexEngine",
+ "version": "0.0.1",
+ "id": 45,
+ "instanceCount": 2,
+ "deploymentPort": 12561,
+ "policyModelFileName": "examples/models/SampleDomain/SamplePolicyModelMVEL.xml",
+ "engineParameters": {
+ "executorParameters": {
+ "MVEL": {
+ "parameterClassName": "org.onap.policy.apex.plugins.executor.mvel.MvelExecutorParameters"
+ }
+ }
+ }
+ },
+ "eventInputParameters": {
+ "FirstConsumer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://localhost:32801/EventGenerator/GetEvents"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ },
+ "eventOutputParameters": {
+ "FirstProducer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://localhost:32801/EventGenerator/PostEvent"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ }
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Mvel04.json b/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Mvel04.json
new file mode 100644
index 000000000..b62b93e06
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Mvel04.json
@@ -0,0 +1,45 @@
+{
+ "engineServiceParameters": {
+ "name": "MyApexEngine",
+ "version": "0.0.1",
+ "id": 45,
+ "instanceCount": 4,
+ "deploymentPort": 12561,
+ "policyModelFileName": "examples/models/SampleDomain/SamplePolicyModelMVEL.xml",
+ "engineParameters": {
+ "executorParameters": {
+ "MVEL": {
+ "parameterClassName": "org.onap.policy.apex.plugins.executor.mvel.MvelExecutorParameters"
+ }
+ }
+ }
+ },
+ "eventInputParameters": {
+ "FirstConsumer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://localhost:32801/EventGenerator/GetEvents"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ },
+ "eventOutputParameters": {
+ "FirstProducer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://localhost:32801/EventGenerator/PostEvent"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ }
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Mvel08.json b/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Mvel08.json
new file mode 100644
index 000000000..d81cf67fe
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Mvel08.json
@@ -0,0 +1,45 @@
+{
+ "engineServiceParameters": {
+ "name": "MyApexEngine",
+ "version": "0.0.1",
+ "id": 45,
+ "instanceCount": 8,
+ "deploymentPort": 12561,
+ "policyModelFileName": "examples/models/SampleDomain/SamplePolicyModelMVEL.xml",
+ "engineParameters": {
+ "executorParameters": {
+ "MVEL": {
+ "parameterClassName": "org.onap.policy.apex.plugins.executor.mvel.MvelExecutorParameters"
+ }
+ }
+ }
+ },
+ "eventInputParameters": {
+ "FirstConsumer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://localhost:32801/EventGenerator/GetEvents"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ },
+ "eventOutputParameters": {
+ "FirstProducer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://localhost:32801/EventGenerator/PostEvent"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ }
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Mvel16.json b/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Mvel16.json
new file mode 100644
index 000000000..a211ac7f1
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Mvel16.json
@@ -0,0 +1,45 @@
+{
+ "engineServiceParameters": {
+ "name": "MyApexEngine",
+ "version": "0.0.1",
+ "id": 45,
+ "instanceCount": 16,
+ "deploymentPort": 12561,
+ "policyModelFileName": "examples/models/SampleDomain/SamplePolicyModelMVEL.xml",
+ "engineParameters": {
+ "executorParameters": {
+ "MVEL": {
+ "parameterClassName": "org.onap.policy.apex.plugins.executor.mvel.MvelExecutorParameters"
+ }
+ }
+ }
+ },
+ "eventInputParameters": {
+ "FirstConsumer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://localhost:32801/EventGenerator/GetEvents"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ },
+ "eventOutputParameters": {
+ "FirstProducer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://localhost:32801/EventGenerator/PostEvent"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ }
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Mvel32.json b/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Mvel32.json
new file mode 100644
index 000000000..2ca767555
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Mvel32.json
@@ -0,0 +1,45 @@
+{
+ "engineServiceParameters": {
+ "name": "MyApexEngine",
+ "version": "0.0.1",
+ "id": 45,
+ "instanceCount": 32,
+ "deploymentPort": 12561,
+ "policyModelFileName": "examples/models/SampleDomain/SamplePolicyModelMVEL.xml",
+ "engineParameters": {
+ "executorParameters": {
+ "MVEL": {
+ "parameterClassName": "org.onap.policy.apex.plugins.executor.mvel.MvelExecutorParameters"
+ }
+ }
+ }
+ },
+ "eventInputParameters": {
+ "FirstConsumer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://localhost:32801/EventGenerator/GetEvents"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ },
+ "eventOutputParameters": {
+ "FirstProducer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://localhost:32801/EventGenerator/PostEvent"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ }
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Mvel64.json b/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Mvel64.json
new file mode 100644
index 000000000..488f845b3
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/main/resources/examples/benchmark/Mvel64.json
@@ -0,0 +1,45 @@
+{
+ "engineServiceParameters": {
+ "name": "MyApexEngine",
+ "version": "0.0.1",
+ "id": 45,
+ "instanceCount": 64,
+ "deploymentPort": 12561,
+ "policyModelFileName": "examples/models/SampleDomain/SamplePolicyModelMVEL.xml",
+ "engineParameters": {
+ "executorParameters": {
+ "MVEL": {
+ "parameterClassName": "org.onap.policy.apex.plugins.executor.mvel.MvelExecutorParameters"
+ }
+ }
+ }
+ },
+ "eventInputParameters": {
+ "FirstConsumer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://localhost:32801/EventGenerator/GetEvents"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ },
+ "eventOutputParameters": {
+ "FirstProducer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://localhost:32801/EventGenerator/PostEvent"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ }
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/testsuites/performance/benchmark/engine/benchmark/ApexBaseBenchMarkTest.java b/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/testsuites/performance/benchmark/engine/benchmark/ApexBaseBenchMarkTest.java
deleted file mode 100644
index fdefd5583..000000000
--- a/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/testsuites/performance/benchmark/engine/benchmark/ApexBaseBenchMarkTest.java
+++ /dev/null
@@ -1,175 +0,0 @@
-/*-
- * ============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.testsuites.performance.benchmark.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.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.onap.policy.apex.testsuites.performance.benchmark.engine.runtime.ApexServiceModelUpdateTest;
-import org.slf4j.ext.XLogger;
-import org.slf4j.ext.XLoggerFactory;
-
-/**
- * The Class ApexBaseBenchMarkTest.
- */
-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;
-
-
- /**
- * Instantiates a new apex base bench mark test.
- *
- * @param model the model
- * @param threads the threads
- * @param listener the listener
- */
- public ApexBaseBenchMarkTest(final String model, final int threads, final ApexEventListener listener) {
- this.model = model;
- this.threads = threads;
- this.listener = listener;
- }
-
- /**
- * Sets the up.
- *
- * @throws Exception the exception
- */
- 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();
- }
-
- /**
- * Send events.
- *
- * @param events the events
- */
- public void sendEvents(final List<ApexEvent> events) {
- for (final ApexEvent event : events) {
- engineServiceEventInterface.sendEvent(event);
- }
- }
-
- /**
- * Send event.
- *
- * @param event the event
- */
- public void sendEvent(final ApexEvent event) {
- engineServiceEventInterface.sendEvent(event);
- }
-
-
- /**
- * Gets the service.
- *
- * @return the service
- */
- public EngineService getService() {
- return service;
- }
-
- /**
- * Destroy.
- *
- * @throws Exception the exception
- */
- 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/testsuites/performance/benchmark/engine/benchmark/ApexEngineBenchmarkTest.java b/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/testsuites/performance/benchmark/engine/benchmark/ApexEngineBenchmarkTest.java
deleted file mode 100644
index 99035f7bf..000000000
--- a/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/testsuites/performance/benchmark/engine/benchmark/ApexEngineBenchmarkTest.java
+++ /dev/null
@@ -1,183 +0,0 @@
-/*-
- * ============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.testsuites.performance.benchmark.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.testsuites.integration.common.model.EvalDomainModelFactory;
-import org.onap.policy.apex.testsuites.performance.benchmark.engine.utils.Utils;
-import org.python.icu.impl.Assert;
-import org.slf4j.ext.XLogger;
-import org.slf4j.ext.XLoggerFactory;
-
-/**
- * The Class ApexEngineBenchmark.
- */
-public class ApexEngineBenchmarkTest {
- // Logger for this class
- private static final XLogger LOGGER = XLoggerFactory.getXLogger(ApexEngineBenchmarkTest.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;
-
- /**
- * Sets the up.
- *
- * @throws Exception the exception
- */
- @Before
- public void setUp() throws Exception {
- apexEcaModelString = Utils.getModelString(new EvalDomainModelFactory().getEcaPolicyModel());
- apexOodaModelString = Utils.getModelString(new EvalDomainModelFactory().getOodaPolicyModel());
- }
-
- /**
- * Test benchmark singleton worker.
- *
- * @throws Exception the exception
- */
- @Test
- public void testBenchmark_SingletonWorker() throws Exception {
- executeTest(apexEcaModelString, 100, 1, 20);
- executeTest(apexOodaModelString, 100, 1, 20);
- }
-
- /**
- * Test benchmark 3 thread worker.
- *
- * @throws Exception the exception
- */
- @Test
- public void testBenchmark_3ThreadWorker() throws Exception {
- executeTest(apexEcaModelString, 1000, 3, 10);
- executeTest(apexOodaModelString, 100, 3, 10);
- }
-
- /**
- * Test benchmark 10 thread worker.
- *
- * @throws Exception the exception
- */
- @Test
- public void testBenchmark_10ThreadWorker() throws Exception {
- executeTest(apexEcaModelString, 2000, 10, 10);
- executeTest(apexOodaModelString, 2000, 10, 10);
- }
-
- /**
- * Test benchmark 50 thread worker.
- *
- * @throws Exception the exception
- */
- @Test
- public void testBenchmark_50ThreadWorker() throws Exception {
- executeTest(apexEcaModelString, 3000, 50, 10);
- executeTest(apexOodaModelString, 3000, 50, 10);
- }
-
- /**
- * Test available processors thread worker.
- *
- * @throws Exception the exception
- */
- @Test
- public void testAvailableProcessorsThreadWorker() throws Exception {
- final int cores = Runtime.getRuntime().availableProcessors();
- executeTest(apexEcaModelString, 3000, cores, 10);
- executeTest(apexOodaModelString, 3000, cores, 10);
- }
-
- /**
- * Execute test.
- *
- * @param policyModel the policy model
- * @param eventsCount the events count
- * @param threads the threads
- * @param loop the loop
- * @throws Exception the exception
- */
- 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 ApexEventListenerTest apexEventListener = new ApexEventListenerTest();
-
- 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);
- }
- }
-
- /**
- * Send events.
- *
- * @param apexBaseBenchMarkTest the apex base bench mark test
- * @param eventsCount the events count
- * @throws Exception the exception
- */
- 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/testsuites/performance/benchmark/engine/benchmark/ApexEventListenerTest.java b/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/testsuites/performance/benchmark/engine/benchmark/ApexEventListenerTest.java
deleted file mode 100644
index a5950df97..000000000
--- a/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/testsuites/performance/benchmark/engine/benchmark/ApexEventListenerTest.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*-
- * ============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.testsuites.performance.benchmark.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;
-
-/**
- * The listener interface for receiving testApexEvent events.
- * The class that is interested in processing a testApexEvent
- * event implements this interface, and the object created
- * with that class is registered with a component using the
- * component's <code>addTestApexEventListener</code> method. When
- * the testApexEvent event occurs, that object's appropriate
- * method is invoked.
- *
- * @see TestApexEventEvent
- */
-public class ApexEventListenerTest implements ApexEventListener {
-
- private static final String SENT_TIMESTAMP = "SentTimestamp";
- private static final XLogger LOGGER = XLoggerFactory.getXLogger(ApexEventListenerTest.class);
- private static final String RECVD_TIMESTAMP = "RecvdTimestamp";
- private Queue<ApexEvent> queue;
-
- private final AtomicLong eventReceived = new AtomicLong();
-
- /**
- * Instantiates a new test apex event listener.
- */
- public ApexEventListenerTest() {
- this.queue = new ConcurrentLinkedQueue<ApexEvent>();
- }
-
- /* (non-Javadoc)
- * @see org.onap.policy.apex.service.engine.runtime.ApexEventListener#onApexEventApexEvent)
- */
- @Override
- public void onApexEvent(final ApexEvent apexEvent) {
- apexEvent.put(RECVD_TIMESTAMP, System.currentTimeMillis());
- eventReceived.incrementAndGet();
- queue.add(apexEvent);
- }
-
- /**
- * Prints the result.
- */
- 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);
- }
- }
-
- /**
- * Reset.
- */
- public void reset() {
- this.queue = new ConcurrentLinkedQueue<ApexEvent>();
- eventReceived.set(0);;
- }
-
- /**
- * Gets the queue.
- *
- * @return the queue
- */
- public Queue<ApexEvent> getQueue() {
- return queue;
- }
-
- /**
- * Gets the event received.
- *
- * @return the event received
- */
- public long getEventReceived() {
- return eventReceived.get();
- }
-
-}
diff --git a/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/testsuites/performance/benchmark/eventgenerator/EventBatchStatsTest.java b/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/testsuites/performance/benchmark/eventgenerator/EventBatchStatsTest.java
new file mode 100644
index 000000000..b53eb7ace
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/testsuites/performance/benchmark/eventgenerator/EventBatchStatsTest.java
@@ -0,0 +1,57 @@
+/*-
+ * ============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.testsuites.performance.benchmark.eventgenerator;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.junit.Test;
+
+/**
+ * Test the EventBatchStats class.
+ *
+ */
+public class EventBatchStatsTest {
+
+ @Test
+ public void test() {
+ EventBatchStats stats = new EventBatchStats(new EventBatch(1, "Label"));
+ assertNotNull(stats);
+
+ assertTrue(stats.getBatchNumber() >= 0);
+ assertEquals(1, stats.getBatchSize());
+ assertEquals("Label", stats.getApexClient());
+
+ List<EventBatchStats> statsList = new ArrayList<>();
+ statsList.add(stats);
+
+ EventBatchStats totalStats = new EventBatchStats(statsList);
+ assertEquals(stats.getBatchSize(), totalStats.getBatchSize());
+
+ List<EventBatchStats> emptyStatsList = new ArrayList<>();
+ EventBatchStats emptyStats = new EventBatchStats(emptyStatsList);
+ assertEquals(0, emptyStats.getBatchSize());
+ }
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/testsuites/performance/benchmark/eventgenerator/EventBatchTest.java b/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/testsuites/performance/benchmark/eventgenerator/EventBatchTest.java
new file mode 100644
index 000000000..f315f6402
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/testsuites/performance/benchmark/eventgenerator/EventBatchTest.java
@@ -0,0 +1,48 @@
+/*-
+ * ============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.testsuites.performance.benchmark.eventgenerator;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
+import org.junit.Test;
+import org.onap.policy.apex.testsuites.performance.benchmark.eventgenerator.events.InputEvent;
+
+/**
+ * Test the EventBatch class.
+ *
+ */
+public class EventBatchTest {
+
+ @Test
+ public void testEventBatch() {
+ EventBatch batch = new EventBatch(1, "TheApexClient");
+ assertNotNull(batch);
+
+ assertEquals("\"nameSpace\": \"org.onap.policy.apex.sample.events\"", batch.getBatchAsJsonString().substring(4, 53));
+
+ EventBatchStats stats = batch.getStats();
+ assertEquals(1, stats.getBatchSize());
+
+ InputEvent ie = batch.getInputEvent(0);
+ assertEquals("org.onap.policy.apex.sample.events",ie.getNameSpace());
+ }
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/testsuites/performance/benchmark/eventgenerator/EventGeneratorEndpointTest.java b/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/testsuites/performance/benchmark/eventgenerator/EventGeneratorEndpointTest.java
new file mode 100644
index 000000000..2add69857
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/testsuites/performance/benchmark/eventgenerator/EventGeneratorEndpointTest.java
@@ -0,0 +1,115 @@
+/*-
+ * ============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.testsuites.performance.benchmark.eventgenerator;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
+import javax.inject.Provider;
+import javax.ws.rs.core.Response;
+
+import org.glassfish.grizzly.http.server.Request;
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.Mock;
+import org.mockito.Mockito;
+import org.mockito.MockitoAnnotations;
+import org.onap.policy.apex.model.basicmodel.concepts.ApexException;
+import org.onap.policy.apex.testsuites.performance.benchmark.eventgenerator.events.OutputEvent;
+
+/**
+ * Test the EventGeneratorEndpoint class.
+ *
+ */
+public class EventGeneratorEndpointTest {
+ @Mock
+ private Provider<Request> httpRequestProviderMock;
+
+ @Mock
+ private Request httpRequestMock;
+
+ /**
+ * Set up mocking of the engine service facade.
+ *
+ * @throws ApexException on engine service facade setup errors
+ */
+ @Before
+ public void initializeMocking() throws ApexException {
+ MockitoAnnotations.initMocks(this);
+
+ Mockito.doReturn(httpRequestMock).when(httpRequestProviderMock).get();
+
+ Mockito.doReturn("zooby").when(httpRequestMock).getRemoteHost();
+ Mockito.doReturn(12345).when(httpRequestMock).getRemotePort();
+
+ }
+
+ @Test
+ public void testEventGeneratorEndpointGetStats() {
+ EventGeneratorEndpoint.clearEventGenerationStats();
+ EventGeneratorEndpoint.setFinished(false);
+
+ EventGeneratorEndpoint egep = new EventGeneratorEndpoint(null);
+ assertNotNull(egep);
+
+ Response stats = egep.serviceGetStats();
+ assertEquals(200, stats.getStatus());
+ }
+
+ @Test
+ public void testEventGeneratorEndpointGetEventsZeroBatchCount() {
+ EventGeneratorParameters incomingParameters = new EventGeneratorParameters();
+ incomingParameters.setBatchCount(1);
+
+ EventGeneratorEndpoint.setParameters(incomingParameters);
+ EventGeneratorEndpoint.clearEventGenerationStats();
+ EventGeneratorEndpoint.setFinished(false);
+
+ EventGeneratorEndpoint egep = new EventGeneratorEndpoint(httpRequestProviderMock);
+ assertNotNull(egep);
+
+ Response events = egep.getEvents();
+ assertEquals(200, events.getStatus());
+
+ incomingParameters.setBatchCount(1);
+ events = egep.getEvents();
+ assertEquals(204, events.getStatus());
+ }
+
+ @Test
+ public void testEventGeneratorEndpointPostBadEvent() {
+ EventGeneratorParameters incomingParameters = new EventGeneratorParameters();
+ incomingParameters.setBatchCount(1);
+
+ EventGeneratorEndpoint.setParameters(incomingParameters);
+ EventGeneratorEndpoint.clearEventGenerationStats();
+ EventGeneratorEndpoint.setFinished(false);
+
+ EventGeneratorEndpoint egep = new EventGeneratorEndpoint(httpRequestProviderMock);
+ assertNotNull(egep);
+
+ OutputEvent oe = new OutputEvent();
+ oe.setTestSlogan("99-99: Whatever");
+
+ Response events = egep.postEventResponse(oe.asJson());
+ assertEquals(409, events.getStatus());
+ }
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/testsuites/performance/benchmark/eventgenerator/EventGeneratorParametersHandlerTest.java b/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/testsuites/performance/benchmark/eventgenerator/EventGeneratorParametersHandlerTest.java
new file mode 100644
index 000000000..dd8766dc3
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/testsuites/performance/benchmark/eventgenerator/EventGeneratorParametersHandlerTest.java
@@ -0,0 +1,325 @@
+/*-
+ * ============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.testsuites.performance.benchmark.eventgenerator;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.fail;
+
+import org.apache.commons.cli.ParseException;
+import org.junit.Test;
+import org.onap.policy.apex.testsuites.performance.benchmark.eventgenerator.EventGenerator;
+import org.onap.policy.apex.testsuites.performance.benchmark.eventgenerator.EventGeneratorParameterHandler;
+import org.onap.policy.apex.testsuites.performance.benchmark.eventgenerator.EventGeneratorParameters;
+
+/**
+ * Test event generator parameters.
+ */
+public class EventGeneratorParametersHandlerTest {
+
+ @Test
+ public void testEventGeneratorParameterhandler() {
+ EventGeneratorParameterHandler handler = new EventGeneratorParameterHandler();
+ assertNotNull(handler);
+
+ try {
+ String[] args =
+ { "-h" };
+ EventGeneratorParameters parameters = handler.parse(args);
+ assertNull(parameters);
+ assertEquals("usage: EventGenerator [options...]",
+ handler.getHelp(EventGenerator.class.getSimpleName()).substring(0, 34));
+ } catch (ParseException pe) {
+ fail("test should not throw an exception");
+ }
+
+ try {
+ String[] args =
+ {};
+ EventGeneratorParameters parameters = handler.parse(args);
+ assertEquals("localhost", parameters.getHost());
+ assertEquals(32801, parameters.getPort());
+ } catch (ParseException pe) {
+ fail("test should not throw an exception");
+ }
+
+ try {
+ String[] args =
+ { "-H", "MyHost" };
+ EventGeneratorParameters parameters = handler.parse(args);
+ assertEquals("MyHost", parameters.getHost());
+ } catch (ParseException pe) {
+ fail("test should not throw an exception");
+ }
+
+ try {
+ String[] args =
+ { "-p", "12345" };
+ EventGeneratorParameters parameters = handler.parse(args);
+ assertEquals(12345, parameters.getPort());
+ } catch (ParseException pe) {
+ fail("test should not throw an exception");
+ }
+
+ try {
+ String[] args =
+ { "-H", "MyHost", "-p", "12345" };
+ EventGeneratorParameters parameters = handler.parse(args);
+ assertEquals("MyHost", parameters.getHost());
+ assertEquals(12345, parameters.getPort());
+ } catch (ParseException pe) {
+ fail("test should not throw an exception");
+ }
+
+ try {
+ String[] args =
+ { "-c", "src/test/resources/parameters/unit/Valid.json" };
+ EventGeneratorParameters parameters = handler.parse(args);
+ assertEquals("ValidPars", parameters.getName());
+ assertEquals("FileHost", parameters.getHost());
+ assertEquals(54321, parameters.getPort());
+ } catch (ParseException pe) {
+ fail("test should not throw an exception");
+ }
+
+ try {
+ String[] args =
+ { "-c", "src/test/resources/parameters/unit/Default.json" };
+ EventGeneratorParameters parameters = handler.parse(args);
+ assertEquals("localhost", parameters.getHost());
+ assertEquals(32801, parameters.getPort());
+ } catch (ParseException pe) {
+ fail("test should not throw an exception");
+ }
+
+ try {
+ String[] args =
+ { "-c", "src/test/resources/parameters/unit/Default.json", "-bc", "100" };
+ EventGeneratorParameters parameters = handler.parse(args);
+ assertEquals(100, parameters.getBatchCount());
+ } catch (ParseException pe) {
+ fail("test should not throw an exception");
+ }
+
+ try {
+ String[] args =
+ { "-c", "src/test/resources/parameters/unit/Default.json", "-bc", "-1" };
+ handler.parse(args);
+ fail("test should throw an exception");
+ } catch (ParseException pe) {
+ assertEquals("specified parameters are not valid: parameter group \"EventGeneratorParameters\" "
+ + "type \"org.onap.policy.apex.testsuites.performance.benchmark.eventgenerator."
+ + "EventGeneratorParameters\" INVALID, parameter group has status INVALID\n"
+ + " field \"batchCount\" type \"int\" value \"-1\" INVALID, "
+ + "batchCount must be an integer with a value of zero or more, "
+ + "zero means generate batches forever\n", pe.getMessage());
+ }
+
+ try {
+ String[] args =
+ { "-c", "src/test/resources/parameters/unit/Default.json", "-bs", "12345" };
+ EventGeneratorParameters parameters = handler.parse(args);
+ assertEquals(12345, parameters.getBatchSize());
+ } catch (ParseException pe) {
+ fail("test should not throw an exception");
+ }
+
+ try {
+ String[] args =
+ { "-c", "src/test/resources/parameters/unit/Default.json", "-bs", "0" };
+ handler.parse(args);
+ fail("test should throw an exception");
+ } catch (ParseException pe) {
+ assertEquals("specified parameters are not valid: parameter group \"EventGeneratorParameters\" "
+ + "type \"org.onap.policy.apex.testsuites.performance.benchmark.eventgenerator."
+ + "EventGeneratorParameters\" INVALID, parameter group has status INVALID\n"
+ + " field \"batchSize\" type \"int\" value \"0\" INVALID, "
+ + "batchSize must be an integer greater than zero\n", pe.getMessage());
+ }
+
+ try {
+ String[] args =
+ { "-c", "src/test/resources/parameters/unit/Default.json", "-bd", "1000" };
+ EventGeneratorParameters parameters = handler.parse(args);
+ assertEquals(1000, parameters.getDelayBetweenBatches());
+ } catch (ParseException pe) {
+ fail("test should not throw an exception");
+ }
+
+ try {
+ String[] args =
+ { "-c", "src/test/resources/parameters/unit/Default.json", "-bd", "-1" };
+ handler.parse(args);
+ fail("test should throw an exception");
+ } catch (ParseException pe) {
+ assertEquals("specified parameters are not valid: parameter group \"EventGeneratorParameters\" "
+ + "type \"org.onap.policy.apex.testsuites.performance.benchmark.eventgenerator."
+ + "EventGeneratorParameters\" INVALID, parameter group has status INVALID\n"
+ + " field \"batchSize\" type \"int\" value \"1\" INVALID, "
+ + "batchSize must be an integer with a value of zero or more\n", pe.getMessage());
+ }
+
+ try {
+ String[] args =
+ { "-c", "src/test/resources/parameters/unit/Default.json", "-o", "Zooby" };
+ EventGeneratorParameters parameters = handler.parse(args);
+ assertEquals("Zooby", parameters.getOutFile());
+ } catch (ParseException pe) {
+ fail("test should not throw an exception");
+ }
+
+ try {
+ String[] args =
+ { "-z" };
+ handler.parse(args);
+ fail("test should throw an exception");
+ } catch (ParseException pe) {
+ assertEquals("Unrecognized option: -z", pe.getMessage());
+ }
+
+ try {
+ String[] args =
+ { "-H" };
+ handler.parse(args);
+ fail("test should throw an exception");
+ } catch (ParseException pe) {
+ assertEquals("Missing argument for option: H", pe.getMessage());
+ }
+
+ try {
+ String[] args =
+ { "-p" };
+ handler.parse(args);
+ fail("test should throw an exception");
+ } catch (ParseException pe) {
+ assertEquals("Missing argument for option: p", pe.getMessage());
+ }
+
+ try {
+ String[] args =
+ { "-p", "12345", "-z" };
+ handler.parse(args);
+ fail("test should throw an exception");
+ } catch (ParseException pe) {
+ assertEquals("Unrecognized option: -z", pe.getMessage());
+ }
+
+ try {
+ String[] args =
+ { "-p", "12345", "somethingElse" };
+ handler.parse(args);
+ fail("test should throw an exception");
+ } catch (ParseException pe) {
+ assertEquals("too many command line arguments specified : [somethingElse]", pe.getMessage());
+ }
+
+ try {
+ String[] args =
+ { "-c" };
+ handler.parse(args);
+ fail("test should throw an exception");
+ } catch (ParseException pe) {
+ assertEquals("Missing argument for option: c", pe.getMessage());
+ }
+
+ try {
+ String[] args =
+ { "-H", "MyHost", "-c", "src/test/resources/parameters/unit/Valid.json" };
+ EventGeneratorParameters pars = handler.parse(args);
+ assertEquals("MyHost", pars.getHost());
+
+ } catch (ParseException pe) {
+ fail("test should not throw an exception");
+ }
+
+ try {
+ String[] args =
+ { "-c", "src/test/resources/parameters/unit/NonExistant.json" };
+ handler.parse(args);
+ fail("test should throw an exception");
+ } catch (ParseException pe) {
+ assertEquals("Could not read parameters from configuration file "
+ + "\"src/test/resources/parameters/unit/NonExistant.json\": "
+ + "src/test/resources/parameters/unit/NonExistant.json", pe.getMessage());
+ }
+
+ try {
+ String[] args =
+ { "-c", "src/test/resources/parameters/unit/BadHost.json" };
+ handler.parse(args);
+ fail("test should throw an exception");
+ } catch (ParseException pe) {
+ assertEquals("Error parsing JSON parameters from configuration file "
+ + "\"src/test/resources/parameters/unit/BadHost.json\": "
+ + "com.google.gson.stream.MalformedJsonException: "
+ + "Unexpected value at line 3 column 14 path $.host", pe.getMessage());
+ }
+
+ try {
+ String[] args =
+ { "-c", "src/test/resources/parameters/unit/BadPort.json" };
+ handler.parse(args);
+ fail("test should throw an exception");
+ } catch (ParseException pe) {
+ assertEquals("Error parsing JSON parameters from configuration file "
+ + "\"src/test/resources/parameters/unit/BadPort.json\": "
+ + "java.lang.IllegalStateException: Expected an int "
+ + "but was BOOLEAN at line 4 column 18 path $.port", pe.getMessage());
+ }
+
+ try {
+ String[] args =
+ { "-c", "src/test/resources/parameters/unit/Empty.json" };
+ handler.parse(args);
+ fail("test should throw an exception");
+ } catch (ParseException pe) {
+ assertEquals("No parameters found in configuration file "
+ + "\"src/test/resources/parameters/unit/Empty.json\"", pe.getMessage());
+ }
+
+ try {
+ String[] args =
+ { "-c", "src/test/resources/parameters/unit/NullHost.json" };
+ handler.parse(args);
+ fail("test should throw an exception");
+ } catch (ParseException pe) {
+ assertEquals("specified parameters are not valid: parameter group \"ValidPars\" "
+ + "type \"org.onap.policy.apex.testsuites.performance."
+ + "benchmark.eventgenerator.EventGeneratorParameters\" INVALID, "
+ + "parameter group has status INVALID\n" + " field \"host\" type \"java.lang.String\" "
+ + "value \"null\" INVALID, host must be a non-blank string\n", pe.getMessage());
+ }
+
+ try {
+ String[] args =
+ { "-p", "1023" };
+ handler.parse(args);
+ fail("test should throw an exception");
+ } catch (ParseException pe) {
+ assertEquals("specified parameters are not valid: parameter group \""
+ + "EventGeneratorParameters\" type \"org.onap.policy.apex.testsuites.performance.benchmark."
+ + "eventgenerator.EventGeneratorParameters\" INVALID, parameter group has status INVALID\n"
+ + " field \"port\" type \"int\" value \"1023\" INVALID, "
+ + "port must be an integer between 1024 and 65535 inclusive\n" + "", pe.getMessage());
+ }
+ }
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/testsuites/performance/benchmark/eventgenerator/EventGeneratorParametersTest.java b/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/testsuites/performance/benchmark/eventgenerator/EventGeneratorParametersTest.java
new file mode 100644
index 000000000..1071c2f8e
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/testsuites/performance/benchmark/eventgenerator/EventGeneratorParametersTest.java
@@ -0,0 +1,71 @@
+/*-
+ * ============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.testsuites.performance.benchmark.eventgenerator;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+import org.junit.Test;
+import org.onap.policy.apex.testsuites.performance.benchmark.eventgenerator.EventGeneratorParameters;
+
+/**
+ * Test event generator parameters.
+ */
+public class EventGeneratorParametersTest {
+
+ @Test
+ public void testEventGeneratorParameters() {
+ EventGeneratorParameters parameters = new EventGeneratorParameters();
+
+ parameters.setName("TheName");
+ assertEquals("TheName", parameters.getName());
+
+ parameters.setHost("TheHost");
+ assertEquals("TheHost", parameters.getHost());
+
+ parameters.setPort(12345);
+ assertEquals(12345, parameters.getPort());
+
+ assertTrue(parameters.isValid());
+
+ parameters.setName(null);
+ assertFalse(parameters.isValid());
+ parameters.setName(" ");
+ assertFalse(parameters.isValid());
+ parameters.setName("TheName");
+ assertTrue(parameters.isValid());
+
+ parameters.setHost(null);
+ assertFalse(parameters.isValid());
+ parameters.setHost(" ");
+ assertFalse(parameters.isValid());
+ parameters.setHost("TheHost");
+ assertTrue(parameters.isValid());
+
+ parameters.setPort(1023);
+ assertFalse(parameters.isValid());
+ parameters.setPort(65536);
+ assertFalse(parameters.isValid());
+ parameters.setPort(12345);
+ assertTrue(parameters.isValid());
+ }
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/testsuites/performance/benchmark/eventgenerator/EventGeneratorStatsTest.java b/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/testsuites/performance/benchmark/eventgenerator/EventGeneratorStatsTest.java
new file mode 100644
index 000000000..a40bcb5f1
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/testsuites/performance/benchmark/eventgenerator/EventGeneratorStatsTest.java
@@ -0,0 +1,44 @@
+/*-
+ * ============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.testsuites.performance.benchmark.eventgenerator;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
+import java.util.LinkedHashMap;
+import java.util.Map;
+
+import org.junit.Test;
+
+/**
+ * Test the EventGeneratorStats class.
+ *
+ */
+public class EventGeneratorStatsTest {
+ @Test
+ public void testEventGeneratorStats() {
+ Map<Integer, EventBatch> batchMap = new LinkedHashMap<>();
+ EventGeneratorStats egs = new EventGeneratorStats(batchMap );
+ assertNotNull(egs);
+
+ assertEquals(-1, egs.getTotalStats().getBatchNumber());
+ }
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/testsuites/performance/benchmark/eventgenerator/EventGeneratorTest.java b/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/testsuites/performance/benchmark/eventgenerator/EventGeneratorTest.java
new file mode 100644
index 000000000..e37ea963c
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/testsuites/performance/benchmark/eventgenerator/EventGeneratorTest.java
@@ -0,0 +1,160 @@
+/*-
+ * ============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.testsuites.performance.benchmark.eventgenerator;
+
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
+import java.io.ByteArrayOutputStream;
+import java.io.File;
+import java.io.PrintStream;
+
+import org.junit.Test;
+import org.onap.policy.apex.core.infrastructure.threading.ThreadUtilities;
+import org.onap.policy.apex.model.basicmodel.concepts.ApexException;
+import org.onap.policy.apex.service.engine.main.ApexMain;
+import org.onap.policy.apex.testsuites.performance.benchmark.eventgenerator.EventGenerator;
+import org.onap.policy.apex.testsuites.performance.benchmark.eventgenerator.EventGeneratorParameters;
+
+/**
+ * This class tests the event generator.
+ */
+public class EventGeneratorTest {
+ private final ByteArrayOutputStream outContent = new ByteArrayOutputStream();
+
+ private final PrintStream stdout = System.out;
+
+ /**
+ * Test event generation.
+ *
+ * @throws ApexException on Apex exceptions
+ */
+ @Test
+ public void testEventGeneration() throws ApexException {
+ EventGeneratorParameters pars = new EventGeneratorParameters();
+ pars.setBatchCount(1);
+ pars.setBatchSize(10);
+
+ EventGenerator eventGenerator = new EventGenerator(pars);
+
+ final String[] args =
+ { "-rfr", "target", "-c", "target/examples/config/SampleDomain/REST2RESTJsonEventJavascript.json" };
+
+ final ApexMain apexMain = new ApexMain(args);
+
+ while (!eventGenerator.isFinished()) {
+ ThreadUtilities.sleep(200);
+ }
+
+ apexMain.shutdown();
+
+ ThreadUtilities.sleep(5000);
+ eventGenerator.tearDown();
+
+ assertTrue(eventGenerator.getEventGenerationStats().contains("\"apexClient\": \"TOTAL\""));
+ }
+
+ @Test
+ public void testEventGeneratorBadParams() {
+ System.setOut(new PrintStream(outContent));
+
+ final String[] args =
+ { "-zzz" };
+
+ EventGenerator.main(args);
+
+ final String outString = outContent.toString();
+
+ System.setOut(stdout);
+
+ assertTrue(outString.contains("Start of event generator failed: Unrecognized option: -zzz"));
+ }
+
+ @Test
+ public void testEventGeneratorHelp() {
+ System.setOut(new PrintStream(outContent));
+
+ final String[] args = {
+ "-h"
+ };
+
+ EventGenerator.main(args);
+
+ final String outString = outContent.toString();
+
+ System.setOut(stdout);
+
+ assertTrue(outString.contains("outputs the usage of this command"));
+ }
+
+ @Test
+ public void testEventGeneratorStart() {
+
+ System.setOut(new PrintStream(outContent));
+
+ (new Thread() {
+ public void run() {
+ EventGenerator.main(null);
+ }
+ }).start();
+
+ ThreadUtilities.sleep(1000);
+ final String outString = outContent.toString();
+
+ System.setOut(stdout);
+
+ assertTrue(outString.contains("Event generator started"));
+ assertTrue(outString.contains("Event generator shut down"));
+ }
+
+ @Test
+ public void testEventGeneratorOutfileGood() {
+ EventGeneratorParameters pars =new EventGeneratorParameters();
+ pars.setOutFile("target/statsOutFile.json");
+
+ EventGenerator generator = new EventGenerator(pars);
+ assertNotNull(generator);
+
+ generator.tearDown();
+
+ File outFile = new File("target/statsOutFile.json");
+ assertTrue(outFile.exists());
+ outFile.delete();
+ }
+
+ @Test
+ public void testEventGeneratorOutfileBad() {
+ EventGeneratorParameters pars = new EventGeneratorParameters();
+ pars.setOutFile("/I/Dont/Exist");
+
+ EventGenerator generator = new EventGenerator(pars);
+ assertNotNull(generator);
+
+ System.setOut(new PrintStream(outContent));
+
+ generator.tearDown();
+
+ final String outString = outContent.toString();
+ System.setOut(stdout);
+
+ assertTrue(outString.contains("could not output statistics to file \"/I/Dont/Exist\""));
+ }
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/testsuites/performance/benchmark/eventgenerator/events/InputEventTest.java b/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/testsuites/performance/benchmark/eventgenerator/events/InputEventTest.java
new file mode 100644
index 000000000..82b4cca88
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/testsuites/performance/benchmark/eventgenerator/events/InputEventTest.java
@@ -0,0 +1,68 @@
+/*-
+ * ============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.testsuites.performance.benchmark.eventgenerator.events;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
+import org.junit.Test;
+
+/**
+ * Test the InputEvent class.
+ *
+ */
+public class InputEventTest {
+
+ @Test
+ public void testInputEvent() {
+ InputEvent ie = new InputEvent();
+ assertNotNull(ie);
+
+ ie.setName("EventName");
+ assertEquals("EventName", ie.getName());
+
+ ie.setNameSpace("a.b.c.d");
+ assertEquals("a.b.c.d", ie.getNameSpace());
+
+ ie.setSource("Source");
+ assertEquals("Source", ie.getSource());
+
+ ie.setTarget("Target");
+ assertEquals("Target", ie.getTarget());
+
+ ie.setTestMatchCase(123);
+ assertEquals(123, ie.getTestMatchCase());
+
+ ie.setTestSlogan("A Slogan");
+ assertEquals("A Slogan", ie.getTestSlogan());
+
+ ie.setTestTemperature(123.45);
+ assertEquals((Double)123.45, (Double)ie.getTestTemperature());
+
+ ie.setTestTimestamp(1234567879);
+ assertEquals(1234567879, ie.getTestTimestamp());
+
+ ie.setVersion("1.2.3");
+ assertEquals("1.2.3", ie.getVersion());
+
+ assertEquals("\"nameSpace\": \"a.b.c.d\",", ie.asJson().substring(4, 27));
+ }
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/testsuites/performance/benchmark/eventgenerator/events/OutputEventTest.java b/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/testsuites/performance/benchmark/eventgenerator/events/OutputEventTest.java
new file mode 100644
index 000000000..8af87ddbd
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/test/java/org/onap/policy/apex/testsuites/performance/benchmark/eventgenerator/events/OutputEventTest.java
@@ -0,0 +1,70 @@
+/*-
+ * ============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.testsuites.performance.benchmark.eventgenerator.events;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
+import org.junit.Test;
+
+/**
+ * Test the OutputEvent class.
+ *
+ */
+public class OutputEventTest {
+
+ @Test
+ public void test() {
+ OutputEvent oe = new OutputEvent();
+ assertNotNull(oe);
+
+ oe.setTestMatchCaseSelected(32112);
+ assertEquals(32112, oe.getTestMatchCaseSelected());
+
+ oe.setTestMatchStateTime(34455778822L);
+ assertEquals(34455778822L, oe.getTestMatchStateTime());
+
+ oe.setTestEstablishCaseSelected(1321);
+ assertEquals(1321, oe.getTestEstablishCaseSelected());
+
+ oe.setTestEstablishStateTime(13445566778822L);
+ assertEquals(13445566778822L, oe.getTestEstablishStateTime());
+
+ oe.setTestDecideCaseSelected(321);
+ assertEquals(321, oe.getTestDecideCaseSelected());
+
+ oe.setTestDecideStateTime(3445566778822L);
+ assertEquals(3445566778822L, oe.getTestDecideStateTime());
+
+ oe.setTestActCaseSelected(332);
+ assertEquals(332, oe.getTestActCaseSelected());
+
+ oe.setTestActStateTime(34455667788L);
+ assertEquals(34455667788L, oe.getTestActStateTime());
+
+ oe.setTestReceviedTimestamp(134455667788222L);
+ assertEquals(134455667788222L, oe.getTestReceviedTimestamp());
+
+ oe.setTestSlogan("0-0: Whatever");
+ assertEquals(0, oe.findBatchNumber());
+ assertEquals(0, oe.findEventNumber());
+ }
+}
diff --git a/testsuites/performance/performance-benchmark-test/src/test/resources/parameters/unit/BadHost.json b/testsuites/performance/performance-benchmark-test/src/test/resources/parameters/unit/BadHost.json
new file mode 100644
index 000000000..473bbd28e
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/test/resources/parameters/unit/BadHost.json
@@ -0,0 +1,5 @@
+{
+ "name": "ValidPars",
+ "host": ,
+ "port": 54321
+} \ No newline at end of file
diff --git a/testsuites/performance/performance-benchmark-test/src/test/resources/parameters/unit/BadPort.json b/testsuites/performance/performance-benchmark-test/src/test/resources/parameters/unit/BadPort.json
new file mode 100644
index 000000000..a2a6607ec
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/test/resources/parameters/unit/BadPort.json
@@ -0,0 +1,5 @@
+{
+ "name": "ValidPars",
+ "host": "FileHost",
+ "port": false
+} \ No newline at end of file
diff --git a/testsuites/performance/performance-benchmark-test/src/test/resources/parameters/unit/Default.json b/testsuites/performance/performance-benchmark-test/src/test/resources/parameters/unit/Default.json
new file mode 100644
index 000000000..9e26dfeeb
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/test/resources/parameters/unit/Default.json
@@ -0,0 +1 @@
+{} \ No newline at end of file
diff --git a/testsuites/performance/performance-benchmark-test/src/test/resources/parameters/unit/Empty.json b/testsuites/performance/performance-benchmark-test/src/test/resources/parameters/unit/Empty.json
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/test/resources/parameters/unit/Empty.json
diff --git a/testsuites/performance/performance-benchmark-test/src/test/resources/parameters/unit/NullHost.json b/testsuites/performance/performance-benchmark-test/src/test/resources/parameters/unit/NullHost.json
new file mode 100644
index 000000000..34ac4ca0a
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/test/resources/parameters/unit/NullHost.json
@@ -0,0 +1,5 @@
+{
+ "name": "ValidPars",
+ "host": null,
+ "port": 54321
+} \ No newline at end of file
diff --git a/testsuites/performance/performance-benchmark-test/src/test/resources/parameters/unit/Valid.json b/testsuites/performance/performance-benchmark-test/src/test/resources/parameters/unit/Valid.json
new file mode 100644
index 000000000..c52d859f8
--- /dev/null
+++ b/testsuites/performance/performance-benchmark-test/src/test/resources/parameters/unit/Valid.json
@@ -0,0 +1,5 @@
+{
+ "name": "ValidPars",
+ "host": "FileHost",
+ "port": 54321
+} \ No newline at end of file
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
deleted file mode 100644
index 95ea511b1..000000000
--- a/testsuites/performance/performance-benchmark-test/src/test/resources/policymodels/SamplePolicyModelMVEL.json
+++ /dev/null
@@ -1,7372 +0,0 @@
-{
- "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/src/test/resources/hazelcast/hazelcast.xml b/testsuites/performance/performance-context-metrics/src/test/resources/hazelcast/hazelcast.xml
index b70bdc36e..932b33cc9 100644
--- a/testsuites/performance/performance-context-metrics/src/test/resources/hazelcast/hazelcast.xml
+++ b/testsuites/performance/performance-context-metrics/src/test/resources/hazelcast/hazelcast.xml
@@ -36,15 +36,15 @@
</tcp-ip>
</join>
<interfaces enabled="false">
- <!-- This value will allow hazelcast to run locally from the IDE -->
+ <!-- This value will allow hazelcast to run locally from the IDE -->
<interface>127.0.0.*</interface>
</interfaces>
</network>
<properties>
<property name="hazelcast.icmp.enabled">false</property>
<property name="hazelcast.logging.type">slf4j</property>
- <!-- disable the hazelcast shutdown hook - prefer to control the shutdown
- in code -->
+ <!-- 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>
<property name="hazelcast.operation.generic.thread.count">1</property>
diff --git a/testsuites/performance/pom.xml b/testsuites/performance/pom.xml
index 95e8747ae..8682871cd 100644
--- a/testsuites/performance/pom.xml
+++ b/testsuites/performance/pom.xml
@@ -17,7 +17,8 @@
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">
+<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>
@@ -31,14 +32,11 @@
<profiles>
<profile>
- <id>apexMetrics</id>
+ <id>apexDefault</id>
<activation>
- <property>
- <name>apexMetrics</name>
- </property>
+ <activeByDefault>true</activeByDefault>
</activation>
<modules>
- <module>performance-context-metrics</module>
<module>performance-benchmark-test</module>
</modules>
</profile>