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 9dd934cd4770ea42fcb5036119793648d0c6168b Author: Otavio Rodolfo Piske <[email protected]> AuthorDate: Sun Apr 2 10:20:16 2023 +0200 CAMEL-15105: make the BeanIntrospection a plugin of the context --- .../camel/component/cron/CronPatternsTest.java | 3 ++- .../camel/component/facebook/FacebookComponent.java | 3 ++- .../facebook/data/FacebookPropertiesHelper.java | 3 ++- .../camel/component/fhir/FhirConfigurationIT.java | 3 ++- .../google/calendar/GoogleCalendarConsumer.java | 3 ++- .../google/calendar/GoogleCalendarProducer.java | 3 ++- .../component/google/drive/GoogleDriveConsumer.java | 3 ++- .../component/google/drive/GoogleDriveProducer.java | 3 ++- .../component/google/mail/GoogleMailConsumer.java | 3 ++- .../component/google/mail/GoogleMailProducer.java | 3 ++- .../google/sheets/GoogleSheetsConsumer.java | 3 ++- .../google/sheets/GoogleSheetsProducer.java | 3 ++- .../apache/camel/component/http/HttpComponent.java | 3 ++- .../apache/camel/component/mail/MailConsumer.java | 3 ++- .../component/metrics/MetricsComponentTest.java | 5 +++-- .../faulttolerance/FaultToleranceReifier.java | 2 +- ...ltToleranceRefConfigurationNoReflectionTest.java | 3 ++- .../faulttolerance/FaultToleranceRouteOkTest.java | 3 ++- .../component/netty/http/NettyHttpComponent.java | 3 ++- .../camel/component/netty/NettyComponent.java | 3 ++- .../olingo4/Olingo4ComponentConsumerTest.java | 11 +++++++---- .../olingo4/Olingo4ComponentProducerTest.java | 9 ++++++--- .../component/resilience4j/ResilienceReifier.java | 2 +- .../resilience4j/ResiliencePooledRouteOkTest.java | 3 ++- .../resilience4j/ResilienceRouteOkTest.java | 3 ++- .../camel/component/twilio/TwilioEndpoint.java | 3 ++- .../camel/component/twilio/TwilioEndpointTest.java | 13 ++++++------- .../cloud/UndertowServiceCallRouteTest.java | 10 ++++++---- .../rest/RestUndertowProducerGetPojoTest.java | 3 ++- .../component/wordpress/WordpressComponent.java | 3 ++- .../java/org/apache/camel/ExtendedCamelContext.java | 10 ---------- .../camel/impl/engine/AbstractCamelContext.java | 8 -------- .../camel/impl/engine/CamelPostProcessorHelper.java | 4 ++-- .../impl/engine/DefaultCamelContextExtension.java | 17 ----------------- .../camel/impl/ExtendedCamelContextConfigurer.java | 6 ------ .../impl/lw/LightweightCamelContextExtension.java | 10 ---------- .../camel/model/cloud/ServiceCallConfiguration.java | 2 +- .../camel/reifier/rest/RestBindingReifier.java | 10 ++++++---- .../component/log/LogComponentOptionsTest.java | 21 +++++++++++---------- .../org/apache/camel/converter/ConverterTest.java | 3 ++- .../apache/camel/model/ModelSanityCheckerTest.java | 3 ++- .../PropertyBindingSupportConfigurerTest.java | 6 +++--- .../camel/main/DefaultConfigurationConfigurer.java | 8 +++++--- .../PropertyBindingSupportOptionalValueTest.java | 3 ++- ...opertyBindingSupportRootArrayReflectionTest.java | 7 ++++--- .../main/PropertyBindingSupportRootArrayTest.java | 3 ++- ...tyBindingSupportRootArrayWithConfigurerTest.java | 7 ++++--- .../management/ManagedBeanIntrospectionTest.java | 3 ++- .../java/org/apache/camel/support/PluginHelper.java | 15 +++++++++++++++ .../camel/support/PropertyBindingSupport.java | 11 ++++++----- .../support/component/AbstractApiComponent.java | 2 +- .../component/ApiMethodPropertiesHelper.java | 4 ++-- .../support/management/MBeanInfoAssembler.java | 5 ++--- .../groovy/common/model/BeanConfiguration.groovy | 4 ++-- 54 files changed, 150 insertions(+), 143 deletions(-) diff --git a/components/camel-cron/src/test/java/org/apache/camel/component/cron/CronPatternsTest.java b/components/camel-cron/src/test/java/org/apache/camel/component/cron/CronPatternsTest.java index 5460a1a896c..0aa451210f4 100644 --- a/components/camel-cron/src/test/java/org/apache/camel/component/cron/CronPatternsTest.java +++ b/components/camel-cron/src/test/java/org/apache/camel/component/cron/CronPatternsTest.java @@ -20,6 +20,7 @@ import org.apache.camel.FailedToCreateRouteException; import org.apache.camel.LoggingLevel; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.spi.BeanIntrospection; +import org.apache.camel.support.PluginHelper; import org.apache.camel.test.junit5.CamelTestSupport; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.DisplayName; @@ -51,7 +52,7 @@ public class CronPatternsTest extends CamelTestSupport { @Test void testPlusInURI() throws Exception { - BeanIntrospection bi = context.getCamelContextExtension().getBeanIntrospection(); + BeanIntrospection bi = PluginHelper.getBeanIntrospection(context); bi.setExtendedStatistics(true); bi.setLoggingLevel(LoggingLevel.INFO); diff --git a/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/FacebookComponent.java b/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/FacebookComponent.java index 2eb05330793..9ea6a8eaa86 100644 --- a/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/FacebookComponent.java +++ b/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/FacebookComponent.java @@ -27,6 +27,7 @@ import org.apache.camel.spi.BeanIntrospection; import org.apache.camel.spi.Metadata; import org.apache.camel.spi.annotations.Component; import org.apache.camel.support.DefaultComponent; +import org.apache.camel.support.PluginHelper; import org.apache.camel.support.PropertyBindingSupport; /** @@ -74,7 +75,7 @@ public class FacebookComponent extends DefaultComponent { private FacebookEndpointConfiguration copyComponentProperties() { Map<String, Object> componentProperties = new HashMap<>(); - BeanIntrospection beanIntrospection = getCamelContext().getCamelContextExtension().getBeanIntrospection(); + BeanIntrospection beanIntrospection = PluginHelper.getBeanIntrospection(getCamelContext()); beanIntrospection.getProperties(configuration, componentProperties, null, false); // create endpoint configuration with component properties diff --git a/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/data/FacebookPropertiesHelper.java b/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/data/FacebookPropertiesHelper.java index fa4712bc6fe..3ef90342639 100644 --- a/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/data/FacebookPropertiesHelper.java +++ b/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/data/FacebookPropertiesHelper.java @@ -30,6 +30,7 @@ import org.apache.camel.component.facebook.FacebookConstants; import org.apache.camel.component.facebook.config.FacebookConfiguration; import org.apache.camel.component.facebook.config.FacebookEndpointConfiguration; import org.apache.camel.spi.BeanIntrospection; +import org.apache.camel.support.PluginHelper; import org.apache.camel.util.PropertiesHelper; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -121,7 +122,7 @@ public final class FacebookPropertiesHelper { public static void getEndpointProperties( CamelContext camelContext, FacebookEndpointConfiguration configuration, Map<String, Object> properties) { - BeanIntrospection beanIntrospection = camelContext.getCamelContextExtension().getBeanIntrospection(); + BeanIntrospection beanIntrospection = PluginHelper.getBeanIntrospection(camelContext); if (beanIntrospection.getProperties(configuration, properties, null, false)) { final Set<String> names = properties.keySet(); // remove component config properties so we only have endpoint properties diff --git a/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/FhirConfigurationIT.java b/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/FhirConfigurationIT.java index ece78f3fa6d..6d8482af41f 100644 --- a/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/FhirConfigurationIT.java +++ b/components/camel-fhir/camel-fhir-component/src/test/java/org/apache/camel/component/fhir/FhirConfigurationIT.java @@ -28,6 +28,7 @@ import org.apache.camel.builder.RouteBuilder; import org.apache.camel.component.fhir.internal.FhirApiCollection; import org.apache.camel.component.fhir.internal.FhirCreateApiMethod; import org.apache.camel.impl.DefaultCamelContext; +import org.apache.camel.support.PluginHelper; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; @@ -95,7 +96,7 @@ public class FhirConfigurationIT extends AbstractFhirTestSupport { assertTrue(interceptors.contains(this.mockClientInterceptor), "User defined IClientInterceptor not found"); - long counter = context.getCamelContextExtension().getBeanIntrospection().getInvokedCounter(); + long counter = PluginHelper.getBeanIntrospection(context).getInvokedCounter(); assertEquals(0, counter, "Should not use reflection"); } diff --git a/components/camel-google/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/GoogleCalendarConsumer.java b/components/camel-google/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/GoogleCalendarConsumer.java index 7f4d20507d4..231b076c0b0 100644 --- a/components/camel-google/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/GoogleCalendarConsumer.java +++ b/components/camel-google/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/GoogleCalendarConsumer.java @@ -24,6 +24,7 @@ import org.apache.camel.Processor; import org.apache.camel.RuntimeCamelException; import org.apache.camel.component.google.calendar.internal.GoogleCalendarApiName; import org.apache.camel.spi.BeanIntrospection; +import org.apache.camel.support.PluginHelper; import org.apache.camel.support.component.AbstractApiConsumer; /** @@ -40,7 +41,7 @@ public class GoogleCalendarConsumer extends AbstractApiConsumer<GoogleCalendarAp AbstractGoogleClientRequest request = (AbstractGoogleClientRequest) super.doInvokeMethod(properties); try { BeanIntrospection beanIntrospection - = getEndpoint().getCamelContext().getCamelContextExtension().getBeanIntrospection(); + = PluginHelper.getBeanIntrospection(getEndpoint().getCamelContext()); for (Entry<String, Object> p : properties.entrySet()) { beanIntrospection.setProperty(getEndpoint().getCamelContext(), request, p.getKey(), p.getValue()); } diff --git a/components/camel-google/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/GoogleCalendarProducer.java b/components/camel-google/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/GoogleCalendarProducer.java index af475157ee5..d74d925767c 100644 --- a/components/camel-google/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/GoogleCalendarProducer.java +++ b/components/camel-google/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/GoogleCalendarProducer.java @@ -24,6 +24,7 @@ import org.apache.camel.RuntimeCamelException; import org.apache.camel.component.google.calendar.internal.GoogleCalendarApiName; import org.apache.camel.component.google.calendar.internal.GoogleCalendarPropertiesHelper; import org.apache.camel.spi.BeanIntrospection; +import org.apache.camel.support.PluginHelper; import org.apache.camel.support.component.AbstractApiProducer; import org.apache.camel.support.component.ApiMethod; @@ -41,7 +42,7 @@ public class GoogleCalendarProducer extends AbstractApiProducer<GoogleCalendarAp AbstractGoogleClientRequest request = (AbstractGoogleClientRequest) super.doInvokeMethod(method, properties); try { BeanIntrospection beanIntrospection - = getEndpoint().getCamelContext().getCamelContextExtension().getBeanIntrospection(); + = PluginHelper.getBeanIntrospection(getEndpoint().getCamelContext()); for (Entry<String, Object> p : properties.entrySet()) { beanIntrospection.setProperty(getEndpoint().getCamelContext(), request, p.getKey(), p.getValue()); } diff --git a/components/camel-google/camel-google-drive/src/main/java/org/apache/camel/component/google/drive/GoogleDriveConsumer.java b/components/camel-google/camel-google-drive/src/main/java/org/apache/camel/component/google/drive/GoogleDriveConsumer.java index 794b09f9066..62b0cebd74e 100644 --- a/components/camel-google/camel-google-drive/src/main/java/org/apache/camel/component/google/drive/GoogleDriveConsumer.java +++ b/components/camel-google/camel-google-drive/src/main/java/org/apache/camel/component/google/drive/GoogleDriveConsumer.java @@ -24,6 +24,7 @@ import org.apache.camel.Processor; import org.apache.camel.RuntimeCamelException; import org.apache.camel.component.google.drive.internal.GoogleDriveApiName; import org.apache.camel.spi.BeanIntrospection; +import org.apache.camel.support.PluginHelper; import org.apache.camel.support.component.AbstractApiConsumer; /** @@ -39,7 +40,7 @@ public class GoogleDriveConsumer extends AbstractApiConsumer<GoogleDriveApiName, AbstractGoogleClientRequest request = (AbstractGoogleClientRequest) super.doInvokeMethod(properties); try { BeanIntrospection beanIntrospection - = getEndpoint().getCamelContext().getCamelContextExtension().getBeanIntrospection(); + = PluginHelper.getBeanIntrospection(getEndpoint().getCamelContext()); for (Entry<String, Object> p : properties.entrySet()) { beanIntrospection.setProperty(getEndpoint().getCamelContext(), request, p.getKey(), p.getValue()); } diff --git a/components/camel-google/camel-google-drive/src/main/java/org/apache/camel/component/google/drive/GoogleDriveProducer.java b/components/camel-google/camel-google-drive/src/main/java/org/apache/camel/component/google/drive/GoogleDriveProducer.java index 4203fe65332..abdfcdf6551 100644 --- a/components/camel-google/camel-google-drive/src/main/java/org/apache/camel/component/google/drive/GoogleDriveProducer.java +++ b/components/camel-google/camel-google-drive/src/main/java/org/apache/camel/component/google/drive/GoogleDriveProducer.java @@ -25,6 +25,7 @@ import org.apache.camel.component.google.drive.internal.GoogleDriveApiName; import org.apache.camel.component.google.drive.internal.GoogleDriveConstants; import org.apache.camel.component.google.drive.internal.GoogleDrivePropertiesHelper; import org.apache.camel.spi.BeanIntrospection; +import org.apache.camel.support.PluginHelper; import org.apache.camel.support.component.AbstractApiProducer; import org.apache.camel.support.component.ApiMethod; @@ -42,7 +43,7 @@ public class GoogleDriveProducer extends AbstractApiProducer<GoogleDriveApiName, AbstractGoogleClientRequest request = (AbstractGoogleClientRequest) super.doInvokeMethod(method, properties); try { BeanIntrospection beanIntrospection - = getEndpoint().getCamelContext().getCamelContextExtension().getBeanIntrospection(); + = PluginHelper.getBeanIntrospection(getEndpoint().getCamelContext()); for (Entry<String, Object> p : properties.entrySet()) { beanIntrospection.setProperty(getEndpoint().getCamelContext(), request, p.getKey(), p.getValue()); } diff --git a/components/camel-google/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/GoogleMailConsumer.java b/components/camel-google/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/GoogleMailConsumer.java index 388ed26c8c3..c66b5c783c0 100644 --- a/components/camel-google/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/GoogleMailConsumer.java +++ b/components/camel-google/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/GoogleMailConsumer.java @@ -24,6 +24,7 @@ import org.apache.camel.Processor; import org.apache.camel.RuntimeCamelException; import org.apache.camel.component.google.mail.internal.GoogleMailApiName; import org.apache.camel.spi.BeanIntrospection; +import org.apache.camel.support.PluginHelper; import org.apache.camel.support.component.AbstractApiConsumer; /** @@ -40,7 +41,7 @@ public class GoogleMailConsumer extends AbstractApiConsumer<GoogleMailApiName, G AbstractGoogleClientRequest request = (AbstractGoogleClientRequest) super.doInvokeMethod(properties); try { BeanIntrospection beanIntrospection - = getEndpoint().getCamelContext().getCamelContextExtension().getBeanIntrospection(); + = PluginHelper.getBeanIntrospection(getEndpoint().getCamelContext()); for (Entry<String, Object> p : properties.entrySet()) { beanIntrospection.setProperty(getEndpoint().getCamelContext(), request, p.getKey(), p.getValue()); } diff --git a/components/camel-google/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/GoogleMailProducer.java b/components/camel-google/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/GoogleMailProducer.java index 713eb48009f..27876abc416 100644 --- a/components/camel-google/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/GoogleMailProducer.java +++ b/components/camel-google/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/GoogleMailProducer.java @@ -24,6 +24,7 @@ import org.apache.camel.RuntimeCamelException; import org.apache.camel.component.google.mail.internal.GoogleMailApiName; import org.apache.camel.component.google.mail.internal.GoogleMailPropertiesHelper; import org.apache.camel.spi.BeanIntrospection; +import org.apache.camel.support.PluginHelper; import org.apache.camel.support.component.AbstractApiProducer; import org.apache.camel.support.component.ApiMethod; @@ -41,7 +42,7 @@ public class GoogleMailProducer extends AbstractApiProducer<GoogleMailApiName, G AbstractGoogleClientRequest request = (AbstractGoogleClientRequest) super.doInvokeMethod(method, properties); try { BeanIntrospection beanIntrospection - = getEndpoint().getCamelContext().getCamelContextExtension().getBeanIntrospection(); + = PluginHelper.getBeanIntrospection(getEndpoint().getCamelContext()); for (Entry<String, Object> p : properties.entrySet()) { beanIntrospection.setProperty(getEndpoint().getCamelContext(), request, p.getKey(), p.getValue()); } diff --git a/components/camel-google/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/GoogleSheetsConsumer.java b/components/camel-google/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/GoogleSheetsConsumer.java index 997c6ad772b..f175f340639 100644 --- a/components/camel-google/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/GoogleSheetsConsumer.java +++ b/components/camel-google/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/GoogleSheetsConsumer.java @@ -24,6 +24,7 @@ import org.apache.camel.Processor; import org.apache.camel.RuntimeCamelException; import org.apache.camel.component.google.sheets.internal.GoogleSheetsApiName; import org.apache.camel.spi.BeanIntrospection; +import org.apache.camel.support.PluginHelper; import org.apache.camel.support.component.AbstractApiConsumer; /** @@ -40,7 +41,7 @@ public class GoogleSheetsConsumer extends AbstractApiConsumer<GoogleSheetsApiNam AbstractGoogleClientRequest<?> request = (AbstractGoogleClientRequest) super.doInvokeMethod(properties); try { BeanIntrospection beanIntrospection - = getEndpoint().getCamelContext().getCamelContextExtension().getBeanIntrospection(); + = PluginHelper.getBeanIntrospection(getEndpoint().getCamelContext()); for (Entry<String, Object> p : properties.entrySet()) { beanIntrospection.setProperty(getEndpoint().getCamelContext(), request, p.getKey(), p.getValue()); } diff --git a/components/camel-google/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/GoogleSheetsProducer.java b/components/camel-google/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/GoogleSheetsProducer.java index 41989a9d36d..997389478b1 100644 --- a/components/camel-google/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/GoogleSheetsProducer.java +++ b/components/camel-google/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/GoogleSheetsProducer.java @@ -24,6 +24,7 @@ import org.apache.camel.RuntimeCamelException; import org.apache.camel.component.google.sheets.internal.GoogleSheetsApiName; import org.apache.camel.component.google.sheets.internal.GoogleSheetsPropertiesHelper; import org.apache.camel.spi.BeanIntrospection; +import org.apache.camel.support.PluginHelper; import org.apache.camel.support.component.AbstractApiProducer; import org.apache.camel.support.component.ApiMethod; @@ -41,7 +42,7 @@ public class GoogleSheetsProducer extends AbstractApiProducer<GoogleSheetsApiNam AbstractGoogleClientRequest<?> request = (AbstractGoogleClientRequest) super.doInvokeMethod(method, properties); try { BeanIntrospection beanIntrospection - = getEndpoint().getCamelContext().getCamelContextExtension().getBeanIntrospection(); + = PluginHelper.getBeanIntrospection(getEndpoint().getCamelContext()); for (Entry<String, Object> p : properties.entrySet()) { beanIntrospection.setProperty(getEndpoint().getCamelContext(), request, p.getKey(), p.getValue()); } diff --git a/components/camel-http/src/main/java/org/apache/camel/component/http/HttpComponent.java b/components/camel-http/src/main/java/org/apache/camel/component/http/HttpComponent.java index 974fb3c49df..2d856d74d5a 100644 --- a/components/camel-http/src/main/java/org/apache/camel/component/http/HttpComponent.java +++ b/components/camel-http/src/main/java/org/apache/camel/component/http/HttpComponent.java @@ -43,6 +43,7 @@ import org.apache.camel.spi.RestProducerFactory; import org.apache.camel.spi.UriParam; import org.apache.camel.spi.annotations.Component; import org.apache.camel.support.CamelContextHelper; +import org.apache.camel.support.PluginHelper; import org.apache.camel.support.PropertyBindingSupport; import org.apache.camel.support.RestProducerFactoryHelper; import org.apache.camel.support.jsse.SSLContextParameters; @@ -399,7 +400,7 @@ public class HttpComponent extends HttpCommonComponent implements RestProducerFa // configure the endpoint with the common configuration from the component if (getHttpConfiguration() != null) { Map<String, Object> properties = new HashMap<>(); - BeanIntrospection beanIntrospection = getCamelContext().getCamelContextExtension().getBeanIntrospection(); + BeanIntrospection beanIntrospection = PluginHelper.getBeanIntrospection(getCamelContext()); beanIntrospection.getProperties(getHttpConfiguration(), properties, null); setProperties(endpoint, properties); } diff --git a/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailConsumer.java b/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailConsumer.java index d701de35f63..1534251650f 100644 --- a/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailConsumer.java +++ b/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailConsumer.java @@ -43,6 +43,7 @@ import org.apache.camel.RuntimeCamelException; import org.apache.camel.attachment.Attachment; import org.apache.camel.attachment.AttachmentMessage; import org.apache.camel.spi.BeanIntrospection; +import org.apache.camel.support.PluginHelper; import org.apache.camel.support.ScheduledBatchPollingConsumer; import org.apache.camel.support.SynchronizationAdapter; import org.apache.camel.util.CastUtils; @@ -270,7 +271,7 @@ public class MailConsumer extends ScheduledBatchPollingConsumer { try { LOG.trace("Calling setPeek(true) on mail message {}", mail); BeanIntrospection beanIntrospection - = getEndpoint().getCamelContext().getCamelContextExtension().getBeanIntrospection(); + = PluginHelper.getBeanIntrospection(getEndpoint().getCamelContext()); beanIntrospection.setProperty(getEndpoint().getCamelContext(), mail, "peek", true); } catch (Exception e) { // ignore diff --git a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/MetricsComponentTest.java b/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/MetricsComponentTest.java index 2429f5ad011..0a276418894 100644 --- a/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/MetricsComponentTest.java +++ b/components/camel-metrics/src/test/java/org/apache/camel/component/metrics/MetricsComponentTest.java @@ -29,6 +29,7 @@ import org.apache.camel.RuntimeCamelException; import org.apache.camel.impl.engine.DefaultBeanIntrospection; import org.apache.camel.spi.ConfigurerResolver; import org.apache.camel.spi.Registry; +import org.apache.camel.support.PluginHelper; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; @@ -81,7 +82,7 @@ public class MetricsComponentTest { when(camelRegistry.lookupByNameAndType(MetricsComponent.METRIC_REGISTRY_NAME, MetricRegistry.class)) .thenReturn(metricRegistry); when(camelContext.getCamelContextExtension()).thenReturn(ecc); - when(ecc.getBeanIntrospection()).thenReturn(new DefaultBeanIntrospection()); + when(PluginHelper.getBeanIntrospection(ecc)).thenReturn(new DefaultBeanIntrospection()); when(ecc.getContextPlugin(ConfigurerResolver.class)).thenReturn((name, context) -> null); Map<String, Object> params = new HashMap<>(); @@ -110,7 +111,7 @@ public class MetricsComponentTest { when(camelRegistry.lookupByNameAndType(MetricsComponent.METRIC_REGISTRY_NAME, MetricRegistry.class)) .thenReturn(metricRegistry); when(camelContext.getCamelContextExtension()).thenReturn(ecc); - when(ecc.getBeanIntrospection()).thenReturn(new DefaultBeanIntrospection()); + when(PluginHelper.getBeanIntrospection(ecc)).thenReturn(new DefaultBeanIntrospection()); when(ecc.getContextPlugin(ConfigurerResolver.class)).thenReturn((name, context) -> null); Map<String, Object> params = new HashMap<>(); diff --git a/components/camel-microprofile/camel-microprofile-fault-tolerance/src/main/java/org/apache/camel/component/microprofile/faulttolerance/FaultToleranceReifier.java b/components/camel-microprofile/camel-microprofile-fault-tolerance/src/main/java/org/apache/camel/component/microprofile/faulttolerance/FaultToleranceReifier.java index 18112e65bf2..6a7caf011c9 100644 --- a/components/camel-microprofile/camel-microprofile-fault-tolerance/src/main/java/org/apache/camel/component/microprofile/faulttolerance/FaultToleranceReifier.java +++ b/components/camel-microprofile/camel-microprofile-fault-tolerance/src/main/java/org/apache/camel/component/microprofile/faulttolerance/FaultToleranceReifier.java @@ -173,7 +173,7 @@ public class FaultToleranceReifier extends ProcessorReifier<CircuitBreakerDefini } private void loadProperties(Map<String, Object> properties, Optional<?> optional, PropertyConfigurer configurer) { - BeanIntrospection beanIntrospection = camelContext.getCamelContextExtension().getBeanIntrospection(); + BeanIntrospection beanIntrospection = PluginHelper.getBeanIntrospection(camelContext); optional.ifPresent(bean -> { if (configurer instanceof ExtendedPropertyConfigurerGetter) { ExtendedPropertyConfigurerGetter getter = (ExtendedPropertyConfigurerGetter) configurer; diff --git a/components/camel-microprofile/camel-microprofile-fault-tolerance/src/test/java/org/apache/camel/component/microprofile/faulttolerance/FaultToleranceRefConfigurationNoReflectionTest.java b/components/camel-microprofile/camel-microprofile-fault-tolerance/src/test/java/org/apache/camel/component/microprofile/faulttolerance/FaultToleranceRefConfigurationNoReflectionTest.java index 785253efaaf..c12d69f1137 100644 --- a/components/camel-microprofile/camel-microprofile-fault-tolerance/src/test/java/org/apache/camel/component/microprofile/faulttolerance/FaultToleranceRefConfigurationNoReflectionTest.java +++ b/components/camel-microprofile/camel-microprofile-fault-tolerance/src/test/java/org/apache/camel/component/microprofile/faulttolerance/FaultToleranceRefConfigurationNoReflectionTest.java @@ -23,6 +23,7 @@ import org.apache.camel.component.mock.MockEndpoint; import org.apache.camel.model.FaultToleranceConfigurationDefinition; import org.apache.camel.spi.BeanIntrospection; import org.apache.camel.spi.CircuitBreakerConstants; +import org.apache.camel.support.PluginHelper; import org.apache.camel.test.junit5.CamelTestSupport; import org.junit.jupiter.api.Test; @@ -41,7 +42,7 @@ public class FaultToleranceRefConfigurationNoReflectionTest extends CamelTestSup protected CamelContext createCamelContext() throws Exception { CamelContext context = super.createCamelContext(); - bi = context.getCamelContextExtension().getBeanIntrospection(); + bi = PluginHelper.getBeanIntrospection(context); bi.setLoggingLevel(LoggingLevel.INFO); bi.resetCounters(); diff --git a/components/camel-microprofile/camel-microprofile-fault-tolerance/src/test/java/org/apache/camel/component/microprofile/faulttolerance/FaultToleranceRouteOkTest.java b/components/camel-microprofile/camel-microprofile-fault-tolerance/src/test/java/org/apache/camel/component/microprofile/faulttolerance/FaultToleranceRouteOkTest.java index 503ba608011..6351baf6bbc 100644 --- a/components/camel-microprofile/camel-microprofile-fault-tolerance/src/test/java/org/apache/camel/component/microprofile/faulttolerance/FaultToleranceRouteOkTest.java +++ b/components/camel-microprofile/camel-microprofile-fault-tolerance/src/test/java/org/apache/camel/component/microprofile/faulttolerance/FaultToleranceRouteOkTest.java @@ -22,6 +22,7 @@ import org.apache.camel.builder.RouteBuilder; import org.apache.camel.component.mock.MockEndpoint; import org.apache.camel.spi.BeanIntrospection; import org.apache.camel.spi.CircuitBreakerConstants; +import org.apache.camel.support.PluginHelper; import org.apache.camel.test.junit5.CamelTestSupport; import org.junit.jupiter.api.Test; @@ -40,7 +41,7 @@ public class FaultToleranceRouteOkTest extends CamelTestSupport { protected CamelContext createCamelContext() throws Exception { CamelContext context = super.createCamelContext(); - bi = context.getCamelContextExtension().getBeanIntrospection(); + bi = PluginHelper.getBeanIntrospection(context); bi.setLoggingLevel(LoggingLevel.INFO); bi.resetCounters(); diff --git a/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/NettyHttpComponent.java b/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/NettyHttpComponent.java index 9350203ccdb..ff3bfbd74d7 100644 --- a/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/NettyHttpComponent.java +++ b/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/NettyHttpComponent.java @@ -40,6 +40,7 @@ import org.apache.camel.spi.RestConsumerFactory; import org.apache.camel.spi.RestProducerFactory; import org.apache.camel.spi.annotations.Component; import org.apache.camel.support.CamelContextHelper; +import org.apache.camel.support.PluginHelper; import org.apache.camel.support.PropertyBindingSupport; import org.apache.camel.support.RestComponentHelper; import org.apache.camel.support.RestProducerFactoryHelper; @@ -103,7 +104,7 @@ public class NettyHttpComponent extends NettyComponent "bootstrapConfiguration", NettyServerBootstrapConfiguration.class); if (bootstrapConfiguration != null) { Map<String, Object> options = new HashMap<>(); - BeanIntrospection beanIntrospection = getCamelContext().getCamelContextExtension().getBeanIntrospection(); + BeanIntrospection beanIntrospection = PluginHelper.getBeanIntrospection(getCamelContext()); if (beanIntrospection.getProperties(bootstrapConfiguration, options, null, false)) { PropertyBindingSupport.bindProperties(getCamelContext(), config, options); } diff --git a/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyComponent.java b/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyComponent.java index d810fdc3071..01d5a85b4fa 100644 --- a/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyComponent.java +++ b/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyComponent.java @@ -30,6 +30,7 @@ import org.apache.camel.spi.BeanIntrospection; import org.apache.camel.spi.Metadata; import org.apache.camel.spi.annotations.Component; import org.apache.camel.support.DefaultComponent; +import org.apache.camel.support.PluginHelper; import org.apache.camel.support.PropertyBindingSupport; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -85,7 +86,7 @@ public class NettyComponent extends DefaultComponent implements SSLContextParame "bootstrapConfiguration", NettyServerBootstrapConfiguration.class); if (bootstrapConfiguration != null) { Map<String, Object> options = new HashMap<>(); - BeanIntrospection beanIntrospection = getCamelContext().getCamelContextExtension().getBeanIntrospection(); + BeanIntrospection beanIntrospection = PluginHelper.getBeanIntrospection(getCamelContext()); if (beanIntrospection.getProperties(bootstrapConfiguration, options, null, false)) { PropertyBindingSupport.bindProperties(getCamelContext(), config, options); } diff --git a/components/camel-olingo4/camel-olingo4-component/src/test/java/org/apache/camel/component/olingo4/Olingo4ComponentConsumerTest.java b/components/camel-olingo4/camel-olingo4-component/src/test/java/org/apache/camel/component/olingo4/Olingo4ComponentConsumerTest.java index 29bf30943e0..adf09310c76 100644 --- a/components/camel-olingo4/camel-olingo4-component/src/test/java/org/apache/camel/component/olingo4/Olingo4ComponentConsumerTest.java +++ b/components/camel-olingo4/camel-olingo4-component/src/test/java/org/apache/camel/component/olingo4/Olingo4ComponentConsumerTest.java @@ -22,6 +22,8 @@ import org.apache.camel.CamelContext; import org.apache.camel.LoggingLevel; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.component.mock.MockEndpoint; +import org.apache.camel.spi.BeanIntrospection; +import org.apache.camel.support.PluginHelper; import org.apache.olingo.client.api.domain.ClientCollectionValue; import org.apache.olingo.client.api.domain.ClientComplexValue; import org.apache.olingo.client.api.domain.ClientEntity; @@ -56,8 +58,9 @@ public class Olingo4ComponentConsumerTest extends AbstractOlingo4TestSupport { @Override protected CamelContext createCamelContext() throws Exception { CamelContext context = super.createCamelContext(); - context.getCamelContextExtension().getBeanIntrospection().setLoggingLevel(LoggingLevel.INFO); - context.getCamelContextExtension().getBeanIntrospection().setExtendedStatistics(true); + final BeanIntrospection beanIntrospection = PluginHelper.getBeanIntrospection(context); + beanIntrospection.setLoggingLevel(LoggingLevel.INFO); + beanIntrospection.setExtendedStatistics(true); return context; } @@ -92,7 +95,7 @@ public class Olingo4ComponentConsumerTest extends AbstractOlingo4TestSupport { } // should be reflection free - long counter = context.getCamelContextExtension().getBeanIntrospection().getInvokedCounter(); + long counter = PluginHelper.getBeanIntrospection(context).getInvokedCounter(); assertEquals(0, counter); } @@ -276,7 +279,7 @@ public class Olingo4ComponentConsumerTest extends AbstractOlingo4TestSupport { assertEquals("San Francisco International Airport", nameProp.getValue().toString()); // should be reflection free - long counter = context.getCamelContextExtension().getBeanIntrospection().getInvokedCounter(); + long counter = PluginHelper.getBeanIntrospection(context).getInvokedCounter(); assertEquals(0, counter); } diff --git a/components/camel-olingo4/camel-olingo4-component/src/test/java/org/apache/camel/component/olingo4/Olingo4ComponentProducerTest.java b/components/camel-olingo4/camel-olingo4-component/src/test/java/org/apache/camel/component/olingo4/Olingo4ComponentProducerTest.java index 7a96e112023..beb0a939db9 100644 --- a/components/camel-olingo4/camel-olingo4-component/src/test/java/org/apache/camel/component/olingo4/Olingo4ComponentProducerTest.java +++ b/components/camel-olingo4/camel-olingo4-component/src/test/java/org/apache/camel/component/olingo4/Olingo4ComponentProducerTest.java @@ -32,6 +32,8 @@ import org.apache.camel.component.olingo4.api.batch.Olingo4BatchQueryRequest; import org.apache.camel.component.olingo4.api.batch.Olingo4BatchRequest; import org.apache.camel.component.olingo4.api.batch.Olingo4BatchResponse; import org.apache.camel.component.olingo4.api.batch.Operation; +import org.apache.camel.spi.BeanIntrospection; +import org.apache.camel.support.PluginHelper; import org.apache.olingo.client.api.domain.ClientCollectionValue; import org.apache.olingo.client.api.domain.ClientComplexValue; import org.apache.olingo.client.api.domain.ClientEntity; @@ -80,8 +82,9 @@ public class Olingo4ComponentProducerTest extends AbstractOlingo4TestSupport { @Override protected CamelContext createCamelContext() throws Exception { CamelContext context = super.createCamelContext(); - context.getCamelContextExtension().getBeanIntrospection().setLoggingLevel(LoggingLevel.INFO); - context.getCamelContextExtension().getBeanIntrospection().setExtendedStatistics(true); + final BeanIntrospection beanIntrospection = PluginHelper.getBeanIntrospection(context); + beanIntrospection.setLoggingLevel(LoggingLevel.INFO); + beanIntrospection.setExtendedStatistics(true); return context; } @@ -143,7 +146,7 @@ public class Olingo4ComponentProducerTest extends AbstractOlingo4TestSupport { assertNotNull(unbFuncReturn); // should be reflection free - long counter = context.getCamelContextExtension().getBeanIntrospection().getInvokedCounter(); + long counter = PluginHelper.getBeanIntrospection(context).getInvokedCounter(); assertEquals(0, counter); } diff --git a/components/camel-resilience4j/src/main/java/org/apache/camel/component/resilience4j/ResilienceReifier.java b/components/camel-resilience4j/src/main/java/org/apache/camel/component/resilience4j/ResilienceReifier.java index d6508ff5b76..2b63ca87eda 100644 --- a/components/camel-resilience4j/src/main/java/org/apache/camel/component/resilience4j/ResilienceReifier.java +++ b/components/camel-resilience4j/src/main/java/org/apache/camel/component/resilience4j/ResilienceReifier.java @@ -216,7 +216,7 @@ public class ResilienceReifier extends ProcessorReifier<CircuitBreakerDefinition } private void loadProperties(Map<String, Object> properties, Optional<?> optional, PropertyConfigurer configurer) { - BeanIntrospection beanIntrospection = camelContext.getCamelContextExtension().getBeanIntrospection(); + BeanIntrospection beanIntrospection = PluginHelper.getBeanIntrospection(camelContext); optional.ifPresent(bean -> { if (configurer instanceof ExtendedPropertyConfigurerGetter) { ExtendedPropertyConfigurerGetter getter = (ExtendedPropertyConfigurerGetter) configurer; diff --git a/components/camel-resilience4j/src/test/java/org/apache/camel/component/resilience4j/ResiliencePooledRouteOkTest.java b/components/camel-resilience4j/src/test/java/org/apache/camel/component/resilience4j/ResiliencePooledRouteOkTest.java index 1336a62c50d..06de795f294 100644 --- a/components/camel-resilience4j/src/test/java/org/apache/camel/component/resilience4j/ResiliencePooledRouteOkTest.java +++ b/components/camel-resilience4j/src/test/java/org/apache/camel/component/resilience4j/ResiliencePooledRouteOkTest.java @@ -23,6 +23,7 @@ import org.apache.camel.component.mock.MockEndpoint; import org.apache.camel.impl.engine.PooledExchangeFactory; import org.apache.camel.spi.BeanIntrospection; import org.apache.camel.spi.CircuitBreakerConstants; +import org.apache.camel.support.PluginHelper; import org.apache.camel.test.junit5.CamelTestSupport; import org.junit.jupiter.api.Test; @@ -42,7 +43,7 @@ public class ResiliencePooledRouteOkTest extends CamelTestSupport { CamelContext context = super.createCamelContext(); context.getCamelContextExtension().setExchangeFactory(new PooledExchangeFactory()); - bi = context.getCamelContextExtension().getBeanIntrospection(); + bi = PluginHelper.getBeanIntrospection(context); bi.setLoggingLevel(LoggingLevel.INFO); bi.resetCounters(); diff --git a/components/camel-resilience4j/src/test/java/org/apache/camel/component/resilience4j/ResilienceRouteOkTest.java b/components/camel-resilience4j/src/test/java/org/apache/camel/component/resilience4j/ResilienceRouteOkTest.java index eea15802ae6..27f100a239b 100644 --- a/components/camel-resilience4j/src/test/java/org/apache/camel/component/resilience4j/ResilienceRouteOkTest.java +++ b/components/camel-resilience4j/src/test/java/org/apache/camel/component/resilience4j/ResilienceRouteOkTest.java @@ -22,6 +22,7 @@ import org.apache.camel.builder.RouteBuilder; import org.apache.camel.component.mock.MockEndpoint; import org.apache.camel.spi.BeanIntrospection; import org.apache.camel.spi.CircuitBreakerConstants; +import org.apache.camel.support.PluginHelper; import org.apache.camel.test.junit5.CamelTestSupport; import org.junit.jupiter.api.Test; @@ -40,7 +41,7 @@ public class ResilienceRouteOkTest extends CamelTestSupport { protected CamelContext createCamelContext() throws Exception { CamelContext context = super.createCamelContext(); - bi = context.getCamelContextExtension().getBeanIntrospection(); + bi = PluginHelper.getBeanIntrospection(context); bi.setLoggingLevel(LoggingLevel.INFO); bi.resetCounters(); diff --git a/components/camel-twilio/src/main/java/org/apache/camel/component/twilio/TwilioEndpoint.java b/components/camel-twilio/src/main/java/org/apache/camel/component/twilio/TwilioEndpoint.java index 6aa760de997..042611cc405 100644 --- a/components/camel-twilio/src/main/java/org/apache/camel/component/twilio/TwilioEndpoint.java +++ b/components/camel-twilio/src/main/java/org/apache/camel/component/twilio/TwilioEndpoint.java @@ -34,6 +34,7 @@ import org.apache.camel.component.twilio.internal.TwilioPropertiesHelper; import org.apache.camel.spi.BeanIntrospection; import org.apache.camel.spi.UriEndpoint; import org.apache.camel.spi.UriParam; +import org.apache.camel.support.PluginHelper; import org.apache.camel.support.component.AbstractApiEndpoint; import org.apache.camel.support.component.ApiMethod; import org.apache.camel.support.component.ApiMethodPropertiesHelper; @@ -106,7 +107,7 @@ public class TwilioEndpoint extends AbstractApiEndpoint<TwilioApiName, TwilioCon } String methodName = EXECUTOR_METHOD_MAP.get(method.getName()); try { - BeanIntrospection beanIntrospection = getCamelContext().getCamelContextExtension().getBeanIntrospection(); + BeanIntrospection beanIntrospection = PluginHelper.getBeanIntrospection(getCamelContext()); for (Map.Entry<String, Object> p : properties.entrySet()) { beanIntrospection.setProperty(getCamelContext(), executor, p.getKey(), p.getValue()); } diff --git a/components/camel-twilio/src/test/java/org/apache/camel/component/twilio/TwilioEndpointTest.java b/components/camel-twilio/src/test/java/org/apache/camel/component/twilio/TwilioEndpointTest.java index 38b5295ee7a..b336e1e9f38 100644 --- a/components/camel-twilio/src/test/java/org/apache/camel/component/twilio/TwilioEndpointTest.java +++ b/components/camel-twilio/src/test/java/org/apache/camel/component/twilio/TwilioEndpointTest.java @@ -17,8 +17,9 @@ package org.apache.camel.component.twilio; import org.apache.camel.CamelContext; -import org.apache.camel.ExtendedCamelContext; import org.apache.camel.LoggingLevel; +import org.apache.camel.spi.BeanIntrospection; +import org.apache.camel.support.PluginHelper; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; @@ -27,23 +28,21 @@ public class TwilioEndpointTest extends AbstractTwilioTestSupport { @Override protected CamelContext createCamelContext() throws Exception { CamelContext context = super.createCamelContext(); - ExtendedCamelContext ecc = context.getCamelContextExtension(); - ecc.getBeanIntrospection().setLoggingLevel(LoggingLevel.INFO); + PluginHelper.getBeanIntrospection(context).setLoggingLevel(LoggingLevel.INFO); return context; } @Test public void testTwilioEndpoint() { // should not use reflection when creating and configuring endpoint - - ExtendedCamelContext ecc = context.getCamelContextExtension(); - long before = ecc.getBeanIntrospection().getInvokedCounter(); + final BeanIntrospection beanIntrospection = PluginHelper.getBeanIntrospection(context); + long before = beanIntrospection.getInvokedCounter(); TwilioEndpoint te = context.getEndpoint("twilio:account/fetcher?pathSid=123", TwilioEndpoint.class); AccountEndpointConfiguration aec = (AccountEndpointConfiguration) te.getConfiguration(); Assertions.assertEquals("123", aec.getPathSid()); - long after = ecc.getBeanIntrospection().getInvokedCounter(); + long after = beanIntrospection.getInvokedCounter(); Assertions.assertEquals(before, after); } } diff --git a/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/cloud/UndertowServiceCallRouteTest.java b/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/cloud/UndertowServiceCallRouteTest.java index 29dbaaee2a1..144052adbb4 100644 --- a/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/cloud/UndertowServiceCallRouteTest.java +++ b/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/cloud/UndertowServiceCallRouteTest.java @@ -23,6 +23,7 @@ import org.apache.camel.RoutesBuilder; import org.apache.camel.RuntimeCamelException; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.spi.BeanIntrospection; +import org.apache.camel.support.PluginHelper; import org.apache.camel.test.AvailablePortFinder; import org.apache.camel.test.junit5.CamelTestSupport; import org.junit.jupiter.api.Test; @@ -37,14 +38,15 @@ public class UndertowServiceCallRouteTest extends CamelTestSupport { @Override protected CamelContext createCamelContext() throws Exception { CamelContext context = super.createCamelContext(); - context.getCamelContextExtension().getBeanIntrospection().setExtendedStatistics(true); - context.getCamelContextExtension().getBeanIntrospection().setLoggingLevel(LoggingLevel.INFO); + final BeanIntrospection beanIntrospection = PluginHelper.getBeanIntrospection(context); + beanIntrospection.setExtendedStatistics(true); + beanIntrospection.setLoggingLevel(LoggingLevel.INFO); return context; } @Test public void testCustomCall() { - BeanIntrospection bi = context.getCamelContextExtension().getBeanIntrospection(); + BeanIntrospection bi = PluginHelper.getBeanIntrospection(context); assertEquals("8081", template.requestBody("direct:custom", "hello", String.class)); assertEquals("8082", template.requestBody("direct:custom", "hello", String.class)); @@ -55,7 +57,7 @@ public class UndertowServiceCallRouteTest extends CamelTestSupport { @Test public void testDefaultSchema() { - BeanIntrospection bi = context.getCamelContextExtension().getBeanIntrospection(); + BeanIntrospection bi = PluginHelper.getBeanIntrospection(context); try { assertEquals("8081", template.requestBody("direct:default", "hello", String.class)); diff --git a/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowProducerGetPojoTest.java b/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowProducerGetPojoTest.java index 4425a38fa17..4ee523e4c77 100644 --- a/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowProducerGetPojoTest.java +++ b/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/rest/RestUndertowProducerGetPojoTest.java @@ -21,6 +21,7 @@ import org.apache.camel.builder.RouteBuilder; import org.apache.camel.component.undertow.BaseUndertowTest; import org.apache.camel.model.rest.RestBindingMode; import org.apache.camel.spi.BeanIntrospection; +import org.apache.camel.support.PluginHelper; import org.junit.jupiter.api.Test; import static org.apache.camel.test.junit5.TestSupport.assertIsInstanceOf; @@ -32,7 +33,7 @@ public class RestUndertowProducerGetPojoTest extends BaseUndertowTest { @Test public void testUndertowGetPojoRequest() { // should not use reflection when using rest binding in the rest producer - BeanIntrospection bi = context.getCamelContextExtension().getBeanIntrospection(); + BeanIntrospection bi = PluginHelper.getBeanIntrospection(context); bi.setLoggingLevel(LoggingLevel.INFO); bi.resetCounters(); diff --git a/components/camel-wordpress/src/main/java/org/apache/camel/component/wordpress/WordpressComponent.java b/components/camel-wordpress/src/main/java/org/apache/camel/component/wordpress/WordpressComponent.java index 099bbc52e89..6565a48fe28 100644 --- a/components/camel-wordpress/src/main/java/org/apache/camel/component/wordpress/WordpressComponent.java +++ b/components/camel-wordpress/src/main/java/org/apache/camel/component/wordpress/WordpressComponent.java @@ -25,6 +25,7 @@ import org.apache.camel.spi.BeanIntrospection; import org.apache.camel.spi.Metadata; import org.apache.camel.spi.annotations.Component; import org.apache.camel.support.DefaultComponent; +import org.apache.camel.support.PluginHelper; @Component("wordpress") public class WordpressComponent extends DefaultComponent { @@ -60,7 +61,7 @@ public class WordpressComponent extends DefaultComponent { if (configuration != null) { // TODO: Better to make WordpressConfiguration cloneable Map<String, Object> properties = new HashMap<>(); - BeanIntrospection beanIntrospection = getCamelContext().getCamelContextExtension().getBeanIntrospection(); + BeanIntrospection beanIntrospection = PluginHelper.getBeanIntrospection(getCamelContext()); beanIntrospection.getProperties(configuration, properties, null, false); properties.forEach(parameters::putIfAbsent); } 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 862fe49de1d..e7c09eab5bb 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 @@ -365,16 +365,6 @@ public interface ExtendedCamelContext { */ void addLogListener(LogListener listener); - /** - * Gets the {@link BeanIntrospection} - */ - BeanIntrospection getBeanIntrospection(); - - /** - * Sets a custom {@link BeanIntrospection}. - */ - void setBeanIntrospection(BeanIntrospection beanIntrospection); - /** * Gets the {@link HeadersMapFactory} 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 3a2f9a05603..aa511feb1c2 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 @@ -4167,14 +4167,6 @@ public abstract class AbstractCamelContext extends BaseService camelContextExtension.addInterceptStrategy(interceptStrategy); } - public BeanIntrospection getBeanIntrospection() { - return camelContextExtension.getBeanIntrospection(); - } - - public void setBeanIntrospection(BeanIntrospection beanIntrospection) { - camelContextExtension.setBeanIntrospection(beanIntrospection); - } - public ReactiveExecutor getReactiveExecutor() { return camelContextExtension.getReactiveExecutor(); } diff --git a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/CamelPostProcessorHelper.java b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/CamelPostProcessorHelper.java index dc951d3a011..9a80eac577d 100644 --- a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/CamelPostProcessorHelper.java +++ b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/CamelPostProcessorHelper.java @@ -191,11 +191,11 @@ public class CamelPostProcessorHelper implements CamelContextAware { // 2. then the getter with Endpoint as postfix // 3. then if start with on then try step 1 and 2 again, but omit the on prefix try { - Object value = getCamelContext().getCamelContextExtension().getBeanIntrospection().getOrElseProperty(bean, + Object value = PluginHelper.getBeanIntrospection(getCamelContext()).getOrElseProperty(bean, propertyName, null, false); if (value == null) { // try endpoint as postfix - value = getCamelContext().getCamelContextExtension().getBeanIntrospection().getOrElseProperty(bean, + value = PluginHelper.getBeanIntrospection(getCamelContext()).getOrElseProperty(bean, propertyName + "Endpoint", null, false); } if (value == null && propertyName.startsWith("on")) { 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 c137fbf492d..40ce95e0959 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 @@ -386,23 +386,6 @@ class DefaultCamelContextExtension implements ExtendedCamelContext { } } - @Override - public BeanIntrospection getBeanIntrospection() { - if (camelContext.beanIntrospection == null) { - synchronized (camelContext.lock) { - if (camelContext.beanIntrospection == null) { - setBeanIntrospection(camelContext.createBeanIntrospection()); - } - } - } - return camelContext.beanIntrospection; - } - - @Override - public void setBeanIntrospection(BeanIntrospection beanIntrospection) { - camelContext.beanIntrospection = camelContext.getInternalServiceManager().addService(beanIntrospection); - } - @Override public String getBasePackageScan() { return basePackageScan; 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 8169eabbb36..8d662d241b9 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 @@ -25,8 +25,6 @@ public class ExtendedCamelContextConfigurer extends org.apache.camel.support.com case "AnnotationBasedProcessorFactory": target.setAnnotationBasedProcessorFactory(property(camelContext, org.apache.camel.spi.AnnotationBasedProcessorFactory.class, value)); return true; case "basepackagescan": case "BasePackageScan": target.setBasePackageScan(property(camelContext, java.lang.String.class, value)); return true; - case "beanintrospection": - case "BeanIntrospection": target.setBeanIntrospection(property(camelContext, org.apache.camel.spi.BeanIntrospection.class, value)); return true; case "bootstrapfactoryfinder": case "BootstrapFactoryFinder": target.setBootstrapFactoryFinder(property(camelContext, org.apache.camel.spi.FactoryFinder.class, value)); return true; case "deferservicefactory": @@ -70,8 +68,6 @@ public class ExtendedCamelContextConfigurer extends org.apache.camel.support.com case "AnnotationBasedProcessorFactory": return org.apache.camel.spi.AnnotationBasedProcessorFactory.class; case "basepackagescan": case "BasePackageScan": return java.lang.String.class; - case "beanintrospection": - case "BeanIntrospection": return org.apache.camel.spi.BeanIntrospection.class; case "bootstrapfactoryfinder": case "BootstrapFactoryFinder": return org.apache.camel.spi.FactoryFinder.class; case "deferservicefactory": @@ -116,8 +112,6 @@ public class ExtendedCamelContextConfigurer extends org.apache.camel.support.com case "AnnotationBasedProcessorFactory": return target.getAnnotationBasedProcessorFactory(); case "basepackagescan": case "BasePackageScan": return target.getBasePackageScan(); - case "beanintrospection": - case "BeanIntrospection": return target.getBeanIntrospection(); case "bootstrapfactoryfinder": case "BootstrapFactoryFinder": return target.getBootstrapFactoryFinder(); case "deferservicefactory": 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 5a93f87baa5..de6e3e6ec07 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 @@ -269,16 +269,6 @@ class LightweightCamelContextExtension implements ExtendedCamelContext { throw new UnsupportedOperationException(); } - @Override - public BeanIntrospection getBeanIntrospection() { - return camelContext.getCamelContextExtension().getBeanIntrospection(); - } - - @Override - public void setBeanIntrospection(BeanIntrospection beanIntrospection) { - throw new UnsupportedOperationException(); - } - @Override public HeadersMapFactory getHeadersMapFactory() { return camelContext.getCamelContextExtension().getHeadersMapFactory(); diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/cloud/ServiceCallConfiguration.java b/core/camel-core-model/src/main/java/org/apache/camel/model/cloud/ServiceCallConfiguration.java index 851b14a5c95..fa44e2aa88e 100644 --- a/core/camel-core-model/src/main/java/org/apache/camel/model/cloud/ServiceCallConfiguration.java +++ b/core/camel-core-model/src/main/java/org/apache/camel/model/cloud/ServiceCallConfiguration.java @@ -117,7 +117,7 @@ public abstract class ServiceCallConfiguration extends IdentifiedType { } } } else { - context.getCamelContextExtension().getBeanIntrospection().getProperties(target, answer, + PluginHelper.getBeanIntrospection(context).getProperties(target, answer, null, false); } diff --git a/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/rest/RestBindingReifier.java b/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/rest/RestBindingReifier.java index 79833129bec..2fde750ffb1 100644 --- a/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/rest/RestBindingReifier.java +++ b/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/rest/RestBindingReifier.java @@ -24,6 +24,7 @@ import org.apache.camel.model.rest.RestBindingDefinition; import org.apache.camel.model.rest.RestBindingMode; import org.apache.camel.processor.RestBindingAdvice; import org.apache.camel.reifier.AbstractReifier; +import org.apache.camel.spi.BeanIntrospection; import org.apache.camel.spi.DataFormat; import org.apache.camel.spi.RestConfiguration; import org.apache.camel.support.CamelContextHelper; @@ -160,10 +161,11 @@ public class RestBindingReifier extends AbstractReifier { String typeName = useList ? type.substring(0, type.length() - 2) : type; clazz = camelContext.getClassResolver().resolveMandatoryClass(typeName); } + final BeanIntrospection beanIntrospection = PluginHelper.getBeanIntrospection(camelContext); if (clazz != null) { - camelContext.getCamelContextExtension().getBeanIntrospection().setProperty(camelContext, json, + beanIntrospection.setProperty(camelContext, json, "unmarshalType", clazz); - camelContext.getCamelContextExtension().getBeanIntrospection().setProperty(camelContext, json, "useList", + beanIntrospection.setProperty(camelContext, json, "useList", useList); } @@ -182,9 +184,9 @@ public class RestBindingReifier extends AbstractReifier { } if (outClazz != null) { - camelContext.getCamelContextExtension().getBeanIntrospection().setProperty(camelContext, outJson, + beanIntrospection.setProperty(camelContext, outJson, "unmarshalType", outClazz); - camelContext.getCamelContextExtension().getBeanIntrospection().setProperty(camelContext, outJson, "useList", + beanIntrospection.setProperty(camelContext, outJson, "useList", outUseList); } diff --git a/core/camel-core/src/test/java/org/apache/camel/component/log/LogComponentOptionsTest.java b/core/camel-core/src/test/java/org/apache/camel/component/log/LogComponentOptionsTest.java index 078f4761c2d..d301b1a3802 100644 --- a/core/camel-core/src/test/java/org/apache/camel/component/log/LogComponentOptionsTest.java +++ b/core/camel-core/src/test/java/org/apache/camel/component/log/LogComponentOptionsTest.java @@ -17,6 +17,7 @@ package org.apache.camel.component.log; import org.apache.camel.ContextTestSupport; +import org.apache.camel.support.PluginHelper; import org.apache.camel.support.PropertyBindingSupport; import org.apache.camel.support.processor.DefaultExchangeFormatter; import org.junit.jupiter.api.Test; @@ -34,7 +35,7 @@ public class LogComponentOptionsTest extends ContextTestSupport { public void testFastLogComponentOptions() throws Exception { context.start(); - long before = context.getCamelContextExtension().getBeanIntrospection().getInvokedCounter(); + long before = PluginHelper.getBeanIntrospection(context).getInvokedCounter(); DefaultExchangeFormatter myFormatter = new DefaultExchangeFormatter(); @@ -47,7 +48,7 @@ public class LogComponentOptionsTest extends ContextTestSupport { assertSame(myFormatter, log.getExchangeFormatter()); - long after = context.getCamelContextExtension().getBeanIntrospection().getInvokedCounter(); + long after = PluginHelper.getBeanIntrospection(context).getInvokedCounter(); assertEquals(before, after, "Should not use Java reflection"); } @@ -56,7 +57,7 @@ public class LogComponentOptionsTest extends ContextTestSupport { public void testFastLogComponentNestedOptions() throws Exception { context.start(); - long before = context.getCamelContextExtension().getBeanIntrospection().getInvokedCounter(); + long before = PluginHelper.getBeanIntrospection(context).getInvokedCounter(); DefaultExchangeFormatter myFormatter = new DefaultExchangeFormatter(); @@ -70,7 +71,7 @@ public class LogComponentOptionsTest extends ContextTestSupport { assertSame(myFormatter, log.getExchangeFormatter()); - long after = context.getCamelContextExtension().getBeanIntrospection().getInvokedCounter(); + long after = PluginHelper.getBeanIntrospection(context).getInvokedCounter(); assertTrue(after > before, "Should use Java reflection"); } @@ -79,7 +80,7 @@ public class LogComponentOptionsTest extends ContextTestSupport { public void testFastLogComponentOptionsLookupRegistry() throws Exception { context.start(); - long before = context.getCamelContextExtension().getBeanIntrospection().getInvokedCounter(); + long before = PluginHelper.getBeanIntrospection(context).getInvokedCounter(); DefaultExchangeFormatter myFormatter = new DefaultExchangeFormatter(); context.getRegistry().bind("myGreatFormatter", myFormatter); @@ -95,7 +96,7 @@ public class LogComponentOptionsTest extends ContextTestSupport { assertSame(myFormatter, log.getExchangeFormatter()); - long after = context.getCamelContextExtension().getBeanIntrospection().getInvokedCounter(); + long after = PluginHelper.getBeanIntrospection(context).getInvokedCounter(); assertEquals(before, after, "Should not use Java reflection"); } @@ -104,7 +105,7 @@ public class LogComponentOptionsTest extends ContextTestSupport { public void testSlowLogComponentOptions() throws Exception { context.start(); - long before = context.getCamelContextExtension().getBeanIntrospection().getInvokedCounter(); + long before = PluginHelper.getBeanIntrospection(context).getInvokedCounter(); DefaultExchangeFormatter myFormatter = new DefaultExchangeFormatter(); @@ -118,7 +119,7 @@ public class LogComponentOptionsTest extends ContextTestSupport { assertSame(myFormatter, log.getExchangeFormatter()); assertTrue(myFormatter.isShowExchangeId()); - long after = context.getCamelContextExtension().getBeanIntrospection().getInvokedCounter(); + long after = PluginHelper.getBeanIntrospection(context).getInvokedCounter(); assertTrue(after > before, "Should use reflection"); } @@ -127,7 +128,7 @@ public class LogComponentOptionsTest extends ContextTestSupport { public void testSlowLogComponentOptionsLookupRegistry() throws Exception { context.start(); - long before = context.getCamelContextExtension().getBeanIntrospection().getInvokedCounter(); + long before = PluginHelper.getBeanIntrospection(context).getInvokedCounter(); DefaultExchangeFormatter myFormatter = new DefaultExchangeFormatter(); context.getRegistry().bind("myGreatFormatter", myFormatter); @@ -144,7 +145,7 @@ public class LogComponentOptionsTest extends ContextTestSupport { assertSame(myFormatter, log.getExchangeFormatter()); assertTrue(myFormatter.isShowExchangeId()); - long after = context.getCamelContextExtension().getBeanIntrospection().getInvokedCounter(); + long after = PluginHelper.getBeanIntrospection(context).getInvokedCounter(); assertTrue(after > before, "Should use reflection"); } diff --git a/core/camel-core/src/test/java/org/apache/camel/converter/ConverterTest.java b/core/camel-core/src/test/java/org/apache/camel/converter/ConverterTest.java index 67c02345979..6ebb93b7210 100644 --- a/core/camel-core/src/test/java/org/apache/camel/converter/ConverterTest.java +++ b/core/camel-core/src/test/java/org/apache/camel/converter/ConverterTest.java @@ -36,6 +36,7 @@ import org.apache.camel.impl.converter.DefaultTypeConverter; import org.apache.camel.impl.engine.DefaultPackageScanClassResolver; import org.apache.camel.spi.BeanIntrospection; import org.apache.camel.support.DefaultExchange; +import org.apache.camel.support.PluginHelper; import org.apache.camel.support.service.ServiceHelper; import org.apache.camel.util.ReflectionInjector; import org.junit.jupiter.api.BeforeEach; @@ -192,7 +193,7 @@ public class ConverterTest extends TestSupport { CamelContext context = new DefaultCamelContext(); context.start(); - BeanIntrospection bi = context.getCamelContextExtension().getBeanIntrospection(); + BeanIntrospection bi = PluginHelper.getBeanIntrospection(context); assertDoesNotThrow(() -> bi.setProperty(context, converter, bean, "foo", "4", null, true, true, true), "Setting an int property in a bean, should have succeeded without throwing exceptions"); diff --git a/core/camel-core/src/test/java/org/apache/camel/model/ModelSanityCheckerTest.java b/core/camel-core/src/test/java/org/apache/camel/model/ModelSanityCheckerTest.java index 3dfc9607a1a..0300f87c064 100644 --- a/core/camel-core/src/test/java/org/apache/camel/model/ModelSanityCheckerTest.java +++ b/core/camel-core/src/test/java/org/apache/camel/model/ModelSanityCheckerTest.java @@ -29,6 +29,7 @@ import org.apache.camel.CamelContext; import org.apache.camel.impl.DefaultCamelContext; import org.apache.camel.impl.engine.DefaultPackageScanClassResolver; import org.apache.camel.spi.BeanIntrospection; +import org.apache.camel.support.PluginHelper; import org.junit.jupiter.api.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -53,7 +54,7 @@ public class ModelSanityCheckerTest { public void testSanity() throws Exception { CamelContext context = new DefaultCamelContext(); context.start(); - BeanIntrospection bi = context.getCamelContextExtension().getBeanIntrospection(); + BeanIntrospection bi = PluginHelper.getBeanIntrospection(context); Set<Class<?>> classes = discoverJaxbClasses(); assertNotNull(classes); diff --git a/core/camel-core/src/test/java/org/apache/camel/support/PropertyBindingSupportConfigurerTest.java b/core/camel-core/src/test/java/org/apache/camel/support/PropertyBindingSupportConfigurerTest.java index 425f5ba3b8c..f65575f4e5a 100644 --- a/core/camel-core/src/test/java/org/apache/camel/support/PropertyBindingSupportConfigurerTest.java +++ b/core/camel-core/src/test/java/org/apache/camel/support/PropertyBindingSupportConfigurerTest.java @@ -58,7 +58,7 @@ public class PropertyBindingSupportConfigurerTest extends ContextTestSupport { @Test public void testProperties() throws Exception { - BeanIntrospection bi = context.getCamelContextExtension().getBeanIntrospection(); + BeanIntrospection bi = PluginHelper.getBeanIntrospection(context); bi.setExtendedStatistics(true); bi.setLoggingLevel(LoggingLevel.WARN); @@ -86,7 +86,7 @@ public class PropertyBindingSupportConfigurerTest extends ContextTestSupport { @Test public void testPropertiesNested() throws Exception { - BeanIntrospection bi = context.getCamelContextExtension().getBeanIntrospection(); + BeanIntrospection bi = PluginHelper.getBeanIntrospection(context); bi.setExtendedStatistics(true); bi.setLoggingLevel(LoggingLevel.WARN); @@ -220,7 +220,7 @@ public class PropertyBindingSupportConfigurerTest extends ContextTestSupport { @Test public void testPropertiesNoReflection() throws Exception { - BeanIntrospection bi = context.getCamelContextExtension().getBeanIntrospection(); + BeanIntrospection bi = PluginHelper.getBeanIntrospection(context); bi.setExtendedStatistics(true); bi.setLoggingLevel(LoggingLevel.WARN); 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 e88369a2252..10a96b653bc 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 @@ -42,6 +42,7 @@ import org.apache.camel.model.Model; import org.apache.camel.model.ModelCamelContext; import org.apache.camel.model.ModelLifecycleStrategy; import org.apache.camel.spi.AsyncProcessorAwaitManager; +import org.apache.camel.spi.BeanIntrospection; import org.apache.camel.spi.ClassResolver; import org.apache.camel.spi.CliConnectorFactory; import org.apache.camel.spi.ContextReloadStrategy; @@ -137,11 +138,12 @@ public final class DefaultConfigurationConfigurer { ecc.setLightweight(config.isLightweight()); PluginHelper.getBeanPostProcessor(ecc).setEnabled(config.isBeanPostProcessorEnabled()); - ecc.getBeanIntrospection().setExtendedStatistics(config.isBeanIntrospectionExtendedStatistics()); + final BeanIntrospection beanIntrospection = PluginHelper.getBeanIntrospection(ecc); + beanIntrospection.setExtendedStatistics(config.isBeanIntrospectionExtendedStatistics()); if (config.getBeanIntrospectionLoggingLevel() != null) { - ecc.getBeanIntrospection().setLoggingLevel(config.getBeanIntrospectionLoggingLevel()); + beanIntrospection.setLoggingLevel(config.getBeanIntrospectionLoggingLevel()); } - ecc.getBeanIntrospection().afterPropertiesConfigured(camelContext); + beanIntrospection.afterPropertiesConfigured(camelContext); if ("pooled".equals(config.getExchangeFactory())) { ecc.setExchangeFactory(new PooledExchangeFactory()); diff --git a/core/camel-main/src/test/java/org/apache/camel/main/PropertyBindingSupportOptionalValueTest.java b/core/camel-main/src/test/java/org/apache/camel/main/PropertyBindingSupportOptionalValueTest.java index 05852bfdc0b..2020e516afe 100644 --- a/core/camel-main/src/test/java/org/apache/camel/main/PropertyBindingSupportOptionalValueTest.java +++ b/core/camel-main/src/test/java/org/apache/camel/main/PropertyBindingSupportOptionalValueTest.java @@ -21,6 +21,7 @@ import java.util.Properties; import org.apache.camel.CamelContext; import org.apache.camel.impl.DefaultCamelContext; import org.apache.camel.spi.BeanIntrospection; +import org.apache.camel.support.PluginHelper; import org.apache.camel.support.PropertyBindingSupport; import org.junit.jupiter.api.Test; @@ -35,7 +36,7 @@ public class PropertyBindingSupportOptionalValueTest { public void testOptionalValue() throws Exception { CamelContext context = new DefaultCamelContext(); - BeanIntrospection bi = context.getCamelContextExtension().getBeanIntrospection(); + BeanIntrospection bi = PluginHelper.getBeanIntrospection(context); bi.setExtendedStatistics(true); Properties prop = new Properties(); diff --git a/core/camel-main/src/test/java/org/apache/camel/main/PropertyBindingSupportRootArrayReflectionTest.java b/core/camel-main/src/test/java/org/apache/camel/main/PropertyBindingSupportRootArrayReflectionTest.java index c60a2e0d502..5208277a89c 100644 --- a/core/camel-main/src/test/java/org/apache/camel/main/PropertyBindingSupportRootArrayReflectionTest.java +++ b/core/camel-main/src/test/java/org/apache/camel/main/PropertyBindingSupportRootArrayReflectionTest.java @@ -19,6 +19,7 @@ package org.apache.camel.main; import org.apache.camel.CamelContext; import org.apache.camel.impl.DefaultCamelContext; import org.apache.camel.spi.BeanIntrospection; +import org.apache.camel.support.PluginHelper; import org.apache.camel.support.PropertyBindingSupport; import org.junit.jupiter.api.Test; @@ -34,7 +35,7 @@ public class PropertyBindingSupportRootArrayReflectionTest { public void testRootArray() throws Exception { CamelContext context = new DefaultCamelContext(); - BeanIntrospection bi = context.getCamelContextExtension().getBeanIntrospection(); + BeanIntrospection bi = PluginHelper.getBeanIntrospection(context); bi.setExtendedStatistics(true); context.start(); @@ -64,7 +65,7 @@ public class PropertyBindingSupportRootArrayReflectionTest { public void testNestedArray() throws Exception { CamelContext context = new DefaultCamelContext(); - BeanIntrospection bi = context.getCamelContextExtension().getBeanIntrospection(); + BeanIntrospection bi = PluginHelper.getBeanIntrospection(context); bi.setExtendedStatistics(true); context.start(); @@ -96,7 +97,7 @@ public class PropertyBindingSupportRootArrayReflectionTest { public void testNestedArrayAutodetect() throws Exception { CamelContext context = new DefaultCamelContext(); - BeanIntrospection bi = context.getCamelContextExtension().getBeanIntrospection(); + BeanIntrospection bi = PluginHelper.getBeanIntrospection(context); bi.setExtendedStatistics(true); context.start(); diff --git a/core/camel-main/src/test/java/org/apache/camel/main/PropertyBindingSupportRootArrayTest.java b/core/camel-main/src/test/java/org/apache/camel/main/PropertyBindingSupportRootArrayTest.java index 852bc9006c1..4b10c928fcb 100644 --- a/core/camel-main/src/test/java/org/apache/camel/main/PropertyBindingSupportRootArrayTest.java +++ b/core/camel-main/src/test/java/org/apache/camel/main/PropertyBindingSupportRootArrayTest.java @@ -19,6 +19,7 @@ package org.apache.camel.main; import org.apache.camel.CamelContext; import org.apache.camel.impl.DefaultCamelContext; import org.apache.camel.spi.BeanIntrospection; +import org.apache.camel.support.PluginHelper; import org.apache.camel.support.PropertyBindingSupport; import org.junit.jupiter.api.Test; @@ -33,7 +34,7 @@ public class PropertyBindingSupportRootArrayTest { public void testRootArray() throws Exception { CamelContext context = new DefaultCamelContext(); - BeanIntrospection bi = context.getCamelContextExtension().getBeanIntrospection(); + BeanIntrospection bi = PluginHelper.getBeanIntrospection(context); bi.setExtendedStatistics(true); context.start(); diff --git a/core/camel-main/src/test/java/org/apache/camel/main/PropertyBindingSupportRootArrayWithConfigurerTest.java b/core/camel-main/src/test/java/org/apache/camel/main/PropertyBindingSupportRootArrayWithConfigurerTest.java index b1be9bbeadf..42d7f27c049 100644 --- a/core/camel-main/src/test/java/org/apache/camel/main/PropertyBindingSupportRootArrayWithConfigurerTest.java +++ b/core/camel-main/src/test/java/org/apache/camel/main/PropertyBindingSupportRootArrayWithConfigurerTest.java @@ -20,6 +20,7 @@ import org.apache.camel.CamelContext; import org.apache.camel.LoggingLevel; import org.apache.camel.impl.DefaultCamelContext; import org.apache.camel.spi.BeanIntrospection; +import org.apache.camel.support.PluginHelper; import org.apache.camel.support.PropertyBindingSupport; import org.junit.jupiter.api.Test; @@ -34,7 +35,7 @@ public class PropertyBindingSupportRootArrayWithConfigurerTest { public void testRootArray() throws Exception { CamelContext context = new DefaultCamelContext(); - BeanIntrospection bi = context.getCamelContextExtension().getBeanIntrospection(); + BeanIntrospection bi = PluginHelper.getBeanIntrospection(context); bi.setExtendedStatistics(true); bi.setLoggingLevel(LoggingLevel.WARN); @@ -67,7 +68,7 @@ public class PropertyBindingSupportRootArrayWithConfigurerTest { public void testRootArrayAutoDetectClass() throws Exception { CamelContext context = new DefaultCamelContext(); - BeanIntrospection bi = context.getCamelContextExtension().getBeanIntrospection(); + BeanIntrospection bi = PluginHelper.getBeanIntrospection(context); bi.setExtendedStatistics(true); bi.setLoggingLevel(LoggingLevel.WARN); @@ -100,7 +101,7 @@ public class PropertyBindingSupportRootArrayWithConfigurerTest { public void testRootArrayAutoDetectClassTwo() throws Exception { CamelContext context = new DefaultCamelContext(); - BeanIntrospection bi = context.getCamelContextExtension().getBeanIntrospection(); + BeanIntrospection bi = PluginHelper.getBeanIntrospection(context); bi.setExtendedStatistics(true); bi.setLoggingLevel(LoggingLevel.WARN); diff --git a/core/camel-management/src/test/java/org/apache/camel/management/ManagedBeanIntrospectionTest.java b/core/camel-management/src/test/java/org/apache/camel/management/ManagedBeanIntrospectionTest.java index 6f1b9392f50..8bb6735cc01 100644 --- a/core/camel-management/src/test/java/org/apache/camel/management/ManagedBeanIntrospectionTest.java +++ b/core/camel-management/src/test/java/org/apache/camel/management/ManagedBeanIntrospectionTest.java @@ -24,6 +24,7 @@ import javax.management.MBeanServer; import javax.management.ObjectName; import org.apache.camel.builder.RouteBuilder; +import org.apache.camel.support.PluginHelper; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.condition.DisabledOnOs; import org.junit.jupiter.api.condition.OS; @@ -66,7 +67,7 @@ public class ManagedBeanIntrospectionTest extends ManagementTestSupport { Long counter = (Long) mbeanServer.getAttribute(on, "InvokedCounter"); assertEquals(0, counter.intValue(), "Should not have been invoked"); - Object dummy = context.getCamelContextExtension().getBeanIntrospection().getOrElseProperty(this, "dummy", null, + Object dummy = PluginHelper.getBeanIntrospection(context).getOrElseProperty(this, "dummy", null, false); assertEquals("MyDummy", dummy); 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 7b606273ce5..fc00ee33481 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 @@ -25,6 +25,7 @@ import org.apache.camel.catalog.RuntimeCamelCatalog; import org.apache.camel.console.DevConsoleResolver; import org.apache.camel.health.HealthCheckResolver; import org.apache.camel.spi.AsyncProcessorAwaitManager; +import org.apache.camel.spi.BeanIntrospection; import org.apache.camel.spi.BeanProxyFactory; import org.apache.camel.spi.CamelBeanPostProcessor; import org.apache.camel.spi.CamelDependencyInjectionAnnotationFactory; @@ -516,4 +517,18 @@ public final class PluginHelper { public static UnitOfWorkFactory getUnitOfWorkFactory(ExtendedCamelContext extendedCamelContext) { return extendedCamelContext.getContextPlugin(UnitOfWorkFactory.class); } + + /** + * Gets the {@link BeanIntrospection} + */ + public static BeanIntrospection getBeanIntrospection(CamelContext camelContext) { + return getBeanIntrospection(camelContext.getCamelContextExtension()); + } + + /** + * Gets the {@link BeanIntrospection} + */ + public static BeanIntrospection getBeanIntrospection(ExtendedCamelContext extendedCamelContext) { + return extendedCamelContext.getContextPlugin(BeanIntrospection.class); + } } diff --git a/core/camel-support/src/main/java/org/apache/camel/support/PropertyBindingSupport.java b/core/camel-support/src/main/java/org/apache/camel/support/PropertyBindingSupport.java index 22b332c5dde..67a0015688c 100644 --- a/core/camel-support/src/main/java/org/apache/camel/support/PropertyBindingSupport.java +++ b/core/camel-support/src/main/java/org/apache/camel/support/PropertyBindingSupport.java @@ -548,7 +548,7 @@ public final class PropertyBindingSupport { boolean ignoreCase, boolean reference, boolean optional) throws Exception { - BeanIntrospection bi = context.getCamelContextExtension().getBeanIntrospection(); + final BeanIntrospection bi = PluginHelper.getBeanIntrospection(context); int pos = name.indexOf('['); String lookupKey = name.substring(pos + 1, name.length() - 1); @@ -868,7 +868,7 @@ public final class PropertyBindingSupport { } } - boolean hit = context.getCamelContextExtension().getBeanIntrospection().setProperty(context, + boolean hit = PluginHelper.getBeanIntrospection(context).setProperty(context, context.getTypeConverter(), target, name, value, refName, fluentBuilder, allowPrivateSetter, ignoreCase); if (!hit && mandatory) { // there is no setter with this given name, so lets report this as a problem @@ -1008,7 +1008,7 @@ public final class PropertyBindingSupport { Object answer; Class<?> type = null; - final BeanIntrospection introspection = context.getCamelContextExtension().getBeanIntrospection(); + final BeanIntrospection introspection = PluginHelper.getBeanIntrospection(context); answer = introspection.getOrElseProperty(target, key, null, ignoreCase); if (answer != null) { type = answer.getClass(); @@ -1148,7 +1148,8 @@ public final class PropertyBindingSupport { CamelContext context, Class clazz, String name, boolean fluentBuilder, boolean allowPrivateSetter, boolean ignoreCase) { // is there a direct setter? - Set<Method> candidates = context.getCamelContextExtension().getBeanIntrospection().findSetterMethods(clazz, name, + final BeanIntrospection beanIntrospection = PluginHelper.getBeanIntrospection(context); + Set<Method> candidates = beanIntrospection.findSetterMethods(clazz, name, false, allowPrivateSetter, ignoreCase); if (candidates.size() == 1) { return candidates.iterator().next(); @@ -1156,7 +1157,7 @@ public final class PropertyBindingSupport { // okay now try with builder pattern if (fluentBuilder) { - candidates = context.getCamelContextExtension().getBeanIntrospection().findSetterMethods(clazz, name, + candidates = beanIntrospection.findSetterMethods(clazz, name, fluentBuilder, allowPrivateSetter, ignoreCase); if (candidates.size() == 1) { return candidates.iterator().next(); diff --git a/core/camel-support/src/main/java/org/apache/camel/support/component/AbstractApiComponent.java b/core/camel-support/src/main/java/org/apache/camel/support/component/AbstractApiComponent.java index 4b652578030..75d082ca2b1 100644 --- a/core/camel-support/src/main/java/org/apache/camel/support/component/AbstractApiComponent.java +++ b/core/camel-support/src/main/java/org/apache/camel/support/component/AbstractApiComponent.java @@ -126,7 +126,7 @@ public abstract class AbstractApiComponent<E extends Enum<E> & ApiName, T, S ext } } } else { - getCamelContext().getCamelContextExtension().getBeanIntrospection().getProperties(configuration, + PluginHelper.getBeanIntrospection(getCamelContext()).getProperties(configuration, componentProperties, null, false); } } diff --git a/core/camel-support/src/main/java/org/apache/camel/support/component/ApiMethodPropertiesHelper.java b/core/camel-support/src/main/java/org/apache/camel/support/component/ApiMethodPropertiesHelper.java index 12c3b602fc9..85dc639d59c 100644 --- a/core/camel-support/src/main/java/org/apache/camel/support/component/ApiMethodPropertiesHelper.java +++ b/core/camel-support/src/main/java/org/apache/camel/support/component/ApiMethodPropertiesHelper.java @@ -121,7 +121,7 @@ public abstract class ApiMethodPropertiesHelper<C> { } } } else { - context.getCamelContextExtension().getBeanIntrospection().getProperties(endpointConfiguration, properties, + PluginHelper.getBeanIntrospection(context).getProperties(endpointConfiguration, properties, null, false); } // remove component config properties so we only have endpoint properties @@ -178,7 +178,7 @@ public abstract class ApiMethodPropertiesHelper<C> { } } } else { - context.getCamelContextExtension().getBeanIntrospection().getProperties(endpointConfiguration, properties, + PluginHelper.getBeanIntrospection(context).getProperties(endpointConfiguration, properties, null, false); } if (LOG.isDebugEnabled()) { diff --git a/core/camel-support/src/main/java/org/apache/camel/support/management/MBeanInfoAssembler.java b/core/camel-support/src/main/java/org/apache/camel/support/management/MBeanInfoAssembler.java index 96b1873ec32..3168f80dc5f 100644 --- a/core/camel-support/src/main/java/org/apache/camel/support/management/MBeanInfoAssembler.java +++ b/core/camel-support/src/main/java/org/apache/camel/support/management/MBeanInfoAssembler.java @@ -33,7 +33,6 @@ import javax.management.modelmbean.ModelMBeanNotificationInfo; import javax.management.modelmbean.ModelMBeanOperationInfo; import org.apache.camel.CamelContext; -import org.apache.camel.ExtendedCamelContext; import org.apache.camel.Service; import org.apache.camel.api.management.ManagedAttribute; import org.apache.camel.api.management.ManagedNotification; @@ -43,6 +42,7 @@ import org.apache.camel.api.management.ManagedResource; import org.apache.camel.spi.BeanIntrospection; import org.apache.camel.support.LRUCache; import org.apache.camel.support.LRUCacheFactory; +import org.apache.camel.support.PluginHelper; import org.apache.camel.util.ObjectHelper; import org.apache.camel.util.StringHelper; import org.slf4j.Logger; @@ -65,8 +65,7 @@ public class MBeanInfoAssembler implements Service { private Map<Class<?>, MBeanAttributesAndOperations> cache; public MBeanInfoAssembler(CamelContext camelContext) { - ExtendedCamelContext ecc = camelContext.getCamelContextExtension(); - this.beanIntrospection = ecc.getBeanIntrospection(); + this.beanIntrospection = PluginHelper.getBeanIntrospection(camelContext); } @Override diff --git a/dsl/camel-groovy-dsl/camel-groovy-dsl-common/src/main/groovy/org/apache/camel/dsl/groovy/common/model/BeanConfiguration.groovy b/dsl/camel-groovy-dsl/camel-groovy-dsl-common/src/main/groovy/org/apache/camel/dsl/groovy/common/model/BeanConfiguration.groovy index 703b878b6d2..f3d3c903aed 100644 --- a/dsl/camel-groovy-dsl/camel-groovy-dsl-common/src/main/groovy/org/apache/camel/dsl/groovy/common/model/BeanConfiguration.groovy +++ b/dsl/camel-groovy-dsl/camel-groovy-dsl-common/src/main/groovy/org/apache/camel/dsl/groovy/common/model/BeanConfiguration.groovy @@ -17,6 +17,7 @@ package org.apache.camel.dsl.groovy.common.model import org.apache.camel.CamelContext +import org.apache.camel.support.PluginHelper import org.apache.camel.support.PropertyBindingSupport class BeanConfiguration { @@ -75,8 +76,7 @@ class BeanConfiguration { def propertyMissing(String name) { def props = new HashMap<String, Object>() - context.getExtendedCamelContextToBeReplaced() - .getBeanIntrospection() + PluginHelper.getBeanIntrospection(context) .getProperties(target, props, null, false) return props[name]
