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

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


The following commit(s) were added to refs/heads/master by this push:
     new 207a882  [BEAM-10243] Fix and test FieldValueBuilder::withFieldValues.
     new d250a1d  Merge pull request #12200 from ibzib/BEAM-10243
207a882 is described below

commit 207a882308277b19b06c91e10245d063f4b14d23
Author: Kyle Weaver <[email protected]>
AuthorDate: Wed Jul 8 11:55:17 2020 -0700

    [BEAM-10243] Fix and test FieldValueBuilder::withFieldValues.
---
 .../core/src/main/java/org/apache/beam/sdk/values/Row.java  |  4 ++--
 .../src/test/java/org/apache/beam/sdk/values/RowTest.java   | 13 +++++++++++++
 2 files changed, 15 insertions(+), 2 deletions(-)

diff --git a/sdks/java/core/src/main/java/org/apache/beam/sdk/values/Row.java 
b/sdks/java/core/src/main/java/org/apache/beam/sdk/values/Row.java
index 097c2a0..e48cba5 100644
--- a/sdks/java/core/src/main/java/org/apache/beam/sdk/values/Row.java
+++ b/sdks/java/core/src/main/java/org/apache/beam/sdk/values/Row.java
@@ -681,7 +681,7 @@ public abstract class Row implements Serializable {
           .forEach(
               e ->
                   fieldOverrides.addOverride(
-                      FieldAccessDescriptor.withFieldNames(e.getKey()),
+                      
FieldAccessDescriptor.withFieldNames(e.getKey()).resolve(getSchema()),
                       new FieldOverride(e.getValue())));
       return this;
     }
@@ -750,7 +750,7 @@ public abstract class Row implements Serializable {
      * syntax.
      */
     public FieldValueBuilder withFieldValues(Map<String, Object> values) {
-      checkState(values.isEmpty());
+      checkState(this.values.isEmpty());
       return new FieldValueBuilder(schema, null).withFieldValues(values);
     }
 
diff --git 
a/sdks/java/core/src/test/java/org/apache/beam/sdk/values/RowTest.java 
b/sdks/java/core/src/test/java/org/apache/beam/sdk/values/RowTest.java
index 7134e02..043c19d 100644
--- a/sdks/java/core/src/test/java/org/apache/beam/sdk/values/RowTest.java
+++ b/sdks/java/core/src/test/java/org/apache/beam/sdk/values/RowTest.java
@@ -762,4 +762,17 @@ public class RowTest {
     Row row = Row.withSchema(schema).withFieldValue("char", byteArray).build();
     assertTrue(Arrays.equals(byteArray, row.getLogicalTypeValue("char", 
byte[].class)));
   }
+
+  @Test
+  public void testWithFieldValues() {
+    EnumerationType enumerationType = EnumerationType.create("zero", "one", 
"two");
+    Schema schema = Schema.builder().addLogicalTypeField("f1_enum", 
enumerationType).build();
+    Row row =
+        Row.withSchema(schema)
+            .withFieldValues(ImmutableMap.of("f1_enum", 
enumerationType.valueOf("zero")))
+            .build();
+    assertEquals(enumerationType.valueOf(0), row.getValue(0));
+    assertEquals(
+        enumerationType.valueOf("zero"), row.getLogicalTypeValue(0, 
EnumerationType.Value.class));
+  }
 }

Reply via email to