You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beam.apache.org by ke...@apache.org on 2017/11/10 01:15:14 UTC

[03/11] beam git commit: NonNull by default in runners/core/construction

NonNull by default in runners/core/construction


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

Branch: refs/heads/master
Commit: 040fc3e6a3b0793102a16d300b646470df8649d6
Parents: b3b4615
Author: Kenneth Knowles <kl...@google.com>
Authored: Sun Oct 29 20:47:06 2017 -0700
Committer: Kenneth Knowles <ke...@apache.org>
Committed: Thu Nov 9 15:01:55 2017 -0800

----------------------------------------------------------------------
 runners/core-construction-java/pom.xml                       | 5 +++++
 .../runners/core/construction/RunnerPCollectionView.java     | 4 ++--
 .../beam/runners/core/construction/SplittableParDo.java      | 8 ++++++--
 .../core/construction/UnboundedReadFromBoundedSource.java    | 3 ++-
 .../runners/core/construction/WindowIntoTranslation.java     | 3 ++-
 .../apache/beam/runners/core/construction/package-info.java  | 4 ++++
 6 files changed, 21 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/beam/blob/040fc3e6/runners/core-construction-java/pom.xml
----------------------------------------------------------------------
diff --git a/runners/core-construction-java/pom.xml b/runners/core-construction-java/pom.xml
index 9f71959..d0f8a64 100644
--- a/runners/core-construction-java/pom.xml
+++ b/runners/core-construction-java/pom.xml
@@ -85,6 +85,11 @@
     </dependency>
 
     <dependency>
+      <groupId>com.github.stephenc.findbugs</groupId>
+      <artifactId>findbugs-annotations</artifactId>
+    </dependency>
+
+    <dependency>
       <groupId>com.google.protobuf</groupId>
       <artifactId>protobuf-java</artifactId>
     </dependency>

http://git-wip-us.apache.org/repos/asf/beam/blob/040fc3e6/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/RunnerPCollectionView.java
----------------------------------------------------------------------
diff --git a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/RunnerPCollectionView.java b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/RunnerPCollectionView.java
index c676c97..0bb440c 100644
--- a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/RunnerPCollectionView.java
+++ b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/RunnerPCollectionView.java
@@ -38,8 +38,8 @@ class RunnerPCollectionView<T> extends PValueBase implements PCollectionView<T>
   private final TupleTag<Iterable<WindowedValue<?>>> tag;
   private final ViewFn<Iterable<WindowedValue<?>>, T> viewFn;
   private final WindowMappingFn<?> windowMappingFn;
-  private final WindowingStrategy<?, ?> windowingStrategy;
-  private final Coder<Iterable<WindowedValue<?>>> coder;
+  private final @Nullable WindowingStrategy<?, ?> windowingStrategy;
+  private final @Nullable Coder<Iterable<WindowedValue<?>>> coder;
   private final transient PCollection<?> pCollection;
 
   /**

http://git-wip-us.apache.org/repos/asf/beam/blob/040fc3e6/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/SplittableParDo.java
----------------------------------------------------------------------
diff --git a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/SplittableParDo.java b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/SplittableParDo.java
index ab66e84..cb61fcc 100644
--- a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/SplittableParDo.java
+++ b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/SplittableParDo.java
@@ -323,7 +323,9 @@ public class SplittableParDo<InputT, OutputT, RestrictionT>
   private static class PairWithRestrictionFn<InputT, OutputT, RestrictionT>
       extends DoFn<InputT, KV<InputT, RestrictionT>> {
     private DoFn<InputT, OutputT> fn;
-    private transient DoFnInvoker<InputT, OutputT> invoker;
+
+    // Initialized in setup()
+    private transient @Nullable DoFnInvoker<InputT, OutputT> invoker;
 
     PairWithRestrictionFn(DoFn<InputT, OutputT> fn) {
       this.fn = fn;
@@ -347,7 +349,9 @@ public class SplittableParDo<InputT, OutputT, RestrictionT>
   private static class SplitRestrictionFn<InputT, RestrictionT>
       extends DoFn<KV<InputT, RestrictionT>, KV<InputT, RestrictionT>> {
     private final DoFn<InputT, ?> splittableFn;
-    private transient DoFnInvoker<InputT, ?> invoker;
+
+    // Initialized in setup()
+    private transient @Nullable DoFnInvoker<InputT, ?> invoker;
 
     SplitRestrictionFn(DoFn<InputT, ?> splittableFn) {
       this.splittableFn = splittableFn;

http://git-wip-us.apache.org/repos/asf/beam/blob/040fc3e6/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/UnboundedReadFromBoundedSource.java
----------------------------------------------------------------------
diff --git a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/UnboundedReadFromBoundedSource.java b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/UnboundedReadFromBoundedSource.java
index f5b1184..0a37def 100644
--- a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/UnboundedReadFromBoundedSource.java
+++ b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/UnboundedReadFromBoundedSource.java
@@ -254,7 +254,8 @@ public class UnboundedReadFromBoundedSource<T> extends PTransform<PBegin, PColle
      */
     @VisibleForTesting
     class Reader extends UnboundedReader<T> {
-      private ResidualElements residualElements;
+      // Initialized in init()
+      private @Nullable ResidualElements residualElements;
       private @Nullable ResidualSource residualSource;
       private final PipelineOptions options;
       private boolean done;

http://git-wip-us.apache.org/repos/asf/beam/blob/040fc3e6/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/WindowIntoTranslation.java
----------------------------------------------------------------------
diff --git a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/WindowIntoTranslation.java b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/WindowIntoTranslation.java
index 9158aba..3d13dd1 100644
--- a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/WindowIntoTranslation.java
+++ b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/WindowIntoTranslation.java
@@ -25,6 +25,7 @@ import com.google.protobuf.InvalidProtocolBufferException;
 import java.io.IOException;
 import java.util.Collections;
 import java.util.Map;
+import javax.annotation.Nullable;
 import org.apache.beam.model.pipeline.v1.RunnerApi;
 import org.apache.beam.model.pipeline.v1.RunnerApi.FunctionSpec;
 import org.apache.beam.model.pipeline.v1.RunnerApi.WindowIntoPayload;
@@ -101,7 +102,7 @@ public class WindowIntoTranslation {
     }
   }
 
-  public static WindowFn<?, ?> getWindowFn(AppliedPTransform<?, ?, ?> application) {
+  public static @Nullable WindowFn<?, ?> getWindowFn(AppliedPTransform<?, ?, ?> application) {
     return WindowingStrategyTranslation.windowFnFromProto(
         getWindowIntoPayload(application).getWindowFn());
   }

http://git-wip-us.apache.org/repos/asf/beam/blob/040fc3e6/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/package-info.java
----------------------------------------------------------------------
diff --git a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/package-info.java b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/package-info.java
index 314c02c..3fac908 100644
--- a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/package-info.java
+++ b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/package-info.java
@@ -19,4 +19,8 @@
 /**
  * Provides utilities for Beam runner authors, prior to execution.
  */
+@DefaultAnnotation(NonNull.class)
 package org.apache.beam.runners.core.construction;
+
+import edu.umd.cs.findbugs.annotations.DefaultAnnotation;
+import edu.umd.cs.findbugs.annotations.NonNull;