Use more concrete type for return value
Same resources are not allowed for a parent and Set is more suitable than
Collection
Change-Id: Ib45179819d81376678bf8949864b12b5bd721085
diff --git a/core/net/src/main/java/org/onosproject/net/newresource/impl/ResourceManager.java b/core/net/src/main/java/org/onosproject/net/newresource/impl/ResourceManager.java
index b4badb8..517ee10 100644
--- a/core/net/src/main/java/org/onosproject/net/newresource/impl/ResourceManager.java
+++ b/core/net/src/main/java/org/onosproject/net/newresource/impl/ResourceManager.java
@@ -38,6 +38,7 @@
import java.util.Collection;
import java.util.List;
+import java.util.Set;
import java.util.stream.Collectors;
import static com.google.common.base.Preconditions.checkNotNull;
@@ -147,18 +148,18 @@
}
@Override
- public Collection<Resource> getAvailableResources(Resource parent) {
+ public Set<Resource> getAvailableResources(Resource parent) {
checkNotNull(parent);
- Collection<Resource> children = store.getChildResources(parent);
+ Set<Resource> children = store.getChildResources(parent);
return children.stream()
// We access store twice in this method, then the store may be updated by others
.filter(store::isAvailable)
- .collect(Collectors.toList());
+ .collect(Collectors.toSet());
}
@Override
- public Collection<Resource> getRegisteredResources(Resource parent) {
+ public Set<Resource> getRegisteredResources(Resource parent) {
checkNotNull(parent);
return store.getChildResources(parent);
diff --git a/core/net/src/test/java/org/onosproject/net/intent/impl/compiler/MockResourceService.java b/core/net/src/test/java/org/onosproject/net/intent/impl/compiler/MockResourceService.java
index 7e3beca..c985882 100644
--- a/core/net/src/test/java/org/onosproject/net/intent/impl/compiler/MockResourceService.java
+++ b/core/net/src/test/java/org/onosproject/net/intent/impl/compiler/MockResourceService.java
@@ -16,6 +16,7 @@
package org.onosproject.net.intent.impl.compiler;
import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableSet;
import org.onlab.packet.MplsLabel;
import org.onlab.packet.VlanId;
import org.onosproject.net.newresource.ResourceAllocation;
@@ -30,6 +31,7 @@
import java.util.List;
import java.util.Map;
import java.util.Optional;
+import java.util.Set;
import java.util.stream.Collectors;
class MockResourceService implements ResourceService {
@@ -92,16 +94,16 @@
}
@Override
- public Collection<Resource> getAvailableResources(Resource parent) {
+ public Set<Resource> getAvailableResources(Resource parent) {
Collection<Resource> resources = new HashSet<Resource>();
resources.add(parent.child(VlanId.vlanId((short) 10)));
resources.add(parent.child(MplsLabel.mplsLabel(10)));
- return ImmutableList.copyOf(resources);
+ return ImmutableSet.copyOf(resources);
}
@Override
- public Collection<Resource> getRegisteredResources(Resource parent) {
+ public Set<Resource> getRegisteredResources(Resource parent) {
return getAvailableResources(parent);
}