Make ByteBuffer wrapped ID available.

We often need ByteBuffer wrapped byte[] to use as a Map key.
So expose ByteBuffer used to build ID.

Change-Id: Ic4b73a779faacf262b44735d21111b279ac2467e
diff --git a/src/main/java/net/onrc/onos/datastore/topology/RCDevice.java b/src/main/java/net/onrc/onos/datastore/topology/RCDevice.java
index 8d696ed..bb8a1f2 100644
--- a/src/main/java/net/onrc/onos/datastore/topology/RCDevice.java
+++ b/src/main/java/net/onrc/onos/datastore/topology/RCDevice.java
@@ -54,7 +54,7 @@
 
     // Assuming mac is unique cluster-wide
     public static byte[] getDeviceID(final byte[] mac) {
-        return DeviceEvent.getDeviceID(mac);
+        return DeviceEvent.getDeviceID(mac).array();
     }
 
     public static StringBuilder keysToSB(Collection<byte[]> keys) {
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 fe4eb94..e3edff0 100644
--- a/src/main/java/net/onrc/onos/datastore/topology/RCLink.java
+++ b/src/main/java/net/onrc/onos/datastore/topology/RCLink.java
@@ -77,7 +77,7 @@
     public static byte[] getLinkID(Long src_dpid, Long src_port_no,
 	    Long dst_dpid, Long dst_port_no) {
 	return LinkEvent.getLinkID(src_dpid, src_port_no, dst_dpid,
-		dst_port_no);
+		dst_port_no).array();
     }
 
     public static StringBuilder keysToSB(Collection<byte[]> keys) {
@@ -205,12 +205,12 @@
 	link.setDstSwId(ByteString.copyFrom(dst.getSwitchID()));
 	link.setDstPortId(ByteString.copyFrom(dst.getPortID()));
 	link.setStatus(status.ordinal());
-	
+
 	if (!map.isEmpty()) {
 	    serializeAndSetValue(linkKryo.get(), map);
 	    link.setValue(ByteString.copyFrom(this.getSerializedValue()));
 	}
-	
+
 	this.value = link.build().toByteArray();
     }
 
@@ -231,7 +231,7 @@
 	} catch (InvalidProtocolBufferException e) {
 	    log.error("{" + toString() + "}: Read Link: ", e);
 	    return null;
-	}	
+	}
     }
 
     @Override
diff --git a/src/main/java/net/onrc/onos/datastore/topology/RCPort.java b/src/main/java/net/onrc/onos/datastore/topology/RCPort.java
index 3493d8f..0b88b60 100644
--- a/src/main/java/net/onrc/onos/datastore/topology/RCPort.java
+++ b/src/main/java/net/onrc/onos/datastore/topology/RCPort.java
@@ -1,7 +1,6 @@
 package net.onrc.onos.datastore.topology;
 
 import java.nio.ByteBuffer;
-import java.util.Arrays;
 import java.util.Collection;
 import java.util.HashMap;
 import java.util.Iterator;
@@ -52,7 +51,7 @@
     private STATUS status;
 
     public static byte[] getPortID(Long dpid, Long number) {
-        return PortEvent.getPortID(dpid, number);
+        return PortEvent.getPortID(dpid, number).array();
     }
 
     public static StringBuilder keysToSB(Collection<byte[]> keys) {
@@ -181,19 +180,19 @@
     }
 
     @Override
-    public void serializeAndSetValue() {	
+    public void serializeAndSetValue() {
 	Map<Object, Object> map = getObjectMap();
-	
+
 	PortProperty.Builder port = PortProperty.newBuilder();
 	port.setDpid(dpid);
 	port.setNumber(number);
 	port.setStatus(status.ordinal());
-	
+
 	if (!map.isEmpty()) {
 	    serializeAndSetValue(portKryo.get(), map);
 	    port.setValue(ByteString.copyFrom(this.getSerializedValue()));
 	}
-	
+
 	this.value = port.build().toByteArray();
     }
 
@@ -214,7 +213,7 @@
 	} catch (InvalidProtocolBufferException e) {
 	    log.error("{" + toString() + "}: Read Port: ", e);
 	    return null;
-	}	
+	}
     }
 
     @Override
diff --git a/src/main/java/net/onrc/onos/datastore/topology/RCSwitch.java b/src/main/java/net/onrc/onos/datastore/topology/RCSwitch.java
index c993902..19b9801 100644
--- a/src/main/java/net/onrc/onos/datastore/topology/RCSwitch.java
+++ b/src/main/java/net/onrc/onos/datastore/topology/RCSwitch.java
@@ -60,7 +60,7 @@
     private STATUS status;
 
     public static byte[] getSwitchID(Long dpid) {
-        return SwitchEvent.getSwitchID(dpid);
+        return SwitchEvent.getSwitchID(dpid).array();
     }
 
     public static StringBuilder keysToSB(Collection<byte[]> keys) {
@@ -166,12 +166,12 @@
 	SwitchProperty.Builder sw = SwitchProperty.newBuilder();
 	sw.setDpid(dpid);
 	sw.setStatus(status.ordinal());
-	
+
 	if (!map.isEmpty()) {
 	    serializeAndSetValue(switchKryo.get(), map);
 	    sw.setValue(ByteString.copyFrom(this.getSerializedValue()));
 	}
-	
+
 	this.value = sw.build().toByteArray();
     }