refactor SwitchStorageImpl to use GraphDBOperation class.
diff --git a/src/main/java/net/floodlightcontroller/core/internal/SwitchStorageImpl.java b/src/main/java/net/floodlightcontroller/core/internal/SwitchStorageImpl.java
index b8197b7..04a3307 100644
--- a/src/main/java/net/floodlightcontroller/core/internal/SwitchStorageImpl.java
+++ b/src/main/java/net/floodlightcontroller/core/internal/SwitchStorageImpl.java
@@ -6,8 +6,7 @@
 import net.floodlightcontroller.core.INetMapTopologyObjects.ISwitchObject;
 import net.floodlightcontroller.core.ISwitchStorage;
 import net.onrc.onos.util.GraphDBConnection;
-import net.onrc.onos.util.GraphDBConnection.GenerateEvent;
-import net.onrc.onos.util.GraphDBConnection.Transaction;
+import net.onrc.onos.util.GraphDBOperation;
 
 import org.openflow.protocol.OFPhysicalPort;
 import org.openflow.protocol.OFPhysicalPort.OFPortConfig;
@@ -16,7 +15,7 @@
 import org.slf4j.LoggerFactory;
 
 public class SwitchStorageImpl implements ISwitchStorage {
-	protected GraphDBConnection conn;
+	protected GraphDBOperation op;
 	protected static Logger log = LoggerFactory.getLogger(SwitchStorageImpl.class);
 
 	@Override
@@ -41,13 +40,13 @@
 	}
 
 	private void setStatus(String dpid, SwitchState state) {
-		ISwitchObject sw = conn.utils().searchSwitch(conn, dpid);
+		ISwitchObject sw = op.searchSwitch(dpid);
 		if (sw != null) {
 			sw.setState(state.toString());
-			conn.endTx(Transaction.COMMIT);
+			op.commit();
 			log.info("SwitchStorage:setStatus dpid:{} state: {} done", dpid, state);
 		} 	else {
-			conn.endTx(Transaction.ROLLBACK);
+			op.rollback();
 			log.info("SwitchStorage:setStatus dpid:{} state: {} failed: switch not found", dpid, state);
 		}
 	}
@@ -64,24 +63,20 @@
        }
              
 		try {
-			ISwitchObject sw = conn.utils().searchSwitch(conn, dpid);
+			ISwitchObject sw = op.searchSwitch(dpid);
 
             if (sw != null) {
-            	IPortObject p = conn.utils().searchPort(conn, dpid, port.getPortNumber());
+            	IPortObject p = op.searchPort(dpid, port.getPortNumber());
             	log.info("SwitchStorage:addPort dpid:{} port:{}", dpid, port.getPortNumber());
             	if (p != null) {
             		log.error("SwitchStorage:addPort dpid:{} port:{} exists", dpid, port.getPortNumber());
             	} else {
-            		p = conn.utils().newPort(conn);
-
-            		p.setType("port");
-            		p.setNumber(port.getPortNumber());
+            		p = op.newPort(port.getPortNumber());
             		p.setState("ACTIVE");
             		p.setPortState(port.getState());
             		p.setDesc(port.getName());
             		sw.addPort(p);
-            		conn.endTx(Transaction.COMMIT);
-  
+            		op.commit();
             	}
             } else {
         		log.error("SwitchStorage:addPort dpid:{} port:{} : failed switch does not exist", dpid, port.getPortNumber());
@@ -89,7 +84,7 @@
 		} catch (Exception e) {
              // TODO: handle exceptions
 			e.printStackTrace();
-			conn.endTx(Transaction.ROLLBACK);
+			op.rollback();
 			log.error("SwitchStorage:addPort dpid:{} port:{} failed", dpid, port.getPortNumber());
 		}	
 
@@ -119,7 +114,7 @@
 		log.info("SwitchStorage:addSwitch(): dpid {} ", dpid);
 		
 		try {
-			ISwitchObject sw = conn.utils().searchSwitch(conn, dpid);
+			ISwitchObject sw = op.searchSwitch(dpid);
 			if (sw != null) {
 				/*
 				 *  Do nothing or throw exception?
@@ -127,15 +122,13 @@
 
 				log.info("SwitchStorage:addSwitch dpid:{} already exists", dpid);
 				sw.setState(SwitchState.ACTIVE.toString());
-				conn.endTx(Transaction.COMMIT);
+				op.commit();
 			} else {
-				sw = conn.utils().newSwitch(conn);
+				sw = op.newSwitch(dpid);
 
 				if (sw != null) {
-					sw.setType("switch");
-					sw.setDPID(dpid);
 					sw.setState(SwitchState.ACTIVE.toString());
-					conn.endTx(Transaction.COMMIT);
+					op.commit();
 					log.info("SwitchStorage:addSwitch dpid:{} added", dpid);
 				} else {
 					log.error("switchStorage:addSwitch dpid:{} failed -> newSwitch failed", dpid);
@@ -146,7 +139,7 @@
 			 * retry?
 			 */
 			e.printStackTrace();
-			conn.endTx(Transaction.ROLLBACK);
+			op.rollback();
 			log.info("SwitchStorage:addSwitch dpid:{} failed", dpid);
 		}
 
@@ -159,17 +152,17 @@
 
 		try {
 
-			ISwitchObject sw = conn.utils().searchSwitch(conn, dpid);
+			ISwitchObject sw = op.searchSwitch(dpid);
             if (sw  != null) {
-            	conn.utils().removeSwitch(conn, sw);
+            	op.removeSwitch(sw);
  
-            	conn.endTx(Transaction.COMMIT);
+            	op.commit();
             	log.info("SwitchStorage:DeleteSwitch dpid:{} done", dpid);
             }
 		} catch (Exception e) {
              // TODO: handle exceptions
 			e.printStackTrace();
-			conn.endTx(Transaction.ROLLBACK);			
+			op.rollback();			
 			log.error("SwitchStorage:deleteSwitch {} failed", dpid);
 		}
 
@@ -179,21 +172,21 @@
 	public void deletePort(String dpid, short port) {
 		// TODO Auto-generated method stub
 		try {
-			ISwitchObject sw = conn.utils().searchSwitch(conn, dpid);
+			ISwitchObject sw = op.searchSwitch(dpid);
 
             if (sw != null) {
-            	IPortObject p = conn.utils().searchPort(conn, dpid, port);
+            	IPortObject p = op.searchPort(dpid, port);
                 if (p != null) {
             		log.info("SwitchStorage:deletePort dpid:{} port:{} found and deleted", dpid, port);
             		sw.removePort(p);
-            		conn.utils().removePort(conn, p);
-            		conn.endTx(Transaction.COMMIT);
+            		op.removePort(p);
+            		op.commit();
             	}
             }
 		} catch (Exception e) {
              // TODO: handle exceptions
 			e.printStackTrace();
-			conn.endTx(Transaction.ROLLBACK);
+			op.rollback();
 			log.info("SwitchStorage:deletePort dpid:{} port:{} failed", dpid, port);
 		}	
 	}
@@ -208,9 +201,8 @@
 
 	@Override
 	public void init(String conf) {
-
-		conn = GraphDBConnection.getInstance(conf);
-        
+		GraphDBConnection conn = GraphDBConnection.getInstance(conf);
+		op = new GraphDBOperation(conn);
 	}
 
 
@@ -221,7 +213,7 @@
 	
 	@Override
 	public void close() {
-		conn.close();		
+		op.close();		
 	}