summaryrefslogtreecommitdiffstats
path: root/examples/examples-periodic/src/main
diff options
context:
space:
mode:
authorJorge Hernandez <jh1730@att.com>2018-07-25 13:56:20 +0000
committerGerrit Code Review <gerrit@onap.org>2018-07-25 13:56:20 +0000
commitdccf9a9e0758be0a926c94bf1599ee625066100d (patch)
treecae6ba9c95fb6425ef6f796a7b746511c6c159a4 /examples/examples-periodic/src/main
parent79ae3f7f229db52b8ab18c405c5109f8d18db1b6 (diff)
parentd524cedc578ae1bfa3bae895b3170f87463cbed9 (diff)
Merge "Adding more examples to apex-pdp"
Diffstat (limited to 'examples/examples-periodic/src/main')
-rw-r--r--examples/examples-periodic/src/main/resources/logic/OutputTask.js26
-rw-r--r--examples/examples-periodic/src/main/resources/logic/PeriodicTask.js44
-rw-r--r--examples/examples-periodic/src/main/resources/policy/PeriodicPolicyModel.apex83
3 files changed, 153 insertions, 0 deletions
diff --git a/examples/examples-periodic/src/main/resources/logic/OutputTask.js b/examples/examples-periodic/src/main/resources/logic/OutputTask.js
new file mode 100644
index 000000000..0e44653c1
--- /dev/null
+++ b/examples/examples-periodic/src/main/resources/logic/OutputTask.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.TRUE; \ No newline at end of file
diff --git a/examples/examples-periodic/src/main/resources/logic/PeriodicTask.js b/examples/examples-periodic/src/main/resources/logic/PeriodicTask.js
new file mode 100644
index 000000000..18dbcda0e
--- /dev/null
+++ b/examples/examples-periodic/src/main/resources/logic/PeriodicTask.js
@@ -0,0 +1,44 @@
+/*
+ * ============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);
+
+var eventList = executor.subject.getOutFieldSchemaHelper("EventList").createNewInstance();
+
+var eventType = Java.type("org.onap.policy.apex.service.engine.event.ApexEvent");
+
+for (i = 0; i < 5; i++) {
+ var event = new eventType("InputEvent", "0.0.1", "org.onap.policy.apex.periodic", "APEX", "APEX");
+
+ var par0 = "Hello: " + i;
+ var par1 = "Goodbye: " + i;
+
+ event.put("Par0", par0);
+ event.put("Par1", par1);
+
+ eventList.add(event);
+}
+
+executor.outFields.put("EventList", eventList);
+
+executor.logger.info(executor.outFields);
+
+var returnValue = executor.TRUE; \ No newline at end of file
diff --git a/examples/examples-periodic/src/main/resources/policy/PeriodicPolicyModel.apex b/examples/examples-periodic/src/main/resources/policy/PeriodicPolicyModel.apex
new file mode 100644
index 000000000..22a07f5f5
--- /dev/null
+++ b/examples/examples-periodic/src/main/resources/policy/PeriodicPolicyModel.apex
@@ -0,0 +1,83 @@
+#-------------------------------------------------------------------------------
+# ============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=PeriodicPolicyModel
+
+schema create name=SimpleLongType flavour=Java schema=java.lang.Long
+schema create name=SimpleStringType flavour=Java schema=java.lang.String
+schema create name=EventListType flavour=Java schema=org.onap.policy.apex.service.engine.event.ApexEventList
+
+event create name=PERIODIC_EVENT nameSpace=org.onap.policy.apex.periodic source=APEX target=APEX
+event parameter create name=PERIODIC_EVENT parName=PERIODIC_DELAY schemaName=SimpleLongType
+event parameter create name=PERIODIC_EVENT parName=PERIODIC_FIRST_TIME schemaName=SimpleLongType
+event parameter create name=PERIODIC_EVENT parName=PERIODIC_LAST_TIME schemaName=SimpleLongType
+event parameter create name=PERIODIC_EVENT parName=PERIODIC_CURRENT_TIME schemaName=SimpleLongType
+event parameter create name=PERIODIC_EVENT parName=PERIODIC_EVENT_COUNT schemaName=SimpleLongType
+
+event create name=EventListEvent nameSpace=org.onap.policy.apex.periodic source=APEX target=APEX
+event parameter create name=EventListEvent parName=EventList schemaName=EventListType
+
+event create name=InputEvent nameSpace=org.onap.policy.apex.periodic source=APEX target=APEX
+event parameter create name=InputEvent parName=Par0 schemaName=SimpleStringType
+event parameter create name=InputEvent parName=Par1 schemaName=SimpleStringType
+
+event create name=OutputEvent nameSpace=org.onap.policy.apex.periodic source=APEX target=APEX
+event parameter create name=OutputEvent parName=Par0 schemaName=SimpleStringType
+event parameter create name=OutputEvent parName=Par1 schemaName=SimpleStringType
+
+task create name=PeriodicTask
+task inputfield create name=PeriodicTask fieldName=PERIODIC_DELAY schemaName=SimpleLongType
+task inputfield create name=PeriodicTask fieldName=PERIODIC_FIRST_TIME schemaName=SimpleLongType
+task inputfield create name=PeriodicTask fieldName=PERIODIC_LAST_TIME schemaName=SimpleLongType
+task inputfield create name=PeriodicTask fieldName=PERIODIC_CURRENT_TIME schemaName=SimpleLongType
+task inputfield create name=PeriodicTask fieldName=PERIODIC_EVENT_COUNT schemaName=SimpleLongType
+
+task outputfield create name=PeriodicTask fieldName=EventList schemaName=EventListType
+
+task logic create name=PeriodicTask logicFlavour=JAVASCRIPT logic=LS
+#MACROFILE:"src/main/resources/logic/PeriodicTask.js"
+LE
+
+task create name=OutputTask
+task inputfield create name=OutputTask fieldName=Par0 schemaName=SimpleStringType
+task inputfield create name=OutputTask fieldName=Par1 schemaName=SimpleStringType
+
+task outputfield create name=OutputTask fieldName=Par0 schemaName=SimpleStringType
+task outputfield create name=OutputTask fieldName=Par1 schemaName=SimpleStringType
+
+task logic create name=OutputTask logicFlavour=JAVASCRIPT logic=LS
+#MACROFILE:"src/main/resources/logic/OutputTask.js"
+LE
+
+policy create name=PeriodicPolicy template=freestyle firstState=PeriodicState
+
+policy state create name=PeriodicPolicy stateName=PeriodicState triggerName=PERIODIC_EVENT defaultTaskName=PeriodicTask
+policy state output create name=PeriodicPolicy stateName=PeriodicState outputName=PeriodicOutput eventName=EventListEvent
+policy state taskref create name=PeriodicPolicy stateName=PeriodicState taskName=PeriodicTask outputType=DIRECT outputName=PeriodicOutput
+
+
+policy create name=OutputPolicy template=freestyle firstState=OutputState
+
+policy state create name=OutputPolicy stateName=OutputState triggerName=InputEvent defaultTaskName=OutputTask
+policy state output create name=OutputPolicy stateName=OutputState outputName=OutputOutput eventName=OutputEvent
+policy state taskref create name=OutputPolicy stateName=OutputState taskName=OutputTask outputType=DIRECT outputName=OutputOutput
+
+validate
+