import org.opendaylight.unimgr.api.IUnimgrConsoleProvider;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.IpAddress;
-@Command(name = "remove", scope = "uni", description = "Removes an Uni from the controller.")
+@Command(name = "uni-remove", scope = "uni", description = "Removes an Uni from the controller.")
public class UniRemoveShellCommand extends OsgiCommandSupport {
protected IUnimgrConsoleProvider provider;
bridgeIid,
LogicalDatastoreType.CONFIGURATION);
}
- UnimgrUtils.deleteNode(dataBroker,
- removedUniIid,
- LogicalDatastoreType.OPERATIONAL);
+ InstanceIdentifier<Node> iidUni = UnimgrMapper.getUniIid(dataBroker, uniAugmentation.getIpAddress(), LogicalDatastoreType.OPERATIONAL);
+ UnimgrUtils.deleteNode(dataBroker, iidUni, LogicalDatastoreType.OPERATIONAL);
}
else {
LOG.info("Received Uni Augmentation is null", removedUniIid);
import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.Topology;
import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.TopologyBuilder;
import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.TopologyKey;
+import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node;
import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.TopologyId;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.osgi.framework.BundleContext;
@Override
public boolean removeUni(IpAddress ipAddress) {
- // TODO Auto-generated method stub
- return false;
+ InstanceIdentifier<Node> iidUni = UnimgrMapper.getUniIid(dataBroker, ipAddress, LogicalDatastoreType.CONFIGURATION);
+ if (iidUni == null)
+ return false;
+
+ return UnimgrUtils.deleteNode(dataBroker, iidUni, LogicalDatastoreType.CONFIGURATION);
}
@Override
* @param genericNode The instance identifier of a generic node
* @param store The dataStore where to send and submit the delete call.
*/
- public static void deleteNode(DataBroker dataBroker,
+ public static boolean deleteNode(DataBroker dataBroker,
InstanceIdentifier<?> genericNode,
LogicalDatastoreType store) {
LOG.info("Received a request to delete node {}", genericNode);
+ boolean result = false;
WriteTransaction transaction = dataBroker.newWriteOnlyTransaction();
transaction.delete(store, genericNode);
try {
transaction.submit().checkedGet();
+ return !result;
} catch (TransactionCommitFailedException e) {
LOG.error("Unable to remove node with Iid {} from store {}.", genericNode, store);
}
+ return result;
}
/**