Added endPortA/B to UiLink class.
Removed 'online' property from UiDevice, choosing to look up availability on the fly from device service.

Change-Id: Ib14ab371a11c442a30cf407f11d366271d087c68
diff --git a/web/gui/src/main/java/org/onosproject/ui/impl/topo/Topo2Jsonifier.java b/web/gui/src/main/java/org/onosproject/ui/impl/topo/Topo2Jsonifier.java
index 6f436a5..8ff3bb6 100644
--- a/web/gui/src/main/java/org/onosproject/ui/impl/topo/Topo2Jsonifier.java
+++ b/web/gui/src/main/java/org/onosproject/ui/impl/topo/Topo2Jsonifier.java
@@ -281,7 +281,7 @@
                 .put("id", device.idAsString())
                 .put("nodeType", DEVICE)
                 .put("type", device.type())
-                .put("online", device.isOnline())
+                .put("online", deviceService.isAvailable(device.id()))
                 .put("master", nullIsEmpty(device.master()))
                 .put("layer", device.layer());
 
@@ -364,11 +364,20 @@
 
     private ObjectNode json(UiSynthLink sLink) {
         UiLink uLink = sLink.link();
-        return objectNode()
+        ObjectNode data = objectNode()
                 .put("id", uLink.idAsString())
                 .put("epA", uLink.endPointA())
                 .put("epB", uLink.endPointB())
                 .put("type", uLink.type());
+        String pA = uLink.endPortA();
+        String pB = uLink.endPortB();
+        if (pA != null) {
+            data.put("portA", pA);
+        }
+        if (pB != null) {
+            data.put("portB", pB);
+        }
+        return data;
     }
 
 
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 0d4d6aa..c1f6e03 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
@@ -136,22 +136,10 @@
             peersPayload.set("peers", t2json.closedNodes(peers));
             sendMessage(PEER_REGIONS, peersPayload);
 
-            // TODO: send breadcrumb message
-
             // finally, tell the UI that we are done : TODO review / delete??
             sendMessage(TOPO_START_DONE, null);
-
-
-            // OLD CODE DID THE FOLLOWING...
-//            addListeners();
-//            sendAllInstances(null);
-//            sendAllDevices();
-//            sendAllLinks();
-//            sendAllHosts();
-//            sendTopoStartDone();
         }
 
-
     }
 
     private final class Topo2NavRegion extends RequestHandler {