GUI2 Topo Added base common base for Topo2ViewMessageHandler and TopologyViewMessageHandlerBase

Change-Id: I6818b764a3dbafb134786c4f6cdddd051b0c88ba
diff --git a/web/gui/src/main/java/org/onosproject/ui/impl/topo/Topo2ViewMessageHandler.java b/web/gui/src/main/java/org/onosproject/ui/impl/topo/Topo2ViewMessageHandler.java
index 5fbb444..057a050 100644
--- a/web/gui/src/main/java/org/onosproject/ui/impl/topo/Topo2ViewMessageHandler.java
+++ b/web/gui/src/main/java/org/onosproject/ui/impl/topo/Topo2ViewMessageHandler.java
@@ -67,7 +67,11 @@
     private static final String CURRENT_REGION = "topo2CurrentRegion";
     private static final String PEER_REGIONS = "topo2PeerRegions";
     private static final String OVERLAYS = "topo2Overlays";
+    private static final String TOPO_SELECT_OVERLAY = "topoSelectOverlay";
 
+    // fields
+    private static final String ACTIVATE = "activate";
+    private static final String DEACTIVATE = "deactivate";
 
     private UiTopoSession topoSession;
     private Topo2Jsonifier t2json;
@@ -114,6 +118,19 @@
         );
     }
 
+    private final class TopoSelectOverlay extends RequestHandler {
+        private TopoSelectOverlay() {
+            super(TOPO_SELECT_OVERLAY);
+        }
+
+        @Override
+        public void process(ObjectNode payload) {
+            String deact = string(payload, DEACTIVATE);
+            String act = string(payload, ACTIVATE);
+            overlay2Cache.switchOverlay(deact, act);
+        }
+    }
+
     // ==================================================================
 
     private ObjectNode mkLayoutMessage(UiTopoLayout currentLayout) {