Refactoring of IntentId based APIs

- getIntent
- getIntentState
- getInstallableIntents

Change-Id: I6d2073dfa165e0e5adcef46fe5908b563b481a43
diff --git a/core/api/src/main/java/org/onosproject/net/intent/IntentService.java b/core/api/src/main/java/org/onosproject/net/intent/IntentService.java
index 20a06fa..2db280f 100644
--- a/core/api/src/main/java/org/onosproject/net/intent/IntentService.java
+++ b/core/api/src/main/java/org/onosproject/net/intent/IntentService.java
@@ -43,6 +43,14 @@
     void withdraw(Intent intent);
 
     /**
+     * Fetches an intent based on its key.
+     *
+     * @param key key of the intent
+     * @return intent object if the key is found, null otherwise
+     */
+    public Intent getIntent(Key key);
+
+    /**
      * Returns an iterable of intents currently in the system.
      *
      * @return set of intents
@@ -57,30 +65,22 @@
     long getIntentCount();
 
     /**
-     * Retrieves the intent specified by its identifier.
-     *
-     * @param id intent identifier
-     * @return the intent or null if one with the given identifier is not found
-     */
-    Intent getIntent(IntentId id);
-
-    /**
      * Retrieves the state of an intent by its identifier.
      *
-     * @param id intent identifier
+     * @param intentKey intent identifier
      * @return the intent state or null if one with the given identifier is not
      * found
      */
-    IntentState getIntentState(IntentId id);
+    IntentState getIntentState(Key intentKey);
 
     /**
      * Returns the list of the installable events associated with the specified
      * top-level intent.
      *
-     * @param intentId top-level intent identifier
+     * @param intentKey top-level intent identifier
      * @return compiled installable intents
      */
-    List<Intent> getInstallableIntents(IntentId intentId);
+    List<Intent> getInstallableIntents(Key intentKey);
 
     /**
      * Adds the specified listener for intent events.
diff --git a/core/api/src/main/java/org/onosproject/net/intent/IntentStore.java b/core/api/src/main/java/org/onosproject/net/intent/IntentStore.java
index e5942f1..ceb5493 100644
--- a/core/api/src/main/java/org/onosproject/net/intent/IntentStore.java
+++ b/core/api/src/main/java/org/onosproject/net/intent/IntentStore.java
@@ -40,37 +40,24 @@
     Iterable<Intent> getIntents();
 
     /**
-     * Returns the intent with the specified identifier.
-     *
-     * @param intentId intent identification
-     * @return intent or null if not found
-     */
-    @Deprecated
-    default Intent getIntent(IntentId intentId) {
-        throw new UnsupportedOperationException("deprecated");
-    }
-
-    /**
      * Returns the state of the specified intent.
      *
-     * @param intentId intent identification
+     * @param intentKey intent identification
      * @return current intent state
      */
-    @Deprecated
-    default IntentState getIntentState(IntentId intentId) {
-        throw new UnsupportedOperationException("deprecated");
+    default IntentState getIntentState(Key intentKey) {
+        return null;
     }
 
     /**
      * Returns the list of the installable events associated with the specified
      * original intent.
      *
-     * @param intentId original intent identifier
+     * @param intentKey original intent identifier
      * @return compiled installable intents
      */
-    @Deprecated
-    default List<Intent> getInstallableIntents(IntentId intentId) {
-        throw new UnsupportedOperationException("deprecated");
+    default List<Intent> getInstallableIntents(Key intentKey) {
+        throw new UnsupportedOperationException("getInstallableIntents()");
     }
 
     /**
@@ -92,7 +79,8 @@
      * @param key key
      * @return intent or null if not found
      */
-    default Intent getIntent(Key key) { //FIXME remove when impl.
+    default Intent getIntent(Key key) {
+        // FIXME remove this default implementation when all stores have implemented it
         return null;
     }
 
diff --git a/core/api/src/test/java/org/onosproject/net/intent/FakeIntentManager.java b/core/api/src/test/java/org/onosproject/net/intent/FakeIntentManager.java
index 4cdb674..c1b7886 100644
--- a/core/api/src/test/java/org/onosproject/net/intent/FakeIntentManager.java
+++ b/core/api/src/test/java/org/onosproject/net/intent/FakeIntentManager.java
@@ -196,18 +196,18 @@
     }
 
     @Override
-    public Intent getIntent(IntentId id) {
-        return intents.get(id);
+    public Intent getIntent(Key intentKey) {
+        return intents.get(intentKey);
     }
 
     @Override
-    public IntentState getIntentState(IntentId id) {
-        return intentStates.get(id);
+    public IntentState getIntentState(Key intentKey) {
+        return intentStates.get(intentKey);
     }
 
     @Override
-    public List<Intent> getInstallableIntents(IntentId intentId) {
-        return installables.get(intentId);
+    public List<Intent> getInstallableIntents(Key intentKey) {
+        return installables.get(intentKey);
     }
 
     @Override
diff --git a/core/api/src/test/java/org/onosproject/net/intent/IntentServiceAdapter.java b/core/api/src/test/java/org/onosproject/net/intent/IntentServiceAdapter.java
index 9441fa4..d600dde 100644
--- a/core/api/src/test/java/org/onosproject/net/intent/IntentServiceAdapter.java
+++ b/core/api/src/test/java/org/onosproject/net/intent/IntentServiceAdapter.java
@@ -43,17 +43,17 @@
     }
 
     @Override
-    public Intent getIntent(IntentId id) {
+    public Intent getIntent(Key intentKey) {
         return null;
     }
 
     @Override
-    public IntentState getIntentState(IntentId id) {
+    public IntentState getIntentState(Key intentKey) {
         return null;
     }
 
     @Override
-    public List<Intent> getInstallableIntents(IntentId intentId) {
+    public List<Intent> getInstallableIntents(Key intentKey) {
         return null;
     }
 
diff --git a/core/api/src/test/java/org/onosproject/net/intent/IntentServiceTest.java b/core/api/src/test/java/org/onosproject/net/intent/IntentServiceTest.java
index 9dce4f1..7ae00aa 100644
--- a/core/api/src/test/java/org/onosproject/net/intent/IntentServiceTest.java
+++ b/core/api/src/test/java/org/onosproject/net/intent/IntentServiceTest.java
@@ -91,7 +91,7 @@
             @Override
             public void run() {
                 assertEquals("incorrect intent state", IntentState.INSTALLED,
-                             service.getIntentState(intent.id()));
+                             service.getIntentState(intent.key()));
             }
         });
 
@@ -112,7 +112,7 @@
             @Override
             public void run() {
                 assertEquals("incorrect intent state", IntentState.WITHDRAWN,
-                             service.getIntentState(intent.id()));
+                             service.getIntentState(intent.key()));
             }
         });
 
@@ -140,7 +140,7 @@
             @Override
             public void run() {
                 assertEquals("incorrect intent state", IntentState.FAILED,
-                             service.getIntentState(intent.id()));
+                             service.getIntentState(intent.key()));
             }
         });
 
@@ -163,7 +163,7 @@
             @Override
             public void run() {
                 assertEquals("incorrect intent state", IntentState.FAILED,
-                             service.getIntentState(intent.id()));
+                             service.getIntentState(intent.key()));
             }
         });
 
@@ -255,7 +255,7 @@
             @Override
             public void run() {
                 assertEquals("incorrect intent state", IntentState.INSTALLED,
-                             service.getIntentState(intent.id()));
+                             service.getIntentState(intent.key()));
             }
         });