rename onos.util to onos.graph
diff --git a/src/main/java/net/onrc/onos/flow/FlowManagerImpl.java b/src/main/java/net/onrc/onos/flow/FlowManagerImpl.java
index 9e69115..1f041e6 100644
--- a/src/main/java/net/onrc/onos/flow/FlowManagerImpl.java
+++ b/src/main/java/net/onrc/onos/flow/FlowManagerImpl.java
@@ -18,6 +18,8 @@
 import com.tinkerpop.blueprints.Vertex;
 
 import net.floodlightcontroller.core.IOFSwitch;
+import net.onrc.onos.graph.GraphDBOperation;
+import net.onrc.onos.graph.LocalTopologyEventListener;
 import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.IFlowEntry;
 import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.IFlowPath;
 import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.IPortObject;
@@ -30,8 +32,6 @@
 import net.onrc.onos.ofcontroller.util.FlowPath;
 import net.onrc.onos.ofcontroller.util.Port;
 import net.onrc.onos.ofcontroller.util.SwitchPort;
-import net.onrc.onos.util.GraphDBOperation;
-import net.onrc.onos.util.LocalTopologyEventListener;
 
 public class FlowManagerImpl implements IFlowManager {
 	
diff --git a/src/main/java/net/onrc/onos/ofcontroller/core/internal/DeviceStorageImpl.java b/src/main/java/net/onrc/onos/ofcontroller/core/internal/DeviceStorageImpl.java
index dcb28ce..d4ab34f 100644
--- a/src/main/java/net/onrc/onos/ofcontroller/core/internal/DeviceStorageImpl.java
+++ b/src/main/java/net/onrc/onos/ofcontroller/core/internal/DeviceStorageImpl.java
@@ -11,11 +11,11 @@
 import net.floodlightcontroller.devicemanager.IDevice;
 import net.floodlightcontroller.devicemanager.SwitchPort;
 import net.floodlightcontroller.packet.IPv4;
+import net.onrc.onos.graph.GraphDBOperation;
 import net.onrc.onos.ofcontroller.core.IDeviceStorage;
 import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.IDeviceObject;
 import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.IPortObject;
 import net.onrc.onos.ofcontroller.core.internal.SwitchStorageImpl;
-import net.onrc.onos.util.GraphDBOperation;
 
 /**
  * This is the class for storing the information of devices into CassandraDB
diff --git a/src/main/java/net/onrc/onos/ofcontroller/core/internal/LinkStorageImpl.java b/src/main/java/net/onrc/onos/ofcontroller/core/internal/LinkStorageImpl.java
index b33591e..50783c9 100644
--- a/src/main/java/net/onrc/onos/ofcontroller/core/internal/LinkStorageImpl.java
+++ b/src/main/java/net/onrc/onos/ofcontroller/core/internal/LinkStorageImpl.java
@@ -4,11 +4,11 @@
 import java.util.List;
 
 import net.floodlightcontroller.routing.Link;
+import net.onrc.onos.graph.GraphDBOperation;
 import net.onrc.onos.ofcontroller.core.ILinkStorage;
 import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.IPortObject;
 import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.ISwitchObject;
 import net.onrc.onos.ofcontroller.linkdiscovery.LinkInfo;
-import net.onrc.onos.util.GraphDBOperation;
 
 import org.openflow.util.HexString;
 import org.slf4j.Logger;
diff --git a/src/main/java/net/onrc/onos/ofcontroller/core/internal/SwitchStorageImpl.java b/src/main/java/net/onrc/onos/ofcontroller/core/internal/SwitchStorageImpl.java
index b12ccfa..f2b87ce 100644
--- a/src/main/java/net/onrc/onos/ofcontroller/core/internal/SwitchStorageImpl.java
+++ b/src/main/java/net/onrc/onos/ofcontroller/core/internal/SwitchStorageImpl.java
@@ -1,10 +1,10 @@
 package net.onrc.onos.ofcontroller.core.internal;
 
+import net.onrc.onos.graph.GraphDBConnection;
+import net.onrc.onos.graph.GraphDBOperation;
 import net.onrc.onos.ofcontroller.core.ISwitchStorage;
 import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.IPortObject;
 import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.ISwitchObject;
-import net.onrc.onos.util.GraphDBConnection;
-import net.onrc.onos.util.GraphDBOperation;
 
 import org.openflow.protocol.OFPhysicalPort;
 import org.openflow.protocol.OFPhysicalPort.OFPortConfig;
diff --git a/src/main/java/net/onrc/onos/ofcontroller/core/internal/TopoLinkServiceImpl.java b/src/main/java/net/onrc/onos/ofcontroller/core/internal/TopoLinkServiceImpl.java
index 1222ff3..e810646 100644
--- a/src/main/java/net/onrc/onos/ofcontroller/core/internal/TopoLinkServiceImpl.java
+++ b/src/main/java/net/onrc/onos/ofcontroller/core/internal/TopoLinkServiceImpl.java
@@ -4,10 +4,10 @@
 import java.util.List;
 
 import net.floodlightcontroller.routing.Link;
+import net.onrc.onos.graph.GraphDBOperation;
 import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.ISwitchObject;
 import net.onrc.onos.ofcontroller.core.INetMapTopologyService.ITopoLinkService;
 import net.onrc.onos.ofcontroller.core.internal.LinkStorageImpl.ExtractLink;
-import net.onrc.onos.util.GraphDBOperation;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/src/main/java/net/onrc/onos/ofcontroller/core/internal/TopoSwitchServiceImpl.java b/src/main/java/net/onrc/onos/ofcontroller/core/internal/TopoSwitchServiceImpl.java
index c1659fb..978fcde 100644
--- a/src/main/java/net/onrc/onos/ofcontroller/core/internal/TopoSwitchServiceImpl.java
+++ b/src/main/java/net/onrc/onos/ofcontroller/core/internal/TopoSwitchServiceImpl.java
@@ -1,9 +1,9 @@
 package net.onrc.onos.ofcontroller.core.internal;
 
+import net.onrc.onos.graph.GraphDBOperation;
 import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.IPortObject;
 import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.ISwitchObject;
 import net.onrc.onos.ofcontroller.core.INetMapTopologyService.ITopoSwitchService;
-import net.onrc.onos.util.GraphDBOperation;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/src/main/java/net/onrc/onos/ofcontroller/devicemanager/web/TopoDevicesResource.java b/src/main/java/net/onrc/onos/ofcontroller/devicemanager/web/TopoDevicesResource.java
index 97ecfcc..ac9409f 100644
--- a/src/main/java/net/onrc/onos/ofcontroller/devicemanager/web/TopoDevicesResource.java
+++ b/src/main/java/net/onrc/onos/ofcontroller/devicemanager/web/TopoDevicesResource.java
@@ -2,8 +2,8 @@
 
 import java.util.Iterator;
 
+import net.onrc.onos.graph.GraphDBOperation;
 import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.IDeviceObject;
-import net.onrc.onos.util.GraphDBOperation;
 
 import org.restlet.resource.Get;
 import org.restlet.resource.ServerResource;
diff --git a/src/main/java/net/onrc/onos/ofcontroller/floodlightlistener/NetworkGraphPublisher.java b/src/main/java/net/onrc/onos/ofcontroller/floodlightlistener/NetworkGraphPublisher.java
index bb7318f..5b8e25b 100644
--- a/src/main/java/net/onrc/onos/ofcontroller/floodlightlistener/NetworkGraphPublisher.java
+++ b/src/main/java/net/onrc/onos/ofcontroller/floodlightlistener/NetworkGraphPublisher.java
@@ -24,6 +24,10 @@
 import net.floodlightcontroller.devicemanager.IDeviceService;
 import net.floodlightcontroller.routing.Link;
 import net.floodlightcontroller.threadpool.IThreadPoolService;
+import net.onrc.onos.graph.GraphDBConnection;
+import net.onrc.onos.graph.GraphDBOperation;
+import net.onrc.onos.graph.IDBConnection;
+import net.onrc.onos.graph.LocalTopologyEventListener;
 import net.onrc.onos.ofcontroller.core.IDeviceStorage;
 import net.onrc.onos.ofcontroller.core.ILinkStorage;
 import net.onrc.onos.ofcontroller.core.IOFSwitchPortListener;
@@ -39,10 +43,6 @@
 import net.onrc.onos.registry.controller.IControllerRegistryService;
 import net.onrc.onos.registry.controller.IControllerRegistryService.ControlChangeCallback;
 import net.onrc.onos.registry.controller.RegistryException;
-import net.onrc.onos.util.GraphDBConnection;
-import net.onrc.onos.util.GraphDBOperation;
-import net.onrc.onos.util.IDBConnection;
-import net.onrc.onos.util.LocalTopologyEventListener;
 
 public class NetworkGraphPublisher implements IDeviceListener, IOFSwitchListener, IOFSwitchPortListener,
 		ILinkDiscoveryListener, IFloodlightModule {
diff --git a/src/main/java/net/onrc/onos/ofcontroller/flowmanager/FlowManager.java b/src/main/java/net/onrc/onos/ofcontroller/flowmanager/FlowManager.java
index 2dc230c..2e0d837 100644
--- a/src/main/java/net/onrc/onos/ofcontroller/flowmanager/FlowManager.java
+++ b/src/main/java/net/onrc/onos/ofcontroller/flowmanager/FlowManager.java
@@ -27,6 +27,7 @@
 import net.floodlightcontroller.restserver.IRestApiService;
 import net.floodlightcontroller.util.MACAddress;
 import net.floodlightcontroller.util.OFMessageDamper;
+import net.onrc.onos.graph.GraphDBOperation;
 import net.onrc.onos.ofcontroller.core.INetMapStorage;
 import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.IFlowEntry;
 import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.IFlowPath;
@@ -49,7 +50,6 @@
 import net.onrc.onos.ofcontroller.util.IPv4Net;
 import net.onrc.onos.ofcontroller.util.Port;
 import net.onrc.onos.ofcontroller.util.SwitchPort;
-import net.onrc.onos.util.GraphDBOperation;
 
 import org.openflow.protocol.OFFlowMod;
 import org.openflow.protocol.OFMatch;
diff --git a/src/main/java/net/onrc/onos/ofcontroller/routing/TopoRouteService.java b/src/main/java/net/onrc/onos/ofcontroller/routing/TopoRouteService.java
index 1671412..432e578 100644
--- a/src/main/java/net/onrc/onos/ofcontroller/routing/TopoRouteService.java
+++ b/src/main/java/net/onrc/onos/ofcontroller/routing/TopoRouteService.java
@@ -15,6 +15,7 @@
 import net.floodlightcontroller.core.module.FloodlightModuleException;
 import net.floodlightcontroller.core.module.IFloodlightModule;
 import net.floodlightcontroller.core.module.IFloodlightService;
+import net.onrc.onos.graph.GraphDBOperation;
 import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.ISwitchObject;
 import net.onrc.onos.ofcontroller.core.INetMapTopologyService.ITopoRouteService;
 import net.onrc.onos.ofcontroller.core.ISwitchStorage.SwitchState;
@@ -23,7 +24,6 @@
 import net.onrc.onos.ofcontroller.util.FlowEntry;
 import net.onrc.onos.ofcontroller.util.Port;
 import net.onrc.onos.ofcontroller.util.SwitchPort;
-import net.onrc.onos.util.GraphDBOperation;
 
 import org.openflow.util.HexString;
 import org.slf4j.Logger;
diff --git a/src/main/java/net/onrc/onos/util/GraphDBConnection.java b/src/main/java/net/onrc/onos/util/GraphDBConnection.java
deleted file mode 100644
index 1cc4e5a..0000000
--- a/src/main/java/net/onrc/onos/util/GraphDBConnection.java
+++ /dev/null
@@ -1,158 +0,0 @@
-package net.onrc.onos.util;
-
-import java.util.Set;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.thinkaurelius.titan.core.TitanFactory;
-import com.thinkaurelius.titan.core.TitanGraph;
-import com.tinkerpop.blueprints.TransactionalGraph;
-import com.tinkerpop.blueprints.Vertex;
-import com.tinkerpop.blueprints.util.wrappers.event.EventTransactionalGraph;
-import com.tinkerpop.frames.FramedGraph;
-
-public class GraphDBConnection implements IDBConnection {
-	public enum Transaction {
-		COMMIT, ROLLBACK
-	}
-
-	public enum GenerateEvent {
-		TRUE, FALSE
-	}
-
-	class TransactionHandle {
-		protected TransactionalGraph tr;
-
-		public void create() {
-			tr = graph.newTransaction();
-		}
-	}
-
-	protected static Logger log = LoggerFactory
-			.getLogger(GraphDBConnection.class);
-	private static GraphDBConnection singleton = new GraphDBConnection();
-	private static TitanGraph graph;
-	private static EventTransactionalGraph<TitanGraph> eg;
-	private static String configFile;
-
-	/*
-	 * A private Constructor prevents any other class from instantiating.
-	 */
-	private GraphDBConnection() {
-	}
-
-	/* Static 'instance' method */
-	/**
-	 * Get the instance of GraphDBConnection class.
-	 * @param conf the path to the database configuration file.
-	 * @return GraphDBConnection instance.
-	 */
-	public static synchronized GraphDBConnection getInstance(final String conf) {
-		if (GraphDBConnection.configFile == null
-				|| GraphDBConnection.configFile.isEmpty()) {
-			GraphDBConnection.configFile = conf;
-			log.debug("GraphDBConnection::Setting Config File {}",
-					GraphDBConnection.configFile);
-		}
-		if (!GraphDBConnection.configFile.isEmpty()
-				&& (graph == null || graph.isOpen() == Boolean.FALSE)) {
-			graph = TitanFactory.open(GraphDBConnection.configFile);
-			// FIXME: Creation on Indexes should be done only once
-			Set<String> s = graph.getIndexedKeys(Vertex.class);
-			if (!s.contains("dpid")) {
-				graph.createKeyIndex("dpid", Vertex.class);
-			}
-			if (!s.contains("type")) {
-				graph.createKeyIndex("type", Vertex.class);
-			}
-			if (!s.contains("dl_address")) {
-				graph.createKeyIndex("dl_address", Vertex.class);
-			}
-			if (!s.contains("flow_id")) {
-				graph.createKeyIndex("flow_id", Vertex.class);
-			}
-			if (!s.contains("flow_entry_id")) {
-				graph.createKeyIndex("flow_entry_id", Vertex.class);
-			}
-			if (!s.contains("switch_state")) {
-				graph.createKeyIndex("switch_state", Vertex.class);
-			}
-			graph.commit();
-			eg = new EventTransactionalGraph<TitanGraph>(graph);
-		}
-		return singleton;
-	}
-
-	/** 
-	 * Get a FramedGraph instance of the graph.
-	 */
-	public FramedGraph<TitanGraph> getFramedGraph() {
-		if (isValid()) {
-			FramedGraph<TitanGraph> fg = new FramedGraph<TitanGraph>(graph);
-			return fg;
-		} else {
-			log.error("new FramedGraph failed");
-			return null;
-		}
-	}
-
-	/**
-	 * Get EventTransactionalGraph of the titan graph.
-	 * @return EventTransactionalGraph of the titan graph
-	 */
-	protected EventTransactionalGraph<TitanGraph> getEventGraph() {
-		if (isValid()) {
-			return eg;
-		} else {
-			return null;
-		}
-	}
-
-	/**
-	 * Add LocalGraphChangedLister for the graph.
-	 */
-	public void addEventListener(final LocalGraphChangedListener listener) {
-		EventTransactionalGraph<TitanGraph> eg = this.getEventGraph();
-		eg.addListener(listener);
-		log.debug("Registered listener {}", listener.getClass());
-	}
-
-	/**
-	 * Return whether this connection is valid.
-	 */
-	public Boolean isValid() {
-		return (graph != null || graph.isOpen());
-	}
-
-	/**
-	 * Commit changes for the graph operations.
-	 */
-	public void commit() {
-		try {
-			graph.commit();
-		}
-		catch (Exception e) {
-			log.error("{}", e.toString());
-		}
-	}
-
-	/**
-	 * Rollback changes for the graph operations.
-	 */
-	public void rollback() {
-		try {
-			graph.rollback();
-		}
-		catch (Exception e) {
-			log.error("{}", e.toString());
-		}
-	}
-
-	/**
-	 * Close this database connection.
-	 */
-	public void close() {
-		commit();
-	}
-}
diff --git a/src/main/java/net/onrc/onos/util/GraphDBOperation.java b/src/main/java/net/onrc/onos/util/GraphDBOperation.java
deleted file mode 100644
index 92157fb..0000000
--- a/src/main/java/net/onrc/onos/util/GraphDBOperation.java
+++ /dev/null
@@ -1,362 +0,0 @@
-package net.onrc.onos.util;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.IDeviceObject;
-import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.IFlowEntry;
-import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.IFlowPath;
-import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.IPortObject;
-import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.ISwitchObject;
-import net.onrc.onos.ofcontroller.core.ISwitchStorage.SwitchState;
-import net.onrc.onos.ofcontroller.util.FlowEntryId;
-import net.onrc.onos.ofcontroller.util.FlowId;
-
-import com.thinkaurelius.titan.core.TitanGraph;
-import com.tinkerpop.blueprints.Vertex;
-import com.tinkerpop.frames.FramedGraph;
-import com.tinkerpop.frames.structures.FramedVertexIterable;
-import com.tinkerpop.gremlin.java.GremlinPipeline;
-
-public class GraphDBOperation implements IDBOperation {
-	private GraphDBConnection conn;
-
-	/**
-	 * Create a GraphDBOperation instance from specified GraphDBConnection's instance.
-	 * @param dbConnection an instance of GraphDBConnection
-	 */
-	public GraphDBOperation(GraphDBConnection dbConnection) {
-		this.conn = dbConnection;
-	}
-
-	/**
-	 * Create a GraphDBOperation instance from database configuration path.
-	 * @param dbConfPath a path for database configuration file.
-	 */
-	public GraphDBOperation(final String dbConfPath) {
-		this.conn = GraphDBConnection.getInstance(dbConfPath);
-	}
-
-	/**
-	 * Create a new switch and return the created switch object.
-	 * @param dpid DPID of the switch
-	 */
-	public ISwitchObject newSwitch(String dpid) {
-		FramedGraph<TitanGraph> fg = conn.getFramedGraph();	
-		ISwitchObject obj = fg.addVertex(null,ISwitchObject.class);
-		if (obj != null) {
-			obj.setType("switch");
-			obj.setDPID(dpid);
-		}
-		return obj;
-	}
-
-	/**
-	 * Search and get a switch object with DPID.
-	 * @param dpid DPID of the switch 
-	 */
-	public ISwitchObject searchSwitch(String dpid) {
-		// TODO Auto-generated method stub
-		FramedGraph<TitanGraph> fg = conn.getFramedGraph();
-		
-		return (fg != null && fg.getVertices("dpid",dpid).iterator().hasNext()) ? 
-				fg.getVertices("dpid",dpid,ISwitchObject.class).iterator().next() : null;
-				
-	}
-
-	/**
-	 * Search and get an active switch object with DPID.
-	 * @param dpid DPID of the switch 
-	 */
-	public ISwitchObject searchActiveSwitch(String dpid) {
-	
-	    ISwitchObject sw = searchSwitch(dpid);
-	    if ((sw != null) &&
-	        sw.getState().equals(SwitchState.ACTIVE.toString())) {
-	        return sw;
-	    }
-	    return null;
-	}
-
-	/**
-	 * Get all switch objects.
-	 */
-	public Iterable<ISwitchObject> getAllSwitches() {
-		FramedGraph<TitanGraph> fg = conn.getFramedGraph();
-		Iterable<ISwitchObject> switches =  fg.getVertices("type","switch",ISwitchObject.class);
-		return switches;
-	}
-
-	/**
-	 * Get all active switch objects.
-	 */
-	public Iterable<ISwitchObject> getActiveSwitches() {
-		FramedGraph<TitanGraph> fg = conn.getFramedGraph();
-		Iterable<ISwitchObject> switches =  fg.getVertices("type","switch",ISwitchObject.class);
-		List<ISwitchObject> activeSwitches = new ArrayList<ISwitchObject>();
-	
-		for (ISwitchObject sw: switches) {
-			if(sw.getState().equals(SwitchState.ACTIVE.toString())) {
-				activeSwitches.add(sw);
-			}
-		}
-		return activeSwitches;
-	}
-
-	/**
-	 * Get all inactive switch objects.
-	 */
-	public Iterable<ISwitchObject> getInactiveSwitches() {
-		FramedGraph<TitanGraph> fg = conn.getFramedGraph();
-		Iterable<ISwitchObject> switches =  fg.getVertices("type","switch",ISwitchObject.class);
-		List<ISwitchObject> inactiveSwitches = new ArrayList<ISwitchObject>();
-	
-		for (ISwitchObject sw: switches) {
-			if(sw.getState().equals(SwitchState.INACTIVE.toString())) {
-				inactiveSwitches.add(sw);
-			}
-		}
-		return inactiveSwitches;
-	}
-
-	/**
-	 * Get all flow entries' objects where their switches are not updated.
-	 */
-	public Iterable<IFlowEntry> getAllSwitchNotUpdatedFlowEntries() {
-		FramedGraph<TitanGraph> fg = conn.getFramedGraph();
-		//TODO: Should use an enum for flow_switch_state
-		return fg.getVertices("switch_state", "FE_SWITCH_NOT_UPDATED", IFlowEntry.class);
-	}
-
-	/**
-	 * Remove specified switch.
-	 * @param sw switch object to remove
-	 */
-	public void removeSwitch(ISwitchObject sw) {
-		FramedGraph<TitanGraph> fg = conn.getFramedGraph();	
-		fg.removeVertex(sw.asVertex());		
-	}
-
-	/**
-	 * Create a port having specified port number.
-	 * @param portNumber port number
-	 */
-	public IPortObject newPort(Short portNumber) {
-		FramedGraph<TitanGraph> fg = conn.getFramedGraph();	
-		IPortObject obj = fg.addVertex(null,IPortObject.class);
-		if (obj != null) {
-			obj.setType("port");
-			obj.setNumber(portNumber);
-		}
-		return obj;
-	}
-
-	/**
-	 * Search and get a port object of specified switch and port number.
-	 * @param dpid DPID of a switch
-	 * @param number port number of the switch's port
-	 */
-	public IPortObject searchPort(String dpid, short number) {
-		ISwitchObject sw = searchSwitch(dpid);
-		if (sw != null) {
-			
-			IPortObject port = null;
-			
-			// Requires Frames 2.3.0
-			
-			try {
-				port = sw.getPort(number);
-			} catch (Exception e) {
-				// TODO Auto-generated catch block
-				e.printStackTrace();
-			}
-			
-			return port;
-		}
-			
-	//		if (sw != null) {
-	//			GremlinPipeline<Vertex, IPortObject> pipe = new GremlinPipeline<Vertex, IPortObject>();
-	//			pipe.start(sw.asVertex());
-	//			pipe.out("on").has("number", number);
-	//			FramedVertexIterable<IPortObject> r = new FramedVertexIterable<IPortObject>(conn.getFramedGraph(), (Iterable) pipe, IPortObject.class);
-	//			return r != null && r.iterator().hasNext() ? r.iterator().next() : null;
-	//		}
-		return null;
-	}
-
-	/**
-	 * Remove the specified switch port.
-	 * @param port switch port object to remove
-	 */
-	public void removePort(IPortObject port) {
-		FramedGraph<TitanGraph> fg = conn.getFramedGraph();	
-//		EventGraph<TitanGraph> eg = conn.getEventGraph();
-		if (fg != null) fg.removeVertex(port.asVertex());		
-	}
-
-	/**
-	 * Create and return a device object.
-	 */
-	public IDeviceObject newDevice() {
-		FramedGraph<TitanGraph> fg = conn.getFramedGraph();	
-		IDeviceObject obj = fg.addVertex(null,IDeviceObject.class);
-		if (obj != null) obj.setType("device");
-		return obj;
-	}
-
-	/**
-	 * Search and get a device object having specified MAC address.
-	 * @param macAddr MAC address to search and get
-	 */
-	public IDeviceObject searchDevice(String macAddr) {
-		// TODO Auto-generated method stub
-		FramedGraph<TitanGraph> fg = conn.getFramedGraph();	
-		return (fg != null && fg.getVertices("dl_addr",macAddr).iterator().hasNext()) ?
-			fg.getVertices("dl_addr",macAddr, IDeviceObject.class).iterator().next() : null;
-	}
-
-	/**
-	 * Get all devices.
-	 */
-	public Iterable<IDeviceObject> getDevices() {
-		FramedGraph<TitanGraph> fg = conn.getFramedGraph();	
-		return fg != null ? fg.getVertices("type","device",IDeviceObject.class) : null;
-	}
-
-	/**
-	 * Remove the specified device.
-	 * @param dev a device object to remove
-	 */
-	public void removeDevice(IDeviceObject dev) {
-		FramedGraph<TitanGraph> fg = conn.getFramedGraph();	
-		if (fg != null) fg.removeVertex(dev.asVertex());		
-	}
-
-	/**
-	 * Create and return a flow path object.
-	 */
-	public IFlowPath newFlowPath() {
-		FramedGraph<TitanGraph> fg = conn.getFramedGraph();	
-		IFlowPath flowPath = fg.addVertex(null, IFlowPath.class);
-		if (flowPath != null) flowPath.setType("flow");
-		return flowPath;
-	}
-
-	/**
-	 * Search and get a flow path object with specified flow ID.
-	 * @param flowId flow ID to search
-	 */
-	public IFlowPath searchFlowPath(FlowId flowId) {
-		FramedGraph<TitanGraph> fg = conn.getFramedGraph();
-		
-		return fg.getVertices("flow_id", flowId.toString()).iterator().hasNext() ? 
-		    fg.getVertices("flow_id", flowId.toString(),
-				   IFlowPath.class).iterator().next() : null;
-	}
-
-	/**
-	 * Get a flow path object with a flow entry.
-	 * @param flowEntry flow entry object
-	 */
-	public IFlowPath getFlowPathByFlowEntry(IFlowEntry flowEntry) {
-		GremlinPipeline<Vertex, IFlowPath> pipe = new GremlinPipeline<Vertex, IFlowPath>();
-		pipe.start(flowEntry.asVertex());
-		pipe.out("flow");
-		FramedVertexIterable<IFlowPath> r = new FramedVertexIterable(conn.getFramedGraph(), (Iterable) pipe, IFlowPath.class);
-		return r.iterator().hasNext() ? r.iterator().next() : null;
-	}
-
-	/**
-	 * Get all flow path objects.
-	 */
-    public Iterable<IFlowPath> getAllFlowPaths() {
-		FramedGraph<TitanGraph> fg = conn.getFramedGraph();
-		Iterable<IFlowPath> flowPaths = fg.getVertices("type", "flow", IFlowPath.class);
-		
-		List<IFlowPath> nonNullFlows = new ArrayList<IFlowPath>();
-
-		for (IFlowPath fp: flowPaths) {
-			if (fp.getFlowId() != null) {
-				nonNullFlows.add(fp);
-			}
-		}
-		return nonNullFlows;
-	}
-
-    /**
-     * Remove the specified flow path.
-     * @param flowPath flow path object to remove
-     */
-	public void removeFlowPath(IFlowPath flowPath) {
-		FramedGraph<TitanGraph> fg = conn.getFramedGraph();
-		fg.removeVertex(flowPath.asVertex());
-	}
-
-	/**
-	 * Create and return a flow entry object.
-	 */
-	public IFlowEntry newFlowEntry() {
-		FramedGraph<TitanGraph> fg = conn.getFramedGraph();	
-		IFlowEntry flowEntry = fg.addVertex(null, IFlowEntry.class);
-		if (flowEntry != null) flowEntry.setType("flow_entry");
-		return flowEntry;
-	}
-
-	/**
-	 * Search and get a flow entry object with flow entry ID.
-	 * @param flowEntryId flow entry ID to search
-	 */
-	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;
-	}
-
-	/**
-	 * Get all flow entry objects.
-	 */
-	public Iterable<IFlowEntry> getAllFlowEntries() {
-		FramedGraph<TitanGraph> fg = conn.getFramedGraph();
-		
-		return fg.getVertices("type", "flow_entry", IFlowEntry.class);
-	}
-
-	/**
-	 * Remove the specified flow entry.
-	 * @param flowEntry flow entry object to remove
-	 */
-	public void removeFlowEntry(IFlowEntry flowEntry) {
-		FramedGraph<TitanGraph> fg = conn.getFramedGraph();
-		fg.removeVertex(flowEntry.asVertex());
-	}
-	
-	/**
-	 * Get the instance of GraphDBConnection assigned to this class.
-	 */
-	public IDBConnection getDBConnection() {
-		return conn;
-	}
-	
-	/**
-	 * Commit changes for the graph.
-	 */
-	public void commit() {
-		conn.commit();
-	}
-
-	/**
-	 * Rollback changes for the graph.
-	 */
-	public void rollback() {
-		conn.rollback();
-	}
-
-	/**
-	 * Close the connection of the assigned GraphDBConnection.
-	 */
-	public void close() {
-		conn.close();
-	}
-}
diff --git a/src/main/java/net/onrc/onos/util/IDBConnection.java b/src/main/java/net/onrc/onos/util/IDBConnection.java
deleted file mode 100644
index 995ce39..0000000
--- a/src/main/java/net/onrc/onos/util/IDBConnection.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package net.onrc.onos.util;
-
-import com.thinkaurelius.titan.core.TitanGraph;
-import com.tinkerpop.frames.FramedGraph;
-
-public interface IDBConnection {
-	public FramedGraph<TitanGraph> getFramedGraph();
-	public void addEventListener(final LocalGraphChangedListener listener);
-	public Boolean isValid();
-	public void commit();
-	public void rollback();
-	public void close();
-}
diff --git a/src/main/java/net/onrc/onos/util/IDBOperation.java b/src/main/java/net/onrc/onos/util/IDBOperation.java
deleted file mode 100644
index 335b08b..0000000
--- a/src/main/java/net/onrc/onos/util/IDBOperation.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package net.onrc.onos.util;
-
-import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.IDeviceObject;
-import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.IFlowEntry;
-import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.IFlowPath;
-import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.IPortObject;
-import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.ISwitchObject;
-import net.onrc.onos.ofcontroller.util.FlowEntryId;
-import net.onrc.onos.ofcontroller.util.FlowId;
-
-public interface IDBOperation {
-	public ISwitchObject newSwitch(String dpid);
-	public ISwitchObject searchSwitch(String dpid);
-	public ISwitchObject searchActiveSwitch(String dpid);
-	public Iterable<ISwitchObject> getActiveSwitches();
-	public Iterable<ISwitchObject> getAllSwitches();
-	public Iterable<ISwitchObject> getInactiveSwitches();
-	public Iterable<IFlowEntry> getAllSwitchNotUpdatedFlowEntries();
-	public void removeSwitch(ISwitchObject sw);
-	
-	public IPortObject newPort(Short portNumber);
-	public IPortObject searchPort(String dpid, short number);
-	public void removePort(IPortObject port);
-	
-	public IDeviceObject newDevice();
-	public IDeviceObject searchDevice(String macAddr);
-	public Iterable<IDeviceObject> getDevices();
-	public void removeDevice(IDeviceObject dev);
-
-	public IFlowPath newFlowPath();
-	public IFlowPath searchFlowPath(FlowId flowId);
-	public IFlowPath getFlowPathByFlowEntry(IFlowEntry flowEntry);
-	public Iterable<IFlowPath> getAllFlowPaths();
-	public void removeFlowPath(IFlowPath flowPath);
-
-	public IFlowEntry newFlowEntry();
-	public IFlowEntry searchFlowEntry(FlowEntryId flowEntryId);
-	public Iterable<IFlowEntry> getAllFlowEntries();
-	public void removeFlowEntry(IFlowEntry flowEntry);
-	
-	public IDBConnection getDBConnection();	
-	public void commit();
-	public void rollback();
-	public void close();
-}
diff --git a/src/main/java/net/onrc/onos/util/LocalGraphChangedListener.java b/src/main/java/net/onrc/onos/util/LocalGraphChangedListener.java
deleted file mode 100644
index ac819f9..0000000
--- a/src/main/java/net/onrc/onos/util/LocalGraphChangedListener.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package net.onrc.onos.util;
-
-import com.tinkerpop.blueprints.util.wrappers.event.listener.GraphChangedListener;
-
-public interface LocalGraphChangedListener extends GraphChangedListener {
-
-}
diff --git a/src/main/java/net/onrc/onos/util/LocalTopologyEventListener.java b/src/main/java/net/onrc/onos/util/LocalTopologyEventListener.java
deleted file mode 100644
index dd3c2ec..0000000
--- a/src/main/java/net/onrc/onos/util/LocalTopologyEventListener.java
+++ /dev/null
@@ -1,104 +0,0 @@
-package net.onrc.onos.util;
-
-import net.onrc.onos.flow.FlowManagerImpl;
-import net.onrc.onos.flow.IFlowManager;
-import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.IPortObject;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.thinkaurelius.titan.core.TitanEdge;
-import com.tinkerpop.blueprints.Direction;
-import com.tinkerpop.blueprints.Edge;
-import com.tinkerpop.blueprints.Vertex;
-
-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)
-	}
-
-
-	@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);
-
-			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 vertexPropertyRemoved(Vertex arg0, String arg1, Object arg2) {
-		// TODO Auto-generated method stub
-
-	}
-
-	@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
-		
-	}
-
-}
diff --git a/src/test/java/net/onrc/onos/ofcontroller/core/internal/LinkStorageImplTest.java b/src/test/java/net/onrc/onos/ofcontroller/core/internal/LinkStorageImplTest.java
index 7bf2b1a..57e77b2 100644
--- a/src/test/java/net/onrc/onos/ofcontroller/core/internal/LinkStorageImplTest.java
+++ b/src/test/java/net/onrc/onos/ofcontroller/core/internal/LinkStorageImplTest.java
@@ -8,11 +8,11 @@
 import java.util.List;
 
 import net.floodlightcontroller.routing.Link;
