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 <[email protected]>
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
[email protected].