Add keys to intents

- use Key class rather than String for intent keys
- add CLI option to specify a string key
- add key field to constructors for connectivity intents
- translate id into a key if no key is specified

Change-Id: I69ffbad93bc3daddf06a67cb0cffa2130e781b37
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 4b67421..6658eff 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
@@ -27,6 +27,7 @@
 import org.onosproject.net.intent.IntentEvent;
 import org.onosproject.net.intent.IntentStore;
 import org.onosproject.net.intent.IntentStoreDelegate;
+import org.onosproject.net.intent.Key;
 import org.onosproject.store.AbstractStore;
 import org.slf4j.Logger;
 
@@ -46,8 +47,8 @@
     private final Logger log = getLogger(getClass());
 
     // current state maps FIXME.. make this a IntentData map
-    private final Map<String, IntentData> current = Maps.newConcurrentMap();
-    private final Map<String, IntentData> pending = Maps.newConcurrentMap(); //String is "key"
+    private final Map<Key, IntentData> current = Maps.newConcurrentMap();
+    private final Map<Key, IntentData> pending = Maps.newConcurrentMap(); //String is "key"
 
     @Activate
     public void activate() {
@@ -72,7 +73,7 @@
     }
 
     @Override
-    public IntentData getIntentData(String key) {
+    public IntentData getIntentData(Key key) {
         return current.get(key);
     }