+import net.onrc.onos.graph.GraphDBConnection;
+import net.onrc.onos.graph.GraphDBOperation;
 import net.onrc.onos.ofcontroller.core.ILinkStorage;
 import net.onrc.onos.ofcontroller.core.INetMapStorage.DM_OPERATION;
 import net.onrc.onos.ofcontroller.core.internal.TestableGraphDBOperation.TestPortObject;
-import net.onrc.onos.util.GraphDBConnection;
-import net.onrc.onos.util.GraphDBOperation;
 import net.onrc.onos.ofcontroller.linkdiscovery.LinkInfo;
 
 import org.easymock.EasyMock;
diff --git a/src/test/java/net/onrc/onos/ofcontroller/core/internal/SwitchStorageImplTest.java b/src/test/java/net/onrc/onos/ofcontroller/core/internal/SwitchStorageImplTest.java
index daac980..f65eb4f 100644
--- a/src/test/java/net/onrc/onos/ofcontroller/core/internal/SwitchStorageImplTest.java
+++ b/src/test/java/net/onrc/onos/ofcontroller/core/internal/SwitchStorageImplTest.java
@@ -2,11 +2,11 @@
 
 import static org.easymock.EasyMock.*;
 
+import net.onrc.onos.graph.GraphDBConnection;
+import net.onrc.onos.graph.GraphDBOperation;
 import net.onrc.onos.ofcontroller.core.ISwitchStorage;
 import net.onrc.onos.ofcontroller.core.ISwitchStorage.SwitchState;
 import net.onrc.onos.ofcontroller.core.internal.SwitchStorageImpl;
