WIP: adding utility methods

Change-Id: I078a33e67e4b424dd2f1c4eff362550fb3be3424
diff --git a/src/main/java/net/onrc/onos/datastore/topology/RCLink.java b/src/main/java/net/onrc/onos/datastore/topology/RCLink.java
index 957ef88..dfc4307 100644
--- a/src/main/java/net/onrc/onos/datastore/topology/RCLink.java
+++ b/src/main/java/net/onrc/onos/datastore/topology/RCLink.java
@@ -47,6 +47,12 @@
 	public byte[] getSwitchID() {
 	    return RCSwitch.getSwichID(dpid);
 	}
+
+	@Override
+	public String toString() {
+	    return "(" + Long.toHexString(dpid) + "@" + number + ")";
+	}
+
     }
 
     public static final String GLOBAL_LINK_TABLE_NAME = "G:Link";
@@ -76,6 +82,27 @@
 	        .put(RCPort.getPortID(dst_dpid, dst_port_no)).array();
     }
 
+    public static long[] getLinkTupleFromKey(byte[] key) {
+	return getLinkTupleFromKey(ByteBuffer.wrap(key));
+    }
+
+    public static long[] getLinkTupleFromKey(ByteBuffer keyBuf) {
+	long tuple[] = new long[4];
+	if (keyBuf.getChar() != 'L') {
+	    throw new IllegalArgumentException("Invalid Link key");
+	}
+	long src_port_pair[] = RCPort.getPortPairFromKey(keyBuf.slice());
+	keyBuf.position(2 + RCPort.PORTID_BYTES);
+	long dst_port_pair[] = RCPort.getPortPairFromKey(keyBuf.slice());
+
+	tuple[0] = src_port_pair[0];
+	tuple[1] = src_port_pair[1];
+	tuple[2] = dst_port_pair[0];
+	tuple[3] = dst_port_pair[1];
+
+	return tuple;
+    }
+
     public RCLink(Long src_dpid, Long src_port_no, Long dst_dpid,
 	    Long dst_port_no) {
 	super(RCTable.getTable(GLOBAL_LINK_TABLE_NAME), getLinkID(src_dpid,
@@ -86,6 +113,12 @@
 	status = STATUS.INACTIVE;
     }
 
+    public static RCLink createFromKey(byte[] key) {
+	long linkTuple[] = getLinkTupleFromKey(key);
+	return new RCLink(linkTuple[0], linkTuple[1], linkTuple[2],
+	        linkTuple[3]);
+    }
+
     public STATUS getStatus() {
 	return status;
     }
@@ -127,6 +160,11 @@
 	return map;
     }
 
+    @Override
+    public String toString() {
+	return "[RCLink " + src + "->" + dst + " STATUS:" + status + "]";
+    }
+
     public static void main(String[] args) {
 	// TODO Auto-generated method stub