update websocketmanager
[ccsdk/features.git] / sdnr / wt / devicemanager-openroadm / provider / src / main / java / org / onap / ccsdk / features / sdnr / wt / devicemanager / openroadm / impl / PmDataBuilderOpenRoadm.java
index 7665e81..f1fd447 100644 (file)
@@ -71,17 +71,17 @@ public class PmDataBuilderOpenRoadm {
     private static final Logger log = LoggerFactory.getLogger(PmDataBuilderOpenRoadm.class);
     private PmdataEntityBuilder pmDataBuilder;
     private Bundle b = FrameworkUtil.getBundle(this.getClass());
-    // end of variables
 
+    // end of variables
     // constructors
     public PmDataBuilderOpenRoadm(NetconfBindingAccessor accessor) {
         this.pmDataBuilder = new PmdataEntityBuilder();
         this.pmDataBuilder.setNodeName(accessor.getNodeId().getValue());
     }
-    // end of constructors
 
+    // end of constructors
     // public methods
-    // Instantiate historical PM data list
+    // Read PM data
     public HistoricalPmList getPmData(NetconfBindingAccessor accessor) {
         final Class<HistoricalPmList> pmDataClass = HistoricalPmList.class;
         log.info("Get PM data for element {}", accessor.getNodeId().getValue());
@@ -101,6 +101,7 @@ public class PmDataBuilderOpenRoadm {
             Collection<HistoricalPm> historicalPmList = YangHelper.getCollection(pmDataEntry.getHistoricalPm());
             for (HistoricalPm historicalPm : historicalPmList) {
                 log.info("PmName:{}", historicalPm.getType());
+                //              pmDataBuilder.setPerformanceData(value)
 
                 try {
                     writeperformanceData(historicalPm);
@@ -118,11 +119,9 @@ public class PmDataBuilderOpenRoadm {
     // end of public methods
 
     // private methods
-    //    Build performance data of Data provider by mapping values from device
     private void writeperformanceData(HistoricalPm historicalPm) throws ClassNotFoundException {
         Collection<Measurement> measurementList = YangHelper.getCollection(historicalPm.getMeasurement());
-        Map<MeasurementKey, org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.pmdata.grp.Measurement> measurementMap =
-                new HashMap<>();
+          Map<MeasurementKey, org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.pmdata.grp.Measurement> measurementMap=new HashMap<>();
         // Map Performance data of PmDataEntity with MeasurmentData-HistoricalPm
         PerformanceDataBuilder performanceDataBuilder = new PerformanceDataBuilder();
         for (Measurement measurementData : measurementList) {
@@ -131,11 +130,9 @@ public class PmDataBuilderOpenRoadm {
             if (measurementData.getValidity().getName().equals("suspect")) {
                 this.pmDataBuilder.setSuspectIntervalFlag(true);
             }
-            measurementMap.put(
-                    new MeasurementKey(measurementBuilder(historicalPm.getType(), measurementData.getPmParameterUnit(),
-                            measurementData.getPmParameterValue()).getPmKey()),
-                    measurementBuilder(historicalPm.getType(), measurementData.getPmParameterUnit(),
-                            measurementData.getPmParameterValue()));
+            measurementMap.put(new MeasurementKey(measurementBuilder(historicalPm.getType(), measurementData.getPmParameterUnit(),
+                    measurementData.getPmParameterValue()).getPmKey()), measurementBuilder(historicalPm.getType(), measurementData.getPmParameterUnit(),
+                    measurementData.getPmParameterValue()));
 
 
         }
@@ -166,42 +163,20 @@ public class PmDataBuilderOpenRoadm {
         return granPeriod;
     }
 
-
-    // Build the measurement list of data provider based on various values from device
-    private org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.pmdata.grp.Measurement measurementBuilder(
-            PmNamesEnum pmType, String pmUnit, PmDataType pmDataType) {
-
-        MeasurementBuilder measBuilder = new MeasurementBuilder();
-        if (pmType.getName().equals("erroredSeconds")) {
-            measBuilder.setPmKey(ErroredSecond.class);
-        } else if (pmType.getName().equals("severelyErroredSeconds")) {
-            measBuilder.setPmKey(SeverelyErroredSecond.class);
-        } else {
-            for (Class<? extends PerformanceMeasurementTypeId> obj : setMeasurementTypeId()) {
-                if (obj.toString().contains(pmType.name())) {
-                    measBuilder.setPmKey(obj);
-                }
-            }
-        }
-        measBuilder.setPmUnit(setMeasurementUnit(pmUnit));
-        measBuilder.setPmValue(pmDataType);
-        return measBuilder.build();
-
-    }
-    // Find the proper PerformanceMeasurementTypeId class based on the PmNames Enum value from device
     private List<Class<? extends PerformanceMeasurementTypeId>> setMeasurementTypeId() {
         String packageName =
                 "org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.openroadm.pm.types.rev200413";
         String packageName1 =
                 "/org/opendaylight/yang/gen/v1/urn/opendaylight/params/xml/ns/yang/data/provider/openroadm/pm/types/rev200413/";
-        List<Class<? extends PerformanceMeasurementTypeId>> measTypeObjList = new ArrayList<>();
+        List<Class<? extends PerformanceMeasurementTypeId>> measTypeObjList =
+                new ArrayList<>();
         URL root = Thread.currentThread().getContextClassLoader().getResource(packageName1);
 
         log.info("path for type package: {}", root);
 
         Enumeration<URL> results = getFileURL(b, packageName);
         log.info("FOund Packages {}", results);
-        if (results != null) {
+        if(results != null) {
             while (results.hasMoreElements()) {
                 URL path = results.nextElement();
 
@@ -212,11 +187,11 @@ public class PmDataBuilderOpenRoadm {
 
 
                 }
-                if (cls1 != null) {
+                if(cls1!=null) {
                     log.info("Class Added {}", cls1.getSimpleName());
                 }
 
-            }
+        }
 
 
         }
@@ -224,34 +199,53 @@ public class PmDataBuilderOpenRoadm {
         return measTypeObjList;
     }
 
-    //Map matching PerformanceMeasurementUnitId class based on the string value from device
     private Class<? extends PerformanceMeasurementUnitId> setMeasurementUnit(String unitName) {
-        Class<? extends PerformanceMeasurementUnitId> measurementUnitClass = null;
+        Class<? extends PerformanceMeasurementUnitId>  measurementUnitClass = null;
         switch (unitName) {
             case ("celsius"):
                 measurementUnitClass = Celsius.class;
                 break;
-            case ("dB"):
+            case("dB"):
                 measurementUnitClass = DB.class;
                 break;
-            case ("dBm"):
+            case("dBm"):
                 measurementUnitClass = DBm.class;
                 break;
-            case ("fahrenheit"):
+            case("fahrenheit"):
                 measurementUnitClass = Fahrenheit.class;
                 break;
-            case ("kHz"):
+            case("kHz"):
                 measurementUnitClass = KHz.class;
                 break;
-            case ("mW"):
+            case("mW"):
                 measurementUnitClass = MW.class;
                 break;
             default:
                 break;
         }
-        return measurementUnitClass;
-    }
+            return measurementUnitClass;
+     }
+
+    private org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.pmdata.grp.Measurement measurementBuilder(
+            PmNamesEnum pmType, String pmUnit, PmDataType pmDataType) {
 
+        MeasurementBuilder measBuilder = new MeasurementBuilder();
+        if (pmType.getName().equals("erroredSeconds") ) {
+            measBuilder.setPmKey(ErroredSecond.class);
+        } else if (pmType.getName().equals("severelyErroredSeconds")) {
+            measBuilder.setPmKey(SeverelyErroredSecond.class);
+        } else {
+            for (Class<? extends PerformanceMeasurementTypeId> obj : setMeasurementTypeId()) {
+                if (obj.toString().contains(pmType.name())) {
+                    measBuilder.setPmKey(obj);
+                }
+            }
+        }
+        measBuilder.setPmUnit(setMeasurementUnit(pmUnit));
+        measBuilder.setPmValue(pmDataType);
+        return measBuilder.build();
+
+    }
 
     private Class<?> loadClass(Bundle bundle, String classFilePath) {
         String className = classFilePath.replaceFirst("^/", "").replace('/', '.').replaceFirst(".class$", "");