Merge "Parents pom distribution"
[controller.git] / opendaylight / protocol_plugins / stub / src / main / java / org / opendaylight / controller / protocol_plugins / stub / internal / InventoryService.java
index 54b4ea17af64e186d4983a6d9a9fea8d27af7041..22a4343f332ed2e79e7f7ecc979d8535acc4ea26 100644 (file)
@@ -22,6 +22,7 @@ import org.opendaylight.controller.sal.core.Bandwidth;
 import org.opendaylight.controller.sal.core.Buffers;
 import org.opendaylight.controller.sal.core.Capabilities;
 import org.opendaylight.controller.sal.core.Capabilities.CapabilitiesType;
+import org.opendaylight.controller.sal.core.ConstructionException;
 import org.opendaylight.controller.sal.core.Node;
 import org.opendaylight.controller.sal.core.NodeConnector;
 import org.opendaylight.controller.sal.core.Property;
@@ -41,9 +42,19 @@ public class InventoryService implements IPluginInInventoryService {
     private static final Logger logger = LoggerFactory
             .getLogger(InventoryService.class);
 
-    private ConcurrentMap<Node, Map<String, Property>> nodeProps; // properties are maintained in global container only
-    private ConcurrentMap<NodeConnector, Map<String, Property>> nodeConnectorProps; // properties are maintained in global container only
-
+    private ConcurrentMap<Node, Map<String, Property>> nodeProps; // properties
+                                                                  // are
+                                                                  // maintained
+                                                                  // in global
+                                                                  // container
+                                                                  // only
+    private ConcurrentMap<NodeConnector, Map<String, Property>> nodeConnectorProps; // properties
+                                                                                    // are
+                                                                                    // maintained
+                                                                                    // in
+                                                                                    // global
+                                                                                    // container
+                                                                                    // only
 
     /**
      * Function called by the dependency manager when all the required
@@ -53,6 +64,95 @@ public class InventoryService implements IPluginInInventoryService {
     void init() {
         nodeProps = new ConcurrentHashMap<Node, Map<String, Property>>();
         nodeConnectorProps = new ConcurrentHashMap<NodeConnector, Map<String, Property>>();
+        Node.NodeIDType.registerIDType("STUB", Integer.class);
+        NodeConnector.NodeConnectorIDType.registerIDType("STUB", Integer.class,
+                "STUB");
+
+        setupNodeProps();
+        setupNodeConnectorProps();
+    }
+
+    private void setupNodeConnectorProps() {
+        Map<String, Property> ncPropMap = new HashMap<String, Property>();
+        Capabilities cap = new Capabilities(
+                CapabilitiesType.FLOW_STATS_CAPABILITY.getValue());
+        ncPropMap.put(Capabilities.CapabilitiesPropName, cap);
+        Bandwidth bw = new Bandwidth(Bandwidth.BW1Gbps);
+        ncPropMap.put(Bandwidth.BandwidthPropName, bw);
+        State st = new State(State.EDGE_UP);
+        ncPropMap.put(State.StatePropName, st);
+
+        // setup property map for all node connectors
+        NodeConnector nc;
+        Node node;
+        try {
+            node = new Node("STUB", new Integer(0xCAFE));
+            nc = new NodeConnector("STUB", 0xCAFE, node);
+        } catch (ConstructionException e) {
+            nc = null;
+            node = null;
+        }
+        nodeConnectorProps.put(nc, ncPropMap);
+
+        try {
+            node = new Node("STUB", 3366);
+            nc = new NodeConnector("STUB", 12, node);
+        } catch (ConstructionException e) {
+            nc = null;
+            node = null;
+        }
+        nodeConnectorProps.put(nc, ncPropMap);
+
+        try {
+            node = new Node("STUB", 4477);
+            nc = new NodeConnector("STUB", 34, node);
+        } catch (ConstructionException e) {
+            nc = null;
+            node = null;
+        }
+        nodeConnectorProps.put(nc, ncPropMap);
+
+    }
+
+    private void setupNodeProps() {
+        Map<String, Property> propMap = new HashMap<String, Property>();
+
+        Tables t = new Tables((byte) 1);
+        propMap.put(Tables.TablesPropName, t);
+        Capabilities c = new Capabilities((int) 3);
+        propMap.put(Capabilities.CapabilitiesPropName, c);
+        Actions a = new Actions((int) 2);
+        propMap.put(Actions.ActionsPropName, a);
+        Buffers b = new Buffers((int) 1);
+        propMap.put(Buffers.BuffersPropName, b);
+        Long connectedSinceTime = 100000L;
+        TimeStamp timeStamp = new TimeStamp(connectedSinceTime,
+                "connectedSince");
+        propMap.put(TimeStamp.TimeStampPropName, timeStamp);
+
+        // setup property map for all nodes
+        Node node;
+        try {
+            node = new Node("STUB", new Integer(0xCAFE));
+        } catch (ConstructionException e) {
+            node = null;
+        }
+
+        nodeProps.put(node, propMap);
+
+        try {
+            node = new Node("STUB", 3366);
+        } catch (ConstructionException e) {
+            node = null;
+        }
+        nodeProps.put(node, propMap);
+
+        try {
+            node = new Node("STUB", 4477);
+        } catch (ConstructionException e) {
+            node = null;
+        }
+        nodeProps.put(node, propMap);
 
     }
 
@@ -87,28 +187,6 @@ public class InventoryService implements IPluginInInventoryService {
      */
     @Override
     public ConcurrentMap<Node, Map<String, Property>> getNodeProps() {
-
-        //  setup nodeProps
-        Map<String, Property> propMap = new HashMap<String, Property>();
-
-        Tables t = new Tables((byte)1);
-        propMap.put(Tables.TablesPropName, t);
-        Capabilities c = new Capabilities((int)3);
-        propMap.put(Capabilities.CapabilitiesPropName, c);
-        Actions a = new Actions((int)2);
-        propMap.put(Actions.ActionsPropName, a);
-        Buffers b = new Buffers((int)1);
-        propMap.put(Buffers.BuffersPropName, b);
-        Long connectedSinceTime = 100000L;
-        TimeStamp timeStamp = new TimeStamp(connectedSinceTime,
-                "connectedSince");
-        propMap.put(TimeStamp.TimeStampPropName, timeStamp);
-
-        // setup property map for all nodes
-        Node node;
-        node = NodeCreator.createOFNode(2L);
-        nodeProps.put(node, propMap);
-
         return nodeProps;
     }
 
@@ -118,24 +196,7 @@ public class InventoryService implements IPluginInInventoryService {
     @Override
     public ConcurrentMap<NodeConnector, Map<String, Property>> getNodeConnectorProps(
             Boolean refresh) {
-
-        //  setup nodeConnectorProps
-        Map<String, Property> ncPropMap = new HashMap<String, Property>();
-        Capabilities cap = new Capabilities
-                (CapabilitiesType.FLOW_STATS_CAPABILITY.getValue());
-        ncPropMap.put(Capabilities.CapabilitiesPropName, cap);
-        Bandwidth bw = new Bandwidth (Bandwidth.BW1Gbps);
-        ncPropMap.put(Bandwidth.BandwidthPropName, bw);
-        State st = new State (State.EDGE_UP);
-        ncPropMap.put(State.StatePropName, st);
-
-        // setup property map for all node connectors
-        NodeConnector nc = NodeConnectorCreator.createOFNodeConnector
-                ((short)2, NodeCreator.createOFNode(3L));
-        nodeConnectorProps.put(nc, ncPropMap);
-
         return nodeConnectorProps;
     }
 
-
 }