Refactor: change method parameter type of ResourceStore#release()

Use ResourceAllocation as parameter of ResourceStore#release()

Change-Id: I1833b9b23985cd42820093633591fa21daf2f98e
diff --git a/core/store/dist/src/main/java/org/onosproject/store/newresource/impl/ConsistentResourceStore.java b/core/store/dist/src/main/java/org/onosproject/store/newresource/impl/ConsistentResourceStore.java
index 397bcc6..6d7bc31 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/newresource/impl/ConsistentResourceStore.java
+++ b/core/store/dist/src/main/java/org/onosproject/store/newresource/impl/ConsistentResourceStore.java
@@ -52,7 +52,6 @@
 
 import java.util.Arrays;
 import java.util.Collection;
-import java.util.Iterator;
 import java.util.LinkedHashMap;
 import java.util.LinkedHashSet;
 import java.util.List;
@@ -303,10 +302,8 @@
     }
 
     @Override
-    public boolean release(List<Resource> resources, List<ResourceConsumer> consumers) {
-        checkNotNull(resources);
-        checkNotNull(consumers);
-        checkArgument(resources.size() == consumers.size());
+    public boolean release(List<ResourceAllocation> allocations) {
+        checkNotNull(allocations);
 
         TransactionContext tx = service.transactionContextBuilder().build();
         tx.begin();
@@ -315,12 +312,10 @@
                 tx.getTransactionalMap(DISCRETE_CONSUMER_MAP, SERIALIZER);
         TransactionalMap<ContinuousResourceId, ContinuousResourceAllocation> continuousConsumerTxMap =
                 tx.getTransactionalMap(CONTINUOUS_CONSUMER_MAP, SERIALIZER);
-        Iterator<Resource> resourceIte = resources.iterator();
-        Iterator<ResourceConsumer> consumerIte = consumers.iterator();
 
-        while (resourceIte.hasNext() && consumerIte.hasNext()) {
-            Resource resource = resourceIte.next();
-            ResourceConsumer consumer = consumerIte.next();
+        for (ResourceAllocation allocation : allocations) {
+            Resource resource = allocation.resource();
+            ResourceConsumer consumer = allocation.consumer();
 
             if (resource instanceof DiscreteResource) {
                 // if this single release fails (because the resource is allocated to another consumer,
@@ -330,14 +325,14 @@
                 }
             } else if (resource instanceof ContinuousResource) {
                 ContinuousResource continuous = (ContinuousResource) resource;
-                ContinuousResourceAllocation allocation = continuousConsumerTxMap.get(continuous.id());
-                ImmutableList<ResourceAllocation> newAllocations = allocation.allocations().stream()
+                ContinuousResourceAllocation continuousAllocation = continuousConsumerTxMap.get(continuous.id());
+                ImmutableList<ResourceAllocation> newAllocations = continuousAllocation.allocations().stream()
                         .filter(x -> !(x.consumer().equals(consumer) &&
                                 ((ContinuousResource) x.resource()).value() == continuous.value()))
                         .collect(GuavaCollectors.toImmutableList());
 
-                if (!continuousConsumerTxMap.replace(continuous.id(), allocation,
-                        new ContinuousResourceAllocation(allocation.original(), newAllocations))) {
+                if (!continuousConsumerTxMap.replace(continuous.id(), continuousAllocation,
+                        new ContinuousResourceAllocation(continuousAllocation.original(), newAllocations))) {
                     return abortTransaction(tx);
                 }
             }