Topo2 - UiSynthLink aggregation in JSON structure.
- augment UiLinkId with Type field
- preparing for new JSON structure in Topo2Jsonifier
- additional unit tests

Change-Id: Ib8628fc26f72c0369bf8358af905bc6a75e31397
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 da1f8e4..8b5741a 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
@@ -46,12 +46,12 @@
 import org.onosproject.ui.UiPreferencesService;
 import org.onosproject.ui.UiTopoMap;
 import org.onosproject.ui.UiTopoMapFactory;
-import org.onosproject.ui.model.topo.UiModelEvent;
 import org.onosproject.ui.model.topo.UiClusterMember;
 import org.onosproject.ui.model.topo.UiDevice;
 import org.onosproject.ui.model.topo.UiElement;
 import org.onosproject.ui.model.topo.UiHost;
 import org.onosproject.ui.model.topo.UiLink;
+import org.onosproject.ui.model.topo.UiModelEvent;
 import org.onosproject.ui.model.topo.UiNode;
 import org.onosproject.ui.model.topo.UiRegion;
 import org.onosproject.ui.model.topo.UiSynthLink;
@@ -363,9 +363,13 @@
         return kids;
     }
 
-    private JsonNode jsonLinks(List<UiSynthLink> links) {
+    protected JsonNode jsonLinks(List<UiSynthLink> links) {
         ArrayNode synthLinks = arrayNode();
         links.forEach(l -> synthLinks.add(json(l)));
+
+        // TODO: implement the following........
+//        collateSynthLinks(synthLinks, links);
+
         return synthLinks;
     }
 
@@ -505,7 +509,7 @@
 
         } catch (NumberFormatException e) {
             log.warn("Invalid {} data: lat/Y={}, long/X={}",
-                    locType, values.get(0), values.get(1));
+                     locType, values.get(0), values.get(1));
         }
     }
 
@@ -517,9 +521,9 @@
             ObjectNode o = objectNode();
             for (LayoutLocation ll : locs) {
                 ObjectNode lnode = objectNode()
-                    .put(LOC_TYPE, ll.locType().toString())
-                    .put(LAT_OR_Y, ll.latOrY())
-                    .put(LONG_OR_X, ll.longOrX());
+                        .put(LOC_TYPE, ll.locType().toString())
+                        .put(LAT_OR_Y, ll.latOrY())
+                        .put(LONG_OR_X, ll.longOrX());
                 o.set(ll.id(), lnode);
             }
 
@@ -577,6 +581,13 @@
         return node;
     }
 
+    // TODO: add method to JSONify an aggregated collection of synth links
+
+    private void collateSynthLinks(ArrayNode array,
+                                   List<UiSynthLink> links) {
+        // TODO - combine via link id
+    }
+
     private ObjectNode json(UiSynthLink sLink) {
         return json(sLink.link());
     }