{ "tosca_definitions_version": "tosca_simple_yaml_1_1_0", "node_types": { "org.onap.nodetypes.policy.MetadataSet": { "derived_from": "tosca.nodetypes.Root", "version": "1.0.0" } }, "topology_template": { "node_templates": { "apexMetadata_grpc": { "version": "1.2.1", "type": "org.onap.nodetypes.policy.MetadataSet", "type_version": "1.0.0", "description": "Metadata set for GRPC", "metadata": { "policyModel": { "key": { "name": "GrpcPolicyModel", "version": "1.0.1" } }, "threshold": 3.14, "state": "active" } }, "apexMetadata_adaptive": { "version": "2.3.1", "type": "org.onap.nodetypes.policy.MetadataSet", "type_version": "1.0.0", "description": "Metadata set for an Adaptive Policy", "metadata": { "policyModel": { "key": { "name": "AdaptivePolicyModel", "version": "1.2.1" } }, "radius": 1.23, "height": 2.13, "length": 45 } }, "apexMetadata_decisionMaker": { "version": "1.0.0", "type": "org.onap.nodetypes.policy.MetadataSet", "type_version": "1.0.0", "description": "Metadata set for an Adaptive Policy", "metadata": { "policyModel": { "key": { "name": "DecisionMakerPolicyModel", "version": "1.0.0" }, "keyInformation": { "key": { "name": "DecisionMakerPolicyModel_KeyInfo", "version": "0.0.1" }, "keyInfoMap": { "entry": [ { "key": { "name": "AnswerAlbum", "version": "0.0.1" }, "value": { "key": { "name": "AnswerAlbum", "version": "0.0.1" }, "UUID": "4ea21a2c-5dc7-337f-ba13-f427a4ae79a1", "description": "Generated description for concept referred to by key \"AnswerAlbum:0.0.1\"" } }, { "key": { "name": "AnswerEvent", "version": "0.0.1" }, "value": { "key": { "name": "AnswerEvent", "version": "0.0.1" }, "UUID": "ce2233b8-bb89-3c5e-a18f-1d13089d2bb6", "description": "Generated description for concept referred to by key \"AnswerEvent:0.0.1\"" } }, { "key": { "name": "AnswerInitPolicy", "version": "0.0.1" }, "value": { "key": { "name": "AnswerInitPolicy", "version": "0.0.1" }, "UUID": "c8254064-b171-3ccb-85c0-29b5719ee8fc", "description": "Generated description for concept referred to by key \"AnswerInitPolicy:0.0.1\"" } }, { "key": { "name": "AnswerInitTask", "version": "0.0.1" }, "value": { "key": { "name": "AnswerInitTask", "version": "0.0.1" }, "UUID": "28fb33d2-a4e0-3046-8302-7baf9a2056d1", "description": "Generated description for concept referred to by key \"AnswerInitTask:0.0.1\"" } }, { "key": { "name": "DecisionEvent", "version": "0.0.1" }, "value": { "key": { "name": "DecisionEvent", "version": "0.0.1" }, "UUID": "487acc75-b5a1-3285-90cf-98ecd6fb3500", "description": "Generated description for concept referred to by key \"DecisionEvent:0.0.1\"" } }, { "key": { "name": "DecisionMakerPolicy", "version": "0.0.1" }, "value": { "key": { "name": "DecisionMakerPolicy", "version": "0.0.1" }, "UUID": "9e8dda9a-6f85-311d-842b-00b5b5578edd", "description": "Generated description for concept referred to by key \"DecisionMakerPolicy:0.0.1\"" } }, { "key": { "name": "DecisionMakerPolicyModel", "version": "0.0.1" }, "value": { "key": { "name": "DecisionMakerPolicyModel", "version": "0.0.1" }, "UUID": "d7789464-e4d1-382e-8481-fba53fa7b9a9", "description": "Generated description for concept referred to by key \"DecisionMakerPolicyModel:0.0.1\"" } }, { "key": { "name": "DecisionMakerPolicyModel_Albums", "version": "0.0.1" }, "value": { "key": { "name": "DecisionMakerPolicyModel_Albums", "version": "0.0.1" }, "UUID": "e5dfbadd-5229-3ad9-996c-eda030ef5dc1", "description": "Generated description for concept referred to by key \"DecisionMakerPolicyModel_Albums:0.0.1\"" } }, { "key": { "name": "DecisionMakerPolicyModel_Events", "version": "0.0.1" }, "value": { "key": { "name": "DecisionMakerPolicyModel_Events", "version": "0.0.1" }, "UUID": "b4248202-ff8e-3d45-8b3d-0ed0fd2eaed4", "description": "Generated description for concept referred to by key \"DecisionMakerPolicyModel_Events:0.0.1\"" } }, { "key": { "name": "DecisionMakerPolicyModel_KeyInfo", "version": "0.0.1" }, "value": { "key": { "name": "DecisionMakerPolicyModel_KeyInfo", "version": "0.0.1" }, "UUID": "693b1b29-c4c6-34ba-98e1-bc1a7576f0f8", "description": "Generated description for concept referred to by key \"DecisionMakerPolicyModel_KeyInfo:0.0.1\"" } }, { "key": { "name": "DecisionMakerPolicyModel_Policies", "version": "0.0.1" }, "value": { "key": { "name": "DecisionMakerPolicyModel_Policies", "version": "0.0.1" }, "UUID": "2dee1e42-9caa-32b1-9298-784dcdcb9cae", "description": "Generated description for concept referred to by key \"DecisionMakerPolicyModel_Policies:0.0.1\"" } }, { "key": { "name": "DecisionMakerPolicyModel_Schemas", "version": "0.0.1" }, "value": { "key": { "name": "DecisionMakerPolicyModel_Schemas", "version": "0.0.1" }, "UUID": "c256f102-2681-3f35-bbbd-1f4948587e15", "description": "Generated description for concept referred to by key \"DecisionMakerPolicyModel_Schemas:0.0.1\"" } }, { "key": { "name": "DecisionMakerPolicyModel_Tasks", "version": "0.0.1" }, "value": { "key": { "name": "DecisionMakerPolicyModel_Tasks", "version": "0.0.1" }, "UUID": "660cbdba-687d-3a05-ba26-69daf93a8158", "description": "Generated description for concept referred to by key \"DecisionMakerPolicyModel_Tasks:0.0.1\"" } }, { "key": { "name": "DitheringAnswerTask", "version": "0.0.1" }, "value": { "key": { "name": "DitheringAnswerTask", "version": "0.0.1" }, "UUID": "da31cee8-2e84-39d2-9337-9ee3bf347c98", "description": "Generated description for concept referred to by key \"DitheringAnswerTask:0.0.1\"" } }, { "key": { "name": "LastAnswerAlbum", "version": "0.0.1" }, "value": { "key": { "name": "LastAnswerAlbum", "version": "0.0.1" }, "UUID": "21399145-3fbe-39a5-b863-8a59a8add4a8", "description": "Generated description for concept referred to by key \"LastAnswerAlbum:0.0.1\"" } }, { "key": { "name": "MakeDecisionEvent", "version": "0.0.1" }, "value": { "key": { "name": "MakeDecisionEvent", "version": "0.0.1" }, "UUID": "02ec632a-aeae-31fe-8f6d-656e1875749f", "description": "Generated description for concept referred to by key \"MakeDecisionEvent:0.0.1\"" } }, { "key": { "name": "OptimisticAnswerTask", "version": "0.0.1" }, "value": { "key": { "name": "OptimisticAnswerTask", "version": "0.0.1" }, "UUID": "818e6b9e-0109-31f5-a95c-17f6fb016027", "description": "Generated description for concept referred to by key \"OptimisticAnswerTask:0.0.1\"" } }, { "key": { "name": "PessimisticAnswerTask", "version": "0.0.1" }, "value": { "key": { "name": "PessimisticAnswerTask", "version": "0.0.1" }, "UUID": "8f4a707e-0d8b-3e09-b921-332f6f81f302", "description": "Generated description for concept referred to by key \"PessimisticAnswerTask:0.0.1\"" } }, { "key": { "name": "RandomAnswerTask", "version": "0.0.1" }, "value": { "key": { "name": "RandomAnswerTask", "version": "0.0.1" }, "UUID": "bfb0af88-b454-3b08-911f-7ff2475350bf", "description": "Generated description for concept referred to by key \"RandomAnswerTask:0.0.1\"" } }, { "key": { "name": "RoundRobinAnswerTask", "version": "0.0.1" }, "value": { "key": { "name": "RoundRobinAnswerTask", "version": "0.0.1" }, "UUID": "eac6fb59-8aca-3011-b7ba-69875f1db4b6", "description": "Generated description for concept referred to by key \"RoundRobinAnswerTask:0.0.1\"" } }, { "key": { "name": "SimpleIntegerType", "version": "0.0.1" }, "value": { "key": { "name": "SimpleIntegerType", "version": "0.0.1" }, "UUID": "ab00a5b8-7edd-340f-8140-4d14f571edfb", "description": "Generated description for concept referred to by key \"SimpleIntegerType:0.0.1\"" } }, { "key": { "name": "SimpleStringType", "version": "0.0.1" }, "value": { "key": { "name": "SimpleStringType", "version": "0.0.1" }, "UUID": "8a4957cf-9493-3a76-8c22-a208e23259af", "description": "Generated description for concept referred to by key \"SimpleStringType:0.0.1\"" } } ] } }, "policies": { "key": { "name": "DecisionMakerPolicyModel_Policies", "version": "0.0.1" }, "policyMap": { "entry": [ { "key": { "name": "AnswerInitPolicy", "version": "0.0.1" }, "value": { "policyKey": { "name": "AnswerInitPolicy", "version": "0.0.1" }, "template": "freestyle", "state": { "entry": [ { "key": "AnswerInitState", "value": { "stateKey": { "parentKeyName": "AnswerInitPolicy", "parentKeyVersion": "0.0.1", "parentLocalName": "NULL", "localName": "AnswerInitState" }, "trigger": { "name": "AnswerEvent", "version": "0.0.1" }, "stateOutputs": { "entry": [ { "key": "AnswerInitOutput", "value": { "key": { "parentKeyName": "AnswerInitPolicy", "parentKeyVersion": "0.0.1", "parentLocalName": "AnswerInitState", "localName": "AnswerInitOutput" }, "outgoingEvent": { "name": "AnswerEvent", "version": "0.0.1" }, "outgoingEventReference": [ { "name": "AnswerEvent", "version": "0.0.1" } ], "nextState": { "parentKeyName": "NULL", "parentKeyVersion": "0.0.0", "parentLocalName": "NULL", "localName": "NULL" } } } ] }, "contextAlbumReference": [], "taskSelectionLogic": { "key": "NULL", "logicFlavour": "UNDEFINED", "logic": "" }, "stateFinalizerLogicMap": { "entry": [] }, "defaultTask": { "name": "AnswerInitTask", "version": "0.0.1" }, "taskReferences": { "entry": [ { "key": { "name": "AnswerInitTask", "version": "0.0.1" }, "value": { "key": { "parentKeyName": "AnswerInitPolicy", "parentKeyVersion": "0.0.1", "parentLocalName": "AnswerInitState", "localName": "AnswerInitPolicy" }, "outputType": "DIRECT", "output": { "parentKeyName": "AnswerInitPolicy", "parentKeyVersion": "0.0.1", "parentLocalName": "AnswerInitState", "localName": "AnswerInitOutput" } } } ] } } } ] }, "firstState": "AnswerInitState" } }, { "key": { "name": "DecisionMakerPolicy", "version": "0.0.1" }, "value": { "policyKey": { "name": "DecisionMakerPolicy", "version": "0.0.1" }, "template": "freestyle", "state": { "entry": [ { "key": "MakeDecisionState", "value": { "stateKey": { "parentKeyName": "DecisionMakerPolicy", "parentKeyVersion": "0.0.1", "parentLocalName": "NULL", "localName": "MakeDecisionState" }, "trigger": { "name": "MakeDecisionEvent", "version": "0.0.1" }, "stateOutputs": { "entry": [ { "key": "DecisionFinalOutput", "value": { "key": { "parentKeyName": "DecisionMakerPolicy", "parentKeyVersion": "0.0.1", "parentLocalName": "MakeDecisionState", "localName": "DecisionFinalOutput" }, "outgoingEvent": { "name": "DecisionEvent", "version": "0.0.1" }, "outgoingEventReference": [ { "name": "DecisionEvent", "version": "0.0.1" } ], "nextState": { "parentKeyName": "NULL", "parentKeyVersion": "0.0.0", "parentLocalName": "NULL", "localName": "NULL" } } } ] }, "contextAlbumReference": [], "taskSelectionLogic": { "key": "TaskSelectionLogic", "logicFlavour": "JAVASCRIPT", "logic": "/*\n * ============LICENSE_START=======================================================\n * Copyright (C) 2016-2018 Ericsson. All rights reserved.\n * Modifications Copyright (C) 2020 Nordix Foundation.\n * ================================================================================\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n * ============LICENSE_END=========================================================\n */\n\nexecutor.logger.info(executor.subject.id);\nexecutor.logger.info(executor.inFields);\n\nif (executor.inFields.get(\"mode\").equals(\"random\")) {\n executor.subject.getTaskKey(\"RandomAnswerTask\").copyTo(executor.selectedTask);\n}\nelse if (executor.inFields.get(\"mode\").equals(\"pessimistic\")) {\n executor.subject.getTaskKey(\"PessimisticAnswerTask\").copyTo(executor.selectedTask);\n}\nelse if (executor.inFields.get(\"mode\").equals(\"optimistic\")) {\n executor.subject.getTaskKey(\"OptimisticAnswerTask\").copyTo(executor.selectedTask);\n}\nelse if (executor.inFields.get(\"mode\").equals(\"dithering\")) {\n executor.subject.getTaskKey(\"DitheringAnswerTask\").copyTo(executor.selectedTask);\n}\nelse if (executor.inFields.get(\"mode\").equals(\"roundrobin\")) {\n executor.subject.getTaskKey(\"RoundRobinAnswerTask\").copyTo(executor.selectedTask);\n}\n\nexecutor.logger.info(\"Answer Selected Task:\" + executor.selectedTask);\n\ntrue;" }, "stateFinalizerLogicMap": { "entry": [] }, "defaultTask": { "name": "RandomAnswerTask", "version": "0.0.1" }, "taskReferences": { "entry": [ { "key": { "name": "DitheringAnswerTask", "version": "0.0.1" }, "value": { "key": { "parentKeyName": "DecisionMakerPolicy", "parentKeyVersion": "0.0.1", "parentLocalName": "MakeDecisionState", "localName": "DecisionMakerPolicy" }, "outputType": "DIRECT", "output": { "parentKeyName": "DecisionMakerPolicy", "parentKeyVersion": "0.0.1", "parentLocalName": "MakeDecisionState", "localName": "DecisionFinalOutput" } } }, { "key": { "name": "OptimisticAnswerTask", "version": "0.0.1" }, "value": { "key": { "parentKeyName": "DecisionMakerPolicy", "parentKeyVersion": "0.0.1", "parentLocalName": "MakeDecisionState", "localName": "DecisionMakerPolicy" }, "outputType": "DIRECT", "output": { "parentKeyName": "DecisionMakerPolicy", "parentKeyVersion": "0.0.1", "parentLocalName": "MakeDecisionState", "localName": "DecisionFinalOutput" } } }, { "key": { "name": "PessimisticAnswerTask", "version": "0.0.1" }, "value": { "key": { "parentKeyName": "DecisionMakerPolicy", "parentKeyVersion": "0.0.1", "parentLocalName": "MakeDecisionState", "localName": "DecisionMakerPolicy" }, "outputType": "DIRECT", "output": { "parentKeyName": "DecisionMakerPolicy", "parentKeyVersion": "0.0.1", "parentLocalName": "MakeDecisionState", "localName": "DecisionFinalOutput" } } }, { "key": { "name": "RandomAnswerTask", "version": "0.0.1" }, "value": { "key": { "parentKeyName": "DecisionMakerPolicy", "parentKeyVersion": "0.0.1", "parentLocalName": "MakeDecisionState", "localName": "DecisionMakerPolicy" }, "outputType": "DIRECT", "output": { "parentKeyName": "DecisionMakerPolicy", "parentKeyVersion": "0.0.1", "parentLocalName": "MakeDecisionState", "localName": "DecisionFinalOutput" } } }, { "key": { "name": "RoundRobinAnswerTask", "version": "0.0.1" }, "value": { "key": { "parentKeyName": "DecisionMakerPolicy", "parentKeyVersion": "0.0.1", "parentLocalName": "MakeDecisionState", "localName": "DecisionMakerPolicy" }, "outputType": "DIRECT", "output": { "parentKeyName": "DecisionMakerPolicy", "parentKeyVersion": "0.0.1", "parentLocalName": "MakeDecisionState", "localName": "DecisionFinalOutput" } } } ] } } } ] }, "firstState": "MakeDecisionState" } } ] } }, "tasks": { "key": { "name": "DecisionMakerPolicyModel_Tasks", "version": "0.0.1" }, "taskMap": { "entry": [ { "key": { "name": "AnswerInitTask", "version": "0.0.1" }, "value": { "key": { "name": "AnswerInitTask", "version": "0.0.1" }, "inputEvent": { "key": { "name": "AnswerEvent", "version": "0.0.1" }, "nameSpace": "org.onap.policy.apex.domains.decisionmaker", "source": "DCAE", "target": "apex", "parameter": { "entry": [ { "key": "a0", "value": { "key": "a0", "fieldSchemaKey": { "name": "SimpleStringType", "version": "0.0.1" }, "optional": false } }, { "key": "a1", "value": { "key": "a1", "fieldSchemaKey": { "name": "SimpleStringType", "version": "0.0.1" }, "optional": false } }, { "key": "a2", "value": { "key": "a2", "fieldSchemaKey": { "name": "SimpleStringType", "version": "0.0.1" }, "optional": false } }, { "key": "a3", "value": { "key": "a3", "fieldSchemaKey": { "name": "SimpleStringType", "version": "0.0.1" }, "optional": false } }, { "key": "a4", "value": { "key": "a4", "fieldSchemaKey": { "name": "SimpleStringType", "version": "0.0.1" }, "optional": false } }, { "key": "a5", "value": { "key": "a5", "fieldSchemaKey": { "name": "SimpleStringType", "version": "0.0.1" }, "optional": false } }, { "key": "a6", "value": { "key": "a6", "fieldSchemaKey": { "name": "SimpleStringType", "version": "0.0.1" }, "optional": false } } ] }, "toscaPolicyState": "" }, "outputEvents": { "entry": [ { "key": "AnswerEvent", "value": { "key": { "name": "AnswerEvent", "version": "0.0.1" }, "nameSpace": "org.onap.policy.apex.domains.decisionmaker", "source": "DCAE", "target": "apex", "parameter": { "entry": [ { "key": "a0", "value": { "key": "a0", "fieldSchemaKey": { "name": "SimpleStringType", "version": "0.0.1" }, "optional": false } }, { "key": "a1", "value": { "key": "a1", "fieldSchemaKey": { "name": "SimpleStringType", "version": "0.0.1" }, "optional": false } }, { "key": "a2", "value": { "key": "a2", "fieldSchemaKey": { "name": "SimpleStringType", "version": "0.0.1" }, "optional": false } }, { "key": "a3", "value": { "key": "a3", "fieldSchemaKey": { "name": "SimpleStringType", "version": "0.0.1" }, "optional": false } }, { "key": "a4", "value": { "key": "a4", "fieldSchemaKey": { "name": "SimpleStringType", "version": "0.0.1" }, "optional": false } }, { "key": "a5", "value": { "key": "a5", "fieldSchemaKey": { "name": "SimpleStringType", "version": "0.0.1" }, "optional": false } }, { "key": "a6", "value": { "key": "a6", "fieldSchemaKey": { "name": "SimpleStringType", "version": "0.0.1" }, "optional": false } } ] }, "toscaPolicyState": "" } } ] }, "taskParameters": { "entry": [] }, "contextAlbumReference": [ { "name": "AnswerAlbum", "version": "0.0.1" }, { "name": "LastAnswerAlbum", "version": "0.0.1" } ], "taskLogic": { "key": "TaskLogic", "logicFlavour": "JAVASCRIPT", "logic": "/*\n * ============LICENSE_START=======================================================\n * Copyright (C) 2016-2018 Ericsson. All rights reserved.\n * Modifications Copyright (C) 2020 Nordix Foundation.\n * ================================================================================\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n * ============LICENSE_END=========================================================\n */\n\nexecutor.logger.info(executor.subject.id);\nexecutor.logger.info(executor.inFields);\n\nvar answerAlbum = executor.getContextAlbum(\"AnswerAlbum\");\n\nanswerAlbum.put(\"a0\", executor.inFields.get(\"a0\"));\nanswerAlbum.put(\"a1\", executor.inFields.get(\"a1\"));\nanswerAlbum.put(\"a2\", executor.inFields.get(\"a2\"));\nanswerAlbum.put(\"a3\", executor.inFields.get(\"a3\"));\nanswerAlbum.put(\"a4\", executor.inFields.get(\"a4\"));\nanswerAlbum.put(\"a5\", executor.inFields.get(\"a5\"));\nanswerAlbum.put(\"a6\", executor.inFields.get(\"a6\"));\n\nvar lastAnswerAlbum = executor.getContextAlbum(\"LastAnswerAlbum\");\nlastAnswerAlbum.put(\"lastAnswer\", answerAlbum.size() - 1);\n\nexecutor.outFields.put(\"a0\", answerAlbum.get(\"a0\"));\nexecutor.outFields.put(\"a1\", answerAlbum.get(\"a1\"));\nexecutor.outFields.put(\"a2\", answerAlbum.get(\"a2\"));\nexecutor.outFields.put(\"a3\", answerAlbum.get(\"a3\"));\nexecutor.outFields.put(\"a4\", answerAlbum.get(\"a4\"));\nexecutor.outFields.put(\"a5\", answerAlbum.get(\"a5\"));\nexecutor.outFields.put(\"a6\", answerAlbum.get(\"a6\"));\n\nexecutor.logger.info(executor.outFields);\n\ntrue;" } } }, { "key": { "name": "DitheringAnswerTask", "version": "0.0.1" }, "value": { "key": { "name": "DitheringAnswerTask", "version": "0.0.1" }, "inputEvent": { "key": { "name": "MakeDecisionEvent", "version": "0.0.1" }, "nameSpace": "org.onap.policy.apex.domains.decisionmaker", "source": "DCAE", "target": "apex", "parameter": { "entry": [ { "key": "mode", "value": { "key": "mode", "fieldSchemaKey": { "name": "SimpleStringType", "version": "0.0.1" }, "optional": false } } ] }, "toscaPolicyState": "" }, "outputEvents": { "entry": [ { "key": "DecisionEvent", "value": { "key": { "name": "DecisionEvent", "version": "0.0.1" }, "nameSpace": "org.onap.policy.apex.domains.decisionmaker", "source": "DCAE", "target": "apex", "parameter": { "entry": [ { "key": "decision", "value": { "key": "decision", "fieldSchemaKey": { "name": "SimpleStringType", "version": "0.0.1" }, "optional": false } } ] }, "toscaPolicyState": "" } } ] }, "taskParameters": { "entry": [] }, "contextAlbumReference": [ { "name": "AnswerAlbum", "version": "0.0.1" } ], "taskLogic": { "key": "TaskLogic", "logicFlavour": "JAVASCRIPT", "logic": "/*\n * ============LICENSE_START=======================================================\n * Copyright (C) 2016-2018 Ericsson. All rights reserved.\n * Modifications Copyright (C) 2020 Nordix Foundation.\n * ================================================================================\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n * ============LICENSE_END=========================================================\n */\n\nexecutor.logger.info(executor.subject.id);\nexecutor.logger.info(executor.inFields);\n\nvar size = executor.getContextAlbum(\"AnswerAlbum\").size();\n\nvar selection = 2 + Math.floor(Math.random() * 3);\n\nvar selectionA = \"a\" + selection;\n\nexecutor.logger.info(size);\nexecutor.logger.info(selectionA);\n\nexecutor.outFields.put(\"decision\", executor.getContextAlbum(\"AnswerAlbum\").get(selectionA));\n\nexecutor.logger.info(executor.outFields);\n\ntrue;" } } }, { "key": { "name": "OptimisticAnswerTask", "version": "0.0.1" }, "value": { "key": { "name": "OptimisticAnswerTask", "version": "0.0.1" }, "inputEvent": { "key": { "name": "MakeDecisionEvent", "version": "0.0.1" }, "nameSpace": "org.onap.policy.apex.domains.decisionmaker", "source": "DCAE", "target": "apex", "parameter": { "entry": [ { "key": "mode", "value": { "key": "mode", "fieldSchemaKey": { "name": "SimpleStringType", "version": "0.0.1" }, "optional": false } } ] }, "toscaPolicyState": "" }, "outputEvents": { "entry": [ { "key": "DecisionEvent", "value": { "key": { "name": "DecisionEvent", "version": "0.0.1" }, "nameSpace": "org.onap.policy.apex.domains.decisionmaker", "source": "DCAE", "target": "apex", "parameter": { "entry": [ { "key": "decision", "value": { "key": "decision", "fieldSchemaKey": { "name": "SimpleStringType", "version": "0.0.1" }, "optional": false } } ] }, "toscaPolicyState": "" } } ] }, "taskParameters": { "entry": [] }, "contextAlbumReference": [ { "name": "AnswerAlbum", "version": "0.0.1" } ], "taskLogic": { "key": "TaskLogic", "logicFlavour": "JAVASCRIPT", "logic": "/*\n * ============LICENSE_START=======================================================\n * Copyright (C) 2016-2018 Ericsson. All rights reserved.\n * Modifications Copyright (C) 2020 Nordix Foundation.\n * ================================================================================\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n * ============LICENSE_END=========================================================\n */\n\nexecutor.logger.info(executor.subject.id);\nexecutor.logger.info(executor.inFields);\n\nvar size = executor.getContextAlbum(\"AnswerAlbum\").size();\n\nvar selection = size - Math.floor(Math.random() * size / 2) - 1;\n\nvar selectionA = \"a\" + selection;\n\nexecutor.logger.info(size);\nexecutor.logger.info(selectionA);\n\nexecutor.outFields.put(\"decision\", executor.getContextAlbum(\"AnswerAlbum\").get(selectionA));\n\nexecutor.logger.info(executor.outFields);\n\ntrue;" } } }, { "key": { "name": "PessimisticAnswerTask", "version": "0.0.1" }, "value": { "key": { "name": "PessimisticAnswerTask", "version": "0.0.1" }, "inputEvent": { "key": { "name": "MakeDecisionEvent", "version": "0.0.1" }, "nameSpace": "org.onap.policy.apex.domains.decisionmaker", "source": "DCAE", "target": "apex", "parameter": { "entry": [ { "key": "mode", "value": { "key": "mode", "fieldSchemaKey": { "name": "SimpleStringType", "version": "0.0.1" }, "optional": false } } ] }, "toscaPolicyState": "" }, "outputEvents": { "entry": [ { "key": "DecisionEvent", "value": { "key": { "name": "DecisionEvent", "version": "0.0.1" }, "nameSpace": "org.onap.policy.apex.domains.decisionmaker", "source": "DCAE", "target": "apex", "parameter": { "entry": [ { "key": "decision", "value": { "key": "decision", "fieldSchemaKey": { "name": "SimpleStringType", "version": "0.0.1" }, "optional": false } } ] }, "toscaPolicyState": "" } } ] }, "taskParameters": { "entry": [] }, "contextAlbumReference": [ { "name": "AnswerAlbum", "version": "0.0.1" } ], "taskLogic": { "key": "TaskLogic", "logicFlavour": "JAVASCRIPT", "logic": "/*\n * ============LICENSE_START=======================================================\n * Copyright (C) 2016-2018 Ericsson. All rights reserved.\n * Modifications Copyright (C) 2020 Nordix Foundation.\n * ================================================================================\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n * ============LICENSE_END=========================================================\n */\n\nexecutor.logger.info(executor.subject.id);\nexecutor.logger.info(executor.inFields);\n\nvar size = executor.getContextAlbum(\"AnswerAlbum\").size();\n\nvar selection = Math.floor(Math.random() * size / 2);\n\nvar selectionA = \"a\" + selection;\n\nexecutor.logger.info(size);\nexecutor.logger.info(selectionA);\n\nexecutor.outFields.put(\"decision\", executor.getContextAlbum(\"AnswerAlbum\").get(selectionA));\n\nexecutor.logger.info(executor.outFields);\n\ntrue;" } } }, { "key": { "name": "RandomAnswerTask", "version": "0.0.1" }, "value": { "key": { "name": "RandomAnswerTask", "version": "0.0.1" }, "inputEvent": { "key": { "name": "MakeDecisionEvent", "version": "0.0.1" }, "nameSpace": "org.onap.policy.apex.domains.decisionmaker", "source": "DCAE", "target": "apex", "parameter": { "entry": [ { "key": "mode", "value": { "key": "mode", "fieldSchemaKey": { "name": "SimpleStringType", "version": "0.0.1" }, "optional": false } } ] }, "toscaPolicyState": "" }, "outputEvents": { "entry": [ { "key": "DecisionEvent", "value": { "key": { "name": "DecisionEvent", "version": "0.0.1" }, "nameSpace": "org.onap.policy.apex.domains.decisionmaker", "source": "DCAE", "target": "apex", "parameter": { "entry": [ { "key": "decision", "value": { "key": "decision", "fieldSchemaKey": { "name": "SimpleStringType", "version": "0.0.1" }, "optional": false } } ] }, "toscaPolicyState": "" } } ] }, "taskParameters": { "entry": [] }, "contextAlbumReference": [ { "name": "AnswerAlbum", "version": "0.0.1" } ], "taskLogic": { "key": "TaskLogic", "logicFlavour": "JAVASCRIPT", "logic": "/*\n * ============LICENSE_START=======================================================\n * Copyright (C) 2016-2018 Ericsson. All rights reserved.\n * Modifications Copyright (C) 2020 Nordix Foundation.\n * ================================================================================\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n * ============LICENSE_END=========================================================\n */\n\nexecutor.logger.info(executor.subject.id);\nexecutor.logger.info(executor.inFields);\n\nvar size = executor.getContextAlbum(\"AnswerAlbum\").size();\n\nvar selection = Math.floor(Math.random() * size);\n\nvar selectionA = \"a\" + selection;\n\nexecutor.logger.info(size);\nexecutor.logger.info(selectionA);\n\nexecutor.outFields.put(\"decision\", executor.getContextAlbum(\"AnswerAlbum\").get(selectionA));\n\nexecutor.logger.info(executor.outFields);\n\ntrue;" } } }, { "key": { "name": "RoundRobinAnswerTask", "version": "0.0.1" }, "value": { "key": { "name": "RoundRobinAnswerTask", "version": "0.0.1" }, "inputEvent": { "key": { "name": "MakeDecisionEvent", "version": "0.0.1" }, "nameSpace": "org.onap.policy.apex.domains.decisionmaker", "source": "DCAE", "target": "apex", "parameter": { "entry": [ { "key": "mode", "value": { "key": "mode", "fieldSchemaKey": { "name": "SimpleStringType", "version": "0.0.1" }, "optional": false } } ] }, "toscaPolicyState": "" }, "outputEvents": { "entry": [ { "key": "DecisionEvent", "value": { "key": { "name": "DecisionEvent", "version": "0.0.1" }, "nameSpace": "org.onap.policy.apex.domains.decisionmaker", "source": "DCAE", "target": "apex", "parameter": { "entry": [ { "key": "decision", "value": { "key": "decision", "fieldSchemaKey": { "name": "SimpleStringType", "version": "0.0.1" }, "optional": false } } ] }, "toscaPolicyState": "" } } ] }, "taskParameters": { "entry": [] }, "contextAlbumReference": [ { "name": "AnswerAlbum", "version": "0.0.1" }, { "name": "LastAnswerAlbum", "version": "0.0.1" } ], "taskLogic": { "key": "TaskLogic", "logicFlavour": "JAVASCRIPT", "logic": "/*\n * ============LICENSE_START=======================================================\n * Copyright (C) 2016-2018 Ericsson. All rights reserved.\n * Modifications Copyright (C) 2020 Nordix Foundation.\n * ================================================================================\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n * ============LICENSE_END=========================================================\n */\n\nexecutor.logger.info(executor.subject.id);\nexecutor.logger.info(executor.inFields);\n\nvar size = executor.getContextAlbum(\"AnswerAlbum\").size();\nvar lastAnswer = executor.getContextAlbum(\"LastAnswerAlbum\").get(\"lastAnswer\");\n\nexecutor.logger.info(size);\nexecutor.logger.info(lastAnswer);\n\nvar answer = ++lastAnswer;\nif (answer >= size) {\n answer = 0;\n}\n\nexecutor.getContextAlbum(\"LastAnswerAlbum\").put(\"lastAnswer\", answer)\n\nvar selectionA = \"a\" + answer;\n\nexecutor.logger.info(selectionA);\n\nexecutor.outFields.put(\"decision\", executor.getContextAlbum(\"AnswerAlbum\").get(selectionA));\n\nexecutor.logger.info(executor.outFields);\n\ntrue;" } } } ] } }, "events": { "key": { "name": "DecisionMakerPolicyModel_Events", "version": "0.0.1" }, "eventMap": { "entry": [ { "key": { "name": "AnswerEvent", "version": "0.0.1" }, "value": { "key": { "name": "AnswerEvent", "version": "0.0.1" }, "nameSpace": "org.onap.policy.apex.domains.decisionmaker", "source": "DCAE", "target": "apex", "parameter": { "entry": [ { "key": "a0", "value": { "key": "a0", "fieldSchemaKey": { "name": "SimpleStringType", "version": "0.0.1" }, "optional": false } }, { "key": "a1", "value": { "key": "a1", "fieldSchemaKey": { "name": "SimpleStringType", "version": "0.0.1" }, "optional": false } }, { "key": "a2", "value": { "key": "a2", "fieldSchemaKey": { "name": "SimpleStringType", "version": "0.0.1" }, "optional": false } }, { "key": "a3", "value": { "key": "a3", "fieldSchemaKey": { "name": "SimpleStringType", "version": "0.0.1" }, "optional": false } }, { "key": "a4", "value": { "key": "a4", "fieldSchemaKey": { "name": "SimpleStringType", "version": "0.0.1" }, "optional": false } }, { "key": "a5", "value": { "key": "a5", "fieldSchemaKey": { "name": "SimpleStringType", "version": "0.0.1" }, "optional": false } }, { "key": "a6", "value": { "key": "a6", "fieldSchemaKey": { "name": "SimpleStringType", "version": "0.0.1" }, "optional": false } } ] }, "toscaPolicyState": "" } }, { "key": { "name": "DecisionEvent", "version": "0.0.1" }, "value": { "key": { "name": "DecisionEvent", "version": "0.0.1" }, "nameSpace": "org.onap.policy.apex.domains.decisionmaker", "source": "DCAE", "target": "apex", "parameter": { "entry": [ { "key": "decision", "value": { "key": "decision", "fieldSchemaKey": { "name": "SimpleStringType", "version": "0.0.1" }, "optional": false } } ] }, "toscaPolicyState": "" } }, { "key": { "name": "MakeDecisionEvent", "version": "0.0.1" }, "value": { "key": { "name": "MakeDecisionEvent", "version": "0.0.1" }, "nameSpace": "org.onap.policy.apex.domains.decisionmaker", "source": "DCAE", "target": "apex", "parameter": { "entry": [ { "key": "mode", "value": { "key": "mode", "fieldSchemaKey": { "name": "SimpleStringType", "version": "0.0.1" }, "optional": false } } ] }, "toscaPolicyState": "" } } ] } }, "albums": { "key": { "name": "DecisionMakerPolicyModel_Albums", "version": "0.0.1" }, "albums": { "entry": [ { "key": { "name": "AnswerAlbum", "version": "0.0.1" }, "value": { "key": { "name": "AnswerAlbum", "version": "0.0.1" }, "scope": "policy", "isWritable": true, "itemSchema": { "name": "SimpleStringType", "version": "0.0.1" } } }, { "key": { "name": "LastAnswerAlbum", "version": "0.0.1" }, "value": { "key": { "name": "LastAnswerAlbum", "version": "0.0.1" }, "scope": "policy", "isWritable": true, "itemSchema": { "name": "SimpleIntegerType", "version": "0.0.1" } } } ] } }, "schemas": { "key": { "name": "DecisionMakerPolicyModel_Schemas", "version": "0.0.1" }, "schemas": { "entry": [ { "key": { "name": "SimpleIntegerType", "version": "0.0.1" }, "value": { "key": { "name": "SimpleIntegerType", "version": "0.0.1" }, "schemaFlavour": "Java", "schemaDefinition": "java.lang.Integer" } }, { "key": { "name": "SimpleStringType", "version": "0.0.1" }, "value": { "key": { "name": "SimpleStringType", "version": "0.0.1" }, "schemaFlavour": "Java", "schemaDefinition": "java.lang.String" } } ] } } } } } } } }