ONOS-314 Fixed a bug and update the attmpls.json for demo.

Change-Id: Ic4526141bae5440f9fffce01410114c09a78783f
diff --git a/tools/test/topos/attmpls.json b/tools/test/topos/attmpls.json
index 39cf751..096a78f 100644
--- a/tools/test/topos/attmpls.json
+++ b/tools/test/topos/attmpls.json
@@ -28,31 +28,31 @@
   ],
 
   "hosts": [
-    { "alias":  "h1", "mac": "00:00:00:00:00:01", "vlan": -1, "location": "of:0000000000000001/1", "ip": "10.0.0.1",  "annotations": { "name": "CMBR", "latitude": 44.373730, "longitude": -71.109734  } },
-    { "alias":  "h2", "mac": "00:00:00:00:00:02", "vlan": -1, "location": "of:0000000000000002/1", "ip": "10.0.0.2",  "annotations": { "name": "CHCG", "latitude": 43.877461, "longitude": -87.642892  } },
-    { "alias":  "h3", "mac": "00:00:00:00:00:03", "vlan": -1, "location": "of:0000000000000003/1", "ip": "10.0.0.3",  "annotations": { "name": "CLEV", "latitude": 43.498928, "longitude": -81.695217  } },
-    { "alias":  "h4", "mac": "00:00:00:00:00:04", "vlan": -1, "location": "of:0000000000000004/1", "ip": "10.0.0.4",  "annotations": { "name": "RLGH", "latitude": 37.780150, "longitude": -78.644026  } },
-    { "alias":  "h5", "mac": "00:00:00:00:00:05", "vlan": -1, "location": "of:0000000000000005/1", "ip": "10.0.0.5",  "annotations": { "name": "ATLN", "latitude": 35.749017, "longitude": -84.394168  } },
-    { "alias":  "h6", "mac": "00:00:00:00:00:06", "vlan": -1, "location": "of:0000000000000006/1", "ip": "10.0.0.6",  "annotations": { "name": "PHLA", "latitude": 41.952906, "longitude": -75.172278  } },
-    { "alias":  "h7", "mac": "00:00:00:00:00:07", "vlan": -1, "location": "of:0000000000000007/1", "ip": "10.0.0.7",  "annotations": { "name": "WASH", "latitude": 40.906696, "longitude": -77.035509  } },
-    { "alias":  "h8", "mac": "00:00:00:00:00:08", "vlan": -1, "location": "of:0000000000000008/1", "ip": "10.0.0.8",  "annotations": { "name": "NSVL", "latitude": 38.166410, "longitude": -86.787305  } },
-    { "alias":  "h9", "mac": "00:00:00:00:00:09", "vlan": -1, "location": "of:0000000000000009/1", "ip": "10.0.0.9",  "annotations": { "name": "STLS", "latitude": 40.626418, "longitude": -90.198143  } },
-    { "alias": "h10", "mac": "00:00:00:00:00:0a", "vlan": -1, "location": "of:000000000000000a/1", "ip": "10.0.0.10", "annotations": { "name": "NWOR", "latitude": 31.951475, "longitude": -90.078434  } },
-    { "alias": "h11", "mac": "00:00:00:00:00:0b", "vlan": -1, "location": "of:000000000000000b/1", "ip": "10.0.0.11", "annotations": { "name": "HSTN", "latitude": 31.763249, "longitude": -95.368332  } },
-    { "alias": "h12", "mac": "00:00:00:00:00:0c", "vlan": -1, "location": "of:000000000000000c/1", "ip": "10.0.0.12", "annotations": { "name": "SNAN", "latitude": 31.424331, "longitude": -98.491745  } },
-    { "alias": "h13", "mac": "00:00:00:00:00:0d", "vlan": -1, "location": "of:000000000000000d/1", "ip": "10.0.0.13", "annotations": { "name": "DLLS", "latitude": 34.777665, "longitude": -96.802064  } },
-    { "alias": "h14", "mac": "00:00:00:00:00:0e", "vlan": -1, "location": "of:000000000000000e/1", "ip": "10.0.0.14", "annotations": { "name": "ORLD", "latitude": 31.538641, "longitude": -81.381110  } },
-    { "alias": "h15", "mac": "00:00:00:00:00:0f", "vlan": -1, "location": "of:000000000000000f/1", "ip": "10.0.0.15", "annotations": { "name": "DNVR", "latitude": 41.736623, "longitude": -104.984887 } },
-    { "alias": "h16", "mac": "00:00:00:00:00:10", "vlan": -1, "location": "of:0000000000000010/1", "ip": "10.0.0.16", "annotations": { "name": "KSCY", "latitude": 41.100725, "longitude": -94.581228  } },
-    { "alias": "h17", "mac": "00:00:00:00:00:11", "vlan": -1, "location": "of:0000000000000011/1", "ip": "10.0.0.17", "annotations": { "name": "SNFN", "latitude": 39.779751, "longitude": -122.409791 } },
-    { "alias": "h18", "mac": "00:00:00:00:00:12", "vlan": -1, "location": "of:0000000000000012/1", "ip": "10.0.0.18", "annotations": { "name": "SCRM", "latitude": 40.581001, "longitude": -121.497844 } },
-    { "alias": "h19", "mac": "00:00:00:00:00:13", "vlan": -1, "location": "of:0000000000000013/1", "ip": "10.0.0.19", "annotations": { "name": "PTLD", "latitude": 47.523317, "longitude": -122.677768 } },
-    { "alias": "h20", "mac": "00:00:00:00:00:14", "vlan": -1, "location": "of:0000000000000014/1", "ip": "10.0.0.20", "annotations": { "name": "STTL", "latitude": 49.607326, "longitude": -122.331786 } },
-    { "alias": "h21", "mac": "00:00:00:00:00:15", "vlan": -1, "location": "of:0000000000000015/1", "ip": "10.0.0.21", "annotations": { "name": "SLKC", "latitude": 42.759577, "longitude": -111.895079 } },
-    { "alias": "h22", "mac": "00:00:00:00:00:16", "vlan": -1, "location": "of:0000000000000016/1", "ip": "10.0.0.22", "annotations": { "name": "LA03", "latitude": 36.056346, "longitude": -118.235951 } },
-    { "alias": "h23", "mac": "00:00:00:00:00:17", "vlan": -1, "location": "of:0000000000000017/1", "ip": "10.0.0.23", "annotations": { "name": "SNDG", "latitude": 34.714564, "longitude": -117.153528 } },
-    { "alias": "h24", "mac": "00:00:00:00:00:18", "vlan": -1, "location": "of:0000000000000018/1", "ip": "10.0.0.24", "annotations": { "name": "PHNX", "latitude": 35.448289, "longitude": -112.076299 } },
-    { "alias": "h25", "mac": "00:00:00:00:00:19", "vlan": -1, "location": "of:0000000000000019/1", "ip": "10.0.0.25", "annotations": { "name": "NY54", "latitude": 42.728270, "longitude": -73.994483  } }
+    { "alias":  "h1", "mac": "00:00:00:00:00:01", "vlan": -1, "location": "of:0000000000000001/1", "ip": "10.0.0.1",  "annotations": { "name": "CMBR", "latitude": 43.355715, "longitude":  -69.528243 } },
+    { "alias":  "h2", "mac": "00:00:00:00:00:02", "vlan": -1, "location": "of:0000000000000002/1", "ip": "10.0.0.2",  "annotations": { "name": "CHCG", "latitude": 43.632679, "longitude":  -88.772526 } },
+    { "alias":  "h3", "mac": "00:00:00:00:00:03", "vlan": -1, "location": "of:0000000000000003/1", "ip": "10.0.0.3",  "annotations": { "name": "CLEV", "latitude": 42.756945, "longitude":  -79.831317 } },
+    { "alias":  "h4", "mac": "00:00:00:00:00:04", "vlan": -1, "location": "of:0000000000000004/1", "ip": "10.0.0.4",  "annotations": { "name": "RLGH", "latitude": 36.972249, "longitude":  -76.667163 } },
+    { "alias":  "h5", "mac": "00:00:00:00:00:05", "vlan": -1, "location": "of:0000000000000005/1", "ip": "10.0.0.5",  "annotations": { "name": "ATLN", "latitude": 35.427493, "longitude":  -83.885831 } },
+    { "alias":  "h6", "mac": "00:00:00:00:00:06", "vlan": -1, "location": "of:0000000000000006/1", "ip": "10.0.0.6",  "annotations": { "name": "PHLA", "latitude": 39.208113, "longitude":  -73.421341 } },
+    { "alias":  "h7", "mac": "00:00:00:00:00:07", "vlan": -1, "location": "of:0000000000000007/1", "ip": "10.0.0.7",  "annotations": { "name": "WASH", "latitude": 40.133860, "longitude":  -79.238299 } },
+    { "alias":  "h8", "mac": "00:00:00:00:00:08", "vlan": -1, "location": "of:0000000000000008/1", "ip": "10.0.0.8",  "annotations": { "name": "NSVL", "latitude": 37.407589, "longitude":  -84.415068 } },
+    { "alias":  "h9", "mac": "00:00:00:00:00:09", "vlan": -1, "location": "of:0000000000000009/1", "ip": "10.0.0.9",  "annotations": { "name": "STLS", "latitude": 40.066810, "longitude":  -90.932405 } },
+    { "alias": "h10", "mac": "00:00:00:00:00:0a", "vlan": -1, "location": "of:000000000000000a/1", "ip": "10.0.0.10", "annotations": { "name": "NWOR", "latitude": 31.470982, "longitude":  -88.779353 } },
+    { "alias": "h11", "mac": "00:00:00:00:00:0b", "vlan": -1, "location": "of:000000000000000b/1", "ip": "10.0.0.11", "annotations": { "name": "HSTN", "latitude": 31.136858, "longitude":  -94.351656 } },
+    { "alias": "h12", "mac": "00:00:00:00:00:0c", "vlan": -1, "location": "of:000000000000000c/1", "ip": "10.0.0.12", "annotations": { "name": "SNAN", "latitude": 28.040975, "longitude":  -99.169527 } },
+    { "alias": "h13", "mac": "00:00:00:00:00:0d", "vlan": -1, "location": "of:000000000000000d/1", "ip": "10.0.0.13", "annotations": { "name": "DLLS", "latitude": 31.899825, "longitude":  -99.287263 } },
+    { "alias": "h14", "mac": "00:00:00:00:00:0e", "vlan": -1, "location": "of:000000000000000e/1", "ip": "10.0.0.14", "annotations": { "name": "ORLD", "latitude": 26.670509, "longitude":  -81.291920 } },
+    { "alias": "h15", "mac": "00:00:00:00:00:0f", "vlan": -1, "location": "of:000000000000000f/1", "ip": "10.0.0.15", "annotations": { "name": "DNVR", "latitude": 40.888148, "longitude": -103.459878 } },
+    { "alias": "h16", "mac": "00:00:00:00:00:10", "vlan": -1, "location": "of:0000000000000010/1", "ip": "10.0.0.16", "annotations": { "name": "KSCY", "latitude": 40.545088, "longitude":  -93.734002 } },
+    { "alias": "h17", "mac": "00:00:00:00:00:11", "vlan": -1, "location": "of:0000000000000011/1", "ip": "10.0.0.17", "annotations": { "name": "SNFN", "latitude": 39.081743, "longitude": -124.330172 } },
+    { "alias": "h18", "mac": "00:00:00:00:00:12", "vlan": -1, "location": "of:0000000000000012/1", "ip": "10.0.0.18", "annotations": { "name": "SCRM", "latitude": 40.107468, "longitude": -120.424689 } },
+    { "alias": "h19", "mac": "00:00:00:00:00:13", "vlan": -1, "location": "of:0000000000000013/1", "ip": "10.0.0.19", "annotations": { "name": "PTLD", "latitude": 44.383051, "longitude": -124.767594 } },
+    { "alias": "h20", "mac": "00:00:00:00:00:14", "vlan": -1, "location": "of:0000000000000014/1", "ip": "10.0.0.20", "annotations": { "name": "STTL", "latitude": 48.832627, "longitude": -120.298441 } },
+    { "alias": "h21", "mac": "00:00:00:00:00:15", "vlan": -1, "location": "of:0000000000000015/1", "ip": "10.0.0.21", "annotations": { "name": "SLKC", "latitude": 42.301734, "longitude": -111.217297 } },
+    { "alias": "h22", "mac": "00:00:00:00:00:16", "vlan": -1, "location": "of:0000000000000016/1", "ip": "10.0.0.22", "annotations": { "name": "LA03", "latitude": 33.224634, "longitude": -121.532943 } },
+    { "alias": "h23", "mac": "00:00:00:00:00:17", "vlan": -1, "location": "of:0000000000000017/1", "ip": "10.0.0.23", "annotations": { "name": "SNDG", "latitude": 31.834607, "longitude": -118.847982 } },
+    { "alias": "h24", "mac": "00:00:00:00:00:18", "vlan": -1, "location": "of:0000000000000018/1", "ip": "10.0.0.24", "annotations": { "name": "PHNX", "latitude": 34.662290, "longitude": -110.946662 } },
+    { "alias": "h25", "mac": "00:00:00:00:00:19", "vlan": -1, "location": "of:0000000000000019/1", "ip": "10.0.0.25", "annotations": { "name": "NY54", "latitude": 42.395459, "longitude":  -75.293563 } }
   ]
 
 }
