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

Reply via email to