diff options
author | Magdalena Grodzińska <mag.grodzinska@gmail.com> | 2020-01-06 20:10:50 +0100 |
---|---|---|
committer | Magdalena Grodzińska <mag.grodzinska@gmail.com> | 2020-01-06 20:10:50 +0100 |
commit | 28c905a7365a37d0874b865f513c64b31d8679f4 (patch) | |
tree | 45d5b1b3a702211c82d026942460b97fd6fc1597 /src/main/java | |
parent | 5f02fa0e59dc84e12fae1fde61bdfa8edb5446b1 (diff) |
Add custom serialization to type collection
Diffstat (limited to 'src/main/java')
-rw-r--r-- | src/main/java/pl/edu/mimuw/cloudatlas/agent/modules/UDUPSerializer.java | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/src/main/java/pl/edu/mimuw/cloudatlas/agent/modules/UDUPSerializer.java b/src/main/java/pl/edu/mimuw/cloudatlas/agent/modules/UDUPSerializer.java index 79236ca..40c4d7c 100644 --- a/src/main/java/pl/edu/mimuw/cloudatlas/agent/modules/UDUPSerializer.java +++ b/src/main/java/pl/edu/mimuw/cloudatlas/agent/modules/UDUPSerializer.java @@ -12,6 +12,8 @@ import java.io.ByteArrayOutputStream; import java.net.Inet4Address; import java.net.InetAddress; import java.net.UnknownHostException; +import java.util.ArrayList; +import java.util.HashSet; import java.util.LinkedHashMap; /** @@ -69,24 +71,32 @@ public class UDUPSerializer { kryo.register(ValueList.class, new Serializer() { @Override public void write(Kryo kryo, Output output, Object object) { - + ValueList vl = (ValueList) object; + kryo.writeObject(output, ((TypeCollection) vl.getType()).getElementType()); + kryo.writeObject(output, vl.getValue()); } @Override public Object read(Kryo kryo, Input input, Class type) { - return null; + Type t = kryo.readObject(input, Type.class); + ArrayList list = kryo.readObject(input, ArrayList.class); + return new ValueList(list, t); } }); kryo.register(ValueSet.class, new Serializer() { @Override public void write(Kryo kryo, Output output, Object object) { - + ValueSet vs = (ValueSet) object; + kryo.writeObject(output, ((TypeCollection) vs.getType()).getElementType()); + kryo.writeObject(output, vs.getValue()); } @Override public Object read(Kryo kryo, Input input, Class type) { - return null; + Type t = kryo.readObject(input, Type.class); + HashSet set = kryo.readObject(input, HashSet.class); + return new ValueSet(set, t); } }); |