This is an automated email from the ASF dual-hosted git repository. upthewaterspout pushed a commit to branch feature/transcoding_experiments in repository https://gitbox.apache.org/repos/asf/geode.git
The following commit(s) were added to refs/heads/feature/transcoding_experiments by this push: new af30d5f Handling double values in ProtobufStructSerializer af30d5f is described below commit af30d5f9c237cd281579a3252c443fb33ee6b8dd Author: Dan Smith <upthewatersp...@apache.org> AuthorDate: Wed Apr 11 11:35:55 2018 -0700 Handling double values in ProtobufStructSerializer --- .../geode/protocol/serialization/ProtobufStructSerializer.java | 5 +++++ .../geode/protocol/serialization/ProtobufStructSerializerTest.java | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/geode-protobuf/src/main/java/org/apache/geode/protocol/serialization/ProtobufStructSerializer.java b/geode-protobuf/src/main/java/org/apache/geode/protocol/serialization/ProtobufStructSerializer.java index d653936..16beddf 100644 --- a/geode-protobuf/src/main/java/org/apache/geode/protocol/serialization/ProtobufStructSerializer.java +++ b/geode-protobuf/src/main/java/org/apache/geode/protocol/serialization/ProtobufStructSerializer.java @@ -72,6 +72,9 @@ public class ProtobufStructSerializer implements ValueSerializer { } else if (value instanceof Long) { builder.setEncodedValue( BasicTypes.EncodedValue.newBuilder().setLongResult((Long) value).build()); + } else if (value instanceof Double) { + builder.setEncodedValue( + BasicTypes.EncodedValue.newBuilder().setDoubleResult((Double) value).build()); } else if (value instanceof byte[]) { builder.setEncodedValue(BasicTypes.EncodedValue.newBuilder() .setBinaryResult(UnsafeByteOperations.unsafeWrap((byte[]) value)).build()); @@ -115,6 +118,8 @@ public class ProtobufStructSerializer implements ValueSerializer { pdxInstanceFactory.writeLong(fieldName, (Long) value); } else if (value instanceof byte[]) { pdxInstanceFactory.writeByteArray(fieldName, (byte[]) value); + } else if (value instanceof Double) { + pdxInstanceFactory.writeDouble(fieldName, (Double) value); } else if (value instanceof PdxInstance) { pdxInstanceFactory.writeObject(fieldName, value); } else if (value instanceof List) { diff --git a/geode-protobuf/src/test/java/org/apache/geode/protocol/serialization/ProtobufStructSerializerTest.java b/geode-protobuf/src/test/java/org/apache/geode/protocol/serialization/ProtobufStructSerializerTest.java index 2f1401e..da66f16 100644 --- a/geode-protobuf/src/test/java/org/apache/geode/protocol/serialization/ProtobufStructSerializerTest.java +++ b/geode-protobuf/src/test/java/org/apache/geode/protocol/serialization/ProtobufStructSerializerTest.java @@ -163,7 +163,8 @@ public class ProtobufStructSerializerTest { public void testSymmetry( @When( seed = 793351614853016898L) @PdxInstanceGenerator.ClassName(ProtobufStructSerializer.PROTOBUF_STRUCT) @PdxInstanceGenerator.FieldTypes({ - String.class, int.class, long.class, byte.class, byte[].class, PdxInstance.class, + String.class, int.class, long.class, byte.class, byte[].class, double.class, + PdxInstance.class, ArrayList.class}) @From(PdxInstanceGenerator.class) PdxInstance original) throws IOException, ClassNotFoundException { ByteString bytes = serializer.serialize(original); -- To stop receiving notification emails like this one, please contact upthewatersp...@apache.org.