Bug 4098 - ofoverlay-renderer failure in jdk8
[groupbasedpolicy.git] / neutron-ovsdb / src / main / java / org / opendaylight / groupbasedpolicy / neutron / ovsdb / util / OvsdbHelper.java
old mode 100644 (file)
new mode 100755 (executable)
index 0d522cb..815cf6c
@@ -8,8 +8,8 @@
 
 package org.opendaylight.groupbasedpolicy.neutron.ovsdb.util;
 
-import static org.opendaylight.groupbasedpolicy.neutron.ovsdb.util.DataStore.readFromDs;
-import static org.opendaylight.groupbasedpolicy.neutron.ovsdb.util.DataStore.submitToDs;
+import static org.opendaylight.groupbasedpolicy.util.DataStoreHelper.readFromDs;
+import static org.opendaylight.groupbasedpolicy.util.DataStoreHelper.submitToDs;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -45,28 +45,30 @@ import org.slf4j.LoggerFactory;
 import com.google.common.base.Optional;
 
 public class OvsdbHelper {
-    private static final Logger LOG = LoggerFactory.getLogger(DataStore.class);
+    private static final Logger LOG = LoggerFactory.getLogger(OvsdbHelper.class);
     private static final String OF_PORT = "6653";
 
     /**
      * Look up the {@link OvsdbBridgeAugmentation} from the data store
-     * given a child {@link InstanceIdentifier<OvsdbTerminationPointAugmentation>}
+     * given a child {@link InstanceIdentifier} of {@link OvsdbTerminationPointAugmentation}
      *
-     * @param tpId The InstanceIdentifier for a child TerminationPoint augmentation
+     * @param tpIid The InstanceIdentifier for a child TerminationPoint augmentation
+     * @param dataBroker the {@link DataBroker}
      * @return the {@link OvsdbBridgeAugmentation}, null if the augmentation isn't present
      */
     public static OvsdbBridgeAugmentation getOvsdbBridgeFromTerminationPoint(
             InstanceIdentifier<OvsdbTerminationPointAugmentation> tpIid, DataBroker dataBroker) {
-        InstanceIdentifier<OvsdbBridgeAugmentation> ovsdbBridgeIid =
-                tpIid.firstIdentifierOf(Node.class).augmentation(OvsdbBridgeAugmentation.class);
-        if (ovsdbBridgeIid == null) {
-            return null;
-        }
-        ReadTransaction transaction = dataBroker.newReadOnlyTransaction();
-        Optional<OvsdbBridgeAugmentation> ovsdbBridge =
-                readFromDs(LogicalDatastoreType.OPERATIONAL, ovsdbBridgeIid, transaction );
-        if (ovsdbBridge.isPresent()) {
-            return ovsdbBridge.get();
+        InstanceIdentifier<Node> nodeIid = tpIid.firstIdentifierOf(Node.class);
+        if (nodeIid != null) {
+            InstanceIdentifier<OvsdbBridgeAugmentation> ovsdbBridgeIid = nodeIid.augmentation(OvsdbBridgeAugmentation.class);
+            if (ovsdbBridgeIid != null) {
+                ReadTransaction transaction = dataBroker.newReadOnlyTransaction();
+                Optional<OvsdbBridgeAugmentation> ovsdbBridge =
+                    readFromDs(LogicalDatastoreType.OPERATIONAL, ovsdbBridgeIid, transaction);
+                if (ovsdbBridge.isPresent()) {
+                    return ovsdbBridge.get();
+                }
+            }
         }
         return null;
     }
@@ -182,9 +184,9 @@ public class OvsdbHelper {
     /**
      * Get the manager node for this bridge node
      *
-     * @param bridge
-     * @param dataBroker
-     * @return The {@link OvsdbBridgAugmentation} for the manager node, null
+     * @param bridge the bridge node
+     * @param dataBroker the {@link DataBroker}
+     * @return The {@link OvsdbBridgeAugmentation} for the manager node, null
      *         if not found or if it already is the manager node
      */
     public static OvsdbNodeAugmentation getManagerNode(OvsdbBridgeAugmentation bridge, DataBroker dataBroker) {
@@ -223,9 +225,10 @@ public class OvsdbHelper {
      * Use OVSDB CRUD to create any missing tunnels on a given
      * Inventory Node.
      *
-     * @param nodeIid
-     * @param node
-     * @param tunnelType
+     * @param nodeIid the node instance identifier
+     * @param node the inventory node
+     * @param tunnelType the tunnel type
+     * @param dataBroker the {@link DataBroker}
      */
     public static void createTunnelPort(InstanceIdentifier<Node> nodeIid,
             Node node, AbstractTunnelType tunnelType, DataBroker dataBroker) {
@@ -249,7 +252,7 @@ public class OvsdbHelper {
                 buildOvsdbBridgeAugmentation(bridge,managerNode);
         Node configNode = getNode(node, tps,ovsdbBridgeAugmentation);
         LOG.info("About to write nodeId {} node {}",nodeIid,configNode);
-        transaction.put(LogicalDatastoreType.CONFIGURATION, nodeIid, configNode);
+        transaction.merge(LogicalDatastoreType.CONFIGURATION, nodeIid, configNode);
         submitToDs(transaction);
     }