Extract common ID generation logic using IdBlockAllocator
- Define IdGenerator<T> interface
- Implement AbstractIdBlockAllocatorBasedIdGenerator<T>, which
has the common logic for the existing IntentId, FlowId, MatchActionId,
and MatchActionOperationsId generator implementations.
Change-Id: I7aeea249df1710719760ed477bffe62853577e0f
diff --git a/src/main/java/net/onrc/onos/api/flowmanager/Flow.java b/src/main/java/net/onrc/onos/api/flowmanager/Flow.java
index 8608adb..65dc00e 100644
--- a/src/main/java/net/onrc/onos/api/flowmanager/Flow.java
+++ b/src/main/java/net/onrc/onos/api/flowmanager/Flow.java
@@ -5,10 +5,11 @@
import java.util.List;
import net.onrc.onos.api.batchoperation.BatchOperationTarget;
-import net.onrc.onos.core.matchaction.MatchActionIdGenerator;
+import net.onrc.onos.core.matchaction.MatchActionId;
import net.onrc.onos.core.matchaction.MatchActionOperations;
-import net.onrc.onos.core.matchaction.MatchActionOperationsIdGenerator;
+import net.onrc.onos.core.matchaction.MatchActionOperationsId;
import net.onrc.onos.core.matchaction.match.Match;
+import net.onrc.onos.core.util.IdGenerator;
/**
* An abstract class to define flow object which is managed by
@@ -67,8 +68,8 @@
*/
public abstract List<MatchActionOperations> compile(
FlowBatchOperation.Operator op,
- MatchActionIdGenerator maIdGenerator,
- MatchActionOperationsIdGenerator maoIdGenerator);
+ IdGenerator<MatchActionId> maIdGenerator,
+ IdGenerator<MatchActionOperationsId> maoIdGenerator);
/**
* Generates a hash code using the FlowId.