Avoid unnecessary allocations needed to convert List to Set
Change-Id: I80b0bcf31f625f8e151155880075c888a0cf1c1d
diff --git a/core/store/dist/src/main/java/org/onosproject/store/resource/impl/TransactionalDiscreteResourceSubStore.java b/core/store/dist/src/main/java/org/onosproject/store/resource/impl/TransactionalDiscreteResourceSubStore.java
index e98cb20..d2cecb0 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/resource/impl/TransactionalDiscreteResourceSubStore.java
+++ b/core/store/dist/src/main/java/org/onosproject/store/resource/impl/TransactionalDiscreteResourceSubStore.java
@@ -24,9 +24,8 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.util.LinkedHashSet;
-import java.util.List;
import java.util.Optional;
+import java.util.Set;
import static org.onosproject.store.resource.impl.ConsistentResourceStore.SERIALIZER;
@@ -54,13 +53,13 @@
return values.lookup(id);
}
- boolean register(DiscreteResourceId key, List<DiscreteResource> values) {
+ boolean register(DiscreteResourceId key, Set<DiscreteResource> values) {
// short-circuit: receiving empty resource is regarded as success
if (values.isEmpty()) {
return true;
}
- DiscreteResources requested = DiscreteResources.of(new LinkedHashSet<>(values));
+ DiscreteResources requested = DiscreteResources.of(values);
DiscreteResources oldValues = childMap.putIfAbsent(key, requested);
if (oldValues == null) {
return true;
@@ -77,7 +76,7 @@
return childMap.replace(key, oldValues, newValues);
}
- boolean unregister(DiscreteResourceId key, List<DiscreteResource> values) {
+ boolean unregister(DiscreteResourceId key, Set<DiscreteResource> values) {
// short-circuit: receiving empty resource is regarded as success
if (values.isEmpty()) {
return true;