--- # Representation of list of metadataSet entities as node templates in tosca that can be persisted to the database independently. 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: |- /* * ============LICENSE_START======================================================= * Copyright (C) 2016-2018 Ericsson. All rights reserved. * Modifications Copyright (C) 2020 Nordix Foundation. * ================================================================================ * 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); if (executor.inFields.get("mode").equals("random")) { executor.subject.getTaskKey("RandomAnswerTask").copyTo(executor.selectedTask); } else if (executor.inFields.get("mode").equals("pessimistic")) { executor.subject.getTaskKey("PessimisticAnswerTask").copyTo(executor.selectedTask); } else if (executor.inFields.get("mode").equals("optimistic")) { executor.subject.getTaskKey("OptimisticAnswerTask").copyTo(executor.selectedTask); } else if (executor.inFields.get("mode").equals("dithering")) { executor.subject.getTaskKey("DitheringAnswerTask").copyTo(executor.selectedTask); } else if (executor.inFields.get("mode").equals("roundrobin")) { executor.subject.getTaskKey("RoundRobinAnswerTask").copyTo(executor.selectedTask); } executor.logger.info("Answer Selected Task:" + executor.selectedTask); true; 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: |- /* * ============LICENSE_START======================================================= * Copyright (C) 2016-2018 Ericsson. All rights reserved. * Modifications Copyright (C) 2020 Nordix Foundation. * ================================================================================ * 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 answerAlbum = executor.getContextAlbum("AnswerAlbum"); answerAlbum.put("a0", executor.inFields.get("a0")); answerAlbum.put("a1", executor.inFields.get("a1")); answerAlbum.put("a2", executor.inFields.get("a2")); answerAlbum.put("a3", executor.inFields.get("a3")); answerAlbum.put("a4", executor.inFields.get("a4")); answerAlbum.put("a5", executor.inFields.get("a5")); answerAlbum.put("a6", executor.inFields.get("a6")); var lastAnswerAlbum = executor.getContextAlbum("LastAnswerAlbum"); lastAnswerAlbum.put("lastAnswer", answerAlbum.size() - 1); executor.outFields.put("a0", answerAlbum.get("a0")); executor.outFields.put("a1", answerAlbum.get("a1")); executor.outFields.put("a2", answerAlbum.get("a2")); executor.outFields.put("a3", answerAlbum.get("a3")); executor.outFields.put("a4", answerAlbum.get("a4")); executor.outFields.put("a5", answerAlbum.get("a5")); executor.outFields.put("a6", answerAlbum.get("a6")); executor.logger.info(executor.outFields); true; - 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: |- /* * ============LICENSE_START======================================================= * Copyright (C) 2016-2018 Ericsson. All rights reserved. * Modifications Copyright (C) 2020 Nordix Foundation. * ================================================================================ * 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 size = executor.getContextAlbum("AnswerAlbum").size(); var selection = 2 + Math.floor(Math.random() * 3); var selectionA = "a" + selection; executor.logger.info(size); executor.logger.info(selectionA); executor.outFields.put("decision", executor.getContextAlbum("AnswerAlbum").get(selectionA)); executor.logger.info(executor.outFields); true; - 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: |- /* * ============LICENSE_START======================================================= * Copyright (C) 2016-2018 Ericsson. All rights reserved. * Modifications Copyright (C) 2020 Nordix Foundation. * ================================================================================ * 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 size = executor.getContextAlbum("AnswerAlbum").size(); var selection = size - Math.floor(Math.random() * size / 2) - 1; var selectionA = "a" + selection; executor.logger.info(size); executor.logger.info(selectionA); executor.outFields.put("decision", executor.getContextAlbum("AnswerAlbum").get(selectionA)); executor.logger.info(executor.outFields); true; - 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: |- /* * ============LICENSE_START======================================================= * Copyright (C) 2016-2018 Ericsson. All rights reserved. * Modifications Copyright (C) 2020 Nordix Foundation. * ================================================================================ * 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 size = executor.getContextAlbum("AnswerAlbum").size(); var selection = Math.floor(Math.random() * size / 2); var selectionA = "a" + selection; executor.logger.info(size); executor.logger.info(selectionA); executor.outFields.put("decision", executor.getContextAlbum("AnswerAlbum").get(selectionA)); executor.logger.info(executor.outFields); true; - 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: |- /* * ============LICENSE_START======================================================= * Copyright (C) 2016-2018 Ericsson. All rights reserved. * Modifications Copyright (C) 2020 Nordix Foundation. * ================================================================================ * 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 size = executor.getContextAlbum("AnswerAlbum").size(); var selection = Math.floor(Math.random() * size); var selectionA = "a" + selection; executor.logger.info(size); executor.logger.info(selectionA); executor.outFields.put("decision", executor.getContextAlbum("AnswerAlbum").get(selectionA)); executor.logger.info(executor.outFields); true; - 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: |- /* * ============LICENSE_START======================================================= * Copyright (C) 2016-2018 Ericsson. All rights reserved. * Modifications Copyright (C) 2020 Nordix Foundation. * ================================================================================ * 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 size = executor.getContextAlbum("AnswerAlbum").size(); var lastAnswer = executor.getContextAlbum("LastAnswerAlbum").get("lastAnswer"); executor.logger.info(size); executor.logger.info(lastAnswer); var answer = ++lastAnswer; if (answer >= size) { answer = 0; } executor.getContextAlbum("LastAnswerAlbum").put("lastAnswer", answer) var selectionA = "a" + answer; executor.logger.info(selectionA); executor.outFields.put("decision", executor.getContextAlbum("AnswerAlbum").get(selectionA)); executor.logger.info(executor.outFields); true; 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