diff --git a/web/gui/src/main/java/org/onlab/onos/gui/TopologyResource.java b/web/gui/src/main/java/org/onlab/onos/gui/TopologyResource.java
index 4e73f77..3f2e14e 100644
--- a/web/gui/src/main/java/org/onlab/onos/gui/TopologyResource.java
+++ b/web/gui/src/main/java/org/onlab/onos/gui/TopologyResource.java
@@ -19,6 +19,7 @@
 import com.fasterxml.jackson.databind.node.ArrayNode;
 import com.fasterxml.jackson.databind.node.ObjectNode;
 import org.onlab.rest.BaseResource;
+import org.slf4j.Logger;
 
 import javax.ws.rs.GET;
 import javax.ws.rs.Path;
@@ -26,14 +27,19 @@
 import javax.ws.rs.core.Response;
 import java.util.Map;
 
+import static org.slf4j.LoggerFactory.getLogger;
+
 /**
  * Topology viewer resource.
  */
 @Path("topology")
 public class TopologyResource extends BaseResource {
 
+    private static final Logger log = getLogger(TopologyResource.class);
+
     private final ObjectMapper mapper = new ObjectMapper();
 
+
     @Path("/geoloc")
     @GET
     @Produces("application/json")
@@ -45,7 +51,7 @@
         Map<String, ObjectNode> metaUi = TopologyViewMessages.getMetaUi();
         for (String id : metaUi.keySet()) {
             ObjectNode memento = metaUi.get(id);
-            if (id.charAt(12) == '/') {
+            if (id.charAt(17) == '/') {
                 addGeoData(hosts, "id", id, memento);
             } else {
                 addGeoData(devices, "uri", id, memento);
@@ -62,9 +68,13 @@
         ObjectNode node = mapper.createObjectNode().put(idField, id);
         ObjectNode annot = mapper.createObjectNode();
         node.set("annotations", annot);
-        annot.put("latitude", memento.get("lat").asDouble())
-                .put("longitude", memento.get("lng").asDouble());
-        array.add(node);
+        try {
+            annot.put("latitude", memento.get("lat").asDouble())
+                    .put("longitude", memento.get("lng").asDouble());
+            array.add(node);
+        } catch (Exception e) {
+            log.debug("Skipping geo entry");
+        }
     }
 
 }