Intent F/W improvements
- aggregate installables into FlowRuleOperations
- added some impl. to SimpleIntentStore
- created Coordinating State
Change-Id: I5b26ec1fdb7aaff9d5da4f21b2d5a249568ac5ac
diff --git a/core/store/trivial/src/main/java/org/onosproject/store/trivial/impl/SimpleIntentStore.java b/core/store/trivial/src/main/java/org/onosproject/store/trivial/impl/SimpleIntentStore.java
index 6658eff..988d02a 100644
--- a/core/store/trivial/src/main/java/org/onosproject/store/trivial/impl/SimpleIntentStore.java
+++ b/core/store/trivial/src/main/java/org/onosproject/store/trivial/impl/SimpleIntentStore.java
@@ -25,6 +25,8 @@
import org.onosproject.net.intent.Intent;
import org.onosproject.net.intent.IntentData;
import org.onosproject.net.intent.IntentEvent;
+import org.onosproject.net.intent.IntentId;
+import org.onosproject.net.intent.IntentState;
import org.onosproject.net.intent.IntentStore;
import org.onosproject.net.intent.IntentStoreDelegate;
import org.onosproject.net.intent.Key;
@@ -33,6 +35,7 @@
import java.util.List;
import java.util.Map;
+import java.util.Objects;
import java.util.stream.Collectors;
import static com.google.common.base.Preconditions.checkNotNull;
@@ -73,6 +76,36 @@
}
@Override
+ public Intent getIntent(IntentId intentId) {
+ for (IntentData data : current.values()) {
+ if (Objects.equals(data.intent().id(), intentId)) {
+ return data.intent();
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public IntentState getIntentState(IntentId intentId) {
+ for (IntentData data : current.values()) {
+ if (Objects.equals(data.intent().id(), intentId)) {
+ return data.state();
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public List<Intent> getInstallableIntents(IntentId intentId) {
+ for (IntentData data : current.values()) {
+ if (Objects.equals(data.intent().id(), intentId)) {
+ return data.installables();
+ }
+ }
+ return null;
+ }
+
+ @Override
public IntentData getIntentData(Key key) {
return current.get(key);
}
@@ -164,6 +197,12 @@
}
}
+ @Override
+ public Intent getIntent(Key key) {
+ IntentData data = current.get(key);
+ return (data != null) ? data.intent() : null;
+ }
+
@Override
public void addPending(IntentData data) {