You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by or...@apache.org on 2023/03/31 07:13:52 UTC
[camel] 06/06: CAMEL-15105: make the ComponentNameResolver a plugin of the context
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 <an...@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);
+ }
}