Merge "Refactor Subnet.isSubnetOf - reduce number of 'if' statements. Added unitests."
[controller.git] / opendaylight / md-sal / statistics-manager / src / main / java / org / opendaylight / controller / md / statistics / manager / NodeStatistics.java
index c48ac311abb33dc0ffdfe5ee1ca4c3f26595111b..e84b437b533f8c1deba3d3d67634ee70f5096c15 100644 (file)
@@ -7,15 +7,26 @@
  */
 package org.opendaylight.controller.md.statistics.manager;
 
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
 
+import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.tables.table.Flow;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.statistics.rev130819.aggregate.flow.statistics.AggregateFlowStatistics;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.queue.rev130925.QueueId;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.group.statistics.rev131111.group.features.GroupFeatures;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.group.desc.stats.reply.GroupDescStats;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.group.statistics.reply.GroupStats;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeConnectorId;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeRef;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.statistics.rev131111.nodes.node.MeterFeatures;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.meter.config.stats.reply.MeterConfigStats;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.types.rev130918.meter.statistics.reply.MeterStats;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.model.statistics.types.rev130925.GenericQueueStatistics;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.model.statistics.types.rev130925.GenericStatistics;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.model.statistics.types.rev130925.GenericTableStatistics;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.model.statistics.types.rev130925.NodeConnectorStatistics;
 
 public class NodeStatistics {
 
@@ -33,6 +44,21 @@ public class NodeStatistics {
     
     private MeterFeatures meterFeatures;
     
+    private final Map<Short,Map<Flow,GenericStatistics>> flowAndStatsMap= 
+            new HashMap<Short,Map<Flow,GenericStatistics>>();
+    
+    private final Map<Short,AggregateFlowStatistics> tableAndAggregateFlowStatsMap = 
+            new HashMap<Short,AggregateFlowStatistics>();
+    
+    private final Map<NodeConnectorId,NodeConnectorStatistics> nodeConnectorStats = 
+            new ConcurrentHashMap<NodeConnectorId,NodeConnectorStatistics>();
+    
+    private final Map<Short,GenericTableStatistics> flowTableAndStatisticsMap = 
+            new HashMap<Short,GenericTableStatistics>();
+    
+    private final Map<NodeConnectorId,Map<QueueId,GenericQueueStatistics>> NodeConnectorAndQueuesStatsMap = 
+            new HashMap<NodeConnectorId,Map<QueueId,GenericQueueStatistics>>();
+    
     public NodeStatistics(){
         
     }
@@ -92,5 +118,23 @@ public class NodeStatistics {
     public void setMeterFeatures(MeterFeatures meterFeatures) {
         this.meterFeatures = meterFeatures;
     }
-    
+
+    public Map<Short,Map<Flow,GenericStatistics>> getFlowAndStatsMap() {
+        return flowAndStatsMap;
+    }
+
+    public Map<Short, GenericTableStatistics> getFlowTableAndStatisticsMap() {
+        return flowTableAndStatisticsMap;
+    }
+
+    public Map<Short, AggregateFlowStatistics> getTableAndAggregateFlowStatsMap() {
+        return tableAndAggregateFlowStatsMap;
+    }
+    public Map<NodeConnectorId, NodeConnectorStatistics> getNodeConnectorStats() {
+        return nodeConnectorStats;
+    }
+
+    public Map<NodeConnectorId, Map<QueueId, GenericQueueStatistics>> getNodeConnectorAndQueuesStatsMap() {
+        return NodeConnectorAndQueuesStatsMap;
+    }
 }