Moved pure ONOS code in net.floodlightcontroller.linkdiscovery.internal to onos package namespace
diff --git a/src/main/java/net/onrc/onos/ofcontroller/linkdiscovery/internal/TopoLinkServiceImpl.java b/src/main/java/net/onrc/onos/ofcontroller/linkdiscovery/internal/TopoLinkServiceImpl.java
new file mode 100644
index 0000000..c2e8efe
--- /dev/null
+++ b/src/main/java/net/onrc/onos/ofcontroller/linkdiscovery/internal/TopoLinkServiceImpl.java
@@ -0,0 +1,80 @@
+package net.onrc.onos.ofcontroller.linkdiscovery.internal;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import net.floodlightcontroller.linkdiscovery.internal.LinkStorageImpl;
+import net.floodlightcontroller.linkdiscovery.internal.LinkStorageImpl.ExtractLink;
+import net.floodlightcontroller.routing.Link;
+import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.ISwitchObject;
+import net.onrc.onos.ofcontroller.core.INetMapTopologyService.ITopoLinkService;
+import net.onrc.onos.util.GraphDBConnection;
+import net.onrc.onos.util.GraphDBConnection.Transaction;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import com.tinkerpop.blueprints.Vertex;
+import com.tinkerpop.gremlin.java.GremlinPipeline;
+
+public class TopoLinkServiceImpl implements ITopoLinkService {
+
+ public GraphDBConnection conn;
+ protected static Logger log = LoggerFactory.getLogger(TopoLinkServiceImpl.class);
+
+
+ public void finalize() {
+ close();
+ }
+
+ @Override
+ public void close() {
+ conn.close();
+ }
+
+ @Override
+ public List<Link> getActiveLinks() {
+ // TODO Auto-generated method stub
+ conn = GraphDBConnection.getInstance("");
+ conn.close(); //Commit to ensure we see latest data
+ Iterable<ISwitchObject> switches = conn.utils().getActiveSwitches(conn);
+ List<Link> links = new ArrayList<Link>();
+ for (ISwitchObject sw : switches) {
+ GremlinPipeline<Vertex, Link> pipe = new GremlinPipeline<Vertex, Link>();
+ ExtractLink extractor = new ExtractLink();
+
+ pipe.start(sw.asVertex());
+ pipe.enablePath(true);
+ pipe.out("on").out("link").in("on").path().step(extractor);
+
+ while (pipe.hasNext() ) {
+ Link l = pipe.next();
+ links.add(l);
+ }
+
+ }
+ conn.endTx(Transaction.COMMIT);
+ return links;
+ }
+
+ @Override
+ public List<Link> getLinksOnSwitch(String dpid) {
+ // TODO Auto-generated method stub
+ List<Link> links = new ArrayList<Link>();
+ ISwitchObject sw = conn.utils().searchSwitch(conn, dpid);
+ GremlinPipeline<Vertex, Link> pipe = new GremlinPipeline<Vertex, Link>();
+ ExtractLink extractor = new ExtractLink();
+
+ pipe.start(sw.asVertex());
+ pipe.enablePath(true);
+ pipe.out("on").out("link").in("on").path().step(extractor);
+
+ while (pipe.hasNext() ) {
+ Link l = pipe.next();
+ links.add(l);
+ }
+ return links;
+
+ }
+
+}