Modified DBOperation
diff --git a/pom.xml b/pom.xml
index d2d6535..3cd33e9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -432,7 +432,7 @@
     <dependency>
       <groupId>com.tinkerpop.blueprints.impls.ramcloud</groupId>
       <artifactId>blueprints-ramcloud-graph</artifactId>
-      <version>2.0.0</version>
+      <version>2.5.0</version>
     </dependency>
   </dependencies>
 </project>
diff --git a/src/main/java/net/onrc/onos/graph/DBOperation.java b/src/main/java/net/onrc/onos/graph/DBOperation.java
index b58198a..d965ad5 100644
--- a/src/main/java/net/onrc/onos/graph/DBOperation.java
+++ b/src/main/java/net/onrc/onos/graph/DBOperation.java
@@ -20,6 +20,7 @@
 import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.IPortObject;
 import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.ISwitchObject;
 import net.onrc.onos.ofcontroller.core.ISwitchStorage;
+import net.onrc.onos.ofcontroller.util.FlowEntryId;
 import net.onrc.onos.ofcontroller.util.FlowId;
 
 /**
@@ -252,17 +253,19 @@
 	 * Search and get a flow path object with specified flow ID.
 	 * @param flowId flow ID to search
 	 */
-	protected IFlowPath searchFlowPath(final FlowId flowId, final FramedGraph fg) {
-	    return fg.getVertices("flow_id", flowId.toString()).iterator().hasNext()
-		    ? (IFlowPath) fg.getVertices("flow_id", flowId.toString(),
+	@Override
+	public IFlowPath searchFlowPath(final FlowId flowId) {
+	    return conn.getFramedGraph().getVertices("flow_id", flowId.toString()).iterator().hasNext()
+		    ? (IFlowPath) conn.getFramedGraph().getVertices("flow_id", flowId.toString(),
 		    IFlowPath.class).iterator().next() : null;
 	}
 
 	/**
 	 * Get all flow path objects.
 	 */
-	protected Iterable<IFlowPath> getAllFlowPaths(final FramedGraph fg) {
-	    Iterable<IFlowPath> flowPaths = fg.getVertices("type", "flow", IFlowPath.class);
+	@Override
+	public Iterable<IFlowPath> getAllFlowPaths() {
+	    Iterable<IFlowPath> flowPaths = conn.getFramedGraph().getVertices("type", "flow", IFlowPath.class);
 
 	    List<IFlowPath> nonNullFlows = new ArrayList<IFlowPath>();
 
@@ -275,6 +278,43 @@
 	}
 	
 	/**
+	 * Remove the specified flow path.
+	 * @param flowPath flow path object to remove
+	 */
+	@Override
+	public void removeFlowPath(IFlowPath flowPath) {
+	    conn.getFramedGraph().removeVertex(flowPath.asVertex());
+	}
+	
+	/**
+	 * Search and get a flow entry object with flow entry ID.
+	 * @param flowEntryId flow entry ID to search
+	 */
+	@Override
+	public IFlowEntry searchFlowEntry(FlowEntryId flowEntryId) {
+	    return conn.getFramedGraph().getVertices("flow_entry_id", flowEntryId.toString()).iterator().hasNext()
+		    ? (IFlowEntry)conn.getFramedGraph().getVertices("flow_entry_id", flowEntryId.toString(),
+		    IFlowEntry.class).iterator().next() : null;
+	}
+
+	/**
+	 * Get all flow entry objects.
+	 */
+	@Override
+	public Iterable<IFlowEntry> getAllFlowEntries() {
+	    return conn.getFramedGraph().getVertices("type", "flow_entry", IFlowEntry.class);
+	}
+
+	/**
+	 * Remove the specified flow entry.
+	 * @param flowEntry flow entry object to remove
+	 */
+	@Override
+	public void removeFlowEntry(IFlowEntry flowEntry) {
+	    conn.getFramedGraph().removeVertex(flowEntry.asVertex());
+	}
+	
+	/**
 	 * Create and return a flow entry object.
 	 */
 	@Override
@@ -328,9 +368,26 @@
 		conn.getFramedGraph().removeVertex(ipv4Address.asVertex());
 	}
 
-	
+	/**
+	 * Get the instance of GraphDBConnection assigned to this class.
+	 */
 	@Override
 	public IDBConnection getDBConnection() {
 	    return conn;
 	}	
+	
+	@Override
+	public void commit() {
+	    conn.commit();
+	}
+
+	@Override
+	public void rollback() {
+	    conn.rollback();
+	}
+
+	@Override
+	public void close() {
+	    conn.close();
+	}
 }
diff --git a/src/main/java/net/onrc/onos/graph/RamCloudDBOperation.java b/src/main/java/net/onrc/onos/graph/RamCloudDBOperation.java
index 657c521..1487be7 100644
--- a/src/main/java/net/onrc/onos/graph/RamCloudDBOperation.java
+++ b/src/main/java/net/onrc/onos/graph/RamCloudDBOperation.java
@@ -24,59 +24,4 @@
 
     public RamCloudDBOperation() {
     }
-
-    @Override
-    public IFlowPath searchFlowPath(FlowId flowId) {
-        FramedGraph<RamCloudGraph> fg = conn.getFramedGraph();
-        return searchFlowPath(flowId, fg);
-    }
-
-    @Override
-    public Iterable<IFlowPath> getAllFlowPaths() {
-        FramedGraph<RamCloudGraph> fg = conn.getFramedGraph();
-        return getAllFlowPaths(fg);
-    }
-
-    @Override
-    public void removeFlowPath(IFlowPath flowPath) {
-        FramedGraph<RamCloudGraph> fg = conn.getFramedGraph();
-        fg.removeVertex(flowPath.asVertex());
-    }
-
-    @Override
-    public IFlowEntry searchFlowEntry(FlowEntryId flowEntryId) {
-        FramedGraph<RamCloudGraph> fg = conn.getFramedGraph();
-
-        return fg.getVertices("flow_entry_id", flowEntryId.toString()).iterator().hasNext()
-                ? fg.getVertices("flow_entry_id", flowEntryId.toString(),
-                IFlowEntry.class).iterator().next() : null;
-    }
-
-    @Override
-    public Iterable<IFlowEntry> getAllFlowEntries() {
-        FramedGraph<RamCloudGraph> fg = conn.getFramedGraph();
-
-        return fg.getVertices("type", "flow_entry", IFlowEntry.class);
-    }
-
-    @Override
-    public void removeFlowEntry(IFlowEntry flowEntry) {
-        FramedGraph<RamCloudGraph> fg = conn.getFramedGraph();
-        fg.removeVertex(flowEntry.asVertex());
-    }
-
-    @Override
-    public void commit() {
-        conn.commit();
-    }
-
-    @Override
-    public void rollback() {
-        conn.rollback();
-    }
-
-    @Override
-    public void close() {
-        conn.close();
-    }
 }
