MD-SAL Statistics Manager - Fixed keys of group and meter models and their sub component
[controller.git] / opendaylight / md-sal / statistics-manager / src / main / java / org / opendaylight / controller / md / statistics / manager / StatisticsUpdateCommiter.java
index c207db0478c9696ae68c28b00566b42085e4244b..86e6114b5f67a9df25f02e8ae98677d0d842cc54 100644 (file)
@@ -20,9 +20,9 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.group.statistics.rev131111.
 import org.opendaylight.yang.gen.v1.urn.opendaylight.group.statistics.rev131111.NodeGroupStatistics;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.group.statistics.rev131111.NodeGroupStatisticsBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.group.statistics.rev131111.OpendaylightGroupStatisticsListener;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.group.statistics.rev131111.nodes.node.GroupDescBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.group.statistics.rev131111.nodes.node.GroupFeaturesBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.group.statistics.rev131111.nodes.node.GroupStatisticsBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.group.statistics.rev131111.group.desc.GroupDescBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.group.statistics.rev131111.group.features.GroupFeaturesBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.group.statistics.rev131111.group.statistics.GroupStatisticsBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeId;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeRef;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.Nodes;
@@ -86,7 +86,7 @@ public class StatisticsUpdateCommiter implements OpendaylightGroupStatisticsList
         nodeData.addAugmentation(NodeMeterConfigStats.class, meterConfig.build());
         
         InstanceIdentifier<? extends Object> refValue = ref.getValue();
-        it.putRuntimeData(refValue, nodeData.build());
+        it.putOperationalData(refValue, nodeData.build());
         it.commit();
 
     }
@@ -117,7 +117,7 @@ public class StatisticsUpdateCommiter implements OpendaylightGroupStatisticsList
         nodeData.addAugmentation(NodeMeterStatistics.class, meterStats.build());
         
         InstanceIdentifier<? extends Object> refValue = ref.getValue();
-        it.putRuntimeData(refValue, nodeData.build());
+        it.putOperationalData(refValue, nodeData.build());
         it.commit();
 
     }
@@ -146,9 +146,9 @@ public class StatisticsUpdateCommiter implements OpendaylightGroupStatisticsList
         
         //Update augmented data
         nodeData.addAugmentation(NodeGroupDescStats.class, groupDesc.build());
-        
+
         InstanceIdentifier<? extends Object> refValue = ref.getValue();
-        it.putRuntimeData(refValue, nodeData.build());
+        it.putOperationalData(refValue, nodeData.build());
         it.commit();
 
     }
@@ -168,7 +168,7 @@ public class StatisticsUpdateCommiter implements OpendaylightGroupStatisticsList
         DataModificationTransaction it = this.statisticsManager.startChange();
         NodeKey key = new NodeKey(notification.getId());
         NodeRef ref = getNodeRef(key);
-        
+
         final NodeBuilder nodeData = new NodeBuilder(); 
         nodeData.setKey(key);
         
@@ -176,13 +176,21 @@ public class StatisticsUpdateCommiter implements OpendaylightGroupStatisticsList
         GroupStatisticsBuilder stats = new GroupStatisticsBuilder();
         stats.setGroupStats(notification.getGroupStats());
         groupStats.setGroupStatistics(stats.build());
-        
+                
         //Update augmented data
         nodeData.addAugmentation(NodeGroupStatistics.class, groupStats.build());
-        
+
         InstanceIdentifier<? extends Object> refValue = ref.getValue();
-        it.putRuntimeData(refValue, nodeData.build());
+        it.putOperationalData(refValue, nodeData.build());
         it.commit();
+
+//        for (GroupStats groupstat : notification.getGroupStats()) {
+//        
+//            GroupStatsKey groupKey = groupstat.getKey();
+//            InstanceIdentifier<? extends Object> id = InstanceIdentifier.builder(Nodes.class).child(Node.class, key).augmentation(NodeGroupStatistics.class).child(GroupStatistics.class).child(GroupStats.class,groupKey).toInstance();
+//            it.putOperationalData(id, groupstat);
+//            it.commit();
+//        }
     }
     
     @Override
@@ -194,8 +202,8 @@ public class StatisticsUpdateCommiter implements OpendaylightGroupStatisticsList
             cache.put(notification.getId(), new NodeStatistics());
         }
         MeterFeaturesBuilder meterFeature = new MeterFeaturesBuilder();
-        meterFeature.setBandTypes(notification.getBandTypes());
-        meterFeature.setCapabilities(notification.getCapabilities());
+        meterFeature.setMeterBandSupported(notification.getMeterBandSupported());
+        meterFeature.setMeterCapabilitiesSupported(notification.getMeterCapabilitiesSupported());
         meterFeature.setMaxBands(notification.getMaxBands());
         meterFeature.setMaxColor(notification.getMaxColor());
         meterFeature.setMaxMeter(notification.getMaxMeter());
@@ -217,12 +225,13 @@ public class StatisticsUpdateCommiter implements OpendaylightGroupStatisticsList
         nodeData.addAugmentation(NodeMeterFeatures.class, nodeMeterFeatures.build());
         
         InstanceIdentifier<? extends Object> refValue = ref.getValue();
-        it.putRuntimeData(refValue, nodeData.build());
+        it.putOperationalData(refValue, nodeData.build());
         it.commit();
     }
     
     @Override
     public void onGroupFeaturesUpdated(GroupFeaturesUpdated notification) {
+
         //Add statistics to local cache
         ConcurrentMap<NodeId, NodeStatistics> cache = this.statisticsManager.getStatisticsCache();
         if(!cache.containsKey(notification.getId())){
@@ -231,8 +240,8 @@ public class StatisticsUpdateCommiter implements OpendaylightGroupStatisticsList
         
         GroupFeaturesBuilder groupFeatures = new GroupFeaturesBuilder();
         groupFeatures.setActions(notification.getActions());
-        groupFeatures.setCapabilities(notification.getCapabilities());
-        groupFeatures.setGroupType(notification.getGroupType());
+        groupFeatures.setGroupCapabilitiesSupported(notification.getGroupCapabilitiesSupported());
+        groupFeatures.setGroupTypesSupported(notification.getGroupTypesSupported());
         groupFeatures.setMaxGroups(notification.getMaxGroups());
         cache.get(notification.getId()).setGroupFeatures(groupFeatures.build());
         
@@ -251,13 +260,13 @@ public class StatisticsUpdateCommiter implements OpendaylightGroupStatisticsList
         nodeData.addAugmentation(NodeGroupFeatures.class, nodeGroupFeatures.build());
         
         InstanceIdentifier<? extends Object> refValue = ref.getValue();
-        it.putRuntimeData(refValue, nodeData.build());
+        it.putOperationalData(refValue, nodeData.build());
         it.commit();
     }
 
     private NodeRef getNodeRef(NodeKey nodeKey){
-        InstanceIdentifierBuilder<?> builder = InstanceIdentifier.builder().node(Nodes.class);
-        return new NodeRef(builder.node(Node.class,nodeKey).toInstance());
+        InstanceIdentifierBuilder<?> builder = InstanceIdentifier.builder(Nodes.class).child(Node.class, nodeKey);
+        return new NodeRef(builder.toInstance());
     }
 
 }