Kryo related fixes
- KryoNamespace to allow control over registration id
Change-Id: Idc2a0e27a09916657c725ee97e4366109144cc66
diff --git a/core/store/serializers/src/main/java/org/onlab/onos/store/serializers/ImmutableSetSerializer.java b/core/store/serializers/src/main/java/org/onlab/onos/store/serializers/ImmutableSetSerializer.java
index f63d17d..bcba7df 100644
--- a/core/store/serializers/src/main/java/org/onlab/onos/store/serializers/ImmutableSetSerializer.java
+++ b/core/store/serializers/src/main/java/org/onlab/onos/store/serializers/ImmutableSetSerializer.java
@@ -18,9 +18,8 @@
import java.util.ArrayList;
import java.util.List;
-import org.onlab.util.KryoNamespace.FamilySerializer;
-
import com.esotericsoftware.kryo.Kryo;
+import com.esotericsoftware.kryo.Serializer;
import com.esotericsoftware.kryo.io.Input;
import com.esotericsoftware.kryo.io.Output;
import com.esotericsoftware.kryo.serializers.CollectionSerializer;
@@ -29,7 +28,7 @@
/**
* Kryo Serializer for {@link ImmutableSet}.
*/
-public class ImmutableSetSerializer extends FamilySerializer<ImmutableSet<?>> {
+public class ImmutableSetSerializer extends Serializer<ImmutableSet<?>> {
private final CollectionSerializer serializer = new CollectionSerializer();
@@ -39,6 +38,7 @@
public ImmutableSetSerializer() {
// non-null, immutable
super(false, true);
+ serializer.setElementsCanBeNull(false);
}
@Override
@@ -52,12 +52,4 @@
List<?> elms = kryo.readObject(input, ArrayList.class, serializer);
return ImmutableSet.copyOf(elms);
}
-
- @Override
- public void registerFamilies(Kryo kryo) {
- kryo.register(ImmutableSet.of().getClass(), this);
- kryo.register(ImmutableSet.of(1).getClass(), this);
- kryo.register(ImmutableSet.of(1, 2).getClass(), this);
- // TODO register required ImmutableSet variants
- }
}