You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by up...@apache.org on 2018/04/11 18:52:39 UTC

[geode] branch feature/transcoding_experiments updated: Handling double values in ProtobufStructSerializer

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 <up...@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
upthewaterspout@apache.org.