-import net.onrc.onos.util.GraphDBConnection;
-import net.onrc.onos.util.GraphDBOperation;
 import net.onrc.onos.ofcontroller.core.INetMapStorage.DM_OPERATION;
 import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.IPortObject;
 import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.ISwitchObject;
diff --git a/src/test/java/net/onrc/onos/ofcontroller/core/internal/SwitchStorageImplTestBB.java b/src/test/java/net/onrc/onos/ofcontroller/core/internal/SwitchStorageImplTestBB.java
index f6f70ae..57aefd3 100644
--- a/src/test/java/net/onrc/onos/ofcontroller/core/internal/SwitchStorageImplTestBB.java
+++ b/src/test/java/net/onrc/onos/ofcontroller/core/internal/SwitchStorageImplTestBB.java
@@ -3,11 +3,11 @@
 import static org.junit.Assert.*;
 
 import net.floodlightcontroller.core.internal.TestDatabaseManager;
+import net.onrc.onos.graph.GraphDBConnection;
+import net.onrc.onos.graph.GraphDBOperation;
 import net.onrc.onos.ofcontroller.core.ISwitchStorage;
 import net.onrc.onos.ofcontroller.core.ISwitchStorage.SwitchState;
 import net.onrc.onos.ofcontroller.core.internal.SwitchStorageImpl;
