From b7193b283584ec6266339e234a4ba5d377bdf731 Mon Sep 17 00:00:00 2001 From: Radek Stankiewicz Date: Fri, 6 Mar 2026 10:58:17 +0100 Subject: [PATCH] [ErrorProne] Enable UnsafeReflectiveConstructionCast check --- .../apache/beam/gradle/BeamModulePlugin.groovy | 1 - .../avro/schemas/utils/AvroUtilsTest.java | 18 +++++++++--------- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/buildSrc/src/main/groovy/org/apache/beam/gradle/BeamModulePlugin.groovy b/buildSrc/src/main/groovy/org/apache/beam/gradle/BeamModulePlugin.groovy index 06c29c781bc6..7c41806cee31 100644 --- a/buildSrc/src/main/groovy/org/apache/beam/gradle/BeamModulePlugin.groovy +++ b/buildSrc/src/main/groovy/org/apache/beam/gradle/BeamModulePlugin.groovy @@ -1568,7 +1568,6 @@ class BeamModulePlugin implements Plugin { "UnnecessaryMethodReference", "UnnecessaryParentheses", "UnrecognisedJavadocTag", - "UnsafeReflectiveConstructionCast", // errorprone 3.2.0+ checks "DirectInvocationOnMock", "Finalize", diff --git a/sdks/java/extensions/avro/src/test/java/org/apache/beam/sdk/extensions/avro/schemas/utils/AvroUtilsTest.java b/sdks/java/extensions/avro/src/test/java/org/apache/beam/sdk/extensions/avro/schemas/utils/AvroUtilsTest.java index d087ed0a20bc..f4de215dcdfe 100644 --- a/sdks/java/extensions/avro/src/test/java/org/apache/beam/sdk/extensions/avro/schemas/utils/AvroUtilsTest.java +++ b/sdks/java/extensions/avro/src/test/java/org/apache/beam/sdk/extensions/avro/schemas/utils/AvroUtilsTest.java @@ -93,17 +93,17 @@ private Iterable randomData(org.apache.avro.Schema schema, int maxLength) thr Iterable data; if (VERSION_AVRO.equals("1.8.2")) { data = - (Iterable) - Class.forName("org.apache.avro.RandomData") - .getDeclaredConstructor(org.apache.avro.Schema.class, Integer.TYPE) - .newInstance(schema, maxLength); + Class.forName("org.apache.avro.RandomData") + .asSubclass(Iterable.class) + .getDeclaredConstructor(org.apache.avro.Schema.class, Integer.TYPE) + .newInstance(schema, maxLength); } else { data = - (Iterable) - Class.forName("org.apache.avro.util.RandomData") - .getDeclaredConstructor(org.apache.avro.Schema.class, Integer.TYPE, Boolean.TYPE) - // force Utf8 in random data to match with String type used in AvroUtils - .newInstance(schema, maxLength, true); + Class.forName("org.apache.avro.util.RandomData") + .asSubclass(Iterable.class) + .getDeclaredConstructor(org.apache.avro.Schema.class, Integer.TYPE, Boolean.TYPE) + // force Utf8 in random data to match with String type used in AvroUtils + .newInstance(schema, maxLength, true); } return data; }