Move the resource allocation details into ContinuousResourceAllocation
Change-Id: If5b6a86c92f27cc7acf65e6e397f72afd3a4cb41
diff --git a/core/store/dist/src/main/java/org/onosproject/store/resource/impl/ContinuousResourceAllocation.java b/core/store/dist/src/main/java/org/onosproject/store/resource/impl/ContinuousResourceAllocation.java
index c23866d..205a44d 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/resource/impl/ContinuousResourceAllocation.java
+++ b/core/store/dist/src/main/java/org/onosproject/store/resource/impl/ContinuousResourceAllocation.java
@@ -70,6 +70,13 @@
return allocations;
}
+ ContinuousResourceAllocation allocate(ContinuousResource original, ResourceAllocation value) {
+ return new ContinuousResourceAllocation(original, ImmutableList.<ResourceAllocation>builder()
+ .addAll(allocations)
+ .add(value)
+ .build());
+ }
+
ContinuousResourceAllocation release(ContinuousResource resource, ResourceConsumerId consumerId) {
List<ResourceAllocation> nonMatched = allocations.stream()
.filter(x -> !(x.consumerId().equals(consumerId) &&
diff --git a/core/store/dist/src/main/java/org/onosproject/store/resource/impl/TransactionalContinuousResourceStore.java b/core/store/dist/src/main/java/org/onosproject/store/resource/impl/TransactionalContinuousResourceStore.java
index 34478f6..9279e99 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/resource/impl/TransactionalContinuousResourceStore.java
+++ b/core/store/dist/src/main/java/org/onosproject/store/resource/impl/TransactionalContinuousResourceStore.java
@@ -156,11 +156,7 @@
return true;
}
- ContinuousResourceAllocation newValue = new ContinuousResourceAllocation(original,
- ImmutableList.<ResourceAllocation>builder()
- .addAll(oldValue.allocations())
- .add(value)
- .build());
+ ContinuousResourceAllocation newValue = oldValue.allocate(original, value);
return consumers.replace(original.id(), oldValue, newValue);
}