[onos-5251] This changeset contains implementation of purging intents from ONOS UI
[onos-5251] Addressed review comments from patchset-1
addressed review comments from patchset-2

Change-Id: I93ebe7798b5324fb18738540d3ef6cef6ada395e
diff --git a/web/gui/src/main/java/org/onosproject/ui/impl/TopologyViewMessageHandler.java b/web/gui/src/main/java/org/onosproject/ui/impl/TopologyViewMessageHandler.java
index d48a089..fdfdd1b 100644
--- a/web/gui/src/main/java/org/onosproject/ui/impl/TopologyViewMessageHandler.java
+++ b/web/gui/src/main/java/org/onosproject/ui/impl/TopologyViewMessageHandler.java
@@ -150,6 +150,7 @@
     private static final String NAMES = "names";
     private static final String ACTIVATE = "activate";
     private static final String DEACTIVATE = "deactivate";
+    private static final String PURGE = "purge";
 
 
     private static final String MY_APP_ID = "org.onosproject.gui";
@@ -438,9 +439,7 @@
         Key key = Key.of(intentKey, applicId);
         log.debug("Attempting to select intent by key={}", key);
 
-        Intent intent = intentService.getIntent(key);
-
-        return intent;
+        return intentService.getIntent(key);
     }
 
     private final class RemoveIntent extends RequestHandler {
@@ -448,14 +447,22 @@
             super(REMOVE_INTENT);
         }
 
+        private boolean isIntentToBePurged(ObjectNode payload) {
+            return bool(payload, PURGE);
+        }
+
         @Override
         public void process(long sid, ObjectNode payload) {
             Intent intent = findIntentByPayload(payload);
             if (intent == null) {
                 log.warn("Unable to find intent from payload {}", payload);
             } else {
-                log.debug("Removing intent {}", intent.key());
-                intentService.withdraw(intent);
+                log.debug("Withdrawing / Purging intent {}", intent.key());
+                if (isIntentToBePurged(payload)) {
+                    intentService.purge(intent);
+                } else {
+                    intentService.withdraw(intent);
+                }
             }
         }
     }