import java.util.Iterator;
import java.util.List;
import java.util.Map;
-
-import org.opendaylight.controller.md.sal.binding.api.ReadWriteTransaction;
-import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
+import java.util.Optional;
+import org.opendaylight.mdsal.binding.api.ReadWriteTransaction;
+import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
import org.opendaylight.ovsdb.lib.message.TableUpdates;
import org.opendaylight.ovsdb.lib.notation.UUID;
import org.opendaylight.ovsdb.lib.schema.DatabaseSchema;
import org.opendaylight.ovsdb.lib.schema.typed.TyperUtils;
-import org.opendaylight.ovsdb.schema.openvswitch.OpenVSwitch;
import org.opendaylight.ovsdb.schema.openvswitch.Queue;
import org.opendaylight.ovsdb.southbound.OvsdbConnectionInstance;
import org.opendaylight.ovsdb.southbound.SouthboundMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import com.google.common.base.Optional;
-
public class OvsdbQueueRemovedCommand extends AbstractTransactionCommand {
- private static final Logger LOG = LoggerFactory.getLogger(OvsdbQueueUpdateCommand.class);
+ private static final Logger LOG = LoggerFactory.getLogger(OvsdbQueueRemovedCommand.class);
private Map<UUID, Queue> removedQueueRows;
- private Map<UUID, OpenVSwitch> updatedOpenVSwitchRows;
public OvsdbQueueRemovedCommand(OvsdbConnectionInstance key,
TableUpdates updates, DatabaseSchema dbSchema) {
super(key, updates, dbSchema);
- updatedOpenVSwitchRows = TyperUtils.extractRowsUpdated(OpenVSwitch.class, getUpdates(), getDbSchema());
removedQueueRows = TyperUtils.extractRowsRemoved(Queue.class, getUpdates(), getDbSchema());
}
@Override
public void execute(ReadWriteTransaction transaction) {
+ if (removedQueueRows == null || removedQueueRows.isEmpty()) {
+ return;
+ }
+
final InstanceIdentifier<Node> nodeIId = getOvsdbConnectionInstance().getInstanceIdentifier();
final Optional<Node> ovsdbNode = SouthboundUtil.readNode(transaction, nodeIId);
if (ovsdbNode.isPresent()) {
List<InstanceIdentifier<Queues>> result = new ArrayList<>();
InstanceIdentifier<Node> ovsdbNodeIid =
SouthboundMapper.createInstanceIdentifier(getOvsdbConnectionInstance().getNodeId());
- if (removedQueueRows != null && !removedQueueRows.isEmpty()) {
- for (UUID queueUuid : removedQueueRows.keySet()) {
- QueuesKey queueKey = getQueueKey(ovsdbNode.get(), queueUuid);
- if (queueKey != null) {
- InstanceIdentifier<Queues> iid = ovsdbNodeIid
- .augmentation(OvsdbNodeAugmentation.class)
- .child(Queues.class, queueKey);
- result.add(iid);
- }
+ for (UUID queueUuid : removedQueueRows.keySet()) {
+ QueuesKey queueKey = getQueueKey(ovsdbNode.get(), queueUuid);
+ if (queueKey != null) {
+ InstanceIdentifier<Queues> iid = ovsdbNodeIid
+ .augmentation(OvsdbNodeAugmentation.class)
+ .child(Queues.class, queueKey);
+ result.add(iid);
}
}
deleteQueue(transaction, result);
}
private QueuesKey getQueueKey(Node node, UUID queueUuid) {
- List<Queues> queueList = node.getAugmentation(OvsdbNodeAugmentation.class).getQueues();
+ List<Queues> queueList = node.augmentation(OvsdbNodeAugmentation.class).getQueues();
if (queueList == null || queueList.isEmpty()) {
- LOG.debug("Deleting Queue {}, Ovsdb Node {} does not have a Queue list.", queueUuid.toString(), node);
+ LOG.debug("Deleting Queue {}, Ovsdb Node {} does not have a Queue list.", queueUuid, node);
return null;
}
Iterator<Queues> itr = queueList.iterator();
- Uuid qUuid = new Uuid(queueUuid.toString());
+ Uuid quUuid = new Uuid(queueUuid.toString());
while (itr.hasNext()) {
Queues queue = itr.next();
- if (queue.getQueueUuid().equals(qUuid)) {
- return queue.getKey();
+ if (queue.getQueueUuid().equals(quUuid)) {
+ return queue.key();
}
}
- LOG.debug("Deleted Queue {} not found in Ovsdb Node {}", queueUuid.toString(), node);
+ LOG.debug("Deleted Queue {} not found in Ovsdb Node {}", queueUuid, node);
return null;
}