diff --git a/sdks/java/core/src/main/java/org/apache/beam/sdk/util/construction/PTransformReplacements.java b/sdks/java/core/src/main/java/org/apache/beam/sdk/util/construction/PTransformReplacements.java index 79a7a0b12149..8627acd98b94 100644 --- a/sdks/java/core/src/main/java/org/apache/beam/sdk/util/construction/PTransformReplacements.java +++ b/sdks/java/core/src/main/java/org/apache/beam/sdk/util/construction/PTransformReplacements.java @@ -23,12 +23,13 @@ import java.util.Set; import org.apache.beam.sdk.runners.AppliedPTransform; import org.apache.beam.sdk.transforms.PTransform; +import org.apache.beam.sdk.util.Preconditions; import org.apache.beam.sdk.values.PCollection; import org.apache.beam.sdk.values.TupleTag; import org.apache.beam.vendor.guava.v32_1_2_jre.com.google.common.collect.Iterables; +import org.checkerframework.checker.nullness.qual.Nullable; /** Utilty class for PTransform replacements. */ -@SuppressWarnings({"nullness", "keyfor"}) // TODO(https://github.com/apache/beam/issues/20497) public class PTransformReplacements { /** * Gets the singleton input of an {@link AppliedPTransform}, ignoring any additional inputs @@ -42,7 +43,7 @@ public static PCollection getSingletonMainInput( private static PCollection getSingletonMainInput( Map, PCollection> inputs, Set> ignoredTags) { - PCollection mainInput = null; + @Nullable PCollection mainInput = null; for (Map.Entry, PCollection> input : inputs.entrySet()) { if (!ignoredTags.contains(input.getKey())) { checkArgument( @@ -58,16 +59,17 @@ private static PCollection getSingletonMainInput( mainInput = (PCollection) input.getValue(); } } - checkArgument( - mainInput != null, + return Preconditions.checkArgumentNotNull( + mainInput, "No main input found in inputs: Inputs %s, Side Input tags %s", inputs, ignoredTags); - return mainInput; } public static PCollection getSingletonMainOutput( AppliedPTransform, ? extends PTransform>> transform) { - return (PCollection) Iterables.getOnlyElement(transform.getOutputs().values()); + return (PCollection) + Preconditions.checkArgumentNotNull( + Iterables.getOnlyElement(transform.getOutputs().values())); } }