summaryrefslogtreecommitdiffstats
path: root/packages/apex-pdp-package-full
diff options
context:
space:
mode:
authorramverma <ram.krishna.verma@ericsson.com>2018-07-24 17:36:53 +0100
committerramverma <ram.krishna.verma@ericsson.com>2018-07-25 11:47:15 +0100
commitd524cedc578ae1bfa3bae895b3170f87463cbed9 (patch)
tree0740644e356534f770d59ff34f16e5d9ca601276 /packages/apex-pdp-package-full
parent41ecf036b7f1b3bdd56311a0bc706407b242faca (diff)
Adding more examples to apex-pdp
- Adding more examples (DecisionMaker, Periodic & ONAPvCPE) to apex-pdp. - Fixed CORS issue in plugin-event-carrier-restserver module. Added a ContainerResponseFilter to intercept every request/response coming to REST server and add the required headers to support CORS. Change-Id: Ic3e36c683f2a78992ce1417d2c00233b34066f2f Issue-ID: POLICY-861 Signed-off-by: ramverma <ram.krishna.verma@ericsson.com>
Diffstat (limited to 'packages/apex-pdp-package-full')
-rw-r--r--packages/apex-pdp-package-full/pom.xml44
-rw-r--r--packages/apex-pdp-package-full/src/main/package/examples/config/DecisionMaker/AnswerInitiationEvent.json14
-rw-r--r--packages/apex-pdp-package-full/src/main/package/examples/config/DecisionMaker/ApexConfigRESTClient.json67
-rw-r--r--packages/apex-pdp-package-full/src/main/package/examples/config/DecisionMaker/ApexConfigRESTServer.json72
-rw-r--r--packages/apex-pdp-package-full/src/main/package/examples/config/ONAPvCPE/ApexConfig.json145
-rw-r--r--packages/apex-pdp-package-full/src/main/package/examples/config/ONAPvCPE/VCPEInitiationEvent0.json22
-rw-r--r--packages/apex-pdp-package-full/src/main/package/examples/config/ONAPvCPE/VCPEInitiationEvent1.json14
-rw-r--r--packages/apex-pdp-package-full/src/main/package/examples/config/ONAPvCPE/VCPEInitiationEvent2.json36
-rw-r--r--packages/apex-pdp-package-full/src/main/package/examples/config/Periodic/ApexConfigPeriodic.json58
-rw-r--r--packages/apex-pdp-package-full/src/main/package/examples/html/DecisionMaker/MakeDecisionExtraMode_Client.html156
-rw-r--r--packages/apex-pdp-package-full/src/main/package/examples/html/DecisionMaker/MakeDecisionExtraMode_Server.html156
-rw-r--r--packages/apex-pdp-package-full/src/main/package/examples/html/DecisionMaker/MakeDecision_Client.html153
-rw-r--r--packages/apex-pdp-package-full/src/main/package/examples/html/DecisionMaker/MakeDecision_Server.html153
-rw-r--r--packages/apex-pdp-package-full/src/main/resources/app-version.txt1
14 files changed, 1090 insertions, 1 deletions
diff --git a/packages/apex-pdp-package-full/pom.xml b/packages/apex-pdp-package-full/pom.xml
index a067d1fcf..65acfef4d 100644
--- a/packages/apex-pdp-package-full/pom.xml
+++ b/packages/apex-pdp-package-full/pom.xml
@@ -195,6 +195,21 @@
<artifactId>pcvs</artifactId>
<version>${project.version}</version>
</dependency>
+ <dependency>
+ <groupId>org.onap.policy.apex-pdp.examples</groupId>
+ <artifactId>examples-decisionmaker</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.onap.policy.apex-pdp.examples</groupId>
+ <artifactId>examples-periodic</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.onap.policy.apex-pdp.examples</groupId>
+ <artifactId>examples-onap-vcpe</artifactId>
+ <version>${project.version}</version>
+ </dependency>
</dependencies>
<build>
@@ -266,6 +281,33 @@
<outputDirectory>${project.build.directory}</outputDirectory>
<includes>etc/**/*,examples/**/*</includes>
</artifactItem>
+ <artifactItem>
+ <groupId>org.onap.policy.apex-pdp.examples</groupId>
+ <artifactId>examples-decisionmaker</artifactId>
+ <version>${project.version}</version>
+ <type>jar</type>
+ <overWrite>false</overWrite>
+ <outputDirectory>${project.build.directory}/examples/models/DecisionMaker</outputDirectory>
+ <includes>/DecisionMakerPolicyModel.json</includes>
+ </artifactItem>
+ <artifactItem>
+ <groupId>org.onap.policy.apex-pdp.examples</groupId>
+ <artifactId>examples-periodic</artifactId>
+ <version>${project.version}</version>
+ <type>jar</type>
+ <overWrite>false</overWrite>
+ <outputDirectory>${project.build.directory}/examples/models/Periodic</outputDirectory>
+ <includes>/PeriodicPolicyModel.json</includes>
+ </artifactItem>
+ <artifactItem>
+ <groupId>org.onap.policy.apex-pdp.examples</groupId>
+ <artifactId>examples-onap-vcpe</artifactId>
+ <version>${project.version}</version>
+ <type>jar</type>
+ <overWrite>false</overWrite>
+ <outputDirectory>${project.build.directory}/examples/models/ONAPvCPE</outputDirectory>
+ <includes>/ONAPvCPEPolicyModel.json</includes>
+ </artifactItem>
</artifactItems>
<overWriteReleases>true</overWriteReleases>
<overWriteSnapshots>true</overWriteSnapshots>
@@ -273,7 +315,7 @@
</execution>
</executions>
</plugin>
-
+
<!-- Build the tar ball -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
diff --git a/packages/apex-pdp-package-full/src/main/package/examples/config/DecisionMaker/AnswerInitiationEvent.json b/packages/apex-pdp-package-full/src/main/package/examples/config/DecisionMaker/AnswerInitiationEvent.json
new file mode 100644
index 000000000..6df3115d6
--- /dev/null
+++ b/packages/apex-pdp-package-full/src/main/package/examples/config/DecisionMaker/AnswerInitiationEvent.json
@@ -0,0 +1,14 @@
+{
+ "nameSpace": "org.onap.policy.apex.domains.decisionmaker",
+ "name": "AnswerEvent",
+ "version": "0.0.1",
+ "source": "dcae",
+ "target": "apex",
+ "a0" : "choice 0",
+ "a1" : "choice 1",
+ "a2" : "choice 2",
+ "a3" : "choice 3",
+ "a4" : "choice 4",
+ "a5" : "choice 5",
+ "a6" : "choice 6"
+}
diff --git a/packages/apex-pdp-package-full/src/main/package/examples/config/DecisionMaker/ApexConfigRESTClient.json b/packages/apex-pdp-package-full/src/main/package/examples/config/DecisionMaker/ApexConfigRESTClient.json
new file mode 100644
index 000000000..9fa0b6ddd
--- /dev/null
+++ b/packages/apex-pdp-package-full/src/main/package/examples/config/DecisionMaker/ApexConfigRESTClient.json
@@ -0,0 +1,67 @@
+{
+ "engineServiceParameters": {
+ "name": "MyApexEngine",
+ "version": "0.0.1",
+ "id": 45,
+ "instanceCount": 4,
+ "deploymentPort": 12345,
+ "policyModelFileName": "examples/models/DecisionMaker/DecisionMakerPolicyModel.json",
+ "engineParameters": {
+ "executorParameters": {
+ "JAVASCRIPT": {
+ "parameterClassName": "org.onap.policy.apex.plugins.executor.javascript.JavascriptExecutorParameters"
+ }
+ }
+ }
+ },
+ "eventInputParameters": {
+ "VNFInitConsumer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "FILE",
+ "parameters": {
+ "fileName": "examples/config/DecisionMaker/AnswerInitiationEvent.json"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ },
+ "DMaaPConsumer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RESTClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://localhost:3904/events/toApex/APEX/1?timeout=60000"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ },
+ "eventOutputParameters": {
+ "logProducer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "FILE",
+ "parameters": {
+ "fileName": "/tmp/EventsOut.json"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ },
+ "DMaapProducer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RESTClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://localhost:3904/events/fromApex"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ }
+}
diff --git a/packages/apex-pdp-package-full/src/main/package/examples/config/DecisionMaker/ApexConfigRESTServer.json b/packages/apex-pdp-package-full/src/main/package/examples/config/DecisionMaker/ApexConfigRESTServer.json
new file mode 100644
index 000000000..edf1b9cc3
--- /dev/null
+++ b/packages/apex-pdp-package-full/src/main/package/examples/config/DecisionMaker/ApexConfigRESTServer.json
@@ -0,0 +1,72 @@
+{
+ "engineServiceParameters": {
+ "name": "MyApexEngine",
+ "version": "0.0.1",
+ "id": 45,
+ "instanceCount": 4,
+ "deploymentPort": 12345,
+ "policyModelFileName": "examples/models/DecisionMaker/DecisionMakerPolicyModel.json",
+ "engineParameters": {
+ "executorParameters": {
+ "JAVASCRIPT": {
+ "parameterClassName": "org.onap.policy.apex.plugins.executor.javascript.JavascriptExecutorParameters"
+ }
+ }
+ }
+ },
+ "eventInputParameters": {
+ "VNFInitConsumer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "FILE",
+ "parameters": {
+ "fileName": "examples/config/DecisionMaker/AnswerInitiationEvent.json"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ },
+ "RESTConsumer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTSERVER",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restserver.RESTServerCarrierTechnologyParameters",
+ "parameters": {
+ "standalone": true,
+ "host": "0.0.0.0",
+ "port": 23324
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ },
+ "synchronousMode": true,
+ "synchronousPeer": "RESTProducer",
+ "synchronousTimeout": 500
+ }
+ },
+ "eventOutputParameters": {
+ "logProducer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "FILE",
+ "parameters": {
+ "fileName": "/tmp/EventsOut.json"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ },
+ "RESTProducer": {
+ "carrierTechnologyParameters":{
+ "carrierTechnology" : "RESTSERVER",
+ "parameterClassName" : "org.onap.policy.apex.plugins.event.carrier.restserver.RESTServerCarrierTechnologyParameters"
+ },
+ "eventProtocolParameters":{
+ "eventProtocol" : "JSON"
+ },
+ "synchronousMode" : true,
+ "synchronousPeer" : "RESTConsumer",
+ "synchronousTimeout" : 500
+ }
+ }
+}
diff --git a/packages/apex-pdp-package-full/src/main/package/examples/config/ONAPvCPE/ApexConfig.json b/packages/apex-pdp-package-full/src/main/package/examples/config/ONAPvCPE/ApexConfig.json
new file mode 100644
index 000000000..070bbc105
--- /dev/null
+++ b/packages/apex-pdp-package-full/src/main/package/examples/config/ONAPvCPE/ApexConfig.json
@@ -0,0 +1,145 @@
+{
+ "engineServiceParameters": {
+ "name": "MyApexEngine",
+ "version": "0.0.1",
+ "id": 45,
+ "instanceCount": 4,
+ "deploymentPort": 12561,
+ "policyModelFileName": "policy/ONAPTLGoalPolicyModel.json",
+ "engineParameters": {
+ "executorParameters": {
+ "JAVASCRIPT": {
+ "parameterClassName": "org.onap.policy.apex.plugins.executor.javascript.JavascriptExecutorParameters"
+ }
+ },
+ "contextParameters": {
+ "parameterClassName": "org.onap.policy.apex.context.parameters.ContextParameters",
+ "schemaParameters": {
+ "Avro": {
+ "parameterClassName": "org.onap.policy.apex.plugins.context.schema.avro.AvroSchemaHelperParameters"
+ }
+ }
+ }
+ }
+ },
+ "eventInputParameters": {
+ "VCPEInitConsumer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "FILE",
+ "parameters": {
+ "fileName": "config/VCPEInitiationEvent.json"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON",
+ "parameters": {
+ "nameAlias": "closedLoopControlName",
+ "versionAlias": "version",
+ "sourceAlias": "from"
+ }
+ }
+ },
+ "GuardRequestorConsumer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTREQUESTOR",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restrequestor.RESTRequestorCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://192.168.144.235:54321/AAIAndGuardSim/sim/pdp/api/getDecision",
+ "httpMethod": "POST",
+ "restRequestTimeout": 2000
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ },
+ "eventName": "GuardResponseEvent",
+ "eventNameFilter": "GuardResponseEvent",
+ "requestorMode": true,
+ "requestorPeer": "GuardRequestorProducer",
+ "requestorTimeout": 500
+ },
+ "DCAEConsumer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RESTClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://192.168.144.235:3904/events/unauthenticated.DCAE_CL_OUTPUT/APEX/1?timeout=60000"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON",
+ "parameters": {
+ "nameAlias": "closedLoopControlName",
+ "versionAlias": "version",
+ "sourceAlias": "from"
+ }
+ }
+ },
+ "APPCConsumer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RESTClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://192.168.144.235:3904/events/APPC_LCM_WRITE/APEX/1?timeout=60000"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ },
+ "eventName": "APPCRestartVNFResponseEvent",
+ "eventNameFilter": "APPCRestartVNFResponseEvent"
+ }
+ },
+ "eventOutputParameters": {
+ "logProducer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "FILE",
+ "parameters": {
+ "fileName": "/tmp/VCPEEventsOut.json"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ },
+ "GuardRequestorProducer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTREQUESTOR",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restrequestor.RESTRequestorCarrierTechnologyParameters"
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ },
+ "eventNameFilter": "GuardRequestEvent",
+ "requestorMode": true,
+ "requestorPeer": "GuardRequestorConsumer",
+ "requestorTimeout": 500
+ },
+ "APPCProducer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RESTClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://192.168.144.235:3904/events/APPC-LCM-READ"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ },
+ "eventNameFilter": "APPCRestartVNFRequestEvent"
+ },
+ "PolicyLogProducer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RESTClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://192.168.144.235:3904/events/POLICY_CL_MGT"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ },
+ "eventNameFilter": "ControlLoopLogEvent"
+ }
+ }
+}
diff --git a/packages/apex-pdp-package-full/src/main/package/examples/config/ONAPvCPE/VCPEInitiationEvent0.json b/packages/apex-pdp-package-full/src/main/package/examples/config/ONAPvCPE/VCPEInitiationEvent0.json
new file mode 100644
index 000000000..e46a2739c
--- /dev/null
+++ b/packages/apex-pdp-package-full/src/main/package/examples/config/ONAPvCPE/VCPEInitiationEvent0.json
@@ -0,0 +1,22 @@
+{
+ "closedLoopControlName": "ControlLoop-vCPE-85317438-861d-42a9-979e-9d96dc0a9ef1",
+ "closedLoopAlarmStart": 1519638197324,
+ "closedLoopEventClient": "DCAE_INSTANCE_ID.dcae-tca",
+ "closedLoopEventStatus": "ONSET",
+ "requestID": "4a68f8a5-0db9-4070-a132-adede51ebeef",
+ "target_type": "VNF",
+ "target": "generic-vnf.vnf-id",
+ "AAI": {
+ "generic-vnf.resource-version": "1",
+ "generic-vnf.vnf-name": "vCPEInfraVNF99",
+ "generic-vnf.prov-status": "PREPROV",
+ "generic-vnf.is-closed-loop-disabled": "false",
+ "generic-vnf.orchestration-status": "Created",
+ "generic-vnf.vnf-type": "cCPEInfraService10/vCPEInfraService10 0",
+ "generic-vnf.in-maint": "false",
+ "generic-vnf.service-id": "5585fd2c-ad0d-4050-b0cf-dfe4a03bf00f",
+ "generic-vnf.vnf-id": "b4fe00ac-1da6-4b00-ac0d-8e8300db001e"
+ },
+ "from": "DCAE",
+ "version": "1.0.2"
+}
diff --git a/packages/apex-pdp-package-full/src/main/package/examples/config/ONAPvCPE/VCPEInitiationEvent1.json b/packages/apex-pdp-package-full/src/main/package/examples/config/ONAPvCPE/VCPEInitiationEvent1.json
new file mode 100644
index 000000000..5fcece8ac
--- /dev/null
+++ b/packages/apex-pdp-package-full/src/main/package/examples/config/ONAPvCPE/VCPEInitiationEvent1.json
@@ -0,0 +1,14 @@
+{
+ "closedLoopControlName": "ControlLoop-vCPE-85317438-861d-42a9-979e-9d96dc0a9ef1",
+ "closedLoopAlarmStart": 1519638197699,
+ "closedLoopEventClient": "DCAE_INSTANCE_ID.dcae-tca",
+ "closedLoopEventStatus": "ONSET",
+ "requestID": "4a68f8a5-0db9-4070-a132-adede51ebeaf",
+ "target_type": "VNF",
+ "target": "generic-vnf.vnf-id",
+ "AAI": {
+ "generic-vnf.vnf-id": "b4fe00ac-1da6-4b00-ac0d-8e8300db001c"
+ },
+ "from": "DCAE",
+ "version": "1.0.2"
+}
diff --git a/packages/apex-pdp-package-full/src/main/package/examples/config/ONAPvCPE/VCPEInitiationEvent2.json b/packages/apex-pdp-package-full/src/main/package/examples/config/ONAPvCPE/VCPEInitiationEvent2.json
new file mode 100644
index 000000000..7e3e33777
--- /dev/null
+++ b/packages/apex-pdp-package-full/src/main/package/examples/config/ONAPvCPE/VCPEInitiationEvent2.json
@@ -0,0 +1,36 @@
+{
+ "closedLoopControlName": "ControlLoop-vCPE-85317438-861d-42a9-979e-9d96dc0a9ef1",
+ "closedLoopAlarmStart": 1519638197699,
+ "closedLoopEventClient": "DCAE_INSTANCE_ID.dcae-tca",
+ "closedLoopEventStatus": "ONSET",
+ "requestID": "4a68f8a5-0db9-4070-a132-adede51ebeaf",
+ "target_type": "VNF",
+ "target": "generic-vnf.vnf-id",
+ "AAI": {
+ "generic-vnf.vnf-id": "b4fe00ac-1da6-4b00-ac0d-8e8300db001c"
+ },
+ "from": "DCAE",
+ "version": "1.0.2"
+}
+{
+ "closedLoopControlName": "ControlLoop-vCPE-85317438-861d-42a9-979e-9d96dc0a9ef1",
+ "closedLoopAlarmStart": 1519638197324,
+ "closedLoopEventClient": "DCAE_INSTANCE_ID.dcae-tca",
+ "closedLoopEventStatus": "ONSET",
+ "requestID": "4a68f8a5-0db9-4070-a132-adede51ebeef",
+ "target_type": "VNF",
+ "target": "generic-vnf.vnf-id",
+ "AAI": {
+ "generic-vnf.resource-version": "1",
+ "generic-vnf.vnf-name": "vCPEInfraVNF99",
+ "generic-vnf.prov-status": "PREPROV",
+ "generic-vnf.is-closed-loop-disabled": "false",
+ "generic-vnf.orchestration-status": "Created",
+ "generic-vnf.vnf-type": "cCPEInfraService10/vCPEInfraService10 0",
+ "generic-vnf.in-maint": "false",
+ "generic-vnf.service-id": "5585fd2c-ad0d-4050-b0cf-dfe4a03bf00f",
+ "generic-vnf.vnf-id": "b4fe00ac-1da6-4b00-ac0d-8e8300db001e"
+ },
+ "from": "DCAE",
+ "version": "1.0.2"
+}
diff --git a/packages/apex-pdp-package-full/src/main/package/examples/config/Periodic/ApexConfigPeriodic.json b/packages/apex-pdp-package-full/src/main/package/examples/config/Periodic/ApexConfigPeriodic.json
new file mode 100644
index 000000000..a4c94779b
--- /dev/null
+++ b/packages/apex-pdp-package-full/src/main/package/examples/config/Periodic/ApexConfigPeriodic.json
@@ -0,0 +1,58 @@
+{
+ "engineServiceParameters": {
+ "name": "MyApexEngine",
+ "version": "0.0.1",
+ "id": 45,
+ "instanceCount": 4,
+ "deploymentPort": 12561,
+ "policyModelFileName": "examples/models/Periodic/PeriodicPolicyModel.json",
+ "periodicEventPeriod": 1000,
+ "engineParameters": {
+ "executorParameters": {
+ "JAVASCRIPT": {
+ "parameterClassName": "org.onap.policy.apex.plugins.executor.javascript.JavascriptExecutorParameters"
+ }
+ }
+ }
+ },
+ "eventInputParameters": {
+ "EventRequestorConsumer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "EVENT_REQUESTOR"
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "APEX"
+ },
+ "eventNameFilter": "InputEvent",
+ "requestorMode": true,
+ "requestorPeer": "EventRequestorProducer",
+ "requestorTimeout": 500
+ }
+ },
+ "eventOutputParameters": {
+ "EventRequestorProducer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "EVENT_REQUESTOR"
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "APEX"
+ },
+ "eventNameFilter": "EventListEvent",
+ "requestorMode": true,
+ "requestorPeer": "EventRequestorConsumer",
+ "requestorTimeout": 500
+ },
+ "logProducer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "FILE",
+ "parameters": {
+ "fileName": "/tmp/PeriodicEventsOut.json"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ },
+ "eventNameFilter": "OutputEvent"
+ }
+ }
+}
diff --git a/packages/apex-pdp-package-full/src/main/package/examples/html/DecisionMaker/MakeDecisionExtraMode_Client.html b/packages/apex-pdp-package-full/src/main/package/examples/html/DecisionMaker/MakeDecisionExtraMode_Client.html
new file mode 100644
index 000000000..1077939b0
--- /dev/null
+++ b/packages/apex-pdp-package-full/src/main/package/examples/html/DecisionMaker/MakeDecisionExtraMode_Client.html
@@ -0,0 +1,156 @@
+<!--
+ ============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=========================================================
+-->
+
+<!-- http://localhost:3904/events/toApex -->
+
+<html>
+<head>
+<script src="http://code.jquery.com/jquery-latest.js"></script>
+<script>
+ $(document).ready(function() {
+ $("#answerspost").click(function(e) {
+ var elements = document.getElementById("answerform").elements;
+
+ var formValues = new Object;
+ formValues["name"] = "AnswerEvent";
+ for (var i = 0, element; element = elements[i++];) {
+ if (element.type === "text" && element.value != "") {
+ formValues[element.name] = element.value;
+ }
+ }
+ console.log(formValues);
+ var stringifiedForm = JSON.stringify(formValues);
+ console.log(stringifiedForm);
+ $.ajax({
+ type : "POST",
+ url : "http://localhost:3904/events/toApex",
+ data : stringifiedForm,
+ crossDomain : true,
+ contentType : "application/json; charset=utf-8",
+ success : function(data) {
+ alert("Answers Set Successfully !!!");
+ },
+ failure : function(errMsg) {
+ alert(errMsg);
+ }
+ });
+ e.preventDefault(); //STOP default action
+
+ });
+ });
+</script>
+<script>
+ $(document).ready(function() {
+ $("#modepost").click(function(e) {
+ var elements = document.getElementById("modeform").elements;
+
+ var formValues = new Object;
+ formValues["name"] = "MakeDecisionEvent";
+ for (var i = 0, element; element = elements[i++];) {
+ if (element.type === "radio" && element.checked) {
+ formValues[element.name] = element.value;
+ }
+ }
+ console.log(formValues);
+ var stringifiedForm = JSON.stringify(formValues);
+ console.log(stringifiedForm);
+ $.ajax({
+ type : "POST",
+ url : "http://localhost:3904/events/toApex",
+ data : stringifiedForm,
+ crossDomain : true,
+ contentType : "application/json; charset=utf-8",
+ success : function(data) {
+ alert("Decision Taken: " + data.decision);
+ },
+ failure : function(errMsg) {
+ alert(errMsg);
+ }
+ });
+ e.preventDefault(); //STOP default action
+
+ });
+ });
+</script>
+</head>
+<body>
+ <h3>Decision Maker Answers</h3>
+ <form name="answerform" id="answerform" method="POST">
+ <table>
+ <tr>
+ <td>First Answer:</td>
+ <td><input type="text" name="a0" value="Never Ever" /></td>
+ </tr>
+ <tr>
+ <td>Second Answer:</td>
+ <td><input type="text" name="a1" value="No" /></td>
+ </tr>
+ <tr>
+ <td>Third Answer:</td>
+ <td><input type="text" name="a2" value="Maybe not" /></td>
+ </tr>
+ <tr>
+ <td>Fourth Answer</td>
+ <td><input type="text" name="a3" value="Wait" /></td>
+ </tr>
+ <tr>
+ <td>Fifth Answer:</td>
+ <td><input type="text" name="a4" value="Maybe" /></td>
+ </tr>
+ <tr>
+ <td>Sixth Answer:</td>
+ <td><input type="text" name="a5" value="Yes" /></td>
+ </tr>
+ <tr>
+ <td>Seventh Answer:</td>
+ <td><input type="text" name="a6" value="Absolutely" /></td>
+ </tr>
+ <tr>
+ <td />
+ <td><input type="button" class="btn btn-info" id="answerspost"
+ value="Set Answers"></td>
+ </tr>
+ </table>
+ </form>
+ <h3>Decision Maker Mode</h3>
+ <form name="modeform" id="modeform" method="POST">
+ <table>
+ <tr>
+ <td><input name="mode" type="radio" value="random"
+ checked="checked">random</td>
+ <td><input name="mode" type="radio" value="pessimistic">pessimistic</td>
+ <td><input name="mode" type="radio" value="optimistic">
+ optimistic</td>
+ <td><input name="mode" type="radio" value="dithering">dithering</td>
+ <td><input name="mode" type="radio" value="roundrobin">round
+ robin</td>
+ </tr>
+ <tr>
+ <td />
+ <td />
+ <td />
+ <td />
+ <td><input type="button" class="btn btn-info" id="modepost"
+ value="Make Decision"></td>
+ </tr>
+ </table>
+ </form>
+</body>
+</html>
diff --git a/packages/apex-pdp-package-full/src/main/package/examples/html/DecisionMaker/MakeDecisionExtraMode_Server.html b/packages/apex-pdp-package-full/src/main/package/examples/html/DecisionMaker/MakeDecisionExtraMode_Server.html
new file mode 100644
index 000000000..06df67e59
--- /dev/null
+++ b/packages/apex-pdp-package-full/src/main/package/examples/html/DecisionMaker/MakeDecisionExtraMode_Server.html
@@ -0,0 +1,156 @@
+<!--
+ ============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=========================================================
+-->
+
+<!-- http://localhost:23324/apex/EventIn -->
+
+<html>
+<head>
+<script src="http://code.jquery.com/jquery-latest.js"></script>
+<script>
+ $(document).ready(function() {
+ $("#answerspost").click(function(e) {
+ var elements = document.getElementById("answerform").elements;
+
+ var formValues = new Object;
+ formValues["name"] = "AnswerEvent";
+ for (var i = 0, element; element = elements[i++];) {
+ if (element.type === "text" && element.value != "") {
+ formValues[element.name] = element.value;
+ }
+ }
+ console.log(formValues);
+ var stringifiedForm = JSON.stringify(formValues);
+ console.log(stringifiedForm);
+ $.ajax({
+ type : "POST",
+ url : "http://localhost:23324/apex/RESTConsumer/EventIn",
+ data : stringifiedForm,
+ crossDomain : true,
+ contentType : "application/json; charset=utf-8",
+ success : function(data) {
+ alert("Answers Set Successfully !!!");
+ },
+ failure : function(errMsg) {
+ alert(errMsg);
+ }
+ });
+ e.preventDefault(); //STOP default action
+
+ });
+ });
+</script>
+<script>
+ $(document).ready(function() {
+ $("#modepost").click(function(e) {
+ var elements = document.getElementById("modeform").elements;
+
+ var formValues = new Object;
+ formValues["name"] = "MakeDecisionEvent";
+ for (var i = 0, element; element = elements[i++];) {
+ if (element.type === "radio" && element.checked) {
+ formValues[element.name] = element.value;
+ }
+ }
+ console.log(formValues);
+ var stringifiedForm = JSON.stringify(formValues);
+ console.log(stringifiedForm);
+ $.ajax({
+ type : "POST",
+ url : "http://localhost:23324/apex/RESTConsumer/EventIn",
+ data : stringifiedForm,
+ crossDomain : true,
+ contentType : "application/json; charset=utf-8",
+ success : function(data) {
+ alert("Decision Taken: " + data.decision);
+ },
+ failure : function(errMsg) {
+ alert(errMsg);
+ }
+ });
+ e.preventDefault(); //STOP default action
+
+ });
+ });
+</script>
+</head>
+<body>
+ <h3>Decision Maker Answers</h3>
+ <form name="answerform" id="answerform" method="POST">
+ <table>
+ <tr>
+ <td>First Answer:</td>
+ <td><input type="text" name="a0" value="Never Ever" /></td>
+ </tr>
+ <tr>
+ <td>Second Answer:</td>
+ <td><input type="text" name="a1" value="No" /></td>
+ </tr>
+ <tr>
+ <td>Third Answer:</td>
+ <td><input type="text" name="a2" value="Maybe not" /></td>
+ </tr>
+ <tr>
+ <td>Fourth Answer</td>
+ <td><input type="text" name="a3" value="Wait" /></td>
+ </tr>
+ <tr>
+ <td>Fifth Answer:</td>
+ <td><input type="text" name="a4" value="Maybe" /></td>
+ </tr>
+ <tr>
+ <td>Sixth Answer:</td>
+ <td><input type="text" name="a5" value="Yes" /></td>
+ </tr>
+ <tr>
+ <td>Seventh Answer:</td>
+ <td><input type="text" name="a6" value="Absolutely" /></td>
+ </tr>
+ <tr>
+ <td />
+ <td><input type="button" class="btn btn-info" id="answerspost"
+ value="Set Answers"></td>
+ </tr>
+ </table>
+ </form>
+ <h3>Decision Maker Mode</h3>
+ <form name="modeform" id="modeform" method="POST">
+ <table>
+ <tr>
+ <td><input name="mode" type="radio" value="random"
+ checked="checked">random</td>
+ <td><input name="mode" type="radio" value="pessimistic">pessimistic</td>
+ <td><input name="mode" type="radio" value="optimistic">
+ optimistic</td>
+ <td><input name="mode" type="radio" value="dithering">dithering</td>
+ <td><input name="mode" type="radio" value="roundrobin">round
+ robin</td>
+ </tr>
+ <tr>
+ <td />
+ <td />
+ <td />
+ <td />
+ <td><input type="button" class="btn btn-info" id="modepost"
+ value="Make Decision"></td>
+ </tr>
+ </table>
+ </form>
+</body>
+</html>
diff --git a/packages/apex-pdp-package-full/src/main/package/examples/html/DecisionMaker/MakeDecision_Client.html b/packages/apex-pdp-package-full/src/main/package/examples/html/DecisionMaker/MakeDecision_Client.html
new file mode 100644
index 000000000..f7a3f0c5b
--- /dev/null
+++ b/packages/apex-pdp-package-full/src/main/package/examples/html/DecisionMaker/MakeDecision_Client.html
@@ -0,0 +1,153 @@
+<!--
+ ============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=========================================================
+-->
+
+<!-- http://localhost:3904/events/toApex -->
+
+<html>
+<head>
+<script src="http://code.jquery.com/jquery-latest.js"></script>
+<script>
+ $(document).ready(function() {
+ $("#answerspost").click(function(e) {
+ var elements = document.getElementById("answerform").elements;
+
+ var formValues = new Object;
+ formValues["name"] = "AnswerEvent";
+ for (var i = 0, element; element = elements[i++];) {
+ if (element.type === "text" && element.value != "") {
+ formValues[element.name] = element.value;
+ }
+ }
+ console.log(formValues);
+ var stringifiedForm = JSON.stringify(formValues);
+ console.log(stringifiedForm);
+ $.ajax({
+ type : "POST",
+ url : "http://localhost:3904/events/toApex",
+ data : stringifiedForm,
+ crossDomain : true,
+ contentType : "application/json; charset=utf-8",
+ success : function(data) {
+ alert("Answers Set Successfully !!!");
+ },
+ failure : function(errMsg) {
+ alert(errMsg);
+ }
+ });
+ e.preventDefault(); //STOP default action
+
+ });
+ });
+</script>
+<script>
+ $(document).ready(function() {
+ $("#modepost").click(function(e) {
+ var elements = document.getElementById("modeform").elements;
+
+ var formValues = new Object;
+ formValues["name"] = "MakeDecisionEvent";
+ for (var i = 0, element; element = elements[i++];) {
+ if (element.type === "radio" && element.checked) {
+ formValues[element.name] = element.value;
+ }
+ }
+ console.log(formValues);
+ var stringifiedForm = JSON.stringify(formValues);
+ console.log(stringifiedForm);
+ $.ajax({
+ type : "POST",
+ url : "http://localhost:3904/events/toApex",
+ data : stringifiedForm,
+ crossDomain : true,
+ contentType : "application/json; charset=utf-8",
+ success : function(data) {
+ alert("Decision Taken: " + data.decision);
+ },
+ failure : function(errMsg) {
+ alert(errMsg);
+ }
+ });
+ e.preventDefault(); //STOP default action
+
+ });
+ });
+</script>
+</head>
+<body>
+ <h3>Decision Maker Answers</h3>
+ <form name="answerform" id="answerform" method="POST">
+ <table>
+ <tr>
+ <td>First Answer:</td>
+ <td><input type="text" name="a0" value="Never Ever" /></td>
+ </tr>
+ <tr>
+ <td>Second Answer:</td>
+ <td><input type="text" name="a1" value="No" /></td>
+ </tr>
+ <tr>
+ <td>Third Answer:</td>
+ <td><input type="text" name="a2" value="Maybe not" /></td>
+ </tr>
+ <tr>
+ <td>Fourth Answer</td>
+ <td><input type="text" name="a3" value="Wait" /></td>
+ </tr>
+ <tr>
+ <td>Fifth Answer:</td>
+ <td><input type="text" name="a4" value="Maybe" /></td>
+ </tr>
+ <tr>
+ <td>Sixth Answer:</td>
+ <td><input type="text" name="a5" value="Yes" /></td>
+ </tr>
+ <tr>
+ <td>Seventh Answer:</td>
+ <td><input type="text" name="a6" value="Absolutely" /></td>
+ </tr>
+ <tr>
+ <td />
+ <td><input type="button" class="btn btn-info" id="answerspost"
+ value="Set Answers"></td>
+ </tr>
+ </table>
+ </form>
+ <h3>Decision Maker Mode</h3>
+ <form name="modeform" id="modeform" method="POST">
+ <table>
+ <tr>
+ <td><input name="mode" type="radio" value="random"
+ checked="checked">random</td>
+ <td><input name="mode" type="radio" value="pessimistic">pessimistic</td>
+ <td><input name="mode" type="radio" value="optimistic">
+ optimistic</td>
+ <td><input name="mode" type="radio" value="dithering">dithering</td>
+ </tr>
+ <tr>
+ <td />
+ <td />
+ <td />
+ <td><input type="button" class="btn btn-info" id="modepost"
+ value="Make Decision"></td>
+ </tr>
+ </table>
+ </form>
+</body>
+</html>
diff --git a/packages/apex-pdp-package-full/src/main/package/examples/html/DecisionMaker/MakeDecision_Server.html b/packages/apex-pdp-package-full/src/main/package/examples/html/DecisionMaker/MakeDecision_Server.html
new file mode 100644
index 000000000..4c8f311af
--- /dev/null
+++ b/packages/apex-pdp-package-full/src/main/package/examples/html/DecisionMaker/MakeDecision_Server.html
@@ -0,0 +1,153 @@
+<!--
+ ============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=========================================================
+-->
+
+<!-- http://localhost:23324/apex/eventInput/EventIn -->
+
+<html>
+<head>
+<script src="http://code.jquery.com/jquery-latest.js"></script>
+<script>
+ $(document).ready(function() {
+ $("#answerspost").click(function(e) {
+ var elements = document.getElementById("answerform").elements;
+
+ var formValues = new Object;
+ formValues["name"] = "AnswerEvent";
+ for (var i = 0, element; element = elements[i++];) {
+ if (element.type === "text" && element.value != "") {
+ formValues[element.name] = element.value;
+ }
+ }
+ console.log(formValues);
+ var stringifiedForm = JSON.stringify(formValues);
+ console.log(stringifiedForm);
+ $.ajax({
+ type : "POST",
+ url : "http://localhost:23324/apex/RESTConsumer/EventIn",
+ data : stringifiedForm,
+ crossDomain : true,
+ contentType : "application/json; charset=utf-8",
+ success : function(data) {
+ alert("Answers Set Successfully !!!");
+ },
+ failure : function(errMsg) {
+ alert(errMsg);
+ }
+ });
+ e.preventDefault(); //STOP default action
+
+ });
+ });
+</script>
+<script>
+ $(document).ready(function() {
+ $("#modepost").click(function(e) {
+ var elements = document.getElementById("modeform").elements;
+
+ var formValues = new Object;
+ formValues["name"] = "MakeDecisionEvent";
+ for (var i = 0, element; element = elements[i++];) {
+ if (element.type === "radio" && element.checked) {
+ formValues[element.name] = element.value;
+ }
+ }
+ console.log(formValues);
+ var stringifiedForm = JSON.stringify(formValues);
+ console.log(stringifiedForm);
+ $.ajax({
+ type : "POST",
+ url : "http://localhost:23324/apex/RESTConsumer/EventIn",
+ data : stringifiedForm,
+ crossDomain : true,
+ contentType : "application/json; charset=utf-8",
+ success : function(data) {
+ alert("Decision Taken: " + data.decision);
+ },
+ failure : function(errMsg) {
+ alert(errMsg);
+ }
+ });
+ e.preventDefault(); //STOP default action
+
+ });
+ });
+</script>
+</head>
+<body>
+ <h3>Decision Maker Answers</h3>
+ <form name="answerform" id="answerform" method="POST">
+ <table>
+ <tr>
+ <td>First Answer:</td>
+ <td><input type="text" name="a0" value="Never Ever" /></td>
+ </tr>
+ <tr>
+ <td>Second Answer:</td>
+ <td><input type="text" name="a1" value="No" /></td>
+ </tr>
+ <tr>
+ <td>Third Answer:</td>
+ <td><input type="text" name="a2" value="Maybe not" /></td>
+ </tr>
+ <tr>
+ <td>Fourth Answer</td>
+ <td><input type="text" name="a3" value="Wait" /></td>
+ </tr>
+ <tr>
+ <td>Fifth Answer:</td>
+ <td><input type="text" name="a4" value="Maybe" /></td>
+ </tr>
+ <tr>
+ <td>Sixth Answer:</td>
+ <td><input type="text" name="a5" value="Yes" /></td>
+ </tr>
+ <tr>
+ <td>Seventh Answer:</td>
+ <td><input type="text" name="a6" value="Absolutely" /></td>
+ </tr>
+ <tr>
+ <td />
+ <td><input type="button" class="btn btn-info" id="answerspost"
+ value="Set Answers"></td>
+ </tr>
+ </table>
+ </form>
+ <h3>Decision Maker Mode</h3>
+ <form name="modeform" id="modeform" method="POST">
+ <table>
+ <tr>
+ <td><input name="mode" type="radio" value="random"
+ checked="checked">random</td>
+ <td><input name="mode" type="radio" value="pessimistic">pessimistic</td>
+ <td><input name="mode" type="radio" value="optimistic">
+ optimistic</td>
+ <td><input name="mode" type="radio" value="dithering">dithering</td>
+ </tr>
+ <tr>
+ <td />
+ <td />
+ <td />
+ <td><input type="button" class="btn btn-info" id="modepost"
+ value="Make Decision"></td>
+ </tr>
+ </table>
+ </form>
+</body>
+</html>
diff --git a/packages/apex-pdp-package-full/src/main/resources/app-version.txt b/packages/apex-pdp-package-full/src/main/resources/app-version.txt
new file mode 100644
index 000000000..f2ab45c3b
--- /dev/null
+++ b/packages/apex-pdp-package-full/src/main/resources/app-version.txt
@@ -0,0 +1 @@
+${project.version} \ No newline at end of file