X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=neutron-ovsdb%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fgroupbasedpolicy%2Fneutron%2Fovsdb%2Futil%2FOvsdbHelper.java;h=815cf6ce3117562d79fd5e9f6e104fe7830436f5;hb=afeada6760db5be76ba9f1f911e34b515dfd2fcd;hp=37d8b3b05f9eaaf64a1392a223812a9aa32bbc79;hpb=ced9c03f303c0e301e59437d6cd32f70ced14b1e;p=groupbasedpolicy.git diff --git a/neutron-ovsdb/src/main/java/org/opendaylight/groupbasedpolicy/neutron/ovsdb/util/OvsdbHelper.java b/neutron-ovsdb/src/main/java/org/opendaylight/groupbasedpolicy/neutron/ovsdb/util/OvsdbHelper.java index 37d8b3b05..815cf6ce3 100755 --- a/neutron-ovsdb/src/main/java/org/opendaylight/groupbasedpolicy/neutron/ovsdb/util/OvsdbHelper.java +++ b/neutron-ovsdb/src/main/java/org/opendaylight/groupbasedpolicy/neutron/ovsdb/util/OvsdbHelper.java @@ -50,23 +50,25 @@ public class OvsdbHelper { /** * Look up the {@link OvsdbBridgeAugmentation} from the data store - * given a child {@link InstanceIdentifier} + * 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 tpIid, DataBroker dataBroker) { - InstanceIdentifier ovsdbBridgeIid = - tpIid.firstIdentifierOf(Node.class).augmentation(OvsdbBridgeAugmentation.class); - if (ovsdbBridgeIid == null) { - return null; - } - ReadTransaction transaction = dataBroker.newReadOnlyTransaction(); - Optional ovsdbBridge = - readFromDs(LogicalDatastoreType.OPERATIONAL, ovsdbBridgeIid, transaction ); - if (ovsdbBridge.isPresent()) { - return ovsdbBridge.get(); + InstanceIdentifier nodeIid = tpIid.firstIdentifierOf(Node.class); + if (nodeIid != null) { + InstanceIdentifier ovsdbBridgeIid = nodeIid.augmentation(OvsdbBridgeAugmentation.class); + if (ovsdbBridgeIid != null) { + ReadTransaction transaction = dataBroker.newReadOnlyTransaction(); + Optional ovsdbBridge = + readFromDs(LogicalDatastoreType.OPERATIONAL, ovsdbBridgeIid, transaction); + if (ovsdbBridge.isPresent()) { + return ovsdbBridge.get(); + } + } } return null; } @@ -182,8 +184,8 @@ public class OvsdbHelper { /** * Get the manager node for this bridge node * - * @param bridge - * @param dataBroker + * @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 */ @@ -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 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); }