Do not use InstanceIdentifier.builder()
[openflowplugin.git] / samples / learning-switch / src / main / java / org / opendaylight / openflowplugin / learningswitch / InstanceIdentifierUtils.java
index d1cc0380d30ba53c8c4b44545562747941322fd6..07ebb46cd602d8014492a0bf53831ab70bdd8372 100644 (file)
@@ -5,91 +5,88 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.ta
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.tables.TableKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.tables.table.Flow;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.tables.table.FlowKey;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeId;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.Nodes;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.node.NodeConnector;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.node.NodeConnectorKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeId;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.Nodes;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.NodeKey;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 
 
 public class InstanceIdentifierUtils {
 
+    private InstanceIdentifierUtils() {
+        //hiding constructor for util class
+    }
+
     /**
      * Creates an Instance Identifier (path) for node with specified id
-     * 
+     *
      * @param nodeId
      * @return
      */
-    public static final InstanceIdentifier<Node> createNodePath(NodeId nodeId) {
-        return InstanceIdentifier.builder(Nodes.class) //
-                .child(Node.class, new NodeKey(nodeId)) //
+    public static final InstanceIdentifier<Node> createNodePath(final NodeId nodeId) {
+        return InstanceIdentifier.builder(Nodes.class)
+                .child(Node.class, new NodeKey(nodeId))
                 .build();
     }
 
     /**
      * Shorten's node child path to node path.
-     * 
+     *
      * @param nodeChild child of node, from which we want node path.
      * @return
      */
-    public static final InstanceIdentifier<Node> getNodePath(InstanceIdentifier<?> nodeChild) {
+    public static final InstanceIdentifier<Node> getNodePath(final InstanceIdentifier<?> nodeChild) {
         return nodeChild.firstIdentifierOf(Node.class);
     }
-    
-    
+
+
     /**
      * Creates a table path by appending table specific location to node path
-     * 
+     *
      * @param nodePath
      * @param tableKey
      * @return
      */
-    public static final InstanceIdentifier<Table> createTablePath(InstanceIdentifier<Node> nodePath,TableKey tableKey) {
-        return InstanceIdentifier.builder(nodePath)
-                .augmentation(FlowCapableNode.class)
-                .child(Table.class, tableKey)
-                .build();
+    public static final InstanceIdentifier<Table> createTablePath(final InstanceIdentifier<Node> nodePath,final TableKey tableKey) {
+        return nodePath.augmentation(FlowCapableNode.class).child(Table.class, tableKey);
     }
 
     /**
      * Creates a path for particular flow, by appending flow-specific information
      * to table path.
-     * 
-     * @param flowId
-     * @param tablePathArg 
+     *
+     * @param tablePath
+     * @param flowKey
      * @return path to flow
      */
-    public static InstanceIdentifier<Flow> createFlowPath(InstanceIdentifier<Table> table,FlowKey flowKey) {
-        return InstanceIdentifier.builder(table)
-                .child(Flow.class, flowKey)
-                .build();
+    public static InstanceIdentifier<Flow> createFlowPath(final InstanceIdentifier<Table> tablePath, final FlowKey flowKey) {
+        return tablePath.child(Flow.class, flowKey);
     }
 
     /**
      * Extract table id from table path.
-     * 
+     *
      * @param tablePath
      * @return
      */
-    public static Short getTableId(InstanceIdentifier<Table> tablePath) {
+    public static Short getTableId(final InstanceIdentifier<Table> tablePath) {
         return tablePath.firstKeyOf(Table.class, TableKey.class).getId();
     }
-    
+
     /**
      * Extracts NodeConnectorKey from node connector path.
-     * 
+     *
      */
-    public static NodeConnectorKey getNodeConnectorKey(InstanceIdentifier<?> nodeConnectorPath) {
+    public static NodeConnectorKey getNodeConnectorKey(final InstanceIdentifier<?> nodeConnectorPath) {
         return nodeConnectorPath.firstKeyOf(NodeConnector.class, NodeConnectorKey.class);
     }
-    
-    
+
+
     //
-    public static final InstanceIdentifier<NodeConnector> createNodeConnectorPath(InstanceIdentifier<Node> nodeKey,NodeConnectorKey nodeConnectorKey) {
-        return InstanceIdentifier.builder(nodeKey) //
-                .child(NodeConnector.class,nodeConnectorKey) //
-                .build();
+    public static final InstanceIdentifier<NodeConnector> createNodeConnectorPath(final InstanceIdentifier<Node> nodeKey,final NodeConnectorKey nodeConnectorKey) {
+        return nodeKey.child(NodeConnector.class,nodeConnectorKey);
     }
 }