summaryrefslogtreecommitdiffstats
path: root/examples/examples-decisionmaker/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'examples/examples-decisionmaker/src/main')
-rw-r--r--examples/examples-decisionmaker/src/main/resources/examples/config/DecisionMaker/ApexConfigHealthCheckRESTClient.json57
-rw-r--r--examples/examples-decisionmaker/src/main/resources/logic/HealthCheckTask.js26
-rw-r--r--examples/examples-decisionmaker/src/main/resources/policy/HealthCheckPolicyModel.apex58
3 files changed, 141 insertions, 0 deletions
diff --git a/examples/examples-decisionmaker/src/main/resources/examples/config/DecisionMaker/ApexConfigHealthCheckRESTClient.json b/examples/examples-decisionmaker/src/main/resources/examples/config/DecisionMaker/ApexConfigHealthCheckRESTClient.json
new file mode 100644
index 000000000..ec7391afe
--- /dev/null
+++ b/examples/examples-decisionmaker/src/main/resources/examples/config/DecisionMaker/ApexConfigHealthCheckRESTClient.json
@@ -0,0 +1,57 @@
+{
+ "javaProperties" : [
+ ["javax.net.ssl.trustStore", "/home/liam/tmp/distribution/etc/ssl/policy-truststore"],
+ ["javax.net.ssl.trustStorePassword", "UG9sMWN5XzBuYXA="]
+ ],
+ "engineServiceParameters": {
+ "name": "MyApexEngine",
+ "version": "0.0.1",
+ "id": 45,
+ "instanceCount": 4,
+ "deploymentPort": 12345,
+ "policyModelFileName": "/home/liam/git/onap/policy/apex-pdp/examples/examples-decisionmaker/target/classes/HealthCheckPolicyModel.json",
+ "engineParameters": {
+ "executorParameters": {
+ "JAVASCRIPT": {
+ "parameterClassName": "org.onap.policy.apex.plugins.executor.javascript.JavascriptExecutorParameters"
+ }
+ }
+ }
+ },
+ "eventInputParameters": {
+ "HealthCheckConsumer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "https://policy:6969/healthcheck",
+ "httpHeaders" : [
+ ["Authorization", "Basic aGVhbHRoY2hlY2s6emIhWHp0RzM0"]
+ ]
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON",
+ "parameters": {
+ "nameAlias": "none",
+ "versionAlias": "version",
+ "sourceAlias": "from"
+ }
+ },
+ "eventName": "HealthCheckEvent"
+ }
+ },
+ "eventOutputParameters": {
+ "logProducer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "FILE",
+ "parameters": {
+ "fileName": "/tmp/EventsOut.json"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ }
+}
diff --git a/examples/examples-decisionmaker/src/main/resources/logic/HealthCheckTask.js b/examples/examples-decisionmaker/src/main/resources/logic/HealthCheckTask.js
new file mode 100644
index 000000000..ebc0e6387
--- /dev/null
+++ b/examples/examples-decisionmaker/src/main/resources/logic/HealthCheckTask.js
@@ -0,0 +1,26 @@
+/*
+ * ============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=========================================================
+ */
+
+executor.logger.info(executor.subject.id);
+executor.logger.info(executor.inFields);
+
+executor.logger.info(executor.outFields);
+
+var returnValue = executor.isTrue;
diff --git a/examples/examples-decisionmaker/src/main/resources/policy/HealthCheckPolicyModel.apex b/examples/examples-decisionmaker/src/main/resources/policy/HealthCheckPolicyModel.apex
new file mode 100644
index 000000000..c799a8f37
--- /dev/null
+++ b/examples/examples-decisionmaker/src/main/resources/policy/HealthCheckPolicyModel.apex
@@ -0,0 +1,58 @@
+#-------------------------------------------------------------------------------
+# ============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=========================================================
+#-------------------------------------------------------------------------------
+
+model create name=HealthCheckPolicyModel
+
+schema create name=SimpleStringType flavour=Java schema=java.lang.String
+schema create name=SimpleIntegerType flavour=Java schema=java.lang.Integer
+schema create name=SimpleBooleanType flavour=Java schema=java.lang.Boolean
+
+event create name=HealthCheckEvent nameSpace=org.onap.policy.apex.domains.HealthCheck source=Distribution target=Apex
+event parameter create name=HealthCheckEvent parName=name schemaName=SimpleStringType
+event parameter create name=HealthCheckEvent parName=url schemaName=SimpleStringType
+event parameter create name=HealthCheckEvent parName=healthy schemaName=SimpleBooleanType
+event parameter create name=HealthCheckEvent parName=code schemaName=SimpleIntegerType
+event parameter create name=HealthCheckEvent parName=message schemaName=SimpleStringType
+
+task create name=HealthCheckTask
+task inputfield create name=HealthCheckTask fieldName=name schemaName=SimpleStringType
+task inputfield create name=HealthCheckTask fieldName=url schemaName=SimpleStringType
+task inputfield create name=HealthCheckTask fieldName=healthy schemaName=SimpleBooleanType
+task inputfield create name=HealthCheckTask fieldName=code schemaName=SimpleIntegerType
+task inputfield create name=HealthCheckTask fieldName=message schemaName=SimpleStringType
+
+task outputfield create name=HealthCheckTask fieldName=name schemaName=SimpleStringType
+task outputfield create name=HealthCheckTask fieldName=url schemaName=SimpleStringType
+task outputfield create name=HealthCheckTask fieldName=healthy schemaName=SimpleBooleanType
+task outputfield create name=HealthCheckTask fieldName=code schemaName=SimpleIntegerType
+task outputfield create name=HealthCheckTask fieldName=message schemaName=SimpleStringType
+
+task logic create name=HealthCheckTask logicFlavour=JAVASCRIPT logic=LS
+#MACROFILE:"src/main/resources/logic/HealthCheckTask.js"
+LE
+
+policy create name=HealthCheckPolicy template=freestyle firstState=HealthCheckState
+
+policy state create name=HealthCheckPolicy stateName=HealthCheckState triggerName=HealthCheckEvent defaultTaskName=HealthCheckTask
+policy state output create name=HealthCheckPolicy stateName=HealthCheckState outputName=HealthCheckOutput eventName=HealthCheckEvent
+policy state taskref create name=HealthCheckPolicy stateName=HealthCheckState taskName=HealthCheckTask outputType=DIRECT outputName=HealthCheckOutput
+
+validate
+