aboutsummaryrefslogtreecommitdiffstats
path: root/examples/examples-onap-vcpe/src/main/resources/logic/definitive/ControlLoopLogTask.js
blob: a5a692cbce8203b593054074fe425be868100d29 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
/*
 * ============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 vnfID = executor.inFields.get("vnfID");
if(vnfID == null) {
   vnfID = executor.inFields.get("vnfName");
}
executor.logger.info("vnfID=" + vnfID);

var vcpeClosedLoopStatus = executor.getContextAlbum("VCPEClosedLoopStatusAlbum").get(vnfID.toString());

executor.logger.info("Logging context information for VNF \"" + vnfID + "\"");

var clNotification = new org.onap.policy.controlloop.VirtualControlLoopNotification();

clNotification.setClosedLoopControlName(vcpeClosedLoopStatus.get("closedLoopControlName"));
clNotification.setClosedLoopAlarmStart(java.time.Instant.ofEpochMilli(vcpeClosedLoopStatus.get("closedLoopAlarmStart")));
clNotification.setClosedLoopAlarmEnd(java.time.Instant.ofEpochMilli(vcpeClosedLoopStatus.get("closedLoopAlarmEnd")));
clNotification.setClosedLoopEventClient(vcpeClosedLoopStatus.get("closedLoopEventClient"));
clNotification.setVersion(vcpeClosedLoopStatus.get("version"));
clNotification.setRequestId(java.util.UUID.fromString(vcpeClosedLoopStatus.get("requestID")));
clNotification.setTargetType(vcpeClosedLoopStatus.get("target_type"));
clNotification.setTarget(vcpeClosedLoopStatus.get("target"));
clNotification.setFrom(vcpeClosedLoopStatus.get("from"));
clNotification.setPolicyScope(vcpeClosedLoopStatus.get("policyScope"));
clNotification.setPolicyName(vcpeClosedLoopStatus.get("policyName"));
clNotification.setPolicyVersion(vcpeClosedLoopStatus.get("policyVersion"));
clNotification.setNotification(org.onap.policy.controlloop.ControlLoopNotificationType.toType(vcpeClosedLoopStatus.get("notification")));
clNotification.setMessage(vcpeClosedLoopStatus.get("message"));

var notificationInstant = java.time.Instant.ofEpochSecond(vcpeClosedLoopStatus.get("notificationTime"));
var notificationTime = java.time.ZonedDateTime.ofInstant(notificationInstant, java.time.ZoneOffset.UTC);
clNotification.setNotificationTime(notificationTime);

var aaiInfo = vcpeClosedLoopStatus.get("AAI");

clNotification.getAai().put("generic-vnf.resource-version",        aaiInfo.get("genericVnfResourceVersion"));
clNotification.getAai().put("generic-vnf.vnf-name",                aaiInfo.get("genericVnfVnfName"));
clNotification.getAai().put("generic-vnf.prov-status",             aaiInfo.get("genericVnfProvStatus"));
clNotification.getAai().put("generic-vnf.is-closed-loop-disabled", aaiInfo.get("genericVnfIsClosedLoopDisabled"));
clNotification.getAai().put("generic-vnf.orchestration-status",    aaiInfo.get("genericVnfOrchestrationStatus"));
clNotification.getAai().put("generic-vnf.vnf-type",                aaiInfo.get("genericVnfVnfType"));
clNotification.getAai().put("generic-vnf.in-maint",                aaiInfo.get("genericVnfInMaint"));
clNotification.getAai().put("generic-vnf.service-id",              aaiInfo.get("genericVnfServiceId"));
if(vnfID != null) {
   clNotification.getAai().put("generic-vnf.vnf-id",                  aaiInfo.get("genericVnfVnfId"));
}
executor.outFields.put("VirtualControlLoopNotification", clNotification);

executor.logger.info(executor.outFields);

var returnValue = executor.isTrue;