diff --git a/web/gui/src/main/java/org/onosproject/ui/impl/MapSelectorMessageHandler.java b/web/gui/src/main/java/org/onosproject/ui/impl/MapSelectorMessageHandler.java
index 4fc5af66..fdb2467 100644
--- a/web/gui/src/main/java/org/onosproject/ui/impl/MapSelectorMessageHandler.java
+++ b/web/gui/src/main/java/org/onosproject/ui/impl/MapSelectorMessageHandler.java
@@ -74,14 +74,14 @@
             UiTopoMapFactory mapFactory = ext.topoMapFactory();
 
             if (mapFactory != null) {
-                List<UiTopoMap> topoMaps = mapFactory.newMaps();
+                List<UiTopoMap> topoMaps = mapFactory.geoMaps();
 
                 topoMaps.forEach(m -> {
-                    maps.set(m.getId(), objectNode().put(MAP_ID, m.getId())
-                            .put(DESCRIPTION, m.getDescription())
-                            .put(FILE_PATH, m.getFilePath())
-                            .put(SCALE, m.getScale()));
-                    order.add(m.getId());
+                    maps.set(m.id(), objectNode().put(MAP_ID, m.id())
+                            .put(DESCRIPTION, m.description())
+                            .put(FILE_PATH, m.filePath())
+                            .put(SCALE, m.scale()));
+                    order.add(m.id());
                 });
             }
         });
diff --git a/web/gui/src/main/java/org/onosproject/ui/impl/UiWebSocket.java b/web/gui/src/main/java/org/onosproject/ui/impl/UiWebSocket.java
index 40f2622..69850ff 100644
--- a/web/gui/src/main/java/org/onosproject/ui/impl/UiWebSocket.java
+++ b/web/gui/src/main/java/org/onosproject/ui/impl/UiWebSocket.java
@@ -23,6 +23,7 @@
 import org.onlab.osgi.ServiceNotFoundException;
 import org.onosproject.cluster.ClusterService;
 import org.onosproject.cluster.ControllerNode;
+import org.onosproject.ui.GlyphConstants;
 import org.onosproject.ui.UiConnection;
 import org.onosproject.ui.UiExtensionService;
 import org.onosproject.ui.UiMessageHandler;
@@ -32,7 +33,6 @@
 import org.onosproject.ui.impl.topo.UiTopoSession;
 import org.onosproject.ui.impl.topo.model.UiSharedTopologyModel;
 import org.onosproject.ui.model.topo.UiTopoLayout;
-import org.onosproject.ui.topo.TopoConstants;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -293,7 +293,7 @@
             ObjectNode instance = mapper.createObjectNode()
                     .put(ID, node.id().toString())
                     .put(IP, node.ip().toString())
-                    .put(TopoConstants.Glyphs.UI_ATTACHED,
+                    .put(GlyphConstants.UI_ATTACHED,
                             node.equals(service.getLocalNode()));
             instances.add(instance);
         }
