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
The following commit(s) were added to refs/heads/main by this push: new 684c9bab673 CAMEL-15105: make the CLI ConnectorFactory a plugin of the context 684c9bab673 is described below commit 684c9bab673b9620f7e7289410e077f306bf0eeb Author: Otavio Rodolfo Piske <angusyo...@gmail.com> AuthorDate: Thu Mar 30 13:48:52 2023 +0200 CAMEL-15105: make the CLI ConnectorFactory a plugin of the context --- .../java/org/apache/camel/ExtendedCamelContext.java | 11 ----------- .../apache/camel/impl/engine/AbstractCamelContext.java | 9 +-------- .../impl/engine/DefaultCamelContextExtension.java | 18 ------------------ .../apache/camel/impl/engine/SimpleCamelContext.java | 10 ++++++++-- .../camel/impl/ExtendedCamelContextConfigurer.java | 6 ------ .../impl/lw/LightweightCamelContextExtension.java | 11 ----------- .../camel/main/DefaultConfigurationConfigurer.java | 2 +- .../main/java/org/apache/camel/main/KameletMain.java | 2 +- 8 files changed, 11 insertions(+), 58 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 719975da430..3be8a02ab16 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 @@ -32,7 +32,6 @@ import org.apache.camel.spi.BeanProxyFactory; import org.apache.camel.spi.BootstrapCloseable; import org.apache.camel.spi.CamelBeanPostProcessor; import org.apache.camel.spi.CamelDependencyInjectionAnnotationFactory; -import org.apache.camel.spi.CliConnectorFactory; import org.apache.camel.spi.ComponentNameResolver; import org.apache.camel.spi.ComponentResolver; import org.apache.camel.spi.ConfigurerResolver; @@ -796,16 +795,6 @@ public interface ExtendedCamelContext { */ void setStartupStepRecorder(StartupStepRecorder startupStepRecorder); - /** - * Gets the {@link CliConnectorFactory} (optional). - */ - CliConnectorFactory getCliConnectorFactory(); - - /** - * Sets the {@link CliConnectorFactory} to use. - */ - void setCliConnectorFactory(CliConnectorFactory cliConnectorFactory); - /** * Internal API for adding routes. Do not use this as end user. */ 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 26452a11eaa..61d34375d30 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 @@ -225,7 +225,6 @@ public abstract class AbstractCamelContext extends BaseService volatile ManagementStrategy managementStrategy; volatile ManagementMBeanAssembler managementMBeanAssembler; volatile HeadersMapFactory headersMapFactory; - volatile CliConnectorFactory cliConnectorFactory; volatile BeanProxyFactory beanProxyFactory; volatile BeanProcessorFactory beanProcessorFactory; volatile RoutesLoader routesLoader; @@ -2285,7 +2284,7 @@ public abstract class AbstractCamelContext extends BaseService // setup cli-connector if not already done if (hasService(CliConnector.class) == null) { - CliConnectorFactory ccf = camelContextExtension.getCliConnectorFactory(); + CliConnectorFactory ccf = getCamelContextExtension().getContextPlugin(CliConnectorFactory.class); if (ccf != null && ccf.isEnabled()) { CliConnector connector = ccf.createConnector(); addService(connector, true); @@ -4086,8 +4085,6 @@ public abstract class AbstractCamelContext extends BaseService protected abstract HeadersMapFactory createHeadersMapFactory(); - protected abstract CliConnectorFactory createCliConnectorFactory(); - protected abstract BeanProxyFactory createBeanProxyFactory(); protected abstract AnnotationBasedProcessorFactory createAnnotationBasedProcessorFactory(); @@ -4260,10 +4257,6 @@ public abstract class AbstractCamelContext extends BaseService camelContextExtension.setStartupStepRecorder(startupStepRecorder); } - public CliConnectorFactory getCliConnectorFactory() { - return camelContextExtension.getCliConnectorFactory(); - } - public void addRoute(Route route) { synchronized (routes) { routes.add(route); 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 4aeaa519cd0..4f32d2f5b16 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 @@ -46,7 +46,6 @@ import org.apache.camel.spi.BeanProxyFactory; import org.apache.camel.spi.BootstrapCloseable; import org.apache.camel.spi.CamelBeanPostProcessor; import org.apache.camel.spi.CamelDependencyInjectionAnnotationFactory; -import org.apache.camel.spi.CliConnectorFactory; import org.apache.camel.spi.ComponentNameResolver; import org.apache.camel.spi.ComponentResolver; import org.apache.camel.spi.ConfigurerResolver; @@ -1114,23 +1113,6 @@ class DefaultCamelContextExtension implements ExtendedCamelContext { camelContext.startupStepRecorder = startupStepRecorder; } - @Override - public CliConnectorFactory getCliConnectorFactory() { - if (camelContext.cliConnectorFactory == null) { - synchronized (camelContext.lock) { - if (camelContext.cliConnectorFactory == null) { - setCliConnectorFactory(camelContext.createCliConnectorFactory()); - } - } - } - return camelContext.cliConnectorFactory; - } - - @Override - public void setCliConnectorFactory(CliConnectorFactory cliConnectorFactory) { - camelContext.cliConnectorFactory = cliConnectorFactory; - } - @Override public void addRoute(Route route) { camelContext.addRoute(route); diff --git a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/SimpleCamelContext.java b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/SimpleCamelContext.java index 182a0552987..937b2cae356 100644 --- a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/SimpleCamelContext.java +++ b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/SimpleCamelContext.java @@ -127,6 +127,13 @@ public class SimpleCamelContext extends AbstractCamelContext { // noop } + @Override + public void doBuild() throws Exception { + super.doBuild(); + + getCamelContextExtension().addContextPlugin(CliConnectorFactory.class, createCliConnectorFactory()); + } + @Override protected HealthCheckRegistry createHealthCheckRegistry() { Optional<HealthCheckRegistry> result = ResolverHelper.resolveService( @@ -424,8 +431,7 @@ public class SimpleCamelContext extends AbstractCamelContext { return result.orElseGet(DefaultHeadersMapFactory::new); } - @Override - protected CliConnectorFactory createCliConnectorFactory() { + private CliConnectorFactory createCliConnectorFactory() { // lookup in registry first CliConnectorFactory ccf = getCamelContextReference().getRegistry().findSingleByType(CliConnectorFactory.class); if (ccf != null) { 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 5142aa28391..42281836564 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 @@ -35,8 +35,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 "cliconnectorfactory": - case "CliConnectorFactory": target.setCliConnectorFactory(property(camelContext, org.apache.camel.spi.CliConnectorFactory.class, value)); return true; case "componentnameresolver": case "ComponentNameResolver": target.setComponentNameResolver(property(camelContext, org.apache.camel.spi.ComponentNameResolver.class, value)); return true; case "componentresolver": @@ -138,8 +136,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 "cliconnectorfactory": - case "CliConnectorFactory": return org.apache.camel.spi.CliConnectorFactory.class; case "componentnameresolver": case "ComponentNameResolver": return org.apache.camel.spi.ComponentNameResolver.class; case "componentresolver": @@ -242,8 +238,6 @@ public class ExtendedCamelContextConfigurer extends org.apache.camel.support.com case "BootstrapConfigurerResolver": return target.getBootstrapConfigurerResolver(); case "bootstrapfactoryfinder": case "BootstrapFactoryFinder": return target.getBootstrapFactoryFinder(); - case "cliconnectorfactory": - case "CliConnectorFactory": return target.getCliConnectorFactory(); case "componentnameresolver": case "ComponentNameResolver": return target.getComponentNameResolver(); case "componentresolver": 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 6125fdd7fef..c2247b833f0 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 @@ -47,7 +47,6 @@ import org.apache.camel.spi.BeanProxyFactory; import org.apache.camel.spi.BootstrapCloseable; import org.apache.camel.spi.CamelBeanPostProcessor; import org.apache.camel.spi.CamelDependencyInjectionAnnotationFactory; -import org.apache.camel.spi.CliConnectorFactory; import org.apache.camel.spi.ComponentNameResolver; import org.apache.camel.spi.ComponentResolver; import org.apache.camel.spi.ConfigurerResolver; @@ -527,16 +526,6 @@ class LightweightCamelContextExtension implements ExtendedCamelContext { throw new UnsupportedOperationException(); } - @Override - public CliConnectorFactory getCliConnectorFactory() { - return camelContext.getCamelContextExtension().getCliConnectorFactory(); - } - - @Override - public void setCliConnectorFactory(CliConnectorFactory cliConnectorFactory) { - throw new UnsupportedOperationException(); - } - @Override public ExchangeFactory getExchangeFactory() { return camelContext.getCamelContextExtension().getExchangeFactory(); diff --git a/core/camel-main/src/main/java/org/apache/camel/main/DefaultConfigurationConfigurer.java b/core/camel-main/src/main/java/org/apache/camel/main/DefaultConfigurationConfigurer.java index 48f4caf2d93..30e8ef8115b 100644 --- a/core/camel-main/src/main/java/org/apache/camel/main/DefaultConfigurationConfigurer.java +++ b/core/camel-main/src/main/java/org/apache/camel/main/DefaultConfigurationConfigurer.java @@ -366,7 +366,7 @@ public final class DefaultConfigurationConfigurer { } CliConnectorFactory ccf = getSingleBeanOfType(registry, CliConnectorFactory.class); if (ccf != null) { - ecc.getCamelContextExtension().setCliConnectorFactory(ccf); + ecc.getCamelContextExtension().addContextPlugin(CliConnectorFactory.class, ccf); } PropertiesComponent pc = getSingleBeanOfType(registry, PropertiesComponent.class); if (pc != null) { diff --git a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/KameletMain.java b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/KameletMain.java index 0ec69e2d310..dc76811244c 100644 --- a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/KameletMain.java +++ b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/KameletMain.java @@ -356,7 +356,7 @@ public class KameletMain extends MainCommandLineSupport { if (!stub) { // setup cli-connector if not already done if (answer.hasService(CliConnector.class) == null) { - CliConnectorFactory ccf = answer.getCliConnectorFactory(); + CliConnectorFactory ccf = answer.getCamelContextExtension().getContextPlugin(CliConnectorFactory.class); if (ccf != null && ccf.isEnabled()) { CliConnector connector = ccf.createConnector(); try {