X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=test%2Fusecases%2Foruclosedlooprecovery%2Fapexpolicyversion%2FLinkMonitor%2Fmodels%2FTaskSelectionLogic.js;fp=test%2Fusecases%2Foruclosedlooprecovery%2Fapexpolicyversion%2FLinkMonitor%2Fmodels%2FTaskSelectionLogic.js;h=4d0f359ae9fdef135efa75b5ebce022d71fbc5fc;hb=7a629fc3b0f667d67f5b2b7dcdbf2eccc526f004;hp=0000000000000000000000000000000000000000;hpb=330db2ab9b62777a96450527eb1978e15986a0d4;p=nonrtric.git diff --git a/test/usecases/oruclosedlooprecovery/apexpolicyversion/LinkMonitor/models/TaskSelectionLogic.js b/test/usecases/oruclosedlooprecovery/apexpolicyversion/LinkMonitor/models/TaskSelectionLogic.js new file mode 100644 index 00000000..4d0f359a --- /dev/null +++ b/test/usecases/oruclosedlooprecovery/apexpolicyversion/LinkMonitor/models/TaskSelectionLogic.js @@ -0,0 +1,47 @@ +/* + * ============LICENSE_START======================================================= + * Copyright (C) 2021 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("Task Selection Execution: '"+executor.subject.id+ + "'. InputFields: '"+executor.inFields+"'"); + +var linkFailureInput = executor.inFields.get("LinkFailureInput"); +var commonEventHeader = linkFailureInput.get("event").get("commonEventHeader"); +var domain = commonEventHeader.get("domain"); + +taskFailure = executor.subject.getTaskKey("CreateLinkFailureOutfieldsTask"); +taskCleared = executor.subject.getTaskKey("CreateLinkClearedOutfieldsTask"); +taskDefault = executor.subject.getDefaultTaskKey(); + +if (domain == "fault") { + var faultFields = linkFailureInput.get("event").get("faultFields"); + var alarmCondition = faultFields.get("alarmCondition"); + var eventSeverity = faultFields.get("eventSeverity"); + if (alarmCondition == "30" && eventSeverity != "NORMAL") { + taskFailure.copyTo(executor.selectedTask); + } else if (alarmCondition == "30" && eventSeverity == "NORMAL") { + taskCleared.copyTo(executor.selectedTask); + } else { + taskDefault.copyTo(executor.selectedTask); + } +} else { + taskDefault.copyTo(executor.selectedTask); +} + +true;