ONOS-197: Ignore Link with missing Device

- Catch, log, and skip Link edge creation failure.
- log topology error details

Change-Id: I3cd44a86ed6641c49923f6ed4d2dbaf1f97511d0
diff --git a/core/api/src/test/java/org/onlab/onos/net/topology/DefaultGraphDescriptionTest.java b/core/api/src/test/java/org/onlab/onos/net/topology/DefaultGraphDescriptionTest.java
index 4b229d8..5ff93671 100644
--- a/core/api/src/test/java/org/onlab/onos/net/topology/DefaultGraphDescriptionTest.java
+++ b/core/api/src/test/java/org/onlab/onos/net/topology/DefaultGraphDescriptionTest.java
@@ -16,6 +16,7 @@
 package org.onlab.onos.net.topology;
 
 import com.google.common.collect.ImmutableSet;
+
 import org.junit.Test;
 import org.onlab.onos.net.DefaultDevice;
 import org.onlab.onos.net.Device;
@@ -47,9 +48,13 @@
         assertEquals("incorrect edge count", 2, desc.edges().size());
     }
 
-    @Test(expected = IllegalArgumentException.class)
+    @Test
     public void missingVertex() {
-        new DefaultGraphDescription(4321L, ImmutableSet.of(DEV1, DEV3),
-                                    ImmutableSet.of(L1, L2));
+        GraphDescription desc = new DefaultGraphDescription(4321L,
+                                                            ImmutableSet.of(DEV1, DEV3),
+                                                            ImmutableSet.of(L1, L2));
+        assertEquals("incorrect time", 4321L, desc.timestamp());
+        assertEquals("incorrect vertex count", 2, desc.vertexes().size());
+        assertEquals("incorrect edge count", 0, desc.edges().size());
     }
 }
diff --git a/core/api/src/test/java/org/onlab/onos/net/topology/DefaultTopologyEdgeTest.java b/core/api/src/test/java/org/onlab/onos/net/topology/DefaultTopologyEdgeTest.java
index bf34e1c..9984315 100644
--- a/core/api/src/test/java/org/onlab/onos/net/topology/DefaultTopologyEdgeTest.java
+++ b/core/api/src/test/java/org/onlab/onos/net/topology/DefaultTopologyEdgeTest.java
@@ -48,7 +48,9 @@
 
     static final ProviderId PID = new ProviderId("foo", "bar");
 
+    /** D1:P1 -> D2:P1. */
     static final Link L1 = new DefaultLink(PID, CP1, CP2, Link.Type.INDIRECT);
+    /** D2:P1 -> D1:P2. */
     static final Link L2 = new DefaultLink(PID, CP3, CP4, Link.Type.INDIRECT);
 
     @Test