You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beam.apache.org by re...@apache.org on 2018/07/09 18:21:09 UTC
[beam] branch master updated (997ee3a -> 784f17e)
This is an automated email from the ASF dual-hosted git repository.
reuvenlax pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/beam.git.
from 997ee3a Merge pull request #5842 from cclauss/print_is_a_function_in_python3
add 0b353a4 Add schema inference from POJO.
add b2eaf22 Add BYTES type to schema, and POJO inference.
add 5a244e3 Add automatic getter/setter inference from POJOS. * Recursive POJOs and collection/map fields still not support. * getter/setter generation still needs to be moved into helper class. * Still missing optimized Row -> POJO conversion when the Row is a wrapper around a POJO.
add 1df588d Handle setter for ByteBuffer fields. Setter will be called with a byte[] parameter (as that's what Row.getBytes vends), so make sure we wrap it before assiging.
add be3f53d Split Row into separate subclass for RowWithStorage and RowWithGetters. This also allows a fast path for Row -> T conversion for the case of RowWithGetters.
add 01e3c41 Introduce FieldValueGetterFactory and FieldValueSetterFactory.
add 6cde85f Add support for nested, array, and map types.
add c9a983f Refactor getter-based SchemaProvider into a common base class.
add c7f97a8 Refactor getter/setter conversion utilities into a library. This cleans up the code, and makes these utilities reusable for other types of getters (e.g. JavaBean getters).
add 536fe4b Refactor Schema inference from POJOs so much of the code can be reused for other class types.
add cdea677 Add encoding byte BYTES type.
add f5c0b71 Make FieldValueGetter and FieldValueSetter generic types again.
add 633bac3 Start adding JavaBean getters and setters.
add dfd72db Make sure that field order is stable, and make tests robust to unpredictable field order.
add b1aade9 Simplify convertArray.
add 5d0ca72 Address code-review comments.
add 5194e00 Address code-review comments.
add 77f66df Add better validation to isSetter isGetter
new 784f17e Merge pull request #5873: [BEAM-4453] Add schema support for Java POJOs and Java Beans
The 1 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:
.../java/org/apache/beam/sdk/coders/RowCoder.java | 4 +
.../org/apache/beam/sdk/schemas/DefaultSchema.java | 7 +-
.../sdk/schemas/GetterBasedSchemaProvider.java | 146 ++++++
.../apache/beam/sdk/schemas/JavaBeanSchema.java | 53 ++
.../apache/beam/sdk/schemas/JavaFieldSchema.java | 53 ++
.../java/org/apache/beam/sdk/schemas/Schema.java | 19 +-
.../apache/beam/sdk/schemas/SchemaProvider.java | 9 +-
.../beam/sdk/schemas/utils/ByteBuddyUtils.java | 563 +++++++++++++++++++++
.../beam/sdk/schemas/utils/JavaBeanUtils.java | 326 ++++++++++++
.../apache/beam/sdk/schemas/utils/POJOUtils.java | 299 +++++++++++
.../beam/sdk/schemas/utils/ReflectUtils.java | 135 +++++
.../sdk/schemas/utils/StaticSchemaInference.java | 219 ++++++++
.../beam/sdk/schemas/{ => utils}/package-info.java | 5 +-
.../main/java/org/apache/beam/sdk/values/Row.java | 131 +++--
.../org/apache/beam/sdk/values/RowWithGetters.java | 122 +++++
.../RowWithStorage.java} | 43 +-
.../beam/sdk/values/reflect/ByteBuddyUtils.java | 6 +-
.../beam/sdk/values/reflect/FieldValueGetter.java | 7 +-
...erFactory.java => FieldValueGetterFactory.java} | 19 +-
...FieldValueGetter.java => FieldValueSetter.java} | 27 +-
...erFactory.java => FieldValueSetterFactory.java} | 19 +-
.../sdk/values/reflect/GeneratedGetterFactory.java | 2 +-
...tterFactory.java => JavaBeanGetterFactory.java} | 18 +-
...tterFactory.java => JavaBeanSetterFactory.java} | 18 +-
...terFactory.java => PojoValueGetterFactory.java} | 18 +-
...terFactory.java => PojoValueSetterFactory.java} | 18 +-
.../beam/sdk/schemas/JavaBeanSchemaTest.java | 338 +++++++++++++
.../beam/sdk/schemas/JavaFieldSchemaTest.java | 344 +++++++++++++
.../beam/sdk/schemas/SchemaRegistryTest.java | 8 +-
.../beam/sdk/schemas/utils/JavaBeanUtilsTest.java | 220 ++++++++
.../beam/sdk/schemas/utils/POJOUtilsTest.java | 214 ++++++++
.../beam/sdk/schemas/utils/SchemaTestUtils.java | 78 +++
.../beam/sdk/schemas/utils/TestJavaBeans.java | 491 ++++++++++++++++++
.../apache/beam/sdk/schemas/utils/TestPOJOs.java | 268 ++++++++++
.../beam/sdk/transforms/ParDoSchemaTest.java | 38 ++
.../values/reflect/DefaultSchemaFactoryTest.java | 4 +-
.../extensions/sql/impl/utils/CalciteUtils.java | 1 +
.../sdk/extensions/sql/SqlSchemaFactoryTest.java | 7 +-
.../operator/BeamSqlInputRefExpressionTest.java | 2 +-
39 files changed, 4147 insertions(+), 152 deletions(-)
create mode 100644 sdks/java/core/src/main/java/org/apache/beam/sdk/schemas/GetterBasedSchemaProvider.java
create mode 100644 sdks/java/core/src/main/java/org/apache/beam/sdk/schemas/JavaBeanSchema.java
create mode 100644 sdks/java/core/src/main/java/org/apache/beam/sdk/schemas/JavaFieldSchema.java
create mode 100644 sdks/java/core/src/main/java/org/apache/beam/sdk/schemas/utils/ByteBuddyUtils.java
create mode 100644 sdks/java/core/src/main/java/org/apache/beam/sdk/schemas/utils/JavaBeanUtils.java
create mode 100644 sdks/java/core/src/main/java/org/apache/beam/sdk/schemas/utils/POJOUtils.java
create mode 100644 sdks/java/core/src/main/java/org/apache/beam/sdk/schemas/utils/ReflectUtils.java
create mode 100644 sdks/java/core/src/main/java/org/apache/beam/sdk/schemas/utils/StaticSchemaInference.java
copy sdks/java/core/src/main/java/org/apache/beam/sdk/schemas/{ => utils}/package-info.java (84%)
create mode 100644 sdks/java/core/src/main/java/org/apache/beam/sdk/values/RowWithGetters.java
copy sdks/java/core/src/main/java/org/apache/beam/sdk/{coders/StructuralByteArray.java => values/RowWithStorage.java} (53%)
copy sdks/java/core/src/main/java/org/apache/beam/sdk/values/reflect/{GetterFactory.java => FieldValueGetterFactory.java} (66%)
copy sdks/java/core/src/main/java/org/apache/beam/sdk/values/reflect/{FieldValueGetter.java => FieldValueSetter.java} (62%)
copy sdks/java/core/src/main/java/org/apache/beam/sdk/values/reflect/{GetterFactory.java => FieldValueSetterFactory.java} (66%)
copy sdks/java/core/src/main/java/org/apache/beam/sdk/values/reflect/{GetterFactory.java => JavaBeanGetterFactory.java} (67%)
copy sdks/java/core/src/main/java/org/apache/beam/sdk/values/reflect/{GetterFactory.java => JavaBeanSetterFactory.java} (67%)
copy sdks/java/core/src/main/java/org/apache/beam/sdk/values/reflect/{GetterFactory.java => PojoValueGetterFactory.java} (68%)
copy sdks/java/core/src/main/java/org/apache/beam/sdk/values/reflect/{GetterFactory.java => PojoValueSetterFactory.java} (68%)
create mode 100644 sdks/java/core/src/test/java/org/apache/beam/sdk/schemas/JavaBeanSchemaTest.java
create mode 100644 sdks/java/core/src/test/java/org/apache/beam/sdk/schemas/JavaFieldSchemaTest.java
create mode 100644 sdks/java/core/src/test/java/org/apache/beam/sdk/schemas/utils/JavaBeanUtilsTest.java
create mode 100644 sdks/java/core/src/test/java/org/apache/beam/sdk/schemas/utils/POJOUtilsTest.java
create mode 100644 sdks/java/core/src/test/java/org/apache/beam/sdk/schemas/utils/SchemaTestUtils.java
create mode 100644 sdks/java/core/src/test/java/org/apache/beam/sdk/schemas/utils/TestJavaBeans.java
create mode 100644 sdks/java/core/src/test/java/org/apache/beam/sdk/schemas/utils/TestPOJOs.java
[beam] 01/01: Merge pull request #5873: [BEAM-4453] Add schema
support for Java POJOs and Java Beans
Posted by re...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
reuvenlax pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/beam.git
commit 784f17ed66205976be6702a344add057705eb0a6
Merge: 997ee3a 77f66df
Author: reuvenlax <re...@google.com>
AuthorDate: Mon Jul 9 11:21:00 2018 -0700
Merge pull request #5873: [BEAM-4453] Add schema support for Java POJOs and Java Beans
.../java/org/apache/beam/sdk/coders/RowCoder.java | 4 +
.../org/apache/beam/sdk/schemas/DefaultSchema.java | 7 +-
.../sdk/schemas/GetterBasedSchemaProvider.java | 146 ++++++
.../apache/beam/sdk/schemas/JavaBeanSchema.java | 53 ++
.../apache/beam/sdk/schemas/JavaFieldSchema.java | 53 ++
.../java/org/apache/beam/sdk/schemas/Schema.java | 19 +-
.../apache/beam/sdk/schemas/SchemaProvider.java | 9 +-
.../beam/sdk/schemas/utils/ByteBuddyUtils.java | 563 +++++++++++++++++++++
.../beam/sdk/schemas/utils/JavaBeanUtils.java | 326 ++++++++++++
.../apache/beam/sdk/schemas/utils/POJOUtils.java | 299 +++++++++++
.../beam/sdk/schemas/utils/ReflectUtils.java | 135 +++++
.../sdk/schemas/utils/StaticSchemaInference.java | 219 ++++++++
.../utils/package-info.java} | 23 +-
.../main/java/org/apache/beam/sdk/values/Row.java | 131 +++--
.../org/apache/beam/sdk/values/RowWithGetters.java | 122 +++++
.../org/apache/beam/sdk/values/RowWithStorage.java | 54 ++
.../beam/sdk/values/reflect/ByteBuddyUtils.java | 6 +-
.../beam/sdk/values/reflect/FieldValueGetter.java | 7 +-
...lueGetter.java => FieldValueGetterFactory.java} | 26 +-
...FieldValueGetter.java => FieldValueSetter.java} | 27 +-
...lueGetter.java => FieldValueSetterFactory.java} | 26 +-
.../sdk/values/reflect/GeneratedGetterFactory.java | 2 +-
...ValueGetter.java => JavaBeanGetterFactory.java} | 25 +-
...ValueGetter.java => JavaBeanSetterFactory.java} | 25 +-
...alueGetter.java => PojoValueGetterFactory.java} | 25 +-
...alueGetter.java => PojoValueSetterFactory.java} | 25 +-
.../beam/sdk/schemas/JavaBeanSchemaTest.java | 338 +++++++++++++
.../beam/sdk/schemas/JavaFieldSchemaTest.java | 344 +++++++++++++
.../beam/sdk/schemas/SchemaRegistryTest.java | 8 +-
.../beam/sdk/schemas/utils/JavaBeanUtilsTest.java | 220 ++++++++
.../beam/sdk/schemas/utils/POJOUtilsTest.java | 214 ++++++++
.../beam/sdk/schemas/utils/SchemaTestUtils.java | 78 +++
.../beam/sdk/schemas/utils/TestJavaBeans.java | 491 ++++++++++++++++++
.../apache/beam/sdk/schemas/utils/TestPOJOs.java | 268 ++++++++++
.../beam/sdk/transforms/ParDoSchemaTest.java | 38 ++
.../values/reflect/DefaultSchemaFactoryTest.java | 4 +-
.../extensions/sql/impl/utils/CalciteUtils.java | 1 +
.../sdk/extensions/sql/SqlSchemaFactoryTest.java | 7 +-
.../operator/BeamSqlInputRefExpressionTest.java | 2 +-
39 files changed, 4185 insertions(+), 185 deletions(-)