Kryo related fixes
- ProviderIdSerializer fix (ancillary)
- minor improvements
- add test cases
Change-Id: I6d969ac6518c44499f0fac167db4bdf1964f6aaa
diff --git a/core/store/serializers/src/main/java/org/onlab/onos/store/serializers/MastershipTermSerializer.java b/core/store/serializers/src/main/java/org/onlab/onos/store/serializers/MastershipTermSerializer.java
index e4cb999..0ac61a8 100644
--- a/core/store/serializers/src/main/java/org/onlab/onos/store/serializers/MastershipTermSerializer.java
+++ b/core/store/serializers/src/main/java/org/onlab/onos/store/serializers/MastershipTermSerializer.java
@@ -22,7 +22,7 @@
@Override
public MastershipTerm read(Kryo kryo, Input input, Class<MastershipTerm> type) {
- final NodeId node = new NodeId(kryo.readObject(input, String.class));
+ final NodeId node = new NodeId(input.readString());
final int term = input.readInt();
return MastershipTerm.of(node, term);
}
diff --git a/core/store/serializers/src/main/java/org/onlab/onos/store/serializers/NodeIdSerializer.java b/core/store/serializers/src/main/java/org/onlab/onos/store/serializers/NodeIdSerializer.java
index 57c9c16..460b63d 100644
--- a/core/store/serializers/src/main/java/org/onlab/onos/store/serializers/NodeIdSerializer.java
+++ b/core/store/serializers/src/main/java/org/onlab/onos/store/serializers/NodeIdSerializer.java
@@ -22,12 +22,12 @@
@Override
public void write(Kryo kryo, Output output, NodeId object) {
- kryo.writeObject(output, object.toString());
+ output.writeString(object.toString());
}
@Override
public NodeId read(Kryo kryo, Input input, Class<NodeId> type) {
- final String id = kryo.readObject(input, String.class);
+ final String id = input.readString();
return new NodeId(id);
}
}
diff --git a/core/store/serializers/src/main/java/org/onlab/onos/store/serializers/ProviderIdSerializer.java b/core/store/serializers/src/main/java/org/onlab/onos/store/serializers/ProviderIdSerializer.java
index f546f63..060ac7d 100644
--- a/core/store/serializers/src/main/java/org/onlab/onos/store/serializers/ProviderIdSerializer.java
+++ b/core/store/serializers/src/main/java/org/onlab/onos/store/serializers/ProviderIdSerializer.java
@@ -24,13 +24,15 @@
public void write(Kryo kryo, Output output, ProviderId object) {
output.writeString(object.scheme());
output.writeString(object.id());
+ output.writeBoolean(object.isAncillary());
}
@Override
public ProviderId read(Kryo kryo, Input input, Class<ProviderId> type) {
String scheme = input.readString();
String id = input.readString();
- return new ProviderId(scheme, id);
+ boolean isAncillary = input.readBoolean();
+ return new ProviderId(scheme, id, isAncillary);
}
}