Repository: incubator-beam
Updated Branches:
  refs/heads/master d69b324c4 -> 5747951ff


Remove Remaining Nested Contexts from NullableCoder


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

Branch: refs/heads/master
Commit: 0712d30a286c36aef02496aad1d190f4082113c4
Parents: d69b324
Author: Thomas Groh <tg...@google.com>
Authored: Fri Oct 14 10:34:55 2016 -0700
Committer: Dan Halperin <dhalp...@google.com>
Committed: Mon Oct 17 12:25:59 2016 -0700

----------------------------------------------------------------------
 .../java/org/apache/beam/sdk/coders/NullableCoder.java   |  6 +++---
 .../org/apache/beam/sdk/coders/NullableCoderTest.java    | 11 +++++++++++
 2 files changed, 14 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/0712d30a/sdks/java/core/src/main/java/org/apache/beam/sdk/coders/NullableCoder.java
----------------------------------------------------------------------
diff --git 
a/sdks/java/core/src/main/java/org/apache/beam/sdk/coders/NullableCoder.java 
b/sdks/java/core/src/main/java/org/apache/beam/sdk/coders/NullableCoder.java
index 29b697c..8a7a1cb 100644
--- a/sdks/java/core/src/main/java/org/apache/beam/sdk/coders/NullableCoder.java
+++ b/sdks/java/core/src/main/java/org/apache/beam/sdk/coders/NullableCoder.java
@@ -142,7 +142,7 @@ public class NullableCoder<T> extends StandardCoder<T> {
       @Nullable T value, ElementByteSizeObserver observer, Context context) 
throws Exception {
     observer.update(1);
     if (value != null) {
-      valueCoder.registerByteSizeObserver(value, observer, context.nested());
+      valueCoder.registerByteSizeObserver(value, observer, context);
     }
   }
 
@@ -163,7 +163,7 @@ public class NullableCoder<T> extends StandardCoder<T> {
       // If valueCoder is a StandardCoder then we can ask it directly for the 
encoded size of
       // the value, adding 1 byte to count the null indicator.
       return 1  + ((StandardCoder<T>) valueCoder)
-          .getEncodedElementByteSize(value, context.nested());
+          .getEncodedElementByteSize(value, context);
     }
 
     // If value is not a StandardCoder then fall back to the default 
StandardCoder behavior
@@ -181,6 +181,6 @@ public class NullableCoder<T> extends StandardCoder<T> {
     if (value == null) {
       return true;
     }
-    return valueCoder.isRegisterByteSizeObserverCheap(value, context.nested());
+    return valueCoder.isRegisterByteSizeObserverCheap(value, context);
   }
 }

http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/0712d30a/sdks/java/core/src/test/java/org/apache/beam/sdk/coders/NullableCoderTest.java
----------------------------------------------------------------------
diff --git 
a/sdks/java/core/src/test/java/org/apache/beam/sdk/coders/NullableCoderTest.java
 
b/sdks/java/core/src/test/java/org/apache/beam/sdk/coders/NullableCoderTest.java
index 425d5ba..21ecb45 100644
--- 
a/sdks/java/core/src/test/java/org/apache/beam/sdk/coders/NullableCoderTest.java
+++ 
b/sdks/java/core/src/test/java/org/apache/beam/sdk/coders/NullableCoderTest.java
@@ -104,6 +104,17 @@ public class NullableCoderTest {
   }
 
   @Test
+  public void testEncodedSizeNested() throws Exception {
+    NullableCoder<String> varLenCoder = NullableCoder.of(StringUtf8Coder.of());
+
+    assertEquals(1, varLenCoder.getEncodedElementByteSize(null, 
Context.OUTER));
+    assertEquals(1, varLenCoder.getEncodedElementByteSize(null, 
Context.NESTED));
+
+    assertEquals(5, varLenCoder.getEncodedElementByteSize("spam", 
Context.OUTER));
+    assertEquals(6, varLenCoder.getEncodedElementByteSize("spam", 
Context.NESTED));
+  }
+
+  @Test
   public void testObserverIsCheap() throws Exception {
     NullableCoder<Double> coder = NullableCoder.of(DoubleCoder.of());
     assertTrue(coder.isRegisterByteSizeObserverCheap(5.0, 
Coder.Context.OUTER));

Reply via email to