GUI -- Further work on refactoring Topology View server side code.
- includes some cleanup of UiMessageHandler and subclasses thereof.

Change-Id: Ie48d830447a4abe1b3accda41a934530a4d55d0e
diff --git a/web/gui/src/main/java/org/onosproject/ui/impl/AltTopoViewMessageHandler.java b/web/gui/src/main/java/org/onosproject/ui/impl/AltTopoViewMessageHandler.java
index 8a7534f..fc16133 100644
--- a/web/gui/src/main/java/org/onosproject/ui/impl/AltTopoViewMessageHandler.java
+++ b/web/gui/src/main/java/org/onosproject/ui/impl/AltTopoViewMessageHandler.java
@@ -53,6 +53,7 @@
     private static final String TOPO_START = "topoStart";
     private static final String TOPO_STOP = "topoStop";
     private static final String REQ_SUMMARY = "requestSummary";
+    private static final String CANCEL_SUMMARY = "cancelSummary";
 
     private final Logger log = LoggerFactory.getLogger(getClass());
 
@@ -80,6 +81,13 @@
         currentSummaryGenerator = defaultSummaryGenerator;
     }
 
+    @Override
+    public void destroy() {
+//        cancelAllMonitoring();
+//        stopListeningToModel();
+        super.destroy();
+    }
+
 
     private String getVersion() {
         String ver = directory.get(CoreService.class).version().toString();
@@ -88,11 +96,12 @@
 
 
     @Override
-    protected Collection<RequestHandler> getHandlers() {
+    protected Collection<RequestHandler> createRequestHandlers() {
         return ImmutableSet.of(
                 new TopoStart(),
                 new TopoStop(),
-                new ReqSummary()
+                new ReqSummary(),
+                new CancelSummary()
                 // TODO: add more handlers here.....
         );
     }
@@ -157,6 +166,17 @@
         }
     }
 
+    private final class CancelSummary extends RequestHandler {
+        private CancelSummary() {
+            super(CANCEL_SUMMARY);
+        }
+
+        @Override
+        public void process(long sid, ObjectNode payload) {
+            modelService.stopSummaryMonitoring();
+        }
+    }
+
     // =====================================================================
 
     private final class DefSummaryGenerator extends AbstractSummaryGenerator {