Merge "Listen config DS then push configuration to switch"
[ovsdb.git] / southbound / southbound-impl / src / main / java / org / opendaylight / ovsdb / southbound / transactions / md / OvsdbPortRemoveCommand.java
index f8360b57314c8d8ed0a4383aea13754fa97859b9..713093640dd82b3427200127f6ffae56736e1f9b 100644 (file)
@@ -19,9 +19,8 @@ import org.opendaylight.ovsdb.lib.schema.DatabaseSchema;
 import org.opendaylight.ovsdb.lib.schema.typed.TyperUtils;
 import org.opendaylight.ovsdb.schema.openvswitch.Bridge;
 import org.opendaylight.ovsdb.schema.openvswitch.Port;
+import org.opendaylight.ovsdb.southbound.OvsdbConnectionInstance;
 import org.opendaylight.ovsdb.southbound.SouthboundMapper;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.OvsdbBridgeName;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.node.attributes.ConnectionInfo;
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.TpId;
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.node.TerminationPoint;
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.node.TerminationPointKey;
@@ -32,14 +31,13 @@ import org.slf4j.LoggerFactory;
 public class OvsdbPortRemoveCommand extends AbstractTransactionCommand {
     private static final Logger LOG = LoggerFactory.getLogger(OvsdbPortRemoveCommand.class);
 
-    public OvsdbPortRemoveCommand(ConnectionInfo key, TableUpdates updates,
+    public OvsdbPortRemoveCommand(OvsdbConnectionInstance key, TableUpdates updates,
             DatabaseSchema dbSchema) {
         super(key, updates, dbSchema);
     }
 
     @Override
     public void execute(ReadWriteTransaction transaction) {
-        String bridgeName = null;
         String portName = null;
         Collection<Port> portRemovedRows = TyperUtils.extractRowsRemoved(
                 Port.class, getUpdates(), getDbSchema()).values();
@@ -48,24 +46,24 @@ public class OvsdbPortRemoveCommand extends AbstractTransactionCommand {
         Map<UUID,Bridge> bridgeUpdatedOldRows = TyperUtils.extractRowsOld(
                 Bridge.class, getUpdates(), getDbSchema());
         for (Port port : portRemovedRows) {
+            Bridge updatedBridgeData = null;
             for (UUID bridgeUUID : bridgeUpdatedOldRows.keySet()) {
                 Bridge oldBridgeData = bridgeUpdatedOldRows.get(bridgeUUID);
                 if (oldBridgeData.getPortsColumn() != null
                         && oldBridgeData.getPortsColumn().getData().contains(port.getUuidColumn().getData())
                         && (! bridgeUpdatedRows.isEmpty())) {
-                    Bridge updatedBridgeData = bridgeUpdatedRows.get(bridgeUUID);
-                    bridgeName = updatedBridgeData.getName();
+                    updatedBridgeData = bridgeUpdatedRows.get(bridgeUUID);
                     break;
                 }
             }
-            if (bridgeName == null) {
+            if (updatedBridgeData == null) {
                 LOG.warn("Bridge not found for port {}",port);
                 continue;
             }
             portName = port.getName();
             final InstanceIdentifier<TerminationPoint> nodePath = SouthboundMapper
-                    .createInstanceIdentifier(getConnectionInfo(),
-                            new OvsdbBridgeName(bridgeName)).child(
+                    .createInstanceIdentifier(getOvsdbConnectionInstance(),
+                            updatedBridgeData).child(
                             TerminationPoint.class,
                             new TerminationPointKey(new TpId(portName)));
             transaction.delete(LogicalDatastoreType.OPERATIONAL, nodePath);