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.

Reply via email to