Refactoring of IntentId based APIs

- getIntent
- getIntentState
- getInstallableIntents

Change-Id: I6d2073dfa165e0e5adcef46fe5908b563b481a43
diff --git a/web/api/src/main/java/org/onosproject/rest/IntentsWebResource.java b/web/api/src/main/java/org/onosproject/rest/IntentsWebResource.java
index 75287e0..3e20c5d 100644
--- a/web/api/src/main/java/org/onosproject/rest/IntentsWebResource.java
+++ b/web/api/src/main/java/org/onosproject/rest/IntentsWebResource.java
@@ -24,8 +24,8 @@
 
 import org.onosproject.net.intent.HostToHostIntent;
 import org.onosproject.net.intent.Intent;
-import org.onosproject.net.intent.IntentId;
 import org.onosproject.net.intent.IntentService;
+import org.onosproject.net.intent.Key;
 import org.onosproject.net.intent.PointToPointIntent;
 
 import com.fasterxml.jackson.databind.node.ObjectNode;
@@ -54,15 +54,15 @@
     /**
      * Gets a single intent by Id.
      *
-     * @param id Id to look up
+     * @param key Id to look up
      * @return intent data
      */
     @GET
     @Produces(MediaType.APPLICATION_JSON)
     @Path("{id}")
-    public Response getIntentById(@PathParam("id") long id) {
+    public Response getIntentById(@PathParam("id") String key) {
         final Intent intent = nullIsNotFound(get(IntentService.class)
-                        .getIntent(IntentId.valueOf(id)),
+                        .getIntent(Key.of(key, null)),
                 INTENT_NOT_FOUND);
         final ObjectNode root;
         if (intent instanceof HostToHostIntent) {
diff --git a/web/api/src/test/java/org/onosproject/rest/IntentsResourceTest.java b/web/api/src/test/java/org/onosproject/rest/IntentsResourceTest.java
index 3289c87..35a15d5 100644
--- a/web/api/src/test/java/org/onosproject/rest/IntentsResourceTest.java
+++ b/web/api/src/test/java/org/onosproject/rest/IntentsResourceTest.java
@@ -35,8 +35,8 @@
 import org.onosproject.core.IdGenerator;
 import org.onosproject.net.NetworkResource;
 import org.onosproject.net.intent.Intent;
-import org.onosproject.net.intent.IntentId;
 import org.onosproject.net.intent.IntentService;
+import org.onosproject.net.intent.Key;
 
 import com.eclipsesource.json.JsonArray;
 import com.eclipsesource.json.JsonObject;
@@ -339,7 +339,7 @@
 
         intents.add(intent);
 
-        expect(mockIntentService.getIntent(IntentId.valueOf(0)))
+        expect(mockIntentService.getIntent(Key.of(0, APP_ID)))
                 .andReturn(intent)
                 .anyTimes();
         replay(mockIntentService);
@@ -356,7 +356,7 @@
     @Test
     public void testBadGet() {
 
-        expect(mockIntentService.getIntent(IntentId.valueOf(0)))
+        expect(mockIntentService.getIntent(Key.of(0, APP_ID)))
                 .andReturn(null)
                 .anyTimes();
         replay(mockIntentService);
diff --git a/web/gui/src/main/java/org/onosproject/gui/TopologyViewIntentFilter.java b/web/gui/src/main/java/org/onosproject/gui/TopologyViewIntentFilter.java
index 24a9327..0549604 100644
--- a/web/gui/src/main/java/org/onosproject/gui/TopologyViewIntentFilter.java
+++ b/web/gui/src/main/java/org/onosproject/gui/TopologyViewIntentFilter.java
@@ -110,7 +110,7 @@
 
         // Search through all intents and see if they are relevant to our search.
         for (Intent intent : sourceIntents) {
-            if (intentService.getIntentState(intent.id()) == INSTALLED) {
+            if (intentService.getIntentState(intent.key()) == INSTALLED) {
                 boolean isRelevant = false;
                 if (intent instanceof HostToHostIntent) {
                     isRelevant = isIntentRelevantToHosts((HostToHostIntent) intent, hosts) &&
@@ -157,7 +157,7 @@
 
     // Indicates whether the specified intent involves all of the given devices.
     private boolean isIntentRelevantToDevices(Intent intent, Iterable<Device> devices) {
-        List<Intent> installables = intentService.getInstallableIntents(intent.id());
+        List<Intent> installables = intentService.getInstallableIntents(intent.key());
         for (Device device : devices) {
             if (!isIntentRelevantToDevice(installables, device)) {
                 return false;
@@ -228,7 +228,7 @@
         Link ccDst = getFirstLink(opticalIntent.getDst(), true);
 
         for (Intent intent : intents) {
-            List<Intent> installables = intentService.getInstallableIntents(intent.id());
+            List<Intent> installables = intentService.getInstallableIntents(intent.key());
             for (Intent installable : installables) {
                 if (installable instanceof PathIntent) {
                     List<Link> links = ((PathIntent) installable).path().links();
diff --git a/web/gui/src/main/java/org/onosproject/gui/TopologyViewMessages.java b/web/gui/src/main/java/org/onosproject/gui/TopologyViewMessages.java
index 599881c..746c37e 100644
--- a/web/gui/src/main/java/org/onosproject/gui/TopologyViewMessages.java
+++ b/web/gui/src/main/java/org/onosproject/gui/TopologyViewMessages.java
@@ -672,7 +672,7 @@
         for (TrafficClass trafficClass : trafficClasses) {
             for (Intent intent : trafficClass.intents) {
                 boolean isOptical = intent instanceof OpticalConnectivityIntent;
-                List<Intent> installables = intentService.getInstallableIntents(intent.id());
+                List<Intent> installables = intentService.getInstallableIntents(intent.key());
                 if (installables != null) {
                     for (Intent installable : installables) {
                         String type = isOptical ? trafficClass.type + " optical" : trafficClass.type;