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.