From 3504d50a9019d81fcc13f3f318d5e41880fedc7c Mon Sep 17 00:00:00 2001 From: Yi Hu Date: Mon, 10 Mar 2025 14:02:46 -0400 Subject: [PATCH] Clean up ExternalTransformRegistrar --- .../ExternalSchemaIOTransformRegistrar.java | 41 ++++--------------- 1 file changed, 8 insertions(+), 33 deletions(-) diff --git a/sdks/java/extensions/schemaio-expansion-service/src/main/java/org/apache/beam/sdk/extensions/schemaio/expansion/ExternalSchemaIOTransformRegistrar.java b/sdks/java/extensions/schemaio-expansion-service/src/main/java/org/apache/beam/sdk/extensions/schemaio/expansion/ExternalSchemaIOTransformRegistrar.java index c68bd0179676..ee88daa2a253 100644 --- a/sdks/java/extensions/schemaio-expansion-service/src/main/java/org/apache/beam/sdk/extensions/schemaio/expansion/ExternalSchemaIOTransformRegistrar.java +++ b/sdks/java/extensions/schemaio-expansion-service/src/main/java/org/apache/beam/sdk/extensions/schemaio/expansion/ExternalSchemaIOTransformRegistrar.java @@ -54,29 +54,14 @@ public class ExternalSchemaIOTransformRegistrar implements ExternalTransformRegi Map> providers = new HashMap<>(); try { for (SchemaIOProvider provider : ServiceLoader.load(SchemaIOProvider.class)) { - // Avro provider is treated as a special case since two Avro providers may want to be loaded - // from "core" (deprecated) and from "extensions/avro" (actual) - but only one must succeed. - // TODO: we won't need this check once all Avro providers from "core" will be - // removed - if (provider.identifier().equals("avro")) { - // Avro provider from "extensions/avro" must have a priority. - if (provider.getClass().getName().startsWith("org.apache.beam.sdk.extensions.avro")) { - // Load Avro provider from "extensions/avro" by any case. - registerProvider(providers, provider); - } else { - // Load Avro provider from "core" if it was not loaded from Avro extension before. - registerProviderOptionally(providers, provider); - } - } else { - final String identifier = - "beam:transform:org.apache.beam:schemaio_" + provider.identifier() + "_read:v1"; - checkState( - !providers.containsKey(identifier), - "Duplicate providers exist with identifier `%s` for class %s.", - identifier, - SchemaIOProvider.class); - registerProvider(providers, provider); - } + final String identifier = + "beam:transform:org.apache.beam:schemaio_" + provider.identifier() + "_read:v1"; + checkState( + !providers.containsKey(identifier), + "Duplicate providers exist with identifier `%s` for class %s.", + identifier, + SchemaIOProvider.class); + registerProvider(providers, provider); } } catch (Exception e) { throw new RuntimeException(e.getMessage()); @@ -94,16 +79,6 @@ private void registerProvider( new WriterBuilder(provider)); } - private void registerProviderOptionally( - Map> providers, SchemaIOProvider provider) { - providers.putIfAbsent( - "beam:transform:org.apache.beam:schemaio_" + provider.identifier() + "_read:v1", - new ReaderBuilder(provider)); - providers.putIfAbsent( - "beam:transform:org.apache.beam:schemaio_" + provider.identifier() + "_write:v1", - new WriterBuilder(provider)); - } - public static class Configuration { String location = ""; byte[] config = new byte[0];