Use ResourceId or DiscreteResourceId when specifying a resource
Change-Id: I4e29558ec649510c8d08bb5e5f8ed10c189252e5
diff --git a/cli/src/main/java/org/onosproject/cli/net/ResourcesCommand.java b/cli/src/main/java/org/onosproject/cli/net/ResourcesCommand.java
index 37faa0b..c9a2ad6 100644
--- a/cli/src/main/java/org/onosproject/cli/net/ResourcesCommand.java
+++ b/cli/src/main/java/org/onosproject/cli/net/ResourcesCommand.java
@@ -34,6 +34,7 @@
import org.onosproject.net.PortNumber;
import org.onosproject.net.TributarySlot;
import org.onosproject.net.newresource.ContinuousResource;
+import org.onosproject.net.newresource.DiscreteResource;
import org.onosproject.net.newresource.Resource;
import org.onosproject.net.newresource.ResourceService;
@@ -101,7 +102,13 @@
private void printResource(Resource resource, int level) {
// TODO add an option to show only available resource
- Set<Resource> children = resourceService.getRegisteredResources(resource);
+ // workaround to preserve the original behavior of ResourceService#getRegisteredResources
+ Set<Resource> children;
+ if (resource instanceof DiscreteResource) {
+ children = resourceService.getRegisteredResources(((DiscreteResource) resource).id());
+ } else {
+ children = Collections.emptySet();
+ }
if (resource.equals(Resource.ROOT)) {
print("ROOT");