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");