summaryrefslogtreecommitdiffstats
path: root/examples/examples-onap-vcpe/src/main/resources/logic/GetVCPEStateTask.js
diff options
context:
space:
mode:
authorliamfallon <liam.fallon@ericsson.com>2018-10-08 13:36:31 +0100
committerliamfallon <liam.fallon@est.tech>2019-03-27 22:35:12 +0000
commitf996ef829249c304550becb0cb57db3efd3baf6a (patch)
treeef2657cd8d44f80b02cfee8db0908a8f9ca7dbf1 /examples/examples-onap-vcpe/src/main/resources/logic/GetVCPEStateTask.js
parentcfcffbce70ddc3083e337f18377c0847f7233caa (diff)
Change vCPE example to use POJOs
This review uses POJOs rather than Avro schema to unmarshal and marshal events from and to DMaaP. The POJO classes for interacting with DMaaP have been moved into a common policy module. This review is now ready for full review (finally!). Issue-ID: POLICY-954 Change-Id: Ibb89d8af5b9006821e6a0a756e16bbe3815af15a Signed-off-by: liamfallon <liam.fallon@ericsson.com> Signed-off-by: liamfallon <liam.fallon@est.tech> Signed-off-by: Liam Fallon <liam.fallon@est.tech> Signed-off-by: liamfallon <liam.fallon@est.tech>
Diffstat (limited to 'examples/examples-onap-vcpe/src/main/resources/logic/GetVCPEStateTask.js')
-rw-r--r--examples/examples-onap-vcpe/src/main/resources/logic/GetVCPEStateTask.js153
1 files changed, 115 insertions, 38 deletions
diff --git a/examples/examples-onap-vcpe/src/main/resources/logic/GetVCPEStateTask.js b/examples/examples-onap-vcpe/src/main/resources/logic/GetVCPEStateTask.js
index 18bd418bf..0ba3c0985 100644
--- a/examples/examples-onap-vcpe/src/main/resources/logic/GetVCPEStateTask.js
+++ b/examples/examples-onap-vcpe/src/main/resources/logic/GetVCPEStateTask.js
@@ -14,6 +14,10 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*
+ * Note: The incoming closedloop message can be ONSET with both VNF-name and VNF-ID
+ * or ABATED with only VNF-name. So need to handle differently. For ABATED case,
+ * since we still keep the RequireIDVNFID context album, we can get it from there.
+ *
* SPDX-License-Identifier: Apache-2.0
* ============LICENSE_END=========================================================
*/
@@ -21,49 +25,122 @@
executor.logger.info(executor.subject.id);
executor.logger.info(executor.inFields);
-var uuidType = Java.type("java.util.UUID");
+var clEventType = Java.type("org.onap.policy.controlloop.VirtualControlLoopEvent");
var longType = Java.type("java.lang.Long");
+var uuidType = Java.type("java.util.UUID");
-var requestID = uuidType.fromString(executor.inFields.get("requestID"));
-var vnfID = uuidType.fromString(executor.inFields.get("AAI").get("generic_DasH_vnf_DoT_vnf_DasH_id"));
-
-var vcpeClosedLoopStatus = executor.getContextAlbum("VCPEClosedLoopStatusAlbum").get(vnfID);
-
-if (vcpeClosedLoopStatus == null) {
- executor.logger.info("Creating context information for new vCPE VNF \"" + vnfID.toString() + "\"");
-
- vcpeClosedLoopStatus = executor.getContextAlbum("VCPEClosedLoopStatusAlbum").getSchemaHelper().createNewInstance();
-
- vcpeClosedLoopStatus.put("AAI", executor.inFields.get("AAI"));
- vcpeClosedLoopStatus.put("closedLoopControlName", executor.inFields.get("closedLoopControlName"));
- vcpeClosedLoopStatus.put("closedLoopAlarmStart", executor.inFields.get("closedLoopAlarmStart"));
- vcpeClosedLoopStatus.put("closedLoopEventClient", executor.inFields.get("closedLoopEventClient"));
- vcpeClosedLoopStatus.put("closedLoopEventStatus", executor.inFields.get("closedLoopEventStatus"));
- vcpeClosedLoopStatus.put("version", executor.inFields.get("version"));
- vcpeClosedLoopStatus.put("requestID", executor.inFields.get("requestID"));
- vcpeClosedLoopStatus.put("target_type", executor.inFields.get("target_type"));
- vcpeClosedLoopStatus.put("target", executor.inFields.get("target"));
- vcpeClosedLoopStatus.put("from", executor.inFields.get("from"));
- vcpeClosedLoopStatus.put("policyScope", "vCPE");
- vcpeClosedLoopStatus.put("policyName", "ONAPvCPEPolicyModel");
- vcpeClosedLoopStatus.put("policyVersion", "0.0.1");
- vcpeClosedLoopStatus.put("notification", "");
- vcpeClosedLoopStatus.put("notificationTime", "");
-
- if (executor.inFields.get("closedLoopAlarmEnd") != null) {
- vcpeClosedLoopStatus.put("closedLoopAlarmEnd", executor.inFields.get("closedLoopAlarmEnd"));
- } else {
- vcpeClosedLoopStatus.put("closedLoopAlarmEnd", longType.valueOf(0));
- }
+var clEvent = executor.inFields.get("VirtualControlLoopEvent");
- executor.getContextAlbum("VCPEClosedLoopStatusAlbum").put(vnfID.toString(), vcpeClosedLoopStatus);
+executor.logger.info(clEvent.toString());
+executor.logger.info(clEvent.getClosedLoopControlName());
- executor.logger.info("Created context information for new vCPE VNF \"" + vnfID.toString() + "\"");
-}
+var requestID = clEvent.getRequestId();
+executor.logger.info("requestID = " + requestID);
+var vnfID = null;
+var vcpeClosedLoopStatus = null;
+
+if (clEvent.getAai().get("generic-vnf.vnf-id") != null) {
+ vnfID = uuidType.fromString(clEvent.getAai().get("generic-vnf.vnf-id"));
+ executor.logger.info("vnfID = " + vnfID);
+ vcpeClosedLoopStatus = executor.getContextAlbum("VCPEClosedLoopStatusAlbum").get(vnfID);
+
+ if (vcpeClosedLoopStatus == null) {
+ executor.logger.info("Creating context information for new vCPE VNF \"" + vnfID.toString() + "\"");
+
+ vcpeClosedLoopStatus = executor.getContextAlbum("VCPEClosedLoopStatusAlbum").getSchemaHelper().createNewInstance();
+
+ vcpeClosedLoopStatus.put("closedLoopControlName", clEvent.getClosedLoopControlName());
+ vcpeClosedLoopStatus.put("closedLoopAlarmStart", clEvent.getClosedLoopAlarmStart().toEpochMilli());
+ vcpeClosedLoopStatus.put("closedLoopEventClient", clEvent.getClosedLoopEventClient());
+ vcpeClosedLoopStatus.put("closedLoopEventStatus", clEvent.getClosedLoopEventStatus().toString());
+ vcpeClosedLoopStatus.put("version", clEvent.getVersion());
+ vcpeClosedLoopStatus.put("requestID", clEvent.getRequestId().toString());
+ vcpeClosedLoopStatus.put("target_type", clEvent.getTargetType().toString());
+ vcpeClosedLoopStatus.put("target", clEvent.getTarget());
+ vcpeClosedLoopStatus.put("from", clEvent.getFrom());
+ vcpeClosedLoopStatus.put("policyScope", "vCPE");
+ vcpeClosedLoopStatus.put("policyName", "ONAPvCPEPolicyModel");
+ vcpeClosedLoopStatus.put("policyVersion", "0.0.1");
+ vcpeClosedLoopStatus.put("notification", "ACTIVE");
+ vcpeClosedLoopStatus.put("notificationTime", java.lang.System.currentTimeMillis());
+ vcpeClosedLoopStatus.put("message", "");
-executor.outFields.put("requestID", requestID);
-executor.outFields.put("vnfID", vnfID);
+ var aaiInfo = executor.getContextAlbum("VCPEClosedLoopStatusAlbum").getSchemaHelper().createNewSubInstance("VCPE_AAI_Type");
-executor.logger.info(executor.outFields);
+ aaiInfo.put("genericVnfResourceVersion", clEvent.getAai().get("generic-vnf.resource-version"));
+ aaiInfo.put("genericVnfVnfName", clEvent.getAai().get("generic-vnf.vnf-name"));
+ aaiInfo.put("genericVnfProvStatus", clEvent.getAai().get("generic-vnf.prov-status"));
+ aaiInfo.put("genericVnfIsClosedLoopDisabled", clEvent.getAai().get("generic-vnf.is-closed-loop-disabled"));
+ aaiInfo.put("genericVnfOrchestrationStatus", clEvent.getAai().get("generic-vnf.orchestration-status"));
+ aaiInfo.put("genericVnfVnfType", clEvent.getAai().get("generic-vnf.vnf-type"));
+ aaiInfo.put("genericVnfInMaint", clEvent.getAai().get("generic-vnf.in-maint"));
+ aaiInfo.put("genericVnfServiceId", clEvent.getAai().get("generic-vnf.service-id"));
+ aaiInfo.put("genericVnfVnfId", clEvent.getAai().get("generic-vnf.vnf-id"));
+
+ vcpeClosedLoopStatus.put("AAI", aaiInfo);
+
+ if (clEvent.getClosedLoopAlarmEnd() != null) {
+ vcpeClosedLoopStatus.put("closedLoopAlarmEnd", clEvent.getClosedLoopAlarmEnd().toEpochMilli());
+ } else {
+ vcpeClosedLoopStatus.put("closedLoopAlarmEnd", java.lang.Long.valueOf(0));
+ }
+
+ executor.getContextAlbum("VCPEClosedLoopStatusAlbum").put(vnfID.toString(), vcpeClosedLoopStatus);
+
+ executor.logger.info("Created context information for new vCPE VNF \"" + vnfID.toString() + "\"");
+ }
+
+ executor.outFields.put("requestID", requestID);
+ executor.outFields.put("vnfID", vnfID);
+
+ executor.logger.info(executor.outFields);
+}
+else {
+ executor.logger.info("No vnf-id in VirtualControlLoopEvent, status:" + clEvent.getClosedLoopEventStatus().toString());
+ var vnfName = clEvent.getAai().get("generic-vnf.vnf-name");
+ executor.logger.info("No vnf-id in VirtualControlLoopEvent for " + vnfName);
+
+ vcpeClosedLoopStatus = executor.getContextAlbum("VCPEClosedLoopStatusAlbum").get(vnfName.toString());
+
+ if (vcpeClosedLoopStatus == null) {
+ executor.logger.info("Creating context information for new vCPE VNF \"" + vnfName.toString() + "\"");
+
+ vcpeClosedLoopStatus = executor.getContextAlbum("VCPEClosedLoopStatusAlbum").getSchemaHelper().createNewInstance();
+
+ vcpeClosedLoopStatus.put("closedLoopControlName", clEvent.getClosedLoopControlName());
+ vcpeClosedLoopStatus.put("closedLoopAlarmStart", clEvent.getClosedLoopAlarmStart().toEpochMilli());
+ vcpeClosedLoopStatus.put("closedLoopEventClient", clEvent.getClosedLoopEventClient());
+ vcpeClosedLoopStatus.put("closedLoopEventStatus", clEvent.getClosedLoopEventStatus().toString());
+ vcpeClosedLoopStatus.put("version", clEvent.getVersion());
+ vcpeClosedLoopStatus.put("requestID", clEvent.getRequestId().toString());
+ vcpeClosedLoopStatus.put("target_type", clEvent.getTargetType().toString());
+ vcpeClosedLoopStatus.put("target", clEvent.getTarget());
+ vcpeClosedLoopStatus.put("from", clEvent.getFrom());
+ vcpeClosedLoopStatus.put("policyScope", "vCPE");
+ vcpeClosedLoopStatus.put("policyName", "ONAPvCPEPolicyModel");
+ vcpeClosedLoopStatus.put("policyVersion", "0.0.1");
+ vcpeClosedLoopStatus.put("notification", "ACTIVE");
+ vcpeClosedLoopStatus.put("notificationTime", java.lang.System.currentTimeMillis());
+ vcpeClosedLoopStatus.put("message", "");
+
+ var aaiInfo = executor.getContextAlbum("VCPEClosedLoopStatusAlbum").getSchemaHelper().createNewSubInstance("VCPE_AAI_Type");
+
+ aaiInfo.put("genericVnfVnfName", clEvent.getAai().get("generic-vnf.vnf-name"));
+ vcpeClosedLoopStatus.put("AAI", aaiInfo);
+
+ if (clEvent.getClosedLoopAlarmEnd() != null) {
+ vcpeClosedLoopStatus.put("closedLoopAlarmEnd", clEvent.getClosedLoopAlarmEnd().toEpochMilli());
+ } else {
+ vcpeClosedLoopStatus.put("closedLoopAlarmEnd", java.lang.Long.valueOf(0));
+ }
+
+ executor.getContextAlbum("VCPEClosedLoopStatusAlbum").put(vnfName.toString(), vcpeClosedLoopStatus);
+
+ executor.logger.info("Created context information for new vCPE VNF \"" + vnfName.toString() + "\"");
+ }
+ executor.outFields.put("requestID", requestID);
+ executor.outFields.put("vnfName", vnfName);
+ executor.logger.info(executor.outFields);
+}
returnValue = executor.isTrue;