Merge "Bug 3051: Fix Unit Tests for IpPrefix."
[groupbasedpolicy.git] / neutron-ovsdb / src / main / java / org / opendaylight / groupbasedpolicy / neutron / ovsdb / util / OvsdbHelper.java
index d57397c82ad580e7e65cfe6911e17668e6eca116..0d522cb93e8c951819ac9d91149f1271e0b9775d 100644 (file)
@@ -24,6 +24,7 @@ import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.InterfaceTypeVxlan;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.OvsdbBridgeAugmentation;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.OvsdbBridgeAugmentationBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.OvsdbBridgeRef;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.OvsdbNodeAugmentation;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.OvsdbNodeRef;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.OvsdbTerminationPointAugmentation;
@@ -54,7 +55,7 @@ public class OvsdbHelper {
      * @param tpId The InstanceIdentifier for a child TerminationPoint augmentation
      * @return the {@link OvsdbBridgeAugmentation}, null if the augmentation isn't present
      */
-    public static OvsdbBridgeAugmentation getOvsdbBridge(
+    public static OvsdbBridgeAugmentation getOvsdbBridgeFromTerminationPoint(
             InstanceIdentifier<OvsdbTerminationPointAugmentation> tpIid, DataBroker dataBroker) {
         InstanceIdentifier<OvsdbBridgeAugmentation> ovsdbBridgeIid =
                 tpIid.firstIdentifierOf(Node.class).augmentation(OvsdbBridgeAugmentation.class);
@@ -70,6 +71,19 @@ public class OvsdbHelper {
         return null;
     }
 
+    public static Node getNodeFromBridgeRef(OvsdbBridgeRef bridgeRef, DataBroker dataBroker) {
+        InstanceIdentifier<Node> nodeIid = bridgeRef.getValue().firstIdentifierOf(Node.class);
+        ReadTransaction transaction = dataBroker.newReadOnlyTransaction();
+        Optional<?> node =
+                readFromDs(LogicalDatastoreType.OPERATIONAL, nodeIid, transaction );
+        if (node.isPresent()) {
+            if (node.get() instanceof Node) {
+                return (Node)node.get();
+            }
+        }
+        return null;
+    }
+
     public static OvsdbTerminationPointAugmentation getOvsdbTerminationPoint(
             InstanceIdentifier<OvsdbTerminationPointAugmentation> tpIid, DataBroker dataBroker) {
         ReadTransaction transaction = dataBroker.newReadOnlyTransaction();