Refactor Intent subsystem to eliminate using FlowRuleBatchOperation
Change-Id: Iee76dac5fa9935713ffc370b34ac47d9286ff351
diff --git a/core/api/src/main/java/org/onosproject/net/flow/FlowRuleOperations.java b/core/api/src/main/java/org/onosproject/net/flow/FlowRuleOperations.java
index 498cc05..84e0b8b 100644
--- a/core/api/src/main/java/org/onosproject/net/flow/FlowRuleOperations.java
+++ b/core/api/src/main/java/org/onosproject/net/flow/FlowRuleOperations.java
@@ -104,6 +104,17 @@
}
/**
+ * Appends an existing flow rule to the current stage.
+ *
+ * @param flowRuleOperation flow rule operation
+ * @return this
+ */
+ public Builder operation(FlowRuleOperation flowRuleOperation) {
+ currentStage.add(flowRuleOperation);
+ return this;
+ }
+
+ /**
* Appends a flow rule modify to the current stage.
*
* @param flowRule flow rule
diff --git a/core/api/src/main/java/org/onosproject/net/intent/IntentInstaller.java b/core/api/src/main/java/org/onosproject/net/intent/IntentInstaller.java
index 8a9577f..b0877a0 100644
--- a/core/api/src/main/java/org/onosproject/net/intent/IntentInstaller.java
+++ b/core/api/src/main/java/org/onosproject/net/intent/IntentInstaller.java
@@ -15,9 +15,10 @@
*/
package org.onosproject.net.intent;
-import org.onosproject.net.flow.FlowRuleBatchOperation;
-
import java.util.List;
+import java.util.Set;
+
+import org.onosproject.net.flow.FlowRuleOperation;
/**
* Abstraction of entity capable of installing intents to the environment.
@@ -31,7 +32,7 @@
* @return flow rule operations to complete install
* @throws IntentException if issues are encountered while installing the intent
*/
- List<FlowRuleBatchOperation> install(T intent);
+ List<Set<FlowRuleOperation>> install(T intent);
/**
* Uninstalls the specified intent from the environment.
@@ -40,7 +41,7 @@
* @return flow rule operations to complete uninstall
* @throws IntentException if issues are encountered while uninstalling the intent
*/
- List<FlowRuleBatchOperation> uninstall(T intent);
+ List<Set<FlowRuleOperation>> uninstall(T intent);
/**
* Replaces the specified intent with a new one in the environment.
@@ -50,6 +51,6 @@
* @return flow rule operations to complete the replace
* @throws IntentException if issues are encountered while uninstalling the intent
*/
- List<FlowRuleBatchOperation> replace(T oldIntent, T newIntent);
+ List<Set<FlowRuleOperation>> replace(T oldIntent, T newIntent);
}