You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@avro.apache.org by dk...@apache.org on 2020/05/21 15:29:59 UTC

[avro] branch master updated (8c15c12 -> 97e0545)

This is an automated email from the ASF dual-hosted git repository.

dkulp pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/avro.git.


    from 8c15c12  Improve comments
     new 2c23874  AVRO-2070 tolerate any numbers in GenericDatumWriter while writing primitives in java
     new 74ad244  AVRO-2070 Added test
     new 97e0545  AVRO-2070 Make import order same as master

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../apache/avro/generic/GenericDatumWriter.java    |  8 ++++----
 .../avro/generic/TestGenericDatumWriter.java       | 23 +++++++++++++++++++++-
 2 files changed, 26 insertions(+), 5 deletions(-)


[avro] 01/03: AVRO-2070 tolerate any numbers in GenericDatumWriter while writing primitives in java

Posted by dk...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

dkulp pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/avro.git

commit 2c238747755a19fe6acce107b6fb1ce7d1984563
Author: ravowlga123 <ra...@gmail.com>
AuthorDate: Fri Dec 6 15:10:17 2019 +0100

    AVRO-2070 tolerate any numbers in GenericDatumWriter while writing primitives in java
---
 .../src/main/java/org/apache/avro/generic/GenericDatumWriter.java | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/lang/java/avro/src/main/java/org/apache/avro/generic/GenericDatumWriter.java b/lang/java/avro/src/main/java/org/apache/avro/generic/GenericDatumWriter.java
index 0515fd4..d3a812b 100644
--- a/lang/java/avro/src/main/java/org/apache/avro/generic/GenericDatumWriter.java
+++ b/lang/java/avro/src/main/java/org/apache/avro/generic/GenericDatumWriter.java
@@ -86,7 +86,7 @@ public class GenericDatumWriter<D> implements DatumWriter<D> {
   /**
    * Convert a high level representation of a logical type (such as a BigDecimal)
    * to the its underlying representation object (such as a ByteBuffer).
-   * 
+   *
    * @throws IllegalArgumentException if a null schema or logicalType is passed in
    *                                  while datum and conversion are not null.
    *                                  Please be noticed that the exception type
@@ -156,13 +156,13 @@ public class GenericDatumWriter<D> implements DatumWriter<D> {
         out.writeInt(((Number) datum).intValue());
         break;
       case LONG:
-        out.writeLong((Long) datum);
+        out.writeLong(((Number) datum).longValue());
         break;
       case FLOAT:
-        out.writeFloat((Float) datum);
+        out.writeFloat(((Number) datum).floatValue());
         break;
       case DOUBLE:
-        out.writeDouble((Double) datum);
+        out.writeDouble(((Number) datum).doubleValue());
         break;
       case BOOLEAN:
         out.writeBoolean((Boolean) datum);


[avro] 02/03: AVRO-2070 Added test

Posted by dk...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

dkulp pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/avro.git

commit 74ad244741a391450610f4d273172707ae2b9a80
Author: ravowlga123 <ra...@gmail.com>
AuthorDate: Fri Feb 21 12:52:41 2020 +0100

    AVRO-2070 Added test
---
 .../avro/generic/TestGenericDatumWriter.java       | 39 ++++++++++++++++------
 1 file changed, 28 insertions(+), 11 deletions(-)

diff --git a/lang/java/avro/src/test/java/org/apache/avro/generic/TestGenericDatumWriter.java b/lang/java/avro/src/test/java/org/apache/avro/generic/TestGenericDatumWriter.java
index 426e872..f0ae09a 100644
--- a/lang/java/avro/src/test/java/org/apache/avro/generic/TestGenericDatumWriter.java
+++ b/lang/java/avro/src/test/java/org/apache/avro/generic/TestGenericDatumWriter.java
@@ -17,17 +17,6 @@
  */
 package org.apache.avro.generic;
 
-import static org.junit.Assert.*;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.nio.ByteBuffer;
-import java.util.ConcurrentModificationException;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.concurrent.*;
-
 import org.apache.avro.AvroTypeException;
 import org.apache.avro.Schema;
 import org.apache.avro.io.BinaryEncoder;
@@ -37,6 +26,15 @@ import org.apache.avro.io.EncoderFactory;
 import org.apache.avro.util.Utf8;
 import org.junit.Test;
 
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.nio.ByteBuffer;
+import java.util.*;
+import java.util.concurrent.*;
+
+import static org.junit.Assert.*;
+
 public class TestGenericDatumWriter {
   @Test
   public void testWrite() throws IOException {
@@ -122,6 +120,25 @@ public class TestGenericDatumWriter {
     }
   }
 
+  @Test
+  public void testAllowWritingPrimitives() throws IOException {
+    Schema doubleType = Schema.create(Schema.Type.DOUBLE);
+    Schema.Field field = new Schema.Field("double", doubleType);
+    List<Schema.Field> fields = Collections.singletonList(field);
+    Schema schema = Schema.createRecord("test", "doc", "", false, fields);
+
+    GenericRecord record = new GenericData.Record(schema);
+    record.put("double", 456.4);
+    record.put("double", 100000L);
+    record.put("double", 444);
+
+    ByteArrayOutputStream bao = new ByteArrayOutputStream();
+    GenericDatumWriter<GenericRecord> writer = new GenericDatumWriter<>(schema);
+    Encoder encoder = EncoderFactory.get().jsonEncoder(schema, bao);
+
+    writer.write(record, encoder);
+  }
+
   static class TestEncoder extends Encoder {
 
     Encoder e;


[avro] 03/03: AVRO-2070 Make import order same as master

Posted by dk...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

dkulp pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/avro.git

commit 97e05457f55e3f51dd8279df1247be65125d767a
Author: ravowlga123 <ra...@gmail.com>
AuthorDate: Fri Feb 21 16:46:26 2020 +0100

    AVRO-2070 Make import order same as master
---
 .../avro/generic/TestGenericDatumWriter.java       | 22 +++++++++++++---------
 1 file changed, 13 insertions(+), 9 deletions(-)

diff --git a/lang/java/avro/src/test/java/org/apache/avro/generic/TestGenericDatumWriter.java b/lang/java/avro/src/test/java/org/apache/avro/generic/TestGenericDatumWriter.java
index f0ae09a..3b7bda7 100644
--- a/lang/java/avro/src/test/java/org/apache/avro/generic/TestGenericDatumWriter.java
+++ b/lang/java/avro/src/test/java/org/apache/avro/generic/TestGenericDatumWriter.java
@@ -17,6 +17,19 @@
  */
 package org.apache.avro.generic;
 
+import static org.junit.Assert.*;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.nio.ByteBuffer;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.ConcurrentModificationException;
+import java.util.List;
+import java.util.Collections;
+import java.util.concurrent.*;
+
 import org.apache.avro.AvroTypeException;
 import org.apache.avro.Schema;
 import org.apache.avro.io.BinaryEncoder;
@@ -26,15 +39,6 @@ import org.apache.avro.io.EncoderFactory;
 import org.apache.avro.util.Utf8;
 import org.junit.Test;
 
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.nio.ByteBuffer;
-import java.util.*;
-import java.util.concurrent.*;
-
-import static org.junit.Assert.*;
-
 public class TestGenericDatumWriter {
   @Test
   public void testWrite() throws IOException {