migrate sdnr features to phosphorus
[ccsdk/features.git] / sdnr / wt / devicemanager-o-ran-sc / o-ran / ru-fh / provider / src / main / java / org / onap / ccsdk / features / sdnr / wt / devicemanager / oran / impl / binding / ORanRegistrationToVESpnfRegistrationMapper.java
  * ============LICENSE_END=========================================================
  *
  */
-package org.onap.ccsdk.features.sdnr.wt.devicemanager.oran.impl;
+package org.onap.ccsdk.features.sdnr.wt.devicemanager.oran.impl.binding;
 
 import java.time.Instant;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.oran.impl.dom.ORanDMDOMUtility;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.oran.impl.dom.ORanDeviceManagerQNames;
 import org.onap.ccsdk.features.sdnr.wt.devicemanager.service.VESCollectorService;
 import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.VESCommonEventHeaderPOJO;
 import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.VESPNFRegistrationFieldsPOJO;
 import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.NetconfAccessor;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.hardware.rev180313.hardware.Component;
+import org.opendaylight.yangtools.yang.data.api.schema.MapEntryNode;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -53,7 +55,7 @@ public class ORanRegistrationToVESpnfRegistrationMapper {
         this.sequenceNo = 0;
     }
 
-    public VESCommonEventHeaderPOJO mapCommonEventHeader(Component component) {
+    public VESCommonEventHeaderPOJO mapCommonEventHeader(MapEntryNode component) {
         VESCommonEventHeaderPOJO vesCEH = new VESCommonEventHeaderPOJO();
         vesCEH.setDomain(VES_EVENT_DOMAIN);
         vesCEH.setEventId(netconfAccessor.getNodeId().getValue());
@@ -63,26 +65,48 @@ public class ORanRegistrationToVESpnfRegistrationMapper {
 
         vesCEH.setStartEpochMicrosec(Instant.now().toEpochMilli() * 1000);
         vesCEH.setLastEpochMicrosec(Instant.now().toEpochMilli() * 1000);
-        vesCEH.setNfVendorName(component.getMfgName());
+        vesCEH.setNfVendorName(
+                ORanDMDOMUtility.getLeafValue(component, ORanDeviceManagerQNames.IETF_HW_COMPONENT_LIST_MFG_NAME));
         vesCEH.setReportingEntityName(vesProvider.getConfig().getReportingEntityName());
         vesCEH.setSequence(sequenceNo++);
-        vesCEH.setSourceId(component.getUuid() != null ? component.getUuid().toString():netconfAccessor.getNodeId().getValue());
+        vesCEH.setSourceId(
+                ORanDMDOMUtility.getLeafValue(component, ORanDeviceManagerQNames.IETF_HW_COMPONENT_LIST_UUID) != null
+                        ? ORanDMDOMUtility.getLeafValue(component, ORanDeviceManagerQNames.IETF_HW_COMPONENT_LIST_UUID)
+                        : netconfAccessor.getNodeId().getValue());
         vesCEH.setSourceName(netconfAccessor.getNodeId().getValue());
 
         return vesCEH;
     }
 
-    public VESPNFRegistrationFieldsPOJO mapPNFRegistrationFields(Component component) {
+    public VESPNFRegistrationFieldsPOJO mapPNFRegistrationFields(MapEntryNode component) {
         VESPNFRegistrationFieldsPOJO vesPnfFields = new VESPNFRegistrationFieldsPOJO();
-        vesPnfFields.setModelNumber(component.getModelName());
-        vesPnfFields.setOamV4IpAddress(netconfAccessor.getNetconfNode().getHost().getIpAddress().getIpv4Address()!=null?netconfAccessor.getNetconfNode().getHost().getIpAddress().getIpv4Address().getValue():null);
-        vesPnfFields.setOamV6IpAddress(netconfAccessor.getNetconfNode().getHost().getIpAddress().getIpv6Address()!=null?netconfAccessor.getNetconfNode().getHost().getIpAddress().getIpv6Address().getValue():null);
-        vesPnfFields.setSerialNumber(component.getSerialNum());
-        vesPnfFields.setVendorName(component.getMfgName());
-        vesPnfFields.setSoftwareVersion(component.getSoftwareRev());
-        vesPnfFields.setUnitType(component.getAlias());
-        vesPnfFields.setUnitFamily(component.getXmlClass().toString());
-        vesPnfFields.setManufactureDate(component.getMfgDate()!=null?component.getMfgDate().toString():"Unknown");
+        vesPnfFields.setModelNumber(
+                ORanDMDOMUtility.getLeafValue(component, ORanDeviceManagerQNames.IETF_HW_COMPONENT_LIST_MFG_NAME));
+        vesPnfFields
+                .setOamV4IpAddress(netconfAccessor.getNetconfNode().getHost().getIpAddress().getIpv4Address() != null
+                        ? netconfAccessor.getNetconfNode().getHost().getIpAddress().getIpv4Address().getValue()
+                        : null);
+        vesPnfFields
+                .setOamV6IpAddress(netconfAccessor.getNetconfNode().getHost().getIpAddress().getIpv6Address() != null
+                        ? netconfAccessor.getNetconfNode().getHost().getIpAddress().getIpv6Address().getValue()
+                        : null);
+        vesPnfFields.setSerialNumber(
+                ORanDMDOMUtility.getLeafValue(component, ORanDeviceManagerQNames.IETF_HW_COMPONENT_LIST_SER_NUM));
+        vesPnfFields.setVendorName(
+                ORanDMDOMUtility.getLeafValue(component, ORanDeviceManagerQNames.IETF_HW_COMPONENT_LIST_MFG_NAME));
+        vesPnfFields.setSoftwareVersion(
+                ORanDMDOMUtility.getLeafValue(component, ORanDeviceManagerQNames.IETF_HW_COMPONENT_LIST_SW_REV));
+        vesPnfFields.setUnitType(
+                ORanDMDOMUtility.getLeafValue(component, ORanDeviceManagerQNames.IETF_HW_COMPONENT_LIST_ALIAS));
+        vesPnfFields.setUnitFamily(
+                ORanDMDOMUtility.getLeafValue(component, ORanDeviceManagerQNames.IETF_HW_COMPONENT_LIST_CLASS));
+        vesPnfFields
+                .setManufactureDate(
+                        ORanDMDOMUtility.getLeafValue(component,
+                                ORanDeviceManagerQNames.IETF_HW_COMPONENT_LIST_MFG_DATE) != null
+                                        ? ORanDMDOMUtility.getLeafValue(component,
+                                                ORanDeviceManagerQNames.IETF_HW_COMPONENT_LIST_MFG_DATE)
+                                        : "Unknown");
         //vesPnfFields.setLastServiceDate(component.getLastChange());
 
         return vesPnfFields;