You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beam.apache.org by lc...@apache.org on 2017/04/26 20:08:21 UTC

[1/2] beam git commit: Add getElementCoders to UnionCoder

Repository: beam
Updated Branches:
  refs/heads/master 869465edd -> de9d89c1e


Add getElementCoders to UnionCoder

This is an explicit method on UnionCoder that is completely unrelated to
the serialization and deserialization of the Coder.


Project: http://git-wip-us.apache.org/repos/asf/beam/repo
Commit: http://git-wip-us.apache.org/repos/asf/beam/commit/b5673864
Tree: http://git-wip-us.apache.org/repos/asf/beam/tree/b5673864
Diff: http://git-wip-us.apache.org/repos/asf/beam/diff/b5673864

Branch: refs/heads/master
Commit: b5673864b848c81621a0f60cb87782a33ec09557
Parents: 869465e
Author: Thomas Groh <tg...@google.com>
Authored: Tue Apr 25 17:39:38 2017 -0700
Committer: Luke Cwik <lc...@google.com>
Committed: Wed Apr 26 13:02:48 2017 -0700

----------------------------------------------------------------------
 .../org/apache/beam/sdk/transforms/join/CoGbkResult.java |  2 +-
 .../org/apache/beam/sdk/transforms/join/UnionCoder.java  |  4 ++++
 .../apache/beam/sdk/transforms/join/UnionCoderTest.java  | 11 +++++++++++
 3 files changed, 16 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/beam/blob/b5673864/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/join/CoGbkResult.java
----------------------------------------------------------------------
diff --git a/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/join/CoGbkResult.java b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/join/CoGbkResult.java
index 83e178e..6c62cbe 100644
--- a/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/join/CoGbkResult.java
+++ b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/join/CoGbkResult.java
@@ -269,7 +269,7 @@ public class CoGbkResult {
 
     @SuppressWarnings("rawtypes")
     private IterableCoder tagListCoder(int unionTag) {
-      return IterableCoder.of(unionCoder.getComponents().get(unionTag));
+      return IterableCoder.of(unionCoder.getElementCoders().get(unionTag));
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/beam/blob/b5673864/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/join/UnionCoder.java
----------------------------------------------------------------------
diff --git a/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/join/UnionCoder.java b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/join/UnionCoder.java
index 2beff57..f411cd1 100644
--- a/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/join/UnionCoder.java
+++ b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/join/UnionCoder.java
@@ -91,6 +91,10 @@ public class UnionCoder extends CustomCoder<RawUnionValue> {
     return elementCoders;
   }
 
+  public List<? extends Coder<?>> getElementCoders() {
+    return elementCoders;
+  }
+
   /**
    * Since this coder uses elementCoders.get(index) and coders that are known to run in constant
    * time, we defer the return value to that coder.

http://git-wip-us.apache.org/repos/asf/beam/blob/b5673864/sdks/java/core/src/test/java/org/apache/beam/sdk/transforms/join/UnionCoderTest.java
----------------------------------------------------------------------
diff --git a/sdks/java/core/src/test/java/org/apache/beam/sdk/transforms/join/UnionCoderTest.java b/sdks/java/core/src/test/java/org/apache/beam/sdk/transforms/join/UnionCoderTest.java
index fe49495..8c8c3f9 100644
--- a/sdks/java/core/src/test/java/org/apache/beam/sdk/transforms/join/UnionCoderTest.java
+++ b/sdks/java/core/src/test/java/org/apache/beam/sdk/transforms/join/UnionCoderTest.java
@@ -17,11 +17,14 @@
  */
 package org.apache.beam.sdk.transforms.join;
 
+import static org.junit.Assert.assertThat;
+
 import com.google.common.collect.ImmutableList;
 import org.apache.beam.sdk.coders.Coder;
 import org.apache.beam.sdk.coders.DoubleCoder;
 import org.apache.beam.sdk.coders.StringUtf8Coder;
 import org.apache.beam.sdk.testing.CoderProperties;
+import org.hamcrest.Matchers;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.junit.runners.JUnit4;
@@ -31,6 +34,14 @@ import org.junit.runners.JUnit4;
  */
 @RunWith(JUnit4.class)
 public class UnionCoderTest {
+  @Test
+  public void testGetElementCoders() {
+    UnionCoder unionCoder =
+        UnionCoder.of(ImmutableList.<Coder<?>>of(StringUtf8Coder.of(), DoubleCoder.of()));
+    assertThat(
+        unionCoder.getElementCoders().get(0), Matchers.<Coder<?>>equalTo(StringUtf8Coder.of()));
+    assertThat(unionCoder.getElementCoders().get(1), Matchers.<Coder<?>>equalTo(DoubleCoder.of()));
+  }
 
   @Test
   public void testCoderIsSerializable() {


[2/2] beam git commit: [BEAM-2021] Add getElementCoders to UnionCoder

Posted by lc...@apache.org.
[BEAM-2021] Add getElementCoders to UnionCoder

This closes #2691


Project: http://git-wip-us.apache.org/repos/asf/beam/repo
Commit: http://git-wip-us.apache.org/repos/asf/beam/commit/de9d89c1
Tree: http://git-wip-us.apache.org/repos/asf/beam/tree/de9d89c1
Diff: http://git-wip-us.apache.org/repos/asf/beam/diff/de9d89c1

Branch: refs/heads/master
Commit: de9d89c1ea408fcbebad446bdef0b47d538a4657
Parents: 869465e b567386
Author: Luke Cwik <lc...@google.com>
Authored: Wed Apr 26 13:03:15 2017 -0700
Committer: Luke Cwik <lc...@google.com>
Committed: Wed Apr 26 13:03:15 2017 -0700

----------------------------------------------------------------------
 .../org/apache/beam/sdk/transforms/join/CoGbkResult.java |  2 +-
 .../org/apache/beam/sdk/transforms/join/UnionCoder.java  |  4 ++++
 .../apache/beam/sdk/transforms/join/UnionCoderTest.java  | 11 +++++++++++
 3 files changed, 16 insertions(+), 1 deletion(-)
----------------------------------------------------------------------