diff --git a/sdks/java/core/src/main/java/org/apache/beam/sdk/runners/worker/IsmFormat.java b/sdks/java/core/src/main/java/org/apache/beam/sdk/runners/worker/IsmFormat.java index 8b23e0a0f795..8df46dd4149a 100644 --- a/sdks/java/core/src/main/java/org/apache/beam/sdk/runners/worker/IsmFormat.java +++ b/sdks/java/core/src/main/java/org/apache/beam/sdk/runners/worker/IsmFormat.java @@ -54,7 +54,6 @@ import java.io.OutputStream; import java.util.ArrayList; import java.util.List; - import javax.annotation.Nullable; /** @@ -746,9 +745,9 @@ public long getEncodedElementByteSize(KeyPrefix value, Coder.Context context) */ @AutoValue public abstract static class Footer { - static final int LONG_BYTES = 8; - static final int FIXED_LENGTH = 3 * LONG_BYTES + 1; - static final byte VERSION = 2; + public static final int LONG_BYTES = 8; + public static final int FIXED_LENGTH = 3 * LONG_BYTES + 1; + public static final byte VERSION = 2; public abstract byte getVersion(); public abstract long getIndexPosition(); diff --git a/sdks/java/core/src/main/java/org/apache/beam/sdk/util/BaseExecutionContext.java b/sdks/java/core/src/main/java/org/apache/beam/sdk/util/BaseExecutionContext.java index 630417bc2dfe..a62444fec239 100644 --- a/sdks/java/core/src/main/java/org/apache/beam/sdk/util/BaseExecutionContext.java +++ b/sdks/java/core/src/main/java/org/apache/beam/sdk/util/BaseExecutionContext.java @@ -21,7 +21,6 @@ import org.apache.beam.sdk.transforms.windowing.BoundedWindow; import org.apache.beam.sdk.util.state.StateInternals; import org.apache.beam.sdk.values.TupleTag; -import com.google.common.base.Supplier; import java.io.IOException; import java.util.Collection; @@ -71,18 +70,27 @@ public T getOrCreateStepContext(String stepName, String transformName) { final String finalTransformName = transformName; return getOrCreateStepContext( stepName, - new Supplier() { + new CreateStepContextFunction() { @Override - public T get() { + public T create() { return createStepContext(finalStepName, finalTransformName); } }); } - protected final T getOrCreateStepContext(String stepName, Supplier createContextFunc) { + /** + * Factory method interface to create an execution context if none exists during + * {@link #getOrCreateStepContext(String, CreateStepContextFunction)}. + */ + protected interface CreateStepContextFunction { + T create(); + } + + protected final T getOrCreateStepContext(String stepName, + CreateStepContextFunction createContextFunc) { T context = cachedStepContexts.get(stepName); if (context == null) { - context = createContextFunc.get(); + context = createContextFunc.create(); cachedStepContexts.put(stepName, context); }