Search for dest port for duplicate search
diff --git a/src/main/java/net/floodlightcontroller/linkdiscovery/internal/LinkStorageImpl.java b/src/main/java/net/floodlightcontroller/linkdiscovery/internal/LinkStorageImpl.java
index 31814af..dd743ba 100644
--- a/src/main/java/net/floodlightcontroller/linkdiscovery/internal/LinkStorageImpl.java
+++ b/src/main/java/net/floodlightcontroller/linkdiscovery/internal/LinkStorageImpl.java
@@ -1,5 +1,6 @@
package net.floodlightcontroller.linkdiscovery.internal;
+import java.util.ArrayList;
import java.util.List;
import java.util.Set;
@@ -98,9 +99,16 @@
if (vportSrc != null && vportDst != null) {
//TODO: If Edge already exists should we remove and add again?
- if (vportSrc.query().direction(Direction.OUT).labels("link").vertices().iterator().hasNext() &&
- vportSrc.query().direction(Direction.OUT).labels("link").vertices().iterator().next().equals(vportDst)) {
+ List<Vertex> currLinks = new ArrayList<Vertex>();
+ for (Vertex V : vportSrc.query().direction(Direction.OUT).labels("link").vertices()) {
+ currLinks.add(V);
+ }
+
+ if (currLinks.contains(vportDst)) {
+ // if (vportSrc.query().direction(Direction.OUT).labels("link").vertices().iterator().hasNext() &&
+ // vportSrc.query().direction(Direction.OUT).labels("link").) {
//FIXME: Succeed silently for now
+ log.debug("addLink(): Failure: link exists {} src {} dst {}", new Object[]{lt, vportSrc, vportDst});
} else {
graph.addEdge(null, vportSrc, vportDst, "link");
graph.stopTransaction(Conclusion.SUCCESS);