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();
}