import org.opendaylight.controller.md.sal.common.api.clustering.EntityOwnershipListenerRegistration;
import org.opendaylight.controller.md.sal.common.api.clustering.EntityOwnershipService;
import org.opendaylight.controller.md.sal.common.api.clustering.EntityOwnershipState;
+import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
import org.opendaylight.ovsdb.hwvtepsouthbound.transactions.md.HwvtepGlobalRemoveCommand;
+import org.opendaylight.ovsdb.hwvtepsouthbound.transactions.md.TransactionCommand;
import org.opendaylight.ovsdb.hwvtepsouthbound.transactions.md.TransactionInvoker;
import org.opendaylight.ovsdb.lib.OvsdbClient;
import org.opendaylight.ovsdb.lib.OvsdbConnectionListener;
}
private void cleanEntityOperationalData(Entity entity) {
- InstanceIdentifier<Node> nodeIid = (InstanceIdentifier<Node>) HwvtepSouthboundUtil
- .getInstanceIdentifierCodec().bindingDeserializer(entity.getId());
-
- final ReadWriteTransaction transaction = db.newReadWriteTransaction();
- HwvtepSouthboundUtil.deleteNode(transaction, nodeIid);
+ @SuppressWarnings("unchecked") final InstanceIdentifier<Node> nodeIid =
+ (InstanceIdentifier<Node>) HwvtepSouthboundUtil
+ .getInstanceIdentifierCodec().bindingDeserializer(entity.getId());
+
+ txInvoker.invoke(new TransactionCommand() {
+ @Override
+ public void execute(ReadWriteTransaction transaction) {
+ transaction.delete(LogicalDatastoreType.OPERATIONAL, nodeIid);
+ }
+ });
}
private HwvtepConnectionInstance getConnectionInstanceFromEntity(Entity entity) {
return node;
}
- public static <D extends org.opendaylight.yangtools.yang.binding.DataObject> boolean deleteNode(
- ReadWriteTransaction transaction, final InstanceIdentifier<D> connectionIid) {
- boolean result = false;
- transaction.delete(LogicalDatastoreType.OPERATIONAL, connectionIid);
- CheckedFuture<Void, TransactionCommitFailedException> future = transaction.submit();
- try {
- future.checkedGet();
- result = true;
- } catch (TransactionCommitFailedException e) {
- LOG.warn("Failed to delete {} ", connectionIid, e);
- }
- return result;
- }
-
public static Optional<HwvtepGlobalAugmentation> getManagingNode(DataBroker db,
HwvtepPhysicalSwitchAttributes pNode) {
Preconditions.checkNotNull(pNode);