Improve GlobalWindow, IntervalWindow Coders Implement consistentWithEquals and verifyDeterministic on both of these coders.
Project: http://git-wip-us.apache.org/repos/asf/beam/repo Commit: http://git-wip-us.apache.org/repos/asf/beam/commit/e3089387 Tree: http://git-wip-us.apache.org/repos/asf/beam/tree/e3089387 Diff: http://git-wip-us.apache.org/repos/asf/beam/diff/e3089387 Branch: refs/heads/master Commit: e30893874e09bbef37bd88f8ebba0fb6edca78cd Parents: ea0f37d Author: Thomas Groh <[email protected]> Authored: Fri Apr 21 08:49:23 2017 -0700 Committer: Thomas Groh <[email protected]> Committed: Fri Apr 21 10:55:16 2017 -0700 ---------------------------------------------------------------------- .../beam/sdk/transforms/windowing/GlobalWindow.java | 8 ++++++++ .../beam/sdk/transforms/windowing/IntervalWindow.java | 11 +++++++++++ 2 files changed, 19 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/beam/blob/e3089387/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/windowing/GlobalWindow.java ---------------------------------------------------------------------- diff --git a/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/windowing/GlobalWindow.java b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/windowing/GlobalWindow.java index 337886d..ad6a9fd 100644 --- a/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/windowing/GlobalWindow.java +++ b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/windowing/GlobalWindow.java @@ -74,6 +74,14 @@ public class GlobalWindow extends BoundedWindow { } @Override + public void verifyDeterministic() {} + + @Override + public boolean consistentWithEquals() { + return true; + } + + @Override protected CloudObject initializeCloudObject() { return CloudObject.forClassName("kind:global_window"); } http://git-wip-us.apache.org/repos/asf/beam/blob/e3089387/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/windowing/IntervalWindow.java ---------------------------------------------------------------------- diff --git a/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/windowing/IntervalWindow.java b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/windowing/IntervalWindow.java index c0ad2c0..eff4d99 100644 --- a/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/windowing/IntervalWindow.java +++ b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/windowing/IntervalWindow.java @@ -195,6 +195,17 @@ public class IntervalWindow extends BoundedWindow } @Override + public void verifyDeterministic() throws NonDeterministicException { + instantCoder.verifyDeterministic(); + durationCoder.verifyDeterministic(); + } + + @Override + public boolean consistentWithEquals() { + return instantCoder.consistentWithEquals() && durationCoder.consistentWithEquals(); + } + + @Override protected CloudObject initializeCloudObject() { return CloudObject.forClassName("kind:interval_window"); }
