Use ResourceId or DiscreteResourceId when specifying a resource
Change-Id: I4e29558ec649510c8d08bb5e5f8ed10c189252e5
diff --git a/cli/src/main/java/org/onosproject/cli/net/AllocationsCommand.java b/cli/src/main/java/org/onosproject/cli/net/AllocationsCommand.java
index 4a350a9..ccaebd4 100644
--- a/cli/src/main/java/org/onosproject/cli/net/AllocationsCommand.java
+++ b/cli/src/main/java/org/onosproject/cli/net/AllocationsCommand.java
@@ -30,8 +30,8 @@
import org.onosproject.net.Port;
import org.onosproject.net.PortNumber;
import org.onosproject.net.device.DeviceService;
+import org.onosproject.net.newresource.DiscreteResourceId;
import org.onosproject.net.newresource.ResourceAllocation;
-import org.onosproject.net.newresource.Resource;
import org.onosproject.net.newresource.ResourceService;
import com.google.common.base.Strings;
@@ -107,7 +107,7 @@
// TODO: Current design cannot deal with sub-resources
// (e.g., TX/RX under Port)
- Resource resource = Resources.discrete(did, num).resource();
+ DiscreteResourceId resource = Resources.discrete(did, num).id();
if (lambda) {
//print("Lambda resources:");
Collection<ResourceAllocation> allocations
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");