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) {