-import net.onrc.onos.util.GraphDBConnection;
-import net.onrc.onos.util.GraphDBOperation;
 import net.onrc.onos.ofcontroller.core.INetMapStorage;
 import net.onrc.onos.ofcontroller.core.INetMapStorage.DM_OPERATION;
 import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.IPortObject;
diff --git a/src/test/java/net/onrc/onos/ofcontroller/core/internal/TestableGraphDBOperation.java b/src/test/java/net/onrc/onos/ofcontroller/core/internal/TestableGraphDBOperation.java
index 31a4bb0..aaca07d 100644
--- a/src/test/java/net/onrc/onos/ofcontroller/core/internal/TestableGraphDBOperation.java
+++ b/src/test/java/net/onrc/onos/ofcontroller/core/internal/TestableGraphDBOperation.java
@@ -11,6 +11,9 @@
 import com.tinkerpop.blueprints.Vertex;
 import com.tinkerpop.frames.annotations.gremlin.GremlinParam;
 
+import net.onrc.onos.graph.GraphDBConnection;
+import net.onrc.onos.graph.GraphDBOperation;
+import net.onrc.onos.graph.IDBConnection;
 import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.IDeviceObject;
 import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.IFlowEntry;
 import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.IFlowPath;
@@ -18,9 +21,6 @@
 import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.ISwitchObject;
 import net.onrc.onos.ofcontroller.util.FlowEntryId;
 import net.onrc.onos.ofcontroller.util.FlowId;
