This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch CAMEL-13947 in repository https://gitbox.apache.org/repos/asf/camel.git
commit 83a6a8412687f3b9e8f2be0f047dcfdeb8a554f6 Author: Claus Ibsen <[email protected]> AuthorDate: Wed Sep 25 20:38:35 2019 +0200 CAMEL-13947: PropertiesComponent should be a static service and resolved like other similar features. --- .../java/org/apache/camel/component/ahc/BaseAhcTest.java | 4 ++-- .../apache/camel/component/amqp/AMQPConnectionDetails.java | 2 +- .../org/apache/camel/blueprint/CamelContextFactoryBean.java | 2 +- .../bonita/integration/BonitaIntegrationTestSupport.java | 8 +------- .../apache/camel/cdi/bean/CustomPropertiesCamelContext.java | 3 +-- .../google/bigquery/integration/BigQueryTestSupport.java | 3 +-- .../camel/component/google/pubsub/PubsubTestSupport.java | 4 +--- .../camel/component/influxdb/AbstractInfluxDbTest.java | 5 +---- .../apache/camel/component/jasypt/JasyptPropertiesTest.java | 2 +- .../java/org/apache/camel/component/jetty/BaseJettyTest.java | 3 +-- .../apache/camel/component/kafka/BaseEmbeddedKafkaTest.java | 5 ++--- .../config/CamelMicroProfilePropertiesSourceTest.java | 4 ++-- .../camel/component/mongodb/gridfs/AbstractMongoDbTest.java | 6 ++---- .../apache/camel/component/mongodb/AbstractMongoDbTest.java | 5 ++--- .../org/apache/camel/component/netty/http/BaseNettyTest.java | 5 ++--- .../java/org/apache/camel/component/netty/BaseNettyTest.java | 3 +-- .../slot/integration/PgReplicationSlotIntegrationTest.java | 5 +---- .../pgevent/integration/AbstractPgEventIntegrationTest.java | 4 +--- .../org/apache/camel/spring/boot/CamelAutoConfiguration.java | 12 +++++------- .../org/apache/camel/spring/CamelContextFactoryBean.java | 8 +------- .../BlueprintPropertiesLocationElementImplicitTest.java | 2 +- .../BlueprintPropertiesLocationElementOptionalTest.java | 2 +- .../blueprint/BlueprintPropertiesLocationElementTest.java | 2 +- .../camel/test/spring/junit5/CamelAnnotationsHandler.java | 4 ++-- .../test/spring/junit5/CamelSpringTestContextLoader.java | 2 +- .../spring/CamelSpringPropertiesLocationElementTest.java | 2 +- .../spring/ContainerAwareSpringTestSupport.java | 2 +- .../camel/test/testcontainers/ContainerAwareTestSupport.java | 2 +- .../apache/camel/component/undertow/BaseUndertowTest.java | 4 ++-- .../main/java/org/apache/camel/spi/PropertiesComponent.java | 2 ++ 30 files changed, 43 insertions(+), 74 deletions(-) diff --git a/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/BaseAhcTest.java b/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/BaseAhcTest.java index d479fd4..647e716 100644 --- a/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/BaseAhcTest.java +++ b/components/camel-ahc/src/test/java/org/apache/camel/component/ahc/BaseAhcTest.java @@ -15,11 +15,11 @@ * limitations under the License. */ package org.apache.camel.component.ahc; + import java.util.Properties; import org.apache.camel.BindToRegistry; import org.apache.camel.CamelContext; -import org.apache.camel.component.properties.PropertiesComponent; import org.apache.camel.support.jsse.ClientAuthentication; import org.apache.camel.support.jsse.KeyManagersParameters; import org.apache.camel.support.jsse.KeyStoreParameters; @@ -44,7 +44,7 @@ public abstract class BaseAhcTest extends CamelTestSupport { @Override protected CamelContext createCamelContext() throws Exception { CamelContext context = super.createCamelContext(); - context.addComponent("properties", new PropertiesComponent("ref:prop")); + context.getPropertiesComponent().setLocation("ref:prop"); return context; } diff --git a/components/camel-amqp/src/main/java/org/apache/camel/component/amqp/AMQPConnectionDetails.java b/components/camel-amqp/src/main/java/org/apache/camel/component/amqp/AMQPConnectionDetails.java index 6e351d7..07d1e9d 100644 --- a/components/camel-amqp/src/main/java/org/apache/camel/component/amqp/AMQPConnectionDetails.java +++ b/components/camel-amqp/src/main/java/org/apache/camel/component/amqp/AMQPConnectionDetails.java @@ -62,7 +62,7 @@ public class AMQPConnectionDetails { public static AMQPConnectionDetails discoverAMQP(CamelContext camelContext) { try { - PropertiesComponent propertiesComponent = camelContext.getComponent("properties", PropertiesComponent.class); + PropertiesComponent propertiesComponent = camelContext.getPropertiesComponent(); String host = property(propertiesComponent, AMQP_HOST, "localhost"); int port = Integer.parseInt(property(propertiesComponent, AMQP_PORT, "5672")); diff --git a/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/CamelContextFactoryBean.java b/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/CamelContextFactoryBean.java index 553cca0..cc3092c 100644 --- a/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/CamelContextFactoryBean.java +++ b/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/CamelContextFactoryBean.java @@ -269,7 +269,7 @@ public class CamelContextFactoryBean extends AbstractCamelContextFactoryBean<Blu // if blueprint property resolver is enabled on CamelContext then bridge PropertiesComponent to blueprint if (isUseBlueprintPropertyResolver()) { // lookup existing configured properties component - PropertiesComponent pc = getContext().getComponent("properties", PropertiesComponent.class); + PropertiesComponent pc = (PropertiesComponent) getContext().getPropertiesComponent(); // any extra properties ServiceReference<?> ref = bundleContext.getServiceReference(PropertiesComponent.OVERRIDE_PROPERTIES); diff --git a/components/camel-bonita/src/test/java/org/apache/camel/component/bonita/integration/BonitaIntegrationTestSupport.java b/components/camel-bonita/src/test/java/org/apache/camel/component/bonita/integration/BonitaIntegrationTestSupport.java index ed901b6..9dcf623 100644 --- a/components/camel-bonita/src/test/java/org/apache/camel/component/bonita/integration/BonitaIntegrationTestSupport.java +++ b/components/camel-bonita/src/test/java/org/apache/camel/component/bonita/integration/BonitaIntegrationTestSupport.java @@ -17,7 +17,6 @@ package org.apache.camel.component.bonita.integration; import org.apache.camel.CamelContext; -import org.apache.camel.component.properties.PropertiesComponent; import org.apache.camel.test.junit4.CamelTestSupport; public class BonitaIntegrationTestSupport extends CamelTestSupport { @@ -25,12 +24,7 @@ public class BonitaIntegrationTestSupport extends CamelTestSupport { @Override protected CamelContext createCamelContext() throws Exception { final CamelContext context = super.createCamelContext(); - - PropertiesComponent component = new PropertiesComponent(); - component.setLocation("classpath:test-options.properties"); - - context.addComponent("properties", component); - + context.getPropertiesComponent().setLocation("classpath:test-options.properties"); return context; } } diff --git a/components/camel-cdi/src/test/java/org/apache/camel/cdi/bean/CustomPropertiesCamelContext.java b/components/camel-cdi/src/test/java/org/apache/camel/cdi/bean/CustomPropertiesCamelContext.java index 02a3d11..f904cb4 100644 --- a/components/camel-cdi/src/test/java/org/apache/camel/cdi/bean/CustomPropertiesCamelContext.java +++ b/components/camel-cdi/src/test/java/org/apache/camel/cdi/bean/CustomPropertiesCamelContext.java @@ -19,7 +19,6 @@ package org.apache.camel.cdi.bean; import javax.annotation.PostConstruct; import javax.enterprise.context.ApplicationScoped; -import org.apache.camel.component.properties.PropertiesComponent; import org.apache.camel.impl.DefaultCamelContext; @ApplicationScoped @@ -27,6 +26,6 @@ public class CustomPropertiesCamelContext extends DefaultCamelContext { @PostConstruct void addPropertiesLocation() { - getComponent("properties", PropertiesComponent.class).setLocation("classpath:placeholder.properties"); + getPropertiesComponent().setLocation("classpath:placeholder.properties"); } } diff --git a/components/camel-google-bigquery/src/test/java/org/apache/camel/component/google/bigquery/integration/BigQueryTestSupport.java b/components/camel-google-bigquery/src/test/java/org/apache/camel/component/google/bigquery/integration/BigQueryTestSupport.java index 6e0d0f0..1ebd3cd 100644 --- a/components/camel-google-bigquery/src/test/java/org/apache/camel/component/google/bigquery/integration/BigQueryTestSupport.java +++ b/components/camel-google-bigquery/src/test/java/org/apache/camel/component/google/bigquery/integration/BigQueryTestSupport.java @@ -36,7 +36,6 @@ import org.apache.camel.BindToRegistry; import org.apache.camel.CamelContext; import org.apache.camel.component.google.bigquery.GoogleBigQueryComponent; import org.apache.camel.component.google.bigquery.GoogleBigQueryConnectionFactory; -import org.apache.camel.component.properties.PropertiesComponent; import org.apache.camel.test.junit4.CamelTestSupport; public class BigQueryTestSupport extends CamelTestSupport { @@ -83,7 +82,7 @@ public class BigQueryTestSupport extends CamelTestSupport { component.setConnectionFactory(connectionFactory); context.addComponent("google-bigquery", component); - context.addComponent("properties", new PropertiesComponent("ref:prop")); + context.getPropertiesComponent().setLocation("ref:prop"); } @Override diff --git a/components/camel-google-pubsub/src/test/java/org/apache/camel/component/google/pubsub/PubsubTestSupport.java b/components/camel-google-pubsub/src/test/java/org/apache/camel/component/google/pubsub/PubsubTestSupport.java index dc3ab60..61f7cfe 100644 --- a/components/camel-google-pubsub/src/test/java/org/apache/camel/component/google/pubsub/PubsubTestSupport.java +++ b/components/camel-google-pubsub/src/test/java/org/apache/camel/component/google/pubsub/PubsubTestSupport.java @@ -23,10 +23,8 @@ import com.google.api.client.googleapis.json.GoogleJsonResponseException; import com.google.api.services.pubsub.Pubsub; import com.google.api.services.pubsub.model.Subscription; import com.google.api.services.pubsub.model.Topic; - import org.apache.camel.BindToRegistry; import org.apache.camel.CamelContext; -import org.apache.camel.component.properties.PropertiesComponent; import org.apache.camel.test.junit4.CamelTestSupport; public class PubsubTestSupport extends CamelTestSupport { @@ -68,7 +66,7 @@ public class PubsubTestSupport extends CamelTestSupport { component.setConnectionFactory(cf); context.addComponent("google-pubsub", component); - context.addComponent("properties", new PropertiesComponent("ref:prop")); + context.getPropertiesComponent().setLocation("ref:prop"); } @BindToRegistry("prop") diff --git a/components/camel-influxdb/src/test/java/org/apache/camel/component/influxdb/AbstractInfluxDbTest.java b/components/camel-influxdb/src/test/java/org/apache/camel/component/influxdb/AbstractInfluxDbTest.java index d8ec22f..bf5d4b5 100644 --- a/components/camel-influxdb/src/test/java/org/apache/camel/component/influxdb/AbstractInfluxDbTest.java +++ b/components/camel-influxdb/src/test/java/org/apache/camel/component/influxdb/AbstractInfluxDbTest.java @@ -17,7 +17,6 @@ package org.apache.camel.component.influxdb; import org.apache.camel.CamelContext; -import org.apache.camel.component.properties.PropertiesComponent; import org.apache.camel.spring.SpringCamelContext; import org.apache.camel.test.junit4.CamelTestSupport; import org.springframework.context.ApplicationContext; @@ -31,9 +30,7 @@ public class AbstractInfluxDbTest extends CamelTestSupport { protected CamelContext createCamelContext() throws Exception { applicationContext = new AnnotationConfigApplicationContext(MockedInfluxDbConfiguration.class); CamelContext ctx = new SpringCamelContext(applicationContext); - ctx.init(); - PropertiesComponent pc = new PropertiesComponent("classpath:influxdb.test.properties"); - ctx.addComponent("properties", pc); + ctx.getPropertiesComponent().setLocation("classpath:influxdb.test.properties"); return ctx; } diff --git a/components/camel-jasypt/src/test/java/org/apache/camel/component/jasypt/JasyptPropertiesTest.java b/components/camel-jasypt/src/test/java/org/apache/camel/component/jasypt/JasyptPropertiesTest.java index 23109f9..159402e 100644 --- a/components/camel-jasypt/src/test/java/org/apache/camel/component/jasypt/JasyptPropertiesTest.java +++ b/components/camel-jasypt/src/test/java/org/apache/camel/component/jasypt/JasyptPropertiesTest.java @@ -50,7 +50,7 @@ public class JasyptPropertiesTest extends CamelTestSupport { pc.setPropertiesParser(jasypt); // add properties component to camel context - context.addComponent("properties", pc); + context.setPropertiesComponent(pc); // END SNIPPET: e1 return context; diff --git a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/BaseJettyTest.java b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/BaseJettyTest.java index b75cd0d..5c3df6a 100644 --- a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/BaseJettyTest.java +++ b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/BaseJettyTest.java @@ -21,7 +21,6 @@ import java.util.concurrent.atomic.AtomicInteger; import org.apache.camel.BindToRegistry; import org.apache.camel.CamelContext; -import org.apache.camel.component.properties.PropertiesComponent; import org.apache.camel.http.common.HttpHeaderFilterStrategy; import org.apache.camel.test.AvailablePortFinder; import org.apache.camel.test.junit4.CamelTestSupport; @@ -46,7 +45,7 @@ public abstract class BaseJettyTest extends CamelTestSupport { @Override protected CamelContext createCamelContext() throws Exception { CamelContext context = super.createCamelContext(); - context.addComponent("properties", new PropertiesComponent("ref:prop")); + context.getPropertiesComponent().setLocation("ref:prop"); return context; } diff --git a/components/camel-kafka/src/test/java/org/apache/camel/component/kafka/BaseEmbeddedKafkaTest.java b/components/camel-kafka/src/test/java/org/apache/camel/component/kafka/BaseEmbeddedKafkaTest.java index f9e2b48..76d6510 100644 --- a/components/camel-kafka/src/test/java/org/apache/camel/component/kafka/BaseEmbeddedKafkaTest.java +++ b/components/camel-kafka/src/test/java/org/apache/camel/component/kafka/BaseEmbeddedKafkaTest.java @@ -15,13 +15,13 @@ * limitations under the License. */ package org.apache.camel.component.kafka; + import java.util.Properties; import org.apache.camel.BindToRegistry; import org.apache.camel.CamelContext; import org.apache.camel.component.kafka.embedded.EmbeddedKafkaBroker; import org.apache.camel.component.kafka.embedded.EmbeddedZookeeper; -import org.apache.camel.component.properties.PropertiesComponent; import org.apache.camel.test.AvailablePortFinder; import org.apache.camel.test.junit4.CamelTestSupport; import org.apache.kafka.clients.producer.ProducerConfig; @@ -30,7 +30,6 @@ import org.junit.ClassRule; import org.slf4j.Logger; import org.slf4j.LoggerFactory; - public class BaseEmbeddedKafkaTest extends CamelTestSupport { @ClassRule @@ -74,7 +73,7 @@ public class BaseEmbeddedKafkaTest extends CamelTestSupport { @Override protected CamelContext createCamelContext() throws Exception { CamelContext context = super.createCamelContext(); - context.addComponent("properties", new PropertiesComponent("ref:prop")); + context.getPropertiesComponent().setLocation("ref:prop"); KafkaComponent kafka = new KafkaComponent(context); kafka.setBrokers("localhost:" + getKafkaPort()); diff --git a/components/camel-microprofile-config/src/test/java/org/apache/camel/component/microprofile/config/CamelMicroProfilePropertiesSourceTest.java b/components/camel-microprofile-config/src/test/java/org/apache/camel/component/microprofile/config/CamelMicroProfilePropertiesSourceTest.java index c4f65d3..270eb36 100644 --- a/components/camel-microprofile-config/src/test/java/org/apache/camel/component/microprofile/config/CamelMicroProfilePropertiesSourceTest.java +++ b/components/camel-microprofile-config/src/test/java/org/apache/camel/component/microprofile/config/CamelMicroProfilePropertiesSourceTest.java @@ -71,7 +71,7 @@ public class CamelMicroProfilePropertiesSourceTest extends CamelTestSupport { @Test public void testLoadAll() throws Exception { - PropertiesComponent pc = context.getComponent("properties", PropertiesComponent.class); + PropertiesComponent pc = context.getPropertiesComponent(); Properties properties = pc.loadProperties(); Assertions.assertThat(properties.get("start")).isEqualTo("direct:start"); @@ -81,7 +81,7 @@ public class CamelMicroProfilePropertiesSourceTest extends CamelTestSupport { @Test public void testLoadFiltered() throws Exception { - PropertiesComponent pc = context.getComponent("properties", PropertiesComponent.class); + PropertiesComponent pc = context.getPropertiesComponent(); Properties properties = pc.loadProperties(k -> k.length() > 2); Assertions.assertThat(properties).hasSize(2); diff --git a/components/camel-mongodb-gridfs/src/test/java/org/apache/camel/component/mongodb/gridfs/AbstractMongoDbTest.java b/components/camel-mongodb-gridfs/src/test/java/org/apache/camel/component/mongodb/gridfs/AbstractMongoDbTest.java index 82b3a53..664c757 100644 --- a/components/camel-mongodb-gridfs/src/test/java/org/apache/camel/component/mongodb/gridfs/AbstractMongoDbTest.java +++ b/components/camel-mongodb-gridfs/src/test/java/org/apache/camel/component/mongodb/gridfs/AbstractMongoDbTest.java @@ -15,10 +15,10 @@ * limitations under the License. */ package org.apache.camel.component.mongodb.gridfs; + import com.mongodb.MongoClient; import com.mongodb.gridfs.GridFS; import org.apache.camel.CamelContext; -import org.apache.camel.component.properties.PropertiesComponent; import org.apache.camel.spring.SpringCamelContext; import org.apache.camel.test.junit4.CamelTestSupport; import org.junit.After; @@ -54,9 +54,7 @@ public abstract class AbstractMongoDbTest extends CamelTestSupport { protected CamelContext createCamelContext() throws Exception { applicationContext = new AnnotationConfigApplicationContext(EmbedMongoConfiguration.class); CamelContext ctx = new SpringCamelContext(applicationContext); - ctx.init(); - PropertiesComponent pc = new PropertiesComponent("classpath:mongodb.test.properties"); - ctx.addComponent("properties", pc); + ctx.getPropertiesComponent().setLocation("classpath:mongodb.test.properties"); return ctx; } } \ No newline at end of file diff --git a/components/camel-mongodb/src/test/java/org/apache/camel/component/mongodb/AbstractMongoDbTest.java b/components/camel-mongodb/src/test/java/org/apache/camel/component/mongodb/AbstractMongoDbTest.java index e049fb3..ea35154 100644 --- a/components/camel-mongodb/src/test/java/org/apache/camel/component/mongodb/AbstractMongoDbTest.java +++ b/components/camel-mongodb/src/test/java/org/apache/camel/component/mongodb/AbstractMongoDbTest.java @@ -15,6 +15,7 @@ * limitations under the License. */ package org.apache.camel.component.mongodb; + import java.util.Formatter; import com.mongodb.MongoClient; @@ -22,7 +23,6 @@ import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; import org.apache.camel.CamelContext; import org.apache.camel.CamelExecutionException; -import org.apache.camel.component.properties.PropertiesComponent; import org.apache.camel.spring.SpringCamelContext; import org.apache.camel.test.junit4.CamelTestSupport; import org.apache.camel.util.IOHelper; @@ -79,8 +79,7 @@ public abstract class AbstractMongoDbTest extends CamelTestSupport { applicationContext = new AnnotationConfigApplicationContext(EmbedMongoConfiguration.class); @SuppressWarnings("deprecation") CamelContext ctx = SpringCamelContext.springCamelContext(applicationContext, true); - PropertiesComponent pc = new PropertiesComponent("classpath:mongodb.test.properties"); - ctx.addComponent("properties", pc); + ctx.getPropertiesComponent().setLocation("classpath:mongodb.test.properties"); return ctx; } diff --git a/components/camel-netty-http/src/test/java/org/apache/camel/component/netty/http/BaseNettyTest.java b/components/camel-netty-http/src/test/java/org/apache/camel/component/netty/http/BaseNettyTest.java index ad40817..0f47e70 100644 --- a/components/camel-netty-http/src/test/java/org/apache/camel/component/netty/http/BaseNettyTest.java +++ b/components/camel-netty-http/src/test/java/org/apache/camel/component/netty/http/BaseNettyTest.java @@ -15,15 +15,14 @@ * limitations under the License. */ package org.apache.camel.component.netty.http; + import java.util.Collection; import java.util.Properties; import io.netty.buffer.ByteBufAllocator; import io.netty.util.ResourceLeakDetector; - import org.apache.camel.BindToRegistry; import org.apache.camel.CamelContext; -import org.apache.camel.component.properties.PropertiesComponent; import org.apache.camel.test.AvailablePortFinder; import org.apache.camel.test.junit4.CamelTestSupport; import org.apache.logging.log4j.core.LogEvent; @@ -73,7 +72,7 @@ public class BaseNettyTest extends CamelTestSupport { @Override protected CamelContext createCamelContext() throws Exception { CamelContext context = super.createCamelContext(); - context.addComponent("properties", new PropertiesComponent("ref:prop")); + context.getPropertiesComponent().setLocation("ref:prop"); return context; } diff --git a/components/camel-netty/src/test/java/org/apache/camel/component/netty/BaseNettyTest.java b/components/camel-netty/src/test/java/org/apache/camel/component/netty/BaseNettyTest.java index 3eff1a8..669fcae 100644 --- a/components/camel-netty/src/test/java/org/apache/camel/component/netty/BaseNettyTest.java +++ b/components/camel-netty/src/test/java/org/apache/camel/component/netty/BaseNettyTest.java @@ -24,7 +24,6 @@ import io.netty.util.ResourceLeakDetector; import org.apache.camel.BindToRegistry; import org.apache.camel.CamelContext; -import org.apache.camel.component.properties.PropertiesComponent; import org.apache.camel.test.AvailablePortFinder; import org.apache.camel.test.junit4.CamelTestSupport; import org.apache.logging.log4j.core.LogEvent; @@ -74,7 +73,7 @@ public class BaseNettyTest extends CamelTestSupport { @Override protected CamelContext createCamelContext() throws Exception { CamelContext context = super.createCamelContext(); - context.addComponent("properties", new PropertiesComponent("ref:prop")); + context.getPropertiesComponent().setLocation("ref:prop"); return context; } diff --git a/components/camel-pg-replication-slot/src/test/java/org/apache/camel/component/pg/replication/slot/integration/PgReplicationSlotIntegrationTest.java b/components/camel-pg-replication-slot/src/test/java/org/apache/camel/component/pg/replication/slot/integration/PgReplicationSlotIntegrationTest.java index 610ebc8..701c9b9 100644 --- a/components/camel-pg-replication-slot/src/test/java/org/apache/camel/component/pg/replication/slot/integration/PgReplicationSlotIntegrationTest.java +++ b/components/camel-pg-replication-slot/src/test/java/org/apache/camel/component/pg/replication/slot/integration/PgReplicationSlotIntegrationTest.java @@ -16,7 +16,6 @@ */ package org.apache.camel.component.pg.replication.slot.integration; - import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; @@ -30,7 +29,6 @@ import org.apache.camel.PropertyInject; import org.apache.camel.RoutesBuilder; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.component.mock.MockEndpoint; -import org.apache.camel.component.properties.PropertiesComponent; import org.apache.camel.test.junit4.CamelTestSupport; import org.junit.After; import org.junit.Before; @@ -93,8 +91,7 @@ public class PgReplicationSlotIntegrationTest extends CamelTestSupport { @Override protected CamelContext createCamelContext() throws Exception { CamelContext camelContext = super.createCamelContext(); - PropertiesComponent component = new PropertiesComponent("classpath:/test-options.properties"); - camelContext.addComponent("properties", component); + camelContext.getPropertiesComponent().setLocation("classpath:/test-options.properties"); return camelContext; } diff --git a/components/camel-pgevent/src/test/java/org/apache/camel/pgevent/integration/AbstractPgEventIntegrationTest.java b/components/camel-pgevent/src/test/java/org/apache/camel/pgevent/integration/AbstractPgEventIntegrationTest.java index 1fb5cbe..dbede14 100644 --- a/components/camel-pgevent/src/test/java/org/apache/camel/pgevent/integration/AbstractPgEventIntegrationTest.java +++ b/components/camel-pgevent/src/test/java/org/apache/camel/pgevent/integration/AbstractPgEventIntegrationTest.java @@ -17,7 +17,6 @@ package org.apache.camel.pgevent.integration; import org.apache.camel.CamelContext; -import org.apache.camel.component.properties.PropertiesComponent; import org.apache.camel.test.junit4.CamelTestSupport; public class AbstractPgEventIntegrationTest extends CamelTestSupport { @@ -27,8 +26,7 @@ public class AbstractPgEventIntegrationTest extends CamelTestSupport { @Override protected CamelContext createCamelContext() throws Exception { CamelContext camelContext = super.createCamelContext(); - PropertiesComponent component = new PropertiesComponent("classpath:/test-options.properties"); - camelContext.addComponent("properties", component); + camelContext.getPropertiesComponent().setLocation("classpath:/test-options.properties"); return camelContext; } } diff --git a/components/camel-spring-boot/src/main/java/org/apache/camel/spring/boot/CamelAutoConfiguration.java b/components/camel-spring-boot/src/main/java/org/apache/camel/spring/boot/CamelAutoConfiguration.java index e9c5ec2..afb6802 100644 --- a/components/camel-spring-boot/src/main/java/org/apache/camel/spring/boot/CamelAutoConfiguration.java +++ b/components/camel-spring-boot/src/main/java/org/apache/camel/spring/boot/CamelAutoConfiguration.java @@ -215,14 +215,12 @@ public class CamelAutoConfiguration { // (PropertiesComponent extends ServiceSupport) would be used for bean // destruction. And we want Camel to handle the lifecycle. @Bean(destroyMethod = "") + @Lazy PropertiesComponent properties(CamelContext camelContext, PropertiesParser parser) { - if (camelContext.hasComponent("properties") != null) { - return camelContext.getComponent("properties", PropertiesComponent.class); - } else { - PropertiesComponent pc = new PropertiesComponent(); - pc.setPropertiesParser(parser); - return pc; - } + PropertiesComponent pc = new PropertiesComponent(); + pc.setCamelContext(camelContext); + pc.setPropertiesParser(parser); + return pc; } /** diff --git a/components/camel-spring/src/main/java/org/apache/camel/spring/CamelContextFactoryBean.java b/components/camel-spring/src/main/java/org/apache/camel/spring/CamelContextFactoryBean.java index ff28d3f..c60d541 100644 --- a/components/camel-spring/src/main/java/org/apache/camel/spring/CamelContextFactoryBean.java +++ b/components/camel-spring/src/main/java/org/apache/camel/spring/CamelContextFactoryBean.java @@ -37,7 +37,6 @@ import org.apache.camel.ShutdownRunningTask; import org.apache.camel.TypeConverterExists; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.component.properties.PropertiesComponent; -import org.apache.camel.component.properties.PropertiesLocation; import org.apache.camel.core.xml.AbstractCamelContextFactoryBean; import org.apache.camel.core.xml.AbstractCamelFactoryBean; import org.apache.camel.core.xml.CamelJMXAgentDefinition; @@ -332,12 +331,7 @@ public class CamelContextFactoryBean extends AbstractCamelContextFactoryBean<Spr LOG.info("Bridging Camel and Spring property placeholder configurer with id: {}", id); // get properties component - PropertiesComponent pc = (PropertiesComponent) getContext().getComponent("properties", false); - if (pc == null) { - // do not auto create the component as spring autowrire by constructor causes a side effect when using bridge - pc = new PropertiesComponent(); - getContext().addComponent("properties", pc); - } + PropertiesComponent pc = (PropertiesComponent) getContext().getPropertiesComponent(); // use the spring system properties mode which has a different value than Camel may have pc.setSystemPropertiesMode(configurer.getSystemPropertiesMode()); diff --git a/components/camel-test-blueprint/src/test/java/org/apache/camel/test/blueprint/BlueprintPropertiesLocationElementImplicitTest.java b/components/camel-test-blueprint/src/test/java/org/apache/camel/test/blueprint/BlueprintPropertiesLocationElementImplicitTest.java index 14dff3e..dd4f869 100644 --- a/components/camel-test-blueprint/src/test/java/org/apache/camel/test/blueprint/BlueprintPropertiesLocationElementImplicitTest.java +++ b/components/camel-test-blueprint/src/test/java/org/apache/camel/test/blueprint/BlueprintPropertiesLocationElementImplicitTest.java @@ -35,7 +35,7 @@ public class BlueprintPropertiesLocationElementImplicitTest extends CamelBluepri mock.expectedHeaderReceived("property-2", "property-value-2"); mock.expectedHeaderReceived("cm", "cm-value"); - PropertiesComponent pc = context.getComponent("properties", PropertiesComponent.class); + PropertiesComponent pc = (PropertiesComponent) context.getPropertiesComponent(); assertNotNull("Properties component not defined", pc); List<String> locations = pc.getLocations(); diff --git a/components/camel-test-blueprint/src/test/java/org/apache/camel/test/blueprint/BlueprintPropertiesLocationElementOptionalTest.java b/components/camel-test-blueprint/src/test/java/org/apache/camel/test/blueprint/BlueprintPropertiesLocationElementOptionalTest.java index d4663a6..55945da 100644 --- a/components/camel-test-blueprint/src/test/java/org/apache/camel/test/blueprint/BlueprintPropertiesLocationElementOptionalTest.java +++ b/components/camel-test-blueprint/src/test/java/org/apache/camel/test/blueprint/BlueprintPropertiesLocationElementOptionalTest.java @@ -35,7 +35,7 @@ public class BlueprintPropertiesLocationElementOptionalTest extends CamelBluepri mock.expectedHeaderReceived("property-2", "property-value-2"); mock.expectedHeaderReceived("cm", "cm-value"); - PropertiesComponent pc = context.getComponent("properties", PropertiesComponent.class); + PropertiesComponent pc = (PropertiesComponent) context.getPropertiesComponent(); assertNotNull("Properties component not defined", pc); List<String> locations = pc.getLocations(); diff --git a/components/camel-test-blueprint/src/test/java/org/apache/camel/test/blueprint/BlueprintPropertiesLocationElementTest.java b/components/camel-test-blueprint/src/test/java/org/apache/camel/test/blueprint/BlueprintPropertiesLocationElementTest.java index 21ba5ff..437aae5 100644 --- a/components/camel-test-blueprint/src/test/java/org/apache/camel/test/blueprint/BlueprintPropertiesLocationElementTest.java +++ b/components/camel-test-blueprint/src/test/java/org/apache/camel/test/blueprint/BlueprintPropertiesLocationElementTest.java @@ -35,7 +35,7 @@ public class BlueprintPropertiesLocationElementTest extends CamelBlueprintTestSu mock.expectedHeaderReceived("property-2", "property-value-2"); mock.expectedHeaderReceived("cm", "cm-value"); - PropertiesComponent pc = context.getComponent("properties", PropertiesComponent.class); + PropertiesComponent pc = (PropertiesComponent) context.getPropertiesComponent(); assertNotNull("Properties component not defined", pc); List<String> locations = pc.getLocations(); diff --git a/components/camel-test-spring-junit5/src/main/java/org/apache/camel/test/spring/junit5/CamelAnnotationsHandler.java b/components/camel-test-spring-junit5/src/main/java/org/apache/camel/test/spring/junit5/CamelAnnotationsHandler.java index 84052ec..a06b946 100644 --- a/components/camel-test-spring-junit5/src/main/java/org/apache/camel/test/spring/junit5/CamelAnnotationsHandler.java +++ b/components/camel-test-spring-junit5/src/main/java/org/apache/camel/test/spring/junit5/CamelAnnotationsHandler.java @@ -29,12 +29,12 @@ import org.apache.camel.ExtendedCamelContext; import org.apache.camel.api.management.JmxSystemPropertyKeys; import org.apache.camel.api.management.ManagedCamelContext; import org.apache.camel.api.management.mbean.ManagedCamelContextMBean; -import org.apache.camel.component.properties.PropertiesComponent; import org.apache.camel.impl.engine.InterceptSendToMockEndpointStrategy; import org.apache.camel.processor.interceptor.DefaultDebugger; import org.apache.camel.spi.Breakpoint; import org.apache.camel.spi.Debugger; import org.apache.camel.spi.EventNotifier; +import org.apache.camel.spi.PropertiesComponent; import org.apache.camel.spring.SpringCamelContext; import org.apache.camel.test.junit5.CamelTestSupport; import org.apache.camel.util.CollectionStringBuffer; @@ -315,7 +315,7 @@ public final class CamelAnnotationsHandler { if (properties.size() != 0) { CamelSpringTestHelper.doToSpringCamelContexts(context, new CamelSpringTestHelper.DoToSpringCamelContextsStrategy() { public void execute(String contextName, SpringCamelContext camelContext) throws Exception { - PropertiesComponent pc = camelContext.getComponent("properties", PropertiesComponent.class); + PropertiesComponent pc = camelContext.getPropertiesComponent(); Properties extra = new Properties(); for (Properties prop : properties) { extra.putAll(prop); diff --git a/components/camel-test-spring-junit5/src/main/java/org/apache/camel/test/spring/junit5/CamelSpringTestContextLoader.java b/components/camel-test-spring-junit5/src/main/java/org/apache/camel/test/spring/junit5/CamelSpringTestContextLoader.java index 50c0be2..32f0644 100644 --- a/components/camel-test-spring-junit5/src/main/java/org/apache/camel/test/spring/junit5/CamelSpringTestContextLoader.java +++ b/components/camel-test-spring-junit5/src/main/java/org/apache/camel/test/spring/junit5/CamelSpringTestContextLoader.java @@ -487,7 +487,7 @@ public class CamelSpringTestContextLoader extends AbstractContextLoader { public Object postProcessAfterInitialization(Object bean, String beanName) { if (bean instanceof CamelContext) { CamelContext camelContext = (CamelContext) bean; - PropertiesComponent pc = camelContext.getPropertiesComponent(true); + PropertiesComponent pc = camelContext.getPropertiesComponent(); LOG.info("Using {} properties to override any existing properties on the PropertiesComponent on CamelContext with name [{}].", extra.size(), camelContext.getName()); pc.setOverrideProperties(extra); } diff --git a/components/camel-test-spring-junit5/src/test/java/org/apache/camel/test/spring/CamelSpringPropertiesLocationElementTest.java b/components/camel-test-spring-junit5/src/test/java/org/apache/camel/test/spring/CamelSpringPropertiesLocationElementTest.java index 999c5c2..9efd971 100644 --- a/components/camel-test-spring-junit5/src/test/java/org/apache/camel/test/spring/CamelSpringPropertiesLocationElementTest.java +++ b/components/camel-test-spring-junit5/src/test/java/org/apache/camel/test/spring/CamelSpringPropertiesLocationElementTest.java @@ -50,7 +50,7 @@ public class CamelSpringPropertiesLocationElementTest { mock.expectedHeaderReceived("property-2", "property-value-2"); mock.expectedHeaderReceived("property-3", "property-value-3"); - PropertiesComponent pc = context.getComponent("properties", PropertiesComponent.class); + PropertiesComponent pc = (PropertiesComponent) context.getPropertiesComponent(); assertNotNull(pc, "Properties component not defined"); List<String> locations = pc.getLocations(); diff --git a/components/camel-testcontainers-spring/src/main/java/org/apache/camel/test/testcontainers/spring/ContainerAwareSpringTestSupport.java b/components/camel-testcontainers-spring/src/main/java/org/apache/camel/test/testcontainers/spring/ContainerAwareSpringTestSupport.java index 8522801..28268ea 100644 --- a/components/camel-testcontainers-spring/src/main/java/org/apache/camel/test/testcontainers/spring/ContainerAwareSpringTestSupport.java +++ b/components/camel-testcontainers-spring/src/main/java/org/apache/camel/test/testcontainers/spring/ContainerAwareSpringTestSupport.java @@ -59,7 +59,7 @@ public abstract class ContainerAwareSpringTestSupport extends CamelSpringTestSup @Override protected CamelContext createCamelContext() throws Exception { final CamelContext context = super.createCamelContext(); - final PropertiesComponent pc = context.getComponent("properties", PropertiesComponent.class); + final PropertiesComponent pc = (PropertiesComponent) context.getPropertiesComponent(); pc.addFunction(new ContainerPropertiesFunction(containers)); diff --git a/components/camel-testcontainers/src/main/java/org/apache/camel/test/testcontainers/ContainerAwareTestSupport.java b/components/camel-testcontainers/src/main/java/org/apache/camel/test/testcontainers/ContainerAwareTestSupport.java index a2199f1..829915f 100644 --- a/components/camel-testcontainers/src/main/java/org/apache/camel/test/testcontainers/ContainerAwareTestSupport.java +++ b/components/camel-testcontainers/src/main/java/org/apache/camel/test/testcontainers/ContainerAwareTestSupport.java @@ -57,7 +57,7 @@ public class ContainerAwareTestSupport extends CamelTestSupport { @Override protected CamelContext createCamelContext() throws Exception { final CamelContext context = super.createCamelContext(); - final PropertiesComponent pc = context.getComponent("properties", PropertiesComponent.class); + final PropertiesComponent pc = (PropertiesComponent) context.getPropertiesComponent(); pc.addFunction(new ContainerPropertiesFunction(containers)); diff --git a/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/BaseUndertowTest.java b/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/BaseUndertowTest.java index 7d2148a..17c2c63 100644 --- a/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/BaseUndertowTest.java +++ b/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/BaseUndertowTest.java @@ -15,12 +15,12 @@ * limitations under the License. */ package org.apache.camel.component.undertow; + import java.util.Properties; import java.util.concurrent.atomic.AtomicInteger; import org.apache.camel.BindToRegistry; import org.apache.camel.CamelContext; -import org.apache.camel.component.properties.PropertiesComponent; import org.apache.camel.test.AvailablePortFinder; import org.apache.camel.test.junit4.CamelTestSupport; import org.junit.BeforeClass; @@ -51,7 +51,7 @@ public class BaseUndertowTest extends CamelTestSupport { @Override protected CamelContext createCamelContext() throws Exception { CamelContext context = super.createCamelContext(); - context.addComponent("properties", new PropertiesComponent("ref:prop")); + context.getPropertiesComponent().setLocation("ref:prop"); return context; } diff --git a/core/camel-api/src/main/java/org/apache/camel/spi/PropertiesComponent.java b/core/camel-api/src/main/java/org/apache/camel/spi/PropertiesComponent.java index 7277893..fc937e4 100644 --- a/core/camel-api/src/main/java/org/apache/camel/spi/PropertiesComponent.java +++ b/core/camel-api/src/main/java/org/apache/camel/spi/PropertiesComponent.java @@ -23,6 +23,8 @@ import java.util.function.Predicate; import org.apache.camel.StaticService; +// TODO: Rename to PropertiesService + /** * Component for property placeholders and loading properties from sources * (such as .properties file from classpath or file system)
