Merge pull request #530 from jonohart/titan
Upgraded to Titan 0.4.2 (plus Frames 2.4.0 and Blueprints 2.4.0)
diff --git a/pom.xml b/pom.xml
index 39e9f30..c0cf489 100644
--- a/pom.xml
+++ b/pom.xml
@@ -291,7 +291,7 @@
<dependency>
<groupId>com.thinkaurelius.titan</groupId>
<artifactId>titan-all</artifactId>
- <version>0.2.1</version>
+ <version>0.4.2</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
@@ -302,12 +302,12 @@
<dependency>
<groupId>com.tinkerpop</groupId>
<artifactId>frames</artifactId>
- <version>2.3.1</version>
+ <version>2.4.0</version>
</dependency>
<dependency>
<groupId>com.tinkerpop.blueprints</groupId>
<artifactId>blueprints-core</artifactId>
- <version>2.3.0</version>
+ <version>2.4.0</version>
</dependency>
<dependency>
<groupId>com.hazelcast</groupId>
diff --git a/src/main/java/net/onrc/onos/graph/GraphDBConnection.java b/src/main/java/net/onrc/onos/graph/GraphDBConnection.java
index 16869c5..b504c4b 100644
--- a/src/main/java/net/onrc/onos/graph/GraphDBConnection.java
+++ b/src/main/java/net/onrc/onos/graph/GraphDBConnection.java
@@ -11,6 +11,8 @@
import com.tinkerpop.blueprints.Vertex;
import com.tinkerpop.blueprints.util.wrappers.event.EventTransactionalGraph;
import com.tinkerpop.frames.FramedGraph;
+import com.tinkerpop.frames.FramedGraphFactory;
+import com.tinkerpop.frames.modules.gremlingroovy.GremlinGroovyModule;
public class GraphDBConnection implements IDBConnection {
public enum Transaction {
@@ -33,6 +35,7 @@
.getLogger(GraphDBConnection.class);
private static GraphDBConnection singleton = new GraphDBConnection();
private static TitanGraph graph;
+ private static FramedGraphFactory factory;
private static FramedGraph<TitanGraph> fg;
private static EventTransactionalGraph<TitanGraph> eg;
private static String configFile;
@@ -86,7 +89,9 @@
graph.createKeyIndex("ipv4_address", Vertex.class);
}
graph.commit();
- fg = new FramedGraph<TitanGraph>(graph);
+ // Make sure you reuse the factory when creating new framed graphs
+ factory = new FramedGraphFactory(new GremlinGroovyModule());
+ fg = factory.create(graph);
eg = new EventTransactionalGraph<TitanGraph>(graph);
}
return singleton;
@@ -97,7 +102,12 @@
*/
@Override
public FramedGraph<TitanGraph> getFramedGraph() {
- return fg;
+ if (isValid()) {
+ return fg;
+ } else {
+ log.error("New FramedGraph failed");
+ return null;
+ }
}
/**
diff --git a/src/main/java/net/onrc/onos/graph/LocalTopologyEventListener.java b/src/main/java/net/onrc/onos/graph/LocalTopologyEventListener.java
index 932d422..e519ec0 100644
--- a/src/main/java/net/onrc/onos/graph/LocalTopologyEventListener.java
+++ b/src/main/java/net/onrc/onos/graph/LocalTopologyEventListener.java
@@ -1,5 +1,7 @@
package net.onrc.onos.graph;
+import java.util.Map;
+
import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.IPortObject;
import org.slf4j.Logger;
@@ -34,7 +36,7 @@
}
@Override
- public void edgeRemoved(Edge e) {
+ public void edgeRemoved(Edge e, Map<String, Object> arg1) {
// TODO Auto-generated method stub
// Fire NetMapEvents (LinkRemoved, FlowEntryRemoved, HostRemoved, PortRemoved)
TitanEdge edge = (TitanEdge) e;
@@ -72,7 +74,7 @@
}
@Override
- public void vertexRemoved(Vertex vertex) {
+ public void vertexRemoved(Vertex vertex, Map<String, Object> arg1) {
// TODO Auto-generated method stub
// Generate NetMapEvents
String type = (String) vertex.getProperty("type");
diff --git a/start-onos-embedded.sh b/start-onos-embedded.sh
index 5202daf..7bd0b97 100755
--- a/start-onos-embedded.sh
+++ b/start-onos-embedded.sh
@@ -91,6 +91,7 @@
<logger name="org" level="WARN"/>
<logger name="LogService" level="WARN"/> <!-- Restlet access logging -->
<logger name="net.floodlightcontroller.logging" level="WARN"/>
+<logger name="com.thinkaurelius.titan" level="INFO"/>
<root level="DEBUG">
<appender-ref ref="FILE" />
diff --git a/start-onos-jacoco.sh b/start-onos-jacoco.sh
index 2d1adf4..b721e9e 100755
--- a/start-onos-jacoco.sh
+++ b/start-onos-jacoco.sh
@@ -97,6 +97,7 @@
<logger name="org" level="WARN"/>
<logger name="LogService" level="WARN"/> <!-- Restlet access logging -->
<logger name="net.floodlightcontroller.logging" level="WARN"/>
+<logger name="com.thinkaurelius.titan" level="INFO"/>
<root level="DEBUG">
<appender-ref ref="FILE" />
diff --git a/start-onos.sh b/start-onos.sh
index d8df237..b1fed60 100755
--- a/start-onos.sh
+++ b/start-onos.sh
@@ -96,6 +96,7 @@
<logger name="org" level="WARN"/>
<logger name="LogService" level="WARN"/> <!-- Restlet access logging -->
<logger name="net.floodlightcontroller.logging" level="WARN"/>
+<logger name="com.thinkaurelius.titan" level="INFO"/>
<root level="DEBUG">
<appender-ref ref="FILE" />