GUI2 Add links to GUI2 when created dynamically

Change-Id: Ibfa7ae0fa9b02fd6e1b40b9f201ff002c19591a9
diff --git a/web/gui/src/main/java/org/onosproject/ui/impl/topo/UiTopoSession.java b/web/gui/src/main/java/org/onosproject/ui/impl/topo/UiTopoSession.java
index 3d164f5..363c4b5 100644
--- a/web/gui/src/main/java/org/onosproject/ui/impl/topo/UiTopoSession.java
+++ b/web/gui/src/main/java/org/onosproject/ui/impl/topo/UiTopoSession.java
@@ -16,6 +16,7 @@
 
 package org.onosproject.ui.impl.topo;
 
+import org.onosproject.net.DeviceId;
 import org.onosproject.net.region.RegionId;
 import org.onosproject.ui.UiTopoLayoutService;
 import org.onosproject.ui.impl.UiWebSocket;
@@ -140,6 +141,17 @@
 
     @Override
     public void event(UiModelEvent event) {
+        // To ensure link can be created devices have to be added to the list as
+        // they are created
+        if (event.type() == UiModelEvent.Type.DEVICE_ADDED_OR_UPDATED &&
+                event.memo() == "added") {
+            UiRegion uiRegion = sharedModel.getRegion(currentLayout.regionId());
+            uiRegion.newDeviceAdded(DeviceId.deviceId(event.subject().idAsString()));
+        } else if (event.type() == UiModelEvent.Type.DEVICE_REMOVED) {
+            UiRegion uiRegion = sharedModel.getRegion(currentLayout.regionId());
+            uiRegion.deviceRemoved(DeviceId.deviceId(event.subject().idAsString()));
+        }
+
         webSocket.sendMessage(TOPO2_UI_MODEL_EVENT, t2json.jsonEvent(event));
     }
 
diff --git a/web/gui2-topo-lib/projects/gui2-topo-lib/src/lib/layer/forcesvg/models/force-directed-graph.ts b/web/gui2-topo-lib/projects/gui2-topo-lib/src/lib/layer/forcesvg/models/force-directed-graph.ts
index b4de906..312b69b 100644
--- a/web/gui2-topo-lib/projects/gui2-topo-lib/src/lib/layer/forcesvg/models/force-directed-graph.ts
+++ b/web/gui2-topo-lib/projects/gui2-topo-lib/src/lib/layer/forcesvg/models/force-directed-graph.ts
@@ -36,7 +36,7 @@
     // note: key is link.type
     direct: 100,
     optical: 120,
-    UiEdgeLink: 100,
+    UiEdgeLink: 3,
     _def_: 50,
 };