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

Reply via email to