Refactor: extract the same procedures
Change-Id: If28960f4e9fddc3276091fd04e2b624e6168dc5c
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 a468c04..a8ddf9a 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
@@ -268,21 +268,18 @@
tx.getTransactionalMap(CONTINUOUS_CONSUMER_MAP, SERIALIZER);
for (Resource resource: resources) {
- if (resource instanceof DiscreteResource) {
- if (!lookup(childTxMap, resource.id()).isPresent()) {
- return abortTransaction(tx);
- }
+ // if the resource is not registered, then abort
+ Optional<Resource> lookedUp = lookup(childTxMap, resource.id());
+ if (!lookedUp.isPresent()) {
+ return abortTransaction(tx);
+ }
+ if (resource instanceof DiscreteResource) {
ResourceConsumer oldValue = discreteConsumerTxMap.put(((DiscreteResource) resource).id(), consumer);
if (oldValue != null) {
return abortTransaction(tx);
}
} else if (resource instanceof ContinuousResource) {
- Optional<Resource> lookedUp = lookup(childTxMap, resource.id());
- if (!lookedUp.isPresent()) {
- return abortTransaction(tx);
- }
-
// Down cast: this must be safe as ContinuousResource is associated with ContinuousResourceId
ContinuousResource continuous = (ContinuousResource) lookedUp.get();
ContinuousResourceAllocation allocations = continuousConsumerTxMap.get(continuous.id());