This is an automated email from the ASF dual-hosted git repository. orpiske pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel.git
commit ad6157f08e275a24cffec4f38a96d019ff96f09f Author: Otavio Rodolfo Piske <angusyo...@gmail.com> AuthorDate: Thu Mar 30 18:57:24 2023 +0200 CAMEL-15105: make the ComponentNameResolver a plugin of the context --- .../main/java/org/apache/camel/ExtendedCamelContext.java | 11 ----------- .../apache/camel/impl/engine/AbstractCamelContext.java | 3 +-- .../camel/impl/engine/DefaultCamelContextExtension.java | 16 ---------------- .../camel/impl/ExtendedCamelContextConfigurer.java | 6 ------ .../camel/impl/lw/LightweightCamelContextExtension.java | 11 ----------- .../impl/engine/DefaultComponentNameResolverTest.java | 3 ++- .../main/java/org/apache/camel/support/PluginHelper.java | 15 +++++++++++++++ 7 files changed, 18 insertions(+), 47 deletions(-) diff --git a/core/camel-api/src/main/java/org/apache/camel/ExtendedCamelContext.java b/core/camel-api/src/main/java/org/apache/camel/ExtendedCamelContext.java index e15fc468a1f..7e314a477b0 100644 --- a/core/camel-api/src/main/java/org/apache/camel/ExtendedCamelContext.java +++ b/core/camel-api/src/main/java/org/apache/camel/ExtendedCamelContext.java @@ -30,7 +30,6 @@ import org.apache.camel.spi.BeanIntrospection; import org.apache.camel.spi.BeanProcessorFactory; import org.apache.camel.spi.BeanProxyFactory; import org.apache.camel.spi.BootstrapCloseable; -import org.apache.camel.spi.ComponentNameResolver; import org.apache.camel.spi.ConfigurerResolver; import org.apache.camel.spi.DataFormatResolver; import org.apache.camel.spi.DeferServiceFactory; @@ -288,16 +287,6 @@ public interface ExtendedCamelContext { */ void setErrorHandlerFactory(ErrorHandlerFactory errorHandlerFactory); - /** - * Gets the {@link ComponentNameResolver} to use. - */ - ComponentNameResolver getComponentNameResolver(); - - /** - * Sets a custom {@link ComponentNameResolver} to use. - */ - void setComponentNameResolver(ComponentNameResolver componentNameResolver); - /** * Gets the {@link LanguageResolver} to use. */ diff --git a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/AbstractCamelContext.java b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/AbstractCamelContext.java index dfb8924bdab..b73df87fa17 100644 --- a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/AbstractCamelContext.java +++ b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/AbstractCamelContext.java @@ -213,7 +213,6 @@ public abstract class AbstractCamelContext extends BaseService volatile ProcessorExchangeFactory processorExchangeFactory; volatile ReactiveExecutor reactiveExecutor; volatile Registry registry; - volatile ComponentNameResolver componentNameResolver; volatile LanguageResolver languageResolver; volatile ConfigurerResolver configurerResolver; volatile UriFactoryResolver uriFactoryResolver; @@ -386,6 +385,7 @@ public abstract class AbstractCamelContext extends BaseService camelContextExtension.addContextPlugin(CamelDependencyInjectionAnnotationFactory.class, createDependencyInjectionAnnotationFactory()); camelContextExtension.addContextPlugin(ComponentResolver.class, createComponentResolver()); + camelContextExtension.addContextPlugin(ComponentNameResolver.class, createComponentNameResolver()); if (build) { try { @@ -3273,7 +3273,6 @@ public abstract class AbstractCamelContext extends BaseService getPropertiesComponent(); camelContextExtension.getLanguageResolver(); - camelContextExtension.getComponentNameResolver(); camelContextExtension.getDataFormatResolver(); camelContextExtension.getHealthCheckResolver(); diff --git a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultCamelContextExtension.java b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultCamelContextExtension.java index 4d48d6498ce..8094600f7f8 100644 --- a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultCamelContextExtension.java +++ b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultCamelContextExtension.java @@ -44,7 +44,6 @@ import org.apache.camel.spi.BeanIntrospection; import org.apache.camel.spi.BeanProcessorFactory; import org.apache.camel.spi.BeanProxyFactory; import org.apache.camel.spi.BootstrapCloseable; -import org.apache.camel.spi.ComponentNameResolver; import org.apache.camel.spi.ConfigurerResolver; import org.apache.camel.spi.DataFormatResolver; import org.apache.camel.spi.Debugger; @@ -248,21 +247,6 @@ class DefaultCamelContextExtension implements ExtendedCamelContext { return camelContext.managementMBeanAssembler; } - public ComponentNameResolver getComponentNameResolver() { - if (camelContext.componentNameResolver == null) { - synchronized (camelContext.lock) { - if (camelContext.componentNameResolver == null) { - setComponentNameResolver(camelContext.createComponentNameResolver()); - } - } - } - return camelContext.componentNameResolver; - } - - public void setComponentNameResolver(ComponentNameResolver componentNameResolver) { - camelContext.componentNameResolver = camelContext.getInternalServiceManager().addService(componentNameResolver); - } - public LanguageResolver getLanguageResolver() { if (camelContext.languageResolver == null) { synchronized (camelContext.lock) { diff --git a/core/camel-core-engine/src/generated/java/org/apache/camel/impl/ExtendedCamelContextConfigurer.java b/core/camel-core-engine/src/generated/java/org/apache/camel/impl/ExtendedCamelContextConfigurer.java index c4a7ee9606a..7ebf603b71e 100644 --- a/core/camel-core-engine/src/generated/java/org/apache/camel/impl/ExtendedCamelContextConfigurer.java +++ b/core/camel-core-engine/src/generated/java/org/apache/camel/impl/ExtendedCamelContextConfigurer.java @@ -33,8 +33,6 @@ public class ExtendedCamelContextConfigurer extends org.apache.camel.support.com case "BootstrapConfigurerResolver": target.setBootstrapConfigurerResolver(property(camelContext, org.apache.camel.spi.ConfigurerResolver.class, value)); return true; case "bootstrapfactoryfinder": case "BootstrapFactoryFinder": target.setBootstrapFactoryFinder(property(camelContext, org.apache.camel.spi.FactoryFinder.class, value)); return true; - case "componentnameresolver": - case "ComponentNameResolver": target.setComponentNameResolver(property(camelContext, org.apache.camel.spi.ComponentNameResolver.class, value)); return true; case "configurerresolver": case "ConfigurerResolver": target.setConfigurerResolver(property(camelContext, org.apache.camel.spi.ConfigurerResolver.class, value)); return true; case "dataformatresolver": @@ -126,8 +124,6 @@ public class ExtendedCamelContextConfigurer extends org.apache.camel.support.com case "BootstrapConfigurerResolver": return org.apache.camel.spi.ConfigurerResolver.class; case "bootstrapfactoryfinder": case "BootstrapFactoryFinder": return org.apache.camel.spi.FactoryFinder.class; - case "componentnameresolver": - case "ComponentNameResolver": return org.apache.camel.spi.ComponentNameResolver.class; case "configurerresolver": case "ConfigurerResolver": return org.apache.camel.spi.ConfigurerResolver.class; case "dataformatresolver": @@ -220,8 +216,6 @@ public class ExtendedCamelContextConfigurer extends org.apache.camel.support.com case "BootstrapConfigurerResolver": return target.getBootstrapConfigurerResolver(); case "bootstrapfactoryfinder": case "BootstrapFactoryFinder": return target.getBootstrapFactoryFinder(); - case "componentnameresolver": - case "ComponentNameResolver": return target.getComponentNameResolver(); case "configurerresolver": case "ConfigurerResolver": return target.getConfigurerResolver(); case "dataformatresolver": diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/impl/lw/LightweightCamelContextExtension.java b/core/camel-core-engine/src/main/java/org/apache/camel/impl/lw/LightweightCamelContextExtension.java index 53a2e4a86d4..e9426d21cd7 100644 --- a/core/camel-core-engine/src/main/java/org/apache/camel/impl/lw/LightweightCamelContextExtension.java +++ b/core/camel-core-engine/src/main/java/org/apache/camel/impl/lw/LightweightCamelContextExtension.java @@ -45,7 +45,6 @@ import org.apache.camel.spi.BeanIntrospection; import org.apache.camel.spi.BeanProcessorFactory; import org.apache.camel.spi.BeanProxyFactory; import org.apache.camel.spi.BootstrapCloseable; -import org.apache.camel.spi.ComponentNameResolver; import org.apache.camel.spi.ConfigurerResolver; import org.apache.camel.spi.DataFormatResolver; import org.apache.camel.spi.DeferServiceFactory; @@ -127,16 +126,6 @@ class LightweightCamelContextExtension implements ExtendedCamelContext { throw new UnsupportedOperationException(); } - @Override - public ComponentNameResolver getComponentNameResolver() { - return camelContext.getCamelContextExtension().getComponentNameResolver(); - } - - @Override - public void setComponentNameResolver(ComponentNameResolver componentResolver) { - throw new UnsupportedOperationException(); - } - @Override public LanguageResolver getLanguageResolver() { return camelContext.getCamelContextExtension().getLanguageResolver(); diff --git a/core/camel-core/src/test/java/org/apache/camel/impl/engine/DefaultComponentNameResolverTest.java b/core/camel-core/src/test/java/org/apache/camel/impl/engine/DefaultComponentNameResolverTest.java index 3386bd92d07..c47db5b3a8b 100644 --- a/core/camel-core/src/test/java/org/apache/camel/impl/engine/DefaultComponentNameResolverTest.java +++ b/core/camel-core/src/test/java/org/apache/camel/impl/engine/DefaultComponentNameResolverTest.java @@ -20,6 +20,7 @@ import java.util.Set; import org.apache.camel.ContextTestSupport; import org.apache.camel.spi.ComponentNameResolver; +import org.apache.camel.support.PluginHelper; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.assertNotNull; @@ -36,7 +37,7 @@ public class DefaultComponentNameResolverTest extends ContextTestSupport { public void testDefaultComponentNameResolver() throws Exception { context.start(); - ComponentNameResolver resolver = context.getCamelContextExtension().getComponentNameResolver(); + ComponentNameResolver resolver = PluginHelper.getComponentNameResolver(context); assertNotNull(resolver); Set<String> names = resolver.resolveNames(context); diff --git a/core/camel-support/src/main/java/org/apache/camel/support/PluginHelper.java b/core/camel-support/src/main/java/org/apache/camel/support/PluginHelper.java index 1cb505705a6..a675479a364 100644 --- a/core/camel-support/src/main/java/org/apache/camel/support/PluginHelper.java +++ b/core/camel-support/src/main/java/org/apache/camel/support/PluginHelper.java @@ -21,6 +21,7 @@ import org.apache.camel.CamelContext; import org.apache.camel.ExtendedCamelContext; import org.apache.camel.spi.CamelBeanPostProcessor; import org.apache.camel.spi.CamelDependencyInjectionAnnotationFactory; +import org.apache.camel.spi.ComponentNameResolver; import org.apache.camel.spi.ComponentResolver; public final class PluginHelper { @@ -75,4 +76,18 @@ public final class PluginHelper { public static ComponentResolver getComponentResolver(ExtendedCamelContext extendedCamelContext) { return extendedCamelContext.getContextPlugin(ComponentResolver.class); } + + /** + * Gets the {@link ComponentNameResolver} to use. + */ + public static ComponentNameResolver getComponentNameResolver(CamelContext camelContext) { + return getComponentNameResolver(camelContext.getCamelContextExtension()); + } + + /** + * Gets the {@link ComponentNameResolver} to use. + */ + public static ComponentNameResolver getComponentNameResolver(ExtendedCamelContext extendedCamelContext) { + return extendedCamelContext.getContextPlugin(ComponentNameResolver.class); + } }