diff --git a/src/main/java/net/onrc/onos/graph/TitanDBOperation.java b/src/main/java/net/onrc/onos/graph/TitanDBOperation.java
index 3a6f13d..1b211d6 100644
--- a/src/main/java/net/onrc/onos/graph/TitanDBOperation.java
+++ b/src/main/java/net/onrc/onos/graph/TitanDBOperation.java
@@ -22,59 +22,5 @@
  * @author nickkaranatsios
  */
 public class TitanDBOperation extends DBOperation {
-	
-    @Override
-    public IFlowPath searchFlowPath(FlowId flowId) {
-        FramedGraph<TitanGraph> fg = conn.getFramedGraph();
-        return searchFlowPath(flowId, fg);
-    }
 
-    @Override
-    public Iterable<IFlowPath> getAllFlowPaths() {
-        FramedGraph<TitanGraph> fg = conn.getFramedGraph();
-        return getAllFlowPaths(fg);
-    }
-
-    @Override
-    public void removeFlowPath(IFlowPath flowPath) {
-        FramedGraph<TitanGraph> fg = conn.getFramedGraph();
-        fg.removeVertex(flowPath.asVertex());
-    }
-
-    @Override
-    public IFlowEntry searchFlowEntry(FlowEntryId flowEntryId) {
-        FramedGraph<TitanGraph> fg = conn.getFramedGraph();
-
-        return fg.getVertices("flow_entry_id", flowEntryId.toString()).iterator().hasNext()
-                ? fg.getVertices("flow_entry_id", flowEntryId.toString(),
-                IFlowEntry.class).iterator().next() : null;
-    }
-
-    @Override
-    public Iterable<IFlowEntry> getAllFlowEntries() {
-        FramedGraph<TitanGraph> fg = conn.getFramedGraph();
-
-        return fg.getVertices("type", "flow_entry", IFlowEntry.class);
-    }
-
-    @Override
-    public void removeFlowEntry(IFlowEntry flowEntry) {
-        FramedGraph<TitanGraph> fg = conn.getFramedGraph();
-        fg.removeVertex(flowEntry.asVertex());
-    }
-
-    @Override
-    public void commit() {
-        conn.commit();
-    }
-
-    @Override
-    public void rollback() {
-        conn.rollback();
-    }
-
-    @Override
-    public void close() {
-        conn.close();
-    }
 }
\ No newline at end of file