first commit
diff --git a/src/main/java/net/onrc/onos/graph/LocalTopologyEventListener.java b/src/main/java/net/onrc/onos/graph/LocalTopologyEventListener.java
index f83e7c2..fc8a196 100644
--- a/src/main/java/net/onrc/onos/graph/LocalTopologyEventListener.java
+++ b/src/main/java/net/onrc/onos/graph/LocalTopologyEventListener.java
@@ -11,94 +11,102 @@
import com.tinkerpop.blueprints.Direction;
import com.tinkerpop.blueprints.Edge;
import com.tinkerpop.blueprints.Vertex;
+import com.tinkerpop.blueprints.impls.ramcloud.*;
+import java.util.Map;
public class LocalTopologyEventListener implements LocalGraphChangedListener {
-
- protected static Logger log = LoggerFactory.getLogger(LocalTopologyEventListener.class);
- protected static GraphDBConnection conn;
-
- public LocalTopologyEventListener(GraphDBConnection conn) {
- LocalTopologyEventListener.conn = conn;
- }
- @Override
- public void edgeAdded(Edge arg0) {
- // TODO Auto-generated method stub
- // Convert this Event into NetMapEvent (LinkAdded, FlowEntryEnabled, HostAttached, PortEnabled)
- }
+ protected static Logger log = LoggerFactory.getLogger(LocalTopologyEventListener.class);
+ protected static DBConnection conn;
+ public LocalTopologyEventListener(DBConnection conn) {
+ LocalTopologyEventListener.conn = conn;
+ }
- @Override
- public void edgePropertyRemoved(Edge arg0, String arg1, Object arg2) {
- // TODO Auto-generated method stub
- // Currently not needed
+ @Override
+ public void edgeAdded(Edge arg0) {
+ // TODO Auto-generated method stub
+ // Convert this Event into NetMapEvent (LinkAdded, FlowEntryEnabled, HostAttached, PortEnabled)
+ }
- }
+ @Override
+ public void edgePropertyRemoved(Edge arg0, String arg1, Object arg2) {
+ // TODO Auto-generated method stub
+ // Currently not needed
+ }
- @Override
- public void edgeRemoved(Edge e) {
- // TODO Auto-generated method stub
- // Fire NetMapEvents (LinkRemoved, FlowEntryRemoved, HostRemoved, PortRemoved)
- TitanEdge edge = (TitanEdge) e;
- log.debug("TopologyEvents: Received edge removed event: {}",edge.toString());
- String label = edge.getLabel();
- if (label.equals("link")) {
- Vertex v = edge.getVertex(Direction.IN);
- IPortObject src_port = conn.getFramedGraph().frame(v, IPortObject.class);
- v = edge.getVertex(Direction.OUT);
- IPortObject dest_port = conn.getFramedGraph().frame(v, IPortObject.class);
+ public void edgeRemoved(Edge e) {
+ Edge edge;
+ if (e instanceof com.tinkerpop.blueprints.impls.ramcloud.RamCloudEdge) {
+ edge = (RamCloudEdge) e;
+ } else {
+ edge = (TitanEdge) e;
+ }
+ // TODO Auto-generated method stub
+ // Fire NetMapEvents (LinkRemoved, FlowEntryRemoved, HostRemoved, PortRemoved)
+ // TitanEdge edge = (TitanEdge) e;
+ log.debug("TopologyEvents: Received edge removed event: {}", edge.toString());
+ String label = edge.getLabel();
+ if (label.equals("link")) {
+ Vertex v = edge.getVertex(Direction.IN);
+ IPortObject src_port = (IPortObject)conn.getFramedGraph().frame(v, IPortObject.class);
+ v = edge.getVertex(Direction.OUT);
+ IPortObject dest_port = (IPortObject)conn.getFramedGraph().frame(v, IPortObject.class);
- log.debug("TopologyEvents: link broken {}", new Object []{src_port.getSwitch().getDPID(),
- src_port.getNumber(),
- dest_port.getSwitch().getDPID(),
- dest_port.getNumber()});
- IFlowManager manager = new FlowManagerImpl();
- // TODO: Find the flows and add to reconcile queue
- manager.reconcileFlows(src_port);
- }
- }
+ log.debug("TopologyEvents: link broken {}", new Object[]{src_port.getSwitch().getDPID(),
+ src_port.getNumber(),
+ dest_port.getSwitch().getDPID(),
+ dest_port.getNumber()});
+ IFlowManager manager = new FlowManagerImpl();
+ // TODO: Find the flows and add to reconcile queue
+ manager.reconcileFlows(src_port);
+ }
+ }
- @Override
- public void vertexAdded(Vertex arg0) {
- // TODO Auto-generated method stub
+ @Override
+ public void vertexAdded(Vertex arg0) {
+ // TODO Auto-generated method stub
+ }
- }
+ @Override
+ public void vertexPropertyRemoved(Vertex arg0, String arg1, Object arg2) {
+ // TODO Auto-generated method stub
+ }
- @Override
- public void vertexPropertyRemoved(Vertex arg0, String arg1, Object arg2) {
- // TODO Auto-generated method stub
+ public void vertexRemoved(Vertex vertex) {
+ // TODO Auto-generated method stub
+ // Generate NetMapEvents
+ String type = (String) vertex.getProperty("type");
+ log.debug("TopologyEvents: Received vertex removed event: {}", vertex.toString());
+ if (type.equals("port")) {
+ // port is removed...lets fire reconcile here directly for now
- }
+ IPortObject src_port = (IPortObject)conn.getFramedGraph().frame(vertex, IPortObject.class);
+ log.debug("TopologyEvents: Port removed: {}:{}", src_port.getSwitch().getDPID(), src_port.getNumber());
+ IFlowManager manager = new FlowManagerImpl();
+ manager.reconcileFlows(src_port);
+ }
+ }
- @Override
- public void vertexRemoved(Vertex vertex) {
- // TODO Auto-generated method stub
- // Generate NetMapEvents
- String type = (String) vertex.getProperty("type");
- log.debug("TopologyEvents: Received vertex removed event: {}",vertex.toString());
- if (type.equals("port")) {
- // port is removed...lets fire reconcile here directly for now
-
- IPortObject src_port = conn.getFramedGraph().frame(vertex, IPortObject.class);
- log.debug("TopologyEvents: Port removed: {}:{}",src_port.getSwitch().getDPID(),src_port.getNumber());
- IFlowManager manager = new FlowManagerImpl();
- manager.reconcileFlows(src_port);
- }
- }
+ @Override
+ public void edgePropertyChanged(Edge arg0, String arg1, Object arg2,
+ Object arg3) {
+ // TODO Auto-generated method stub
+ }
+ @Override
+ public void vertexPropertyChanged(Vertex arg0, String arg1, Object arg2,
+ Object arg3) {
+ // TODO Auto-generated method stub
+ }
- @Override
- public void edgePropertyChanged(Edge arg0, String arg1, Object arg2,
- Object arg3) {
- // TODO Auto-generated method stub
-
- }
+ @Override
+ public void vertexRemoved(Vertex vertex, Map<String, Object> props) {
+ throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
+ }
- @Override
- public void vertexPropertyChanged(Vertex arg0, String arg1, Object arg2,
- Object arg3) {
- // TODO Auto-generated method stub
-
- }
-
+ @Override
+ public void edgeRemoved(Edge edge, Map<String, Object> props) {
+ throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
+ }
}