Fixing an issue where intents fail to re-route after a node is restarted; caused by failure to register intent resources correctly.

Change-Id: I239e3b538d5b9134422fa629514e095e4914bb0c
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 2b1b246..d6e1185 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
@@ -66,6 +66,13 @@
     Iterable<Intent> getIntents();
 
     /**
+     * Returns an iterable of intent data objects currently in the system.
+     *
+     * @return set of intent data objects
+     */
+    Iterable<IntentData> getIntentData();
+
+    /**
      * Returns the number of intents currently in the system.
      *
      * @return number of intents
diff --git a/core/api/src/main/java/org/onosproject/net/intent/IntentStoreDelegate.java b/core/api/src/main/java/org/onosproject/net/intent/IntentStoreDelegate.java
index a40ea99..dcb7469 100644
--- a/core/api/src/main/java/org/onosproject/net/intent/IntentStoreDelegate.java
+++ b/core/api/src/main/java/org/onosproject/net/intent/IntentStoreDelegate.java
@@ -29,4 +29,12 @@
      * @param intentData    intent data object
      */
     void process(IntentData intentData);
+
+    /**
+     * Called when a new intent has been updated for which this node is the master.
+     *
+     * @param intentData intent data object
+     */
+    default void onUpdate(IntentData intentData) {
+    }
 }
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 a96967a..a31e986 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
@@ -183,6 +183,11 @@
     }
 
     @Override
+    public Iterable<IntentData> getIntentData() {
+        throw new UnsupportedOperationException();
+    }
+
+    @Override
     public long getIntentCount() {
         return intents.size();
     }
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 dea1e64..13786b4 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,6 +43,11 @@
     }
 
     @Override
+    public Iterable<IntentData> getIntentData() {
+        return null;
+    }
+
+    @Override
     public long getIntentCount() {
         return 0;
     }