From: Sam Hague Date: Wed, 9 Dec 2015 21:13:42 +0000 (+0000) Subject: Merge "Bug 4735 - null pointer exception in SouthboundImpl" X-Git-Tag: release/beryllium-sr2~218 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;h=362b826eb59458765c054a8e0005cbaf6b6b65e5;hp=-c;p=netvirt.git Merge "Bug 4735 - null pointer exception in SouthboundImpl" --- 362b826eb59458765c054a8e0005cbaf6b6b65e5 diff --combined openstack/net-virt/src/main/java/org/opendaylight/ovsdb/openstack/netvirt/impl/SouthboundImpl.java index d65db149a2,da708b879b..fb7f8e1224 --- a/openstack/net-virt/src/main/java/org/opendaylight/ovsdb/openstack/netvirt/impl/SouthboundImpl.java +++ b/openstack/net-virt/src/main/java/org/opendaylight/ovsdb/openstack/netvirt/impl/SouthboundImpl.java @@@ -20,12 -20,12 +20,12 @@@ import org.opendaylight.ovsdb.openstack import org.opendaylight.ovsdb.openstack.netvirt.NetworkHandler; import org.opendaylight.ovsdb.openstack.netvirt.api.OvsdbTables; import org.opendaylight.ovsdb.openstack.netvirt.api.Southbound; +import org.opendaylight.ovsdb.utils.mdsal.utils.MdsalUtils; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.Uri; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.*; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.bridge.attributes.BridgeExternalIds; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.bridge.attributes.BridgeOtherConfigs; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.bridge.attributes.BridgeOtherConfigsBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.bridge.attributes.BridgeOtherConfigsKey; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.bridge.attributes.ControllerEntry; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.bridge.attributes.ControllerEntryBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.bridge.attributes.ProtocolEntry; @@@ -63,9 -63,9 +63,9 @@@ import com.google.common.collect.Immuta */ public class SouthboundImpl implements Southbound { private static final Logger LOG = LoggerFactory.getLogger(SouthboundImpl.class); - private DataBroker databroker = null; + private final DataBroker databroker; private static final String PATCH_PORT_TYPE = "patch"; - private MdsalUtils mdsalUtils = null; + private final MdsalUtils mdsalUtils; /** * Class constructor setting the data broker. @@@ -175,7 -175,7 +175,7 @@@ public boolean addBridge(Node ovsdbNode, String bridgeName, List controllersStr, final Class dpType) { - boolean result = false; + boolean result; LOG.info("addBridge: node: {}, bridgeName: {}, controller(s): {}", ovsdbNode, bridgeName, controllersStr); ConnectionInfo connectionInfo = getConnectionInfo(ovsdbNode); @@@ -216,10 -216,11 +216,10 @@@ } public boolean deleteBridge(Node ovsdbNode) { - boolean result = false; InstanceIdentifier bridgeIid = MdsalHelper.createInstanceIdentifier(ovsdbNode.getNodeId()); - result = mdsalUtils.delete(LogicalDatastoreType.CONFIGURATION, bridgeIid); + boolean result = mdsalUtils.delete(LogicalDatastoreType.CONFIGURATION, bridgeIid); LOG.info("deleteBridge node: {}, bridgeName: {} result : {}", ovsdbNode, ovsdbNode.getNodeId(),result); return result; } @@@ -242,6 -243,9 +242,9 @@@ Node ovsdbNode = node; if (extractNodeAugmentation(ovsdbNode) == null) { ovsdbNode = readOvsdbNode(node); + if (ovsdbNode == null) { + return null; + } } Node bridgeNode = null; ConnectionInfo connectionInfo = getConnectionInfo(ovsdbNode); @@@ -254,12 -258,15 +257,12 @@@ } public Node getBridgeNode(Node node, String bridgeName) { - Node bridgeNode = null; OvsdbBridgeAugmentation bridge = extractBridgeAugmentation(node); if (bridge != null && bridge.getBridgeName().getValue().equals(bridgeName)) { - bridgeNode = node; + return node; } else { - bridgeNode = readBridgeNode(node, bridgeName); + return readBridgeNode(node, bridgeName); } - - return bridgeNode; } public String getBridgeUuid(Node node, String name) { @@@ -277,6 -284,21 +280,6 @@@ ovsdbBridgeAugmentationBuilder.setManagedBy(new OvsdbNodeRef(connectionNodePath)); } - private void setControllersForBridge(Node ovsdbNode, String bridgeName, List controllersString) { - ConnectionInfo connectionInfo = getConnectionInfo(ovsdbNode); - if (connectionInfo != null) { - for (ControllerEntry controllerEntry : createControllerEntries(controllersString)) { - InstanceIdentifier iid = - MdsalHelper.createInstanceIdentifier(ovsdbNode.getKey(), bridgeName) - .augmentation(OvsdbBridgeAugmentation.class) - .child(ControllerEntry.class, controllerEntry.getKey()); - - boolean result = mdsalUtils.put(LogicalDatastoreType.CONFIGURATION, iid, controllerEntry); - LOG.info("addController: result: {}", result); - } - } - } - private List createControllerEntries(List controllersStr) { List controllerEntries = new ArrayList<>(); if (controllersStr != null) { @@@ -587,7 -609,9 +590,9 @@@ OvsdbNodeAugmentation ovsdbNode = extractNodeAugmentation(node); if (ovsdbNode == null) { Node nodeFromReadOvsdbNode = readOvsdbNode(node); - ovsdbNode = extractNodeAugmentation(nodeFromReadOvsdbNode); + if (nodeFromReadOvsdbNode != null) { + ovsdbNode = extractNodeAugmentation(nodeFromReadOvsdbNode); + } } if (ovsdbNode != null && ovsdbNode.getOpenvswitchExternalIds() != null) { for (OpenvswitchExternalIds openvswitchExternalIds : ovsdbNode.getOpenvswitchExternalIds()) { @@@ -636,7 -660,9 +641,9 @@@ OvsdbNodeAugmentation ovsdbNode = extractNodeAugmentation(node); if (ovsdbNode == null) { Node nodeFromReadOvsdbNode = readOvsdbNode(node); - ovsdbNode = extractNodeAugmentation(nodeFromReadOvsdbNode); + if (nodeFromReadOvsdbNode != null) { + ovsdbNode = extractNodeAugmentation(nodeFromReadOvsdbNode); + } } if (ovsdbNode != null && ovsdbNode.getOpenvswitchOtherConfigs() != null) { for (OpenvswitchOtherConfigs openvswitchOtherConfigs : ovsdbNode.getOpenvswitchOtherConfigs()) { @@@ -685,7 -711,7 +692,7 @@@ public String getOptionsValue(List options, String key) { String value = null; for (Options option : options) { - if (option.getKey().equals(key)) { + if (option.getOption().equals(key)) { value = option.getValue(); } }