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));