-import net.onrc.onos.util.GraphDBConnection;
-import net.onrc.onos.util.GraphDBOperation;
-import net.onrc.onos.util.IDBConnection;
 
 /**
  * Mock class of GraphDBOperation which provides additional setter to construct a graph for test.
diff --git a/src/test/java/net/onrc/onos/ofcontroller/devicemanager/internal/DeviceStorageImplTest.java b/src/test/java/net/onrc/onos/ofcontroller/devicemanager/internal/DeviceStorageImplTest.java
index 5cdcbb5..de8be4e 100644
--- a/src/test/java/net/onrc/onos/ofcontroller/devicemanager/internal/DeviceStorageImplTest.java
+++ b/src/test/java/net/onrc/onos/ofcontroller/devicemanager/internal/DeviceStorageImplTest.java
@@ -14,12 +14,12 @@
 import net.floodlightcontroller.devicemanager.IDevice;
 import net.floodlightcontroller.devicemanager.SwitchPort;
 import net.floodlightcontroller.packet.IPv4;
+import net.onrc.onos.graph.GraphDBConnection;
+import net.onrc.onos.graph.GraphDBOperation;
 import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.IDeviceObject;
 import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.IPortObject;
 import net.onrc.onos.ofcontroller.core.internal.DeviceStorageImpl;
 import net.onrc.onos.ofcontroller.core.internal.SwitchStorageImpl;
-import net.onrc.onos.util.GraphDBConnection;
-import net.onrc.onos.util.GraphDBOperation;
 import net.floodlightcontroller.devicemanager.internal.Device;
 import org.easymock.EasyMock;
 import org.junit.After;
diff --git a/src/test/java/net/onrc/onos/ofcontroller/devicemanager/internal/DeviceStorageImplTestBB.java b/src/test/java/net/onrc/onos/ofcontroller/devicemanager/internal/DeviceStorageImplTestBB.java
index cea70f0..e4053f4 100644
--- a/src/test/java/net/onrc/onos/ofcontroller/devicemanager/internal/DeviceStorageImplTestBB.java
+++ b/src/test/java/net/onrc/onos/ofcontroller/devicemanager/internal/DeviceStorageImplTestBB.java
@@ -10,14 +10,14 @@
 import net.floodlightcontroller.devicemanager.SwitchPort;
 import net.floodlightcontroller.devicemanager.internal.Device;
 import net.floodlightcontroller.packet.IPv4;
+import net.onrc.onos.graph.GraphDBConnection;
+import net.onrc.onos.graph.GraphDBOperation;
 import net.onrc.onos.ofcontroller.core.IDeviceStorage;
 import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.IDeviceObject;
 import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.IPortObject;
 import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.ISwitchObject;
 import net.onrc.onos.ofcontroller.core.internal.DeviceStorageImpl;
 import net.onrc.onos.ofcontroller.core.internal.SwitchStorageImpl;
-import net.onrc.onos.util.GraphDBConnection;
-import net.onrc.onos.util.GraphDBOperation;
 
 import org.easymock.EasyMock;
 import org.junit.After;
diff --git a/src/test/java/net/onrc/onos/util/GraphDBOperationTest.java b/src/test/java/net/onrc/onos/util/GraphDBOperationTest.java
index 223ac67..f85cc4f 100644
--- a/src/test/java/net/onrc/onos/util/GraphDBOperationTest.java
+++ b/src/test/java/net/onrc/onos/util/GraphDBOperationTest.java
@@ -9,6 +9,7 @@
 
 import junit.framework.TestCase;
 
+import net.onrc.onos.graph.GraphDBOperation;
 import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.IDeviceObject;
 import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.IFlowEntry;
 import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.IFlowPath;
@@ -88,7 +89,7 @@
 	}
 
 	/**
-	 * Test method for {@link net.onrc.onos.util.GraphDBOperation#newSwitch(net.onrc.onos.util.GraphDBConnection)}.
+	 * Test method for {@link net.onrc.onos.graph.GraphDBOperation#newSwitch(net.onrc.onos.graph.GraphDBConnection)}.
 	 */
 	@Test
 	public final void testNewSwitch() {
@@ -103,7 +104,7 @@
 	}
 
 	/**
-	 * Test method for {@link net.onrc.onos.util.GraphDBOperation#searchSwitch(net.onrc.onos.util.GraphDBConnection, java.lang.String)}.
+	 * Test method for {@link net.onrc.onos.graph.GraphDBOperation#searchSwitch(net.onrc.onos.graph.GraphDBConnection, java.lang.String)}.
 	 */
 	@Test
 	public final void testSearchSwitch() {
@@ -120,7 +121,7 @@
 	}
 
 	/**
-	 * Test method for {@link net.onrc.onos.util.GraphDBOperation#searchActiveSwitch(net.onrc.onos.util.GraphDBConnection, java.lang.String)}.
+	 * Test method for {@link net.onrc.onos.graph.GraphDBOperation#searchActiveSwitch(net.onrc.onos.graph.GraphDBConnection, java.lang.String)}.
 	 */
 	@Test
 	public final void testSearchActiveSwitch() {
@@ -137,7 +138,7 @@
 	}
 
 	/**
-	 * Test method for {@link net.onrc.onos.util.GraphDBOperation#getActiveSwitches(net.onrc.onos.util.GraphDBConnection)}.
+	 * Test method for {@link net.onrc.onos.graph.GraphDBOperation#getActiveSwitches(net.onrc.onos.graph.GraphDBConnection)}.
 	 */
 	@Test
 	public final void testGetActiveSwitches() {
@@ -153,7 +154,7 @@
 	}
 
 	/**
-	 * Test method for {@link net.onrc.onos.util.GraphDBOperation#getAllSwitches(net.onrc.onos.util.GraphDBConnection)}.
+	 * Test method for {@link net.onrc.onos.graph.GraphDBOperation#getAllSwitches(net.onrc.onos.graph.GraphDBConnection)}.
 	 */
 	@Test
 	public final void testGetAllSwitches() {
@@ -171,7 +172,7 @@
 	}
 
 	/**
-	 * Test method for {@link net.onrc.onos.util.GraphDBOperation#getInactiveSwitches(net.onrc.onos.util.GraphDBConnection)}.
+	 * Test method for {@link net.onrc.onos.graph.GraphDBOperation#getInactiveSwitches(net.onrc.onos.graph.GraphDBConnection)}.
 	 */
 	@Test
 	public final void testGetInactiveSwitches() {
@@ -187,7 +188,7 @@
 	}
 
 	/**
-	 * Test method for {@link net.onrc.onos.util.GraphDBOperation#getAllSwitchNotUpdatedFlowEntries(net.onrc.onos.util.GraphDBConnection)}.
+	 * Test method for {@link net.onrc.onos.graph.GraphDBOperation#getAllSwitchNotUpdatedFlowEntries(net.onrc.onos.graph.GraphDBConnection)}.
 	 */
 	@Test
 	public final void testGetAllSwitchNotUpdatedFlowEntries() {
@@ -209,7 +210,7 @@
 	}
 
 	/**
-	 * Test method for {@link net.onrc.onos.util.GraphDBOperation#removeSwitch(net.onrc.onos.util.GraphDBConnection, net.floodlightcontroller.core.INetMapTopologyObjects.ISwitchObject)}.
+	 * Test method for {@link net.onrc.onos.graph.GraphDBOperation#removeSwitch(net.onrc.onos.graph.GraphDBConnection, net.floodlightcontroller.core.INetMapTopologyObjects.ISwitchObject)}.
 	 */
 	@Test
 	public final void testRemoveSwitch() {
@@ -225,7 +226,7 @@
 	}
 
 	/**
-	 * Test method for {@link net.onrc.onos.util.GraphDBOperation#newPort(net.onrc.onos.util.GraphDBConnection)}.
+	 * Test method for {@link net.onrc.onos.graph.GraphDBOperation#newPort(net.onrc.onos.graph.GraphDBConnection)}.
 	 */
 	@Test
 	public final void testNewPort() {
@@ -241,7 +242,7 @@
 	}
 
 	/**
-	 * Test method for {@link net.onrc.onos.util.GraphDBOperation#searchPort(net.onrc.onos.util.GraphDBConnection, java.lang.String, short)}.
+	 * Test method for {@link net.onrc.onos.graph.GraphDBOperation#searchPort(net.onrc.onos.graph.GraphDBConnection, java.lang.String, short)}.
 	 */
 	@Test
 	public final void testSearchPort() {
@@ -291,7 +292,7 @@
 	}
 
 	/**
-	 * Test method for {@link net.onrc.onos.util.GraphDBOperation#removePort(net.onrc.onos.util.GraphDBConnection, net.floodlightcontroller.core.INetMapTopologyObjects.IPortObject)}.
+	 * Test method for {@link net.onrc.onos.graph.GraphDBOperation#removePort(net.onrc.onos.graph.GraphDBConnection, net.floodlightcontroller.core.INetMapTopologyObjects.IPortObject)}.
 	 */
 	@Test
 	public final void testRemovePort() {
@@ -324,7 +325,7 @@
 	}
 
 	/**
-	 * Test method for {@link net.onrc.onos.util.GraphDBOperation#newDevice(net.onrc.onos.util.GraphDBConnection)}.
+	 * Test method for {@link net.onrc.onos.graph.GraphDBOperation#newDevice(net.onrc.onos.graph.GraphDBConnection)}.
 	 */
 	@Test
 	public final void testNewDevice() {
@@ -343,7 +344,7 @@
 	}
 
 	/**
-	 * Test method for {@link net.onrc.onos.util.GraphDBOperation#searchDevice(net.onrc.onos.util.GraphDBConnection, java.lang.String)}.
+	 * Test method for {@link net.onrc.onos.graph.GraphDBOperation#searchDevice(net.onrc.onos.graph.GraphDBConnection, java.lang.String)}.
 	 */
 	@Test
 	public final void testSearchDevice() {
@@ -361,7 +362,7 @@
 	}
 
 	/**
-	 * Test method for {@link net.onrc.onos.util.GraphDBOperation#getDevices(net.onrc.onos.util.GraphDBConnection)}.
+	 * Test method for {@link net.onrc.onos.graph.GraphDBOperation#getDevices(net.onrc.onos.graph.GraphDBConnection)}.
 	 */
 	@Test
 	public final void testGetDevices() {
@@ -382,7 +383,7 @@
 	}
 
 	/**
-	 * Test method for {@link net.onrc.onos.util.GraphDBOperation#removeDevice(net.onrc.onos.util.GraphDBConnection, net.floodlightcontroller.core.INetMapTopologyObjects.IDeviceObject)}.
+	 * Test method for {@link net.onrc.onos.graph.GraphDBOperation#removeDevice(net.onrc.onos.graph.GraphDBConnection, net.floodlightcontroller.core.INetMapTopologyObjects.IDeviceObject)}.
 	 */
 	@Test
 	public final void testRemoveDevice() {
@@ -395,7 +396,7 @@
 	}
 
 	/**
-	 * Test method for {@link net.onrc.onos.util.GraphDBOperation#newFlowPath(net.onrc.onos.util.GraphDBConnection)}.
+	 * Test method for {@link net.onrc.onos.graph.GraphDBOperation#newFlowPath(net.onrc.onos.graph.GraphDBConnection)}.
 	 */
 	@Test
 	public final void testNewFlowPath() {
@@ -410,7 +411,7 @@
 	}
 
 	/**
-	 * Test method for {@link net.onrc.onos.util.GraphDBOperation#searchFlowPath(net.onrc.onos.util.GraphDBConnection, net.floodlightcontroller.util.FlowId)}.
+	 * Test method for {@link net.onrc.onos.graph.GraphDBOperation#searchFlowPath(net.onrc.onos.graph.GraphDBConnection, net.floodlightcontroller.util.FlowId)}.
 	 */
 	@Test
 	public final void testSearchFlowPath() {
@@ -426,7 +427,7 @@
 	}
 
 	/**
-	 * Test method for {@link net.onrc.onos.util.GraphDBOperation#getFlowPathByFlowEntry(net.onrc.onos.util.GraphDBConnection, net.floodlightcontroller.core.INetMapTopologyObjects.IFlowEntry)}.
+	 * Test method for {@link net.onrc.onos.graph.GraphDBOperation#getFlowPathByFlowEntry(net.onrc.onos.graph.GraphDBConnection, net.floodlightcontroller.core.INetMapTopologyObjects.IFlowEntry)}.
 	 */
 	@Test
 	public final void testGetFlowPathByFlowEntry() {
@@ -465,7 +466,7 @@
 	}
 
 	/**
-	 * Test method for {@link net.onrc.onos.util.GraphDBOperation#getAllFlowPaths(net.onrc.onos.util.GraphDBConnection)}.
+	 * Test method for {@link net.onrc.onos.graph.GraphDBOperation#getAllFlowPaths(net.onrc.onos.graph.GraphDBConnection)}.
 	 */
 	@Test
 	public final void testGetAllFlowPaths() {
@@ -489,7 +490,7 @@
 	}
 
 	/**
-	 * Test method for {@link net.onrc.onos.util.GraphDBOperation#removeFlowPath(net.onrc.onos.util.GraphDBConnection, net.floodlightcontroller.core.INetMapTopologyObjects.IFlowPath)}.
+	 * Test method for {@link net.onrc.onos.graph.GraphDBOperation#removeFlowPath(net.onrc.onos.graph.GraphDBConnection, net.floodlightcontroller.core.INetMapTopologyObjects.IFlowPath)}.
 	 */
 	@Test
 	public final void testRemoveFlowPath() {
@@ -509,7 +510,7 @@
 	}
 
 	/**
-	 * Test method for {@link net.onrc.onos.util.GraphDBOperation#newFlowEntry(net.onrc.onos.util.GraphDBConnection)}.
+	 * Test method for {@link net.onrc.onos.graph.GraphDBOperation#newFlowEntry(net.onrc.onos.graph.GraphDBConnection)}.
 	 */
 	@Test
 	public final void testNewFlowEntry() {
@@ -525,7 +526,7 @@
 	}
 
 	/**
-	 * Test method for {@link net.onrc.onos.util.GraphDBOperation#searchFlowEntry(net.onrc.onos.util.GraphDBConnection, net.floodlightcontroller.util.FlowEntryId)}.
+	 * Test method for {@link net.onrc.onos.graph.GraphDBOperation#searchFlowEntry(net.onrc.onos.graph.GraphDBConnection, net.floodlightcontroller.util.FlowEntryId)}.
 	 */
 	@Test
 	public final void testSearchFlowEntry() {
@@ -548,7 +549,7 @@
 	}
 
 	/**
-	 * Test method for {@link net.onrc.onos.util.GraphDBOperation#getAllFlowEntries(net.onrc.onos.util.GraphDBConnection)}.
+	 * Test method for {@link net.onrc.onos.graph.GraphDBOperation#getAllFlowEntries(net.onrc.onos.graph.GraphDBConnection)}.
 	 */
 	@Test
 	public final void testGetAllFlowEntries() {
@@ -572,7 +573,7 @@
 	}
 
 	/**
-	 * Test method for {@link net.onrc.onos.util.GraphDBOperation#removeFlowEntry(net.onrc.onos.util.GraphDBConnection, net.floodlightcontroller.core.INetMapTopologyObjects.IFlowEntry)}.
+	 * Test method for {@link net.onrc.onos.graph.GraphDBOperation#removeFlowEntry(net.onrc.onos.graph.GraphDBConnection, net.floodlightcontroller.core.INetMapTopologyObjects.IFlowEntry)}.
 	 */
 	@Test
 	public final void testRemoveFlowEntry() {