Merge IntentInstaller's role into IntentCompiler
It resolves naming mismatch in naming of IntentProcessPhases and states
handled in the phases. It is described in ONOS-1064.
- Define FlowRuleIntent that enables flow rule level operation
as an intent.
- Remove IntentInstaller interface
- Existing installable intents such as PathIntent, LinkCollectionIntent,
OpticalPathIntent and MplsPathIntent now become non installable intents.
Only FlowRuleIntent is categorized as installable intent now.
- Implement intent compilers for PathIntent, LinkCollectionIntent,
OpticalPathIntent and MplsPathIntent. They generates FlowRuleIntents.
- Write unit tests for the newly created intent compilers according to
the intent installers' unit tests
- Remove all intent installers and their unit tests
Change-Id: I22d6c7acb65a4c066145de0018bd0727f44bd54a
diff --git a/core/net/src/main/java/org/onosproject/net/intent/impl/phase/WithdrawRequest.java b/core/net/src/main/java/org/onosproject/net/intent/impl/phase/WithdrawRequest.java
index 7940cf7..004bb33 100644
--- a/core/net/src/main/java/org/onosproject/net/intent/impl/phase/WithdrawRequest.java
+++ b/core/net/src/main/java/org/onosproject/net/intent/impl/phase/WithdrawRequest.java
@@ -28,13 +28,21 @@
final class WithdrawRequest implements IntentProcessPhase {
private final IntentProcessor processor;
- private final IntentData pending;
- private final IntentData current;
+ private final IntentData data;
+ private final IntentData stored;
- WithdrawRequest(IntentProcessor processor, IntentData intentData, IntentData current) {
+ /**
+ * Creates a withdraw request phase.
+ *
+ * @param processor intent processor to be passed to intent process phases
+ * generated after this phase
+ * @param intentData intent data to be processed
+ * @param stored intent data stored in the store
+ */
+ WithdrawRequest(IntentProcessor processor, IntentData intentData, IntentData stored) {
this.processor = checkNotNull(processor);
- this.pending = checkNotNull(intentData);
- this.current = checkNotNull(current);
+ this.data = checkNotNull(intentData);
+ this.stored = checkNotNull(stored);
}
@Override
@@ -42,6 +50,7 @@
//TODO perhaps we want to validate that the pending and current are the
// same version i.e. they are the same
// Note: this call is not just the symmetric version of submit
- return Optional.of(new WithdrawCoordinating(processor, pending, current));
+ data.setInstallables(stored.installables());
+ return Optional.of(new Withdrawing(processor, data));
}
}