diff --git a/examples/java/src/main/java/org/apache/beam/examples/complete/datatokenization/utils/SchemasUtils.java b/examples/java/src/main/java/org/apache/beam/examples/complete/datatokenization/utils/SchemasUtils.java
index 6388ed9fa0e7..3f64edee5c44 100644
--- a/examples/java/src/main/java/org/apache/beam/examples/complete/datatokenization/utils/SchemasUtils.java
+++ b/examples/java/src/main/java/org/apache/beam/examples/complete/datatokenization/utils/SchemasUtils.java
@@ -21,7 +21,6 @@
import static org.apache.beam.vendor.guava.v32_1_2_jre.com.google.common.base.Preconditions.checkArgument;
import com.google.api.services.bigquery.model.TableSchema;
-import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
import java.io.IOException;
import java.io.InputStream;
import java.io.Reader;
@@ -54,13 +53,7 @@
"argument",
"return"
})
-@SuppressFBWarnings(
- value = "CT_CONSTRUCTOR_THROW",
- justification =
- "Pre-existing finding, not triaged yet."
- + " Making the class final or moving the throwing code"
- + " into a static factory method may fix it.")
-public class SchemasUtils {
+public final class SchemasUtils {
/* Logger for class.*/
private static final Logger LOG = LoggerFactory.getLogger(SchemasUtils.class);
diff --git a/examples/java/src/main/java/org/apache/beam/examples/subprocess/utils/CallingSubProcessUtils.java b/examples/java/src/main/java/org/apache/beam/examples/subprocess/utils/CallingSubProcessUtils.java
index e04ad4c5a419..6f22bbe6855b 100644
--- a/examples/java/src/main/java/org/apache/beam/examples/subprocess/utils/CallingSubProcessUtils.java
+++ b/examples/java/src/main/java/org/apache/beam/examples/subprocess/utils/CallingSubProcessUtils.java
@@ -17,7 +17,6 @@
*/
package org.apache.beam.examples.subprocess.utils;
-import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
@@ -89,13 +88,7 @@ private static void releaseSemaphore(String binaryName) throws IllegalStateExcep
}
/** Permit class for access to worker cpu resources. */
- @SuppressFBWarnings(
- value = "CT_CONSTRUCTOR_THROW",
- justification =
- "Pre-existing finding, not triaged yet."
- + " Making the class final or moving the throwing code"
- + " into a static factory method may fix it.")
- public static class Permit implements AutoCloseable {
+ public static final class Permit implements AutoCloseable {
private String binaryName;
diff --git a/examples/java/src/main/java/org/apache/beam/examples/subprocess/utils/ExecutableFile.java b/examples/java/src/main/java/org/apache/beam/examples/subprocess/utils/ExecutableFile.java
index bc409a89581c..fbff1af4afd0 100644
--- a/examples/java/src/main/java/org/apache/beam/examples/subprocess/utils/ExecutableFile.java
+++ b/examples/java/src/main/java/org/apache/beam/examples/subprocess/utils/ExecutableFile.java
@@ -17,7 +17,6 @@
*/
package org.apache.beam.examples.subprocess.utils;
-import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
import org.apache.beam.examples.subprocess.configuration.SubProcessConfiguration;
import org.apache.beam.sdk.coders.DefaultCoder;
import org.apache.beam.sdk.extensions.avro.coders.AvroCoder;
@@ -27,13 +26,7 @@
@SuppressWarnings({
"nullness" // TODO(https://github.com/apache/beam/issues/20497)
})
-@SuppressFBWarnings(
- value = "CT_CONSTRUCTOR_THROW",
- justification =
- "Pre-existing finding, not triaged yet."
- + " Making the class final or moving the throwing code"
- + " into a static factory method may fix it.")
-public class ExecutableFile {
+public final class ExecutableFile {
String fileName;
diff --git a/it/clickhouse/src/main/java/org/apache/beam/it/clickhouse/ClickHouseResourceManager.java b/it/clickhouse/src/main/java/org/apache/beam/it/clickhouse/ClickHouseResourceManager.java
index 9ff7ee92f1f6..cd7cbfa45b6f 100644
--- a/it/clickhouse/src/main/java/org/apache/beam/it/clickhouse/ClickHouseResourceManager.java
+++ b/it/clickhouse/src/main/java/org/apache/beam/it/clickhouse/ClickHouseResourceManager.java
@@ -17,7 +17,6 @@
*/
package org.apache.beam.it.clickhouse;
-import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
@@ -45,14 +44,8 @@
*
*
The class is thread-safe.
*/
-@SuppressFBWarnings(
- value = "CT_CONSTRUCTOR_THROW",
- justification =
- "Pre-existing finding, not triaged yet."
- + " Making the class final or moving the throwing code"
- + " into a static factory method may fix it.")
-public class ClickHouseResourceManager extends TestContainerResourceManager>
- implements ResourceManager {
+public final class ClickHouseResourceManager
+ extends TestContainerResourceManager> implements ResourceManager {
private static final Logger LOG = LoggerFactory.getLogger(ClickHouseResourceManager.class);
diff --git a/it/google-cloud-platform/src/main/java/org/apache/beam/it/gcp/bigtable/BigtableResourceManager.java b/it/google-cloud-platform/src/main/java/org/apache/beam/it/gcp/bigtable/BigtableResourceManager.java
index 8773e2610454..eed85e8d0126 100644
--- a/it/google-cloud-platform/src/main/java/org/apache/beam/it/gcp/bigtable/BigtableResourceManager.java
+++ b/it/google-cloud-platform/src/main/java/org/apache/beam/it/gcp/bigtable/BigtableResourceManager.java
@@ -49,7 +49,6 @@
import com.google.common.annotations.VisibleForTesting;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Iterables;
-import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashSet;
@@ -78,13 +77,7 @@
*
* The class is thread-safe.
*/
-@SuppressFBWarnings(
- value = "CT_CONSTRUCTOR_THROW",
- justification =
- "Pre-existing finding, not triaged yet."
- + " Making the class final or moving the throwing code"
- + " into a static factory method may fix it.")
-public class BigtableResourceManager implements ResourceManager {
+public final class BigtableResourceManager implements ResourceManager {
private static final Logger LOG = LoggerFactory.getLogger(BigtableResourceManager.class);
private static final String DEFAULT_CLUSTER_ZONE = "us-central1-b";
diff --git a/it/splunk/src/main/java/org/apache/beam/it/splunk/SplunkResourceManager.java b/it/splunk/src/main/java/org/apache/beam/it/splunk/SplunkResourceManager.java
index a4bdca3dcc31..48937fa94c06 100644
--- a/it/splunk/src/main/java/org/apache/beam/it/splunk/SplunkResourceManager.java
+++ b/it/splunk/src/main/java/org/apache/beam/it/splunk/SplunkResourceManager.java
@@ -25,7 +25,6 @@
import com.splunk.ResultsReader;
import com.splunk.ResultsReaderXml;
import com.splunk.ServiceArgs;
-import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.time.Duration;
@@ -61,13 +60,7 @@
*
Note: The Splunk TestContainer will only run on M1 Mac's if the Docker version is >= 4.16.0
* and the "Use Rosetta for x86/amd64 emulation on Apple Silicon" setting is enabled.
*/
-@SuppressFBWarnings(
- value = "CT_CONSTRUCTOR_THROW",
- justification =
- "Pre-existing finding, not triaged yet."
- + " Making the class final or moving the throwing code"
- + " into a static factory method may fix it.")
-public class SplunkResourceManager extends TestContainerResourceManager
+public final class SplunkResourceManager extends TestContainerResourceManager
implements ResourceManager {
private static final Logger LOG = LoggerFactory.getLogger(SplunkResourceManager.class);
diff --git a/runners/core-java/src/main/java/org/apache/beam/runners/core/construction/SerializablePipelineOptions.java b/runners/core-java/src/main/java/org/apache/beam/runners/core/construction/SerializablePipelineOptions.java
index 8885974c4728..f78913db3ff3 100644
--- a/runners/core-java/src/main/java/org/apache/beam/runners/core/construction/SerializablePipelineOptions.java
+++ b/runners/core-java/src/main/java/org/apache/beam/runners/core/construction/SerializablePipelineOptions.java
@@ -19,7 +19,6 @@
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
-import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.Serializable;
@@ -33,13 +32,7 @@
* Holds a {@link PipelineOptions} in JSON serialized form and calls {@link
* FileSystems#setDefaultPipelineOptions(PipelineOptions)} on construction or on deserialization.
*/
-@SuppressFBWarnings(
- value = "CT_CONSTRUCTOR_THROW",
- justification =
- "Pre-existing finding, not triaged yet."
- + " Making the class final or moving the throwing code"
- + " into a static factory method may fix it.")
-public class SerializablePipelineOptions implements Serializable {
+public final class SerializablePipelineOptions implements Serializable {
private static final ObjectMapper MAPPER =
new ObjectMapper()
.registerModules(ObjectMapper.findModules(ReflectHelpers.findClassLoader()));
diff --git a/runners/core-java/src/main/java/org/apache/beam/runners/core/metrics/BoundedTrieData.java b/runners/core-java/src/main/java/org/apache/beam/runners/core/metrics/BoundedTrieData.java
index f99dc3e0b5de..6e55411c600e 100644
--- a/runners/core-java/src/main/java/org/apache/beam/runners/core/metrics/BoundedTrieData.java
+++ b/runners/core-java/src/main/java/org/apache/beam/runners/core/metrics/BoundedTrieData.java
@@ -57,13 +57,9 @@
"nullness" // TODO(https://github.com/apache/beam/issues/20497)
})
@SuppressFBWarnings(
- value = {"IS2_INCONSISTENT_SYNC", "CT_CONSTRUCTOR_THROW"},
- justification =
- "Some access on purpose are left unsynchronized."
- + " Pre-existing finding, not triaged yet."
- + " Making the class final or moving the throwing code"
- + " into a static factory method may fix it.")
-public class BoundedTrieData implements Serializable {
+ value = "IS2_INCONSISTENT_SYNC",
+ justification = "Some access on purpose are left unsynchronized")
+public final class BoundedTrieData implements Serializable {
private static final int DEFAULT_BOUND = 100; // Default maximum size of the trie
@@ -286,7 +282,7 @@ public boolean isEmpty() {
}
@Override
- public final boolean equals(@Nullable Object other) {
+ public boolean equals(@Nullable Object other) {
if (this == other) {
return true;
}
@@ -298,12 +294,12 @@ public final boolean equals(@Nullable Object other) {
}
@Override
- public final int hashCode() {
+ public int hashCode() {
return this.asTrie().hashCode();
}
@Override
- public final String toString() {
+ public String toString() {
return "BoundedTrieData(" + this.asTrie() + ")";
}
diff --git a/runners/flink/2.0/src/main/java/org/apache/beam/runners/flink/FlinkStreamingPortablePipelineTranslator.java b/runners/flink/2.0/src/main/java/org/apache/beam/runners/flink/FlinkStreamingPortablePipelineTranslator.java
index 9e24bd779de0..6ed13902d92d 100644
--- a/runners/flink/2.0/src/main/java/org/apache/beam/runners/flink/FlinkStreamingPortablePipelineTranslator.java
+++ b/runners/flink/2.0/src/main/java/org/apache/beam/runners/flink/FlinkStreamingPortablePipelineTranslator.java
@@ -26,7 +26,6 @@
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.auto.service.AutoService;
-import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
@@ -131,13 +130,7 @@
"keyfor",
"nullness"
}) // TODO(https://github.com/apache/beam/issues/20497)
-@SuppressFBWarnings(
- value = "CT_CONSTRUCTOR_THROW",
- justification =
- "Pre-existing finding, not triaged yet."
- + " Making the class final or moving the throwing code"
- + " into a static factory method may fix it.")
-public class FlinkStreamingPortablePipelineTranslator
+public final class FlinkStreamingPortablePipelineTranslator
implements FlinkPortablePipelineTranslator<
FlinkStreamingPortablePipelineTranslator.StreamingTranslationContext> {
diff --git a/runners/flink/2.0/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/io/UnboundedSourceWrapper.java b/runners/flink/2.0/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/io/UnboundedSourceWrapper.java
index 84790026a762..86a3f406cf0d 100644
--- a/runners/flink/2.0/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/io/UnboundedSourceWrapper.java
+++ b/runners/flink/2.0/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/io/UnboundedSourceWrapper.java
@@ -17,7 +17,6 @@
*/
package org.apache.beam.runners.flink.translation.wrappers.streaming.io;
-import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.LinkedHashMap;
@@ -68,13 +67,8 @@
"rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
"nullness" // TODO(https://github.com/apache/beam/issues/20497)
})
-@SuppressFBWarnings(
- value = "CT_CONSTRUCTOR_THROW",
- justification =
- "Pre-existing finding, not triaged yet."
- + " Making the class final or moving the throwing code"
- + " into a static factory method may fix it.")
-public class UnboundedSourceWrapper
+public final class UnboundedSourceWrapper<
+ OutputT, CheckpointMarkT extends UnboundedSource.CheckpointMark>
extends RichParallelSourceFunction>>
implements BeamStoppableFunction,
CheckpointListener,
diff --git a/runners/flink/2.0/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/state/FlinkStateInternals.java b/runners/flink/2.0/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/state/FlinkStateInternals.java
index a388d77c4fb0..33b098564bb5 100644
--- a/runners/flink/2.0/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/state/FlinkStateInternals.java
+++ b/runners/flink/2.0/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/state/FlinkStateInternals.java
@@ -17,7 +17,6 @@
*/
package org.apache.beam.runners.flink.translation.wrappers.streaming.state;
-import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
import java.io.IOException;
import java.util.Collections;
import java.util.HashSet;
@@ -104,13 +103,7 @@
"rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
"nullness" // TODO(https://github.com/apache/beam/issues/20497)
})
-@SuppressFBWarnings(
- value = "CT_CONSTRUCTOR_THROW",
- justification =
- "Pre-existing finding, not triaged yet."
- + " Making the class final or moving the throwing code"
- + " into a static factory method may fix it.")
-public class FlinkStateInternals implements StateInternals {
+public final class FlinkStateInternals implements StateInternals {
private static final StateNamespace globalWindowNamespace =
StateNamespaces.window(GlobalWindow.Coder.INSTANCE, GlobalWindow.INSTANCE);
diff --git a/runners/flink/src/main/java/org/apache/beam/runners/flink/FlinkStreamingPortablePipelineTranslator.java b/runners/flink/src/main/java/org/apache/beam/runners/flink/FlinkStreamingPortablePipelineTranslator.java
index 133693ec8df1..622a7c41e8d9 100644
--- a/runners/flink/src/main/java/org/apache/beam/runners/flink/FlinkStreamingPortablePipelineTranslator.java
+++ b/runners/flink/src/main/java/org/apache/beam/runners/flink/FlinkStreamingPortablePipelineTranslator.java
@@ -26,7 +26,6 @@
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.auto.service.AutoService;
-import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
@@ -131,13 +130,7 @@
"keyfor",
"nullness"
}) // TODO(https://github.com/apache/beam/issues/20497)
-@SuppressFBWarnings(
- value = "CT_CONSTRUCTOR_THROW",
- justification =
- "Pre-existing finding, not triaged yet."
- + " Making the class final or moving the throwing code"
- + " into a static factory method may fix it.")
-public class FlinkStreamingPortablePipelineTranslator
+public final class FlinkStreamingPortablePipelineTranslator
implements FlinkPortablePipelineTranslator<
FlinkStreamingPortablePipelineTranslator.StreamingTranslationContext> {
diff --git a/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/io/UnboundedSourceWrapper.java b/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/io/UnboundedSourceWrapper.java
index c5d9b8241ac3..5f1630b7a0fa 100644
--- a/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/io/UnboundedSourceWrapper.java
+++ b/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/io/UnboundedSourceWrapper.java
@@ -17,7 +17,6 @@
*/
package org.apache.beam.runners.flink.translation.wrappers.streaming.io;
-import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.LinkedHashMap;
@@ -67,13 +66,8 @@
"rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
"nullness" // TODO(https://github.com/apache/beam/issues/20497)
})
-@SuppressFBWarnings(
- value = "CT_CONSTRUCTOR_THROW",
- justification =
- "Pre-existing finding, not triaged yet."
- + " Making the class final or moving the throwing code"
- + " into a static factory method may fix it.")
-public class UnboundedSourceWrapper
+public final class UnboundedSourceWrapper<
+ OutputT, CheckpointMarkT extends UnboundedSource.CheckpointMark>
extends RichParallelSourceFunction>>
implements BeamStoppableFunction,
CheckpointListener,
diff --git a/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/io/source/FlinkSourceSplitEnumerator.java b/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/io/source/FlinkSourceSplitEnumerator.java
index ed20c7fa5259..b3ae5b988627 100644
--- a/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/io/source/FlinkSourceSplitEnumerator.java
+++ b/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/io/source/FlinkSourceSplitEnumerator.java
@@ -17,7 +17,6 @@
*/
package org.apache.beam.runners.flink.translation.wrappers.streaming.io.source;
-import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
@@ -40,13 +39,7 @@
import org.slf4j.LoggerFactory;
/** Splits a Beam source and assigns its splits to Flink source readers round-robin. */
-@SuppressFBWarnings(
- value = "CT_CONSTRUCTOR_THROW",
- justification =
- "Pre-existing finding, not triaged yet."
- + " Making the class final or moving the throwing code"
- + " into a static factory method may fix it.")
-public class FlinkSourceSplitEnumerator
+public final class FlinkSourceSplitEnumerator
implements SplitEnumerator, FlinkSourceEnumeratorState> {
private static final Logger LOG = LoggerFactory.getLogger(FlinkSourceSplitEnumerator.class);
diff --git a/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/io/source/LazyFlinkSourceSplitEnumerator.java b/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/io/source/LazyFlinkSourceSplitEnumerator.java
index f298e6534b03..95d789178c0a 100644
--- a/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/io/source/LazyFlinkSourceSplitEnumerator.java
+++ b/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/io/source/LazyFlinkSourceSplitEnumerator.java
@@ -17,7 +17,6 @@
*/
package org.apache.beam.runners.flink.translation.wrappers.streaming.io.source;
-import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
import java.io.IOException;
import java.util.ArrayList;
import java.util.LinkedHashMap;
@@ -35,13 +34,7 @@
import org.slf4j.LoggerFactory;
/** Splits a bounded Beam source and assigns one split for each reader request. */
-@SuppressFBWarnings(
- value = "CT_CONSTRUCTOR_THROW",
- justification =
- "Pre-existing finding, not triaged yet."
- + " Making the class final or moving the throwing code"
- + " into a static factory method may fix it.")
-public class LazyFlinkSourceSplitEnumerator
+public final class LazyFlinkSourceSplitEnumerator
implements SplitEnumerator, FlinkSourceEnumeratorState> {
private static final Logger LOG = LoggerFactory.getLogger(LazyFlinkSourceSplitEnumerator.class);
diff --git a/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/stableinput/BufferingDoFnRunner.java b/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/stableinput/BufferingDoFnRunner.java
index 4d44d4633a2a..547900294526 100644
--- a/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/stableinput/BufferingDoFnRunner.java
+++ b/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/stableinput/BufferingDoFnRunner.java
@@ -17,7 +17,6 @@
*/
package org.apache.beam.runners.flink.translation.wrappers.streaming.stableinput;
-import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
@@ -56,13 +55,7 @@
"rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
"nullness" // TODO(https://github.com/apache/beam/issues/20497)
})
-@SuppressFBWarnings(
- value = "CT_CONSTRUCTOR_THROW",
- justification =
- "Pre-existing finding, not triaged yet."
- + " Making the class final or moving the throwing code"
- + " into a static factory method may fix it.")
-public class BufferingDoFnRunner implements DoFnRunner {
+public final class BufferingDoFnRunner implements DoFnRunner {
public static BufferingDoFnRunner create(
DoFnRunner doFnRunner,
diff --git a/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/stableinput/KeyedBufferingElementsHandler.java b/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/stableinput/KeyedBufferingElementsHandler.java
index 1f26c23209d2..7c2ac9f97166 100644
--- a/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/stableinput/KeyedBufferingElementsHandler.java
+++ b/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/stableinput/KeyedBufferingElementsHandler.java
@@ -17,7 +17,6 @@
*/
package org.apache.beam.runners.flink.translation.wrappers.streaming.stableinput;
-import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
@@ -32,13 +31,7 @@
@SuppressWarnings({
"rawtypes" // TODO(https://github.com/apache/beam/issues/20447)
})
-@SuppressFBWarnings(
- value = "CT_CONSTRUCTOR_THROW",
- justification =
- "Pre-existing finding, not triaged yet."
- + " Making the class final or moving the throwing code"
- + " into a static factory method may fix it.")
-public class KeyedBufferingElementsHandler implements BufferingElementsHandler {
+public final class KeyedBufferingElementsHandler implements BufferingElementsHandler {
static KeyedBufferingElementsHandler create(
KeyedStateBackend backend, ListStateDescriptor stateDescriptor)
diff --git a/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/state/FlinkStateInternals.java b/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/state/FlinkStateInternals.java
index ce8dff37b0ea..e2d1217d65bb 100644
--- a/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/state/FlinkStateInternals.java
+++ b/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/state/FlinkStateInternals.java
@@ -17,7 +17,6 @@
*/
package org.apache.beam.runners.flink.translation.wrappers.streaming.state;
-import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
import java.io.IOException;
import java.util.Collections;
import java.util.HashSet;
@@ -104,13 +103,7 @@
"rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
"nullness" // TODO(https://github.com/apache/beam/issues/20497)
})
-@SuppressFBWarnings(
- value = "CT_CONSTRUCTOR_THROW",
- justification =
- "Pre-existing finding, not triaged yet."
- + " Making the class final or moving the throwing code"
- + " into a static factory method may fix it.")
-public class FlinkStateInternals implements StateInternals {
+public final class FlinkStateInternals implements StateInternals {
private static final StateNamespace globalWindowNamespace =
StateNamespaces.window(GlobalWindow.Coder.INSTANCE, GlobalWindow.INSTANCE);
diff --git a/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/control/DefaultJobBundleFactory.java b/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/control/DefaultJobBundleFactory.java
index eb8dca84261b..4a1adccd4e69 100644
--- a/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/control/DefaultJobBundleFactory.java
+++ b/runners/java-fn-execution/src/main/java/org/apache/beam/runners/fnexecution/control/DefaultJobBundleFactory.java
@@ -18,7 +18,6 @@
package org.apache.beam.runners.fnexecution.control;
import com.google.auto.value.AutoValue;
-import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
import java.io.IOException;
import java.util.IdentityHashMap;
import java.util.Map;
@@ -97,13 +96,7 @@
"rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
"nullness" // TODO(https://github.com/apache/beam/issues/20497)
})
-@SuppressFBWarnings(
- value = "CT_CONSTRUCTOR_THROW",
- justification =
- "Pre-existing finding, not triaged yet."
- + " Making the class final or moving the throwing code"
- + " into a static factory method may fix it.")
-public class DefaultJobBundleFactory implements JobBundleFactory {
+public final class DefaultJobBundleFactory implements JobBundleFactory {
private static final Logger LOG = LoggerFactory.getLogger(DefaultJobBundleFactory.class);
private static final IdGenerator factoryIdGenerator = IdGenerators.incrementingLongs();
diff --git a/runners/jet/src/main/java/org/apache/beam/runners/jet/JetRunner.java b/runners/jet/src/main/java/org/apache/beam/runners/jet/JetRunner.java
index 77da05d28938..97d0e6dfbc96 100644
--- a/runners/jet/src/main/java/org/apache/beam/runners/jet/JetRunner.java
+++ b/runners/jet/src/main/java/org/apache/beam/runners/jet/JetRunner.java
@@ -24,7 +24,6 @@
import com.hazelcast.jet.config.JobConfig;
import com.hazelcast.jet.core.DAG;
import com.hazelcast.map.IMap;
-import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
@@ -48,13 +47,7 @@
import org.slf4j.LoggerFactory;
/** Jet specific implementation of Beam's {@link PipelineRunner}. */
-@SuppressFBWarnings(
- value = "CT_CONSTRUCTOR_THROW",
- justification =
- "Pre-existing finding, not triaged yet."
- + " Making the class final or moving the throwing code"
- + " into a static factory method may fix it.")
-public class JetRunner extends PipelineRunner {
+public final class JetRunner extends PipelineRunner {
private static final Logger LOG = LoggerFactory.getLogger(JetRunner.class);
diff --git a/runners/jet/src/main/java/org/apache/beam/runners/jet/processors/AssignWindowP.java b/runners/jet/src/main/java/org/apache/beam/runners/jet/processors/AssignWindowP.java
index 233266cf9fdb..b177c53ccfd6 100644
--- a/runners/jet/src/main/java/org/apache/beam/runners/jet/processors/AssignWindowP.java
+++ b/runners/jet/src/main/java/org/apache/beam/runners/jet/processors/AssignWindowP.java
@@ -21,7 +21,6 @@
import com.hazelcast.jet.core.AbstractProcessor;
import com.hazelcast.jet.core.Processor;
import com.hazelcast.jet.core.ResettableSingletonTraverser;
-import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
import java.util.Collection;
import javax.annotation.Nonnull;
import org.apache.beam.runners.jet.Utils;
@@ -44,13 +43,7 @@
"nullness",
"keyfor"
}) // TODO(https://github.com/apache/beam/issues/20497)
-@SuppressFBWarnings(
- value = "CT_CONSTRUCTOR_THROW",
- justification =
- "Pre-existing finding, not triaged yet."
- + " Making the class final or moving the throwing code"
- + " into a static factory method may fix it.")
-public class AssignWindowP extends AbstractProcessor {
+public final class AssignWindowP extends AbstractProcessor {
@SuppressWarnings({"FieldCanBeLocal", "unused"})
private final String ownerId; // do not remove, useful for debugging
diff --git a/runners/spark/src/main/java/org/apache/beam/runners/spark/metrics/SparkBeamMetricSource.java b/runners/spark/src/main/java/org/apache/beam/runners/spark/metrics/SparkBeamMetricSource.java
index bd93ee023396..c49094c695b9 100644
--- a/runners/spark/src/main/java/org/apache/beam/runners/spark/metrics/SparkBeamMetricSource.java
+++ b/runners/spark/src/main/java/org/apache/beam/runners/spark/metrics/SparkBeamMetricSource.java
@@ -18,20 +18,13 @@
package org.apache.beam.runners.spark.metrics;
import com.codahale.metrics.MetricRegistry;
-import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
import org.apache.spark.metrics.source.Source;
/**
* A Spark {@link Source} that is tailored to expose a {@link SparkBeamMetric}, wrapping an
* underlying {@link org.apache.beam.sdk.metrics.MetricResults} instance.
*/
-@SuppressFBWarnings(
- value = "CT_CONSTRUCTOR_THROW",
- justification =
- "Pre-existing finding, not triaged yet."
- + " Making the class final or moving the throwing code"
- + " into a static factory method may fix it.")
-public class SparkBeamMetricSource implements Source {
+public final class SparkBeamMetricSource implements Source {
private static final String METRIC_NAME = "Metrics";
private final String name;
diff --git a/runners/spark/src/main/java/org/apache/beam/runners/spark/metrics/sink/CsvSink.java b/runners/spark/src/main/java/org/apache/beam/runners/spark/metrics/sink/CsvSink.java
index 23635267fda4..e24e7b988caf 100644
--- a/runners/spark/src/main/java/org/apache/beam/runners/spark/metrics/sink/CsvSink.java
+++ b/runners/spark/src/main/java/org/apache/beam/runners/spark/metrics/sink/CsvSink.java
@@ -18,7 +18,6 @@
package org.apache.beam.runners.spark.metrics.sink;
import com.codahale.metrics.MetricRegistry;
-import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
import java.util.Properties;
import org.apache.beam.runners.spark.metrics.WithMetricsSupport;
import org.apache.spark.SecurityManager;
@@ -37,13 +36,7 @@
* "spark.metrics.conf.*.sink.csv.unit"=seconds
* }
*/
-@SuppressFBWarnings(
- value = "CT_CONSTRUCTOR_THROW",
- justification =
- "Pre-existing finding, not triaged yet."
- + " Making the class final or moving the throwing code"
- + " into a static factory method may fix it.")
-public class CsvSink implements Sink {
+public final class CsvSink implements Sink {
// Initialized reflectively as done by Spark's MetricsSystem
private final org.apache.spark.metrics.sink.CsvSink delegate;
diff --git a/runners/spark/src/main/java/org/apache/beam/runners/spark/metrics/sink/GraphiteSink.java b/runners/spark/src/main/java/org/apache/beam/runners/spark/metrics/sink/GraphiteSink.java
index 7ffeb7234002..c25d8c5ac291 100644
--- a/runners/spark/src/main/java/org/apache/beam/runners/spark/metrics/sink/GraphiteSink.java
+++ b/runners/spark/src/main/java/org/apache/beam/runners/spark/metrics/sink/GraphiteSink.java
@@ -18,7 +18,6 @@
package org.apache.beam.runners.spark.metrics.sink;
import com.codahale.metrics.MetricRegistry;
-import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
import java.util.Properties;
import org.apache.beam.runners.spark.metrics.WithMetricsSupport;
import org.apache.spark.SecurityManager;
@@ -40,13 +39,7 @@
* "spark.metrics.conf.*.sink.graphite.regex"=""
* }
*/
-@SuppressFBWarnings(
- value = "CT_CONSTRUCTOR_THROW",
- justification =
- "Pre-existing finding, not triaged yet."
- + " Making the class final or moving the throwing code"
- + " into a static factory method may fix it.")
-public class GraphiteSink implements Sink {
+public final class GraphiteSink implements Sink {
// Initialized reflectively as done by Spark's MetricsSystem
private final org.apache.spark.metrics.sink.GraphiteSink delegate;
diff --git a/runners/spark/src/main/java/org/apache/beam/runners/spark/structuredstreaming/metrics/SparkBeamMetricSource.java b/runners/spark/src/main/java/org/apache/beam/runners/spark/structuredstreaming/metrics/SparkBeamMetricSource.java
index 149e132c56b3..b19be4a8ff70 100644
--- a/runners/spark/src/main/java/org/apache/beam/runners/spark/structuredstreaming/metrics/SparkBeamMetricSource.java
+++ b/runners/spark/src/main/java/org/apache/beam/runners/spark/structuredstreaming/metrics/SparkBeamMetricSource.java
@@ -18,20 +18,13 @@
package org.apache.beam.runners.spark.structuredstreaming.metrics;
import com.codahale.metrics.MetricRegistry;
-import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
import org.apache.spark.metrics.source.Source;
/**
* A Spark {@link Source} that is tailored to expose a {@link SparkBeamMetric}, wrapping an
* underlying {@link org.apache.beam.sdk.metrics.MetricResults} instance.
*/
-@SuppressFBWarnings(
- value = "CT_CONSTRUCTOR_THROW",
- justification =
- "Pre-existing finding, not triaged yet."
- + " Making the class final or moving the throwing code"
- + " into a static factory method may fix it.")
-public class SparkBeamMetricSource implements Source {
+public final class SparkBeamMetricSource implements Source {
private final String name;
private final MetricRegistry metricRegistry = new MetricRegistry();
diff --git a/runners/spark/src/main/java/org/apache/beam/runners/spark/structuredstreaming/metrics/sink/CodahaleCsvSink.java b/runners/spark/src/main/java/org/apache/beam/runners/spark/structuredstreaming/metrics/sink/CodahaleCsvSink.java
index b46287acf6fe..905916682ea5 100644
--- a/runners/spark/src/main/java/org/apache/beam/runners/spark/structuredstreaming/metrics/sink/CodahaleCsvSink.java
+++ b/runners/spark/src/main/java/org/apache/beam/runners/spark/structuredstreaming/metrics/sink/CodahaleCsvSink.java
@@ -18,7 +18,6 @@
package org.apache.beam.runners.spark.structuredstreaming.metrics.sink;
import com.codahale.metrics.MetricRegistry;
-import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
import java.util.Properties;
import org.apache.beam.runners.spark.structuredstreaming.metrics.WithMetricsSupport;
import org.apache.spark.SecurityManager;
@@ -37,13 +36,7 @@
* "spark.metrics.conf.*.sink.csv.unit"=seconds
* }
*/
-@SuppressFBWarnings(
- value = "CT_CONSTRUCTOR_THROW",
- justification =
- "Pre-existing finding, not triaged yet."
- + " Making the class final or moving the throwing code"
- + " into a static factory method may fix it.")
-public class CodahaleCsvSink implements Sink {
+public final class CodahaleCsvSink implements Sink {
// Initialized reflectively as done by Spark's MetricsSystem
private final org.apache.spark.metrics.sink.CsvSink delegate;
diff --git a/runners/spark/src/main/java/org/apache/beam/runners/spark/structuredstreaming/metrics/sink/CodahaleGraphiteSink.java b/runners/spark/src/main/java/org/apache/beam/runners/spark/structuredstreaming/metrics/sink/CodahaleGraphiteSink.java
index 93231a758a3a..2da663ad20dd 100644
--- a/runners/spark/src/main/java/org/apache/beam/runners/spark/structuredstreaming/metrics/sink/CodahaleGraphiteSink.java
+++ b/runners/spark/src/main/java/org/apache/beam/runners/spark/structuredstreaming/metrics/sink/CodahaleGraphiteSink.java
@@ -18,7 +18,6 @@
package org.apache.beam.runners.spark.structuredstreaming.metrics.sink;
import com.codahale.metrics.MetricRegistry;
-import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
import java.util.Properties;
import org.apache.beam.runners.spark.structuredstreaming.metrics.WithMetricsSupport;
import org.apache.spark.SecurityManager;
@@ -40,13 +39,7 @@
* "spark.metrics.conf.*.sink.graphite.regex"=""
* }
*/
-@SuppressFBWarnings(
- value = "CT_CONSTRUCTOR_THROW",
- justification =
- "Pre-existing finding, not triaged yet."
- + " Making the class final or moving the throwing code"
- + " into a static factory method may fix it.")
-public class CodahaleGraphiteSink implements Sink {
+public final class CodahaleGraphiteSink implements Sink {
// Initialized reflectively as done by Spark's MetricsSystem
private final org.apache.spark.metrics.sink.GraphiteSink delegate;
diff --git a/runners/spark/src/main/java/org/apache/beam/runners/spark/translation/SparkBatchPortablePipelineTranslator.java b/runners/spark/src/main/java/org/apache/beam/runners/spark/translation/SparkBatchPortablePipelineTranslator.java
index 2590fb0f8d5a..540c6d2ce0fa 100644
--- a/runners/spark/src/main/java/org/apache/beam/runners/spark/translation/SparkBatchPortablePipelineTranslator.java
+++ b/runners/spark/src/main/java/org/apache/beam/runners/spark/translation/SparkBatchPortablePipelineTranslator.java
@@ -26,7 +26,6 @@
import static org.apache.beam.runners.fnexecution.translation.PipelineTranslatorUtils.instantiateCoder;
import com.google.auto.service.AutoService;
-import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
import java.io.IOException;
import java.util.Collections;
import java.util.HashMap;
@@ -78,13 +77,7 @@
"rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
"nullness" // TODO(https://github.com/apache/beam/issues/20497)
})
-@SuppressFBWarnings(
- value = "CT_CONSTRUCTOR_THROW",
- justification =
- "Pre-existing finding, not triaged yet."
- + " Making the class final or moving the throwing code"
- + " into a static factory method may fix it.")
-public class SparkBatchPortablePipelineTranslator
+public final class SparkBatchPortablePipelineTranslator
implements SparkPortablePipelineTranslator {
private final ImmutableMap urnToTransformTranslator;
diff --git a/runners/spark/src/main/java/org/apache/beam/runners/spark/translation/SparkDatasetPortablePipelineTranslator.java b/runners/spark/src/main/java/org/apache/beam/runners/spark/translation/SparkDatasetPortablePipelineTranslator.java
index 8aa110371390..4eaf97fa50a5 100644
--- a/runners/spark/src/main/java/org/apache/beam/runners/spark/translation/SparkDatasetPortablePipelineTranslator.java
+++ b/runners/spark/src/main/java/org/apache/beam/runners/spark/translation/SparkDatasetPortablePipelineTranslator.java
@@ -25,7 +25,6 @@
import static org.apache.beam.runners.fnexecution.translation.PipelineTranslatorUtils.hasUnboundedPCollections;
import static org.apache.spark.sql.functions.col;
-import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
@@ -82,13 +81,7 @@
"unchecked",
"nullness" // TODO(https://github.com/apache/beam/issues/20497)
})
-@SuppressFBWarnings(
- value = "CT_CONSTRUCTOR_THROW",
- justification =
- "Pre-existing finding, not triaged yet."
- + " Making the class final or moving the throwing code"
- + " into a static factory method may fix it.")
-public class SparkDatasetPortablePipelineTranslator
+public final class SparkDatasetPortablePipelineTranslator
implements SparkPortablePipelineTranslator {
private final ImmutableMap urnToTransformTranslator;
diff --git a/runners/spark/src/main/java/org/apache/beam/runners/spark/translation/SparkStreamingPortablePipelineTranslator.java b/runners/spark/src/main/java/org/apache/beam/runners/spark/translation/SparkStreamingPortablePipelineTranslator.java
index dbe28ca2e23d..7bfad22d9a52 100644
--- a/runners/spark/src/main/java/org/apache/beam/runners/spark/translation/SparkStreamingPortablePipelineTranslator.java
+++ b/runners/spark/src/main/java/org/apache/beam/runners/spark/translation/SparkStreamingPortablePipelineTranslator.java
@@ -24,7 +24,6 @@
import static org.apache.beam.runners.fnexecution.translation.PipelineTranslatorUtils.getWindowedValueCoder;
import static org.apache.beam.runners.fnexecution.translation.PipelineTranslatorUtils.getWindowingStrategy;
-import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
@@ -73,13 +72,7 @@
"rawtypes", // TODO(https://github.com/apache/beam/issues/20447)
"nullness" // TODO(https://github.com/apache/beam/issues/20497)
})
-@SuppressFBWarnings(
- value = "CT_CONSTRUCTOR_THROW",
- justification =
- "Pre-existing finding, not triaged yet."
- + " Making the class final or moving the throwing code"
- + " into a static factory method may fix it.")
-public class SparkStreamingPortablePipelineTranslator
+public final class SparkStreamingPortablePipelineTranslator
implements SparkPortablePipelineTranslator {
private final ImmutableMap urnToTransformTranslator;
diff --git a/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/Sample.java b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/Sample.java
index 0d2f35a5a012..e5c18afb9e44 100644
--- a/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/Sample.java
+++ b/sdks/java/core/src/main/java/org/apache/beam/sdk/transforms/Sample.java
@@ -19,7 +19,6 @@
import static org.apache.beam.vendor.guava.v32_1_2_jre.com.google.common.base.Preconditions.checkArgument;
-import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
@@ -292,13 +291,7 @@ public T extractOutput(List accumulator) {
*
* @param the type of the elements
*/
- @SuppressFBWarnings(
- value = "CT_CONSTRUCTOR_THROW",
- justification =
- "Pre-existing finding, not triaged yet."
- + " Making the class final or moving the throwing code"
- + " into a static factory method may fix it.")
- public static class FixedSizedSampleFn
+ public static final class FixedSizedSampleFn
extends CombineFn<
T, Top.BoundedHeap, SerializableComparator>>, Iterable> {
private final int sampleSize;