aboutsummaryrefslogtreecommitdiffstats
path: root/examples/examples-onap-vcpe/src/main/resources/logic/AAILookupTask.js
diff options
context:
space:
mode:
authorliamfallon <liam.fallon@est.tech>2019-11-22 17:09:57 +0000
committerliamfallon <liam.fallon@est.tech>2019-11-25 11:02:30 +0000
commitb96fc5eb0980ce7bff21c61fe73f7e14b14b002b (patch)
tree606a2de5ba934ae1adfcce6c67c6a6758e3846d7 /examples/examples-onap-vcpe/src/main/resources/logic/AAILookupTask.js
parent96499223e328440c3623bcd3f8b9a648255a43ca (diff)
Update vCPE example for A&AI custom query
The change in policy-models to use custom queries means that the named queries used in apex examples must be updated to use custom queries. This review is the second of two reviews to implement this change. This patch updates the policy and its associated tests to work with A&AI custom queries. Issue-ID: POLICY-2125 Change-Id: I6a5b90002e43272e3cf296158f09f91a0f6d6907 Signed-off-by: liamfallon <liam.fallon@est.tech>
Diffstat (limited to 'examples/examples-onap-vcpe/src/main/resources/logic/AAILookupTask.js')
-rw-r--r--examples/examples-onap-vcpe/src/main/resources/logic/AAILookupTask.js85
1 files changed, 85 insertions, 0 deletions
diff --git a/examples/examples-onap-vcpe/src/main/resources/logic/AAILookupTask.js b/examples/examples-onap-vcpe/src/main/resources/logic/AAILookupTask.js
new file mode 100644
index 000000000..fcb39052d
--- /dev/null
+++ b/examples/examples-onap-vcpe/src/main/resources/logic/AAILookupTask.js
@@ -0,0 +1,85 @@
+/*
+ * ============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 vcpeClosedLoopStatus = executor.getContextAlbum("VCPEClosedLoopStatusAlbum").get(
+ executor.inFields.get("vnfID").toString());
+
+executor.logger.info("Executing A&AI Lookup");
+executor.logger.info(vcpeClosedLoopStatus);
+
+var aaiInfo = vcpeClosedLoopStatus.get("AAI");
+
+if (aaiInfo.get("vserverName") == null) {
+ executor.message = "the field vserver.vserver-name must exist in the onset control loop event";
+ executor.logger.warn(executor.message);
+ var returnValue = executor.isFalse;
+}
+else if (aaiInfo.get("genericVnfVnfId") == null && aaiInfo.get("genericVnfVnfName") == null) {
+ executor.message = "either the field generic-vnf.vnf-id or generic-vnf.vnf-name must exist"
+ + " in the onset control loop event";
+ executor.logger.warn(executor.message);
+ var returnValue = executor.isFalse;
+}
+else {
+ var restManager = new org.onap.policy.rest.RestManager;
+ var aaiManager = new org.onap.policy.aai.AaiManager(restManager);
+
+ // We need to instantiate the type in order to trigger the static JAXB handling
+ // in the AaiCqResponse class
+ var aaiCqResponseType = Java.type("org.onap.policy.aai.AaiCqResponse");
+
+ var aaiResponse = aaiManager.getCustomQueryResponse(
+ "http://localhost:54321/OnapVCpeSim/sim",
+ "aai.username",
+ "aai.password",
+ executor.inFields.get("requestID"),
+ vcpeClosedLoopStatus.get("AAI").get("vserverName")
+ );
+
+ var genericVnf;
+
+ if (aaiInfo.get("genericVnfVnfId") != null) {
+ genericVnf = aaiResponse.getGenericVnfByModelInvariantId(aaiInfo.get("genericVnfVnfId"));
+ }
+ else {
+ genericVnf = aaiResponse.getGenericVnfByVnfName(aaiInfo.get("genericVnfVnfId"));
+ }
+
+ aaiInfo.put("genericVnfResourceVersion", genericVnf.getResourceVersion());
+ aaiInfo.put("genericVnfVnfName", genericVnf.getVnfName());
+ aaiInfo.put("genericVnfProvStatus", genericVnf.getProvStatus());
+ aaiInfo.put("genericVnfIsClosedLoopDisabled", genericVnf.isIsClosedLoopDisabled().toString());
+ aaiInfo.put("genericVnfVnfType", genericVnf.getVnfType());
+ aaiInfo.put("genericVnfInMaint", genericVnf.isInMaint().toString());
+ aaiInfo.put("genericVnfServiceId", genericVnf.getServiceId());
+ aaiInfo.put("genericVnfVnfId", genericVnf.getVnfId());
+ aaiInfo.put("genericVnfOrchestrationStatus",
+ genericVnf.getVfModules().getVfModule().get(0).getOrchestrationStatus());
+
+ executor.outFields.put("requestID", executor.inFields.get("requestID"));
+ executor.outFields.put("vnfID", executor.inFields.get("vnfID"));
+
+ executor.logger.info(executor.outFields);
+
+ var returnValue = executor.isTrue;
+}