You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2020/11/16 15:06:58 UTC
[camel-spring-boot] branch master updated (eb3adda -> 8392067)
This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/camel-spring-boot.git.
from eb3adda Camel-Jbpm test aligned
new 850a26b CAMEL-15766: camel-spring-boot - Support complex types to be referenced via # lookup from configuration files.
new afe820e CAMEL-15766: camel-spring-boot - Support complex types to be referenced via # lookup from configuration files.
new 080ed8d CAMEL-15766: camel-spring-boot - Support complex types to be referenced via # lookup from configuration files.
new e5afb3e CAMEL-15766: camel-spring-boot - Support complex types to be referenced via # lookup from configuration files.
new 3db0e0d CAMEL-15766: Regen
new 8392067 regen
The 6 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.../springboot/catalog/components/aws2-ecs.json | 6 +-
.../springboot/catalog/components/aws2-eks.json | 6 +-
.../ActiveMQComponentAutoConfiguration.java | 11 +-
.../springboot/ActiveMQComponentConverter.java | 97 +++
.../springboot/AhcComponentAutoConfiguration.java | 11 +-
.../ahc/springboot/AhcComponentConverter.java | 71 +++
.../springboot/WsComponentAutoConfiguration.java | 11 +-
.../ahc/ws/springboot/WsComponentConverter.java | 71 +++
.../springboot/AMQPComponentAutoConfiguration.java | 11 +-
.../amqp/springboot/AMQPComponentConverter.java | 97 +++
.../Any23DataFormatAutoConfiguration.java | 9 +-
.../springboot/ApnsComponentAutoConfiguration.java | 11 +-
.../apns/springboot/ApnsComponentConverter.java | 63 ++
.../ArangoDbComponentAutoConfiguration.java | 11 +-
.../springboot/ArangoDbComponentConverter.java | 65 ++
.../springboot/AS2ComponentAutoConfiguration.java | 11 +-
.../as2/springboot/AS2ComponentConverter.java | 63 ++
.../ASN1DataFormatAutoConfiguration.java | 9 +-
.../AsteriskComponentAutoConfiguration.java | 9 +-
.../AtlasMapComponentAutoConfiguration.java | 11 +-
.../springboot/AtlasMapComponentConverter.java | 63 ++
.../AtmosComponentAutoConfiguration.java | 9 +-
.../WebsocketComponentAutoConfiguration.java | 11 +-
.../springboot/WebsocketComponentConverter.java | 70 +++
.../springboot/AtomComponentAutoConfiguration.java | 9 +-
.../AtomixMapComponentAutoConfiguration.java | 11 +-
.../springboot/AtomixMapComponentConverter.java | 74 +++
.../AtomixMessagingComponentAutoConfiguration.java | 11 +-
.../AtomixMessagingComponentConverter.java | 74 +++
.../AtomixMultiMapComponentAutoConfiguration.java | 11 +-
.../AtomixMultiMapComponentConverter.java | 74 +++
.../AtomixQueueComponentAutoConfiguration.java | 11 +-
.../springboot/AtomixQueueComponentConverter.java | 72 +++
.../AtomixSetComponentAutoConfiguration.java | 11 +-
.../springboot/AtomixSetComponentConverter.java | 72 +++
.../AtomixValueComponentAutoConfiguration.java | 11 +-
.../springboot/AtomixValueComponentConverter.java | 72 +++
.../springboot/AvroComponentAutoConfiguration.java | 11 +-
.../avro/springboot/AvroComponentConverter.java | 65 ++
.../AvroDataFormatAutoConfiguration.java | 9 +-
.../springboot/CwComponentAutoConfiguration.java | 11 +-
.../aws/cw/springboot/CwComponentConverter.java | 67 +++
.../springboot/DdbComponentAutoConfiguration.java | 11 +-
.../aws/ddb/springboot/DdbComponentConverter.java | 69 +++
.../DdbStreamComponentAutoConfiguration.java | 11 +-
.../springboot/DdbStreamComponentConverter.java | 72 +++
.../springboot/EC2ComponentAutoConfiguration.java | 11 +-
.../aws/ec2/springboot/EC2ComponentConverter.java | 69 +++
.../springboot/ECSComponentAutoConfiguration.java | 11 +-
.../aws/ecs/springboot/ECSComponentConverter.java | 69 +++
.../springboot/EKSComponentAutoConfiguration.java | 11 +-
.../aws/eks/springboot/EKSComponentConverter.java | 69 +++
.../springboot/IAMComponentAutoConfiguration.java | 11 +-
.../aws/iam/springboot/IAMComponentConverter.java | 69 +++
.../KinesisFirehoseComponentAutoConfiguration.java | 11 +-
.../KinesisFirehoseComponentConverter.java | 68 +++
.../KinesisComponentAutoConfiguration.java | 11 +-
.../springboot/KinesisComponentConverter.java | 71 +++
.../springboot/KMSComponentAutoConfiguration.java | 11 +-
.../aws/kms/springboot/KMSComponentConverter.java | 69 +++
.../LambdaComponentAutoConfiguration.java | 11 +-
.../springboot/LambdaComponentConverter.java | 69 +++
.../springboot/MQComponentAutoConfiguration.java | 11 +-
.../aws/mq/springboot/MQComponentConverter.java | 69 +++
.../springboot/MSKComponentAutoConfiguration.java | 11 +-
.../aws/msk/springboot/MSKComponentConverter.java | 69 +++
.../springboot/S3ComponentAutoConfiguration.java | 11 +-
.../aws/s3/springboot/S3ComponentConverter.java | 73 +++
.../springboot/SdbComponentAutoConfiguration.java | 9 +-
.../springboot/SesComponentAutoConfiguration.java | 11 +-
.../aws/ses/springboot/SesComponentConverter.java | 67 +++
.../springboot/SnsComponentAutoConfiguration.java | 11 +-
.../aws/sns/springboot/SnsComponentConverter.java | 69 +++
.../springboot/SqsComponentAutoConfiguration.java | 11 +-
.../aws/sqs/springboot/SqsComponentConverter.java | 69 +++
.../springboot/SWFComponentAutoConfiguration.java | 11 +-
.../aws/swf/springboot/SWFComponentConverter.java | 75 +++
.../TranslateComponentAutoConfiguration.java | 11 +-
.../springboot/TranslateComponentConverter.java | 70 +++
.../Athena2ComponentAutoConfiguration.java | 11 +-
.../springboot/Athena2ComponentConverter.java | 73 +++
.../springboot/Cw2ComponentAutoConfiguration.java | 11 +-
.../aws2/cw/springboot/Cw2ComponentConverter.java | 69 +++
.../springboot/Ddb2ComponentAutoConfiguration.java | 11 +-
.../ddb/springboot/Ddb2ComponentConverter.java | 69 +++
.../Ddb2StreamComponentAutoConfiguration.java | 11 +-
.../springboot/Ddb2StreamComponentConverter.java | 72 +++
.../AWS2EC2ComponentAutoConfiguration.java | 11 +-
.../ec2/springboot/AWS2EC2ComponentConverter.java | 69 +++
.../src/main/docs/aws2-ecs-starter.adoc | 3 +-
.../springboot/ECS2ComponentAutoConfiguration.java | 11 +-
.../ecs/springboot/ECS2ComponentConfiguration.java | 14 -
.../ecs/springboot/ECS2ComponentConverter.java | 69 +++
.../src/main/docs/aws2-eks-starter.adoc | 3 +-
.../springboot/EKS2ComponentAutoConfiguration.java | 11 +-
.../eks/springboot/EKS2ComponentConfiguration.java | 14 -
.../eks/springboot/EKS2ComponentConverter.java | 69 +++
.../EventbridgeComponentAutoConfiguration.java | 11 +-
.../springboot/EventbridgeComponentConverter.java | 70 +++
.../springboot/IAM2ComponentAutoConfiguration.java | 11 +-
.../iam/springboot/IAM2ComponentConverter.java | 69 +++
...KinesisFirehose2ComponentAutoConfiguration.java | 11 +-
.../KinesisFirehose2ComponentConverter.java | 70 +++
.../Kinesis2ComponentAutoConfiguration.java | 11 +-
.../springboot/Kinesis2ComponentConverter.java | 71 +++
.../springboot/KMS2ComponentAutoConfiguration.java | 11 +-
.../kms/springboot/KMS2ComponentConverter.java | 69 +++
.../Lambda2ComponentAutoConfiguration.java | 11 +-
.../springboot/Lambda2ComponentConverter.java | 69 +++
.../springboot/MQ2ComponentAutoConfiguration.java | 11 +-
.../aws2/mq/springboot/MQ2ComponentConverter.java | 69 +++
.../springboot/MSK2ComponentAutoConfiguration.java | 11 +-
.../msk/springboot/MSK2ComponentConverter.java | 69 +++
.../AWS2S3ComponentAutoConfiguration.java | 11 +-
.../s3/springboot/AWS2S3ComponentConverter.java | 69 +++
.../springboot/Ses2ComponentAutoConfiguration.java | 11 +-
.../ses/springboot/Ses2ComponentConverter.java | 67 +++
.../springboot/Sns2ComponentAutoConfiguration.java | 11 +-
.../sns/springboot/Sns2ComponentConverter.java | 67 +++
.../springboot/Sqs2ComponentAutoConfiguration.java | 11 +-
.../sqs/springboot/Sqs2ComponentConverter.java | 69 +++
.../springboot/STS2ComponentAutoConfiguration.java | 11 +-
.../sts/springboot/STS2ComponentConverter.java | 69 +++
.../Translate2ComponentAutoConfiguration.java | 11 +-
.../springboot/Translate2ComponentConverter.java | 70 +++
.../EventHubsComponentAutoConfiguration.java | 11 +-
.../springboot/EventHubsComponentConverter.java | 74 +++
.../BlobServiceComponentAutoConfiguration.java | 11 +-
.../springboot/BlobServiceComponentConverter.java | 72 +++
.../QueueServiceComponentAutoConfiguration.java | 11 +-
.../springboot/QueueServiceComponentConverter.java | 70 +++
.../springboot/BlobComponentAutoConfiguration.java | 11 +-
.../blob/springboot/BlobComponentConverter.java | 75 +++
.../QueueComponentAutoConfiguration.java | 11 +-
.../queue/springboot/QueueComponentConverter.java | 71 +++
.../BarcodeDataFormatAutoConfiguration.java | 9 +-
.../Base64DataFormatAutoConfiguration.java | 9 +-
.../springboot/BeanComponentAutoConfiguration.java | 11 +-
.../bean/springboot/BeanComponentConverter.java | 63 ++
.../ClassComponentAutoConfiguration.java | 11 +-
.../springboot/ClassComponentConverter.java | 63 ++
.../springboot/BeanLanguageAutoConfiguration.java | 9 +-
.../BeanValidatorComponentAutoConfiguration.java | 11 +-
.../BeanValidatorComponentConverter.java | 72 +++
.../BeanIODataFormatAutoConfiguration.java | 9 +-
.../BeanstalkComponentAutoConfiguration.java | 11 +-
.../springboot/BeanstalkComponentConverter.java | 64 ++
.../BindyCsvDataFormatAutoConfiguration.java | 9 +-
...indyFixedLengthDataFormatAutoConfiguration.java | 9 +-
...ndyKeyValuePairDataFormatAutoConfiguration.java | 9 +-
.../BonitaComponentAutoConfiguration.java | 9 +-
.../springboot/BoxComponentAutoConfiguration.java | 11 +-
.../box/springboot/BoxComponentConverter.java | 69 +++
.../BraintreeComponentAutoConfiguration.java | 11 +-
.../springboot/BraintreeComponentConverter.java | 64 ++
.../BrowseComponentAutoConfiguration.java | 9 +-
.../CaffeineCacheComponentAutoConfiguration.java | 11 +-
.../CaffeineCacheComponentConverter.java | 74 +++
...affeineLoadCacheComponentAutoConfiguration.java | 11 +-
.../CaffeineLoadCacheComponentConverter.java | 74 +++
.../CassandraComponentAutoConfiguration.java | 9 +-
.../CBORDataFormatAutoConfiguration.java | 9 +-
.../ChatScriptComponentAutoConfiguration.java | 9 +-
.../ChunkComponentAutoConfiguration.java | 9 +-
.../springboot/CMComponentAutoConfiguration.java | 9 +-
.../springboot/CMISComponentAutoConfiguration.java | 11 +-
.../cmis/springboot/CMISComponentConverter.java | 63 ++
.../springboot/CoAPComponentAutoConfiguration.java | 9 +-
.../CometdComponentAutoConfiguration.java | 11 +-
.../springboot/CometdComponentConverter.java | 65 ++
.../ConsulComponentAutoConfiguration.java | 11 +-
.../springboot/ConsulComponentConverter.java | 73 +++
.../ControlBusComponentAutoConfiguration.java | 9 +-
components-starter/camel-corda-starter/pom.xml | 8 -
.../CordaComponentAutoConfiguration.java | 11 +-
.../corda/springboot/CordaComponentConverter.java | 69 +++
.../ConstantLanguageAutoConfiguration.java | 9 +-
.../HeaderLanguageAutoConfiguration.java | 9 +-
.../ExchangePropertyLanguageAutoConfiguration.java | 9 +-
.../springboot/RefLanguageAutoConfiguration.java | 9 +-
.../springboot/FileLanguageAutoConfiguration.java | 9 +-
.../SimpleLanguageAutoConfiguration.java | 9 +-
.../TokenizeLanguageAutoConfiguration.java | 9 +-
.../CouchbaseComponentAutoConfiguration.java | 9 +-
.../CouchDbComponentAutoConfiguration.java | 9 +-
.../springboot/CronComponentAutoConfiguration.java | 9 +-
.../CryptoCmsComponentAutoConfiguration.java | 11 +-
.../springboot/CryptoCmsComponentConverter.java | 66 ++
...DigitalSignatureComponentAutoConfiguration.java | 11 +-
.../DigitalSignatureComponentConverter.java | 76 +++
.../CryptoDataFormatAutoConfiguration.java | 9 +-
.../springboot/PGPDataFormatAutoConfiguration.java | 9 +-
.../springboot/CsvDataFormatAutoConfiguration.java | 9 +-
.../CxfRsComponentAutoConfiguration.java | 11 +-
.../jaxrs/springboot/CxfRsComponentConverter.java | 63 ++
.../springboot/CxfComponentAutoConfiguration.java | 11 +-
.../cxf/springboot/CxfComponentConverter.java | 63 ++
.../DataFormatComponentAutoConfiguration.java | 9 +-
.../DataSetComponentAutoConfiguration.java | 9 +-
.../DataSetTestComponentAutoConfiguration.java | 9 +-
.../DebeziumMongodbComponentAutoConfiguration.java | 11 +-
.../DebeziumMongodbComponentConverter.java | 64 ++
.../DebeziumMySqlComponentAutoConfiguration.java | 11 +-
.../DebeziumMySqlComponentConverter.java | 64 ++
...DebeziumPostgresComponentAutoConfiguration.java | 11 +-
.../DebeziumPostgresComponentConverter.java | 64 ++
...ebeziumSqlserverComponentAutoConfiguration.java | 11 +-
.../DebeziumSqlserverComponentConverter.java | 64 ++
.../DigitalOceanComponentAutoConfiguration.java | 9 +-
.../DirectComponentAutoConfiguration.java | 9 +-
.../DirectVmComponentAutoConfiguration.java | 11 +-
.../springboot/DirectVmComponentConverter.java | 63 ++
.../DisruptorComponentAutoConfiguration.java | 11 +-
.../springboot/DisruptorComponentConverter.java | 66 ++
.../DisruptorVmComponentAutoConfiguration.java | 11 +-
.../springboot/DisruptorVmComponentConverter.java | 66 ++
.../springboot/DJLComponentAutoConfiguration.java | 9 +-
.../springboot/DnsComponentAutoConfiguration.java | 9 +-
.../DockerComponentAutoConfiguration.java | 11 +-
.../springboot/DockerComponentConverter.java | 63 ++
.../DozerComponentAutoConfiguration.java | 9 +-
.../DrillComponentAutoConfiguration.java | 9 +-
.../DropboxComponentAutoConfiguration.java | 9 +-
.../EhcacheComponentAutoConfiguration.java | 11 +-
.../springboot/EhcacheComponentConverter.java | 73 +++
.../ElasticsearchComponentAutoConfiguration.java | 11 +-
.../ElasticsearchComponentConverter.java | 64 ++
.../ElsqlComponentAutoConfiguration.java | 11 +-
.../elsql/springboot/ElsqlComponentConverter.java | 67 +++
.../EtcdKeysComponentAutoConfiguration.java | 11 +-
.../springboot/EtcdKeysComponentConverter.java | 65 ++
.../EtcdStatsComponentAutoConfiguration.java | 11 +-
.../springboot/EtcdStatsComponentConverter.java | 66 ++
.../EtcdWatchComponentAutoConfiguration.java | 11 +-
.../springboot/EtcdWatchComponentConverter.java | 66 ++
.../springboot/ExecComponentAutoConfiguration.java | 9 +-
.../FacebookComponentAutoConfiguration.java | 11 +-
.../springboot/FacebookComponentConverter.java | 63 ++
.../FastjsonDataFormatAutoConfiguration.java | 9 +-
.../springboot/FhirComponentAutoConfiguration.java | 11 +-
.../fhir/springboot/FhirComponentConverter.java | 69 +++
.../FhirJsonDataFormatAutoConfiguration.java | 9 +-
.../FhirXmlDataFormatAutoConfiguration.java | 9 +-
.../springboot/FileComponentAutoConfiguration.java | 9 +-
.../FileWatchComponentAutoConfiguration.java | 11 +-
.../springboot/FileWatchComponentConverter.java | 64 ++
.../FlatpackComponentAutoConfiguration.java | 9 +-
.../FlatpackDataFormatAutoConfiguration.java | 9 +-
.../FlinkComponentAutoConfiguration.java | 11 +-
.../flink/springboot/FlinkComponentConverter.java | 67 +++
.../springboot/FopComponentAutoConfiguration.java | 9 +-
.../FreemarkerComponentAutoConfiguration.java | 11 +-
.../springboot/FreemarkerComponentConverter.java | 64 ++
.../springboot/FtpComponentAutoConfiguration.java | 9 +-
.../springboot/FtpsComponentAutoConfiguration.java | 9 +-
.../springboot/SftpComponentAutoConfiguration.java | 9 +-
.../GangliaComponentAutoConfiguration.java | 11 +-
.../springboot/GangliaComponentConverter.java | 69 +++
.../GeoCoderComponentAutoConfiguration.java | 11 +-
.../springboot/GeoCoderComponentConverter.java | 63 ++
.../springboot/GitComponentAutoConfiguration.java | 9 +-
.../GitHubComponentAutoConfiguration.java | 9 +-
.../GoogleBigQueryComponentAutoConfiguration.java | 11 +-
.../GoogleBigQueryComponentConverter.java | 64 ++
...oogleBigQuerySQLComponentAutoConfiguration.java | 11 +-
.../GoogleBigQuerySQLComponentConverter.java | 64 ++
.../GoogleCalendarComponentAutoConfiguration.java | 11 +-
.../GoogleCalendarComponentConverter.java | 66 ++
...leCalendarStreamComponentAutoConfiguration.java | 11 +-
.../GoogleCalendarStreamComponentConverter.java | 66 ++
.../GoogleDriveComponentAutoConfiguration.java | 11 +-
.../springboot/GoogleDriveComponentConverter.java | 66 ++
.../GoogleMailComponentAutoConfiguration.java | 11 +-
.../springboot/GoogleMailComponentConverter.java | 66 ++
...GoogleMailStreamComponentAutoConfiguration.java | 11 +-
.../GoogleMailStreamComponentConverter.java | 66 ++
.../GooglePubsubComponentAutoConfiguration.java | 9 +-
.../GoogleSheetsComponentAutoConfiguration.java | 11 +-
.../springboot/GoogleSheetsComponentConverter.java | 66 ++
...ogleSheetsStreamComponentAutoConfiguration.java | 11 +-
.../GoogleSheetsStreamComponentConverter.java | 66 ++
.../springboot/GoraComponentAutoConfiguration.java | 9 +-
.../GrapeComponentAutoConfiguration.java | 11 +-
.../grape/springboot/GrapeComponentConverter.java | 63 ++
.../GraphqlComponentAutoConfiguration.java | 9 +-
.../GrokDataFormatAutoConfiguration.java | 9 +-
.../GroovyLanguageAutoConfiguration.java | 9 +-
.../springboot/GrpcComponentAutoConfiguration.java | 9 +-
.../GsonDataFormatAutoConfiguration.java | 9 +-
.../GuavaEventBusComponentAutoConfiguration.java | 11 +-
.../GuavaEventBusComponentConverter.java | 64 ++
...castAtomicnumberComponentAutoConfiguration.java | 11 +-
.../HazelcastAtomicnumberComponentConverter.java | 64 ++
...azelcastInstanceComponentAutoConfiguration.java | 11 +-
.../HazelcastInstanceComponentConverter.java | 64 ++
.../HazelcastListComponentAutoConfiguration.java | 11 +-
.../HazelcastListComponentConverter.java | 64 ++
.../HazelcastMapComponentAutoConfiguration.java | 11 +-
.../springboot/HazelcastMapComponentConverter.java | 64 ++
...azelcastMultimapComponentAutoConfiguration.java | 11 +-
.../HazelcastMultimapComponentConverter.java | 64 ++
.../HazelcastQueueComponentAutoConfiguration.java | 11 +-
.../HazelcastQueueComponentConverter.java | 64 ++
...astReplicatedmapComponentAutoConfiguration.java | 11 +-
.../HazelcastReplicatedmapComponentConverter.java | 64 ++
...elcastRingbufferComponentAutoConfiguration.java | 11 +-
.../HazelcastRingbufferComponentConverter.java | 64 ++
.../HazelcastSedaComponentAutoConfiguration.java | 11 +-
.../HazelcastSedaComponentConverter.java | 64 ++
.../HazelcastSetComponentAutoConfiguration.java | 11 +-
.../springboot/HazelcastSetComponentConverter.java | 64 ++
.../HazelcastTopicComponentAutoConfiguration.java | 11 +-
.../HazelcastTopicComponentConverter.java | 64 ++
.../HBaseComponentAutoConfiguration.java | 11 +-
.../hbase/springboot/HBaseComponentConverter.java | 63 ++
.../springboot/HdfsComponentAutoConfiguration.java | 11 +-
.../hdfs/springboot/HdfsComponentConverter.java | 63 ++
.../springboot/HL7DataFormatAutoConfiguration.java | 9 +-
.../Hl7TerserLanguageAutoConfiguration.java | 9 +-
.../springboot/HttpComponentAutoConfiguration.java | 11 +-
.../http/springboot/HttpComponentConverter.java | 79 +++
.../ICalDataFormatAutoConfiguration.java | 9 +-
.../ClientComponentAutoConfiguration.java | 11 +-
.../springboot/ClientComponentConverter.java | 63 ++
.../ServerComponentAutoConfiguration.java | 11 +-
.../springboot/ServerComponentConverter.java | 63 ++
.../IgniteCacheComponentAutoConfiguration.java | 11 +-
.../springboot/IgniteCacheComponentConverter.java | 68 +++
.../IgniteComputeComponentAutoConfiguration.java | 11 +-
.../IgniteComputeComponentConverter.java | 68 +++
.../IgniteEventsComponentAutoConfiguration.java | 11 +-
.../springboot/IgniteEventsComponentConverter.java | 68 +++
.../IgniteIdGenComponentAutoConfiguration.java | 11 +-
.../springboot/IgniteIdGenComponentConverter.java | 68 +++
.../IgniteMessagingComponentAutoConfiguration.java | 11 +-
.../IgniteMessagingComponentConverter.java | 68 +++
.../IgniteQueueComponentAutoConfiguration.java | 11 +-
.../springboot/IgniteQueueComponentConverter.java | 68 +++
.../IgniteSetComponentAutoConfiguration.java | 11 +-
.../springboot/IgniteSetComponentConverter.java | 68 +++
.../InfinispanComponentAutoConfiguration.java | 11 +-
.../springboot/InfinispanComponentConverter.java | 76 +++
.../InfluxDbComponentAutoConfiguration.java | 11 +-
.../springboot/InfluxDbComponentConverter.java | 63 ++
components-starter/camel-iota-starter/pom.xml | 12 -
.../springboot/IOTAComponentAutoConfiguration.java | 9 +-
.../springboot/IPFSComponentAutoConfiguration.java | 9 +-
.../springboot/IrcComponentAutoConfiguration.java | 9 +-
.../IronMQComponentAutoConfiguration.java | 9 +-
.../JacksonDataFormatAutoConfiguration.java | 9 +-
.../JacksonXMLDataFormatAutoConfiguration.java | 9 +-
.../JaxbDataFormatAutoConfiguration.java | 9 +-
.../springboot/JBPMComponentAutoConfiguration.java | 9 +-
.../JCacheComponentAutoConfiguration.java | 11 +-
.../springboot/JCacheComponentConverter.java | 63 ++
.../JcloudsComponentAutoConfiguration.java | 9 +-
.../springboot/JcrComponentAutoConfiguration.java | 9 +-
.../springboot/JdbcComponentAutoConfiguration.java | 11 +-
.../jdbc/springboot/JdbcComponentConverter.java | 63 ++
.../JettyHttpComponentAutoConfiguration9.java | 11 +-
.../springboot/JettyHttpComponentConverter9.java | 78 +++
.../JGroupsRaftComponentAutoConfiguration.java | 11 +-
.../springboot/JGroupsRaftComponentConverter.java | 66 ++
.../JGroupsComponentAutoConfiguration.java | 11 +-
.../springboot/JGroupsComponentConverter.java | 63 ++
.../springboot/JingComponentAutoConfiguration.java | 9 +-
.../springboot/JiraComponentAutoConfiguration.java | 11 +-
.../jira/springboot/JiraComponentConverter.java | 63 ++
.../springboot/JmsComponentAutoConfiguration.java | 11 +-
.../jms/springboot/JmsComponentConverter.java | 97 +++
.../springboot/JMXComponentAutoConfiguration.java | 9 +-
.../JohnzonDataFormatAutoConfiguration.java | 9 +-
.../springboot/JoltComponentAutoConfiguration.java | 11 +-
.../jolt/springboot/JoltComponentConverter.java | 63 ++
.../springboot/JooqComponentAutoConfiguration.java | 11 +-
.../jooq/springboot/JooqComponentConverter.java | 67 +++
.../springboot/JpaComponentAutoConfiguration.java | 11 +-
.../jpa/springboot/JpaComponentConverter.java | 65 ++
.../springboot/ScpComponentAutoConfiguration.java | 9 +-
.../springboot/JsltComponentAutoConfiguration.java | 11 +-
.../jslt/springboot/JsltComponentConverter.java | 63 ++
.../JsonValidatorComponentAutoConfiguration.java | 9 +-
.../JsonApiDataFormatAutoConfiguration.java | 9 +-
.../JsonataComponentAutoConfiguration.java | 9 +-
.../JsonbDataFormatAutoConfiguration.java | 9 +-
.../JsonPathLanguageAutoConfiguration.java | 9 +-
.../Jt400ComponentAutoConfiguration.java | 11 +-
.../jt400/springboot/Jt400ComponentConverter.java | 63 ++
.../KafkaComponentAutoConfiguration.java | 11 +-
.../kafka/springboot/KafkaComponentConverter.java | 77 +++
...rnetesConfigMapsComponentAutoConfiguration.java | 9 +-
...sCustomResourcesComponentAutoConfiguration.java | 9 +-
...netesDeploymentsComponentAutoConfiguration.java | 9 +-
.../KubernetesHPAComponentAutoConfiguration.java | 9 +-
.../KubernetesJobComponentAutoConfiguration.java | 9 +-
...rnetesNamespacesComponentAutoConfiguration.java | 9 +-
.../KubernetesNodesComponentAutoConfiguration.java | 9 +-
...ersistentVolumesComponentAutoConfiguration.java | 9 +-
...entVolumesClaimsComponentAutoConfiguration.java | 9 +-
.../KubernetesPodsComponentAutoConfiguration.java | 9 +-
...ationControllersComponentAutoConfiguration.java | 9 +-
...esResourcesQuotaComponentAutoConfiguration.java | 9 +-
...ubernetesSecretsComponentAutoConfiguration.java | 9 +-
...sServiceAccountsComponentAutoConfiguration.java | 9 +-
...bernetesServicesComponentAutoConfiguration.java | 9 +-
...hiftBuildConfigsComponentAutoConfiguration.java | 9 +-
.../OpenshiftBuildsComponentAutoConfiguration.java | 9 +-
.../springboot/KuduComponentAutoConfiguration.java | 9 +-
.../LanguageComponentAutoConfiguration.java | 9 +-
.../springboot/LdapComponentAutoConfiguration.java | 9 +-
.../springboot/LdifComponentAutoConfiguration.java | 9 +-
.../springboot/LogComponentAutoConfiguration.java | 11 +-
.../log/springboot/LogComponentConverter.java | 63 ++
.../LuceneComponentAutoConfiguration.java | 11 +-
.../springboot/LuceneComponentConverter.java | 65 ++
.../LumberjackComponentAutoConfiguration.java | 11 +-
.../springboot/LumberjackComponentConverter.java | 64 ++
.../springboot/LZFDataFormatAutoConfiguration.java | 9 +-
.../springboot/MailComponentAutoConfiguration.java | 11 +-
.../mail/springboot/MailComponentConverter.java | 79 +++
.../MimeMultipartDataFormatAutoConfiguration.java | 9 +-
.../MasterComponentAutoConfiguration.java | 11 +-
.../springboot/MasterComponentConverter.java | 65 ++
.../MetricsComponentAutoConfiguration.java | 11 +-
.../springboot/MetricsComponentConverter.java | 63 ++
.../MicrometerComponentAutoConfiguration.java | 11 +-
.../springboot/MicrometerComponentConverter.java | 64 ++
.../MiloClientComponentAutoConfiguration.java | 11 +-
.../springboot/MiloClientComponentConverter.java | 64 ++
.../MiloServerComponentAutoConfiguration.java | 11 +-
.../springboot/MiloServerComponentConverter.java | 72 +++
.../springboot/MinaComponentAutoConfiguration.java | 11 +-
.../mina/springboot/MinaComponentConverter.java | 71 +++
.../MinioComponentAutoConfiguration.java | 11 +-
.../minio/springboot/MinioComponentConverter.java | 75 +++
.../springboot/MllpComponentAutoConfiguration.java | 11 +-
.../mllp/springboot/MllpComponentConverter.java | 63 ++
.../springboot/MockComponentAutoConfiguration.java | 9 +-
.../GridFsComponentAutoConfiguration.java | 9 +-
.../MongoDbComponentAutoConfiguration.java | 11 +-
.../springboot/MongoDbComponentConverter.java | 63 ++
.../springboot/MsvComponentAutoConfiguration.java | 11 +-
.../msv/springboot/MsvComponentConverter.java | 65 ++
.../MustacheComponentAutoConfiguration.java | 11 +-
.../springboot/MustacheComponentConverter.java | 63 ++
.../springboot/MvelComponentAutoConfiguration.java | 9 +-
.../springboot/MvelLanguageAutoConfiguration.java | 9 +-
.../MyBatisBeanComponentAutoConfiguration.java | 11 +-
.../springboot/MyBatisBeanComponentConverter.java | 64 ++
.../MyBatisComponentAutoConfiguration.java | 11 +-
.../springboot/MyBatisComponentConverter.java | 63 ++
.../NagiosComponentAutoConfiguration.java | 11 +-
.../springboot/NagiosComponentConverter.java | 65 ++
.../springboot/NatsComponentAutoConfiguration.java | 9 +-
.../NettyHttpComponentAutoConfiguration.java | 11 +-
.../springboot/NettyHttpComponentConverter.java | 92 +++
.../NettyComponentAutoConfiguration.java | 11 +-
.../netty/springboot/NettyComponentConverter.java | 85 +++
.../NitriteComponentAutoConfiguration.java | 9 +-
.../springboot/NsqComponentAutoConfiguration.java | 9 +-
.../OAIPMHComponentAutoConfiguration.java | 9 +-
.../springboot/OgnlLanguageAutoConfiguration.java | 9 +-
.../Olingo2ComponentAutoConfiguration.java | 11 +-
.../springboot/Olingo2ComponentConverter.java | 75 +++
.../Olingo4ComponentAutoConfiguration.java | 11 +-
.../springboot/Olingo4ComponentConverter.java | 71 +++
.../CinderComponentAutoConfiguration.java | 9 +-
.../GlanceComponentAutoConfiguration.java | 9 +-
.../KeystoneComponentAutoConfiguration.java | 9 +-
.../NeutronComponentAutoConfiguration.java | 9 +-
.../springboot/NovaComponentAutoConfiguration.java | 9 +-
.../SwiftComponentAutoConfiguration.java | 9 +-
.../OptaPlannerComponentAutoConfiguration.java | 9 +-
.../springboot/PahoComponentAutoConfiguration.java | 11 +-
.../paho/springboot/PahoComponentConverter.java | 73 +++
.../springboot/PdfComponentAutoConfiguration.java | 9 +-
...gReplicationSlotComponentAutoConfiguration.java | 9 +-
.../PgEventComponentAutoConfiguration.java | 9 +-
.../PlatformHttpComponentAutoConfiguration.java | 11 +-
.../springboot/PlatformHttpComponentConverter.java | 64 ++
.../PrinterComponentAutoConfiguration.java | 9 +-
.../ProtobufDataFormatAutoConfiguration.java | 9 +-
.../PubNubComponentAutoConfiguration.java | 9 +-
.../PulsarComponentAutoConfiguration.java | 11 +-
.../springboot/PulsarComponentConverter.java | 83 +++
.../QuartzComponentAutoConfiguration.java | 11 +-
.../springboot/QuartzComponentConverter.java | 65 ++
.../QuickfixjComponentAutoConfiguration.java | 11 +-
.../springboot/QuickfixjComponentConverter.java | 68 +++
.../RabbitMQComponentAutoConfiguration.java | 11 +-
.../springboot/RabbitMQComponentConverter.java | 67 +++
.../ReactiveStreamsComponentAutoConfiguration.java | 11 +-
.../ReactiveStreamsComponentConverter.java | 66 ++
.../springboot/RefComponentAutoConfiguration.java | 9 +-
.../RestOpenApiComponentAutoConfiguration.java | 11 +-
.../springboot/RestOpenApiComponentConverter.java | 64 ++
.../RestApiComponentAutoConfiguration.java | 9 +-
.../springboot/RestComponentAutoConfiguration.java | 9 +-
.../RestSwaggerComponentAutoConfiguration.java | 11 +-
.../springboot/RestSwaggerComponentConverter.java | 64 ++
.../ResteasyComponentAutoConfiguration.java | 11 +-
.../springboot/ResteasyComponentConverter.java | 63 ++
.../RobotFrameworkComponentAutoConfiguration.java | 11 +-
.../RobotFrameworkComponentConverter.java | 64 ++
.../springboot/RssComponentAutoConfiguration.java | 9 +-
.../springboot/RssDataFormatAutoConfiguration.java | 9 +-
.../springboot/SagaComponentAutoConfiguration.java | 9 +-
.../SalesforceComponentAutoConfiguration.java | 11 +-
.../springboot/SalesforceComponentConverter.java | 88 +++
.../NetWeaverComponentAutoConfiguration.java | 9 +-
.../XQueryComponentAutoConfiguration.java | 11 +-
.../springboot/XQueryComponentConverter.java | 65 ++
.../XQueryLanguageAutoConfiguration.java | 9 +-
.../SchedulerComponentAutoConfiguration.java | 9 +-
.../SchematronComponentAutoConfiguration.java | 9 +-
.../springboot/SedaComponentAutoConfiguration.java | 11 +-
.../seda/springboot/SedaComponentConverter.java | 63 ++
.../ServiceComponentAutoConfiguration.java | 11 +-
.../springboot/ServiceComponentConverter.java | 65 ++
.../ServiceNowComponentAutoConfiguration.java | 11 +-
.../springboot/ServiceNowComponentConverter.java | 74 +++
.../ServletComponentAutoConfiguration.java | 11 +-
.../springboot/ServletComponentConverter.java | 69 +++
.../springboot/SipComponentAutoConfiguration.java | 9 +-
.../SjmsBatchComponentAutoConfiguration.java | 11 +-
.../springboot/SjmsBatchComponentConverter.java | 66 ++
.../springboot/SjmsComponentAutoConfiguration.java | 11 +-
.../sjms/springboot/SjmsComponentConverter.java | 77 +++
.../Sjms2ComponentAutoConfiguration.java | 11 +-
.../sjms2/springboot/Sjms2ComponentConverter.java | 77 +++
.../SlackComponentAutoConfiguration.java | 9 +-
.../springboot/SmppComponentAutoConfiguration.java | 11 +-
.../smpp/springboot/SmppComponentConverter.java | 67 +++
.../SnakeYAMLDataFormatAutoConfiguration.java | 9 +-
.../springboot/SnmpComponentAutoConfiguration.java | 9 +-
.../SoapJaxbDataFormatAutoConfiguration.java | 9 +-
.../springboot/SolrComponentAutoConfiguration.java | 9 +-
.../SoroushBotComponentAutoConfiguration.java | 9 +-
.../SparkComponentAutoConfiguration.java | 11 +-
.../spark/springboot/SparkComponentConverter.java | 65 ++
.../SplunkComponentAutoConfiguration.java | 11 +-
.../springboot/SplunkComponentConverter.java | 63 ++
.../SpringBatchComponentAutoConfiguration.java | 11 +-
.../springboot/SpringBatchComponentConverter.java | 66 ++
...pringIntegrationComponentAutoConfiguration.java | 9 +-
.../SpringLdapComponentAutoConfiguration.java | 9 +-
.../RedisComponentAutoConfiguration.java | 9 +-
.../EventComponentAutoConfiguration.java | 9 +-
.../springboot/SpelLanguageAutoConfiguration.java | 9 +-
...SpringWebserviceComponentAutoConfiguration.java | 9 +-
.../springboot/SqlComponentAutoConfiguration.java | 11 +-
.../sql/springboot/SqlComponentConverter.java | 63 ++
.../SqlStoredComponentAutoConfiguration.java | 11 +-
.../springboot/SqlStoredComponentConverter.java | 64 ++
.../springboot/SshComponentAutoConfiguration.java | 11 +-
.../ssh/springboot/SshComponentConverter.java | 65 ++
.../springboot/StAXComponentAutoConfiguration.java | 9 +-
.../StompComponentAutoConfiguration.java | 11 +-
.../stomp/springboot/StompComponentConverter.java | 69 +++
.../StreamComponentAutoConfiguration.java | 9 +-
.../StringTemplateComponentAutoConfiguration.java | 9 +-
.../springboot/StubComponentAutoConfiguration.java | 11 +-
.../stub/springboot/StubComponentConverter.java | 63 ++
.../SyslogDataFormatAutoConfiguration.java | 9 +-
.../TidyMarkupDataFormatAutoConfiguration.java | 9 +-
.../TarFileDataFormatAutoConfiguration.java | 9 +-
.../TelegramComponentAutoConfiguration.java | 11 +-
.../springboot/TelegramComponentConverter.java | 65 ++
.../ThriftComponentAutoConfiguration.java | 9 +-
.../ThriftDataFormatAutoConfiguration.java | 9 +-
.../springboot/TikaComponentAutoConfiguration.java | 9 +-
.../TimerComponentAutoConfiguration.java | 9 +-
.../TwilioComponentAutoConfiguration.java | 11 +-
.../springboot/TwilioComponentConverter.java | 65 ++
...terDirectMessageComponentAutoConfiguration.java | 9 +-
.../TwitterSearchComponentAutoConfiguration.java | 9 +-
.../TwitterTimelineComponentAutoConfiguration.java | 9 +-
.../UndertowComponentAutoConfiguration.java | 11 +-
.../springboot/UndertowComponentConverter.java | 71 +++
.../UniVocityCsvDataFormatAutoConfiguration.java | 9 +-
...ocityFixedWidthDataFormatAutoConfiguration.java | 9 +-
.../UniVocityTsvDataFormatAutoConfiguration.java | 9 +-
.../ValidatorComponentAutoConfiguration.java | 11 +-
.../springboot/ValidatorComponentConverter.java | 64 ++
.../VelocityComponentAutoConfiguration.java | 11 +-
.../springboot/VelocityComponentConverter.java | 63 ++
.../VertxHttpComponentAutoConfiguration.java | 11 +-
.../springboot/VertxHttpComponentConverter.java | 74 +++
.../VertxComponentAutoConfiguration.java | 11 +-
.../vertx/springboot/VertxComponentConverter.java | 67 +++
.../VertxWebsocketComponentAutoConfiguration.java | 11 +-
.../VertxWebsocketComponentConverter.java | 68 +++
.../springboot/VmComponentAutoConfiguration.java | 11 +-
.../vm/springboot/VmComponentConverter.java | 63 ++
.../WeatherComponentAutoConfiguration.java | 9 +-
.../Web3jComponentAutoConfiguration.java | 11 +-
.../web3j/springboot/Web3jComponentConverter.java | 67 +++
.../WebhookComponentAutoConfiguration.java | 11 +-
.../springboot/WebhookComponentConverter.java | 63 ++
.../JSR356WebSocketComponentAutoConfiguration.java | 11 +-
.../JSR356WebSocketComponentConverter.java | 64 ++
.../WebsocketComponentAutoConfiguration.java | 11 +-
.../springboot/WebsocketComponentConverter.java | 66 ++
.../springboot/WekaComponentAutoConfiguration.java | 9 +-
.../WordpressComponentAutoConfiguration.java | 11 +-
.../springboot/WordpressComponentConverter.java | 66 ++
.../WorkdayComponentAutoConfiguration.java | 9 +-
.../XChangeComponentAutoConfiguration.java | 9 +-
.../springboot/XJComponentAutoConfiguration.java | 11 +-
.../xj/springboot/XJComponentConverter.java | 69 +++
.../XMLTokenizeLanguageAutoConfiguration.java | 9 +-
.../XmlSignerComponentAutoConfiguration.java | 11 +-
.../springboot/XmlSignerComponentConverter.java | 74 +++
.../XmlVerifierComponentAutoConfiguration.java | 11 +-
.../springboot/XmlVerifierComponentConverter.java | 76 +++
.../XMLSecurityDataFormatAutoConfiguration.java | 9 +-
.../springboot/XmppComponentAutoConfiguration.java | 9 +-
.../springboot/XPathLanguageAutoConfiguration.java | 9 +-
.../XsltSaxonComponentAutoConfiguration.java | 11 +-
.../springboot/XsltSaxonComponentConverter.java | 70 +++
.../springboot/XsltComponentAutoConfiguration.java | 11 +-
.../xslt/springboot/XsltComponentConverter.java | 67 +++
.../JsonDataFormatAutoConfiguration.java | 9 +-
.../XStreamDataFormatAutoConfiguration.java | 9 +-
.../YammerComponentAutoConfiguration.java | 11 +-
.../springboot/YammerComponentConverter.java | 65 ++
.../ZendeskComponentAutoConfiguration.java | 11 +-
.../springboot/ZendeskComponentConverter.java | 65 ++
.../GzipDeflaterDataFormatAutoConfiguration.java | 9 +-
.../ZipDeflaterDataFormatAutoConfiguration.java | 9 +-
.../ZipFileDataFormatAutoConfiguration.java | 9 +-
.../MasterComponentAutoConfiguration.java | 11 +-
.../springboot/MasterComponentConverter.java | 65 ++
.../ZooKeeperComponentAutoConfiguration.java | 11 +-
.../springboot/ZooKeeperComponentConverter.java | 64 ++
.../maven/SpringBootAutoConfigurationMojo.java | 664 +++++++++++++++------
636 files changed, 18814 insertions(+), 1054 deletions(-)
create mode 100644 components-starter/camel-activemq-starter/src/main/java/org/apache/camel/component/activemq/springboot/ActiveMQComponentConverter.java
create mode 100644 components-starter/camel-ahc-starter/src/main/java/org/apache/camel/component/ahc/springboot/AhcComponentConverter.java
create mode 100644 components-starter/camel-ahc-ws-starter/src/main/java/org/apache/camel/component/ahc/ws/springboot/WsComponentConverter.java
create mode 100644 components-starter/camel-amqp-starter/src/main/java/org/apache/camel/component/amqp/springboot/AMQPComponentConverter.java
create mode 100644 components-starter/camel-apns-starter/src/main/java/org/apache/camel/component/apns/springboot/ApnsComponentConverter.java
create mode 100644 components-starter/camel-arangodb-starter/src/main/java/org/apache/camel/component/arangodb/springboot/ArangoDbComponentConverter.java
create mode 100644 components-starter/camel-as2-starter/src/main/java/org/apache/camel/component/as2/springboot/AS2ComponentConverter.java
create mode 100644 components-starter/camel-atlasmap-starter/src/main/java/org/apache/camel/component/atlasmap/springboot/AtlasMapComponentConverter.java
create mode 100644 components-starter/camel-atmosphere-websocket-starter/src/main/java/org/apache/camel/component/atmosphere/websocket/springboot/WebsocketComponentConverter.java
create mode 100644 components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/map/springboot/AtomixMapComponentConverter.java
create mode 100644 components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/messaging/springboot/AtomixMessagingComponentConverter.java
create mode 100644 components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/multimap/springboot/AtomixMultiMapComponentConverter.java
create mode 100644 components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/queue/springboot/AtomixQueueComponentConverter.java
create mode 100644 components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/set/springboot/AtomixSetComponentConverter.java
create mode 100644 components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/value/springboot/AtomixValueComponentConverter.java
create mode 100644 components-starter/camel-avro-rpc-starter/src/main/java/org/apache/camel/component/avro/springboot/AvroComponentConverter.java
create mode 100644 components-starter/camel-aws-cw-starter/src/main/java/org/apache/camel/component/aws/cw/springboot/CwComponentConverter.java
create mode 100644 components-starter/camel-aws-ddb-starter/src/main/java/org/apache/camel/component/aws/ddb/springboot/DdbComponentConverter.java
create mode 100644 components-starter/camel-aws-ddb-starter/src/main/java/org/apache/camel/component/aws/ddbstream/springboot/DdbStreamComponentConverter.java
create mode 100644 components-starter/camel-aws-ec2-starter/src/main/java/org/apache/camel/component/aws/ec2/springboot/EC2ComponentConverter.java
create mode 100644 components-starter/camel-aws-ecs-starter/src/main/java/org/apache/camel/component/aws/ecs/springboot/ECSComponentConverter.java
create mode 100644 components-starter/camel-aws-eks-starter/src/main/java/org/apache/camel/component/aws/eks/springboot/EKSComponentConverter.java
create mode 100644 components-starter/camel-aws-iam-starter/src/main/java/org/apache/camel/component/aws/iam/springboot/IAMComponentConverter.java
create mode 100644 components-starter/camel-aws-kinesis-starter/src/main/java/org/apache/camel/component/aws/firehose/springboot/KinesisFirehoseComponentConverter.java
create mode 100644 components-starter/camel-aws-kinesis-starter/src/main/java/org/apache/camel/component/aws/kinesis/springboot/KinesisComponentConverter.java
create mode 100644 components-starter/camel-aws-kms-starter/src/main/java/org/apache/camel/component/aws/kms/springboot/KMSComponentConverter.java
create mode 100644 components-starter/camel-aws-lambda-starter/src/main/java/org/apache/camel/component/aws/lambda/springboot/LambdaComponentConverter.java
create mode 100644 components-starter/camel-aws-mq-starter/src/main/java/org/apache/camel/component/aws/mq/springboot/MQComponentConverter.java
create mode 100644 components-starter/camel-aws-msk-starter/src/main/java/org/apache/camel/component/aws/msk/springboot/MSKComponentConverter.java
create mode 100644 components-starter/camel-aws-s3-starter/src/main/java/org/apache/camel/component/aws/s3/springboot/S3ComponentConverter.java
create mode 100644 components-starter/camel-aws-ses-starter/src/main/java/org/apache/camel/component/aws/ses/springboot/SesComponentConverter.java
create mode 100644 components-starter/camel-aws-sns-starter/src/main/java/org/apache/camel/component/aws/sns/springboot/SnsComponentConverter.java
create mode 100644 components-starter/camel-aws-sqs-starter/src/main/java/org/apache/camel/component/aws/sqs/springboot/SqsComponentConverter.java
create mode 100644 components-starter/camel-aws-swf-starter/src/main/java/org/apache/camel/component/aws/swf/springboot/SWFComponentConverter.java
create mode 100644 components-starter/camel-aws-translate-starter/src/main/java/org/apache/camel/component/aws/translate/springboot/TranslateComponentConverter.java
create mode 100644 components-starter/camel-aws2-athena-starter/src/main/java/org/apache/camel/component/aws2/athena/springboot/Athena2ComponentConverter.java
create mode 100644 components-starter/camel-aws2-cw-starter/src/main/java/org/apache/camel/component/aws2/cw/springboot/Cw2ComponentConverter.java
create mode 100644 components-starter/camel-aws2-ddb-starter/src/main/java/org/apache/camel/component/aws2/ddb/springboot/Ddb2ComponentConverter.java
create mode 100644 components-starter/camel-aws2-ddb-starter/src/main/java/org/apache/camel/component/aws2/ddbstream/springboot/Ddb2StreamComponentConverter.java
create mode 100644 components-starter/camel-aws2-ec2-starter/src/main/java/org/apache/camel/component/aws2/ec2/springboot/AWS2EC2ComponentConverter.java
create mode 100644 components-starter/camel-aws2-ecs-starter/src/main/java/org/apache/camel/component/aws2/ecs/springboot/ECS2ComponentConverter.java
create mode 100644 components-starter/camel-aws2-eks-starter/src/main/java/org/apache/camel/component/aws2/eks/springboot/EKS2ComponentConverter.java
create mode 100644 components-starter/camel-aws2-eventbridge-starter/src/main/java/org/apache/camel/component/aws2/eventbridge/springboot/EventbridgeComponentConverter.java
create mode 100644 components-starter/camel-aws2-iam-starter/src/main/java/org/apache/camel/component/aws2/iam/springboot/IAM2ComponentConverter.java
create mode 100644 components-starter/camel-aws2-kinesis-starter/src/main/java/org/apache/camel/component/aws2/firehose/springboot/KinesisFirehose2ComponentConverter.java
create mode 100644 components-starter/camel-aws2-kinesis-starter/src/main/java/org/apache/camel/component/aws2/kinesis/springboot/Kinesis2ComponentConverter.java
create mode 100644 components-starter/camel-aws2-kms-starter/src/main/java/org/apache/camel/component/aws2/kms/springboot/KMS2ComponentConverter.java
create mode 100644 components-starter/camel-aws2-lambda-starter/src/main/java/org/apache/camel/component/aws2/lambda/springboot/Lambda2ComponentConverter.java
create mode 100644 components-starter/camel-aws2-mq-starter/src/main/java/org/apache/camel/component/aws2/mq/springboot/MQ2ComponentConverter.java
create mode 100644 components-starter/camel-aws2-msk-starter/src/main/java/org/apache/camel/component/aws2/msk/springboot/MSK2ComponentConverter.java
create mode 100644 components-starter/camel-aws2-s3-starter/src/main/java/org/apache/camel/component/aws2/s3/springboot/AWS2S3ComponentConverter.java
create mode 100644 components-starter/camel-aws2-ses-starter/src/main/java/org/apache/camel/component/aws2/ses/springboot/Ses2ComponentConverter.java
create mode 100644 components-starter/camel-aws2-sns-starter/src/main/java/org/apache/camel/component/aws2/sns/springboot/Sns2ComponentConverter.java
create mode 100644 components-starter/camel-aws2-sqs-starter/src/main/java/org/apache/camel/component/aws2/sqs/springboot/Sqs2ComponentConverter.java
create mode 100644 components-starter/camel-aws2-sts-starter/src/main/java/org/apache/camel/component/aws2/sts/springboot/STS2ComponentConverter.java
create mode 100644 components-starter/camel-aws2-translate-starter/src/main/java/org/apache/camel/component/aws2/translate/springboot/Translate2ComponentConverter.java
create mode 100644 components-starter/camel-azure-eventhubs-starter/src/main/java/org/apache/camel/component/azure/eventhubs/springboot/EventHubsComponentConverter.java
create mode 100644 components-starter/camel-azure-starter/src/main/java/org/apache/camel/component/azure/blob/springboot/BlobServiceComponentConverter.java
create mode 100644 components-starter/camel-azure-starter/src/main/java/org/apache/camel/component/azure/queue/springboot/QueueServiceComponentConverter.java
create mode 100644 components-starter/camel-azure-storage-blob-starter/src/main/java/org/apache/camel/component/azure/storage/blob/springboot/BlobComponentConverter.java
create mode 100644 components-starter/camel-azure-storage-queue-starter/src/main/java/org/apache/camel/component/azure/storage/queue/springboot/QueueComponentConverter.java
create mode 100644 components-starter/camel-bean-starter/src/main/java/org/apache/camel/component/bean/springboot/BeanComponentConverter.java
create mode 100644 components-starter/camel-bean-starter/src/main/java/org/apache/camel/component/beanclass/springboot/ClassComponentConverter.java
create mode 100644 components-starter/camel-bean-validator-starter/src/main/java/org/apache/camel/component/bean/validator/springboot/BeanValidatorComponentConverter.java
create mode 100644 components-starter/camel-beanstalk-starter/src/main/java/org/apache/camel/component/beanstalk/springboot/BeanstalkComponentConverter.java
create mode 100644 components-starter/camel-box-starter/src/main/java/org/apache/camel/component/box/springboot/BoxComponentConverter.java
create mode 100644 components-starter/camel-braintree-starter/src/main/java/org/apache/camel/component/braintree/springboot/BraintreeComponentConverter.java
create mode 100644 components-starter/camel-caffeine-starter/src/main/java/org/apache/camel/component/caffeine/cache/springboot/CaffeineCacheComponentConverter.java
create mode 100644 components-starter/camel-caffeine-starter/src/main/java/org/apache/camel/component/caffeine/load/springboot/CaffeineLoadCacheComponentConverter.java
create mode 100644 components-starter/camel-cmis-starter/src/main/java/org/apache/camel/component/cmis/springboot/CMISComponentConverter.java
create mode 100644 components-starter/camel-cometd-starter/src/main/java/org/apache/camel/component/cometd/springboot/CometdComponentConverter.java
create mode 100644 components-starter/camel-consul-starter/src/main/java/org/apache/camel/component/consul/springboot/ConsulComponentConverter.java
create mode 100644 components-starter/camel-corda-starter/src/main/java/org/apache/camel/component/corda/springboot/CordaComponentConverter.java
create mode 100644 components-starter/camel-crypto-cms-starter/src/main/java/org/apache/camel/component/crypto/cms/springboot/CryptoCmsComponentConverter.java
create mode 100644 components-starter/camel-crypto-starter/src/main/java/org/apache/camel/component/crypto/springboot/DigitalSignatureComponentConverter.java
create mode 100644 components-starter/camel-cxf-starter/src/main/java/org/apache/camel/component/cxf/jaxrs/springboot/CxfRsComponentConverter.java
create mode 100644 components-starter/camel-cxf-starter/src/main/java/org/apache/camel/component/cxf/springboot/CxfComponentConverter.java
create mode 100644 components-starter/camel-debezium-mongodb-starter/src/main/java/org/apache/camel/component/debezium/springboot/DebeziumMongodbComponentConverter.java
create mode 100644 components-starter/camel-debezium-mysql-starter/src/main/java/org/apache/camel/component/debezium/springboot/DebeziumMySqlComponentConverter.java
create mode 100644 components-starter/camel-debezium-postgres-starter/src/main/java/org/apache/camel/component/debezium/springboot/DebeziumPostgresComponentConverter.java
create mode 100644 components-starter/camel-debezium-sqlserver-starter/src/main/java/org/apache/camel/component/debezium/springboot/DebeziumSqlserverComponentConverter.java
create mode 100644 components-starter/camel-directvm-starter/src/main/java/org/apache/camel/component/directvm/springboot/DirectVmComponentConverter.java
create mode 100644 components-starter/camel-disruptor-starter/src/main/java/org/apache/camel/component/disruptor/springboot/DisruptorComponentConverter.java
create mode 100644 components-starter/camel-disruptor-starter/src/main/java/org/apache/camel/component/disruptor/vm/springboot/DisruptorVmComponentConverter.java
create mode 100644 components-starter/camel-docker-starter/src/main/java/org/apache/camel/component/docker/springboot/DockerComponentConverter.java
create mode 100644 components-starter/camel-ehcache-starter/src/main/java/org/apache/camel/component/ehcache/springboot/EhcacheComponentConverter.java
create mode 100644 components-starter/camel-elasticsearch-rest-starter/src/main/java/org/apache/camel/component/elasticsearch/springboot/ElasticsearchComponentConverter.java
create mode 100644 components-starter/camel-elsql-starter/src/main/java/org/apache/camel/component/elsql/springboot/ElsqlComponentConverter.java
create mode 100644 components-starter/camel-etcd-starter/src/main/java/org/apache/camel/component/etcd/springboot/EtcdKeysComponentConverter.java
create mode 100644 components-starter/camel-etcd-starter/src/main/java/org/apache/camel/component/etcd/springboot/EtcdStatsComponentConverter.java
create mode 100644 components-starter/camel-etcd-starter/src/main/java/org/apache/camel/component/etcd/springboot/EtcdWatchComponentConverter.java
create mode 100644 components-starter/camel-facebook-starter/src/main/java/org/apache/camel/component/facebook/springboot/FacebookComponentConverter.java
create mode 100644 components-starter/camel-fhir-starter/src/main/java/org/apache/camel/component/fhir/springboot/FhirComponentConverter.java
create mode 100644 components-starter/camel-file-watch-starter/src/main/java/org/apache/camel/component/file/watch/springboot/FileWatchComponentConverter.java
create mode 100644 components-starter/camel-flink-starter/src/main/java/org/apache/camel/component/flink/springboot/FlinkComponentConverter.java
create mode 100644 components-starter/camel-freemarker-starter/src/main/java/org/apache/camel/component/freemarker/springboot/FreemarkerComponentConverter.java
create mode 100644 components-starter/camel-ganglia-starter/src/main/java/org/apache/camel/component/ganglia/springboot/GangliaComponentConverter.java
create mode 100644 components-starter/camel-geocoder-starter/src/main/java/org/apache/camel/component/geocoder/springboot/GeoCoderComponentConverter.java
create mode 100644 components-starter/camel-google-bigquery-starter/src/main/java/org/apache/camel/component/google/bigquery/springboot/GoogleBigQueryComponentConverter.java
create mode 100644 components-starter/camel-google-bigquery-starter/src/main/java/org/apache/camel/component/google/bigquery/sql/springboot/GoogleBigQuerySQLComponentConverter.java
create mode 100644 components-starter/camel-google-calendar-starter/src/main/java/org/apache/camel/component/google/calendar/springboot/GoogleCalendarComponentConverter.java
create mode 100644 components-starter/camel-google-calendar-starter/src/main/java/org/apache/camel/component/google/calendar/stream/springboot/GoogleCalendarStreamComponentConverter.java
create mode 100644 components-starter/camel-google-drive-starter/src/main/java/org/apache/camel/component/google/drive/springboot/GoogleDriveComponentConverter.java
create mode 100644 components-starter/camel-google-mail-starter/src/main/java/org/apache/camel/component/google/mail/springboot/GoogleMailComponentConverter.java
create mode 100644 components-starter/camel-google-mail-starter/src/main/java/org/apache/camel/component/google/mail/stream/springboot/GoogleMailStreamComponentConverter.java
create mode 100644 components-starter/camel-google-sheets-starter/src/main/java/org/apache/camel/component/google/sheets/springboot/GoogleSheetsComponentConverter.java
create mode 100644 components-starter/camel-google-sheets-starter/src/main/java/org/apache/camel/component/google/sheets/stream/springboot/GoogleSheetsStreamComponentConverter.java
create mode 100644 components-starter/camel-grape-starter/src/main/java/org/apache/camel/component/grape/springboot/GrapeComponentConverter.java
create mode 100644 components-starter/camel-guava-eventbus-starter/src/main/java/org/apache/camel/component/guava/eventbus/springboot/GuavaEventBusComponentConverter.java
create mode 100644 components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/atomicnumber/springboot/HazelcastAtomicnumberComponentConverter.java
create mode 100644 components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/instance/springboot/HazelcastInstanceComponentConverter.java
create mode 100644 components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/list/springboot/HazelcastListComponentConverter.java
create mode 100644 components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/map/springboot/HazelcastMapComponentConverter.java
create mode 100644 components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/multimap/springboot/HazelcastMultimapComponentConverter.java
create mode 100644 components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/queue/springboot/HazelcastQueueComponentConverter.java
create mode 100644 components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/replicatedmap/springboot/HazelcastReplicatedmapComponentConverter.java
create mode 100644 components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/ringbuffer/springboot/HazelcastRingbufferComponentConverter.java
create mode 100644 components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/seda/springboot/HazelcastSedaComponentConverter.java
create mode 100644 components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/set/springboot/HazelcastSetComponentConverter.java
create mode 100644 components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/topic/springboot/HazelcastTopicComponentConverter.java
create mode 100644 components-starter/camel-hbase-starter/src/main/java/org/apache/camel/component/hbase/springboot/HBaseComponentConverter.java
create mode 100644 components-starter/camel-hdfs-starter/src/main/java/org/apache/camel/component/hdfs/springboot/HdfsComponentConverter.java
create mode 100644 components-starter/camel-http-starter/src/main/java/org/apache/camel/component/http/springboot/HttpComponentConverter.java
create mode 100644 components-starter/camel-iec60870-starter/src/main/java/org/apache/camel/component/iec60870/client/springboot/ClientComponentConverter.java
create mode 100644 components-starter/camel-iec60870-starter/src/main/java/org/apache/camel/component/iec60870/server/springboot/ServerComponentConverter.java
create mode 100644 components-starter/camel-ignite-starter/src/main/java/org/apache/camel/component/ignite/cache/springboot/IgniteCacheComponentConverter.java
create mode 100644 components-starter/camel-ignite-starter/src/main/java/org/apache/camel/component/ignite/compute/springboot/IgniteComputeComponentConverter.java
create mode 100644 components-starter/camel-ignite-starter/src/main/java/org/apache/camel/component/ignite/events/springboot/IgniteEventsComponentConverter.java
create mode 100644 components-starter/camel-ignite-starter/src/main/java/org/apache/camel/component/ignite/idgen/springboot/IgniteIdGenComponentConverter.java
create mode 100644 components-starter/camel-ignite-starter/src/main/java/org/apache/camel/component/ignite/messaging/springboot/IgniteMessagingComponentConverter.java
create mode 100644 components-starter/camel-ignite-starter/src/main/java/org/apache/camel/component/ignite/queue/springboot/IgniteQueueComponentConverter.java
create mode 100644 components-starter/camel-ignite-starter/src/main/java/org/apache/camel/component/ignite/set/springboot/IgniteSetComponentConverter.java
create mode 100644 components-starter/camel-infinispan-starter/src/main/java/org/apache/camel/component/infinispan/springboot/InfinispanComponentConverter.java
create mode 100644 components-starter/camel-influxdb-starter/src/main/java/org/apache/camel/component/influxdb/springboot/InfluxDbComponentConverter.java
create mode 100644 components-starter/camel-jcache-starter/src/main/java/org/apache/camel/component/jcache/springboot/JCacheComponentConverter.java
create mode 100644 components-starter/camel-jdbc-starter/src/main/java/org/apache/camel/component/jdbc/springboot/JdbcComponentConverter.java
create mode 100644 components-starter/camel-jetty-starter/src/main/java/org/apache/camel/component/jetty9/springboot/JettyHttpComponentConverter9.java
create mode 100644 components-starter/camel-jgroups-raft-starter/src/main/java/org/apache/camel/component/jgroups/raft/springboot/JGroupsRaftComponentConverter.java
create mode 100644 components-starter/camel-jgroups-starter/src/main/java/org/apache/camel/component/jgroups/springboot/JGroupsComponentConverter.java
create mode 100644 components-starter/camel-jira-starter/src/main/java/org/apache/camel/component/jira/springboot/JiraComponentConverter.java
create mode 100644 components-starter/camel-jms-starter/src/main/java/org/apache/camel/component/jms/springboot/JmsComponentConverter.java
create mode 100644 components-starter/camel-jolt-starter/src/main/java/org/apache/camel/component/jolt/springboot/JoltComponentConverter.java
create mode 100644 components-starter/camel-jooq-starter/src/main/java/org/apache/camel/component/jooq/springboot/JooqComponentConverter.java
create mode 100644 components-starter/camel-jpa-starter/src/main/java/org/apache/camel/component/jpa/springboot/JpaComponentConverter.java
create mode 100644 components-starter/camel-jslt-starter/src/main/java/org/apache/camel/component/jslt/springboot/JsltComponentConverter.java
create mode 100644 components-starter/camel-jt400-starter/src/main/java/org/apache/camel/component/jt400/springboot/Jt400ComponentConverter.java
create mode 100644 components-starter/camel-kafka-starter/src/main/java/org/apache/camel/component/kafka/springboot/KafkaComponentConverter.java
create mode 100644 components-starter/camel-log-starter/src/main/java/org/apache/camel/component/log/springboot/LogComponentConverter.java
create mode 100644 components-starter/camel-lucene-starter/src/main/java/org/apache/camel/component/lucene/springboot/LuceneComponentConverter.java
create mode 100644 components-starter/camel-lumberjack-starter/src/main/java/org/apache/camel/component/lumberjack/springboot/LumberjackComponentConverter.java
create mode 100644 components-starter/camel-mail-starter/src/main/java/org/apache/camel/component/mail/springboot/MailComponentConverter.java
create mode 100644 components-starter/camel-master-starter/src/main/java/org/apache/camel/component/master/springboot/MasterComponentConverter.java
create mode 100644 components-starter/camel-metrics-starter/src/main/java/org/apache/camel/component/metrics/springboot/MetricsComponentConverter.java
create mode 100644 components-starter/camel-micrometer-starter/src/main/java/org/apache/camel/component/micrometer/springboot/MicrometerComponentConverter.java
create mode 100644 components-starter/camel-milo-starter/src/main/java/org/apache/camel/component/milo/client/springboot/MiloClientComponentConverter.java
create mode 100644 components-starter/camel-milo-starter/src/main/java/org/apache/camel/component/milo/server/springboot/MiloServerComponentConverter.java
create mode 100644 components-starter/camel-mina-starter/src/main/java/org/apache/camel/component/mina/springboot/MinaComponentConverter.java
create mode 100644 components-starter/camel-minio-starter/src/main/java/org/apache/camel/component/minio/springboot/MinioComponentConverter.java
create mode 100644 components-starter/camel-mllp-starter/src/main/java/org/apache/camel/component/mllp/springboot/MllpComponentConverter.java
create mode 100644 components-starter/camel-mongodb-starter/src/main/java/org/apache/camel/component/mongodb/springboot/MongoDbComponentConverter.java
create mode 100644 components-starter/camel-msv-starter/src/main/java/org/apache/camel/component/validator/msv/springboot/MsvComponentConverter.java
create mode 100644 components-starter/camel-mustache-starter/src/main/java/org/apache/camel/component/mustache/springboot/MustacheComponentConverter.java
create mode 100644 components-starter/camel-mybatis-starter/src/main/java/org/apache/camel/component/mybatis/springboot/MyBatisBeanComponentConverter.java
create mode 100644 components-starter/camel-mybatis-starter/src/main/java/org/apache/camel/component/mybatis/springboot/MyBatisComponentConverter.java
create mode 100644 components-starter/camel-nagios-starter/src/main/java/org/apache/camel/component/nagios/springboot/NagiosComponentConverter.java
create mode 100644 components-starter/camel-netty-http-starter/src/main/java/org/apache/camel/component/netty/http/springboot/NettyHttpComponentConverter.java
create mode 100644 components-starter/camel-netty-starter/src/main/java/org/apache/camel/component/netty/springboot/NettyComponentConverter.java
create mode 100644 components-starter/camel-olingo2-starter/src/main/java/org/apache/camel/component/olingo2/springboot/Olingo2ComponentConverter.java
create mode 100644 components-starter/camel-olingo4-starter/src/main/java/org/apache/camel/component/olingo4/springboot/Olingo4ComponentConverter.java
create mode 100644 components-starter/camel-paho-starter/src/main/java/org/apache/camel/component/paho/springboot/PahoComponentConverter.java
create mode 100644 components-starter/camel-platform-http-starter/src/main/java/org/apache/camel/component/platform/http/springboot/PlatformHttpComponentConverter.java
create mode 100644 components-starter/camel-pulsar-starter/src/main/java/org/apache/camel/component/pulsar/springboot/PulsarComponentConverter.java
create mode 100644 components-starter/camel-quartz-starter/src/main/java/org/apache/camel/component/quartz/springboot/QuartzComponentConverter.java
create mode 100644 components-starter/camel-quickfix-starter/src/main/java/org/apache/camel/component/quickfixj/springboot/QuickfixjComponentConverter.java
create mode 100644 components-starter/camel-rabbitmq-starter/src/main/java/org/apache/camel/component/rabbitmq/springboot/RabbitMQComponentConverter.java
create mode 100644 components-starter/camel-reactive-streams-starter/src/main/java/org/apache/camel/component/reactive/streams/springboot/ReactiveStreamsComponentConverter.java
create mode 100644 components-starter/camel-rest-openapi-starter/src/main/java/org/apache/camel/component/rest/openapi/springboot/RestOpenApiComponentConverter.java
create mode 100644 components-starter/camel-rest-swagger-starter/src/main/java/org/apache/camel/component/rest/swagger/springboot/RestSwaggerComponentConverter.java
create mode 100644 components-starter/camel-resteasy-starter/src/main/java/org/apache/camel/component/resteasy/springboot/ResteasyComponentConverter.java
create mode 100644 components-starter/camel-robotframework-starter/src/main/java/org/apache/camel/component/robotframework/springboot/RobotFrameworkComponentConverter.java
create mode 100644 components-starter/camel-salesforce-starter/src/main/java/org/apache/camel/component/salesforce/springboot/SalesforceComponentConverter.java
create mode 100644 components-starter/camel-saxon-starter/src/main/java/org/apache/camel/component/xquery/springboot/XQueryComponentConverter.java
create mode 100644 components-starter/camel-seda-starter/src/main/java/org/apache/camel/component/seda/springboot/SedaComponentConverter.java
create mode 100644 components-starter/camel-service-starter/src/main/java/org/apache/camel/component/service/springboot/ServiceComponentConverter.java
create mode 100644 components-starter/camel-servicenow-starter/src/main/java/org/apache/camel/component/servicenow/springboot/ServiceNowComponentConverter.java
create mode 100644 components-starter/camel-servlet-starter/src/main/java/org/apache/camel/component/servlet/springboot/ServletComponentConverter.java
create mode 100644 components-starter/camel-sjms-starter/src/main/java/org/apache/camel/component/sjms/batch/springboot/SjmsBatchComponentConverter.java
create mode 100644 components-starter/camel-sjms-starter/src/main/java/org/apache/camel/component/sjms/springboot/SjmsComponentConverter.java
create mode 100644 components-starter/camel-sjms2-starter/src/main/java/org/apache/camel/component/sjms2/springboot/Sjms2ComponentConverter.java
create mode 100644 components-starter/camel-smpp-starter/src/main/java/org/apache/camel/component/smpp/springboot/SmppComponentConverter.java
create mode 100644 components-starter/camel-spark-starter/src/main/java/org/apache/camel/component/spark/springboot/SparkComponentConverter.java
create mode 100644 components-starter/camel-splunk-starter/src/main/java/org/apache/camel/component/splunk/springboot/SplunkComponentConverter.java
create mode 100644 components-starter/camel-spring-batch-starter/src/main/java/org/apache/camel/component/spring/batch/springboot/SpringBatchComponentConverter.java
create mode 100644 components-starter/camel-sql-starter/src/main/java/org/apache/camel/component/sql/springboot/SqlComponentConverter.java
create mode 100644 components-starter/camel-sql-starter/src/main/java/org/apache/camel/component/sql/stored/springboot/SqlStoredComponentConverter.java
create mode 100644 components-starter/camel-ssh-starter/src/main/java/org/apache/camel/component/ssh/springboot/SshComponentConverter.java
create mode 100644 components-starter/camel-stomp-starter/src/main/java/org/apache/camel/component/stomp/springboot/StompComponentConverter.java
create mode 100644 components-starter/camel-stub-starter/src/main/java/org/apache/camel/component/stub/springboot/StubComponentConverter.java
create mode 100644 components-starter/camel-telegram-starter/src/main/java/org/apache/camel/component/telegram/springboot/TelegramComponentConverter.java
create mode 100644 components-starter/camel-twilio-starter/src/main/java/org/apache/camel/component/twilio/springboot/TwilioComponentConverter.java
create mode 100644 components-starter/camel-undertow-starter/src/main/java/org/apache/camel/component/undertow/springboot/UndertowComponentConverter.java
create mode 100644 components-starter/camel-validator-starter/src/main/java/org/apache/camel/component/validator/springboot/ValidatorComponentConverter.java
create mode 100644 components-starter/camel-velocity-starter/src/main/java/org/apache/camel/component/velocity/springboot/VelocityComponentConverter.java
create mode 100644 components-starter/camel-vertx-http-starter/src/main/java/org/apache/camel/component/vertx/http/springboot/VertxHttpComponentConverter.java
create mode 100644 components-starter/camel-vertx-starter/src/main/java/org/apache/camel/component/vertx/springboot/VertxComponentConverter.java
create mode 100644 components-starter/camel-vertx-websocket-starter/src/main/java/org/apache/camel/component/vertx/websocket/springboot/VertxWebsocketComponentConverter.java
create mode 100644 components-starter/camel-vm-starter/src/main/java/org/apache/camel/component/vm/springboot/VmComponentConverter.java
create mode 100644 components-starter/camel-web3j-starter/src/main/java/org/apache/camel/component/web3j/springboot/Web3jComponentConverter.java
create mode 100644 components-starter/camel-webhook-starter/src/main/java/org/apache/camel/component/webhook/springboot/WebhookComponentConverter.java
create mode 100644 components-starter/camel-websocket-jsr356-starter/src/main/java/org/apache/camel/websocket/jsr356/springboot/JSR356WebSocketComponentConverter.java
create mode 100644 components-starter/camel-websocket-starter/src/main/java/org/apache/camel/component/websocket/springboot/WebsocketComponentConverter.java
create mode 100644 components-starter/camel-wordpress-starter/src/main/java/org/apache/camel/component/wordpress/springboot/WordpressComponentConverter.java
create mode 100644 components-starter/camel-xj-starter/src/main/java/org/apache/camel/component/xj/springboot/XJComponentConverter.java
create mode 100644 components-starter/camel-xmlsecurity-starter/src/main/java/org/apache/camel/component/xmlsecurity/springboot/XmlSignerComponentConverter.java
create mode 100644 components-starter/camel-xmlsecurity-starter/src/main/java/org/apache/camel/component/xmlsecurity/springboot/XmlVerifierComponentConverter.java
create mode 100644 components-starter/camel-xslt-saxon-starter/src/main/java/org/apache/camel/component/xslt/saxon/springboot/XsltSaxonComponentConverter.java
create mode 100644 components-starter/camel-xslt-starter/src/main/java/org/apache/camel/component/xslt/springboot/XsltComponentConverter.java
create mode 100644 components-starter/camel-yammer-starter/src/main/java/org/apache/camel/component/yammer/springboot/YammerComponentConverter.java
create mode 100644 components-starter/camel-zendesk-starter/src/main/java/org/apache/camel/component/zendesk/springboot/ZendeskComponentConverter.java
create mode 100644 components-starter/camel-zookeeper-master-starter/src/main/java/org/apache/camel/component/zookeepermaster/springboot/MasterComponentConverter.java
create mode 100644 components-starter/camel-zookeeper-starter/src/main/java/org/apache/camel/component/zookeeper/springboot/ZooKeeperComponentConverter.java
[camel-spring-boot] 01/06: CAMEL-15766: camel-spring-boot - Support
complex types to be referenced via # lookup from configuration files.
Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel-spring-boot.git
commit 850a26b02b434f44b8f6a6f718773bf3e1b38273
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Mon Nov 16 10:22:18 2020 +0100
CAMEL-15766: camel-spring-boot - Support complex types to be referenced via # lookup from configuration files.
---
.../maven/SpringBootAutoConfigurationMojo.java | 651 +++++++++++++++------
1 file changed, 475 insertions(+), 176 deletions(-)
diff --git a/tooling/camel-spring-boot-generator-maven-plugin/src/main/java/org/apache/camel/springboot/maven/SpringBootAutoConfigurationMojo.java b/tooling/camel-spring-boot-generator-maven-plugin/src/main/java/org/apache/camel/springboot/maven/SpringBootAutoConfigurationMojo.java
index e96aa7c..c06b896 100644
--- a/tooling/camel-spring-boot-generator-maven-plugin/src/main/java/org/apache/camel/springboot/maven/SpringBootAutoConfigurationMojo.java
+++ b/tooling/camel-spring-boot-generator-maven-plugin/src/main/java/org/apache/camel/springboot/maven/SpringBootAutoConfigurationMojo.java
@@ -16,6 +16,7 @@
*/
package org.apache.camel.springboot.maven;
+import javax.annotation.Generated;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
@@ -39,8 +40,6 @@ import java.util.stream.Collectors;
import java.util.stream.Stream;
import java.util.zip.ZipEntry;
-import javax.annotation.Generated;
-
import org.apache.camel.maven.packaging.AbstractGeneratorMojo;
import org.apache.camel.tooling.model.ComponentModel;
import org.apache.camel.tooling.model.ComponentModel.ComponentOptionModel;
@@ -333,7 +332,7 @@ public class SpringBootAutoConfigurationMojo extends AbstractSpringBootGenerator
configClass.addField().setName("enabled").setType(boolean.class).setPrivate().setLiteralInitializer("true").getJavaDoc().setFullText("Enable the component");
configClass.addField().setName("configurations").setType(loadType("java.util.Map<java.lang.String, " + packageName + "." + commonName + ">")).setPrivate()
- .setLiteralInitializer("new HashMap<>()").getJavaDoc().setFullText("Define additional configuration definitions");
+ .setLiteralInitializer("new HashMap<>()").getJavaDoc().setFullText("Define additional configuration definitions");
Method method;
@@ -470,24 +469,24 @@ public class SpringBootAutoConfigurationMojo extends AbstractSpringBootGenerator
method.addAnnotation(ConditionalOnClass.class).setLiteralValue("value", "CamelContext.class");
method.addAnnotation(ConditionalOnMissingBean.class);
method.setBody("" + "Map<String, Object> properties = new HashMap<>();\n" + "IntrospectionSupport.getProperties(config, properties, null, false);\n"
- + "// These options is configured specially further below, so remove them first\n" + "properties.remove(\"enableCors\");\n"
- + "properties.remove(\"apiProperty\");\n" + "properties.remove(\"componentProperty\");\n" + "properties.remove(\"consumerProperty\");\n"
- + "properties.remove(\"dataFormatProperty\");\n" + "properties.remove(\"endpointProperty\");\n" + "properties.remove(\"corsHeaders\");\n" + "\n"
- + "RestConfiguration definition = new RestConfiguration();\n" + "CamelPropertiesHelper.setCamelProperties(camelContext, definition, properties, true);\n"
- + "\n" + "// Workaround for spring-boot properties name as It would appear\n" + "// as enable-c-o-r-s if left uppercase in Configuration\n"
- + "definition.setEnableCORS(config.getEnableCors());\n" + "\n" + "if (config.getApiProperty() != null) {\n"
- + " definition.setApiProperties(new HashMap<>(CollectionHelper.flattenKeysInMap(config.getApiProperty(), \".\")));\n" + "}\n"
- + "if (config.getComponentProperty() != null) {\n"
- + " definition.setComponentProperties(new HashMap<>(CollectionHelper.flattenKeysInMap(config.getComponentProperty(), \".\")));\n" + "}\n"
- + "if (config.getConsumerProperty() != null) {\n"
- + " definition.setConsumerProperties(new HashMap<>(CollectionHelper.flattenKeysInMap(config.getConsumerProperty(), \".\")));\n" + "}\n"
- + "if (config.getDataFormatProperty() != null) {\n"
- + " definition.setDataFormatProperties(new HashMap<>(CollectionHelper.flattenKeysInMap(config.getDataFormatProperty(), \".\")));\n" + "}\n"
- + "if (config.getEndpointProperty() != null) {\n"
- + " definition.setEndpointProperties(new HashMap<>(CollectionHelper.flattenKeysInMap(config.getEndpointProperty(), \".\")));\n" + "}\n"
- + "if (config.getCorsHeaders() != null) {\n" + " Map<String, Object> map = CollectionHelper.flattenKeysInMap(config.getCorsHeaders(), \".\");\n"
- + " Map<String, String> target = new HashMap<>();\n" + " map.forEach((k, v) -> target.put(k, v.toString()));\n"
- + " definition.setCorsHeaders(target);\n" + "}\n" + "return definition;");
+ + "// These options is configured specially further below, so remove them first\n" + "properties.remove(\"enableCors\");\n"
+ + "properties.remove(\"apiProperty\");\n" + "properties.remove(\"componentProperty\");\n" + "properties.remove(\"consumerProperty\");\n"
+ + "properties.remove(\"dataFormatProperty\");\n" + "properties.remove(\"endpointProperty\");\n" + "properties.remove(\"corsHeaders\");\n" + "\n"
+ + "RestConfiguration definition = new RestConfiguration();\n" + "CamelPropertiesHelper.setCamelProperties(camelContext, definition, properties, true);\n"
+ + "\n" + "// Workaround for spring-boot properties name as It would appear\n" + "// as enable-c-o-r-s if left uppercase in Configuration\n"
+ + "definition.setEnableCORS(config.getEnableCors());\n" + "\n" + "if (config.getApiProperty() != null) {\n"
+ + " definition.setApiProperties(new HashMap<>(CollectionHelper.flattenKeysInMap(config.getApiProperty(), \".\")));\n" + "}\n"
+ + "if (config.getComponentProperty() != null) {\n"
+ + " definition.setComponentProperties(new HashMap<>(CollectionHelper.flattenKeysInMap(config.getComponentProperty(), \".\")));\n" + "}\n"
+ + "if (config.getConsumerProperty() != null) {\n"
+ + " definition.setConsumerProperties(new HashMap<>(CollectionHelper.flattenKeysInMap(config.getConsumerProperty(), \".\")));\n" + "}\n"
+ + "if (config.getDataFormatProperty() != null) {\n"
+ + " definition.setDataFormatProperties(new HashMap<>(CollectionHelper.flattenKeysInMap(config.getDataFormatProperty(), \".\")));\n" + "}\n"
+ + "if (config.getEndpointProperty() != null) {\n"
+ + " definition.setEndpointProperties(new HashMap<>(CollectionHelper.flattenKeysInMap(config.getEndpointProperty(), \".\")));\n" + "}\n"
+ + "if (config.getCorsHeaders() != null) {\n" + " Map<String, Object> map = CollectionHelper.flattenKeysInMap(config.getCorsHeaders(), \".\");\n"
+ + " Map<String, String> target = new HashMap<>();\n" + " map.forEach((k, v) -> target.put(k, v.toString()));\n"
+ + " definition.setCorsHeaders(target);\n" + "}\n" + "return definition;");
String fileName = packageName.replaceAll("\\.", "\\/") + "/" + name + ".java";
writeSourceIfChanged(javaClass, fileName, true);
@@ -516,7 +515,7 @@ public class SpringBootAutoConfigurationMojo extends AbstractSpringBootGenerator
for (String componentClass : grModels.keySet()) {
List<ComponentModel> compModels = grModels.get(componentClass);
ComponentModel model = compModels.get(0); // They should be
- // equivalent
+ // equivalent
List<String> aliases = compModels.stream().map(ComponentModel::getScheme).sorted().collect(Collectors.toList());
// use springboot as sub package name so the code is not in normal
@@ -532,8 +531,12 @@ public class SpringBootAutoConfigurationMojo extends AbstractSpringBootGenerator
beforeGenerateComponentSource(model);
+ boolean complexOptions = model.getOptions().stream().anyMatch(this::isComplexType);
createComponentConfigurationSource(pkg, model, overrideComponentName);
- createComponentAutoConfigurationSource(pkg, model, overrideComponentName);
+ createComponentAutoConfigurationSource(pkg, model, overrideComponentName, complexOptions);
+ if (complexOptions) {
+ createComponentConverterSource(pkg, model);
+ }
createComponentSpringFactorySource(pkg, model);
}
}
@@ -575,7 +578,7 @@ public class SpringBootAutoConfigurationMojo extends AbstractSpringBootGenerator
for (String dataFormatClass : grModels.keySet()) {
List<DataFormatModel> dfModels = grModels.get(dataFormatClass);
DataFormatModel model = dfModels.get(0); // They should be
- // equivalent
+ // equivalent
List<String> aliases = dfModels.stream().map(DataFormatModel::getName).sorted().collect(Collectors.toList());
// use springboot as sub package name so the code is not in
@@ -590,8 +593,13 @@ public class SpringBootAutoConfigurationMojo extends AbstractSpringBootGenerator
overrideDataFormatName = model.getArtifactId().replace("camel-", "");
}
+
+ boolean complexOptions = model.getOptions().stream().anyMatch(this::isComplexType);
createDataFormatConfigurationSource(pkg, model, overrideDataFormatName);
- createDataFormatAutoConfigurationSource(pkg, model, overrideDataFormatName);
+ createDataFormatAutoConfigurationSource(pkg, model, overrideDataFormatName, complexOptions);
+ if (complexOptions) {
+ createDataFormatConverterSource(pkg, model);
+ }
createDataFormatSpringFactorySource(pkg, model);
}
}
@@ -619,7 +627,7 @@ public class SpringBootAutoConfigurationMojo extends AbstractSpringBootGenerator
for (String languageClass : grModels.keySet()) {
List<LanguageModel> dfModels = grModels.get(languageClass);
LanguageModel model = dfModels.get(0); // They should be
- // equivalent
+ // equivalent
List<String> aliases = dfModels.stream().map(LanguageModel::getName).sorted().collect(Collectors.toList());
// use springboot as sub package name so the code is not in
@@ -634,8 +642,12 @@ public class SpringBootAutoConfigurationMojo extends AbstractSpringBootGenerator
overrideLanguageName = model.getArtifactId().replace("camel-", "");
}
+ boolean complexOptions = model.getOptions().stream().anyMatch(this::isComplexType);
createLanguageConfigurationSource(pkg, model, overrideLanguageName);
- createLanguageAutoConfigurationSource(pkg, model, overrideLanguageName);
+ createLanguageAutoConfigurationSource(pkg, model, overrideLanguageName, complexOptions);
+ if (complexOptions) {
+ createLanguageConverterSource(pkg, model);
+ }
createLanguageSpringFactorySource(pkg, model);
}
}
@@ -731,7 +743,7 @@ public class SpringBootAutoConfigurationMojo extends AbstractSpringBootGenerator
String fileName = packageName.replaceAll("\\.", "\\/") + "/" + name + ".java";
writeSourceIfChanged(javaClass, fileName, true);
}
-
+
private String convertDurationToMillisec(String pattern) {
String value = null;
pattern = pattern.toLowerCase();
@@ -846,78 +858,78 @@ public class SpringBootAutoConfigurationMojo extends AbstractSpringBootGenerator
return null;
}
JavaClass nestedType = new JavaClass(getProjectClassLoader()).setPackage(clazz.getPackage().getName()).setName(clazz.getSimpleName()).setEnum(clazz.isEnum())
- .setClass(!clazz.isInterface()).setAbstract((clazz.getModifiers() & Modifier.ABSTRACT) != 0).setStatic((clazz.getModifiers() & Modifier.STATIC) != 0)
- .extendSuperType(clazz.getGenericSuperclass() != null ? new GenericType(clazz.getGenericSuperclass()).toString() : null);
+ .setClass(!clazz.isInterface()).setAbstract((clazz.getModifiers() & Modifier.ABSTRACT) != 0).setStatic((clazz.getModifiers() & Modifier.STATIC) != 0)
+ .extendSuperType(clazz.getGenericSuperclass() != null ? new GenericType(clazz.getGenericSuperclass()).toString() : null);
List<java.lang.reflect.Method> publicMethods = Stream.of(clazz.getDeclaredMethods()).filter(m -> Modifier.isPublic(m.getModifiers())).collect(Collectors.toList());
List<java.lang.reflect.Method> allSetters = publicMethods.stream().filter(m -> m.getReturnType() == void.class || m.getReturnType() == clazz)
- .filter(m -> m.getParameterCount() == 1).filter(m -> m.getName().matches("set[A-Z][a-zA-Z0-9]*")).collect(Collectors.toList());
+ .filter(m -> m.getParameterCount() == 1).filter(m -> m.getName().matches("set[A-Z][a-zA-Z0-9]*")).collect(Collectors.toList());
List<java.lang.reflect.Method> allGetters = publicMethods.stream().filter(m -> m.getReturnType() != void.class).filter(m -> m.getParameterCount() == 0)
- .filter(m -> m.getName().matches("(get|is)[A-Z][a-zA-Z0-9]*")).collect(Collectors.toList());
+ .filter(m -> m.getName().matches("(get|is)[A-Z][a-zA-Z0-9]*")).collect(Collectors.toList());
allSetters.stream()
.sorted(Comparator.<java.lang.reflect.Method>comparingInt(m -> getSetterPosition(sourceCode, m))
- .thenComparing(java.lang.reflect.Method::getName))
+ .thenComparing(java.lang.reflect.Method::getName))
.map(m -> StringUtils.uncapitalize(m.getName().substring(3)))
.forEach(fn -> {
- Class<?> ft;
- Type wft;
- boolean isBoolean;
- java.lang.reflect.Field field = Stream.of(clazz.getDeclaredFields()).filter(f -> f.getName().equals(fn)).findAny().orElse(null);
- List<java.lang.reflect.Method> setters = allSetters.stream().filter(m -> m.getName().equals("set" + StringUtils.capitalize(fn))).collect(Collectors.toList());
- List<java.lang.reflect.Method> getters = allGetters.stream()
- .filter(m -> m.getName().equals("get" + StringUtils.capitalize(fn)) || m.getName().equals("is" + StringUtils.capitalize(fn))).collect(Collectors.toList());
- java.lang.reflect.Method mutator;
- java.lang.reflect.Method accessor;
- if (setters.size() == 1) {
- mutator = setters.get(0);
- ft = mutator.getParameterTypes()[0];
- wft = PRIMITIVE_CLASSES.getOrDefault(ft, ft);
- isBoolean = ft == boolean.class || ft == Boolean.class;
- accessor = allGetters.stream()
- .filter(m -> m.getName().equals("get" + StringUtils.capitalize(fn)) || isBoolean && m.getName().equals("is" + StringUtils.capitalize(fn)))
- .filter(m -> PRIMITIVE_CLASSES.getOrDefault(m.getReturnType(), m.getReturnType()) == wft).findAny().orElse(null);
- } else if (field != null) {
- ft = field.getType();
- wft = PRIMITIVE_CLASSES.getOrDefault(ft, ft);
- isBoolean = ft == boolean.class || ft == Boolean.class;
- mutator = allSetters.stream().filter(m -> m.getName().equals("set" + StringUtils.capitalize(fn)))
- .filter(m -> PRIMITIVE_CLASSES.getOrDefault(m.getParameterTypes()[0], m.getParameterTypes()[0]) == wft).findAny().orElse(null);
- accessor = allGetters.stream()
- .filter(m -> m.getName().equals("get" + StringUtils.capitalize(fn)) || isBoolean && m.getName().equals("is" + StringUtils.capitalize(fn)))
- .filter(m -> PRIMITIVE_CLASSES.getOrDefault(m.getReturnType(), m.getReturnType()) == wft).findAny().orElse(null);
- } else {
- if (getters.size() == 1) {
- ft = getters.get(0).getReturnType();
- } else {
- throw new IllegalStateException("Unable to determine type for property " + fn);
- }
- wft = PRIMITIVE_CLASSES.getOrDefault(ft, ft);
- mutator = setters.stream().filter(m -> PRIMITIVE_CLASSES.getOrDefault(m.getParameterTypes()[0], m.getParameterTypes()[0]) == wft).findAny().orElse(null);
- accessor = getters.stream().filter(m -> PRIMITIVE_CLASSES.getOrDefault(m.getReturnType(), m.getReturnType()) == wft).findAny().orElse(null);
- }
- if (mutator == null) {
- throw new IllegalStateException("Could not find mutator for property " + fn);
- }
- Property property = nestedType.addProperty(new GenericType(wft), fn);
- property.getMutator().getJavaDoc().setText(getSetterJavaDoc(sourceCode, fn));
- for (java.lang.annotation.Annotation ann : mutator.getAnnotations()) {
- addAnnotation(ac -> property.getMutator().addAnnotation(ac), ann);
- }
- if (accessor != null) {
- for (java.lang.annotation.Annotation ann : accessor.getAnnotations()) {
- addAnnotation(ac -> property.getAccessor().addAnnotation(ac), ann);
- }
- } else {
- property.removeAccessor();
- }
- if (field != null) {
- for (java.lang.annotation.Annotation ann : field.getAnnotations()) {
- addAnnotation(ac -> property.getField().addAnnotation(ac), ann);
- }
- } else {
- property.removeField();
- }
- });
+ Class<?> ft;
+ Type wft;
+ boolean isBoolean;
+ java.lang.reflect.Field field = Stream.of(clazz.getDeclaredFields()).filter(f -> f.getName().equals(fn)).findAny().orElse(null);
+ List<java.lang.reflect.Method> setters = allSetters.stream().filter(m -> m.getName().equals("set" + StringUtils.capitalize(fn))).collect(Collectors.toList());
+ List<java.lang.reflect.Method> getters = allGetters.stream()
+ .filter(m -> m.getName().equals("get" + StringUtils.capitalize(fn)) || m.getName().equals("is" + StringUtils.capitalize(fn))).collect(Collectors.toList());
+ java.lang.reflect.Method mutator;
+ java.lang.reflect.Method accessor;
+ if (setters.size() == 1) {
+ mutator = setters.get(0);
+ ft = mutator.getParameterTypes()[0];
+ wft = PRIMITIVE_CLASSES.getOrDefault(ft, ft);
+ isBoolean = ft == boolean.class || ft == Boolean.class;
+ accessor = allGetters.stream()
+ .filter(m -> m.getName().equals("get" + StringUtils.capitalize(fn)) || isBoolean && m.getName().equals("is" + StringUtils.capitalize(fn)))
+ .filter(m -> PRIMITIVE_CLASSES.getOrDefault(m.getReturnType(), m.getReturnType()) == wft).findAny().orElse(null);
+ } else if (field != null) {
+ ft = field.getType();
+ wft = PRIMITIVE_CLASSES.getOrDefault(ft, ft);
+ isBoolean = ft == boolean.class || ft == Boolean.class;
+ mutator = allSetters.stream().filter(m -> m.getName().equals("set" + StringUtils.capitalize(fn)))
+ .filter(m -> PRIMITIVE_CLASSES.getOrDefault(m.getParameterTypes()[0], m.getParameterTypes()[0]) == wft).findAny().orElse(null);
+ accessor = allGetters.stream()
+ .filter(m -> m.getName().equals("get" + StringUtils.capitalize(fn)) || isBoolean && m.getName().equals("is" + StringUtils.capitalize(fn)))
+ .filter(m -> PRIMITIVE_CLASSES.getOrDefault(m.getReturnType(), m.getReturnType()) == wft).findAny().orElse(null);
+ } else {
+ if (getters.size() == 1) {
+ ft = getters.get(0).getReturnType();
+ } else {
+ throw new IllegalStateException("Unable to determine type for property " + fn);
+ }
+ wft = PRIMITIVE_CLASSES.getOrDefault(ft, ft);
+ mutator = setters.stream().filter(m -> PRIMITIVE_CLASSES.getOrDefault(m.getParameterTypes()[0], m.getParameterTypes()[0]) == wft).findAny().orElse(null);
+ accessor = getters.stream().filter(m -> PRIMITIVE_CLASSES.getOrDefault(m.getReturnType(), m.getReturnType()) == wft).findAny().orElse(null);
+ }
+ if (mutator == null) {
+ throw new IllegalStateException("Could not find mutator for property " + fn);
+ }
+ Property property = nestedType.addProperty(new GenericType(wft), fn);
+ property.getMutator().getJavaDoc().setText(getSetterJavaDoc(sourceCode, fn));
+ for (java.lang.annotation.Annotation ann : mutator.getAnnotations()) {
+ addAnnotation(ac -> property.getMutator().addAnnotation(ac), ann);
+ }
+ if (accessor != null) {
+ for (java.lang.annotation.Annotation ann : accessor.getAnnotations()) {
+ addAnnotation(ac -> property.getAccessor().addAnnotation(ac), ann);
+ }
+ } else {
+ property.removeAccessor();
+ }
+ if (field != null) {
+ for (java.lang.annotation.Annotation ann : field.getAnnotations()) {
+ addAnnotation(ac -> property.getField().addAnnotation(ac), ann);
+ }
+ } else {
+ property.removeField();
+ }
+ });
return nestedType;
} catch (ClassNotFoundException e) {
return null;
@@ -944,7 +956,7 @@ public class SpringBootAutoConfigurationMojo extends AbstractSpringBootGenerator
if (idx > 0) {
sourceCode = sourceCode.substring(0, idx);
List<String> lines = Stream.of(sourceCode.split("\n")).map(String::trim).map(s -> s.startsWith("*") ? s.substring(1) : s).map(String::trim)
- .filter(s -> !s.isEmpty()).collect(Collectors.toList());
+ .filter(s -> !s.isEmpty()).collect(Collectors.toList());
int lastLine = 0;
while (lastLine < lines.size()) {
if (lines.get(lastLine).startsWith("@")) {
@@ -985,8 +997,8 @@ public class SpringBootAutoConfigurationMojo extends AbstractSpringBootGenerator
if ("netty-http".equals(model.getScheme())) {
String name = option.getName();
if (name.equals("textline") || name.equals("delimiter") || name.equals("autoAppendDelimiter") || name.equals("decoderMaxLineLength") || name.equals("encoding")
- || name.equals("allowDefaultCodec") || name.equals("udpConnectionlessSending") || name.equals("networkInterface") || name.equals("clientMode")
- || name.equals("reconnect") || name.equals("reconnectInterval") || name.equals("useByteBuf") || name.equals("udpByteArrayCodec") || name.equals("broadcast")) {
+ || name.equals("allowDefaultCodec") || name.equals("udpConnectionlessSending") || name.equals("networkInterface") || name.equals("clientMode")
+ || name.equals("reconnect") || name.equals("reconnectInterval") || name.equals("useByteBuf") || name.equals("udpByteArrayCodec") || name.equals("broadcast")) {
return true;
}
}
@@ -1142,8 +1154,8 @@ public class SpringBootAutoConfigurationMojo extends AbstractSpringBootGenerator
} else if ("tokenize".equals(model.getName())) {
// and skip following as they are not global options
if ("token".equals(option.getName()) || "endToken".equals(option.getName()) || "inheritNamespaceTagName".equals(option.getName())
- || "headerName".equals(option.getName()) || "regex".equals(option.getName()) || "xml".equals(option.getName()) || "includeTokens".equals(option.getName())
- || "group".equals(option.getName()) || "skipFirst".equals(option.getName())) {
+ || "headerName".equals(option.getName()) || "regex".equals(option.getName()) || "xml".equals(option.getName()) || "includeTokens".equals(option.getName())
+ || "group".equals(option.getName()) || "skipFirst".equals(option.getName())) {
continue;
}
} else if ("xtokenize".equals(model.getName())) {
@@ -1226,14 +1238,14 @@ public class SpringBootAutoConfigurationMojo extends AbstractSpringBootGenerator
return getProjectClassLoader().generateDummyClass(clazzName);
}
- private void createComponentAutoConfigurationSource(String packageName, ComponentModel model, String overrideName)
- throws MojoFailureException {
+ private void createComponentAutoConfigurationSource(String packageName, ComponentModel model, String overrideName, boolean complexOptions)
+ throws MojoFailureException {
final String name = model.getJavaType().substring(model.getJavaType().lastIndexOf(".") + 1).replace("Component", "ComponentAutoConfiguration");
final String configurationName = name.replace("ComponentAutoConfiguration", "ComponentConfiguration");
final String componentName = (overrideName != null ? overrideName : model.getScheme()).toLowerCase(Locale.US);
final Class<?> configClass = generateDummyClass(packageName + "." + configurationName);
- final JavaClass javaClass = new JavaClass(getProjectClassLoader());
+ JavaClass javaClass = new JavaClass(getProjectClassLoader());
javaClass.setPackage(packageName);
javaClass.setName(name);
@@ -1243,14 +1255,15 @@ public class SpringBootAutoConfigurationMojo extends AbstractSpringBootGenerator
javaClass.addAnnotation(AutoConfigureAfter.class).setLiteralValue("CamelAutoConfiguration.class");
javaClass.addAnnotation(Conditional.class).setLiteralValue("ConditionalOnCamelContextAndAutoConfigurationBeans.class");
javaClass.addAnnotation(EnableConfigurationProperties.class)
- .setLiteralValue("{ComponentConfigurationProperties.class," + configurationName + ".class}");
+ .setLiteralValue("{ComponentConfigurationProperties.class," + configurationName + ".class}");
javaClass.addAnnotation("org.apache.camel.spring.boot.util.ConditionalOnHierarchicalProperties")
- .setStringArrayValue(
- "value",
- new String[] { "camel.component", "camel.component." + componentName });
+ .setStringArrayValue(
+ "value",
+ new String[]{"camel.component", "camel.component." + componentName});
javaClass.addImport(ApplicationContext.class);
+ javaClass.addImport("org.springframework.boot.convert.ApplicationConversionService");
javaClass.addImport("org.apache.camel.CamelContext");
javaClass.addImport("org.apache.camel.Component");
javaClass.addImport("org.apache.camel.spi.ComponentCustomizer");
@@ -1262,18 +1275,28 @@ public class SpringBootAutoConfigurationMojo extends AbstractSpringBootGenerator
javaClass.addImport(model.getJavaType());
javaClass.addField().setPrivate().setName("applicationContext").setType(ApplicationContext.class).addAnnotation(Autowired.class);
- javaClass.addField().setPrivate().setName("camelContext").setType(loadClass("org.apache.camel.CamelContext")).addAnnotation(Autowired.class);
+ javaClass.addField().setPrivate().setFinal(true).setName("camelContext").setType(loadClass("org.apache.camel.CamelContext"));
javaClass.addField().setPrivate().setName("configuration").setType(configClass).addAnnotation(Autowired.class);
+ String converterClassName = name.replace("ComponentAutoConfiguration", "ComponentConverter");
+ Method ctr = javaClass.addMethod().setConstructor(true).setPublic().setName(name).addParameter("org.apache.camel.CamelContext", "camelContext");
+ if (complexOptions) {
+ ctr.setBody("this.camelContext = camelContext;\n"
+ + "ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();\n"
+ + "acs.addConverter(new " + converterClassName + "(camelContext));\n");
+ } else {
+ ctr.setBody("this.camelContext = camelContext;\n");
+ }
+
// add method for auto configure
String body = createComponentBody(model.getShortJavaType(), componentName);
String methodName = "configure" + model.getShortJavaType();
Method method = javaClass.addMethod()
- .setName(methodName)
- .setPublic()
- .setBody(body)
- .setReturnType(loadType("org.apache.camel.spi.ComponentCustomizer"));
+ .setName(methodName)
+ .setPublic()
+ .setBody(body)
+ .setReturnType(loadType("org.apache.camel.spi.ComponentCustomizer"));
method.addAnnotation(Lazy.class);
method.addAnnotation(Bean.class);
@@ -1284,8 +1307,159 @@ public class SpringBootAutoConfigurationMojo extends AbstractSpringBootGenerator
writeSourceIfChanged(javaClass, fileName, false);
}
- private void createDataFormatAutoConfigurationSource(String packageName, DataFormatModel model, String overrideName)
- throws MojoFailureException {
+ private void createComponentConverterSource(String packageName, ComponentModel model)
+ throws MojoFailureException {
+
+ final String name = model.getJavaType().substring(model.getJavaType().lastIndexOf(".") + 1).replace("Component", "ComponentConverter");
+
+ // create converter class and write source
+ JavaClass javaClass = new JavaClass(getProjectClassLoader());
+ javaClass.setPackage(packageName);
+ javaClass.setName(name);
+ javaClass.getJavaDoc().setFullText("Generated by camel-package-maven-plugin - do not edit this file!");
+ javaClass.addAnnotation(Generated.class).setStringValue("value", SpringBootAutoConfigurationMojo.class.getName());
+ javaClass.addImport("java.util.LinkedHashSet");
+ javaClass.addImport("java.util.Set");
+ javaClass.addImport("org.apache.camel.CamelContext");
+ javaClass.addImport("org.springframework.core.convert.TypeDescriptor");
+ javaClass.addImport("org.springframework.core.convert.converter.GenericConverter");
+
+ javaClass.implementInterface("org.springframework.core.convert.converter.GenericConverter");
+ javaClass.addField().setPrivate().setFinal(true).setName("camelContext").setType(loadClass("org.apache.camel.CamelContext"));
+ javaClass.addMethod().setConstructor(true).setPublic().setName(name).addParameter("org.apache.camel.CamelContext", "camelContext")
+ .setBody("this.camelContext = camelContext;\n");
+
+ String body = createConverterPairBody(model);
+ javaClass.addMethod().setName("getConvertibleTypes").setPublic().setReturnType("Set<ConvertiblePair>")
+ .setBody(body);
+ body = createConvertBody(model);
+ javaClass.addMethod().setName("convert").setPublic().setReturnType("Object")
+ .addParameter("Object", "source")
+ .addParameter("TypeDescriptor", "sourceType")
+ .addParameter("TypeDescriptor", "targetType")
+ .setBody(body);
+ sortImports(javaClass);
+
+ String fileName = packageName.replaceAll("\\.", "\\/") + "/" + name + ".java";
+ writeSourceIfChanged(javaClass, fileName, false);
+ }
+
+ private String createConvertBody(ComponentModel model) {
+ StringBuilder sb = new StringBuilder();
+ sb.append("if (source == null) {\n");
+ sb.append(" return null;\n");
+ sb.append("}\n");
+ sb.append("String ref = source.toString();\n");
+ sb.append("if (!ref.startsWith(\"#\")) {\n");
+ sb.append(" return null;\n");
+ sb.append("}\n");
+ sb.append("ref = ref.startsWith(\"#bean:\") ? ref.substring(6) : ref.substring(1);\n");
+ sb.append("switch (targetType.getName()) {\n");
+ for (ComponentOptionModel option : model.getComponentOptions()) {
+ // is it a complex type
+ if (isComplexType(option)) {
+ String type = getJavaType(option);
+ sb.append(" case \"").append(type).append("\": return camelContext.getRegistry().lookupByNameAndType(ref, ").append(type).append(".class);\n");
+ }
+ }
+ sb.append("}\n");
+ sb.append("return null;\n");
+ return sb.toString();
+ }
+
+ private String createConvertBody(DataFormatModel model) {
+ StringBuilder sb = new StringBuilder();
+ sb.append("if (source == null) {\n");
+ sb.append(" return null;\n");
+ sb.append("}\n");
+ sb.append("String ref = source.toString();\n");
+ sb.append("if (!ref.startsWith(\"#\")) {\n");
+ sb.append(" return null;\n");
+ sb.append("}\n");
+ sb.append("ref = ref.startsWith(\"#bean:\") ? ref.substring(6) : ref.substring(1);\n");
+ sb.append("switch (targetType.getName()) {\n");
+ for (DataFormatOptionModel option : model.getOptions()) {
+ // is it a complex type
+ if (isComplexType(option)) {
+ String type = getJavaType(option);
+ sb.append(" case \"").append(type).append("\": return camelContext.getRegistry().lookupByNameAndType(ref, ").append(type).append(".class);\n");
+ }
+ }
+ sb.append("}\n");
+ sb.append("return null;\n");
+ return sb.toString();
+ }
+
+ private String createConvertBody(LanguageModel model) {
+ StringBuilder sb = new StringBuilder();
+ sb.append("if (source == null) {\n");
+ sb.append(" return null;\n");
+ sb.append("}\n");
+ sb.append("String ref = source.toString();\n");
+ sb.append("if (!ref.startsWith(\"#\")) {\n");
+ sb.append(" return null;\n");
+ sb.append("}\n");
+ sb.append("ref = ref.startsWith(\"#bean:\") ? ref.substring(6) : ref.substring(1);\n");
+ sb.append("switch (targetType.getName()) {\n");
+ for (LanguageOptionModel option : model.getOptions()) {
+ // is it a complex type
+ if (isComplexType(option)) {
+ String type = getJavaType(option);
+ sb.append(" case \"").append(type).append("\": return camelContext.getRegistry().lookupByNameAndType(ref, ").append(type).append(".class);\n");
+ }
+ }
+ sb.append("}\n");
+ sb.append("return null;\n");
+ return sb.toString();
+ }
+
+ private String createConverterPairBody(ComponentModel model) {
+ StringBuilder sb = new StringBuilder();
+ sb.append("Set<ConvertiblePair> answer = new LinkedHashSet<>();\n");
+ for (ComponentOptionModel option : model.getComponentOptions()) {
+ // is it a complex type
+ if (isComplexType(option)) {
+ sb.append("answer.add(new ConvertiblePair(String.class, ");
+ sb.append(option.getJavaType());
+ sb.append(".class));\n");
+ }
+ }
+ sb.append("return answer;\n");
+ return sb.toString();
+ }
+
+ private String createConverterPairBody(DataFormatModel model) {
+ StringBuilder sb = new StringBuilder();
+ sb.append("Set<ConvertiblePair> answer = new LinkedHashSet<>();\n");
+ for (DataFormatOptionModel option : model.getOptions()) {
+ // is it a complex type
+ if (isComplexType(option)) {
+ sb.append("answer.add(new ConvertiblePair(String.class, ");
+ sb.append(option.getJavaType());
+ sb.append(".class));\n");
+ }
+ }
+ sb.append("return answer;\n");
+ return sb.toString();
+ }
+
+ private String createConverterPairBody(LanguageModel model) {
+ StringBuilder sb = new StringBuilder();
+ sb.append("Set<ConvertiblePair> answer = new LinkedHashSet<>();\n");
+ for (LanguageOptionModel option : model.getOptions()) {
+ // is it a complex type
+ if (isComplexType(option)) {
+ sb.append("answer.add(new ConvertiblePair(String.class, ");
+ sb.append(option.getJavaType());
+ sb.append(".class));\n");
+ }
+ }
+ sb.append("return answer;\n");
+ return sb.toString();
+ }
+
+ private void createDataFormatAutoConfigurationSource(String packageName, DataFormatModel model, String overrideName, boolean complexOptions)
+ throws MojoFailureException {
final String name = model.getJavaType().substring(model.getJavaType().lastIndexOf(".") + 1).replace("DataFormat", "DataFormatAutoConfiguration");
final String configurationName = name.replace("DataFormatAutoConfiguration", "DataFormatConfiguration");
@@ -1301,14 +1475,15 @@ public class SpringBootAutoConfigurationMojo extends AbstractSpringBootGenerator
javaClass.addAnnotation(AutoConfigureAfter.class).setLiteralValue("CamelAutoConfiguration.class");
javaClass.addAnnotation(Conditional.class).setLiteralValue("ConditionalOnCamelContextAndAutoConfigurationBeans.class");
javaClass.addAnnotation(EnableConfigurationProperties.class)
- .setLiteralValue("{DataFormatConfigurationProperties.class," + configurationName + ".class}");
+ .setLiteralValue("{DataFormatConfigurationProperties.class," + configurationName + ".class}");
javaClass.addAnnotation("org.apache.camel.spring.boot.util.ConditionalOnHierarchicalProperties")
- .setStringArrayValue(
- "value",
- new String[] { "camel.dataformat", "camel.dataformat." + dataformatName });
+ .setStringArrayValue(
+ "value",
+ new String[]{"camel.dataformat", "camel.dataformat." + dataformatName});
javaClass.addImport(ApplicationContext.class);
+ javaClass.addImport("org.springframework.boot.convert.ApplicationConversionService");
javaClass.addImport("org.apache.camel.CamelContext");
javaClass.addImport("org.apache.camel.spring.boot.CamelAutoConfiguration");
javaClass.addImport("org.apache.camel.spring.boot.DataFormatConfigurationProperties");
@@ -1320,17 +1495,27 @@ public class SpringBootAutoConfigurationMojo extends AbstractSpringBootGenerator
javaClass.addImport(model.getJavaType());
javaClass.addField().setPrivate().setName("applicationContext").setType(ApplicationContext.class).addAnnotation(Autowired.class);
- javaClass.addField().setPrivate().setName("camelContext").setType(loadType("org.apache.camel.CamelContext")).addAnnotation(Autowired.class);
+ javaClass.addField().setPrivate().setFinal(true).setName("camelContext").setType(loadClass("org.apache.camel.CamelContext"));
javaClass.addField().setPrivate().setName("configuration").setType(configClass).addAnnotation(Autowired.class);
+ String converterClassName = name.replace("DataFormatAutoConfiguration", "DataFormatConverter");
+ Method ctr = javaClass.addMethod().setConstructor(true).setPublic().setName(name).addParameter("org.apache.camel.CamelContext", "camelContext");
+ if (complexOptions) {
+ ctr.setBody("this.camelContext = camelContext;\n"
+ + "ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();\n"
+ + "acs.addConverter(new " + converterClassName + "(camelContext));\n");
+ } else {
+ ctr.setBody("this.camelContext = camelContext;\n");
+ }
+
String body = createDataFormatBody(model.getShortJavaType(), dataformatName);
String methodName = "configure" + model.getShortJavaType() + "Factory";
Method method = javaClass.addMethod()
- .setName(methodName)
- .setPublic()
- .setBody(body)
- .setReturnType(loadType("org.apache.camel.spi.DataFormatCustomizer"));
+ .setName(methodName)
+ .setPublic()
+ .setBody(body)
+ .setReturnType(loadType("org.apache.camel.spi.DataFormatCustomizer"));
method.addAnnotation(Lazy.class);
method.addAnnotation(Bean.class);
@@ -1341,8 +1526,45 @@ public class SpringBootAutoConfigurationMojo extends AbstractSpringBootGenerator
writeSourceIfChanged(javaClass, fileName, false);
}
- private void createLanguageAutoConfigurationSource(String packageName, LanguageModel model, String overrideName)
- throws MojoFailureException {
+ private void createDataFormatConverterSource(String packageName, DataFormatModel model)
+ throws MojoFailureException {
+
+ final String name = model.getJavaType().substring(model.getJavaType().lastIndexOf(".") + 1).replace("DataFormat", "DataFormatConverter");
+
+ // create converter class and write source
+ JavaClass javaClass = new JavaClass(getProjectClassLoader());
+ javaClass.setPackage(packageName);
+ javaClass.setName(name);
+ javaClass.getJavaDoc().setFullText("Generated by camel-package-maven-plugin - do not edit this file!");
+ javaClass.addAnnotation(Generated.class).setStringValue("value", SpringBootAutoConfigurationMojo.class.getName());
+ javaClass.addImport("java.util.LinkedHashSet");
+ javaClass.addImport("java.util.Set");
+ javaClass.addImport("org.apache.camel.CamelContext");
+ javaClass.addImport("org.springframework.core.convert.TypeDescriptor");
+ javaClass.addImport("org.springframework.core.convert.converter.GenericConverter");
+
+ javaClass.implementInterface("org.springframework.core.convert.converter.GenericConverter");
+ javaClass.addField().setPrivate().setFinal(true).setName("camelContext").setType(loadClass("org.apache.camel.CamelContext"));
+ javaClass.addMethod().setConstructor(true).setPublic().setPublic().setName(name).addParameter("org.apache.camel.CamelContext", "camelContext")
+ .setBody("this.camelContext = camelContext;\n");
+
+ String body = createConverterPairBody(model);
+ javaClass.addMethod().setName("getConvertibleTypes").setPublic().setReturnType("Set<ConvertiblePair>")
+ .setBody(body);
+ body = createConvertBody(model);
+ javaClass.addMethod().setName("convert").setPublic().setReturnType("Object")
+ .addParameter("Object", "source")
+ .addParameter("TypeDescriptor", "sourceType")
+ .addParameter("TypeDescriptor", "targetType")
+ .setBody(body);
+ sortImports(javaClass);
+
+ String fileName = packageName.replaceAll("\\.", "\\/") + "/" + name + ".java";
+ writeSourceIfChanged(javaClass, fileName, false);
+ }
+
+ private void createLanguageAutoConfigurationSource(String packageName, LanguageModel model, String overrideName, boolean complexOptions)
+ throws MojoFailureException {
final String name = model.getJavaType().substring(model.getJavaType().lastIndexOf(".") + 1).replace("Language", "LanguageAutoConfiguration");
final String configurationName = name.replace("LanguageAutoConfiguration", "LanguageConfiguration");
@@ -1358,14 +1580,15 @@ public class SpringBootAutoConfigurationMojo extends AbstractSpringBootGenerator
javaClass.addAnnotation(AutoConfigureAfter.class).setLiteralValue("CamelAutoConfiguration.class");
javaClass.addAnnotation(Conditional.class).setLiteralValue("ConditionalOnCamelContextAndAutoConfigurationBeans.class");
javaClass.addAnnotation(EnableConfigurationProperties.class)
- .setLiteralValue("{LanguageConfigurationProperties.class," + configurationName + ".class}");
+ .setLiteralValue("{LanguageConfigurationProperties.class," + configurationName + ".class}");
javaClass.addAnnotation("org.apache.camel.spring.boot.util.ConditionalOnHierarchicalProperties")
- .setStringArrayValue(
- "value",
- new String[] { "camel.language", "camel.language." + languageName });
+ .setStringArrayValue(
+ "value",
+ new String[]{"camel.language", "camel.language." + languageName});
javaClass.addImport(ApplicationContext.class);
+ javaClass.addImport("org.springframework.boot.convert.ApplicationConversionService");
javaClass.addImport("org.apache.camel.CamelContext");
javaClass.addImport("org.apache.camel.spring.boot.CamelAutoConfiguration");
javaClass.addImport("org.apache.camel.spring.boot.LanguageConfigurationProperties");
@@ -1377,17 +1600,27 @@ public class SpringBootAutoConfigurationMojo extends AbstractSpringBootGenerator
javaClass.addImport(model.getJavaType());
javaClass.addField().setPrivate().setName("applicationContext").setType(ApplicationContext.class).addAnnotation(Autowired.class);
- javaClass.addField().setPrivate().setName("camelContext").setType(loadType("org.apache.camel.CamelContext")).addAnnotation(Autowired.class);
+ javaClass.addField().setPrivate().setFinal(true).setName("camelContext").setType(loadClass("org.apache.camel.CamelContext"));
javaClass.addField().setPrivate().setName("configuration").setType(configClass).addAnnotation(Autowired.class);
+ String converterClassName = name.replace("LanguageAutoConfiguration", "LanguageConverter");
+ Method ctr = javaClass.addMethod().setConstructor(true).setPublic().setName(name).addParameter("org.apache.camel.CamelContext", "camelContext");
+ if (complexOptions) {
+ ctr.setBody("this.camelContext = camelContext;\n"
+ + "ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();\n"
+ + "acs.addConverter(new " + converterClassName + "(camelContext));\n");
+ } else {
+ ctr.setBody("this.camelContext = camelContext;\n");
+ }
+
String body = createLanguageBody(model.getShortJavaType(), languageName);
String methodName = "configure" + model.getShortJavaType();
Method method = javaClass.addMethod()
- .setName(methodName)
- .setPublic()
- .setBody(body)
- .setReturnType("org.apache.camel.spi.LanguageCustomizer");
+ .setName(methodName)
+ .setPublic()
+ .setBody(body)
+ .setReturnType("org.apache.camel.spi.LanguageCustomizer");
method.addAnnotation(Lazy.class);
method.addAnnotation(Bean.class);
@@ -1404,6 +1637,43 @@ public class SpringBootAutoConfigurationMojo extends AbstractSpringBootGenerator
writeComponentSpringFactorySource(packageName, name);
}
+ private void createLanguageConverterSource(String packageName, LanguageModel model)
+ throws MojoFailureException {
+
+ final String name = model.getJavaType().substring(model.getJavaType().lastIndexOf(".") + 1).replace("Language", "LanguageConverter");
+
+ // create converter class and write source
+ JavaClass javaClass = new JavaClass(getProjectClassLoader());
+ javaClass.setPackage(packageName);
+ javaClass.setName(name);
+ javaClass.getJavaDoc().setFullText("Generated by camel-package-maven-plugin - do not edit this file!");
+ javaClass.addAnnotation(Generated.class).setStringValue("value", SpringBootAutoConfigurationMojo.class.getName());
+ javaClass.addImport("java.util.LinkedHashSet");
+ javaClass.addImport("java.util.Set");
+ javaClass.addImport("org.apache.camel.CamelContext");
+ javaClass.addImport("org.springframework.core.convert.TypeDescriptor");
+ javaClass.addImport("org.springframework.core.convert.converter.GenericConverter");
+
+ javaClass.implementInterface("org.springframework.core.convert.converter.GenericConverter");
+ javaClass.addField().setPrivate().setFinal(true).setName("camelContext").setType(loadClass("org.apache.camel.CamelContext"));
+ javaClass.addMethod().setConstructor(true).setPublic().setName(name).addParameter("org.apache.camel.CamelContext", "camelContext")
+ .setBody("this.camelContext = camelContext;\n");
+
+ String body = createConverterPairBody(model);
+ javaClass.addMethod().setName("getConvertibleTypes").setPublic().setReturnType("Set<ConvertiblePair>")
+ .setBody(body);
+ body = createConvertBody(model);
+ javaClass.addMethod().setName("convert").setPublic().setReturnType("Object")
+ .addParameter("Object", "source")
+ .addParameter("TypeDescriptor", "sourceType")
+ .addParameter("TypeDescriptor", "targetType")
+ .setBody(body);
+ sortImports(javaClass);
+
+ String fileName = packageName.replaceAll("\\.", "\\/") + "/" + name + ".java";
+ writeSourceIfChanged(javaClass, fileName, false);
+ }
+
private void createDataFormatSpringFactorySource(String packageName, DataFormatModel model) throws MojoFailureException {
int pos = model.getJavaType().lastIndexOf(".");
String name = model.getJavaType().substring(pos + 1);
@@ -1422,59 +1692,59 @@ public class SpringBootAutoConfigurationMojo extends AbstractSpringBootGenerator
private static String createComponentBody(String shortJavaType, String name) {
return new StringBuilder()
- .append("return new ComponentCustomizer() {\n")
- .append(" @Override\n")
- .append(" public void configure(String name, Component target) {\n")
- .append(" CamelPropertiesHelper.copyProperties(camelContext, configuration, target);\n")
- .append(" }\n")
- .append(" @Override\n")
- .append(" public boolean isEnabled(String name, Component target) {\n")
- .append(" return HierarchicalPropertiesEvaluator.evaluate(\n")
- .append(" applicationContext,\n")
- .append(" \"camel.component.customizer\",\n")
- .append(" \"camel.component.").append(name).append(".customizer\")\n")
- .append(" && target instanceof ").append(shortJavaType).append(";\n")
- .append(" }\n")
- .append("};\n")
- .toString();
+ .append("return new ComponentCustomizer() {\n")
+ .append(" @Override\n")
+ .append(" public void configure(String name, Component target) {\n")
+ .append(" CamelPropertiesHelper.copyProperties(camelContext, configuration, target);\n")
+ .append(" }\n")
+ .append(" @Override\n")
+ .append(" public boolean isEnabled(String name, Component target) {\n")
+ .append(" return HierarchicalPropertiesEvaluator.evaluate(\n")
+ .append(" applicationContext,\n")
+ .append(" \"camel.component.customizer\",\n")
+ .append(" \"camel.component.").append(name).append(".customizer\")\n")
+ .append(" && target instanceof ").append(shortJavaType).append(";\n")
+ .append(" }\n")
+ .append("};\n")
+ .toString();
}
private static String createDataFormatBody(String shortJavaType, String name) {
return new StringBuilder()
- .append("return new DataFormatCustomizer() {\n")
- .append(" @Override\n")
- .append(" public void configure(String name, DataFormat target) {\n")
- .append(" CamelPropertiesHelper.copyProperties(camelContext, configuration, target);\n")
- .append(" }\n")
- .append(" @Override\n")
- .append(" public boolean isEnabled(String name, DataFormat target) {\n")
- .append(" return HierarchicalPropertiesEvaluator.evaluate(\n")
- .append(" applicationContext,\n")
- .append(" \"camel.dataformat.customizer\",\n")
- .append(" \"camel.dataformat.").append(name).append(".customizer\")\n")
- .append(" && target instanceof ").append(shortJavaType).append(";\n")
- .append(" }\n")
- .append("};\n")
- .toString();
+ .append("return new DataFormatCustomizer() {\n")
+ .append(" @Override\n")
+ .append(" public void configure(String name, DataFormat target) {\n")
+ .append(" CamelPropertiesHelper.copyProperties(camelContext, configuration, target);\n")
+ .append(" }\n")
+ .append(" @Override\n")
+ .append(" public boolean isEnabled(String name, DataFormat target) {\n")
+ .append(" return HierarchicalPropertiesEvaluator.evaluate(\n")
+ .append(" applicationContext,\n")
+ .append(" \"camel.dataformat.customizer\",\n")
+ .append(" \"camel.dataformat.").append(name).append(".customizer\")\n")
+ .append(" && target instanceof ").append(shortJavaType).append(";\n")
+ .append(" }\n")
+ .append("};\n")
+ .toString();
}
private static String createLanguageBody(String shortJavaType, String name) {
return new StringBuilder()
- .append("return new LanguageCustomizer() {\n")
- .append(" @Override\n")
- .append(" public void configure(String name, Language target) {\n")
- .append(" CamelPropertiesHelper.copyProperties(camelContext, configuration, target);\n")
- .append(" }\n")
- .append(" @Override\n")
- .append(" public boolean isEnabled(String name, Language target) {\n")
- .append(" return HierarchicalPropertiesEvaluator.evaluate(\n")
- .append(" applicationContext,\n")
- .append(" \"camel.language.customizer\",\n")
- .append(" \"camel.language.").append(name).append(".customizer\")\n")
- .append(" && target instanceof ").append(shortJavaType).append(";\n")
- .append(" }\n")
- .append("};\n")
- .toString();
+ .append("return new LanguageCustomizer() {\n")
+ .append(" @Override\n")
+ .append(" public void configure(String name, Language target) {\n")
+ .append(" CamelPropertiesHelper.copyProperties(camelContext, configuration, target);\n")
+ .append(" }\n")
+ .append(" @Override\n")
+ .append(" public boolean isEnabled(String name, Language target) {\n")
+ .append(" return HierarchicalPropertiesEvaluator.evaluate(\n")
+ .append(" applicationContext,\n")
+ .append(" \"camel.language.customizer\",\n")
+ .append(" \"camel.language.").append(name).append(".customizer\")\n")
+ .append(" && target instanceof ").append(shortJavaType).append(";\n")
+ .append(" }\n")
+ .append("};\n")
+ .toString();
}
private static void sortImports(JavaClass importer) {
@@ -1482,6 +1752,35 @@ public class SpringBootAutoConfigurationMojo extends AbstractSpringBootGenerator
// do nothing, as imports are sorted automatically when displayed
}
+ private static String getJavaType(ComponentOptionModel option) {
+ // type may contain generics so remove those
+ String type = option.getJavaType();
+ if (type.indexOf('<') != -1) {
+ type = type.substring(0, type.indexOf('<'));
+ }
+ type = type.replace('$', '.');
+ return type;
+ }
+
+ private static String getJavaType(DataFormatOptionModel option) {
+ // type may contain generics so remove those
+ String type = option.getJavaType();
+ if (type.indexOf('<') != -1) {
+ type = type.substring(0, type.indexOf('<'));
+ }
+ type = type.replace('$', '.');
+ return type;
+ }
+
+ private static String getJavaType(LanguageOptionModel option) {
+ // type may contain generics so remove those
+ String type = option.getJavaType();
+ if (type.indexOf('<') != -1) {
+ type = type.substring(0, type.indexOf('<'));
+ }
+ type = type.replace('$', '.');
+ return type;
+ }
private void findComponentNames(Set<String> componentNames) {
componentJar.stream()
[camel-spring-boot] 02/06: CAMEL-15766: camel-spring-boot - Support
complex types to be referenced via # lookup from configuration files.
Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel-spring-boot.git
commit afe820e274cebef16ab514a7850445d77a6aa28e
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Mon Nov 16 10:36:25 2020 +0100
CAMEL-15766: camel-spring-boot - Support complex types to be referenced via # lookup from configuration files.
---
.../maven/SpringBootAutoConfigurationMojo.java | 21 +++++++++++++++------
1 file changed, 15 insertions(+), 6 deletions(-)
diff --git a/tooling/camel-spring-boot-generator-maven-plugin/src/main/java/org/apache/camel/springboot/maven/SpringBootAutoConfigurationMojo.java b/tooling/camel-spring-boot-generator-maven-plugin/src/main/java/org/apache/camel/springboot/maven/SpringBootAutoConfigurationMojo.java
index c06b896..2a75ff7 100644
--- a/tooling/camel-spring-boot-generator-maven-plugin/src/main/java/org/apache/camel/springboot/maven/SpringBootAutoConfigurationMojo.java
+++ b/tooling/camel-spring-boot-generator-maven-plugin/src/main/java/org/apache/camel/springboot/maven/SpringBootAutoConfigurationMojo.java
@@ -706,7 +706,7 @@ public class SpringBootAutoConfigurationMojo extends AbstractSpringBootGenerator
}
if (!Strings.isNullOrEmpty(option.getDescription())) {
String desc = option.getDescription();
- boolean complex = isComplexType(option) && isBlank(option.getEnums());
+ boolean complex = isComplexTypeOrDuration(option) && isBlank(option.getEnums());
if (complex) {
if (!desc.endsWith(".")) {
desc = desc + ".";
@@ -719,7 +719,7 @@ public class SpringBootAutoConfigurationMojo extends AbstractSpringBootGenerator
if ("java.lang.String".equals(option.getJavaType())) {
prop.getField().setStringInitializer(option.getDefaultValue().toString());
} else if ("duration".equals(option.getType())) {
- String value = convertDurationToMillisec(option.getDefaultValue().toString());
+ String value = convertDurationToMills(option.getDefaultValue().toString());
// duration is either long or int java type
if ("long".equals(option.getJavaType()) || "java.lang.Long".equals(option.getJavaType())) {
value = value + "L";
@@ -744,10 +744,10 @@ public class SpringBootAutoConfigurationMojo extends AbstractSpringBootGenerator
writeSourceIfChanged(javaClass, fileName, true);
}
- private String convertDurationToMillisec(String pattern) {
- String value = null;
+ private String convertDurationToMills(String pattern) {
+ String value;
pattern = pattern.toLowerCase();
- if (pattern.indexOf("ms") != -1) {
+ if (pattern.contains("ms")) {
pattern = pattern.replaceAll("ms", "");
}
try {
@@ -769,7 +769,7 @@ public class SpringBootAutoConfigurationMojo extends AbstractSpringBootGenerator
}
}
- private boolean isComplexType(ComponentOptionModel option) {
+ private boolean isComplexTypeOrDuration(ComponentOptionModel option) {
// we can configure map/list/set types from spring-boot so do not regard them as complex
if (option.getJavaType().startsWith("java.util.Map") || option.getJavaType().startsWith("java.util.List") || option.getJavaType().startsWith("java.util.Set")) {
return false;
@@ -778,6 +778,15 @@ public class SpringBootAutoConfigurationMojo extends AbstractSpringBootGenerator
return "object".equals(option.getType()) || "duration".equals(option.getType());
}
+ private boolean isComplexType(ComponentOptionModel option) {
+ // we can configure map/list/set types from spring-boot so do not regard them as complex
+ if (option.getJavaType().startsWith("java.util.Map") || option.getJavaType().startsWith("java.util.List") || option.getJavaType().startsWith("java.util.Set")) {
+ return false;
+ }
+ // all the object types are complex
+ return "object".equals(option.getType());
+ }
+
private boolean isComplexType(DataFormatOptionModel option) {
// we can configure map/list/set types from spring-boot so do not regard them as complex
if (option.getJavaType().startsWith("java.util.Map") || option.getJavaType().startsWith("java.util.List") || option.getJavaType().startsWith("java.util.Set")) {
[camel-spring-boot] 04/06: CAMEL-15766: camel-spring-boot - Support
complex types to be referenced via # lookup from configuration files.
Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel-spring-boot.git
commit e5afb3e42fadbe82f2258edc5294352339257243
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Mon Nov 16 14:53:32 2020 +0100
CAMEL-15766: camel-spring-boot - Support complex types to be referenced via # lookup from configuration files.
---
.../springboot/maven/SpringBootAutoConfigurationMojo.java | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/tooling/camel-spring-boot-generator-maven-plugin/src/main/java/org/apache/camel/springboot/maven/SpringBootAutoConfigurationMojo.java b/tooling/camel-spring-boot-generator-maven-plugin/src/main/java/org/apache/camel/springboot/maven/SpringBootAutoConfigurationMojo.java
index 95229ac..6edaea2 100644
--- a/tooling/camel-spring-boot-generator-maven-plugin/src/main/java/org/apache/camel/springboot/maven/SpringBootAutoConfigurationMojo.java
+++ b/tooling/camel-spring-boot-generator-maven-plugin/src/main/java/org/apache/camel/springboot/maven/SpringBootAutoConfigurationMojo.java
@@ -1366,7 +1366,7 @@ public class SpringBootAutoConfigurationMojo extends AbstractSpringBootGenerator
sb.append("ref = ref.startsWith(\"#bean:\") ? ref.substring(6) : ref.substring(1);\n");
sb.append("switch (targetType.getName()) {\n");
// we need complex types only which unique types only
- Stream<String> s = model.getComponentOptions().stream().filter(this::isComplexType).map(BaseOptionModel::getJavaType).distinct();
+ Stream<String> s = model.getComponentOptions().stream().filter(this::isComplexType).map(SpringBootAutoConfigurationMojo::getJavaType).distinct();
s.forEach(type -> {
sb.append(" case \"").append(type).append("\": return camelContext.getRegistry().lookupByNameAndType(ref, ").append(type).append(".class);\n");
});
@@ -1387,7 +1387,7 @@ public class SpringBootAutoConfigurationMojo extends AbstractSpringBootGenerator
sb.append("ref = ref.startsWith(\"#bean:\") ? ref.substring(6) : ref.substring(1);\n");
sb.append("switch (targetType.getName()) {\n");
// we need complex types only which unique types only
- Stream<String> s = model.getOptions().stream().filter(this::isComplexType).map(BaseOptionModel::getJavaType).distinct();
+ Stream<String> s = model.getOptions().stream().filter(this::isComplexType).map(SpringBootAutoConfigurationMojo::getJavaType).distinct();
s.forEach(type -> {
sb.append(" case \"").append(type).append("\": return camelContext.getRegistry().lookupByNameAndType(ref, ").append(type).append(".class);\n");
});
@@ -1408,7 +1408,7 @@ public class SpringBootAutoConfigurationMojo extends AbstractSpringBootGenerator
sb.append("ref = ref.startsWith(\"#bean:\") ? ref.substring(6) : ref.substring(1);\n");
sb.append("switch (targetType.getName()) {\n");
// we need complex types only which unique types only
- Stream<String> s = model.getOptions().stream().filter(this::isComplexType).map(BaseOptionModel::getJavaType).distinct();
+ Stream<String> s = model.getOptions().stream().filter(this::isComplexType).map(SpringBootAutoConfigurationMojo::getJavaType).distinct();
s.forEach(type -> {
sb.append(" case \"").append(type).append("\": return camelContext.getRegistry().lookupByNameAndType(ref, ").append(type).append(".class);\n");
});
@@ -1421,7 +1421,7 @@ public class SpringBootAutoConfigurationMojo extends AbstractSpringBootGenerator
StringBuilder sb = new StringBuilder();
sb.append("Set<ConvertiblePair> answer = new LinkedHashSet<>();\n");
// we need complex types only which unique types only
- Stream<String> s = model.getOptions().stream().filter(this::isComplexType).map(BaseOptionModel::getJavaType).distinct();
+ Stream<String> s = model.getOptions().stream().filter(this::isComplexType).map(SpringBootAutoConfigurationMojo::getJavaType).distinct();
s.forEach(type -> {
sb.append("answer.add(new ConvertiblePair(String.class, ");
sb.append(type);
@@ -1435,7 +1435,7 @@ public class SpringBootAutoConfigurationMojo extends AbstractSpringBootGenerator
StringBuilder sb = new StringBuilder();
sb.append("Set<ConvertiblePair> answer = new LinkedHashSet<>();\n");
// we need complex types only which unique types only
- Stream<String> s = model.getOptions().stream().filter(this::isComplexType).map(BaseOptionModel::getJavaType).distinct();
+ Stream<String> s = model.getOptions().stream().filter(this::isComplexType).map(SpringBootAutoConfigurationMojo::getJavaType).distinct();
s.forEach(type -> {
sb.append("answer.add(new ConvertiblePair(String.class, ");
sb.append(type);
@@ -1449,7 +1449,7 @@ public class SpringBootAutoConfigurationMojo extends AbstractSpringBootGenerator
StringBuilder sb = new StringBuilder();
sb.append("Set<ConvertiblePair> answer = new LinkedHashSet<>();\n");
// we need complex types only which unique types only
- Stream<String> s = model.getOptions().stream().filter(this::isComplexType).map(BaseOptionModel::getJavaType).distinct();
+ Stream<String> s = model.getOptions().stream().filter(this::isComplexType).map(SpringBootAutoConfigurationMojo::getJavaType).distinct();
s.forEach(type -> {
sb.append("answer.add(new ConvertiblePair(String.class, ");
sb.append(type);
[camel-spring-boot] 05/06: CAMEL-15766: Regen
Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel-spring-boot.git
commit 3db0e0d185ad4a8e792cbe05574a0d06601dd868
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Mon Nov 16 14:56:04 2020 +0100
CAMEL-15766: Regen
---
.../ActiveMQComponentAutoConfiguration.java | 11 ++-
.../springboot/ActiveMQComponentConverter.java | 97 ++++++++++++++++++++++
.../springboot/AhcComponentAutoConfiguration.java | 11 ++-
.../ahc/springboot/AhcComponentConverter.java | 71 ++++++++++++++++
.../springboot/WsComponentAutoConfiguration.java | 11 ++-
.../ahc/ws/springboot/WsComponentConverter.java | 71 ++++++++++++++++
.../springboot/AMQPComponentAutoConfiguration.java | 11 ++-
.../amqp/springboot/AMQPComponentConverter.java | 97 ++++++++++++++++++++++
.../Any23DataFormatAutoConfiguration.java | 9 +-
.../springboot/ApnsComponentAutoConfiguration.java | 11 ++-
.../apns/springboot/ApnsComponentConverter.java | 63 ++++++++++++++
.../ArangoDbComponentAutoConfiguration.java | 11 ++-
.../springboot/ArangoDbComponentConverter.java | 65 +++++++++++++++
.../springboot/AS2ComponentAutoConfiguration.java | 11 ++-
.../as2/springboot/AS2ComponentConverter.java | 63 ++++++++++++++
.../ASN1DataFormatAutoConfiguration.java | 9 +-
.../AsteriskComponentAutoConfiguration.java | 9 +-
.../AtlasMapComponentAutoConfiguration.java | 11 ++-
.../springboot/AtlasMapComponentConverter.java | 63 ++++++++++++++
.../AtmosComponentAutoConfiguration.java | 9 +-
.../WebsocketComponentAutoConfiguration.java | 11 ++-
.../springboot/WebsocketComponentConverter.java | 70 ++++++++++++++++
.../springboot/AtomComponentAutoConfiguration.java | 9 +-
.../AtomixMapComponentAutoConfiguration.java | 11 ++-
.../springboot/AtomixMapComponentConverter.java | 74 +++++++++++++++++
.../AtomixMessagingComponentAutoConfiguration.java | 11 ++-
.../AtomixMessagingComponentConverter.java | 74 +++++++++++++++++
.../AtomixMultiMapComponentAutoConfiguration.java | 11 ++-
.../AtomixMultiMapComponentConverter.java | 74 +++++++++++++++++
.../AtomixQueueComponentAutoConfiguration.java | 11 ++-
.../springboot/AtomixQueueComponentConverter.java | 72 ++++++++++++++++
.../AtomixSetComponentAutoConfiguration.java | 11 ++-
.../springboot/AtomixSetComponentConverter.java | 72 ++++++++++++++++
.../AtomixValueComponentAutoConfiguration.java | 11 ++-
.../springboot/AtomixValueComponentConverter.java | 72 ++++++++++++++++
.../springboot/AvroComponentAutoConfiguration.java | 11 ++-
.../avro/springboot/AvroComponentConverter.java | 65 +++++++++++++++
.../AvroDataFormatAutoConfiguration.java | 9 +-
.../springboot/CwComponentAutoConfiguration.java | 11 ++-
.../aws/cw/springboot/CwComponentConverter.java | 67 +++++++++++++++
.../springboot/DdbComponentAutoConfiguration.java | 11 ++-
.../aws/ddb/springboot/DdbComponentConverter.java | 69 +++++++++++++++
.../DdbStreamComponentAutoConfiguration.java | 11 ++-
.../springboot/DdbStreamComponentConverter.java | 72 ++++++++++++++++
.../springboot/EC2ComponentAutoConfiguration.java | 11 ++-
.../aws/ec2/springboot/EC2ComponentConverter.java | 69 +++++++++++++++
.../springboot/ECSComponentAutoConfiguration.java | 11 ++-
.../aws/ecs/springboot/ECSComponentConverter.java | 69 +++++++++++++++
.../springboot/EKSComponentAutoConfiguration.java | 11 ++-
.../aws/eks/springboot/EKSComponentConverter.java | 69 +++++++++++++++
.../springboot/IAMComponentAutoConfiguration.java | 11 ++-
.../aws/iam/springboot/IAMComponentConverter.java | 69 +++++++++++++++
.../KinesisFirehoseComponentAutoConfiguration.java | 11 ++-
.../KinesisFirehoseComponentConverter.java | 68 +++++++++++++++
.../KinesisComponentAutoConfiguration.java | 11 ++-
.../springboot/KinesisComponentConverter.java | 71 ++++++++++++++++
.../springboot/KMSComponentAutoConfiguration.java | 11 ++-
.../aws/kms/springboot/KMSComponentConverter.java | 69 +++++++++++++++
.../LambdaComponentAutoConfiguration.java | 11 ++-
.../springboot/LambdaComponentConverter.java | 69 +++++++++++++++
.../springboot/MQComponentAutoConfiguration.java | 11 ++-
.../aws/mq/springboot/MQComponentConverter.java | 69 +++++++++++++++
.../springboot/MSKComponentAutoConfiguration.java | 11 ++-
.../aws/msk/springboot/MSKComponentConverter.java | 69 +++++++++++++++
.../springboot/S3ComponentAutoConfiguration.java | 11 ++-
.../aws/s3/springboot/S3ComponentConverter.java | 73 ++++++++++++++++
.../springboot/SdbComponentAutoConfiguration.java | 9 +-
.../springboot/SesComponentAutoConfiguration.java | 11 ++-
.../aws/ses/springboot/SesComponentConverter.java | 67 +++++++++++++++
.../springboot/SnsComponentAutoConfiguration.java | 11 ++-
.../aws/sns/springboot/SnsComponentConverter.java | 69 +++++++++++++++
.../springboot/SqsComponentAutoConfiguration.java | 11 ++-
.../aws/sqs/springboot/SqsComponentConverter.java | 69 +++++++++++++++
.../springboot/SWFComponentAutoConfiguration.java | 11 ++-
.../aws/swf/springboot/SWFComponentConverter.java | 75 +++++++++++++++++
.../TranslateComponentAutoConfiguration.java | 11 ++-
.../springboot/TranslateComponentConverter.java | 70 ++++++++++++++++
.../Athena2ComponentAutoConfiguration.java | 11 ++-
.../springboot/Athena2ComponentConverter.java | 73 ++++++++++++++++
.../springboot/Cw2ComponentAutoConfiguration.java | 11 ++-
.../aws2/cw/springboot/Cw2ComponentConverter.java | 69 +++++++++++++++
.../springboot/Ddb2ComponentAutoConfiguration.java | 11 ++-
.../ddb/springboot/Ddb2ComponentConverter.java | 69 +++++++++++++++
.../Ddb2StreamComponentAutoConfiguration.java | 11 ++-
.../springboot/Ddb2StreamComponentConverter.java | 72 ++++++++++++++++
.../AWS2EC2ComponentAutoConfiguration.java | 11 ++-
.../ec2/springboot/AWS2EC2ComponentConverter.java | 69 +++++++++++++++
.../src/main/docs/aws2-ecs-starter.adoc | 3 +-
.../springboot/ECS2ComponentAutoConfiguration.java | 11 ++-
.../ecs/springboot/ECS2ComponentConfiguration.java | 14 ----
.../ecs/springboot/ECS2ComponentConverter.java | 69 +++++++++++++++
.../src/main/docs/aws2-eks-starter.adoc | 3 +-
.../springboot/EKS2ComponentAutoConfiguration.java | 11 ++-
.../eks/springboot/EKS2ComponentConfiguration.java | 14 ----
.../eks/springboot/EKS2ComponentConverter.java | 69 +++++++++++++++
.../EventbridgeComponentAutoConfiguration.java | 11 ++-
.../springboot/EventbridgeComponentConverter.java | 70 ++++++++++++++++
.../springboot/IAM2ComponentAutoConfiguration.java | 11 ++-
.../iam/springboot/IAM2ComponentConverter.java | 69 +++++++++++++++
...KinesisFirehose2ComponentAutoConfiguration.java | 11 ++-
.../KinesisFirehose2ComponentConverter.java | 70 ++++++++++++++++
.../Kinesis2ComponentAutoConfiguration.java | 11 ++-
.../springboot/Kinesis2ComponentConverter.java | 71 ++++++++++++++++
.../springboot/KMS2ComponentAutoConfiguration.java | 11 ++-
.../kms/springboot/KMS2ComponentConverter.java | 69 +++++++++++++++
.../Lambda2ComponentAutoConfiguration.java | 11 ++-
.../springboot/Lambda2ComponentConverter.java | 69 +++++++++++++++
.../springboot/MQ2ComponentAutoConfiguration.java | 11 ++-
.../aws2/mq/springboot/MQ2ComponentConverter.java | 69 +++++++++++++++
.../springboot/MSK2ComponentAutoConfiguration.java | 11 ++-
.../msk/springboot/MSK2ComponentConverter.java | 69 +++++++++++++++
.../AWS2S3ComponentAutoConfiguration.java | 11 ++-
.../s3/springboot/AWS2S3ComponentConverter.java | 69 +++++++++++++++
.../springboot/Ses2ComponentAutoConfiguration.java | 11 ++-
.../ses/springboot/Ses2ComponentConverter.java | 67 +++++++++++++++
.../springboot/Sns2ComponentAutoConfiguration.java | 11 ++-
.../sns/springboot/Sns2ComponentConverter.java | 67 +++++++++++++++
.../springboot/Sqs2ComponentAutoConfiguration.java | 11 ++-
.../sqs/springboot/Sqs2ComponentConverter.java | 69 +++++++++++++++
.../springboot/STS2ComponentAutoConfiguration.java | 11 ++-
.../sts/springboot/STS2ComponentConverter.java | 69 +++++++++++++++
.../Translate2ComponentAutoConfiguration.java | 11 ++-
.../springboot/Translate2ComponentConverter.java | 70 ++++++++++++++++
.../EventHubsComponentAutoConfiguration.java | 11 ++-
.../springboot/EventHubsComponentConverter.java | 74 +++++++++++++++++
.../BlobServiceComponentAutoConfiguration.java | 11 ++-
.../springboot/BlobServiceComponentConverter.java | 72 ++++++++++++++++
.../QueueServiceComponentAutoConfiguration.java | 11 ++-
.../springboot/QueueServiceComponentConverter.java | 70 ++++++++++++++++
.../springboot/BlobComponentAutoConfiguration.java | 11 ++-
.../blob/springboot/BlobComponentConverter.java | 75 +++++++++++++++++
.../QueueComponentAutoConfiguration.java | 11 ++-
.../queue/springboot/QueueComponentConverter.java | 71 ++++++++++++++++
.../BarcodeDataFormatAutoConfiguration.java | 9 +-
.../Base64DataFormatAutoConfiguration.java | 9 +-
.../springboot/BeanComponentAutoConfiguration.java | 11 ++-
.../bean/springboot/BeanComponentConverter.java | 63 ++++++++++++++
.../ClassComponentAutoConfiguration.java | 11 ++-
.../springboot/ClassComponentConverter.java | 63 ++++++++++++++
.../springboot/BeanLanguageAutoConfiguration.java | 9 +-
.../BeanValidatorComponentAutoConfiguration.java | 11 ++-
.../BeanValidatorComponentConverter.java | 72 ++++++++++++++++
.../BeanIODataFormatAutoConfiguration.java | 9 +-
.../BeanstalkComponentAutoConfiguration.java | 11 ++-
.../springboot/BeanstalkComponentConverter.java | 64 ++++++++++++++
.../BindyCsvDataFormatAutoConfiguration.java | 9 +-
...indyFixedLengthDataFormatAutoConfiguration.java | 9 +-
...ndyKeyValuePairDataFormatAutoConfiguration.java | 9 +-
.../BonitaComponentAutoConfiguration.java | 9 +-
.../springboot/BoxComponentAutoConfiguration.java | 11 ++-
.../box/springboot/BoxComponentConverter.java | 69 +++++++++++++++
.../BraintreeComponentAutoConfiguration.java | 11 ++-
.../springboot/BraintreeComponentConverter.java | 64 ++++++++++++++
.../BrowseComponentAutoConfiguration.java | 9 +-
.../CaffeineCacheComponentAutoConfiguration.java | 11 ++-
.../CaffeineCacheComponentConverter.java | 74 +++++++++++++++++
...affeineLoadCacheComponentAutoConfiguration.java | 11 ++-
.../CaffeineLoadCacheComponentConverter.java | 74 +++++++++++++++++
.../CassandraComponentAutoConfiguration.java | 9 +-
.../CBORDataFormatAutoConfiguration.java | 9 +-
.../ChatScriptComponentAutoConfiguration.java | 9 +-
.../ChunkComponentAutoConfiguration.java | 9 +-
.../springboot/CMComponentAutoConfiguration.java | 9 +-
.../springboot/CMISComponentAutoConfiguration.java | 11 ++-
.../cmis/springboot/CMISComponentConverter.java | 63 ++++++++++++++
.../springboot/CoAPComponentAutoConfiguration.java | 9 +-
.../CometdComponentAutoConfiguration.java | 11 ++-
.../springboot/CometdComponentConverter.java | 65 +++++++++++++++
.../ConsulComponentAutoConfiguration.java | 11 ++-
.../springboot/ConsulComponentConverter.java | 73 ++++++++++++++++
.../ControlBusComponentAutoConfiguration.java | 9 +-
components-starter/camel-corda-starter/pom.xml | 8 --
.../CordaComponentAutoConfiguration.java | 11 ++-
.../corda/springboot/CordaComponentConverter.java | 69 +++++++++++++++
.../ConstantLanguageAutoConfiguration.java | 9 +-
.../HeaderLanguageAutoConfiguration.java | 9 +-
.../ExchangePropertyLanguageAutoConfiguration.java | 9 +-
.../springboot/RefLanguageAutoConfiguration.java | 9 +-
.../springboot/FileLanguageAutoConfiguration.java | 9 +-
.../SimpleLanguageAutoConfiguration.java | 9 +-
.../TokenizeLanguageAutoConfiguration.java | 9 +-
.../CouchbaseComponentAutoConfiguration.java | 9 +-
.../CouchDbComponentAutoConfiguration.java | 9 +-
.../springboot/CronComponentAutoConfiguration.java | 9 +-
.../CryptoCmsComponentAutoConfiguration.java | 11 ++-
.../springboot/CryptoCmsComponentConverter.java | 66 +++++++++++++++
...DigitalSignatureComponentAutoConfiguration.java | 11 ++-
.../DigitalSignatureComponentConverter.java | 76 +++++++++++++++++
.../CryptoDataFormatAutoConfiguration.java | 9 +-
.../springboot/PGPDataFormatAutoConfiguration.java | 9 +-
.../springboot/CsvDataFormatAutoConfiguration.java | 9 +-
.../CxfRsComponentAutoConfiguration.java | 11 ++-
.../jaxrs/springboot/CxfRsComponentConverter.java | 63 ++++++++++++++
.../springboot/CxfComponentAutoConfiguration.java | 11 ++-
.../cxf/springboot/CxfComponentConverter.java | 63 ++++++++++++++
.../DataFormatComponentAutoConfiguration.java | 9 +-
.../DataSetComponentAutoConfiguration.java | 9 +-
.../DataSetTestComponentAutoConfiguration.java | 9 +-
.../DebeziumMongodbComponentAutoConfiguration.java | 11 ++-
.../DebeziumMongodbComponentConverter.java | 64 ++++++++++++++
.../DebeziumMySqlComponentAutoConfiguration.java | 11 ++-
.../DebeziumMySqlComponentConverter.java | 64 ++++++++++++++
...DebeziumPostgresComponentAutoConfiguration.java | 11 ++-
.../DebeziumPostgresComponentConverter.java | 64 ++++++++++++++
...ebeziumSqlserverComponentAutoConfiguration.java | 11 ++-
.../DebeziumSqlserverComponentConverter.java | 64 ++++++++++++++
.../DigitalOceanComponentAutoConfiguration.java | 9 +-
.../DirectComponentAutoConfiguration.java | 9 +-
.../DirectVmComponentAutoConfiguration.java | 11 ++-
.../springboot/DirectVmComponentConverter.java | 63 ++++++++++++++
.../DisruptorComponentAutoConfiguration.java | 11 ++-
.../springboot/DisruptorComponentConverter.java | 66 +++++++++++++++
.../DisruptorVmComponentAutoConfiguration.java | 11 ++-
.../springboot/DisruptorVmComponentConverter.java | 66 +++++++++++++++
.../springboot/DJLComponentAutoConfiguration.java | 9 +-
.../springboot/DnsComponentAutoConfiguration.java | 9 +-
.../DockerComponentAutoConfiguration.java | 11 ++-
.../springboot/DockerComponentConverter.java | 63 ++++++++++++++
.../DozerComponentAutoConfiguration.java | 9 +-
.../DrillComponentAutoConfiguration.java | 9 +-
.../DropboxComponentAutoConfiguration.java | 9 +-
.../EhcacheComponentAutoConfiguration.java | 11 ++-
.../springboot/EhcacheComponentConverter.java | 73 ++++++++++++++++
.../ElasticsearchComponentAutoConfiguration.java | 11 ++-
.../ElasticsearchComponentConverter.java | 64 ++++++++++++++
.../ElsqlComponentAutoConfiguration.java | 11 ++-
.../elsql/springboot/ElsqlComponentConverter.java | 67 +++++++++++++++
.../EtcdKeysComponentAutoConfiguration.java | 11 ++-
.../springboot/EtcdKeysComponentConverter.java | 65 +++++++++++++++
.../EtcdStatsComponentAutoConfiguration.java | 11 ++-
.../springboot/EtcdStatsComponentConverter.java | 66 +++++++++++++++
.../EtcdWatchComponentAutoConfiguration.java | 11 ++-
.../springboot/EtcdWatchComponentConverter.java | 66 +++++++++++++++
.../springboot/ExecComponentAutoConfiguration.java | 9 +-
.../FacebookComponentAutoConfiguration.java | 11 ++-
.../springboot/FacebookComponentConverter.java | 63 ++++++++++++++
.../FastjsonDataFormatAutoConfiguration.java | 9 +-
.../springboot/FhirComponentAutoConfiguration.java | 11 ++-
.../fhir/springboot/FhirComponentConverter.java | 69 +++++++++++++++
.../FhirJsonDataFormatAutoConfiguration.java | 9 +-
.../FhirXmlDataFormatAutoConfiguration.java | 9 +-
.../springboot/FileComponentAutoConfiguration.java | 9 +-
.../FileWatchComponentAutoConfiguration.java | 11 ++-
.../springboot/FileWatchComponentConverter.java | 64 ++++++++++++++
.../FlatpackComponentAutoConfiguration.java | 9 +-
.../FlatpackDataFormatAutoConfiguration.java | 9 +-
.../FlinkComponentAutoConfiguration.java | 11 ++-
.../flink/springboot/FlinkComponentConverter.java | 67 +++++++++++++++
.../springboot/FopComponentAutoConfiguration.java | 9 +-
.../FreemarkerComponentAutoConfiguration.java | 11 ++-
.../springboot/FreemarkerComponentConverter.java | 64 ++++++++++++++
.../springboot/FtpComponentAutoConfiguration.java | 9 +-
.../springboot/FtpsComponentAutoConfiguration.java | 9 +-
.../springboot/SftpComponentAutoConfiguration.java | 9 +-
.../GangliaComponentAutoConfiguration.java | 11 ++-
.../springboot/GangliaComponentConverter.java | 69 +++++++++++++++
.../GeoCoderComponentAutoConfiguration.java | 11 ++-
.../springboot/GeoCoderComponentConverter.java | 63 ++++++++++++++
.../springboot/GitComponentAutoConfiguration.java | 9 +-
.../GitHubComponentAutoConfiguration.java | 9 +-
.../GoogleBigQueryComponentAutoConfiguration.java | 11 ++-
.../GoogleBigQueryComponentConverter.java | 64 ++++++++++++++
...oogleBigQuerySQLComponentAutoConfiguration.java | 11 ++-
.../GoogleBigQuerySQLComponentConverter.java | 64 ++++++++++++++
.../GoogleCalendarComponentAutoConfiguration.java | 11 ++-
.../GoogleCalendarComponentConverter.java | 66 +++++++++++++++
...leCalendarStreamComponentAutoConfiguration.java | 11 ++-
.../GoogleCalendarStreamComponentConverter.java | 66 +++++++++++++++
.../GoogleDriveComponentAutoConfiguration.java | 11 ++-
.../springboot/GoogleDriveComponentConverter.java | 66 +++++++++++++++
.../GoogleMailComponentAutoConfiguration.java | 11 ++-
.../springboot/GoogleMailComponentConverter.java | 66 +++++++++++++++
...GoogleMailStreamComponentAutoConfiguration.java | 11 ++-
.../GoogleMailStreamComponentConverter.java | 66 +++++++++++++++
.../GooglePubsubComponentAutoConfiguration.java | 9 +-
.../GoogleSheetsComponentAutoConfiguration.java | 11 ++-
.../springboot/GoogleSheetsComponentConverter.java | 66 +++++++++++++++
...ogleSheetsStreamComponentAutoConfiguration.java | 11 ++-
.../GoogleSheetsStreamComponentConverter.java | 66 +++++++++++++++
.../springboot/GoraComponentAutoConfiguration.java | 9 +-
.../GrapeComponentAutoConfiguration.java | 11 ++-
.../grape/springboot/GrapeComponentConverter.java | 63 ++++++++++++++
.../GraphqlComponentAutoConfiguration.java | 9 +-
.../GrokDataFormatAutoConfiguration.java | 9 +-
.../GroovyLanguageAutoConfiguration.java | 9 +-
.../springboot/GrpcComponentAutoConfiguration.java | 9 +-
.../GsonDataFormatAutoConfiguration.java | 9 +-
.../GuavaEventBusComponentAutoConfiguration.java | 11 ++-
.../GuavaEventBusComponentConverter.java | 64 ++++++++++++++
...castAtomicnumberComponentAutoConfiguration.java | 11 ++-
.../HazelcastAtomicnumberComponentConverter.java | 64 ++++++++++++++
...azelcastInstanceComponentAutoConfiguration.java | 11 ++-
.../HazelcastInstanceComponentConverter.java | 64 ++++++++++++++
.../HazelcastListComponentAutoConfiguration.java | 11 ++-
.../HazelcastListComponentConverter.java | 64 ++++++++++++++
.../HazelcastMapComponentAutoConfiguration.java | 11 ++-
.../springboot/HazelcastMapComponentConverter.java | 64 ++++++++++++++
...azelcastMultimapComponentAutoConfiguration.java | 11 ++-
.../HazelcastMultimapComponentConverter.java | 64 ++++++++++++++
.../HazelcastQueueComponentAutoConfiguration.java | 11 ++-
.../HazelcastQueueComponentConverter.java | 64 ++++++++++++++
...astReplicatedmapComponentAutoConfiguration.java | 11 ++-
.../HazelcastReplicatedmapComponentConverter.java | 64 ++++++++++++++
...elcastRingbufferComponentAutoConfiguration.java | 11 ++-
.../HazelcastRingbufferComponentConverter.java | 64 ++++++++++++++
.../HazelcastSedaComponentAutoConfiguration.java | 11 ++-
.../HazelcastSedaComponentConverter.java | 64 ++++++++++++++
.../HazelcastSetComponentAutoConfiguration.java | 11 ++-
.../springboot/HazelcastSetComponentConverter.java | 64 ++++++++++++++
.../HazelcastTopicComponentAutoConfiguration.java | 11 ++-
.../HazelcastTopicComponentConverter.java | 64 ++++++++++++++
.../HBaseComponentAutoConfiguration.java | 11 ++-
.../hbase/springboot/HBaseComponentConverter.java | 63 ++++++++++++++
.../springboot/HdfsComponentAutoConfiguration.java | 11 ++-
.../hdfs/springboot/HdfsComponentConverter.java | 63 ++++++++++++++
.../springboot/HL7DataFormatAutoConfiguration.java | 9 +-
.../Hl7TerserLanguageAutoConfiguration.java | 9 +-
.../springboot/HttpComponentAutoConfiguration.java | 11 ++-
.../http/springboot/HttpComponentConverter.java | 79 ++++++++++++++++++
.../ICalDataFormatAutoConfiguration.java | 9 +-
.../ClientComponentAutoConfiguration.java | 11 ++-
.../springboot/ClientComponentConverter.java | 63 ++++++++++++++
.../ServerComponentAutoConfiguration.java | 11 ++-
.../springboot/ServerComponentConverter.java | 63 ++++++++++++++
.../IgniteCacheComponentAutoConfiguration.java | 11 ++-
.../springboot/IgniteCacheComponentConverter.java | 68 +++++++++++++++
.../IgniteComputeComponentAutoConfiguration.java | 11 ++-
.../IgniteComputeComponentConverter.java | 68 +++++++++++++++
.../IgniteEventsComponentAutoConfiguration.java | 11 ++-
.../springboot/IgniteEventsComponentConverter.java | 68 +++++++++++++++
.../IgniteIdGenComponentAutoConfiguration.java | 11 ++-
.../springboot/IgniteIdGenComponentConverter.java | 68 +++++++++++++++
.../IgniteMessagingComponentAutoConfiguration.java | 11 ++-
.../IgniteMessagingComponentConverter.java | 68 +++++++++++++++
.../IgniteQueueComponentAutoConfiguration.java | 11 ++-
.../springboot/IgniteQueueComponentConverter.java | 68 +++++++++++++++
.../IgniteSetComponentAutoConfiguration.java | 11 ++-
.../springboot/IgniteSetComponentConverter.java | 68 +++++++++++++++
.../InfinispanComponentAutoConfiguration.java | 11 ++-
.../springboot/InfinispanComponentConverter.java | 76 +++++++++++++++++
.../InfluxDbComponentAutoConfiguration.java | 11 ++-
.../springboot/InfluxDbComponentConverter.java | 63 ++++++++++++++
components-starter/camel-iota-starter/pom.xml | 12 ---
.../springboot/IOTAComponentAutoConfiguration.java | 9 +-
.../springboot/IPFSComponentAutoConfiguration.java | 9 +-
.../springboot/IrcComponentAutoConfiguration.java | 9 +-
.../IronMQComponentAutoConfiguration.java | 9 +-
.../JacksonDataFormatAutoConfiguration.java | 9 +-
.../JacksonXMLDataFormatAutoConfiguration.java | 9 +-
.../JaxbDataFormatAutoConfiguration.java | 9 +-
.../springboot/JBPMComponentAutoConfiguration.java | 9 +-
.../JCacheComponentAutoConfiguration.java | 11 ++-
.../springboot/JCacheComponentConverter.java | 63 ++++++++++++++
.../JcloudsComponentAutoConfiguration.java | 9 +-
.../springboot/JcrComponentAutoConfiguration.java | 9 +-
.../springboot/JdbcComponentAutoConfiguration.java | 11 ++-
.../jdbc/springboot/JdbcComponentConverter.java | 63 ++++++++++++++
.../JettyHttpComponentAutoConfiguration9.java | 11 ++-
.../springboot/JettyHttpComponentConverter9.java | 78 +++++++++++++++++
.../JGroupsRaftComponentAutoConfiguration.java | 11 ++-
.../springboot/JGroupsRaftComponentConverter.java | 66 +++++++++++++++
.../JGroupsComponentAutoConfiguration.java | 11 ++-
.../springboot/JGroupsComponentConverter.java | 63 ++++++++++++++
.../springboot/JingComponentAutoConfiguration.java | 9 +-
.../springboot/JiraComponentAutoConfiguration.java | 11 ++-
.../jira/springboot/JiraComponentConverter.java | 63 ++++++++++++++
.../springboot/JmsComponentAutoConfiguration.java | 11 ++-
.../jms/springboot/JmsComponentConverter.java | 97 ++++++++++++++++++++++
.../springboot/JMXComponentAutoConfiguration.java | 9 +-
.../JohnzonDataFormatAutoConfiguration.java | 9 +-
.../springboot/JoltComponentAutoConfiguration.java | 11 ++-
.../jolt/springboot/JoltComponentConverter.java | 63 ++++++++++++++
.../springboot/JooqComponentAutoConfiguration.java | 11 ++-
.../jooq/springboot/JooqComponentConverter.java | 67 +++++++++++++++
.../springboot/JpaComponentAutoConfiguration.java | 11 ++-
.../jpa/springboot/JpaComponentConverter.java | 65 +++++++++++++++
.../springboot/ScpComponentAutoConfiguration.java | 9 +-
.../springboot/JsltComponentAutoConfiguration.java | 11 ++-
.../jslt/springboot/JsltComponentConverter.java | 63 ++++++++++++++
.../JsonValidatorComponentAutoConfiguration.java | 9 +-
.../JsonApiDataFormatAutoConfiguration.java | 9 +-
.../JsonataComponentAutoConfiguration.java | 9 +-
.../JsonbDataFormatAutoConfiguration.java | 9 +-
.../JsonPathLanguageAutoConfiguration.java | 9 +-
.../Jt400ComponentAutoConfiguration.java | 11 ++-
.../jt400/springboot/Jt400ComponentConverter.java | 63 ++++++++++++++
.../KafkaComponentAutoConfiguration.java | 11 ++-
.../kafka/springboot/KafkaComponentConverter.java | 77 +++++++++++++++++
...rnetesConfigMapsComponentAutoConfiguration.java | 9 +-
...sCustomResourcesComponentAutoConfiguration.java | 9 +-
...netesDeploymentsComponentAutoConfiguration.java | 9 +-
.../KubernetesHPAComponentAutoConfiguration.java | 9 +-
.../KubernetesJobComponentAutoConfiguration.java | 9 +-
...rnetesNamespacesComponentAutoConfiguration.java | 9 +-
.../KubernetesNodesComponentAutoConfiguration.java | 9 +-
...ersistentVolumesComponentAutoConfiguration.java | 9 +-
...entVolumesClaimsComponentAutoConfiguration.java | 9 +-
.../KubernetesPodsComponentAutoConfiguration.java | 9 +-
...ationControllersComponentAutoConfiguration.java | 9 +-
...esResourcesQuotaComponentAutoConfiguration.java | 9 +-
...ubernetesSecretsComponentAutoConfiguration.java | 9 +-
...sServiceAccountsComponentAutoConfiguration.java | 9 +-
...bernetesServicesComponentAutoConfiguration.java | 9 +-
...hiftBuildConfigsComponentAutoConfiguration.java | 9 +-
.../OpenshiftBuildsComponentAutoConfiguration.java | 9 +-
.../springboot/KuduComponentAutoConfiguration.java | 9 +-
.../LanguageComponentAutoConfiguration.java | 9 +-
.../springboot/LdapComponentAutoConfiguration.java | 9 +-
.../springboot/LdifComponentAutoConfiguration.java | 9 +-
.../springboot/LogComponentAutoConfiguration.java | 11 ++-
.../log/springboot/LogComponentConverter.java | 63 ++++++++++++++
.../LuceneComponentAutoConfiguration.java | 11 ++-
.../springboot/LuceneComponentConverter.java | 65 +++++++++++++++
.../LumberjackComponentAutoConfiguration.java | 11 ++-
.../springboot/LumberjackComponentConverter.java | 64 ++++++++++++++
.../springboot/LZFDataFormatAutoConfiguration.java | 9 +-
.../springboot/MailComponentAutoConfiguration.java | 11 ++-
.../mail/springboot/MailComponentConverter.java | 79 ++++++++++++++++++
.../MimeMultipartDataFormatAutoConfiguration.java | 9 +-
.../MasterComponentAutoConfiguration.java | 11 ++-
.../springboot/MasterComponentConverter.java | 65 +++++++++++++++
.../MetricsComponentAutoConfiguration.java | 11 ++-
.../springboot/MetricsComponentConverter.java | 63 ++++++++++++++
.../MicrometerComponentAutoConfiguration.java | 11 ++-
.../springboot/MicrometerComponentConverter.java | 64 ++++++++++++++
.../MiloClientComponentAutoConfiguration.java | 11 ++-
.../springboot/MiloClientComponentConverter.java | 64 ++++++++++++++
.../MiloServerComponentAutoConfiguration.java | 11 ++-
.../springboot/MiloServerComponentConverter.java | 72 ++++++++++++++++
.../springboot/MinaComponentAutoConfiguration.java | 11 ++-
.../mina/springboot/MinaComponentConverter.java | 71 ++++++++++++++++
.../MinioComponentAutoConfiguration.java | 11 ++-
.../minio/springboot/MinioComponentConverter.java | 75 +++++++++++++++++
.../springboot/MllpComponentAutoConfiguration.java | 11 ++-
.../mllp/springboot/MllpComponentConverter.java | 63 ++++++++++++++
.../springboot/MockComponentAutoConfiguration.java | 9 +-
.../GridFsComponentAutoConfiguration.java | 9 +-
.../MongoDbComponentAutoConfiguration.java | 11 ++-
.../springboot/MongoDbComponentConverter.java | 63 ++++++++++++++
.../springboot/MsvComponentAutoConfiguration.java | 11 ++-
.../msv/springboot/MsvComponentConverter.java | 65 +++++++++++++++
.../MustacheComponentAutoConfiguration.java | 11 ++-
.../springboot/MustacheComponentConverter.java | 63 ++++++++++++++
.../springboot/MvelComponentAutoConfiguration.java | 9 +-
.../springboot/MvelLanguageAutoConfiguration.java | 9 +-
.../MyBatisBeanComponentAutoConfiguration.java | 11 ++-
.../springboot/MyBatisBeanComponentConverter.java | 64 ++++++++++++++
.../MyBatisComponentAutoConfiguration.java | 11 ++-
.../springboot/MyBatisComponentConverter.java | 63 ++++++++++++++
.../NagiosComponentAutoConfiguration.java | 11 ++-
.../springboot/NagiosComponentConverter.java | 65 +++++++++++++++
.../springboot/NatsComponentAutoConfiguration.java | 9 +-
.../NettyHttpComponentAutoConfiguration.java | 11 ++-
.../springboot/NettyHttpComponentConverter.java | 92 ++++++++++++++++++++
.../NettyComponentAutoConfiguration.java | 11 ++-
.../netty/springboot/NettyComponentConverter.java | 85 +++++++++++++++++++
.../NitriteComponentAutoConfiguration.java | 9 +-
.../springboot/NsqComponentAutoConfiguration.java | 9 +-
.../OAIPMHComponentAutoConfiguration.java | 9 +-
.../springboot/OgnlLanguageAutoConfiguration.java | 9 +-
.../Olingo2ComponentAutoConfiguration.java | 11 ++-
.../springboot/Olingo2ComponentConverter.java | 75 +++++++++++++++++
.../Olingo4ComponentAutoConfiguration.java | 11 ++-
.../springboot/Olingo4ComponentConverter.java | 71 ++++++++++++++++
.../CinderComponentAutoConfiguration.java | 9 +-
.../GlanceComponentAutoConfiguration.java | 9 +-
.../KeystoneComponentAutoConfiguration.java | 9 +-
.../NeutronComponentAutoConfiguration.java | 9 +-
.../springboot/NovaComponentAutoConfiguration.java | 9 +-
.../SwiftComponentAutoConfiguration.java | 9 +-
.../OptaPlannerComponentAutoConfiguration.java | 9 +-
.../springboot/PahoComponentAutoConfiguration.java | 11 ++-
.../paho/springboot/PahoComponentConverter.java | 73 ++++++++++++++++
.../springboot/PdfComponentAutoConfiguration.java | 9 +-
...gReplicationSlotComponentAutoConfiguration.java | 9 +-
.../PgEventComponentAutoConfiguration.java | 9 +-
.../PlatformHttpComponentAutoConfiguration.java | 11 ++-
.../springboot/PlatformHttpComponentConverter.java | 64 ++++++++++++++
.../PrinterComponentAutoConfiguration.java | 9 +-
.../ProtobufDataFormatAutoConfiguration.java | 9 +-
.../PubNubComponentAutoConfiguration.java | 9 +-
.../PulsarComponentAutoConfiguration.java | 11 ++-
.../springboot/PulsarComponentConverter.java | 83 ++++++++++++++++++
.../QuartzComponentAutoConfiguration.java | 11 ++-
.../springboot/QuartzComponentConverter.java | 65 +++++++++++++++
.../QuickfixjComponentAutoConfiguration.java | 11 ++-
.../springboot/QuickfixjComponentConverter.java | 68 +++++++++++++++
.../RabbitMQComponentAutoConfiguration.java | 11 ++-
.../springboot/RabbitMQComponentConverter.java | 67 +++++++++++++++
.../ReactiveStreamsComponentAutoConfiguration.java | 11 ++-
.../ReactiveStreamsComponentConverter.java | 66 +++++++++++++++
.../springboot/RefComponentAutoConfiguration.java | 9 +-
.../RestOpenApiComponentAutoConfiguration.java | 11 ++-
.../springboot/RestOpenApiComponentConverter.java | 64 ++++++++++++++
.../RestApiComponentAutoConfiguration.java | 9 +-
.../springboot/RestComponentAutoConfiguration.java | 9 +-
.../RestSwaggerComponentAutoConfiguration.java | 11 ++-
.../springboot/RestSwaggerComponentConverter.java | 64 ++++++++++++++
.../ResteasyComponentAutoConfiguration.java | 11 ++-
.../springboot/ResteasyComponentConverter.java | 63 ++++++++++++++
.../RobotFrameworkComponentAutoConfiguration.java | 11 ++-
.../RobotFrameworkComponentConverter.java | 64 ++++++++++++++
.../springboot/RssComponentAutoConfiguration.java | 9 +-
.../springboot/RssDataFormatAutoConfiguration.java | 9 +-
.../springboot/SagaComponentAutoConfiguration.java | 9 +-
.../SalesforceComponentAutoConfiguration.java | 11 ++-
.../springboot/SalesforceComponentConverter.java | 88 ++++++++++++++++++++
.../NetWeaverComponentAutoConfiguration.java | 9 +-
.../XQueryComponentAutoConfiguration.java | 11 ++-
.../springboot/XQueryComponentConverter.java | 65 +++++++++++++++
.../XQueryLanguageAutoConfiguration.java | 9 +-
.../SchedulerComponentAutoConfiguration.java | 9 +-
.../SchematronComponentAutoConfiguration.java | 9 +-
.../springboot/SedaComponentAutoConfiguration.java | 11 ++-
.../seda/springboot/SedaComponentConverter.java | 63 ++++++++++++++
.../ServiceComponentAutoConfiguration.java | 11 ++-
.../springboot/ServiceComponentConverter.java | 65 +++++++++++++++
.../ServiceNowComponentAutoConfiguration.java | 11 ++-
.../springboot/ServiceNowComponentConverter.java | 74 +++++++++++++++++
.../ServletComponentAutoConfiguration.java | 11 ++-
.../springboot/ServletComponentConverter.java | 69 +++++++++++++++
.../springboot/SipComponentAutoConfiguration.java | 9 +-
.../SjmsBatchComponentAutoConfiguration.java | 11 ++-
.../springboot/SjmsBatchComponentConverter.java | 66 +++++++++++++++
.../springboot/SjmsComponentAutoConfiguration.java | 11 ++-
.../sjms/springboot/SjmsComponentConverter.java | 77 +++++++++++++++++
.../Sjms2ComponentAutoConfiguration.java | 11 ++-
.../sjms2/springboot/Sjms2ComponentConverter.java | 77 +++++++++++++++++
.../SlackComponentAutoConfiguration.java | 9 +-
.../springboot/SmppComponentAutoConfiguration.java | 11 ++-
.../smpp/springboot/SmppComponentConverter.java | 67 +++++++++++++++
.../SnakeYAMLDataFormatAutoConfiguration.java | 9 +-
.../springboot/SnmpComponentAutoConfiguration.java | 9 +-
.../SoapJaxbDataFormatAutoConfiguration.java | 9 +-
.../springboot/SolrComponentAutoConfiguration.java | 9 +-
.../SoroushBotComponentAutoConfiguration.java | 9 +-
.../SparkComponentAutoConfiguration.java | 11 ++-
.../spark/springboot/SparkComponentConverter.java | 65 +++++++++++++++
.../SplunkComponentAutoConfiguration.java | 11 ++-
.../springboot/SplunkComponentConverter.java | 63 ++++++++++++++
.../SpringBatchComponentAutoConfiguration.java | 11 ++-
.../springboot/SpringBatchComponentConverter.java | 66 +++++++++++++++
...pringIntegrationComponentAutoConfiguration.java | 9 +-
.../SpringLdapComponentAutoConfiguration.java | 9 +-
.../RedisComponentAutoConfiguration.java | 9 +-
.../EventComponentAutoConfiguration.java | 9 +-
.../springboot/SpelLanguageAutoConfiguration.java | 9 +-
...SpringWebserviceComponentAutoConfiguration.java | 9 +-
.../springboot/SqlComponentAutoConfiguration.java | 11 ++-
.../sql/springboot/SqlComponentConverter.java | 63 ++++++++++++++
.../SqlStoredComponentAutoConfiguration.java | 11 ++-
.../springboot/SqlStoredComponentConverter.java | 64 ++++++++++++++
.../springboot/SshComponentAutoConfiguration.java | 11 ++-
.../ssh/springboot/SshComponentConverter.java | 65 +++++++++++++++
.../springboot/StAXComponentAutoConfiguration.java | 9 +-
.../StompComponentAutoConfiguration.java | 11 ++-
.../stomp/springboot/StompComponentConverter.java | 69 +++++++++++++++
.../StreamComponentAutoConfiguration.java | 9 +-
.../StringTemplateComponentAutoConfiguration.java | 9 +-
.../springboot/StubComponentAutoConfiguration.java | 11 ++-
.../stub/springboot/StubComponentConverter.java | 63 ++++++++++++++
.../SyslogDataFormatAutoConfiguration.java | 9 +-
.../TidyMarkupDataFormatAutoConfiguration.java | 9 +-
.../TarFileDataFormatAutoConfiguration.java | 9 +-
.../TelegramComponentAutoConfiguration.java | 11 ++-
.../springboot/TelegramComponentConverter.java | 65 +++++++++++++++
.../ThriftComponentAutoConfiguration.java | 9 +-
.../ThriftDataFormatAutoConfiguration.java | 9 +-
.../springboot/TikaComponentAutoConfiguration.java | 9 +-
.../TimerComponentAutoConfiguration.java | 9 +-
.../TwilioComponentAutoConfiguration.java | 11 ++-
.../springboot/TwilioComponentConverter.java | 65 +++++++++++++++
...terDirectMessageComponentAutoConfiguration.java | 9 +-
.../TwitterSearchComponentAutoConfiguration.java | 9 +-
.../TwitterTimelineComponentAutoConfiguration.java | 9 +-
.../UndertowComponentAutoConfiguration.java | 11 ++-
.../springboot/UndertowComponentConverter.java | 71 ++++++++++++++++
.../UniVocityCsvDataFormatAutoConfiguration.java | 9 +-
...ocityFixedWidthDataFormatAutoConfiguration.java | 9 +-
.../UniVocityTsvDataFormatAutoConfiguration.java | 9 +-
.../ValidatorComponentAutoConfiguration.java | 11 ++-
.../springboot/ValidatorComponentConverter.java | 64 ++++++++++++++
.../VelocityComponentAutoConfiguration.java | 11 ++-
.../springboot/VelocityComponentConverter.java | 63 ++++++++++++++
.../VertxHttpComponentAutoConfiguration.java | 11 ++-
.../springboot/VertxHttpComponentConverter.java | 74 +++++++++++++++++
.../VertxComponentAutoConfiguration.java | 11 ++-
.../vertx/springboot/VertxComponentConverter.java | 67 +++++++++++++++
.../VertxWebsocketComponentAutoConfiguration.java | 11 ++-
.../VertxWebsocketComponentConverter.java | 68 +++++++++++++++
.../springboot/VmComponentAutoConfiguration.java | 11 ++-
.../vm/springboot/VmComponentConverter.java | 63 ++++++++++++++
.../WeatherComponentAutoConfiguration.java | 9 +-
.../Web3jComponentAutoConfiguration.java | 11 ++-
.../web3j/springboot/Web3jComponentConverter.java | 67 +++++++++++++++
.../WebhookComponentAutoConfiguration.java | 11 ++-
.../springboot/WebhookComponentConverter.java | 63 ++++++++++++++
.../JSR356WebSocketComponentAutoConfiguration.java | 11 ++-
.../JSR356WebSocketComponentConverter.java | 64 ++++++++++++++
.../WebsocketComponentAutoConfiguration.java | 11 ++-
.../springboot/WebsocketComponentConverter.java | 66 +++++++++++++++
.../springboot/WekaComponentAutoConfiguration.java | 9 +-
.../WordpressComponentAutoConfiguration.java | 11 ++-
.../springboot/WordpressComponentConverter.java | 66 +++++++++++++++
.../WorkdayComponentAutoConfiguration.java | 9 +-
.../XChangeComponentAutoConfiguration.java | 9 +-
.../springboot/XJComponentAutoConfiguration.java | 11 ++-
.../xj/springboot/XJComponentConverter.java | 69 +++++++++++++++
.../XMLTokenizeLanguageAutoConfiguration.java | 9 +-
.../XmlSignerComponentAutoConfiguration.java | 11 ++-
.../springboot/XmlSignerComponentConverter.java | 74 +++++++++++++++++
.../XmlVerifierComponentAutoConfiguration.java | 11 ++-
.../springboot/XmlVerifierComponentConverter.java | 76 +++++++++++++++++
.../XMLSecurityDataFormatAutoConfiguration.java | 9 +-
.../springboot/XmppComponentAutoConfiguration.java | 9 +-
.../springboot/XPathLanguageAutoConfiguration.java | 9 +-
.../XsltSaxonComponentAutoConfiguration.java | 11 ++-
.../springboot/XsltSaxonComponentConverter.java | 70 ++++++++++++++++
.../springboot/XsltComponentAutoConfiguration.java | 11 ++-
.../xslt/springboot/XsltComponentConverter.java | 67 +++++++++++++++
.../JsonDataFormatAutoConfiguration.java | 9 +-
.../XStreamDataFormatAutoConfiguration.java | 9 +-
.../YammerComponentAutoConfiguration.java | 11 ++-
.../springboot/YammerComponentConverter.java | 65 +++++++++++++++
.../ZendeskComponentAutoConfiguration.java | 11 ++-
.../springboot/ZendeskComponentConverter.java | 65 +++++++++++++++
.../GzipDeflaterDataFormatAutoConfiguration.java | 9 +-
.../ZipDeflaterDataFormatAutoConfiguration.java | 9 +-
.../ZipFileDataFormatAutoConfiguration.java | 9 +-
.../MasterComponentAutoConfiguration.java | 11 ++-
.../springboot/MasterComponentConverter.java | 65 +++++++++++++++
.../ZooKeeperComponentAutoConfiguration.java | 11 ++-
.../springboot/ZooKeeperComponentConverter.java | 64 ++++++++++++++
633 files changed, 18328 insertions(+), 864 deletions(-)
diff --git a/components-starter/camel-activemq-starter/src/main/java/org/apache/camel/component/activemq/springboot/ActiveMQComponentAutoConfiguration.java b/components-starter/camel-activemq-starter/src/main/java/org/apache/camel/component/activemq/springboot/ActiveMQComponentAutoConfiguration.java
index 4c69695..d60f872 100644
--- a/components-starter/camel-activemq-starter/src/main/java/org/apache/camel/component/activemq/springboot/ActiveMQComponentAutoConfiguration.java
+++ b/components-starter/camel-activemq-starter/src/main/java/org/apache/camel/component/activemq/springboot/ActiveMQComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class ActiveMQComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private ActiveMQComponentConfiguration configuration;
+ public ActiveMQComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+ acs.addConverter(new ActiveMQComponentConverter(camelContext));
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureActiveMQComponent() {
diff --git a/components-starter/camel-activemq-starter/src/main/java/org/apache/camel/component/activemq/springboot/ActiveMQComponentConverter.java b/components-starter/camel-activemq-starter/src/main/java/org/apache/camel/component/activemq/springboot/ActiveMQComponentConverter.java
new file mode 100644
index 0000000..ee3b682
--- /dev/null
+++ b/components-starter/camel-activemq-starter/src/main/java/org/apache/camel/component/activemq/springboot/ActiveMQComponentConverter.java
@@ -0,0 +1,97 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.activemq.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class ActiveMQComponentConverter
+ implements
+ org.springframework.core.convert.converter.GenericConverter {
+
+ private final CamelContext camelContext;
+
+ public ActiveMQComponentConverter(org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
+ public Set<ConvertiblePair> getConvertibleTypes() {
+ Set<ConvertiblePair> answer = new LinkedHashSet<>();
+ answer.add(new ConvertiblePair(String.class, javax.jms.ConnectionFactory.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.jms.JmsMessageType.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.jms.ConsumerType.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.jms.DefaultTaskExecutorType.class));
+ answer.add(new ConvertiblePair(String.class, org.springframework.core.task.TaskExecutor.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.jms.ReplyToType.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.jms.JmsConfiguration.class));
+ answer.add(new ConvertiblePair(String.class, org.springframework.jms.support.destination.DestinationResolver.class));
+ answer.add(new ConvertiblePair(String.class, org.springframework.util.ErrorHandler.class));
+ answer.add(new ConvertiblePair(String.class, javax.jms.ExceptionListener.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.jms.JmsKeyFormatStrategy.class));
+ answer.add(new ConvertiblePair(String.class, org.springframework.jms.support.converter.MessageConverter.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.jms.MessageCreatedStrategy.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.jms.MessageListenerContainerFactory.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.jms.QueueBrowseStrategy.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.spi.HeaderFilterStrategy.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.LoggingLevel.class));
+ answer.add(new ConvertiblePair(String.class, org.springframework.transaction.PlatformTransactionManager.class));
+ return answer;
+ }
+
+ public Object convert(
+ Object source,
+ TypeDescriptor sourceType,
+ TypeDescriptor targetType) {
+ if (source == null) {
+ return null;
+ }
+ String ref = source.toString();
+ if (!ref.startsWith("#")) {
+ return null;
+ }
+ ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+ switch (targetType.getName()) {
+ case "javax.jms.ConnectionFactory": return camelContext.getRegistry().lookupByNameAndType(ref, javax.jms.ConnectionFactory.class);
+ case "org.apache.camel.component.jms.JmsMessageType": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.jms.JmsMessageType.class);
+ case "org.apache.camel.component.jms.ConsumerType": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.jms.ConsumerType.class);
+ case "org.apache.camel.component.jms.DefaultTaskExecutorType": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.jms.DefaultTaskExecutorType.class);
+ case "org.springframework.core.task.TaskExecutor": return camelContext.getRegistry().lookupByNameAndType(ref, org.springframework.core.task.TaskExecutor.class);
+ case "org.apache.camel.component.jms.ReplyToType": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.jms.ReplyToType.class);
+ case "org.apache.camel.component.jms.JmsConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.jms.JmsConfiguration.class);
+ case "org.springframework.jms.support.destination.DestinationResolver": return camelContext.getRegistry().lookupByNameAndType(ref, org.springframework.jms.support.destination.DestinationResolver.class);
+ case "org.springframework.util.ErrorHandler": return camelContext.getRegistry().lookupByNameAndType(ref, org.springframework.util.ErrorHandler.class);
+ case "javax.jms.ExceptionListener": return camelContext.getRegistry().lookupByNameAndType(ref, javax.jms.ExceptionListener.class);
+ case "org.apache.camel.component.jms.JmsKeyFormatStrategy": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.jms.JmsKeyFormatStrategy.class);
+ case "org.springframework.jms.support.converter.MessageConverter": return camelContext.getRegistry().lookupByNameAndType(ref, org.springframework.jms.support.converter.MessageConverter.class);
+ case "org.apache.camel.component.jms.MessageCreatedStrategy": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.jms.MessageCreatedStrategy.class);
+ case "org.apache.camel.component.jms.MessageListenerContainerFactory": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.jms.MessageListenerContainerFactory.class);
+ case "org.apache.camel.component.jms.QueueBrowseStrategy": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.jms.QueueBrowseStrategy.class);
+ case "org.apache.camel.spi.HeaderFilterStrategy": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.spi.HeaderFilterStrategy.class);
+ case "org.apache.camel.LoggingLevel": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.LoggingLevel.class);
+ case "org.springframework.transaction.PlatformTransactionManager": return camelContext.getRegistry().lookupByNameAndType(ref, org.springframework.transaction.PlatformTransactionManager.class);
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/components-starter/camel-ahc-starter/src/main/java/org/apache/camel/component/ahc/springboot/AhcComponentAutoConfiguration.java b/components-starter/camel-ahc-starter/src/main/java/org/apache/camel/component/ahc/springboot/AhcComponentAutoConfiguration.java
index 2bfc15c..4a46b54 100644
--- a/components-starter/camel-ahc-starter/src/main/java/org/apache/camel/component/ahc/springboot/AhcComponentAutoConfiguration.java
+++ b/components-starter/camel-ahc-starter/src/main/java/org/apache/camel/component/ahc/springboot/AhcComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class AhcComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private AhcComponentConfiguration configuration;
+ public AhcComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+ acs.addConverter(new AhcComponentConverter(camelContext));
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureAhcComponent() {
diff --git a/components-starter/camel-ahc-starter/src/main/java/org/apache/camel/component/ahc/springboot/AhcComponentConverter.java b/components-starter/camel-ahc-starter/src/main/java/org/apache/camel/component/ahc/springboot/AhcComponentConverter.java
new file mode 100644
index 0000000..3f0d723
--- /dev/null
+++ b/components-starter/camel-ahc-starter/src/main/java/org/apache/camel/component/ahc/springboot/AhcComponentConverter.java
@@ -0,0 +1,71 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.ahc.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class AhcComponentConverter
+ implements
+ org.springframework.core.convert.converter.GenericConverter {
+
+ private final CamelContext camelContext;
+
+ public AhcComponentConverter(org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
+ public Set<ConvertiblePair> getConvertibleTypes() {
+ Set<ConvertiblePair> answer = new LinkedHashSet<>();
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.ahc.AhcBinding.class));
+ answer.add(new ConvertiblePair(String.class, org.asynchttpclient.AsyncHttpClient.class));
+ answer.add(new ConvertiblePair(String.class, org.asynchttpclient.AsyncHttpClientConfig.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.spi.HeaderFilterStrategy.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.support.jsse.SSLContextParameters.class));
+ return answer;
+ }
+
+ public Object convert(
+ Object source,
+ TypeDescriptor sourceType,
+ TypeDescriptor targetType) {
+ if (source == null) {
+ return null;
+ }
+ String ref = source.toString();
+ if (!ref.startsWith("#")) {
+ return null;
+ }
+ ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+ switch (targetType.getName()) {
+ case "org.apache.camel.component.ahc.AhcBinding": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.ahc.AhcBinding.class);
+ case "org.asynchttpclient.AsyncHttpClient": return camelContext.getRegistry().lookupByNameAndType(ref, org.asynchttpclient.AsyncHttpClient.class);
+ case "org.asynchttpclient.AsyncHttpClientConfig": return camelContext.getRegistry().lookupByNameAndType(ref, org.asynchttpclient.AsyncHttpClientConfig.class);
+ case "org.apache.camel.spi.HeaderFilterStrategy": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.spi.HeaderFilterStrategy.class);
+ case "org.apache.camel.support.jsse.SSLContextParameters": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.support.jsse.SSLContextParameters.class);
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/components-starter/camel-ahc-ws-starter/src/main/java/org/apache/camel/component/ahc/ws/springboot/WsComponentAutoConfiguration.java b/components-starter/camel-ahc-ws-starter/src/main/java/org/apache/camel/component/ahc/ws/springboot/WsComponentAutoConfiguration.java
index 4aad5a4..8312d79 100644
--- a/components-starter/camel-ahc-ws-starter/src/main/java/org/apache/camel/component/ahc/ws/springboot/WsComponentAutoConfiguration.java
+++ b/components-starter/camel-ahc-ws-starter/src/main/java/org/apache/camel/component/ahc/ws/springboot/WsComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class WsComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private WsComponentConfiguration configuration;
+ public WsComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+ acs.addConverter(new WsComponentConverter(camelContext));
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureWsComponent() {
diff --git a/components-starter/camel-ahc-ws-starter/src/main/java/org/apache/camel/component/ahc/ws/springboot/WsComponentConverter.java b/components-starter/camel-ahc-ws-starter/src/main/java/org/apache/camel/component/ahc/ws/springboot/WsComponentConverter.java
new file mode 100644
index 0000000..80a0d54
--- /dev/null
+++ b/components-starter/camel-ahc-ws-starter/src/main/java/org/apache/camel/component/ahc/ws/springboot/WsComponentConverter.java
@@ -0,0 +1,71 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.ahc.ws.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class WsComponentConverter
+ implements
+ org.springframework.core.convert.converter.GenericConverter {
+
+ private final CamelContext camelContext;
+
+ public WsComponentConverter(org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
+ public Set<ConvertiblePair> getConvertibleTypes() {
+ Set<ConvertiblePair> answer = new LinkedHashSet<>();
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.ahc.AhcBinding.class));
+ answer.add(new ConvertiblePair(String.class, org.asynchttpclient.AsyncHttpClient.class));
+ answer.add(new ConvertiblePair(String.class, org.asynchttpclient.AsyncHttpClientConfig.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.spi.HeaderFilterStrategy.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.support.jsse.SSLContextParameters.class));
+ return answer;
+ }
+
+ public Object convert(
+ Object source,
+ TypeDescriptor sourceType,
+ TypeDescriptor targetType) {
+ if (source == null) {
+ return null;
+ }
+ String ref = source.toString();
+ if (!ref.startsWith("#")) {
+ return null;
+ }
+ ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+ switch (targetType.getName()) {
+ case "org.apache.camel.component.ahc.AhcBinding": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.ahc.AhcBinding.class);
+ case "org.asynchttpclient.AsyncHttpClient": return camelContext.getRegistry().lookupByNameAndType(ref, org.asynchttpclient.AsyncHttpClient.class);
+ case "org.asynchttpclient.AsyncHttpClientConfig": return camelContext.getRegistry().lookupByNameAndType(ref, org.asynchttpclient.AsyncHttpClientConfig.class);
+ case "org.apache.camel.spi.HeaderFilterStrategy": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.spi.HeaderFilterStrategy.class);
+ case "org.apache.camel.support.jsse.SSLContextParameters": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.support.jsse.SSLContextParameters.class);
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/components-starter/camel-amqp-starter/src/main/java/org/apache/camel/component/amqp/springboot/AMQPComponentAutoConfiguration.java b/components-starter/camel-amqp-starter/src/main/java/org/apache/camel/component/amqp/springboot/AMQPComponentAutoConfiguration.java
index b69e002..e291135 100644
--- a/components-starter/camel-amqp-starter/src/main/java/org/apache/camel/component/amqp/springboot/AMQPComponentAutoConfiguration.java
+++ b/components-starter/camel-amqp-starter/src/main/java/org/apache/camel/component/amqp/springboot/AMQPComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class AMQPComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private AMQPComponentConfiguration configuration;
+ public AMQPComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+ acs.addConverter(new AMQPComponentConverter(camelContext));
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureAMQPComponent() {
diff --git a/components-starter/camel-amqp-starter/src/main/java/org/apache/camel/component/amqp/springboot/AMQPComponentConverter.java b/components-starter/camel-amqp-starter/src/main/java/org/apache/camel/component/amqp/springboot/AMQPComponentConverter.java
new file mode 100644
index 0000000..a95dae1
--- /dev/null
+++ b/components-starter/camel-amqp-starter/src/main/java/org/apache/camel/component/amqp/springboot/AMQPComponentConverter.java
@@ -0,0 +1,97 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.amqp.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class AMQPComponentConverter
+ implements
+ org.springframework.core.convert.converter.GenericConverter {
+
+ private final CamelContext camelContext;
+
+ public AMQPComponentConverter(org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
+ public Set<ConvertiblePair> getConvertibleTypes() {
+ Set<ConvertiblePair> answer = new LinkedHashSet<>();
+ answer.add(new ConvertiblePair(String.class, javax.jms.ConnectionFactory.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.jms.JmsMessageType.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.jms.ConsumerType.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.jms.DefaultTaskExecutorType.class));
+ answer.add(new ConvertiblePair(String.class, org.springframework.core.task.TaskExecutor.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.jms.ReplyToType.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.jms.JmsConfiguration.class));
+ answer.add(new ConvertiblePair(String.class, org.springframework.jms.support.destination.DestinationResolver.class));
+ answer.add(new ConvertiblePair(String.class, org.springframework.util.ErrorHandler.class));
+ answer.add(new ConvertiblePair(String.class, javax.jms.ExceptionListener.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.jms.JmsKeyFormatStrategy.class));
+ answer.add(new ConvertiblePair(String.class, org.springframework.jms.support.converter.MessageConverter.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.jms.MessageCreatedStrategy.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.jms.MessageListenerContainerFactory.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.jms.QueueBrowseStrategy.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.spi.HeaderFilterStrategy.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.LoggingLevel.class));
+ answer.add(new ConvertiblePair(String.class, org.springframework.transaction.PlatformTransactionManager.class));
+ return answer;
+ }
+
+ public Object convert(
+ Object source,
+ TypeDescriptor sourceType,
+ TypeDescriptor targetType) {
+ if (source == null) {
+ return null;
+ }
+ String ref = source.toString();
+ if (!ref.startsWith("#")) {
+ return null;
+ }
+ ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+ switch (targetType.getName()) {
+ case "javax.jms.ConnectionFactory": return camelContext.getRegistry().lookupByNameAndType(ref, javax.jms.ConnectionFactory.class);
+ case "org.apache.camel.component.jms.JmsMessageType": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.jms.JmsMessageType.class);
+ case "org.apache.camel.component.jms.ConsumerType": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.jms.ConsumerType.class);
+ case "org.apache.camel.component.jms.DefaultTaskExecutorType": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.jms.DefaultTaskExecutorType.class);
+ case "org.springframework.core.task.TaskExecutor": return camelContext.getRegistry().lookupByNameAndType(ref, org.springframework.core.task.TaskExecutor.class);
+ case "org.apache.camel.component.jms.ReplyToType": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.jms.ReplyToType.class);
+ case "org.apache.camel.component.jms.JmsConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.jms.JmsConfiguration.class);
+ case "org.springframework.jms.support.destination.DestinationResolver": return camelContext.getRegistry().lookupByNameAndType(ref, org.springframework.jms.support.destination.DestinationResolver.class);
+ case "org.springframework.util.ErrorHandler": return camelContext.getRegistry().lookupByNameAndType(ref, org.springframework.util.ErrorHandler.class);
+ case "javax.jms.ExceptionListener": return camelContext.getRegistry().lookupByNameAndType(ref, javax.jms.ExceptionListener.class);
+ case "org.apache.camel.component.jms.JmsKeyFormatStrategy": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.jms.JmsKeyFormatStrategy.class);
+ case "org.springframework.jms.support.converter.MessageConverter": return camelContext.getRegistry().lookupByNameAndType(ref, org.springframework.jms.support.converter.MessageConverter.class);
+ case "org.apache.camel.component.jms.MessageCreatedStrategy": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.jms.MessageCreatedStrategy.class);
+ case "org.apache.camel.component.jms.MessageListenerContainerFactory": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.jms.MessageListenerContainerFactory.class);
+ case "org.apache.camel.component.jms.QueueBrowseStrategy": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.jms.QueueBrowseStrategy.class);
+ case "org.apache.camel.spi.HeaderFilterStrategy": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.spi.HeaderFilterStrategy.class);
+ case "org.apache.camel.LoggingLevel": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.LoggingLevel.class);
+ case "org.springframework.transaction.PlatformTransactionManager": return camelContext.getRegistry().lookupByNameAndType(ref, org.springframework.transaction.PlatformTransactionManager.class);
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/components-starter/camel-any23-starter/src/main/java/org/apache/camel/dataformat/any23/springboot/Any23DataFormatAutoConfiguration.java b/components-starter/camel-any23-starter/src/main/java/org/apache/camel/dataformat/any23/springboot/Any23DataFormatAutoConfiguration.java
index d97bcfc..ccb7a83 100644
--- a/components-starter/camel-any23-starter/src/main/java/org/apache/camel/dataformat/any23/springboot/Any23DataFormatAutoConfiguration.java
+++ b/components-starter/camel-any23-starter/src/main/java/org/apache/camel/dataformat/any23/springboot/Any23DataFormatAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,15 @@ public class Any23DataFormatAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private Any23DataFormatConfiguration configuration;
+ public Any23DataFormatAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
@Lazy
@Bean
public DataFormatCustomizer configureAny23DataFormatFactory() {
diff --git a/components-starter/camel-apns-starter/src/main/java/org/apache/camel/component/apns/springboot/ApnsComponentAutoConfiguration.java b/components-starter/camel-apns-starter/src/main/java/org/apache/camel/component/apns/springboot/ApnsComponentAutoConfiguration.java
index 392fd76..077a6b4 100644
--- a/components-starter/camel-apns-starter/src/main/java/org/apache/camel/component/apns/springboot/ApnsComponentAutoConfiguration.java
+++ b/components-starter/camel-apns-starter/src/main/java/org/apache/camel/component/apns/springboot/ApnsComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class ApnsComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private ApnsComponentConfiguration configuration;
+ public ApnsComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+ acs.addConverter(new ApnsComponentConverter(camelContext));
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureApnsComponent() {
diff --git a/components-starter/camel-apns-starter/src/main/java/org/apache/camel/component/apns/springboot/ApnsComponentConverter.java b/components-starter/camel-apns-starter/src/main/java/org/apache/camel/component/apns/springboot/ApnsComponentConverter.java
new file mode 100644
index 0000000..db46b6d
--- /dev/null
+++ b/components-starter/camel-apns-starter/src/main/java/org/apache/camel/component/apns/springboot/ApnsComponentConverter.java
@@ -0,0 +1,63 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.apns.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class ApnsComponentConverter
+ implements
+ org.springframework.core.convert.converter.GenericConverter {
+
+ private final CamelContext camelContext;
+
+ public ApnsComponentConverter(org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
+ public Set<ConvertiblePair> getConvertibleTypes() {
+ Set<ConvertiblePair> answer = new LinkedHashSet<>();
+ answer.add(new ConvertiblePair(String.class, com.notnoop.apns.ApnsService.class));
+ return answer;
+ }
+
+ public Object convert(
+ Object source,
+ TypeDescriptor sourceType,
+ TypeDescriptor targetType) {
+ if (source == null) {
+ return null;
+ }
+ String ref = source.toString();
+ if (!ref.startsWith("#")) {
+ return null;
+ }
+ ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+ switch (targetType.getName()) {
+ case "com.notnoop.apns.ApnsService": return camelContext.getRegistry().lookupByNameAndType(ref, com.notnoop.apns.ApnsService.class);
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/components-starter/camel-arangodb-starter/src/main/java/org/apache/camel/component/arangodb/springboot/ArangoDbComponentAutoConfiguration.java b/components-starter/camel-arangodb-starter/src/main/java/org/apache/camel/component/arangodb/springboot/ArangoDbComponentAutoConfiguration.java
index 2caee54..295fb93 100644
--- a/components-starter/camel-arangodb-starter/src/main/java/org/apache/camel/component/arangodb/springboot/ArangoDbComponentAutoConfiguration.java
+++ b/components-starter/camel-arangodb-starter/src/main/java/org/apache/camel/component/arangodb/springboot/ArangoDbComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class ArangoDbComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private ArangoDbComponentConfiguration configuration;
+ public ArangoDbComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+ acs.addConverter(new ArangoDbComponentConverter(camelContext));
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureArangoDbComponent() {
diff --git a/components-starter/camel-arangodb-starter/src/main/java/org/apache/camel/component/arangodb/springboot/ArangoDbComponentConverter.java b/components-starter/camel-arangodb-starter/src/main/java/org/apache/camel/component/arangodb/springboot/ArangoDbComponentConverter.java
new file mode 100644
index 0000000..e3da532
--- /dev/null
+++ b/components-starter/camel-arangodb-starter/src/main/java/org/apache/camel/component/arangodb/springboot/ArangoDbComponentConverter.java
@@ -0,0 +1,65 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.arangodb.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class ArangoDbComponentConverter
+ implements
+ org.springframework.core.convert.converter.GenericConverter {
+
+ private final CamelContext camelContext;
+
+ public ArangoDbComponentConverter(org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
+ public Set<ConvertiblePair> getConvertibleTypes() {
+ Set<ConvertiblePair> answer = new LinkedHashSet<>();
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.arangodb.ArangoDbConfiguration.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.arangodb.ArangoDbOperation.class));
+ return answer;
+ }
+
+ public Object convert(
+ Object source,
+ TypeDescriptor sourceType,
+ TypeDescriptor targetType) {
+ if (source == null) {
+ return null;
+ }
+ String ref = source.toString();
+ if (!ref.startsWith("#")) {
+ return null;
+ }
+ ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+ switch (targetType.getName()) {
+ case "org.apache.camel.component.arangodb.ArangoDbConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.arangodb.ArangoDbConfiguration.class);
+ case "org.apache.camel.component.arangodb.ArangoDbOperation": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.arangodb.ArangoDbOperation.class);
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/components-starter/camel-as2-starter/src/main/java/org/apache/camel/component/as2/springboot/AS2ComponentAutoConfiguration.java b/components-starter/camel-as2-starter/src/main/java/org/apache/camel/component/as2/springboot/AS2ComponentAutoConfiguration.java
index 3035f95..6589024 100644
--- a/components-starter/camel-as2-starter/src/main/java/org/apache/camel/component/as2/springboot/AS2ComponentAutoConfiguration.java
+++ b/components-starter/camel-as2-starter/src/main/java/org/apache/camel/component/as2/springboot/AS2ComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class AS2ComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private AS2ComponentConfiguration configuration;
+ public AS2ComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+ acs.addConverter(new AS2ComponentConverter(camelContext));
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureAS2Component() {
diff --git a/components-starter/camel-as2-starter/src/main/java/org/apache/camel/component/as2/springboot/AS2ComponentConverter.java b/components-starter/camel-as2-starter/src/main/java/org/apache/camel/component/as2/springboot/AS2ComponentConverter.java
new file mode 100644
index 0000000..a3c6d8f
--- /dev/null
+++ b/components-starter/camel-as2-starter/src/main/java/org/apache/camel/component/as2/springboot/AS2ComponentConverter.java
@@ -0,0 +1,63 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.as2.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class AS2ComponentConverter
+ implements
+ org.springframework.core.convert.converter.GenericConverter {
+
+ private final CamelContext camelContext;
+
+ public AS2ComponentConverter(org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
+ public Set<ConvertiblePair> getConvertibleTypes() {
+ Set<ConvertiblePair> answer = new LinkedHashSet<>();
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.as2.AS2Configuration.class));
+ return answer;
+ }
+
+ public Object convert(
+ Object source,
+ TypeDescriptor sourceType,
+ TypeDescriptor targetType) {
+ if (source == null) {
+ return null;
+ }
+ String ref = source.toString();
+ if (!ref.startsWith("#")) {
+ return null;
+ }
+ ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+ switch (targetType.getName()) {
+ case "org.apache.camel.component.as2.AS2Configuration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.as2.AS2Configuration.class);
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/components-starter/camel-asn1-starter/src/main/java/org/apache/camel/dataformat/asn1/springboot/ASN1DataFormatAutoConfiguration.java b/components-starter/camel-asn1-starter/src/main/java/org/apache/camel/dataformat/asn1/springboot/ASN1DataFormatAutoConfiguration.java
index f7393d3..f115fb4 100644
--- a/components-starter/camel-asn1-starter/src/main/java/org/apache/camel/dataformat/asn1/springboot/ASN1DataFormatAutoConfiguration.java
+++ b/components-starter/camel-asn1-starter/src/main/java/org/apache/camel/dataformat/asn1/springboot/ASN1DataFormatAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,15 @@ public class ASN1DataFormatAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private ASN1DataFormatConfiguration configuration;
+ public ASN1DataFormatAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
@Lazy
@Bean
public DataFormatCustomizer configureASN1DataFormatFactory() {
diff --git a/components-starter/camel-asterisk-starter/src/main/java/org/apache/camel/component/asterisk/springboot/AsteriskComponentAutoConfiguration.java b/components-starter/camel-asterisk-starter/src/main/java/org/apache/camel/component/asterisk/springboot/AsteriskComponentAutoConfiguration.java
index 51d78ca..4b4668b 100644
--- a/components-starter/camel-asterisk-starter/src/main/java/org/apache/camel/component/asterisk/springboot/AsteriskComponentAutoConfiguration.java
+++ b/components-starter/camel-asterisk-starter/src/main/java/org/apache/camel/component/asterisk/springboot/AsteriskComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,15 @@ public class AsteriskComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private AsteriskComponentConfiguration configuration;
+ public AsteriskComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureAsteriskComponent() {
diff --git a/components-starter/camel-atlasmap-starter/src/main/java/org/apache/camel/component/atlasmap/springboot/AtlasMapComponentAutoConfiguration.java b/components-starter/camel-atlasmap-starter/src/main/java/org/apache/camel/component/atlasmap/springboot/AtlasMapComponentAutoConfiguration.java
index fbd1317..b143328 100644
--- a/components-starter/camel-atlasmap-starter/src/main/java/org/apache/camel/component/atlasmap/springboot/AtlasMapComponentAutoConfiguration.java
+++ b/components-starter/camel-atlasmap-starter/src/main/java/org/apache/camel/component/atlasmap/springboot/AtlasMapComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class AtlasMapComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private AtlasMapComponentConfiguration configuration;
+ public AtlasMapComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+ acs.addConverter(new AtlasMapComponentConverter(camelContext));
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureAtlasMapComponent() {
diff --git a/components-starter/camel-atlasmap-starter/src/main/java/org/apache/camel/component/atlasmap/springboot/AtlasMapComponentConverter.java b/components-starter/camel-atlasmap-starter/src/main/java/org/apache/camel/component/atlasmap/springboot/AtlasMapComponentConverter.java
new file mode 100644
index 0000000..6a7783a
--- /dev/null
+++ b/components-starter/camel-atlasmap-starter/src/main/java/org/apache/camel/component/atlasmap/springboot/AtlasMapComponentConverter.java
@@ -0,0 +1,63 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.atlasmap.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class AtlasMapComponentConverter
+ implements
+ org.springframework.core.convert.converter.GenericConverter {
+
+ private final CamelContext camelContext;
+
+ public AtlasMapComponentConverter(org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
+ public Set<ConvertiblePair> getConvertibleTypes() {
+ Set<ConvertiblePair> answer = new LinkedHashSet<>();
+ answer.add(new ConvertiblePair(String.class, io.atlasmap.api.AtlasContextFactory.class));
+ return answer;
+ }
+
+ public Object convert(
+ Object source,
+ TypeDescriptor sourceType,
+ TypeDescriptor targetType) {
+ if (source == null) {
+ return null;
+ }
+ String ref = source.toString();
+ if (!ref.startsWith("#")) {
+ return null;
+ }
+ ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+ switch (targetType.getName()) {
+ case "io.atlasmap.api.AtlasContextFactory": return camelContext.getRegistry().lookupByNameAndType(ref, io.atlasmap.api.AtlasContextFactory.class);
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/components-starter/camel-atmos-starter/src/main/java/org/apache/camel/component/atmos/springboot/AtmosComponentAutoConfiguration.java b/components-starter/camel-atmos-starter/src/main/java/org/apache/camel/component/atmos/springboot/AtmosComponentAutoConfiguration.java
index ed6799f..b08e9c2 100644
--- a/components-starter/camel-atmos-starter/src/main/java/org/apache/camel/component/atmos/springboot/AtmosComponentAutoConfiguration.java
+++ b/components-starter/camel-atmos-starter/src/main/java/org/apache/camel/component/atmos/springboot/AtmosComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,15 @@ public class AtmosComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private AtmosComponentConfiguration configuration;
+ public AtmosComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureAtmosComponent() {
diff --git a/components-starter/camel-atmosphere-websocket-starter/src/main/java/org/apache/camel/component/atmosphere/websocket/springboot/WebsocketComponentAutoConfiguration.java b/components-starter/camel-atmosphere-websocket-starter/src/main/java/org/apache/camel/component/atmosphere/websocket/springboot/WebsocketComponentAutoConfiguration.java
index b6bc50f..bb610a5 100644
--- a/components-starter/camel-atmosphere-websocket-starter/src/main/java/org/apache/camel/component/atmosphere/websocket/springboot/WebsocketComponentAutoConfiguration.java
+++ b/components-starter/camel-atmosphere-websocket-starter/src/main/java/org/apache/camel/component/atmosphere/websocket/springboot/WebsocketComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class WebsocketComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private WebsocketComponentConfiguration configuration;
+ public WebsocketComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+ acs.addConverter(new WebsocketComponentConverter(camelContext));
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureWebsocketComponent() {
diff --git a/components-starter/camel-atmosphere-websocket-starter/src/main/java/org/apache/camel/component/atmosphere/websocket/springboot/WebsocketComponentConverter.java b/components-starter/camel-atmosphere-websocket-starter/src/main/java/org/apache/camel/component/atmosphere/websocket/springboot/WebsocketComponentConverter.java
new file mode 100644
index 0000000..4215db3
--- /dev/null
+++ b/components-starter/camel-atmosphere-websocket-starter/src/main/java/org/apache/camel/component/atmosphere/websocket/springboot/WebsocketComponentConverter.java
@@ -0,0 +1,70 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.atmosphere.websocket.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class WebsocketComponentConverter
+ implements
+ org.springframework.core.convert.converter.GenericConverter {
+
+ private final CamelContext camelContext;
+
+ public WebsocketComponentConverter(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
+ public Set<ConvertiblePair> getConvertibleTypes() {
+ Set<ConvertiblePair> answer = new LinkedHashSet<>();
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.http.common.HttpRegistry.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.http.common.HttpBinding.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.http.common.HttpConfiguration.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.spi.HeaderFilterStrategy.class));
+ return answer;
+ }
+
+ public Object convert(
+ Object source,
+ TypeDescriptor sourceType,
+ TypeDescriptor targetType) {
+ if (source == null) {
+ return null;
+ }
+ String ref = source.toString();
+ if (!ref.startsWith("#")) {
+ return null;
+ }
+ ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+ switch (targetType.getName()) {
+ case "org.apache.camel.http.common.HttpRegistry": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.http.common.HttpRegistry.class);
+ case "org.apache.camel.http.common.HttpBinding": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.http.common.HttpBinding.class);
+ case "org.apache.camel.http.common.HttpConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.http.common.HttpConfiguration.class);
+ case "org.apache.camel.spi.HeaderFilterStrategy": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.spi.HeaderFilterStrategy.class);
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/components-starter/camel-atom-starter/src/main/java/org/apache/camel/component/atom/springboot/AtomComponentAutoConfiguration.java b/components-starter/camel-atom-starter/src/main/java/org/apache/camel/component/atom/springboot/AtomComponentAutoConfiguration.java
index 794307e..bd4e250 100644
--- a/components-starter/camel-atom-starter/src/main/java/org/apache/camel/component/atom/springboot/AtomComponentAutoConfiguration.java
+++ b/components-starter/camel-atom-starter/src/main/java/org/apache/camel/component/atom/springboot/AtomComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,15 @@ public class AtomComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private AtomComponentConfiguration configuration;
+ public AtomComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureAtomComponent() {
diff --git a/components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/map/springboot/AtomixMapComponentAutoConfiguration.java b/components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/map/springboot/AtomixMapComponentAutoConfiguration.java
index 3a19bac..a35edb2 100644
--- a/components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/map/springboot/AtomixMapComponentAutoConfiguration.java
+++ b/components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/map/springboot/AtomixMapComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class AtomixMapComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private AtomixMapComponentConfiguration configuration;
+ public AtomixMapComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+ acs.addConverter(new AtomixMapComponentConverter(camelContext));
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureAtomixMapComponent() {
diff --git a/components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/map/springboot/AtomixMapComponentConverter.java b/components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/map/springboot/AtomixMapComponentConverter.java
new file mode 100644
index 0000000..d2c9c38
--- /dev/null
+++ b/components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/map/springboot/AtomixMapComponentConverter.java
@@ -0,0 +1,74 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.atomix.client.map.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class AtomixMapComponentConverter
+ implements
+ org.springframework.core.convert.converter.GenericConverter {
+
+ private final CamelContext camelContext;
+
+ public AtomixMapComponentConverter(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
+ public Set<ConvertiblePair> getConvertibleTypes() {
+ Set<ConvertiblePair> answer = new LinkedHashSet<>();
+ answer.add(new ConvertiblePair(String.class, io.atomix.Atomix.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.atomix.client.map.AtomixMapConfiguration.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.atomix.client.map.AtomixMap.Action.class));
+ answer.add(new ConvertiblePair(String.class, java.lang.Object.class));
+ answer.add(new ConvertiblePair(String.class, java.util.Properties.class));
+ answer.add(new ConvertiblePair(String.class, io.atomix.resource.ReadConsistency.class));
+ return answer;
+ }
+
+ public Object convert(
+ Object source,
+ TypeDescriptor sourceType,
+ TypeDescriptor targetType) {
+ if (source == null) {
+ return null;
+ }
+ String ref = source.toString();
+ if (!ref.startsWith("#")) {
+ return null;
+ }
+ ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+ switch (targetType.getName()) {
+ case "io.atomix.Atomix": return camelContext.getRegistry().lookupByNameAndType(ref, io.atomix.Atomix.class);
+ case "org.apache.camel.component.atomix.client.map.AtomixMapConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.atomix.client.map.AtomixMapConfiguration.class);
+ case "org.apache.camel.component.atomix.client.map.AtomixMap.Action": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.atomix.client.map.AtomixMap.Action.class);
+ case "java.lang.Object": return camelContext.getRegistry().lookupByNameAndType(ref, java.lang.Object.class);
+ case "java.util.Properties": return camelContext.getRegistry().lookupByNameAndType(ref, java.util.Properties.class);
+ case "io.atomix.resource.ReadConsistency": return camelContext.getRegistry().lookupByNameAndType(ref, io.atomix.resource.ReadConsistency.class);
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/messaging/springboot/AtomixMessagingComponentAutoConfiguration.java b/components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/messaging/springboot/AtomixMessagingComponentAutoConfiguration.java
index 7219287..d0a0c6f 100644
--- a/components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/messaging/springboot/AtomixMessagingComponentAutoConfiguration.java
+++ b/components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/messaging/springboot/AtomixMessagingComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class AtomixMessagingComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private AtomixMessagingComponentConfiguration configuration;
+ public AtomixMessagingComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+ acs.addConverter(new AtomixMessagingComponentConverter(camelContext));
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureAtomixMessagingComponent() {
diff --git a/components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/messaging/springboot/AtomixMessagingComponentConverter.java b/components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/messaging/springboot/AtomixMessagingComponentConverter.java
new file mode 100644
index 0000000..c25caed
--- /dev/null
+++ b/components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/messaging/springboot/AtomixMessagingComponentConverter.java
@@ -0,0 +1,74 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.atomix.client.messaging.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class AtomixMessagingComponentConverter
+ implements
+ org.springframework.core.convert.converter.GenericConverter {
+
+ private final CamelContext camelContext;
+
+ public AtomixMessagingComponentConverter(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
+ public Set<ConvertiblePair> getConvertibleTypes() {
+ Set<ConvertiblePair> answer = new LinkedHashSet<>();
+ answer.add(new ConvertiblePair(String.class, io.atomix.Atomix.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.atomix.client.messaging.AtomixMessaging.BroadcastType.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.atomix.client.messaging.AtomixMessagingConfiguration.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.atomix.client.messaging.AtomixMessaging.Action.class));
+ answer.add(new ConvertiblePair(String.class, java.util.Properties.class));
+ answer.add(new ConvertiblePair(String.class, io.atomix.resource.ReadConsistency.class));
+ return answer;
+ }
+
+ public Object convert(
+ Object source,
+ TypeDescriptor sourceType,
+ TypeDescriptor targetType) {
+ if (source == null) {
+ return null;
+ }
+ String ref = source.toString();
+ if (!ref.startsWith("#")) {
+ return null;
+ }
+ ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+ switch (targetType.getName()) {
+ case "io.atomix.Atomix": return camelContext.getRegistry().lookupByNameAndType(ref, io.atomix.Atomix.class);
+ case "org.apache.camel.component.atomix.client.messaging.AtomixMessaging.BroadcastType": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.atomix.client.messaging.AtomixMessaging.BroadcastType.class);
+ case "org.apache.camel.component.atomix.client.messaging.AtomixMessagingConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.atomix.client.messaging.AtomixMessagingConfiguration.class);
+ case "org.apache.camel.component.atomix.client.messaging.AtomixMessaging.Action": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.atomix.client.messaging.AtomixMessaging.Action.class);
+ case "java.util.Properties": return camelContext.getRegistry().lookupByNameAndType(ref, java.util.Properties.class);
+ case "io.atomix.resource.ReadConsistency": return camelContext.getRegistry().lookupByNameAndType(ref, io.atomix.resource.ReadConsistency.class);
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/multimap/springboot/AtomixMultiMapComponentAutoConfiguration.java b/components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/multimap/springboot/AtomixMultiMapComponentAutoConfiguration.java
index 8684751..52e1f8c 100644
--- a/components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/multimap/springboot/AtomixMultiMapComponentAutoConfiguration.java
+++ b/components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/multimap/springboot/AtomixMultiMapComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class AtomixMultiMapComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private AtomixMultiMapComponentConfiguration configuration;
+ public AtomixMultiMapComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+ acs.addConverter(new AtomixMultiMapComponentConverter(camelContext));
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureAtomixMultiMapComponent() {
diff --git a/components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/multimap/springboot/AtomixMultiMapComponentConverter.java b/components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/multimap/springboot/AtomixMultiMapComponentConverter.java
new file mode 100644
index 0000000..39e20c4
--- /dev/null
+++ b/components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/multimap/springboot/AtomixMultiMapComponentConverter.java
@@ -0,0 +1,74 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.atomix.client.multimap.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class AtomixMultiMapComponentConverter
+ implements
+ org.springframework.core.convert.converter.GenericConverter {
+
+ private final CamelContext camelContext;
+
+ public AtomixMultiMapComponentConverter(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
+ public Set<ConvertiblePair> getConvertibleTypes() {
+ Set<ConvertiblePair> answer = new LinkedHashSet<>();
+ answer.add(new ConvertiblePair(String.class, io.atomix.Atomix.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.atomix.client.multimap.AtomixMultiMapConfiguration.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.atomix.client.multimap.AtomixMultiMap.Action.class));
+ answer.add(new ConvertiblePair(String.class, java.lang.Object.class));
+ answer.add(new ConvertiblePair(String.class, java.util.Properties.class));
+ answer.add(new ConvertiblePair(String.class, io.atomix.resource.ReadConsistency.class));
+ return answer;
+ }
+
+ public Object convert(
+ Object source,
+ TypeDescriptor sourceType,
+ TypeDescriptor targetType) {
+ if (source == null) {
+ return null;
+ }
+ String ref = source.toString();
+ if (!ref.startsWith("#")) {
+ return null;
+ }
+ ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+ switch (targetType.getName()) {
+ case "io.atomix.Atomix": return camelContext.getRegistry().lookupByNameAndType(ref, io.atomix.Atomix.class);
+ case "org.apache.camel.component.atomix.client.multimap.AtomixMultiMapConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.atomix.client.multimap.AtomixMultiMapConfiguration.class);
+ case "org.apache.camel.component.atomix.client.multimap.AtomixMultiMap.Action": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.atomix.client.multimap.AtomixMultiMap.Action.class);
+ case "java.lang.Object": return camelContext.getRegistry().lookupByNameAndType(ref, java.lang.Object.class);
+ case "java.util.Properties": return camelContext.getRegistry().lookupByNameAndType(ref, java.util.Properties.class);
+ case "io.atomix.resource.ReadConsistency": return camelContext.getRegistry().lookupByNameAndType(ref, io.atomix.resource.ReadConsistency.class);
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/queue/springboot/AtomixQueueComponentAutoConfiguration.java b/components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/queue/springboot/AtomixQueueComponentAutoConfiguration.java
index 03e73b3..398968a 100644
--- a/components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/queue/springboot/AtomixQueueComponentAutoConfiguration.java
+++ b/components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/queue/springboot/AtomixQueueComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class AtomixQueueComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private AtomixQueueComponentConfiguration configuration;
+ public AtomixQueueComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+ acs.addConverter(new AtomixQueueComponentConverter(camelContext));
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureAtomixQueueComponent() {
diff --git a/components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/queue/springboot/AtomixQueueComponentConverter.java b/components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/queue/springboot/AtomixQueueComponentConverter.java
new file mode 100644
index 0000000..a31806f
--- /dev/null
+++ b/components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/queue/springboot/AtomixQueueComponentConverter.java
@@ -0,0 +1,72 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.atomix.client.queue.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class AtomixQueueComponentConverter
+ implements
+ org.springframework.core.convert.converter.GenericConverter {
+
+ private final CamelContext camelContext;
+
+ public AtomixQueueComponentConverter(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
+ public Set<ConvertiblePair> getConvertibleTypes() {
+ Set<ConvertiblePair> answer = new LinkedHashSet<>();
+ answer.add(new ConvertiblePair(String.class, io.atomix.Atomix.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.atomix.client.queue.AtomixQueueConfiguration.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.atomix.client.queue.AtomixQueue.Action.class));
+ answer.add(new ConvertiblePair(String.class, java.util.Properties.class));
+ answer.add(new ConvertiblePair(String.class, io.atomix.resource.ReadConsistency.class));
+ return answer;
+ }
+
+ public Object convert(
+ Object source,
+ TypeDescriptor sourceType,
+ TypeDescriptor targetType) {
+ if (source == null) {
+ return null;
+ }
+ String ref = source.toString();
+ if (!ref.startsWith("#")) {
+ return null;
+ }
+ ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+ switch (targetType.getName()) {
+ case "io.atomix.Atomix": return camelContext.getRegistry().lookupByNameAndType(ref, io.atomix.Atomix.class);
+ case "org.apache.camel.component.atomix.client.queue.AtomixQueueConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.atomix.client.queue.AtomixQueueConfiguration.class);
+ case "org.apache.camel.component.atomix.client.queue.AtomixQueue.Action": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.atomix.client.queue.AtomixQueue.Action.class);
+ case "java.util.Properties": return camelContext.getRegistry().lookupByNameAndType(ref, java.util.Properties.class);
+ case "io.atomix.resource.ReadConsistency": return camelContext.getRegistry().lookupByNameAndType(ref, io.atomix.resource.ReadConsistency.class);
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/set/springboot/AtomixSetComponentAutoConfiguration.java b/components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/set/springboot/AtomixSetComponentAutoConfiguration.java
index 1be55ca..bdc30d9 100644
--- a/components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/set/springboot/AtomixSetComponentAutoConfiguration.java
+++ b/components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/set/springboot/AtomixSetComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class AtomixSetComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private AtomixSetComponentConfiguration configuration;
+ public AtomixSetComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+ acs.addConverter(new AtomixSetComponentConverter(camelContext));
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureAtomixSetComponent() {
diff --git a/components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/set/springboot/AtomixSetComponentConverter.java b/components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/set/springboot/AtomixSetComponentConverter.java
new file mode 100644
index 0000000..e706c6b
--- /dev/null
+++ b/components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/set/springboot/AtomixSetComponentConverter.java
@@ -0,0 +1,72 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.atomix.client.set.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class AtomixSetComponentConverter
+ implements
+ org.springframework.core.convert.converter.GenericConverter {
+
+ private final CamelContext camelContext;
+
+ public AtomixSetComponentConverter(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
+ public Set<ConvertiblePair> getConvertibleTypes() {
+ Set<ConvertiblePair> answer = new LinkedHashSet<>();
+ answer.add(new ConvertiblePair(String.class, io.atomix.Atomix.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.atomix.client.set.AtomixSetConfiguration.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.atomix.client.set.AtomixSet.Action.class));
+ answer.add(new ConvertiblePair(String.class, java.util.Properties.class));
+ answer.add(new ConvertiblePair(String.class, io.atomix.resource.ReadConsistency.class));
+ return answer;
+ }
+
+ public Object convert(
+ Object source,
+ TypeDescriptor sourceType,
+ TypeDescriptor targetType) {
+ if (source == null) {
+ return null;
+ }
+ String ref = source.toString();
+ if (!ref.startsWith("#")) {
+ return null;
+ }
+ ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+ switch (targetType.getName()) {
+ case "io.atomix.Atomix": return camelContext.getRegistry().lookupByNameAndType(ref, io.atomix.Atomix.class);
+ case "org.apache.camel.component.atomix.client.set.AtomixSetConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.atomix.client.set.AtomixSetConfiguration.class);
+ case "org.apache.camel.component.atomix.client.set.AtomixSet.Action": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.atomix.client.set.AtomixSet.Action.class);
+ case "java.util.Properties": return camelContext.getRegistry().lookupByNameAndType(ref, java.util.Properties.class);
+ case "io.atomix.resource.ReadConsistency": return camelContext.getRegistry().lookupByNameAndType(ref, io.atomix.resource.ReadConsistency.class);
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/value/springboot/AtomixValueComponentAutoConfiguration.java b/components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/value/springboot/AtomixValueComponentAutoConfiguration.java
index e2d515d..4a80aaf 100644
--- a/components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/value/springboot/AtomixValueComponentAutoConfiguration.java
+++ b/components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/value/springboot/AtomixValueComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class AtomixValueComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private AtomixValueComponentConfiguration configuration;
+ public AtomixValueComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+ acs.addConverter(new AtomixValueComponentConverter(camelContext));
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureAtomixValueComponent() {
diff --git a/components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/value/springboot/AtomixValueComponentConverter.java b/components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/value/springboot/AtomixValueComponentConverter.java
new file mode 100644
index 0000000..0c94dfe
--- /dev/null
+++ b/components-starter/camel-atomix-starter/src/main/java/org/apache/camel/component/atomix/client/value/springboot/AtomixValueComponentConverter.java
@@ -0,0 +1,72 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.atomix.client.value.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class AtomixValueComponentConverter
+ implements
+ org.springframework.core.convert.converter.GenericConverter {
+
+ private final CamelContext camelContext;
+
+ public AtomixValueComponentConverter(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
+ public Set<ConvertiblePair> getConvertibleTypes() {
+ Set<ConvertiblePair> answer = new LinkedHashSet<>();
+ answer.add(new ConvertiblePair(String.class, io.atomix.Atomix.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.atomix.client.value.AtomixValueConfiguration.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.atomix.client.value.AtomixValue.Action.class));
+ answer.add(new ConvertiblePair(String.class, java.util.Properties.class));
+ answer.add(new ConvertiblePair(String.class, io.atomix.resource.ReadConsistency.class));
+ return answer;
+ }
+
+ public Object convert(
+ Object source,
+ TypeDescriptor sourceType,
+ TypeDescriptor targetType) {
+ if (source == null) {
+ return null;
+ }
+ String ref = source.toString();
+ if (!ref.startsWith("#")) {
+ return null;
+ }
+ ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+ switch (targetType.getName()) {
+ case "io.atomix.Atomix": return camelContext.getRegistry().lookupByNameAndType(ref, io.atomix.Atomix.class);
+ case "org.apache.camel.component.atomix.client.value.AtomixValueConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.atomix.client.value.AtomixValueConfiguration.class);
+ case "org.apache.camel.component.atomix.client.value.AtomixValue.Action": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.atomix.client.value.AtomixValue.Action.class);
+ case "java.util.Properties": return camelContext.getRegistry().lookupByNameAndType(ref, java.util.Properties.class);
+ case "io.atomix.resource.ReadConsistency": return camelContext.getRegistry().lookupByNameAndType(ref, io.atomix.resource.ReadConsistency.class);
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/components-starter/camel-avro-rpc-starter/src/main/java/org/apache/camel/component/avro/springboot/AvroComponentAutoConfiguration.java b/components-starter/camel-avro-rpc-starter/src/main/java/org/apache/camel/component/avro/springboot/AvroComponentAutoConfiguration.java
index afdc2e3..6c59ead 100644
--- a/components-starter/camel-avro-rpc-starter/src/main/java/org/apache/camel/component/avro/springboot/AvroComponentAutoConfiguration.java
+++ b/components-starter/camel-avro-rpc-starter/src/main/java/org/apache/camel/component/avro/springboot/AvroComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class AvroComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private AvroComponentConfiguration configuration;
+ public AvroComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+ acs.addConverter(new AvroComponentConverter(camelContext));
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureAvroComponent() {
diff --git a/components-starter/camel-avro-rpc-starter/src/main/java/org/apache/camel/component/avro/springboot/AvroComponentConverter.java b/components-starter/camel-avro-rpc-starter/src/main/java/org/apache/camel/component/avro/springboot/AvroComponentConverter.java
new file mode 100644
index 0000000..6986a50
--- /dev/null
+++ b/components-starter/camel-avro-rpc-starter/src/main/java/org/apache/camel/component/avro/springboot/AvroComponentConverter.java
@@ -0,0 +1,65 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.avro.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class AvroComponentConverter
+ implements
+ org.springframework.core.convert.converter.GenericConverter {
+
+ private final CamelContext camelContext;
+
+ public AvroComponentConverter(org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
+ public Set<ConvertiblePair> getConvertibleTypes() {
+ Set<ConvertiblePair> answer = new LinkedHashSet<>();
+ answer.add(new ConvertiblePair(String.class, org.apache.avro.Protocol.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.avro.AvroConfiguration.class));
+ return answer;
+ }
+
+ public Object convert(
+ Object source,
+ TypeDescriptor sourceType,
+ TypeDescriptor targetType) {
+ if (source == null) {
+ return null;
+ }
+ String ref = source.toString();
+ if (!ref.startsWith("#")) {
+ return null;
+ }
+ ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+ switch (targetType.getName()) {
+ case "org.apache.avro.Protocol": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.avro.Protocol.class);
+ case "org.apache.camel.component.avro.AvroConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.avro.AvroConfiguration.class);
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/components-starter/camel-avro-starter/src/main/java/org/apache/camel/dataformat/avro/springboot/AvroDataFormatAutoConfiguration.java b/components-starter/camel-avro-starter/src/main/java/org/apache/camel/dataformat/avro/springboot/AvroDataFormatAutoConfiguration.java
index 78d0aa1..782b7ce 100644
--- a/components-starter/camel-avro-starter/src/main/java/org/apache/camel/dataformat/avro/springboot/AvroDataFormatAutoConfiguration.java
+++ b/components-starter/camel-avro-starter/src/main/java/org/apache/camel/dataformat/avro/springboot/AvroDataFormatAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,15 @@ public class AvroDataFormatAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private AvroDataFormatConfiguration configuration;
+ public AvroDataFormatAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
@Lazy
@Bean
public DataFormatCustomizer configureAvroDataFormatFactory() {
diff --git a/components-starter/camel-aws-cw-starter/src/main/java/org/apache/camel/component/aws/cw/springboot/CwComponentAutoConfiguration.java b/components-starter/camel-aws-cw-starter/src/main/java/org/apache/camel/component/aws/cw/springboot/CwComponentAutoConfiguration.java
index 45a0869..5092e1e 100644
--- a/components-starter/camel-aws-cw-starter/src/main/java/org/apache/camel/component/aws/cw/springboot/CwComponentAutoConfiguration.java
+++ b/components-starter/camel-aws-cw-starter/src/main/java/org/apache/camel/component/aws/cw/springboot/CwComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class CwComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private CwComponentConfiguration configuration;
+ public CwComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+ acs.addConverter(new CwComponentConverter(camelContext));
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureCwComponent() {
diff --git a/components-starter/camel-aws-cw-starter/src/main/java/org/apache/camel/component/aws/cw/springboot/CwComponentConverter.java b/components-starter/camel-aws-cw-starter/src/main/java/org/apache/camel/component/aws/cw/springboot/CwComponentConverter.java
new file mode 100644
index 0000000..bcc4bdf
--- /dev/null
+++ b/components-starter/camel-aws-cw-starter/src/main/java/org/apache/camel/component/aws/cw/springboot/CwComponentConverter.java
@@ -0,0 +1,67 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws.cw.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class CwComponentConverter
+ implements
+ org.springframework.core.convert.converter.GenericConverter {
+
+ private final CamelContext camelContext;
+
+ public CwComponentConverter(org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
+ public Set<ConvertiblePair> getConvertibleTypes() {
+ Set<ConvertiblePair> answer = new LinkedHashSet<>();
+ answer.add(new ConvertiblePair(String.class, com.amazonaws.services.cloudwatch.AmazonCloudWatch.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws.cw.CwConfiguration.class));
+ answer.add(new ConvertiblePair(String.class, com.amazonaws.Protocol.class));
+ return answer;
+ }
+
+ public Object convert(
+ Object source,
+ TypeDescriptor sourceType,
+ TypeDescriptor targetType) {
+ if (source == null) {
+ return null;
+ }
+ String ref = source.toString();
+ if (!ref.startsWith("#")) {
+ return null;
+ }
+ ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+ switch (targetType.getName()) {
+ case "com.amazonaws.services.cloudwatch.AmazonCloudWatch": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.services.cloudwatch.AmazonCloudWatch.class);
+ case "org.apache.camel.component.aws.cw.CwConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws.cw.CwConfiguration.class);
+ case "com.amazonaws.Protocol": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.Protocol.class);
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/components-starter/camel-aws-ddb-starter/src/main/java/org/apache/camel/component/aws/ddb/springboot/DdbComponentAutoConfiguration.java b/components-starter/camel-aws-ddb-starter/src/main/java/org/apache/camel/component/aws/ddb/springboot/DdbComponentAutoConfiguration.java
index 2f289e2..025e053 100644
--- a/components-starter/camel-aws-ddb-starter/src/main/java/org/apache/camel/component/aws/ddb/springboot/DdbComponentAutoConfiguration.java
+++ b/components-starter/camel-aws-ddb-starter/src/main/java/org/apache/camel/component/aws/ddb/springboot/DdbComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class DdbComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private DdbComponentConfiguration configuration;
+ public DdbComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+ acs.addConverter(new DdbComponentConverter(camelContext));
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureDdbComponent() {
diff --git a/components-starter/camel-aws-ddb-starter/src/main/java/org/apache/camel/component/aws/ddb/springboot/DdbComponentConverter.java b/components-starter/camel-aws-ddb-starter/src/main/java/org/apache/camel/component/aws/ddb/springboot/DdbComponentConverter.java
new file mode 100644
index 0000000..066f058
--- /dev/null
+++ b/components-starter/camel-aws-ddb-starter/src/main/java/org/apache/camel/component/aws/ddb/springboot/DdbComponentConverter.java
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws.ddb.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class DdbComponentConverter
+ implements
+ org.springframework.core.convert.converter.GenericConverter {
+
+ private final CamelContext camelContext;
+
+ public DdbComponentConverter(org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
+ public Set<ConvertiblePair> getConvertibleTypes() {
+ Set<ConvertiblePair> answer = new LinkedHashSet<>();
+ answer.add(new ConvertiblePair(String.class, com.amazonaws.services.dynamodbv2.AmazonDynamoDB.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws.ddb.DdbConfiguration.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws.ddb.DdbOperations.class));
+ answer.add(new ConvertiblePair(String.class, com.amazonaws.Protocol.class));
+ return answer;
+ }
+
+ public Object convert(
+ Object source,
+ TypeDescriptor sourceType,
+ TypeDescriptor targetType) {
+ if (source == null) {
+ return null;
+ }
+ String ref = source.toString();
+ if (!ref.startsWith("#")) {
+ return null;
+ }
+ ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+ switch (targetType.getName()) {
+ case "com.amazonaws.services.dynamodbv2.AmazonDynamoDB": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.services.dynamodbv2.AmazonDynamoDB.class);
+ case "org.apache.camel.component.aws.ddb.DdbConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws.ddb.DdbConfiguration.class);
+ case "org.apache.camel.component.aws.ddb.DdbOperations": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws.ddb.DdbOperations.class);
+ case "com.amazonaws.Protocol": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.Protocol.class);
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/components-starter/camel-aws-ddb-starter/src/main/java/org/apache/camel/component/aws/ddbstream/springboot/DdbStreamComponentAutoConfiguration.java b/components-starter/camel-aws-ddb-starter/src/main/java/org/apache/camel/component/aws/ddbstream/springboot/DdbStreamComponentAutoConfiguration.java
index 22b786b..ced2c59 100644
--- a/components-starter/camel-aws-ddb-starter/src/main/java/org/apache/camel/component/aws/ddbstream/springboot/DdbStreamComponentAutoConfiguration.java
+++ b/components-starter/camel-aws-ddb-starter/src/main/java/org/apache/camel/component/aws/ddbstream/springboot/DdbStreamComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class DdbStreamComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private DdbStreamComponentConfiguration configuration;
+ public DdbStreamComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+ acs.addConverter(new DdbStreamComponentConverter(camelContext));
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureDdbStreamComponent() {
diff --git a/components-starter/camel-aws-ddb-starter/src/main/java/org/apache/camel/component/aws/ddbstream/springboot/DdbStreamComponentConverter.java b/components-starter/camel-aws-ddb-starter/src/main/java/org/apache/camel/component/aws/ddbstream/springboot/DdbStreamComponentConverter.java
new file mode 100644
index 0000000..c848d6e
--- /dev/null
+++ b/components-starter/camel-aws-ddb-starter/src/main/java/org/apache/camel/component/aws/ddbstream/springboot/DdbStreamComponentConverter.java
@@ -0,0 +1,72 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws.ddbstream.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class DdbStreamComponentConverter
+ implements
+ org.springframework.core.convert.converter.GenericConverter {
+
+ private final CamelContext camelContext;
+
+ public DdbStreamComponentConverter(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
+ public Set<ConvertiblePair> getConvertibleTypes() {
+ Set<ConvertiblePair> answer = new LinkedHashSet<>();
+ answer.add(new ConvertiblePair(String.class, com.amazonaws.services.dynamodbv2.AmazonDynamoDBStreams.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws.ddbstream.DdbStreamConfiguration.class));
+ answer.add(new ConvertiblePair(String.class, com.amazonaws.services.dynamodbv2.model.ShardIteratorType.class));
+ answer.add(new ConvertiblePair(String.class, com.amazonaws.Protocol.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws.ddbstream.SequenceNumberProvider.class));
+ return answer;
+ }
+
+ public Object convert(
+ Object source,
+ TypeDescriptor sourceType,
+ TypeDescriptor targetType) {
+ if (source == null) {
+ return null;
+ }
+ String ref = source.toString();
+ if (!ref.startsWith("#")) {
+ return null;
+ }
+ ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+ switch (targetType.getName()) {
+ case "com.amazonaws.services.dynamodbv2.AmazonDynamoDBStreams": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.services.dynamodbv2.AmazonDynamoDBStreams.class);
+ case "org.apache.camel.component.aws.ddbstream.DdbStreamConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws.ddbstream.DdbStreamConfiguration.class);
+ case "com.amazonaws.services.dynamodbv2.model.ShardIteratorType": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.services.dynamodbv2.model.ShardIteratorType.class);
+ case "com.amazonaws.Protocol": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.Protocol.class);
+ case "org.apache.camel.component.aws.ddbstream.SequenceNumberProvider": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws.ddbstream.SequenceNumberProvider.class);
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/components-starter/camel-aws-ec2-starter/src/main/java/org/apache/camel/component/aws/ec2/springboot/EC2ComponentAutoConfiguration.java b/components-starter/camel-aws-ec2-starter/src/main/java/org/apache/camel/component/aws/ec2/springboot/EC2ComponentAutoConfiguration.java
index e6bd4d2..ed086b7 100644
--- a/components-starter/camel-aws-ec2-starter/src/main/java/org/apache/camel/component/aws/ec2/springboot/EC2ComponentAutoConfiguration.java
+++ b/components-starter/camel-aws-ec2-starter/src/main/java/org/apache/camel/component/aws/ec2/springboot/EC2ComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class EC2ComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private EC2ComponentConfiguration configuration;
+ public EC2ComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+ acs.addConverter(new EC2ComponentConverter(camelContext));
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureEC2Component() {
diff --git a/components-starter/camel-aws-ec2-starter/src/main/java/org/apache/camel/component/aws/ec2/springboot/EC2ComponentConverter.java b/components-starter/camel-aws-ec2-starter/src/main/java/org/apache/camel/component/aws/ec2/springboot/EC2ComponentConverter.java
new file mode 100644
index 0000000..cfe32fd
--- /dev/null
+++ b/components-starter/camel-aws-ec2-starter/src/main/java/org/apache/camel/component/aws/ec2/springboot/EC2ComponentConverter.java
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws.ec2.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class EC2ComponentConverter
+ implements
+ org.springframework.core.convert.converter.GenericConverter {
+
+ private final CamelContext camelContext;
+
+ public EC2ComponentConverter(org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
+ public Set<ConvertiblePair> getConvertibleTypes() {
+ Set<ConvertiblePair> answer = new LinkedHashSet<>();
+ answer.add(new ConvertiblePair(String.class, com.amazonaws.services.ec2.AmazonEC2.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws.ec2.EC2Configuration.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws.ec2.EC2Operations.class));
+ answer.add(new ConvertiblePair(String.class, com.amazonaws.Protocol.class));
+ return answer;
+ }
+
+ public Object convert(
+ Object source,
+ TypeDescriptor sourceType,
+ TypeDescriptor targetType) {
+ if (source == null) {
+ return null;
+ }
+ String ref = source.toString();
+ if (!ref.startsWith("#")) {
+ return null;
+ }
+ ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+ switch (targetType.getName()) {
+ case "com.amazonaws.services.ec2.AmazonEC2": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.services.ec2.AmazonEC2.class);
+ case "org.apache.camel.component.aws.ec2.EC2Configuration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws.ec2.EC2Configuration.class);
+ case "org.apache.camel.component.aws.ec2.EC2Operations": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws.ec2.EC2Operations.class);
+ case "com.amazonaws.Protocol": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.Protocol.class);
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/components-starter/camel-aws-ecs-starter/src/main/java/org/apache/camel/component/aws/ecs/springboot/ECSComponentAutoConfiguration.java b/components-starter/camel-aws-ecs-starter/src/main/java/org/apache/camel/component/aws/ecs/springboot/ECSComponentAutoConfiguration.java
index ecc6183..91e6347 100644
--- a/components-starter/camel-aws-ecs-starter/src/main/java/org/apache/camel/component/aws/ecs/springboot/ECSComponentAutoConfiguration.java
+++ b/components-starter/camel-aws-ecs-starter/src/main/java/org/apache/camel/component/aws/ecs/springboot/ECSComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class ECSComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private ECSComponentConfiguration configuration;
+ public ECSComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+ acs.addConverter(new ECSComponentConverter(camelContext));
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureECSComponent() {
diff --git a/components-starter/camel-aws-ecs-starter/src/main/java/org/apache/camel/component/aws/ecs/springboot/ECSComponentConverter.java b/components-starter/camel-aws-ecs-starter/src/main/java/org/apache/camel/component/aws/ecs/springboot/ECSComponentConverter.java
new file mode 100644
index 0000000..e3a646c
--- /dev/null
+++ b/components-starter/camel-aws-ecs-starter/src/main/java/org/apache/camel/component/aws/ecs/springboot/ECSComponentConverter.java
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws.ecs.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class ECSComponentConverter
+ implements
+ org.springframework.core.convert.converter.GenericConverter {
+
+ private final CamelContext camelContext;
+
+ public ECSComponentConverter(org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
+ public Set<ConvertiblePair> getConvertibleTypes() {
+ Set<ConvertiblePair> answer = new LinkedHashSet<>();
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws.ecs.ECSConfiguration.class));
+ answer.add(new ConvertiblePair(String.class, com.amazonaws.services.ecs.AmazonECS.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws.ecs.ECSOperations.class));
+ answer.add(new ConvertiblePair(String.class, com.amazonaws.Protocol.class));
+ return answer;
+ }
+
+ public Object convert(
+ Object source,
+ TypeDescriptor sourceType,
+ TypeDescriptor targetType) {
+ if (source == null) {
+ return null;
+ }
+ String ref = source.toString();
+ if (!ref.startsWith("#")) {
+ return null;
+ }
+ ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+ switch (targetType.getName()) {
+ case "org.apache.camel.component.aws.ecs.ECSConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws.ecs.ECSConfiguration.class);
+ case "com.amazonaws.services.ecs.AmazonECS": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.services.ecs.AmazonECS.class);
+ case "org.apache.camel.component.aws.ecs.ECSOperations": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws.ecs.ECSOperations.class);
+ case "com.amazonaws.Protocol": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.Protocol.class);
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/components-starter/camel-aws-eks-starter/src/main/java/org/apache/camel/component/aws/eks/springboot/EKSComponentAutoConfiguration.java b/components-starter/camel-aws-eks-starter/src/main/java/org/apache/camel/component/aws/eks/springboot/EKSComponentAutoConfiguration.java
index 9562fac..0bae4a5 100644
--- a/components-starter/camel-aws-eks-starter/src/main/java/org/apache/camel/component/aws/eks/springboot/EKSComponentAutoConfiguration.java
+++ b/components-starter/camel-aws-eks-starter/src/main/java/org/apache/camel/component/aws/eks/springboot/EKSComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class EKSComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private EKSComponentConfiguration configuration;
+ public EKSComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+ acs.addConverter(new EKSComponentConverter(camelContext));
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureEKSComponent() {
diff --git a/components-starter/camel-aws-eks-starter/src/main/java/org/apache/camel/component/aws/eks/springboot/EKSComponentConverter.java b/components-starter/camel-aws-eks-starter/src/main/java/org/apache/camel/component/aws/eks/springboot/EKSComponentConverter.java
new file mode 100644
index 0000000..9c7b853
--- /dev/null
+++ b/components-starter/camel-aws-eks-starter/src/main/java/org/apache/camel/component/aws/eks/springboot/EKSComponentConverter.java
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws.eks.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class EKSComponentConverter
+ implements
+ org.springframework.core.convert.converter.GenericConverter {
+
+ private final CamelContext camelContext;
+
+ public EKSComponentConverter(org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
+ public Set<ConvertiblePair> getConvertibleTypes() {
+ Set<ConvertiblePair> answer = new LinkedHashSet<>();
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws.eks.EKSConfiguration.class));
+ answer.add(new ConvertiblePair(String.class, com.amazonaws.services.eks.AmazonEKS.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws.eks.EKSOperations.class));
+ answer.add(new ConvertiblePair(String.class, com.amazonaws.Protocol.class));
+ return answer;
+ }
+
+ public Object convert(
+ Object source,
+ TypeDescriptor sourceType,
+ TypeDescriptor targetType) {
+ if (source == null) {
+ return null;
+ }
+ String ref = source.toString();
+ if (!ref.startsWith("#")) {
+ return null;
+ }
+ ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+ switch (targetType.getName()) {
+ case "org.apache.camel.component.aws.eks.EKSConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws.eks.EKSConfiguration.class);
+ case "com.amazonaws.services.eks.AmazonEKS": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.services.eks.AmazonEKS.class);
+ case "org.apache.camel.component.aws.eks.EKSOperations": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws.eks.EKSOperations.class);
+ case "com.amazonaws.Protocol": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.Protocol.class);
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/components-starter/camel-aws-iam-starter/src/main/java/org/apache/camel/component/aws/iam/springboot/IAMComponentAutoConfiguration.java b/components-starter/camel-aws-iam-starter/src/main/java/org/apache/camel/component/aws/iam/springboot/IAMComponentAutoConfiguration.java
index a2d13a4..0bdf80c 100644
--- a/components-starter/camel-aws-iam-starter/src/main/java/org/apache/camel/component/aws/iam/springboot/IAMComponentAutoConfiguration.java
+++ b/components-starter/camel-aws-iam-starter/src/main/java/org/apache/camel/component/aws/iam/springboot/IAMComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class IAMComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private IAMComponentConfiguration configuration;
+ public IAMComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+ acs.addConverter(new IAMComponentConverter(camelContext));
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureIAMComponent() {
diff --git a/components-starter/camel-aws-iam-starter/src/main/java/org/apache/camel/component/aws/iam/springboot/IAMComponentConverter.java b/components-starter/camel-aws-iam-starter/src/main/java/org/apache/camel/component/aws/iam/springboot/IAMComponentConverter.java
new file mode 100644
index 0000000..80fef08
--- /dev/null
+++ b/components-starter/camel-aws-iam-starter/src/main/java/org/apache/camel/component/aws/iam/springboot/IAMComponentConverter.java
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws.iam.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class IAMComponentConverter
+ implements
+ org.springframework.core.convert.converter.GenericConverter {
+
+ private final CamelContext camelContext;
+
+ public IAMComponentConverter(org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
+ public Set<ConvertiblePair> getConvertibleTypes() {
+ Set<ConvertiblePair> answer = new LinkedHashSet<>();
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws.iam.IAMConfiguration.class));
+ answer.add(new ConvertiblePair(String.class, com.amazonaws.services.identitymanagement.AmazonIdentityManagement.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws.iam.IAMOperations.class));
+ answer.add(new ConvertiblePair(String.class, com.amazonaws.Protocol.class));
+ return answer;
+ }
+
+ public Object convert(
+ Object source,
+ TypeDescriptor sourceType,
+ TypeDescriptor targetType) {
+ if (source == null) {
+ return null;
+ }
+ String ref = source.toString();
+ if (!ref.startsWith("#")) {
+ return null;
+ }
+ ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+ switch (targetType.getName()) {
+ case "org.apache.camel.component.aws.iam.IAMConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws.iam.IAMConfiguration.class);
+ case "com.amazonaws.services.identitymanagement.AmazonIdentityManagement": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.services.identitymanagement.AmazonIdentityManagement.class);
+ case "org.apache.camel.component.aws.iam.IAMOperations": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws.iam.IAMOperations.class);
+ case "com.amazonaws.Protocol": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.Protocol.class);
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/components-starter/camel-aws-kinesis-starter/src/main/java/org/apache/camel/component/aws/firehose/springboot/KinesisFirehoseComponentAutoConfiguration.java b/components-starter/camel-aws-kinesis-starter/src/main/java/org/apache/camel/component/aws/firehose/springboot/KinesisFirehoseComponentAutoConfiguration.java
index 5fd1621..dd0f1de 100644
--- a/components-starter/camel-aws-kinesis-starter/src/main/java/org/apache/camel/component/aws/firehose/springboot/KinesisFirehoseComponentAutoConfiguration.java
+++ b/components-starter/camel-aws-kinesis-starter/src/main/java/org/apache/camel/component/aws/firehose/springboot/KinesisFirehoseComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class KinesisFirehoseComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private KinesisFirehoseComponentConfiguration configuration;
+ public KinesisFirehoseComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+ acs.addConverter(new KinesisFirehoseComponentConverter(camelContext));
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureKinesisFirehoseComponent() {
diff --git a/components-starter/camel-aws-kinesis-starter/src/main/java/org/apache/camel/component/aws/firehose/springboot/KinesisFirehoseComponentConverter.java b/components-starter/camel-aws-kinesis-starter/src/main/java/org/apache/camel/component/aws/firehose/springboot/KinesisFirehoseComponentConverter.java
new file mode 100644
index 0000000..9d4aa90
--- /dev/null
+++ b/components-starter/camel-aws-kinesis-starter/src/main/java/org/apache/camel/component/aws/firehose/springboot/KinesisFirehoseComponentConverter.java
@@ -0,0 +1,68 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws.firehose.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class KinesisFirehoseComponentConverter
+ implements
+ org.springframework.core.convert.converter.GenericConverter {
+
+ private final CamelContext camelContext;
+
+ public KinesisFirehoseComponentConverter(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
+ public Set<ConvertiblePair> getConvertibleTypes() {
+ Set<ConvertiblePair> answer = new LinkedHashSet<>();
+ answer.add(new ConvertiblePair(String.class, com.amazonaws.services.kinesisfirehose.AmazonKinesisFirehose.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws.firehose.KinesisFirehoseConfiguration.class));
+ answer.add(new ConvertiblePair(String.class, com.amazonaws.Protocol.class));
+ return answer;
+ }
+
+ public Object convert(
+ Object source,
+ TypeDescriptor sourceType,
+ TypeDescriptor targetType) {
+ if (source == null) {
+ return null;
+ }
+ String ref = source.toString();
+ if (!ref.startsWith("#")) {
+ return null;
+ }
+ ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+ switch (targetType.getName()) {
+ case "com.amazonaws.services.kinesisfirehose.AmazonKinesisFirehose": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.services.kinesisfirehose.AmazonKinesisFirehose.class);
+ case "org.apache.camel.component.aws.firehose.KinesisFirehoseConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws.firehose.KinesisFirehoseConfiguration.class);
+ case "com.amazonaws.Protocol": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.Protocol.class);
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/components-starter/camel-aws-kinesis-starter/src/main/java/org/apache/camel/component/aws/kinesis/springboot/KinesisComponentAutoConfiguration.java b/components-starter/camel-aws-kinesis-starter/src/main/java/org/apache/camel/component/aws/kinesis/springboot/KinesisComponentAutoConfiguration.java
index ef9ac43..5fae020 100644
--- a/components-starter/camel-aws-kinesis-starter/src/main/java/org/apache/camel/component/aws/kinesis/springboot/KinesisComponentAutoConfiguration.java
+++ b/components-starter/camel-aws-kinesis-starter/src/main/java/org/apache/camel/component/aws/kinesis/springboot/KinesisComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class KinesisComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private KinesisComponentConfiguration configuration;
+ public KinesisComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+ acs.addConverter(new KinesisComponentConverter(camelContext));
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureKinesisComponent() {
diff --git a/components-starter/camel-aws-kinesis-starter/src/main/java/org/apache/camel/component/aws/kinesis/springboot/KinesisComponentConverter.java b/components-starter/camel-aws-kinesis-starter/src/main/java/org/apache/camel/component/aws/kinesis/springboot/KinesisComponentConverter.java
new file mode 100644
index 0000000..49ad844
--- /dev/null
+++ b/components-starter/camel-aws-kinesis-starter/src/main/java/org/apache/camel/component/aws/kinesis/springboot/KinesisComponentConverter.java
@@ -0,0 +1,71 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws.kinesis.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class KinesisComponentConverter
+ implements
+ org.springframework.core.convert.converter.GenericConverter {
+
+ private final CamelContext camelContext;
+
+ public KinesisComponentConverter(org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
+ public Set<ConvertiblePair> getConvertibleTypes() {
+ Set<ConvertiblePair> answer = new LinkedHashSet<>();
+ answer.add(new ConvertiblePair(String.class, com.amazonaws.services.kinesis.AmazonKinesis.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws.kinesis.KinesisConfiguration.class));
+ answer.add(new ConvertiblePair(String.class, com.amazonaws.Protocol.class));
+ answer.add(new ConvertiblePair(String.class, com.amazonaws.services.kinesis.model.ShardIteratorType.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws.kinesis.KinesisShardClosedStrategyEnum.class));
+ return answer;
+ }
+
+ public Object convert(
+ Object source,
+ TypeDescriptor sourceType,
+ TypeDescriptor targetType) {
+ if (source == null) {
+ return null;
+ }
+ String ref = source.toString();
+ if (!ref.startsWith("#")) {
+ return null;
+ }
+ ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+ switch (targetType.getName()) {
+ case "com.amazonaws.services.kinesis.AmazonKinesis": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.services.kinesis.AmazonKinesis.class);
+ case "org.apache.camel.component.aws.kinesis.KinesisConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws.kinesis.KinesisConfiguration.class);
+ case "com.amazonaws.Protocol": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.Protocol.class);
+ case "com.amazonaws.services.kinesis.model.ShardIteratorType": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.services.kinesis.model.ShardIteratorType.class);
+ case "org.apache.camel.component.aws.kinesis.KinesisShardClosedStrategyEnum": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws.kinesis.KinesisShardClosedStrategyEnum.class);
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/components-starter/camel-aws-kms-starter/src/main/java/org/apache/camel/component/aws/kms/springboot/KMSComponentAutoConfiguration.java b/components-starter/camel-aws-kms-starter/src/main/java/org/apache/camel/component/aws/kms/springboot/KMSComponentAutoConfiguration.java
index 8773a96..0679d1f 100644
--- a/components-starter/camel-aws-kms-starter/src/main/java/org/apache/camel/component/aws/kms/springboot/KMSComponentAutoConfiguration.java
+++ b/components-starter/camel-aws-kms-starter/src/main/java/org/apache/camel/component/aws/kms/springboot/KMSComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class KMSComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private KMSComponentConfiguration configuration;
+ public KMSComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+ acs.addConverter(new KMSComponentConverter(camelContext));
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureKMSComponent() {
diff --git a/components-starter/camel-aws-kms-starter/src/main/java/org/apache/camel/component/aws/kms/springboot/KMSComponentConverter.java b/components-starter/camel-aws-kms-starter/src/main/java/org/apache/camel/component/aws/kms/springboot/KMSComponentConverter.java
new file mode 100644
index 0000000..87d064d
--- /dev/null
+++ b/components-starter/camel-aws-kms-starter/src/main/java/org/apache/camel/component/aws/kms/springboot/KMSComponentConverter.java
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws.kms.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class KMSComponentConverter
+ implements
+ org.springframework.core.convert.converter.GenericConverter {
+
+ private final CamelContext camelContext;
+
+ public KMSComponentConverter(org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
+ public Set<ConvertiblePair> getConvertibleTypes() {
+ Set<ConvertiblePair> answer = new LinkedHashSet<>();
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws.kms.KMSConfiguration.class));
+ answer.add(new ConvertiblePair(String.class, com.amazonaws.services.kms.AWSKMS.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws.kms.KMSOperations.class));
+ answer.add(new ConvertiblePair(String.class, com.amazonaws.Protocol.class));
+ return answer;
+ }
+
+ public Object convert(
+ Object source,
+ TypeDescriptor sourceType,
+ TypeDescriptor targetType) {
+ if (source == null) {
+ return null;
+ }
+ String ref = source.toString();
+ if (!ref.startsWith("#")) {
+ return null;
+ }
+ ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+ switch (targetType.getName()) {
+ case "org.apache.camel.component.aws.kms.KMSConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws.kms.KMSConfiguration.class);
+ case "com.amazonaws.services.kms.AWSKMS": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.services.kms.AWSKMS.class);
+ case "org.apache.camel.component.aws.kms.KMSOperations": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws.kms.KMSOperations.class);
+ case "com.amazonaws.Protocol": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.Protocol.class);
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/components-starter/camel-aws-lambda-starter/src/main/java/org/apache/camel/component/aws/lambda/springboot/LambdaComponentAutoConfiguration.java b/components-starter/camel-aws-lambda-starter/src/main/java/org/apache/camel/component/aws/lambda/springboot/LambdaComponentAutoConfiguration.java
index 251e560..1171ced 100644
--- a/components-starter/camel-aws-lambda-starter/src/main/java/org/apache/camel/component/aws/lambda/springboot/LambdaComponentAutoConfiguration.java
+++ b/components-starter/camel-aws-lambda-starter/src/main/java/org/apache/camel/component/aws/lambda/springboot/LambdaComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class LambdaComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private LambdaComponentConfiguration configuration;
+ public LambdaComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+ acs.addConverter(new LambdaComponentConverter(camelContext));
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureLambdaComponent() {
diff --git a/components-starter/camel-aws-lambda-starter/src/main/java/org/apache/camel/component/aws/lambda/springboot/LambdaComponentConverter.java b/components-starter/camel-aws-lambda-starter/src/main/java/org/apache/camel/component/aws/lambda/springboot/LambdaComponentConverter.java
new file mode 100644
index 0000000..ad50f5b
--- /dev/null
+++ b/components-starter/camel-aws-lambda-starter/src/main/java/org/apache/camel/component/aws/lambda/springboot/LambdaComponentConverter.java
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws.lambda.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class LambdaComponentConverter
+ implements
+ org.springframework.core.convert.converter.GenericConverter {
+
+ private final CamelContext camelContext;
+
+ public LambdaComponentConverter(org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
+ public Set<ConvertiblePair> getConvertibleTypes() {
+ Set<ConvertiblePair> answer = new LinkedHashSet<>();
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws.lambda.LambdaConfiguration.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws.lambda.LambdaOperations.class));
+ answer.add(new ConvertiblePair(String.class, com.amazonaws.services.lambda.AWSLambda.class));
+ answer.add(new ConvertiblePair(String.class, com.amazonaws.Protocol.class));
+ return answer;
+ }
+
+ public Object convert(
+ Object source,
+ TypeDescriptor sourceType,
+ TypeDescriptor targetType) {
+ if (source == null) {
+ return null;
+ }
+ String ref = source.toString();
+ if (!ref.startsWith("#")) {
+ return null;
+ }
+ ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+ switch (targetType.getName()) {
+ case "org.apache.camel.component.aws.lambda.LambdaConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws.lambda.LambdaConfiguration.class);
+ case "org.apache.camel.component.aws.lambda.LambdaOperations": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws.lambda.LambdaOperations.class);
+ case "com.amazonaws.services.lambda.AWSLambda": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.services.lambda.AWSLambda.class);
+ case "com.amazonaws.Protocol": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.Protocol.class);
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/components-starter/camel-aws-mq-starter/src/main/java/org/apache/camel/component/aws/mq/springboot/MQComponentAutoConfiguration.java b/components-starter/camel-aws-mq-starter/src/main/java/org/apache/camel/component/aws/mq/springboot/MQComponentAutoConfiguration.java
index 2ca2cb4..b36b7cb 100644
--- a/components-starter/camel-aws-mq-starter/src/main/java/org/apache/camel/component/aws/mq/springboot/MQComponentAutoConfiguration.java
+++ b/components-starter/camel-aws-mq-starter/src/main/java/org/apache/camel/component/aws/mq/springboot/MQComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class MQComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private MQComponentConfiguration configuration;
+ public MQComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+ acs.addConverter(new MQComponentConverter(camelContext));
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureMQComponent() {
diff --git a/components-starter/camel-aws-mq-starter/src/main/java/org/apache/camel/component/aws/mq/springboot/MQComponentConverter.java b/components-starter/camel-aws-mq-starter/src/main/java/org/apache/camel/component/aws/mq/springboot/MQComponentConverter.java
new file mode 100644
index 0000000..fd91bf7
--- /dev/null
+++ b/components-starter/camel-aws-mq-starter/src/main/java/org/apache/camel/component/aws/mq/springboot/MQComponentConverter.java
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws.mq.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class MQComponentConverter
+ implements
+ org.springframework.core.convert.converter.GenericConverter {
+
+ private final CamelContext camelContext;
+
+ public MQComponentConverter(org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
+ public Set<ConvertiblePair> getConvertibleTypes() {
+ Set<ConvertiblePair> answer = new LinkedHashSet<>();
+ answer.add(new ConvertiblePair(String.class, com.amazonaws.services.mq.AmazonMQ.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws.mq.MQConfiguration.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws.mq.MQOperations.class));
+ answer.add(new ConvertiblePair(String.class, com.amazonaws.Protocol.class));
+ return answer;
+ }
+
+ public Object convert(
+ Object source,
+ TypeDescriptor sourceType,
+ TypeDescriptor targetType) {
+ if (source == null) {
+ return null;
+ }
+ String ref = source.toString();
+ if (!ref.startsWith("#")) {
+ return null;
+ }
+ ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+ switch (targetType.getName()) {
+ case "com.amazonaws.services.mq.AmazonMQ": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.services.mq.AmazonMQ.class);
+ case "org.apache.camel.component.aws.mq.MQConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws.mq.MQConfiguration.class);
+ case "org.apache.camel.component.aws.mq.MQOperations": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws.mq.MQOperations.class);
+ case "com.amazonaws.Protocol": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.Protocol.class);
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/components-starter/camel-aws-msk-starter/src/main/java/org/apache/camel/component/aws/msk/springboot/MSKComponentAutoConfiguration.java b/components-starter/camel-aws-msk-starter/src/main/java/org/apache/camel/component/aws/msk/springboot/MSKComponentAutoConfiguration.java
index b0c5230..273040d 100644
--- a/components-starter/camel-aws-msk-starter/src/main/java/org/apache/camel/component/aws/msk/springboot/MSKComponentAutoConfiguration.java
+++ b/components-starter/camel-aws-msk-starter/src/main/java/org/apache/camel/component/aws/msk/springboot/MSKComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class MSKComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private MSKComponentConfiguration configuration;
+ public MSKComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+ acs.addConverter(new MSKComponentConverter(camelContext));
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureMSKComponent() {
diff --git a/components-starter/camel-aws-msk-starter/src/main/java/org/apache/camel/component/aws/msk/springboot/MSKComponentConverter.java b/components-starter/camel-aws-msk-starter/src/main/java/org/apache/camel/component/aws/msk/springboot/MSKComponentConverter.java
new file mode 100644
index 0000000..0825337
--- /dev/null
+++ b/components-starter/camel-aws-msk-starter/src/main/java/org/apache/camel/component/aws/msk/springboot/MSKComponentConverter.java
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws.msk.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class MSKComponentConverter
+ implements
+ org.springframework.core.convert.converter.GenericConverter {
+
+ private final CamelContext camelContext;
+
+ public MSKComponentConverter(org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
+ public Set<ConvertiblePair> getConvertibleTypes() {
+ Set<ConvertiblePair> answer = new LinkedHashSet<>();
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws.msk.MSKConfiguration.class));
+ answer.add(new ConvertiblePair(String.class, com.amazonaws.services.kafka.AWSKafka.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws.msk.MSKOperations.class));
+ answer.add(new ConvertiblePair(String.class, com.amazonaws.Protocol.class));
+ return answer;
+ }
+
+ public Object convert(
+ Object source,
+ TypeDescriptor sourceType,
+ TypeDescriptor targetType) {
+ if (source == null) {
+ return null;
+ }
+ String ref = source.toString();
+ if (!ref.startsWith("#")) {
+ return null;
+ }
+ ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+ switch (targetType.getName()) {
+ case "org.apache.camel.component.aws.msk.MSKConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws.msk.MSKConfiguration.class);
+ case "com.amazonaws.services.kafka.AWSKafka": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.services.kafka.AWSKafka.class);
+ case "org.apache.camel.component.aws.msk.MSKOperations": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws.msk.MSKOperations.class);
+ case "com.amazonaws.Protocol": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.Protocol.class);
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/components-starter/camel-aws-s3-starter/src/main/java/org/apache/camel/component/aws/s3/springboot/S3ComponentAutoConfiguration.java b/components-starter/camel-aws-s3-starter/src/main/java/org/apache/camel/component/aws/s3/springboot/S3ComponentAutoConfiguration.java
index 72faf06..0070a29 100644
--- a/components-starter/camel-aws-s3-starter/src/main/java/org/apache/camel/component/aws/s3/springboot/S3ComponentAutoConfiguration.java
+++ b/components-starter/camel-aws-s3-starter/src/main/java/org/apache/camel/component/aws/s3/springboot/S3ComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class S3ComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private S3ComponentConfiguration configuration;
+ public S3ComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+ acs.addConverter(new S3ComponentConverter(camelContext));
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureS3Component() {
diff --git a/components-starter/camel-aws-s3-starter/src/main/java/org/apache/camel/component/aws/s3/springboot/S3ComponentConverter.java b/components-starter/camel-aws-s3-starter/src/main/java/org/apache/camel/component/aws/s3/springboot/S3ComponentConverter.java
new file mode 100644
index 0000000..286ccf5
--- /dev/null
+++ b/components-starter/camel-aws-s3-starter/src/main/java/org/apache/camel/component/aws/s3/springboot/S3ComponentConverter.java
@@ -0,0 +1,73 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws.s3.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class S3ComponentConverter
+ implements
+ org.springframework.core.convert.converter.GenericConverter {
+
+ private final CamelContext camelContext;
+
+ public S3ComponentConverter(org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
+ public Set<ConvertiblePair> getConvertibleTypes() {
+ Set<ConvertiblePair> answer = new LinkedHashSet<>();
+ answer.add(new ConvertiblePair(String.class, com.amazonaws.services.s3.AmazonS3.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws.s3.S3Configuration.class));
+ answer.add(new ConvertiblePair(String.class, com.amazonaws.client.builder.AwsClientBuilder.EndpointConfiguration.class));
+ answer.add(new ConvertiblePair(String.class, com.amazonaws.Protocol.class));
+ answer.add(new ConvertiblePair(String.class, com.amazonaws.services.s3.model.EncryptionMaterials.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws.s3.S3Operations.class));
+ return answer;
+ }
+
+ public Object convert(
+ Object source,
+ TypeDescriptor sourceType,
+ TypeDescriptor targetType) {
+ if (source == null) {
+ return null;
+ }
+ String ref = source.toString();
+ if (!ref.startsWith("#")) {
+ return null;
+ }
+ ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+ switch (targetType.getName()) {
+ case "com.amazonaws.services.s3.AmazonS3": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.services.s3.AmazonS3.class);
+ case "org.apache.camel.component.aws.s3.S3Configuration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws.s3.S3Configuration.class);
+ case "com.amazonaws.client.builder.AwsClientBuilder.EndpointConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.client.builder.AwsClientBuilder.EndpointConfiguration.class);
+ case "com.amazonaws.Protocol": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.Protocol.class);
+ case "com.amazonaws.services.s3.model.EncryptionMaterials": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.services.s3.model.EncryptionMaterials.class);
+ case "org.apache.camel.component.aws.s3.S3Operations": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws.s3.S3Operations.class);
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/components-starter/camel-aws-sdb-starter/src/main/java/org/apache/camel/component/aws/sdb/springboot/SdbComponentAutoConfiguration.java b/components-starter/camel-aws-sdb-starter/src/main/java/org/apache/camel/component/aws/sdb/springboot/SdbComponentAutoConfiguration.java
index fd3b8fa..61b2de6 100644
--- a/components-starter/camel-aws-sdb-starter/src/main/java/org/apache/camel/component/aws/sdb/springboot/SdbComponentAutoConfiguration.java
+++ b/components-starter/camel-aws-sdb-starter/src/main/java/org/apache/camel/component/aws/sdb/springboot/SdbComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,15 @@ public class SdbComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private SdbComponentConfiguration configuration;
+ public SdbComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureSdbComponent() {
diff --git a/components-starter/camel-aws-ses-starter/src/main/java/org/apache/camel/component/aws/ses/springboot/SesComponentAutoConfiguration.java b/components-starter/camel-aws-ses-starter/src/main/java/org/apache/camel/component/aws/ses/springboot/SesComponentAutoConfiguration.java
index e2786e5..26b3e43 100644
--- a/components-starter/camel-aws-ses-starter/src/main/java/org/apache/camel/component/aws/ses/springboot/SesComponentAutoConfiguration.java
+++ b/components-starter/camel-aws-ses-starter/src/main/java/org/apache/camel/component/aws/ses/springboot/SesComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class SesComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private SesComponentConfiguration configuration;
+ public SesComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+ acs.addConverter(new SesComponentConverter(camelContext));
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureSesComponent() {
diff --git a/components-starter/camel-aws-ses-starter/src/main/java/org/apache/camel/component/aws/ses/springboot/SesComponentConverter.java b/components-starter/camel-aws-ses-starter/src/main/java/org/apache/camel/component/aws/ses/springboot/SesComponentConverter.java
new file mode 100644
index 0000000..398deef
--- /dev/null
+++ b/components-starter/camel-aws-ses-starter/src/main/java/org/apache/camel/component/aws/ses/springboot/SesComponentConverter.java
@@ -0,0 +1,67 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws.ses.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class SesComponentConverter
+ implements
+ org.springframework.core.convert.converter.GenericConverter {
+
+ private final CamelContext camelContext;
+
+ public SesComponentConverter(org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
+ public Set<ConvertiblePair> getConvertibleTypes() {
+ Set<ConvertiblePair> answer = new LinkedHashSet<>();
+ answer.add(new ConvertiblePair(String.class, com.amazonaws.services.simpleemail.AmazonSimpleEmailService.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws.ses.SesConfiguration.class));
+ answer.add(new ConvertiblePair(String.class, com.amazonaws.Protocol.class));
+ return answer;
+ }
+
+ public Object convert(
+ Object source,
+ TypeDescriptor sourceType,
+ TypeDescriptor targetType) {
+ if (source == null) {
+ return null;
+ }
+ String ref = source.toString();
+ if (!ref.startsWith("#")) {
+ return null;
+ }
+ ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+ switch (targetType.getName()) {
+ case "com.amazonaws.services.simpleemail.AmazonSimpleEmailService": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.services.simpleemail.AmazonSimpleEmailService.class);
+ case "org.apache.camel.component.aws.ses.SesConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws.ses.SesConfiguration.class);
+ case "com.amazonaws.Protocol": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.Protocol.class);
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/components-starter/camel-aws-sns-starter/src/main/java/org/apache/camel/component/aws/sns/springboot/SnsComponentAutoConfiguration.java b/components-starter/camel-aws-sns-starter/src/main/java/org/apache/camel/component/aws/sns/springboot/SnsComponentAutoConfiguration.java
index 7847d57..a02ebf1 100644
--- a/components-starter/camel-aws-sns-starter/src/main/java/org/apache/camel/component/aws/sns/springboot/SnsComponentAutoConfiguration.java
+++ b/components-starter/camel-aws-sns-starter/src/main/java/org/apache/camel/component/aws/sns/springboot/SnsComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class SnsComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private SnsComponentConfiguration configuration;
+ public SnsComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+ acs.addConverter(new SnsComponentConverter(camelContext));
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureSnsComponent() {
diff --git a/components-starter/camel-aws-sns-starter/src/main/java/org/apache/camel/component/aws/sns/springboot/SnsComponentConverter.java b/components-starter/camel-aws-sns-starter/src/main/java/org/apache/camel/component/aws/sns/springboot/SnsComponentConverter.java
new file mode 100644
index 0000000..0d1ba42
--- /dev/null
+++ b/components-starter/camel-aws-sns-starter/src/main/java/org/apache/camel/component/aws/sns/springboot/SnsComponentConverter.java
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws.sns.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class SnsComponentConverter
+ implements
+ org.springframework.core.convert.converter.GenericConverter {
+
+ private final CamelContext camelContext;
+
+ public SnsComponentConverter(org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
+ public Set<ConvertiblePair> getConvertibleTypes() {
+ Set<ConvertiblePair> answer = new LinkedHashSet<>();
+ answer.add(new ConvertiblePair(String.class, com.amazonaws.services.sns.AmazonSNS.class));
+ answer.add(new ConvertiblePair(String.class, com.amazonaws.services.sqs.AmazonSQS.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws.sns.SnsConfiguration.class));
+ answer.add(new ConvertiblePair(String.class, com.amazonaws.Protocol.class));
+ return answer;
+ }
+
+ public Object convert(
+ Object source,
+ TypeDescriptor sourceType,
+ TypeDescriptor targetType) {
+ if (source == null) {
+ return null;
+ }
+ String ref = source.toString();
+ if (!ref.startsWith("#")) {
+ return null;
+ }
+ ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+ switch (targetType.getName()) {
+ case "com.amazonaws.services.sns.AmazonSNS": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.services.sns.AmazonSNS.class);
+ case "com.amazonaws.services.sqs.AmazonSQS": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.services.sqs.AmazonSQS.class);
+ case "org.apache.camel.component.aws.sns.SnsConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws.sns.SnsConfiguration.class);
+ case "com.amazonaws.Protocol": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.Protocol.class);
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/components-starter/camel-aws-sqs-starter/src/main/java/org/apache/camel/component/aws/sqs/springboot/SqsComponentAutoConfiguration.java b/components-starter/camel-aws-sqs-starter/src/main/java/org/apache/camel/component/aws/sqs/springboot/SqsComponentAutoConfiguration.java
index d1349fd..8ac2546 100644
--- a/components-starter/camel-aws-sqs-starter/src/main/java/org/apache/camel/component/aws/sqs/springboot/SqsComponentAutoConfiguration.java
+++ b/components-starter/camel-aws-sqs-starter/src/main/java/org/apache/camel/component/aws/sqs/springboot/SqsComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class SqsComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private SqsComponentConfiguration configuration;
+ public SqsComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+ acs.addConverter(new SqsComponentConverter(camelContext));
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureSqsComponent() {
diff --git a/components-starter/camel-aws-sqs-starter/src/main/java/org/apache/camel/component/aws/sqs/springboot/SqsComponentConverter.java b/components-starter/camel-aws-sqs-starter/src/main/java/org/apache/camel/component/aws/sqs/springboot/SqsComponentConverter.java
new file mode 100644
index 0000000..abd5319
--- /dev/null
+++ b/components-starter/camel-aws-sqs-starter/src/main/java/org/apache/camel/component/aws/sqs/springboot/SqsComponentConverter.java
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws.sqs.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class SqsComponentConverter
+ implements
+ org.springframework.core.convert.converter.GenericConverter {
+
+ private final CamelContext camelContext;
+
+ public SqsComponentConverter(org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
+ public Set<ConvertiblePair> getConvertibleTypes() {
+ Set<ConvertiblePair> answer = new LinkedHashSet<>();
+ answer.add(new ConvertiblePair(String.class, com.amazonaws.services.sqs.AmazonSQS.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws.sqs.SqsConfiguration.class));
+ answer.add(new ConvertiblePair(String.class, com.amazonaws.Protocol.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws.sqs.SqsOperations.class));
+ return answer;
+ }
+
+ public Object convert(
+ Object source,
+ TypeDescriptor sourceType,
+ TypeDescriptor targetType) {
+ if (source == null) {
+ return null;
+ }
+ String ref = source.toString();
+ if (!ref.startsWith("#")) {
+ return null;
+ }
+ ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+ switch (targetType.getName()) {
+ case "com.amazonaws.services.sqs.AmazonSQS": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.services.sqs.AmazonSQS.class);
+ case "org.apache.camel.component.aws.sqs.SqsConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws.sqs.SqsConfiguration.class);
+ case "com.amazonaws.Protocol": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.Protocol.class);
+ case "org.apache.camel.component.aws.sqs.SqsOperations": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws.sqs.SqsOperations.class);
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/components-starter/camel-aws-swf-starter/src/main/java/org/apache/camel/component/aws/swf/springboot/SWFComponentAutoConfiguration.java b/components-starter/camel-aws-swf-starter/src/main/java/org/apache/camel/component/aws/swf/springboot/SWFComponentAutoConfiguration.java
index 5717c34..f06a71c 100644
--- a/components-starter/camel-aws-swf-starter/src/main/java/org/apache/camel/component/aws/swf/springboot/SWFComponentAutoConfiguration.java
+++ b/components-starter/camel-aws-swf-starter/src/main/java/org/apache/camel/component/aws/swf/springboot/SWFComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class SWFComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private SWFComponentConfiguration configuration;
+ public SWFComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+ acs.addConverter(new SWFComponentConverter(camelContext));
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureSWFComponent() {
diff --git a/components-starter/camel-aws-swf-starter/src/main/java/org/apache/camel/component/aws/swf/springboot/SWFComponentConverter.java b/components-starter/camel-aws-swf-starter/src/main/java/org/apache/camel/component/aws/swf/springboot/SWFComponentConverter.java
new file mode 100644
index 0000000..bcc66e2
--- /dev/null
+++ b/components-starter/camel-aws-swf-starter/src/main/java/org/apache/camel/component/aws/swf/springboot/SWFComponentConverter.java
@@ -0,0 +1,75 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws.swf.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class SWFComponentConverter
+ implements
+ org.springframework.core.convert.converter.GenericConverter {
+
+ private final CamelContext camelContext;
+
+ public SWFComponentConverter(org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
+ public Set<ConvertiblePair> getConvertibleTypes() {
+ Set<ConvertiblePair> answer = new LinkedHashSet<>();
+ answer.add(new ConvertiblePair(String.class, com.amazonaws.services.simpleworkflow.AmazonSimpleWorkflow.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws.swf.SWFConfiguration.class));
+ answer.add(new ConvertiblePair(String.class, com.amazonaws.services.simpleworkflow.flow.DataConverter.class));
+ answer.add(new ConvertiblePair(String.class, com.amazonaws.services.simpleworkflow.flow.ActivitySchedulingOptions.class));
+ answer.add(new ConvertiblePair(String.class, com.amazonaws.services.simpleworkflow.flow.worker.ActivityTypeExecutionOptions.class));
+ answer.add(new ConvertiblePair(String.class, com.amazonaws.services.simpleworkflow.flow.worker.ActivityTypeRegistrationOptions.class));
+ answer.add(new ConvertiblePair(String.class, com.amazonaws.services.simpleworkflow.flow.WorkflowTypeRegistrationOptions.class));
+ return answer;
+ }
+
+ public Object convert(
+ Object source,
+ TypeDescriptor sourceType,
+ TypeDescriptor targetType) {
+ if (source == null) {
+ return null;
+ }
+ String ref = source.toString();
+ if (!ref.startsWith("#")) {
+ return null;
+ }
+ ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+ switch (targetType.getName()) {
+ case "com.amazonaws.services.simpleworkflow.AmazonSimpleWorkflow": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.services.simpleworkflow.AmazonSimpleWorkflow.class);
+ case "org.apache.camel.component.aws.swf.SWFConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws.swf.SWFConfiguration.class);
+ case "com.amazonaws.services.simpleworkflow.flow.DataConverter": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.services.simpleworkflow.flow.DataConverter.class);
+ case "com.amazonaws.services.simpleworkflow.flow.ActivitySchedulingOptions": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.services.simpleworkflow.flow.ActivitySchedulingOptions.class);
+ case "com.amazonaws.services.simpleworkflow.flow.worker.ActivityTypeExecutionOptions": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.services.simpleworkflow.flow.worker.ActivityTypeExecutionOptions.class);
+ case "com.amazonaws.services.simpleworkflow.flow.worker.ActivityTypeRegistrationOptions": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.services.simpleworkflow.flow.worker.ActivityTypeRegistrationOptions.class);
+ case "com.amazonaws.services.simpleworkflow.flow.WorkflowTypeRegistrationOptions": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.services.simpleworkflow.flow.WorkflowTypeRegistrationOptions.class);
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/components-starter/camel-aws-translate-starter/src/main/java/org/apache/camel/component/aws/translate/springboot/TranslateComponentAutoConfiguration.java b/components-starter/camel-aws-translate-starter/src/main/java/org/apache/camel/component/aws/translate/springboot/TranslateComponentAutoConfiguration.java
index 3e3d654..820baff 100644
--- a/components-starter/camel-aws-translate-starter/src/main/java/org/apache/camel/component/aws/translate/springboot/TranslateComponentAutoConfiguration.java
+++ b/components-starter/camel-aws-translate-starter/src/main/java/org/apache/camel/component/aws/translate/springboot/TranslateComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class TranslateComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private TranslateComponentConfiguration configuration;
+ public TranslateComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+ acs.addConverter(new TranslateComponentConverter(camelContext));
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureTranslateComponent() {
diff --git a/components-starter/camel-aws-translate-starter/src/main/java/org/apache/camel/component/aws/translate/springboot/TranslateComponentConverter.java b/components-starter/camel-aws-translate-starter/src/main/java/org/apache/camel/component/aws/translate/springboot/TranslateComponentConverter.java
new file mode 100644
index 0000000..ef8583d
--- /dev/null
+++ b/components-starter/camel-aws-translate-starter/src/main/java/org/apache/camel/component/aws/translate/springboot/TranslateComponentConverter.java
@@ -0,0 +1,70 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws.translate.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class TranslateComponentConverter
+ implements
+ org.springframework.core.convert.converter.GenericConverter {
+
+ private final CamelContext camelContext;
+
+ public TranslateComponentConverter(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
+ public Set<ConvertiblePair> getConvertibleTypes() {
+ Set<ConvertiblePair> answer = new LinkedHashSet<>();
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws.translate.TranslateConfiguration.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws.translate.TranslateOperations.class));
+ answer.add(new ConvertiblePair(String.class, com.amazonaws.Protocol.class));
+ answer.add(new ConvertiblePair(String.class, com.amazonaws.services.translate.AmazonTranslate.class));
+ return answer;
+ }
+
+ public Object convert(
+ Object source,
+ TypeDescriptor sourceType,
+ TypeDescriptor targetType) {
+ if (source == null) {
+ return null;
+ }
+ String ref = source.toString();
+ if (!ref.startsWith("#")) {
+ return null;
+ }
+ ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+ switch (targetType.getName()) {
+ case "org.apache.camel.component.aws.translate.TranslateConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws.translate.TranslateConfiguration.class);
+ case "org.apache.camel.component.aws.translate.TranslateOperations": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws.translate.TranslateOperations.class);
+ case "com.amazonaws.Protocol": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.Protocol.class);
+ case "com.amazonaws.services.translate.AmazonTranslate": return camelContext.getRegistry().lookupByNameAndType(ref, com.amazonaws.services.translate.AmazonTranslate.class);
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/components-starter/camel-aws2-athena-starter/src/main/java/org/apache/camel/component/aws2/athena/springboot/Athena2ComponentAutoConfiguration.java b/components-starter/camel-aws2-athena-starter/src/main/java/org/apache/camel/component/aws2/athena/springboot/Athena2ComponentAutoConfiguration.java
index 4e9bb8b..af8748b 100644
--- a/components-starter/camel-aws2-athena-starter/src/main/java/org/apache/camel/component/aws2/athena/springboot/Athena2ComponentAutoConfiguration.java
+++ b/components-starter/camel-aws2-athena-starter/src/main/java/org/apache/camel/component/aws2/athena/springboot/Athena2ComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class Athena2ComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private Athena2ComponentConfiguration configuration;
+ public Athena2ComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+ acs.addConverter(new Athena2ComponentConverter(camelContext));
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureAthena2Component() {
diff --git a/components-starter/camel-aws2-athena-starter/src/main/java/org/apache/camel/component/aws2/athena/springboot/Athena2ComponentConverter.java b/components-starter/camel-aws2-athena-starter/src/main/java/org/apache/camel/component/aws2/athena/springboot/Athena2ComponentConverter.java
new file mode 100644
index 0000000..e6d7d1f
--- /dev/null
+++ b/components-starter/camel-aws2-athena-starter/src/main/java/org/apache/camel/component/aws2/athena/springboot/Athena2ComponentConverter.java
@@ -0,0 +1,73 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws2.athena.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class Athena2ComponentConverter
+ implements
+ org.springframework.core.convert.converter.GenericConverter {
+
+ private final CamelContext camelContext;
+
+ public Athena2ComponentConverter(org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
+ public Set<ConvertiblePair> getConvertibleTypes() {
+ Set<ConvertiblePair> answer = new LinkedHashSet<>();
+ answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.services.athena.AthenaClient.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws2.athena.Athena2Configuration.class));
+ answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.services.athena.model.EncryptionOption.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws2.athena.Athena2Operations.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws2.athena.Athena2OutputType.class));
+ answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.core.Protocol.class));
+ return answer;
+ }
+
+ public Object convert(
+ Object source,
+ TypeDescriptor sourceType,
+ TypeDescriptor targetType) {
+ if (source == null) {
+ return null;
+ }
+ String ref = source.toString();
+ if (!ref.startsWith("#")) {
+ return null;
+ }
+ ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+ switch (targetType.getName()) {
+ case "software.amazon.awssdk.services.athena.AthenaClient": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.services.athena.AthenaClient.class);
+ case "org.apache.camel.component.aws2.athena.Athena2Configuration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws2.athena.Athena2Configuration.class);
+ case "software.amazon.awssdk.services.athena.model.EncryptionOption": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.services.athena.model.EncryptionOption.class);
+ case "org.apache.camel.component.aws2.athena.Athena2Operations": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws2.athena.Athena2Operations.class);
+ case "org.apache.camel.component.aws2.athena.Athena2OutputType": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws2.athena.Athena2OutputType.class);
+ case "software.amazon.awssdk.core.Protocol": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.core.Protocol.class);
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/components-starter/camel-aws2-cw-starter/src/main/java/org/apache/camel/component/aws2/cw/springboot/Cw2ComponentAutoConfiguration.java b/components-starter/camel-aws2-cw-starter/src/main/java/org/apache/camel/component/aws2/cw/springboot/Cw2ComponentAutoConfiguration.java
index 57a6d03..81790fb 100644
--- a/components-starter/camel-aws2-cw-starter/src/main/java/org/apache/camel/component/aws2/cw/springboot/Cw2ComponentAutoConfiguration.java
+++ b/components-starter/camel-aws2-cw-starter/src/main/java/org/apache/camel/component/aws2/cw/springboot/Cw2ComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class Cw2ComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private Cw2ComponentConfiguration configuration;
+ public Cw2ComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+ acs.addConverter(new Cw2ComponentConverter(camelContext));
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureCw2Component() {
diff --git a/components-starter/camel-aws2-cw-starter/src/main/java/org/apache/camel/component/aws2/cw/springboot/Cw2ComponentConverter.java b/components-starter/camel-aws2-cw-starter/src/main/java/org/apache/camel/component/aws2/cw/springboot/Cw2ComponentConverter.java
new file mode 100644
index 0000000..1a41621
--- /dev/null
+++ b/components-starter/camel-aws2-cw-starter/src/main/java/org/apache/camel/component/aws2/cw/springboot/Cw2ComponentConverter.java
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws2.cw.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class Cw2ComponentConverter
+ implements
+ org.springframework.core.convert.converter.GenericConverter {
+
+ private final CamelContext camelContext;
+
+ public Cw2ComponentConverter(org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
+ public Set<ConvertiblePair> getConvertibleTypes() {
+ Set<ConvertiblePair> answer = new LinkedHashSet<>();
+ answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.services.cloudwatch.CloudWatchClient.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws2.cw.Cw2Configuration.class));
+ answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.core.Protocol.class));
+ answer.add(new ConvertiblePair(String.class, java.time.Instant.class));
+ return answer;
+ }
+
+ public Object convert(
+ Object source,
+ TypeDescriptor sourceType,
+ TypeDescriptor targetType) {
+ if (source == null) {
+ return null;
+ }
+ String ref = source.toString();
+ if (!ref.startsWith("#")) {
+ return null;
+ }
+ ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+ switch (targetType.getName()) {
+ case "software.amazon.awssdk.services.cloudwatch.CloudWatchClient": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.services.cloudwatch.CloudWatchClient.class);
+ case "org.apache.camel.component.aws2.cw.Cw2Configuration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws2.cw.Cw2Configuration.class);
+ case "software.amazon.awssdk.core.Protocol": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.core.Protocol.class);
+ case "java.time.Instant": return camelContext.getRegistry().lookupByNameAndType(ref, java.time.Instant.class);
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/components-starter/camel-aws2-ddb-starter/src/main/java/org/apache/camel/component/aws2/ddb/springboot/Ddb2ComponentAutoConfiguration.java b/components-starter/camel-aws2-ddb-starter/src/main/java/org/apache/camel/component/aws2/ddb/springboot/Ddb2ComponentAutoConfiguration.java
index 2fdb2bd..f5a7c1e 100644
--- a/components-starter/camel-aws2-ddb-starter/src/main/java/org/apache/camel/component/aws2/ddb/springboot/Ddb2ComponentAutoConfiguration.java
+++ b/components-starter/camel-aws2-ddb-starter/src/main/java/org/apache/camel/component/aws2/ddb/springboot/Ddb2ComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class Ddb2ComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private Ddb2ComponentConfiguration configuration;
+ public Ddb2ComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+ acs.addConverter(new Ddb2ComponentConverter(camelContext));
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureDdb2Component() {
diff --git a/components-starter/camel-aws2-ddb-starter/src/main/java/org/apache/camel/component/aws2/ddb/springboot/Ddb2ComponentConverter.java b/components-starter/camel-aws2-ddb-starter/src/main/java/org/apache/camel/component/aws2/ddb/springboot/Ddb2ComponentConverter.java
new file mode 100644
index 0000000..4cb7b36
--- /dev/null
+++ b/components-starter/camel-aws2-ddb-starter/src/main/java/org/apache/camel/component/aws2/ddb/springboot/Ddb2ComponentConverter.java
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws2.ddb.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class Ddb2ComponentConverter
+ implements
+ org.springframework.core.convert.converter.GenericConverter {
+
+ private final CamelContext camelContext;
+
+ public Ddb2ComponentConverter(org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
+ public Set<ConvertiblePair> getConvertibleTypes() {
+ Set<ConvertiblePair> answer = new LinkedHashSet<>();
+ answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.services.dynamodb.DynamoDbClient.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws2.ddb.Ddb2Configuration.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws2.ddb.Ddb2Operations.class));
+ answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.core.Protocol.class));
+ return answer;
+ }
+
+ public Object convert(
+ Object source,
+ TypeDescriptor sourceType,
+ TypeDescriptor targetType) {
+ if (source == null) {
+ return null;
+ }
+ String ref = source.toString();
+ if (!ref.startsWith("#")) {
+ return null;
+ }
+ ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+ switch (targetType.getName()) {
+ case "software.amazon.awssdk.services.dynamodb.DynamoDbClient": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.services.dynamodb.DynamoDbClient.class);
+ case "org.apache.camel.component.aws2.ddb.Ddb2Configuration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws2.ddb.Ddb2Configuration.class);
+ case "org.apache.camel.component.aws2.ddb.Ddb2Operations": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws2.ddb.Ddb2Operations.class);
+ case "software.amazon.awssdk.core.Protocol": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.core.Protocol.class);
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/components-starter/camel-aws2-ddb-starter/src/main/java/org/apache/camel/component/aws2/ddbstream/springboot/Ddb2StreamComponentAutoConfiguration.java b/components-starter/camel-aws2-ddb-starter/src/main/java/org/apache/camel/component/aws2/ddbstream/springboot/Ddb2StreamComponentAutoConfiguration.java
index d82aad6..2726008 100644
--- a/components-starter/camel-aws2-ddb-starter/src/main/java/org/apache/camel/component/aws2/ddbstream/springboot/Ddb2StreamComponentAutoConfiguration.java
+++ b/components-starter/camel-aws2-ddb-starter/src/main/java/org/apache/camel/component/aws2/ddbstream/springboot/Ddb2StreamComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class Ddb2StreamComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private Ddb2StreamComponentConfiguration configuration;
+ public Ddb2StreamComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+ acs.addConverter(new Ddb2StreamComponentConverter(camelContext));
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureDdb2StreamComponent() {
diff --git a/components-starter/camel-aws2-ddb-starter/src/main/java/org/apache/camel/component/aws2/ddbstream/springboot/Ddb2StreamComponentConverter.java b/components-starter/camel-aws2-ddb-starter/src/main/java/org/apache/camel/component/aws2/ddbstream/springboot/Ddb2StreamComponentConverter.java
new file mode 100644
index 0000000..8875073
--- /dev/null
+++ b/components-starter/camel-aws2-ddb-starter/src/main/java/org/apache/camel/component/aws2/ddbstream/springboot/Ddb2StreamComponentConverter.java
@@ -0,0 +1,72 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws2.ddbstream.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class Ddb2StreamComponentConverter
+ implements
+ org.springframework.core.convert.converter.GenericConverter {
+
+ private final CamelContext camelContext;
+
+ public Ddb2StreamComponentConverter(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
+ public Set<ConvertiblePair> getConvertibleTypes() {
+ Set<ConvertiblePair> answer = new LinkedHashSet<>();
+ answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.services.dynamodb.streams.DynamoDbStreamsClient.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws2.ddbstream.Ddb2StreamConfiguration.class));
+ answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.services.dynamodb.model.ShardIteratorType.class));
+ answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.core.Protocol.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws2.ddbstream.SequenceNumberProvider.class));
+ return answer;
+ }
+
+ public Object convert(
+ Object source,
+ TypeDescriptor sourceType,
+ TypeDescriptor targetType) {
+ if (source == null) {
+ return null;
+ }
+ String ref = source.toString();
+ if (!ref.startsWith("#")) {
+ return null;
+ }
+ ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+ switch (targetType.getName()) {
+ case "software.amazon.awssdk.services.dynamodb.streams.DynamoDbStreamsClient": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.services.dynamodb.streams.DynamoDbStreamsClient.class);
+ case "org.apache.camel.component.aws2.ddbstream.Ddb2StreamConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws2.ddbstream.Ddb2StreamConfiguration.class);
+ case "software.amazon.awssdk.services.dynamodb.model.ShardIteratorType": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.services.dynamodb.model.ShardIteratorType.class);
+ case "software.amazon.awssdk.core.Protocol": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.core.Protocol.class);
+ case "org.apache.camel.component.aws2.ddbstream.SequenceNumberProvider": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws2.ddbstream.SequenceNumberProvider.class);
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/components-starter/camel-aws2-ec2-starter/src/main/java/org/apache/camel/component/aws2/ec2/springboot/AWS2EC2ComponentAutoConfiguration.java b/components-starter/camel-aws2-ec2-starter/src/main/java/org/apache/camel/component/aws2/ec2/springboot/AWS2EC2ComponentAutoConfiguration.java
index fa5cbf8..0ded8d1 100644
--- a/components-starter/camel-aws2-ec2-starter/src/main/java/org/apache/camel/component/aws2/ec2/springboot/AWS2EC2ComponentAutoConfiguration.java
+++ b/components-starter/camel-aws2-ec2-starter/src/main/java/org/apache/camel/component/aws2/ec2/springboot/AWS2EC2ComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class AWS2EC2ComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private AWS2EC2ComponentConfiguration configuration;
+ public AWS2EC2ComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+ acs.addConverter(new AWS2EC2ComponentConverter(camelContext));
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureAWS2EC2Component() {
diff --git a/components-starter/camel-aws2-ec2-starter/src/main/java/org/apache/camel/component/aws2/ec2/springboot/AWS2EC2ComponentConverter.java b/components-starter/camel-aws2-ec2-starter/src/main/java/org/apache/camel/component/aws2/ec2/springboot/AWS2EC2ComponentConverter.java
new file mode 100644
index 0000000..ffa9504
--- /dev/null
+++ b/components-starter/camel-aws2-ec2-starter/src/main/java/org/apache/camel/component/aws2/ec2/springboot/AWS2EC2ComponentConverter.java
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws2.ec2.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class AWS2EC2ComponentConverter
+ implements
+ org.springframework.core.convert.converter.GenericConverter {
+
+ private final CamelContext camelContext;
+
+ public AWS2EC2ComponentConverter(org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
+ public Set<ConvertiblePair> getConvertibleTypes() {
+ Set<ConvertiblePair> answer = new LinkedHashSet<>();
+ answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.services.ec2.Ec2Client.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws2.ec2.AWS2EC2Configuration.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws2.ec2.AWS2EC2Operations.class));
+ answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.core.Protocol.class));
+ return answer;
+ }
+
+ public Object convert(
+ Object source,
+ TypeDescriptor sourceType,
+ TypeDescriptor targetType) {
+ if (source == null) {
+ return null;
+ }
+ String ref = source.toString();
+ if (!ref.startsWith("#")) {
+ return null;
+ }
+ ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+ switch (targetType.getName()) {
+ case "software.amazon.awssdk.services.ec2.Ec2Client": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.services.ec2.Ec2Client.class);
+ case "org.apache.camel.component.aws2.ec2.AWS2EC2Configuration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws2.ec2.AWS2EC2Configuration.class);
+ case "org.apache.camel.component.aws2.ec2.AWS2EC2Operations": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws2.ec2.AWS2EC2Operations.class);
+ case "software.amazon.awssdk.core.Protocol": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.core.Protocol.class);
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/components-starter/camel-aws2-ecs-starter/src/main/docs/aws2-ecs-starter.adoc b/components-starter/camel-aws2-ecs-starter/src/main/docs/aws2-ecs-starter.adoc
index 7812269..f24c071 100644
--- a/components-starter/camel-aws2-ecs-starter/src/main/docs/aws2-ecs-starter.adoc
+++ b/components-starter/camel-aws2-ecs-starter/src/main/docs/aws2-ecs-starter.adoc
@@ -17,7 +17,7 @@ When using aws2-ecs with Spring Boot make sure to use the following Maven depend
----
-The component supports 15 options, which are listed below.
+The component supports 14 options, which are listed below.
@@ -25,7 +25,6 @@ The component supports 15 options, which are listed below.
|===
| Name | Description | Default | Type
| *camel.component.aws2-ecs.access-key* | Amazon AWS Access Key | | String
-| *camel.component.aws2-ecs.auto-discover-client* | Setting the autoDiscoverClient mechanism, if true, the component will look for a client instance in the registry automatically otherwise it will skip that checking. | true | Boolean
| *camel.component.aws2-ecs.autowired-enabled* | Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. | true | Boolean
| *camel.component.aws2-ecs.configuration* | Component configuration. The option is a org.apache.camel.component.aws2.ecs.ECS2Configuration type. | | ECS2Configuration
| *camel.component.aws2-ecs.ecs-client* | To use a existing configured AWS ECS as client. The option is a software.amazon.awssdk.services.ecs.EcsClient type. | | EcsClient
diff --git a/components-starter/camel-aws2-ecs-starter/src/main/java/org/apache/camel/component/aws2/ecs/springboot/ECS2ComponentAutoConfiguration.java b/components-starter/camel-aws2-ecs-starter/src/main/java/org/apache/camel/component/aws2/ecs/springboot/ECS2ComponentAutoConfiguration.java
index 0b6bec9..7e6d239 100644
--- a/components-starter/camel-aws2-ecs-starter/src/main/java/org/apache/camel/component/aws2/ecs/springboot/ECS2ComponentAutoConfiguration.java
+++ b/components-starter/camel-aws2-ecs-starter/src/main/java/org/apache/camel/component/aws2/ecs/springboot/ECS2ComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class ECS2ComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private ECS2ComponentConfiguration configuration;
+ public ECS2ComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+ acs.addConverter(new ECS2ComponentConverter(camelContext));
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureECS2Component() {
diff --git a/components-starter/camel-aws2-ecs-starter/src/main/java/org/apache/camel/component/aws2/ecs/springboot/ECS2ComponentConfiguration.java b/components-starter/camel-aws2-ecs-starter/src/main/java/org/apache/camel/component/aws2/ecs/springboot/ECS2ComponentConfiguration.java
index 95ae17f..4e45649 100644
--- a/components-starter/camel-aws2-ecs-starter/src/main/java/org/apache/camel/component/aws2/ecs/springboot/ECS2ComponentConfiguration.java
+++ b/components-starter/camel-aws2-ecs-starter/src/main/java/org/apache/camel/component/aws2/ecs/springboot/ECS2ComponentConfiguration.java
@@ -42,12 +42,6 @@ public class ECS2ComponentConfiguration
*/
private Boolean enabled;
/**
- * Setting the autoDiscoverClient mechanism, if true, the component will
- * look for a client instance in the registry automatically otherwise it
- * will skip that checking.
- */
- private Boolean autoDiscoverClient = true;
- /**
* Component configuration. The option is a
* org.apache.camel.component.aws2.ecs.ECS2Configuration type.
*/
@@ -116,14 +110,6 @@ public class ECS2ComponentConfiguration
*/
private String secretKey;
- public Boolean getAutoDiscoverClient() {
- return autoDiscoverClient;
- }
-
- public void setAutoDiscoverClient(Boolean autoDiscoverClient) {
- this.autoDiscoverClient = autoDiscoverClient;
- }
-
public ECS2Configuration getConfiguration() {
return configuration;
}
diff --git a/components-starter/camel-aws2-ecs-starter/src/main/java/org/apache/camel/component/aws2/ecs/springboot/ECS2ComponentConverter.java b/components-starter/camel-aws2-ecs-starter/src/main/java/org/apache/camel/component/aws2/ecs/springboot/ECS2ComponentConverter.java
new file mode 100644
index 0000000..559c81f
--- /dev/null
+++ b/components-starter/camel-aws2-ecs-starter/src/main/java/org/apache/camel/component/aws2/ecs/springboot/ECS2ComponentConverter.java
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws2.ecs.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class ECS2ComponentConverter
+ implements
+ org.springframework.core.convert.converter.GenericConverter {
+
+ private final CamelContext camelContext;
+
+ public ECS2ComponentConverter(org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
+ public Set<ConvertiblePair> getConvertibleTypes() {
+ Set<ConvertiblePair> answer = new LinkedHashSet<>();
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws2.ecs.ECS2Configuration.class));
+ answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.services.ecs.EcsClient.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws2.ecs.ECS2Operations.class));
+ answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.core.Protocol.class));
+ return answer;
+ }
+
+ public Object convert(
+ Object source,
+ TypeDescriptor sourceType,
+ TypeDescriptor targetType) {
+ if (source == null) {
+ return null;
+ }
+ String ref = source.toString();
+ if (!ref.startsWith("#")) {
+ return null;
+ }
+ ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+ switch (targetType.getName()) {
+ case "org.apache.camel.component.aws2.ecs.ECS2Configuration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws2.ecs.ECS2Configuration.class);
+ case "software.amazon.awssdk.services.ecs.EcsClient": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.services.ecs.EcsClient.class);
+ case "org.apache.camel.component.aws2.ecs.ECS2Operations": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws2.ecs.ECS2Operations.class);
+ case "software.amazon.awssdk.core.Protocol": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.core.Protocol.class);
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/components-starter/camel-aws2-eks-starter/src/main/docs/aws2-eks-starter.adoc b/components-starter/camel-aws2-eks-starter/src/main/docs/aws2-eks-starter.adoc
index b42da4f..70e8be4 100644
--- a/components-starter/camel-aws2-eks-starter/src/main/docs/aws2-eks-starter.adoc
+++ b/components-starter/camel-aws2-eks-starter/src/main/docs/aws2-eks-starter.adoc
@@ -17,7 +17,7 @@ When using aws2-eks with Spring Boot make sure to use the following Maven depend
----
-The component supports 15 options, which are listed below.
+The component supports 14 options, which are listed below.
@@ -25,7 +25,6 @@ The component supports 15 options, which are listed below.
|===
| Name | Description | Default | Type
| *camel.component.aws2-eks.access-key* | Amazon AWS Access Key | | String
-| *camel.component.aws2-eks.auto-discover-client* | Setting the autoDiscoverClient mechanism, if true, the component will look for a client instance in the registry automatically otherwise it will skip that checking. | true | Boolean
| *camel.component.aws2-eks.autowired-enabled* | Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. | true | Boolean
| *camel.component.aws2-eks.configuration* | Component configuration. The option is a org.apache.camel.component.aws2.eks.EKS2Configuration type. | | EKS2Configuration
| *camel.component.aws2-eks.eks-client* | To use a existing configured AWS EKS as client. The option is a software.amazon.awssdk.services.eks.EksClient type. | | EksClient
diff --git a/components-starter/camel-aws2-eks-starter/src/main/java/org/apache/camel/component/aws2/eks/springboot/EKS2ComponentAutoConfiguration.java b/components-starter/camel-aws2-eks-starter/src/main/java/org/apache/camel/component/aws2/eks/springboot/EKS2ComponentAutoConfiguration.java
index 8e97a19..c70edd1 100644
--- a/components-starter/camel-aws2-eks-starter/src/main/java/org/apache/camel/component/aws2/eks/springboot/EKS2ComponentAutoConfiguration.java
+++ b/components-starter/camel-aws2-eks-starter/src/main/java/org/apache/camel/component/aws2/eks/springboot/EKS2ComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class EKS2ComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private EKS2ComponentConfiguration configuration;
+ public EKS2ComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+ acs.addConverter(new EKS2ComponentConverter(camelContext));
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureEKS2Component() {
diff --git a/components-starter/camel-aws2-eks-starter/src/main/java/org/apache/camel/component/aws2/eks/springboot/EKS2ComponentConfiguration.java b/components-starter/camel-aws2-eks-starter/src/main/java/org/apache/camel/component/aws2/eks/springboot/EKS2ComponentConfiguration.java
index fdb4310..07ffec7 100644
--- a/components-starter/camel-aws2-eks-starter/src/main/java/org/apache/camel/component/aws2/eks/springboot/EKS2ComponentConfiguration.java
+++ b/components-starter/camel-aws2-eks-starter/src/main/java/org/apache/camel/component/aws2/eks/springboot/EKS2ComponentConfiguration.java
@@ -42,12 +42,6 @@ public class EKS2ComponentConfiguration
*/
private Boolean enabled;
/**
- * Setting the autoDiscoverClient mechanism, if true, the component will
- * look for a client instance in the registry automatically otherwise it
- * will skip that checking.
- */
- private Boolean autoDiscoverClient = true;
- /**
* Component configuration. The option is a
* org.apache.camel.component.aws2.eks.EKS2Configuration type.
*/
@@ -116,14 +110,6 @@ public class EKS2ComponentConfiguration
*/
private String secretKey;
- public Boolean getAutoDiscoverClient() {
- return autoDiscoverClient;
- }
-
- public void setAutoDiscoverClient(Boolean autoDiscoverClient) {
- this.autoDiscoverClient = autoDiscoverClient;
- }
-
public EKS2Configuration getConfiguration() {
return configuration;
}
diff --git a/components-starter/camel-aws2-eks-starter/src/main/java/org/apache/camel/component/aws2/eks/springboot/EKS2ComponentConverter.java b/components-starter/camel-aws2-eks-starter/src/main/java/org/apache/camel/component/aws2/eks/springboot/EKS2ComponentConverter.java
new file mode 100644
index 0000000..c523d64
--- /dev/null
+++ b/components-starter/camel-aws2-eks-starter/src/main/java/org/apache/camel/component/aws2/eks/springboot/EKS2ComponentConverter.java
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws2.eks.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class EKS2ComponentConverter
+ implements
+ org.springframework.core.convert.converter.GenericConverter {
+
+ private final CamelContext camelContext;
+
+ public EKS2ComponentConverter(org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
+ public Set<ConvertiblePair> getConvertibleTypes() {
+ Set<ConvertiblePair> answer = new LinkedHashSet<>();
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws2.eks.EKS2Configuration.class));
+ answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.services.eks.EksClient.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws2.eks.EKS2Operations.class));
+ answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.core.Protocol.class));
+ return answer;
+ }
+
+ public Object convert(
+ Object source,
+ TypeDescriptor sourceType,
+ TypeDescriptor targetType) {
+ if (source == null) {
+ return null;
+ }
+ String ref = source.toString();
+ if (!ref.startsWith("#")) {
+ return null;
+ }
+ ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+ switch (targetType.getName()) {
+ case "org.apache.camel.component.aws2.eks.EKS2Configuration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws2.eks.EKS2Configuration.class);
+ case "software.amazon.awssdk.services.eks.EksClient": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.services.eks.EksClient.class);
+ case "org.apache.camel.component.aws2.eks.EKS2Operations": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws2.eks.EKS2Operations.class);
+ case "software.amazon.awssdk.core.Protocol": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.core.Protocol.class);
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/components-starter/camel-aws2-eventbridge-starter/src/main/java/org/apache/camel/component/aws2/eventbridge/springboot/EventbridgeComponentAutoConfiguration.java b/components-starter/camel-aws2-eventbridge-starter/src/main/java/org/apache/camel/component/aws2/eventbridge/springboot/EventbridgeComponentAutoConfiguration.java
index c5a4322..96cbd8f 100644
--- a/components-starter/camel-aws2-eventbridge-starter/src/main/java/org/apache/camel/component/aws2/eventbridge/springboot/EventbridgeComponentAutoConfiguration.java
+++ b/components-starter/camel-aws2-eventbridge-starter/src/main/java/org/apache/camel/component/aws2/eventbridge/springboot/EventbridgeComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class EventbridgeComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private EventbridgeComponentConfiguration configuration;
+ public EventbridgeComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+ acs.addConverter(new EventbridgeComponentConverter(camelContext));
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureEventbridgeComponent() {
diff --git a/components-starter/camel-aws2-eventbridge-starter/src/main/java/org/apache/camel/component/aws2/eventbridge/springboot/EventbridgeComponentConverter.java b/components-starter/camel-aws2-eventbridge-starter/src/main/java/org/apache/camel/component/aws2/eventbridge/springboot/EventbridgeComponentConverter.java
new file mode 100644
index 0000000..95fbf26
--- /dev/null
+++ b/components-starter/camel-aws2-eventbridge-starter/src/main/java/org/apache/camel/component/aws2/eventbridge/springboot/EventbridgeComponentConverter.java
@@ -0,0 +1,70 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws2.eventbridge.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class EventbridgeComponentConverter
+ implements
+ org.springframework.core.convert.converter.GenericConverter {
+
+ private final CamelContext camelContext;
+
+ public EventbridgeComponentConverter(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
+ public Set<ConvertiblePair> getConvertibleTypes() {
+ Set<ConvertiblePair> answer = new LinkedHashSet<>();
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws2.eventbridge.EventbridgeConfiguration.class));
+ answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.services.eventbridge.EventBridgeClient.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws2.eventbridge.EventbridgeOperations.class));
+ answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.core.Protocol.class));
+ return answer;
+ }
+
+ public Object convert(
+ Object source,
+ TypeDescriptor sourceType,
+ TypeDescriptor targetType) {
+ if (source == null) {
+ return null;
+ }
+ String ref = source.toString();
+ if (!ref.startsWith("#")) {
+ return null;
+ }
+ ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+ switch (targetType.getName()) {
+ case "org.apache.camel.component.aws2.eventbridge.EventbridgeConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws2.eventbridge.EventbridgeConfiguration.class);
+ case "software.amazon.awssdk.services.eventbridge.EventBridgeClient": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.services.eventbridge.EventBridgeClient.class);
+ case "org.apache.camel.component.aws2.eventbridge.EventbridgeOperations": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws2.eventbridge.EventbridgeOperations.class);
+ case "software.amazon.awssdk.core.Protocol": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.core.Protocol.class);
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/components-starter/camel-aws2-iam-starter/src/main/java/org/apache/camel/component/aws2/iam/springboot/IAM2ComponentAutoConfiguration.java b/components-starter/camel-aws2-iam-starter/src/main/java/org/apache/camel/component/aws2/iam/springboot/IAM2ComponentAutoConfiguration.java
index 1b06a69..ea54f15 100644
--- a/components-starter/camel-aws2-iam-starter/src/main/java/org/apache/camel/component/aws2/iam/springboot/IAM2ComponentAutoConfiguration.java
+++ b/components-starter/camel-aws2-iam-starter/src/main/java/org/apache/camel/component/aws2/iam/springboot/IAM2ComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class IAM2ComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private IAM2ComponentConfiguration configuration;
+ public IAM2ComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+ acs.addConverter(new IAM2ComponentConverter(camelContext));
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureIAM2Component() {
diff --git a/components-starter/camel-aws2-iam-starter/src/main/java/org/apache/camel/component/aws2/iam/springboot/IAM2ComponentConverter.java b/components-starter/camel-aws2-iam-starter/src/main/java/org/apache/camel/component/aws2/iam/springboot/IAM2ComponentConverter.java
new file mode 100644
index 0000000..7941d3a
--- /dev/null
+++ b/components-starter/camel-aws2-iam-starter/src/main/java/org/apache/camel/component/aws2/iam/springboot/IAM2ComponentConverter.java
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws2.iam.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class IAM2ComponentConverter
+ implements
+ org.springframework.core.convert.converter.GenericConverter {
+
+ private final CamelContext camelContext;
+
+ public IAM2ComponentConverter(org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
+ public Set<ConvertiblePair> getConvertibleTypes() {
+ Set<ConvertiblePair> answer = new LinkedHashSet<>();
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws2.iam.IAM2Configuration.class));
+ answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.services.iam.IamClient.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws2.iam.IAM2Operations.class));
+ answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.core.Protocol.class));
+ return answer;
+ }
+
+ public Object convert(
+ Object source,
+ TypeDescriptor sourceType,
+ TypeDescriptor targetType) {
+ if (source == null) {
+ return null;
+ }
+ String ref = source.toString();
+ if (!ref.startsWith("#")) {
+ return null;
+ }
+ ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+ switch (targetType.getName()) {
+ case "org.apache.camel.component.aws2.iam.IAM2Configuration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws2.iam.IAM2Configuration.class);
+ case "software.amazon.awssdk.services.iam.IamClient": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.services.iam.IamClient.class);
+ case "org.apache.camel.component.aws2.iam.IAM2Operations": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws2.iam.IAM2Operations.class);
+ case "software.amazon.awssdk.core.Protocol": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.core.Protocol.class);
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/components-starter/camel-aws2-kinesis-starter/src/main/java/org/apache/camel/component/aws2/firehose/springboot/KinesisFirehose2ComponentAutoConfiguration.java b/components-starter/camel-aws2-kinesis-starter/src/main/java/org/apache/camel/component/aws2/firehose/springboot/KinesisFirehose2ComponentAutoConfiguration.java
index e62123e..a49964d 100644
--- a/components-starter/camel-aws2-kinesis-starter/src/main/java/org/apache/camel/component/aws2/firehose/springboot/KinesisFirehose2ComponentAutoConfiguration.java
+++ b/components-starter/camel-aws2-kinesis-starter/src/main/java/org/apache/camel/component/aws2/firehose/springboot/KinesisFirehose2ComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class KinesisFirehose2ComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private KinesisFirehose2ComponentConfiguration configuration;
+ public KinesisFirehose2ComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+ acs.addConverter(new KinesisFirehose2ComponentConverter(camelContext));
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureKinesisFirehose2Component() {
diff --git a/components-starter/camel-aws2-kinesis-starter/src/main/java/org/apache/camel/component/aws2/firehose/springboot/KinesisFirehose2ComponentConverter.java b/components-starter/camel-aws2-kinesis-starter/src/main/java/org/apache/camel/component/aws2/firehose/springboot/KinesisFirehose2ComponentConverter.java
new file mode 100644
index 0000000..8fc1482
--- /dev/null
+++ b/components-starter/camel-aws2-kinesis-starter/src/main/java/org/apache/camel/component/aws2/firehose/springboot/KinesisFirehose2ComponentConverter.java
@@ -0,0 +1,70 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws2.firehose.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class KinesisFirehose2ComponentConverter
+ implements
+ org.springframework.core.convert.converter.GenericConverter {
+
+ private final CamelContext camelContext;
+
+ public KinesisFirehose2ComponentConverter(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
+ public Set<ConvertiblePair> getConvertibleTypes() {
+ Set<ConvertiblePair> answer = new LinkedHashSet<>();
+ answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.services.firehose.FirehoseClient.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws2.firehose.KinesisFirehose2Configuration.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws2.firehose.KinesisFirehose2Operations.class));
+ answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.core.Protocol.class));
+ return answer;
+ }
+
+ public Object convert(
+ Object source,
+ TypeDescriptor sourceType,
+ TypeDescriptor targetType) {
+ if (source == null) {
+ return null;
+ }
+ String ref = source.toString();
+ if (!ref.startsWith("#")) {
+ return null;
+ }
+ ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+ switch (targetType.getName()) {
+ case "software.amazon.awssdk.services.firehose.FirehoseClient": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.services.firehose.FirehoseClient.class);
+ case "org.apache.camel.component.aws2.firehose.KinesisFirehose2Configuration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws2.firehose.KinesisFirehose2Configuration.class);
+ case "org.apache.camel.component.aws2.firehose.KinesisFirehose2Operations": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws2.firehose.KinesisFirehose2Operations.class);
+ case "software.amazon.awssdk.core.Protocol": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.core.Protocol.class);
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/components-starter/camel-aws2-kinesis-starter/src/main/java/org/apache/camel/component/aws2/kinesis/springboot/Kinesis2ComponentAutoConfiguration.java b/components-starter/camel-aws2-kinesis-starter/src/main/java/org/apache/camel/component/aws2/kinesis/springboot/Kinesis2ComponentAutoConfiguration.java
index eb6d7e1..9291acd 100644
--- a/components-starter/camel-aws2-kinesis-starter/src/main/java/org/apache/camel/component/aws2/kinesis/springboot/Kinesis2ComponentAutoConfiguration.java
+++ b/components-starter/camel-aws2-kinesis-starter/src/main/java/org/apache/camel/component/aws2/kinesis/springboot/Kinesis2ComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class Kinesis2ComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private Kinesis2ComponentConfiguration configuration;
+ public Kinesis2ComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+ acs.addConverter(new Kinesis2ComponentConverter(camelContext));
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureKinesis2Component() {
diff --git a/components-starter/camel-aws2-kinesis-starter/src/main/java/org/apache/camel/component/aws2/kinesis/springboot/Kinesis2ComponentConverter.java b/components-starter/camel-aws2-kinesis-starter/src/main/java/org/apache/camel/component/aws2/kinesis/springboot/Kinesis2ComponentConverter.java
new file mode 100644
index 0000000..efd9104
--- /dev/null
+++ b/components-starter/camel-aws2-kinesis-starter/src/main/java/org/apache/camel/component/aws2/kinesis/springboot/Kinesis2ComponentConverter.java
@@ -0,0 +1,71 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws2.kinesis.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class Kinesis2ComponentConverter
+ implements
+ org.springframework.core.convert.converter.GenericConverter {
+
+ private final CamelContext camelContext;
+
+ public Kinesis2ComponentConverter(org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
+ public Set<ConvertiblePair> getConvertibleTypes() {
+ Set<ConvertiblePair> answer = new LinkedHashSet<>();
+ answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.services.kinesis.KinesisClient.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws2.kinesis.Kinesis2Configuration.class));
+ answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.core.Protocol.class));
+ answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.services.kinesis.model.ShardIteratorType.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws2.kinesis.Kinesis2ShardClosedStrategyEnum.class));
+ return answer;
+ }
+
+ public Object convert(
+ Object source,
+ TypeDescriptor sourceType,
+ TypeDescriptor targetType) {
+ if (source == null) {
+ return null;
+ }
+ String ref = source.toString();
+ if (!ref.startsWith("#")) {
+ return null;
+ }
+ ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+ switch (targetType.getName()) {
+ case "software.amazon.awssdk.services.kinesis.KinesisClient": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.services.kinesis.KinesisClient.class);
+ case "org.apache.camel.component.aws2.kinesis.Kinesis2Configuration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws2.kinesis.Kinesis2Configuration.class);
+ case "software.amazon.awssdk.core.Protocol": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.core.Protocol.class);
+ case "software.amazon.awssdk.services.kinesis.model.ShardIteratorType": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.services.kinesis.model.ShardIteratorType.class);
+ case "org.apache.camel.component.aws2.kinesis.Kinesis2ShardClosedStrategyEnum": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws2.kinesis.Kinesis2ShardClosedStrategyEnum.class);
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/components-starter/camel-aws2-kms-starter/src/main/java/org/apache/camel/component/aws2/kms/springboot/KMS2ComponentAutoConfiguration.java b/components-starter/camel-aws2-kms-starter/src/main/java/org/apache/camel/component/aws2/kms/springboot/KMS2ComponentAutoConfiguration.java
index 14ecee4..d77f7e0 100644
--- a/components-starter/camel-aws2-kms-starter/src/main/java/org/apache/camel/component/aws2/kms/springboot/KMS2ComponentAutoConfiguration.java
+++ b/components-starter/camel-aws2-kms-starter/src/main/java/org/apache/camel/component/aws2/kms/springboot/KMS2ComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class KMS2ComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private KMS2ComponentConfiguration configuration;
+ public KMS2ComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+ acs.addConverter(new KMS2ComponentConverter(camelContext));
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureKMS2Component() {
diff --git a/components-starter/camel-aws2-kms-starter/src/main/java/org/apache/camel/component/aws2/kms/springboot/KMS2ComponentConverter.java b/components-starter/camel-aws2-kms-starter/src/main/java/org/apache/camel/component/aws2/kms/springboot/KMS2ComponentConverter.java
new file mode 100644
index 0000000..2a48395
--- /dev/null
+++ b/components-starter/camel-aws2-kms-starter/src/main/java/org/apache/camel/component/aws2/kms/springboot/KMS2ComponentConverter.java
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws2.kms.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class KMS2ComponentConverter
+ implements
+ org.springframework.core.convert.converter.GenericConverter {
+
+ private final CamelContext camelContext;
+
+ public KMS2ComponentConverter(org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
+ public Set<ConvertiblePair> getConvertibleTypes() {
+ Set<ConvertiblePair> answer = new LinkedHashSet<>();
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws2.kms.KMS2Configuration.class));
+ answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.services.kms.KmsClient.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws2.kms.KMS2Operations.class));
+ answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.core.Protocol.class));
+ return answer;
+ }
+
+ public Object convert(
+ Object source,
+ TypeDescriptor sourceType,
+ TypeDescriptor targetType) {
+ if (source == null) {
+ return null;
+ }
+ String ref = source.toString();
+ if (!ref.startsWith("#")) {
+ return null;
+ }
+ ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+ switch (targetType.getName()) {
+ case "org.apache.camel.component.aws2.kms.KMS2Configuration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws2.kms.KMS2Configuration.class);
+ case "software.amazon.awssdk.services.kms.KmsClient": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.services.kms.KmsClient.class);
+ case "org.apache.camel.component.aws2.kms.KMS2Operations": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws2.kms.KMS2Operations.class);
+ case "software.amazon.awssdk.core.Protocol": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.core.Protocol.class);
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/components-starter/camel-aws2-lambda-starter/src/main/java/org/apache/camel/component/aws2/lambda/springboot/Lambda2ComponentAutoConfiguration.java b/components-starter/camel-aws2-lambda-starter/src/main/java/org/apache/camel/component/aws2/lambda/springboot/Lambda2ComponentAutoConfiguration.java
index 1af8d08..d620617 100644
--- a/components-starter/camel-aws2-lambda-starter/src/main/java/org/apache/camel/component/aws2/lambda/springboot/Lambda2ComponentAutoConfiguration.java
+++ b/components-starter/camel-aws2-lambda-starter/src/main/java/org/apache/camel/component/aws2/lambda/springboot/Lambda2ComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class Lambda2ComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private Lambda2ComponentConfiguration configuration;
+ public Lambda2ComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+ acs.addConverter(new Lambda2ComponentConverter(camelContext));
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureLambda2Component() {
diff --git a/components-starter/camel-aws2-lambda-starter/src/main/java/org/apache/camel/component/aws2/lambda/springboot/Lambda2ComponentConverter.java b/components-starter/camel-aws2-lambda-starter/src/main/java/org/apache/camel/component/aws2/lambda/springboot/Lambda2ComponentConverter.java
new file mode 100644
index 0000000..1e50c28
--- /dev/null
+++ b/components-starter/camel-aws2-lambda-starter/src/main/java/org/apache/camel/component/aws2/lambda/springboot/Lambda2ComponentConverter.java
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws2.lambda.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class Lambda2ComponentConverter
+ implements
+ org.springframework.core.convert.converter.GenericConverter {
+
+ private final CamelContext camelContext;
+
+ public Lambda2ComponentConverter(org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
+ public Set<ConvertiblePair> getConvertibleTypes() {
+ Set<ConvertiblePair> answer = new LinkedHashSet<>();
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws2.lambda.Lambda2Configuration.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws2.lambda.Lambda2Operations.class));
+ answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.services.lambda.LambdaClient.class));
+ answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.core.Protocol.class));
+ return answer;
+ }
+
+ public Object convert(
+ Object source,
+ TypeDescriptor sourceType,
+ TypeDescriptor targetType) {
+ if (source == null) {
+ return null;
+ }
+ String ref = source.toString();
+ if (!ref.startsWith("#")) {
+ return null;
+ }
+ ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+ switch (targetType.getName()) {
+ case "org.apache.camel.component.aws2.lambda.Lambda2Configuration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws2.lambda.Lambda2Configuration.class);
+ case "org.apache.camel.component.aws2.lambda.Lambda2Operations": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws2.lambda.Lambda2Operations.class);
+ case "software.amazon.awssdk.services.lambda.LambdaClient": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.services.lambda.LambdaClient.class);
+ case "software.amazon.awssdk.core.Protocol": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.core.Protocol.class);
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/components-starter/camel-aws2-mq-starter/src/main/java/org/apache/camel/component/aws2/mq/springboot/MQ2ComponentAutoConfiguration.java b/components-starter/camel-aws2-mq-starter/src/main/java/org/apache/camel/component/aws2/mq/springboot/MQ2ComponentAutoConfiguration.java
index 4b1322a..de2df5f 100644
--- a/components-starter/camel-aws2-mq-starter/src/main/java/org/apache/camel/component/aws2/mq/springboot/MQ2ComponentAutoConfiguration.java
+++ b/components-starter/camel-aws2-mq-starter/src/main/java/org/apache/camel/component/aws2/mq/springboot/MQ2ComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class MQ2ComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private MQ2ComponentConfiguration configuration;
+ public MQ2ComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+ acs.addConverter(new MQ2ComponentConverter(camelContext));
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureMQ2Component() {
diff --git a/components-starter/camel-aws2-mq-starter/src/main/java/org/apache/camel/component/aws2/mq/springboot/MQ2ComponentConverter.java b/components-starter/camel-aws2-mq-starter/src/main/java/org/apache/camel/component/aws2/mq/springboot/MQ2ComponentConverter.java
new file mode 100644
index 0000000..9749f40
--- /dev/null
+++ b/components-starter/camel-aws2-mq-starter/src/main/java/org/apache/camel/component/aws2/mq/springboot/MQ2ComponentConverter.java
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws2.mq.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class MQ2ComponentConverter
+ implements
+ org.springframework.core.convert.converter.GenericConverter {
+
+ private final CamelContext camelContext;
+
+ public MQ2ComponentConverter(org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
+ public Set<ConvertiblePair> getConvertibleTypes() {
+ Set<ConvertiblePair> answer = new LinkedHashSet<>();
+ answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.services.mq.MqClient.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws2.mq.MQ2Configuration.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws2.mq.MQ2Operations.class));
+ answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.core.Protocol.class));
+ return answer;
+ }
+
+ public Object convert(
+ Object source,
+ TypeDescriptor sourceType,
+ TypeDescriptor targetType) {
+ if (source == null) {
+ return null;
+ }
+ String ref = source.toString();
+ if (!ref.startsWith("#")) {
+ return null;
+ }
+ ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+ switch (targetType.getName()) {
+ case "software.amazon.awssdk.services.mq.MqClient": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.services.mq.MqClient.class);
+ case "org.apache.camel.component.aws2.mq.MQ2Configuration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws2.mq.MQ2Configuration.class);
+ case "org.apache.camel.component.aws2.mq.MQ2Operations": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws2.mq.MQ2Operations.class);
+ case "software.amazon.awssdk.core.Protocol": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.core.Protocol.class);
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/components-starter/camel-aws2-msk-starter/src/main/java/org/apache/camel/component/aws2/msk/springboot/MSK2ComponentAutoConfiguration.java b/components-starter/camel-aws2-msk-starter/src/main/java/org/apache/camel/component/aws2/msk/springboot/MSK2ComponentAutoConfiguration.java
index b6b8f7e..ad06452 100644
--- a/components-starter/camel-aws2-msk-starter/src/main/java/org/apache/camel/component/aws2/msk/springboot/MSK2ComponentAutoConfiguration.java
+++ b/components-starter/camel-aws2-msk-starter/src/main/java/org/apache/camel/component/aws2/msk/springboot/MSK2ComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class MSK2ComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private MSK2ComponentConfiguration configuration;
+ public MSK2ComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+ acs.addConverter(new MSK2ComponentConverter(camelContext));
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureMSK2Component() {
diff --git a/components-starter/camel-aws2-msk-starter/src/main/java/org/apache/camel/component/aws2/msk/springboot/MSK2ComponentConverter.java b/components-starter/camel-aws2-msk-starter/src/main/java/org/apache/camel/component/aws2/msk/springboot/MSK2ComponentConverter.java
new file mode 100644
index 0000000..9c82897
--- /dev/null
+++ b/components-starter/camel-aws2-msk-starter/src/main/java/org/apache/camel/component/aws2/msk/springboot/MSK2ComponentConverter.java
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws2.msk.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class MSK2ComponentConverter
+ implements
+ org.springframework.core.convert.converter.GenericConverter {
+
+ private final CamelContext camelContext;
+
+ public MSK2ComponentConverter(org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
+ public Set<ConvertiblePair> getConvertibleTypes() {
+ Set<ConvertiblePair> answer = new LinkedHashSet<>();
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws2.msk.MSK2Configuration.class));
+ answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.services.kafka.KafkaClient.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws2.msk.MSK2Operations.class));
+ answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.core.Protocol.class));
+ return answer;
+ }
+
+ public Object convert(
+ Object source,
+ TypeDescriptor sourceType,
+ TypeDescriptor targetType) {
+ if (source == null) {
+ return null;
+ }
+ String ref = source.toString();
+ if (!ref.startsWith("#")) {
+ return null;
+ }
+ ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+ switch (targetType.getName()) {
+ case "org.apache.camel.component.aws2.msk.MSK2Configuration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws2.msk.MSK2Configuration.class);
+ case "software.amazon.awssdk.services.kafka.KafkaClient": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.services.kafka.KafkaClient.class);
+ case "org.apache.camel.component.aws2.msk.MSK2Operations": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws2.msk.MSK2Operations.class);
+ case "software.amazon.awssdk.core.Protocol": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.core.Protocol.class);
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/components-starter/camel-aws2-s3-starter/src/main/java/org/apache/camel/component/aws2/s3/springboot/AWS2S3ComponentAutoConfiguration.java b/components-starter/camel-aws2-s3-starter/src/main/java/org/apache/camel/component/aws2/s3/springboot/AWS2S3ComponentAutoConfiguration.java
index 719b5af..e32067c 100644
--- a/components-starter/camel-aws2-s3-starter/src/main/java/org/apache/camel/component/aws2/s3/springboot/AWS2S3ComponentAutoConfiguration.java
+++ b/components-starter/camel-aws2-s3-starter/src/main/java/org/apache/camel/component/aws2/s3/springboot/AWS2S3ComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class AWS2S3ComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private AWS2S3ComponentConfiguration configuration;
+ public AWS2S3ComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+ acs.addConverter(new AWS2S3ComponentConverter(camelContext));
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureAWS2S3Component() {
diff --git a/components-starter/camel-aws2-s3-starter/src/main/java/org/apache/camel/component/aws2/s3/springboot/AWS2S3ComponentConverter.java b/components-starter/camel-aws2-s3-starter/src/main/java/org/apache/camel/component/aws2/s3/springboot/AWS2S3ComponentConverter.java
new file mode 100644
index 0000000..5219fc5
--- /dev/null
+++ b/components-starter/camel-aws2-s3-starter/src/main/java/org/apache/camel/component/aws2/s3/springboot/AWS2S3ComponentConverter.java
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws2.s3.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class AWS2S3ComponentConverter
+ implements
+ org.springframework.core.convert.converter.GenericConverter {
+
+ private final CamelContext camelContext;
+
+ public AWS2S3ComponentConverter(org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
+ public Set<ConvertiblePair> getConvertibleTypes() {
+ Set<ConvertiblePair> answer = new LinkedHashSet<>();
+ answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.services.s3.S3Client.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws2.s3.AWS2S3Configuration.class));
+ answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.core.Protocol.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws2.s3.AWS2S3Operations.class));
+ return answer;
+ }
+
+ public Object convert(
+ Object source,
+ TypeDescriptor sourceType,
+ TypeDescriptor targetType) {
+ if (source == null) {
+ return null;
+ }
+ String ref = source.toString();
+ if (!ref.startsWith("#")) {
+ return null;
+ }
+ ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+ switch (targetType.getName()) {
+ case "software.amazon.awssdk.services.s3.S3Client": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.services.s3.S3Client.class);
+ case "org.apache.camel.component.aws2.s3.AWS2S3Configuration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws2.s3.AWS2S3Configuration.class);
+ case "software.amazon.awssdk.core.Protocol": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.core.Protocol.class);
+ case "org.apache.camel.component.aws2.s3.AWS2S3Operations": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws2.s3.AWS2S3Operations.class);
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/components-starter/camel-aws2-ses-starter/src/main/java/org/apache/camel/component/aws2/ses/springboot/Ses2ComponentAutoConfiguration.java b/components-starter/camel-aws2-ses-starter/src/main/java/org/apache/camel/component/aws2/ses/springboot/Ses2ComponentAutoConfiguration.java
index 6ed0f1c..af60d1f 100644
--- a/components-starter/camel-aws2-ses-starter/src/main/java/org/apache/camel/component/aws2/ses/springboot/Ses2ComponentAutoConfiguration.java
+++ b/components-starter/camel-aws2-ses-starter/src/main/java/org/apache/camel/component/aws2/ses/springboot/Ses2ComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class Ses2ComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private Ses2ComponentConfiguration configuration;
+ public Ses2ComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+ acs.addConverter(new Ses2ComponentConverter(camelContext));
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureSes2Component() {
diff --git a/components-starter/camel-aws2-ses-starter/src/main/java/org/apache/camel/component/aws2/ses/springboot/Ses2ComponentConverter.java b/components-starter/camel-aws2-ses-starter/src/main/java/org/apache/camel/component/aws2/ses/springboot/Ses2ComponentConverter.java
new file mode 100644
index 0000000..0246737
--- /dev/null
+++ b/components-starter/camel-aws2-ses-starter/src/main/java/org/apache/camel/component/aws2/ses/springboot/Ses2ComponentConverter.java
@@ -0,0 +1,67 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws2.ses.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class Ses2ComponentConverter
+ implements
+ org.springframework.core.convert.converter.GenericConverter {
+
+ private final CamelContext camelContext;
+
+ public Ses2ComponentConverter(org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
+ public Set<ConvertiblePair> getConvertibleTypes() {
+ Set<ConvertiblePair> answer = new LinkedHashSet<>();
+ answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.services.ses.SesClient.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws2.ses.Ses2Configuration.class));
+ answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.core.Protocol.class));
+ return answer;
+ }
+
+ public Object convert(
+ Object source,
+ TypeDescriptor sourceType,
+ TypeDescriptor targetType) {
+ if (source == null) {
+ return null;
+ }
+ String ref = source.toString();
+ if (!ref.startsWith("#")) {
+ return null;
+ }
+ ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+ switch (targetType.getName()) {
+ case "software.amazon.awssdk.services.ses.SesClient": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.services.ses.SesClient.class);
+ case "org.apache.camel.component.aws2.ses.Ses2Configuration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws2.ses.Ses2Configuration.class);
+ case "software.amazon.awssdk.core.Protocol": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.core.Protocol.class);
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/components-starter/camel-aws2-sns-starter/src/main/java/org/apache/camel/component/aws2/sns/springboot/Sns2ComponentAutoConfiguration.java b/components-starter/camel-aws2-sns-starter/src/main/java/org/apache/camel/component/aws2/sns/springboot/Sns2ComponentAutoConfiguration.java
index 85ce9d4..821cd86 100644
--- a/components-starter/camel-aws2-sns-starter/src/main/java/org/apache/camel/component/aws2/sns/springboot/Sns2ComponentAutoConfiguration.java
+++ b/components-starter/camel-aws2-sns-starter/src/main/java/org/apache/camel/component/aws2/sns/springboot/Sns2ComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class Sns2ComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private Sns2ComponentConfiguration configuration;
+ public Sns2ComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+ acs.addConverter(new Sns2ComponentConverter(camelContext));
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureSns2Component() {
diff --git a/components-starter/camel-aws2-sns-starter/src/main/java/org/apache/camel/component/aws2/sns/springboot/Sns2ComponentConverter.java b/components-starter/camel-aws2-sns-starter/src/main/java/org/apache/camel/component/aws2/sns/springboot/Sns2ComponentConverter.java
new file mode 100644
index 0000000..24b6b05
--- /dev/null
+++ b/components-starter/camel-aws2-sns-starter/src/main/java/org/apache/camel/component/aws2/sns/springboot/Sns2ComponentConverter.java
@@ -0,0 +1,67 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws2.sns.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class Sns2ComponentConverter
+ implements
+ org.springframework.core.convert.converter.GenericConverter {
+
+ private final CamelContext camelContext;
+
+ public Sns2ComponentConverter(org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
+ public Set<ConvertiblePair> getConvertibleTypes() {
+ Set<ConvertiblePair> answer = new LinkedHashSet<>();
+ answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.services.sns.SnsClient.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws2.sns.Sns2Configuration.class));
+ answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.core.Protocol.class));
+ return answer;
+ }
+
+ public Object convert(
+ Object source,
+ TypeDescriptor sourceType,
+ TypeDescriptor targetType) {
+ if (source == null) {
+ return null;
+ }
+ String ref = source.toString();
+ if (!ref.startsWith("#")) {
+ return null;
+ }
+ ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+ switch (targetType.getName()) {
+ case "software.amazon.awssdk.services.sns.SnsClient": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.services.sns.SnsClient.class);
+ case "org.apache.camel.component.aws2.sns.Sns2Configuration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws2.sns.Sns2Configuration.class);
+ case "software.amazon.awssdk.core.Protocol": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.core.Protocol.class);
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/components-starter/camel-aws2-sqs-starter/src/main/java/org/apache/camel/component/aws2/sqs/springboot/Sqs2ComponentAutoConfiguration.java b/components-starter/camel-aws2-sqs-starter/src/main/java/org/apache/camel/component/aws2/sqs/springboot/Sqs2ComponentAutoConfiguration.java
index e704aab..c580765 100644
--- a/components-starter/camel-aws2-sqs-starter/src/main/java/org/apache/camel/component/aws2/sqs/springboot/Sqs2ComponentAutoConfiguration.java
+++ b/components-starter/camel-aws2-sqs-starter/src/main/java/org/apache/camel/component/aws2/sqs/springboot/Sqs2ComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class Sqs2ComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private Sqs2ComponentConfiguration configuration;
+ public Sqs2ComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+ acs.addConverter(new Sqs2ComponentConverter(camelContext));
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureSqs2Component() {
diff --git a/components-starter/camel-aws2-sqs-starter/src/main/java/org/apache/camel/component/aws2/sqs/springboot/Sqs2ComponentConverter.java b/components-starter/camel-aws2-sqs-starter/src/main/java/org/apache/camel/component/aws2/sqs/springboot/Sqs2ComponentConverter.java
new file mode 100644
index 0000000..ea2a70f
--- /dev/null
+++ b/components-starter/camel-aws2-sqs-starter/src/main/java/org/apache/camel/component/aws2/sqs/springboot/Sqs2ComponentConverter.java
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws2.sqs.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class Sqs2ComponentConverter
+ implements
+ org.springframework.core.convert.converter.GenericConverter {
+
+ private final CamelContext camelContext;
+
+ public Sqs2ComponentConverter(org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
+ public Set<ConvertiblePair> getConvertibleTypes() {
+ Set<ConvertiblePair> answer = new LinkedHashSet<>();
+ answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.services.sqs.SqsClient.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws2.sqs.Sqs2Configuration.class));
+ answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.core.Protocol.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws2.sqs.Sqs2Operations.class));
+ return answer;
+ }
+
+ public Object convert(
+ Object source,
+ TypeDescriptor sourceType,
+ TypeDescriptor targetType) {
+ if (source == null) {
+ return null;
+ }
+ String ref = source.toString();
+ if (!ref.startsWith("#")) {
+ return null;
+ }
+ ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+ switch (targetType.getName()) {
+ case "software.amazon.awssdk.services.sqs.SqsClient": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.services.sqs.SqsClient.class);
+ case "org.apache.camel.component.aws2.sqs.Sqs2Configuration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws2.sqs.Sqs2Configuration.class);
+ case "software.amazon.awssdk.core.Protocol": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.core.Protocol.class);
+ case "org.apache.camel.component.aws2.sqs.Sqs2Operations": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws2.sqs.Sqs2Operations.class);
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/components-starter/camel-aws2-sts-starter/src/main/java/org/apache/camel/component/aws2/sts/springboot/STS2ComponentAutoConfiguration.java b/components-starter/camel-aws2-sts-starter/src/main/java/org/apache/camel/component/aws2/sts/springboot/STS2ComponentAutoConfiguration.java
index b7f526d..a50a31f 100644
--- a/components-starter/camel-aws2-sts-starter/src/main/java/org/apache/camel/component/aws2/sts/springboot/STS2ComponentAutoConfiguration.java
+++ b/components-starter/camel-aws2-sts-starter/src/main/java/org/apache/camel/component/aws2/sts/springboot/STS2ComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class STS2ComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private STS2ComponentConfiguration configuration;
+ public STS2ComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+ acs.addConverter(new STS2ComponentConverter(camelContext));
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureSTS2Component() {
diff --git a/components-starter/camel-aws2-sts-starter/src/main/java/org/apache/camel/component/aws2/sts/springboot/STS2ComponentConverter.java b/components-starter/camel-aws2-sts-starter/src/main/java/org/apache/camel/component/aws2/sts/springboot/STS2ComponentConverter.java
new file mode 100644
index 0000000..94d20b2
--- /dev/null
+++ b/components-starter/camel-aws2-sts-starter/src/main/java/org/apache/camel/component/aws2/sts/springboot/STS2ComponentConverter.java
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws2.sts.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class STS2ComponentConverter
+ implements
+ org.springframework.core.convert.converter.GenericConverter {
+
+ private final CamelContext camelContext;
+
+ public STS2ComponentConverter(org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
+ public Set<ConvertiblePair> getConvertibleTypes() {
+ Set<ConvertiblePair> answer = new LinkedHashSet<>();
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws2.sts.STS2Configuration.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws2.sts.STS2Operations.class));
+ answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.core.Protocol.class));
+ answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.services.sts.StsClient.class));
+ return answer;
+ }
+
+ public Object convert(
+ Object source,
+ TypeDescriptor sourceType,
+ TypeDescriptor targetType) {
+ if (source == null) {
+ return null;
+ }
+ String ref = source.toString();
+ if (!ref.startsWith("#")) {
+ return null;
+ }
+ ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+ switch (targetType.getName()) {
+ case "org.apache.camel.component.aws2.sts.STS2Configuration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws2.sts.STS2Configuration.class);
+ case "org.apache.camel.component.aws2.sts.STS2Operations": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws2.sts.STS2Operations.class);
+ case "software.amazon.awssdk.core.Protocol": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.core.Protocol.class);
+ case "software.amazon.awssdk.services.sts.StsClient": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.services.sts.StsClient.class);
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/components-starter/camel-aws2-translate-starter/src/main/java/org/apache/camel/component/aws2/translate/springboot/Translate2ComponentAutoConfiguration.java b/components-starter/camel-aws2-translate-starter/src/main/java/org/apache/camel/component/aws2/translate/springboot/Translate2ComponentAutoConfiguration.java
index 3608864..827c167 100644
--- a/components-starter/camel-aws2-translate-starter/src/main/java/org/apache/camel/component/aws2/translate/springboot/Translate2ComponentAutoConfiguration.java
+++ b/components-starter/camel-aws2-translate-starter/src/main/java/org/apache/camel/component/aws2/translate/springboot/Translate2ComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class Translate2ComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private Translate2ComponentConfiguration configuration;
+ public Translate2ComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+ acs.addConverter(new Translate2ComponentConverter(camelContext));
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureTranslate2Component() {
diff --git a/components-starter/camel-aws2-translate-starter/src/main/java/org/apache/camel/component/aws2/translate/springboot/Translate2ComponentConverter.java b/components-starter/camel-aws2-translate-starter/src/main/java/org/apache/camel/component/aws2/translate/springboot/Translate2ComponentConverter.java
new file mode 100644
index 0000000..2c55bce
--- /dev/null
+++ b/components-starter/camel-aws2-translate-starter/src/main/java/org/apache/camel/component/aws2/translate/springboot/Translate2ComponentConverter.java
@@ -0,0 +1,70 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.aws2.translate.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class Translate2ComponentConverter
+ implements
+ org.springframework.core.convert.converter.GenericConverter {
+
+ private final CamelContext camelContext;
+
+ public Translate2ComponentConverter(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
+ public Set<ConvertiblePair> getConvertibleTypes() {
+ Set<ConvertiblePair> answer = new LinkedHashSet<>();
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws2.translate.Translate2Configuration.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.aws2.translate.Translate2Operations.class));
+ answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.core.Protocol.class));
+ answer.add(new ConvertiblePair(String.class, software.amazon.awssdk.services.translate.TranslateClient.class));
+ return answer;
+ }
+
+ public Object convert(
+ Object source,
+ TypeDescriptor sourceType,
+ TypeDescriptor targetType) {
+ if (source == null) {
+ return null;
+ }
+ String ref = source.toString();
+ if (!ref.startsWith("#")) {
+ return null;
+ }
+ ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+ switch (targetType.getName()) {
+ case "org.apache.camel.component.aws2.translate.Translate2Configuration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws2.translate.Translate2Configuration.class);
+ case "org.apache.camel.component.aws2.translate.Translate2Operations": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.aws2.translate.Translate2Operations.class);
+ case "software.amazon.awssdk.core.Protocol": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.core.Protocol.class);
+ case "software.amazon.awssdk.services.translate.TranslateClient": return camelContext.getRegistry().lookupByNameAndType(ref, software.amazon.awssdk.services.translate.TranslateClient.class);
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/components-starter/camel-azure-eventhubs-starter/src/main/java/org/apache/camel/component/azure/eventhubs/springboot/EventHubsComponentAutoConfiguration.java b/components-starter/camel-azure-eventhubs-starter/src/main/java/org/apache/camel/component/azure/eventhubs/springboot/EventHubsComponentAutoConfiguration.java
index 0caa25f..cb0fb92 100644
--- a/components-starter/camel-azure-eventhubs-starter/src/main/java/org/apache/camel/component/azure/eventhubs/springboot/EventHubsComponentAutoConfiguration.java
+++ b/components-starter/camel-azure-eventhubs-starter/src/main/java/org/apache/camel/component/azure/eventhubs/springboot/EventHubsComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class EventHubsComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private EventHubsComponentConfiguration configuration;
+ public EventHubsComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+ acs.addConverter(new EventHubsComponentConverter(camelContext));
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureEventHubsComponent() {
diff --git a/components-starter/camel-azure-eventhubs-starter/src/main/java/org/apache/camel/component/azure/eventhubs/springboot/EventHubsComponentConverter.java b/components-starter/camel-azure-eventhubs-starter/src/main/java/org/apache/camel/component/azure/eventhubs/springboot/EventHubsComponentConverter.java
new file mode 100644
index 0000000..a5ec597
--- /dev/null
+++ b/components-starter/camel-azure-eventhubs-starter/src/main/java/org/apache/camel/component/azure/eventhubs/springboot/EventHubsComponentConverter.java
@@ -0,0 +1,74 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.azure.eventhubs.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class EventHubsComponentConverter
+ implements
+ org.springframework.core.convert.converter.GenericConverter {
+
+ private final CamelContext camelContext;
+
+ public EventHubsComponentConverter(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
+ public Set<ConvertiblePair> getConvertibleTypes() {
+ Set<ConvertiblePair> answer = new LinkedHashSet<>();
+ answer.add(new ConvertiblePair(String.class, com.azure.core.amqp.AmqpRetryOptions.class));
+ answer.add(new ConvertiblePair(String.class, com.azure.core.amqp.AmqpTransportType.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.azure.eventhubs.EventHubsConfiguration.class));
+ answer.add(new ConvertiblePair(String.class, com.azure.storage.common.StorageSharedKeyCredential.class));
+ answer.add(new ConvertiblePair(String.class, com.azure.messaging.eventhubs.CheckpointStore.class));
+ answer.add(new ConvertiblePair(String.class, com.azure.messaging.eventhubs.EventHubProducerAsyncClient.class));
+ return answer;
+ }
+
+ public Object convert(
+ Object source,
+ TypeDescriptor sourceType,
+ TypeDescriptor targetType) {
+ if (source == null) {
+ return null;
+ }
+ String ref = source.toString();
+ if (!ref.startsWith("#")) {
+ return null;
+ }
+ ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+ switch (targetType.getName()) {
+ case "com.azure.core.amqp.AmqpRetryOptions": return camelContext.getRegistry().lookupByNameAndType(ref, com.azure.core.amqp.AmqpRetryOptions.class);
+ case "com.azure.core.amqp.AmqpTransportType": return camelContext.getRegistry().lookupByNameAndType(ref, com.azure.core.amqp.AmqpTransportType.class);
+ case "org.apache.camel.component.azure.eventhubs.EventHubsConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.azure.eventhubs.EventHubsConfiguration.class);
+ case "com.azure.storage.common.StorageSharedKeyCredential": return camelContext.getRegistry().lookupByNameAndType(ref, com.azure.storage.common.StorageSharedKeyCredential.class);
+ case "com.azure.messaging.eventhubs.CheckpointStore": return camelContext.getRegistry().lookupByNameAndType(ref, com.azure.messaging.eventhubs.CheckpointStore.class);
+ case "com.azure.messaging.eventhubs.EventHubProducerAsyncClient": return camelContext.getRegistry().lookupByNameAndType(ref, com.azure.messaging.eventhubs.EventHubProducerAsyncClient.class);
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/components-starter/camel-azure-starter/src/main/java/org/apache/camel/component/azure/blob/springboot/BlobServiceComponentAutoConfiguration.java b/components-starter/camel-azure-starter/src/main/java/org/apache/camel/component/azure/blob/springboot/BlobServiceComponentAutoConfiguration.java
index 5570802..7bd2dd6 100644
--- a/components-starter/camel-azure-starter/src/main/java/org/apache/camel/component/azure/blob/springboot/BlobServiceComponentAutoConfiguration.java
+++ b/components-starter/camel-azure-starter/src/main/java/org/apache/camel/component/azure/blob/springboot/BlobServiceComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class BlobServiceComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private BlobServiceComponentConfiguration configuration;
+ public BlobServiceComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+ acs.addConverter(new BlobServiceComponentConverter(camelContext));
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureBlobServiceComponent() {
diff --git a/components-starter/camel-azure-starter/src/main/java/org/apache/camel/component/azure/blob/springboot/BlobServiceComponentConverter.java b/components-starter/camel-azure-starter/src/main/java/org/apache/camel/component/azure/blob/springboot/BlobServiceComponentConverter.java
new file mode 100644
index 0000000..ecb0cc4
--- /dev/null
+++ b/components-starter/camel-azure-starter/src/main/java/org/apache/camel/component/azure/blob/springboot/BlobServiceComponentConverter.java
@@ -0,0 +1,72 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.azure.blob.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class BlobServiceComponentConverter
+ implements
+ org.springframework.core.convert.converter.GenericConverter {
+
+ private final CamelContext camelContext;
+
+ public BlobServiceComponentConverter(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
+ public Set<ConvertiblePair> getConvertibleTypes() {
+ Set<ConvertiblePair> answer = new LinkedHashSet<>();
+ answer.add(new ConvertiblePair(String.class, com.microsoft.azure.storage.blob.CloudBlob.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.azure.blob.BlobType.class));
+ answer.add(new ConvertiblePair(String.class, com.microsoft.azure.storage.StorageCredentials.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.azure.blob.BlobServiceOperations.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.azure.blob.BlobServiceConfiguration.class));
+ return answer;
+ }
+
+ public Object convert(
+ Object source,
+ TypeDescriptor sourceType,
+ TypeDescriptor targetType) {
+ if (source == null) {
+ return null;
+ }
+ String ref = source.toString();
+ if (!ref.startsWith("#")) {
+ return null;
+ }
+ ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+ switch (targetType.getName()) {
+ case "com.microsoft.azure.storage.blob.CloudBlob": return camelContext.getRegistry().lookupByNameAndType(ref, com.microsoft.azure.storage.blob.CloudBlob.class);
+ case "org.apache.camel.component.azure.blob.BlobType": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.azure.blob.BlobType.class);
+ case "com.microsoft.azure.storage.StorageCredentials": return camelContext.getRegistry().lookupByNameAndType(ref, com.microsoft.azure.storage.StorageCredentials.class);
+ case "org.apache.camel.component.azure.blob.BlobServiceOperations": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.azure.blob.BlobServiceOperations.class);
+ case "org.apache.camel.component.azure.blob.BlobServiceConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.azure.blob.BlobServiceConfiguration.class);
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/components-starter/camel-azure-starter/src/main/java/org/apache/camel/component/azure/queue/springboot/QueueServiceComponentAutoConfiguration.java b/components-starter/camel-azure-starter/src/main/java/org/apache/camel/component/azure/queue/springboot/QueueServiceComponentAutoConfiguration.java
index 95fcda0..b4948fb 100644
--- a/components-starter/camel-azure-starter/src/main/java/org/apache/camel/component/azure/queue/springboot/QueueServiceComponentAutoConfiguration.java
+++ b/components-starter/camel-azure-starter/src/main/java/org/apache/camel/component/azure/queue/springboot/QueueServiceComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class QueueServiceComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private QueueServiceComponentConfiguration configuration;
+ public QueueServiceComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+ acs.addConverter(new QueueServiceComponentConverter(camelContext));
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureQueueServiceComponent() {
diff --git a/components-starter/camel-azure-starter/src/main/java/org/apache/camel/component/azure/queue/springboot/QueueServiceComponentConverter.java b/components-starter/camel-azure-starter/src/main/java/org/apache/camel/component/azure/queue/springboot/QueueServiceComponentConverter.java
new file mode 100644
index 0000000..eb84b53
--- /dev/null
+++ b/components-starter/camel-azure-starter/src/main/java/org/apache/camel/component/azure/queue/springboot/QueueServiceComponentConverter.java
@@ -0,0 +1,70 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.azure.queue.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class QueueServiceComponentConverter
+ implements
+ org.springframework.core.convert.converter.GenericConverter {
+
+ private final CamelContext camelContext;
+
+ public QueueServiceComponentConverter(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
+ public Set<ConvertiblePair> getConvertibleTypes() {
+ Set<ConvertiblePair> answer = new LinkedHashSet<>();
+ answer.add(new ConvertiblePair(String.class, com.microsoft.azure.storage.queue.CloudQueue.class));
+ answer.add(new ConvertiblePair(String.class, com.microsoft.azure.storage.StorageCredentials.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.azure.queue.QueueServiceOperations.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.azure.queue.QueueServiceConfiguration.class));
+ return answer;
+ }
+
+ public Object convert(
+ Object source,
+ TypeDescriptor sourceType,
+ TypeDescriptor targetType) {
+ if (source == null) {
+ return null;
+ }
+ String ref = source.toString();
+ if (!ref.startsWith("#")) {
+ return null;
+ }
+ ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+ switch (targetType.getName()) {
+ case "com.microsoft.azure.storage.queue.CloudQueue": return camelContext.getRegistry().lookupByNameAndType(ref, com.microsoft.azure.storage.queue.CloudQueue.class);
+ case "com.microsoft.azure.storage.StorageCredentials": return camelContext.getRegistry().lookupByNameAndType(ref, com.microsoft.azure.storage.StorageCredentials.class);
+ case "org.apache.camel.component.azure.queue.QueueServiceOperations": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.azure.queue.QueueServiceOperations.class);
+ case "org.apache.camel.component.azure.queue.QueueServiceConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.azure.queue.QueueServiceConfiguration.class);
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/components-starter/camel-azure-storage-blob-starter/src/main/java/org/apache/camel/component/azure/storage/blob/springboot/BlobComponentAutoConfiguration.java b/components-starter/camel-azure-storage-blob-starter/src/main/java/org/apache/camel/component/azure/storage/blob/springboot/BlobComponentAutoConfiguration.java
index 9f6b2a6..582fed9 100644
--- a/components-starter/camel-azure-storage-blob-starter/src/main/java/org/apache/camel/component/azure/storage/blob/springboot/BlobComponentAutoConfiguration.java
+++ b/components-starter/camel-azure-storage-blob-starter/src/main/java/org/apache/camel/component/azure/storage/blob/springboot/BlobComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class BlobComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private BlobComponentConfiguration configuration;
+ public BlobComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+ acs.addConverter(new BlobComponentConverter(camelContext));
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureBlobComponent() {
diff --git a/components-starter/camel-azure-storage-blob-starter/src/main/java/org/apache/camel/component/azure/storage/blob/springboot/BlobComponentConverter.java b/components-starter/camel-azure-storage-blob-starter/src/main/java/org/apache/camel/component/azure/storage/blob/springboot/BlobComponentConverter.java
new file mode 100644
index 0000000..dea8678
--- /dev/null
+++ b/components-starter/camel-azure-storage-blob-starter/src/main/java/org/apache/camel/component/azure/storage/blob/springboot/BlobComponentConverter.java
@@ -0,0 +1,75 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.azure.storage.blob.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class BlobComponentConverter
+ implements
+ org.springframework.core.convert.converter.GenericConverter {
+
+ private final CamelContext camelContext;
+
+ public BlobComponentConverter(org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
+ public Set<ConvertiblePair> getConvertibleTypes() {
+ Set<ConvertiblePair> answer = new LinkedHashSet<>();
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.azure.storage.blob.BlobType.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.azure.storage.blob.BlobConfiguration.class));
+ answer.add(new ConvertiblePair(String.class, com.azure.storage.common.StorageSharedKeyCredential.class));
+ answer.add(new ConvertiblePair(String.class, com.azure.storage.blob.BlobServiceClient.class));
+ answer.add(new ConvertiblePair(String.class, java.time.Duration.class));
+ answer.add(new ConvertiblePair(String.class, com.azure.storage.blob.models.BlockListType.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.azure.storage.blob.BlobOperationsDefinition.class));
+ return answer;
+ }
+
+ public Object convert(
+ Object source,
+ TypeDescriptor sourceType,
+ TypeDescriptor targetType) {
+ if (source == null) {
+ return null;
+ }
+ String ref = source.toString();
+ if (!ref.startsWith("#")) {
+ return null;
+ }
+ ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+ switch (targetType.getName()) {
+ case "org.apache.camel.component.azure.storage.blob.BlobType": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.azure.storage.blob.BlobType.class);
+ case "org.apache.camel.component.azure.storage.blob.BlobConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.azure.storage.blob.BlobConfiguration.class);
+ case "com.azure.storage.common.StorageSharedKeyCredential": return camelContext.getRegistry().lookupByNameAndType(ref, com.azure.storage.common.StorageSharedKeyCredential.class);
+ case "com.azure.storage.blob.BlobServiceClient": return camelContext.getRegistry().lookupByNameAndType(ref, com.azure.storage.blob.BlobServiceClient.class);
+ case "java.time.Duration": return camelContext.getRegistry().lookupByNameAndType(ref, java.time.Duration.class);
+ case "com.azure.storage.blob.models.BlockListType": return camelContext.getRegistry().lookupByNameAndType(ref, com.azure.storage.blob.models.BlockListType.class);
+ case "org.apache.camel.component.azure.storage.blob.BlobOperationsDefinition": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.azure.storage.blob.BlobOperationsDefinition.class);
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/components-starter/camel-azure-storage-queue-starter/src/main/java/org/apache/camel/component/azure/storage/queue/springboot/QueueComponentAutoConfiguration.java b/components-starter/camel-azure-storage-queue-starter/src/main/java/org/apache/camel/component/azure/storage/queue/springboot/QueueComponentAutoConfiguration.java
index 06f87e7..32070f1 100644
--- a/components-starter/camel-azure-storage-queue-starter/src/main/java/org/apache/camel/component/azure/storage/queue/springboot/QueueComponentAutoConfiguration.java
+++ b/components-starter/camel-azure-storage-queue-starter/src/main/java/org/apache/camel/component/azure/storage/queue/springboot/QueueComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class QueueComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private QueueComponentConfiguration configuration;
+ public QueueComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+ acs.addConverter(new QueueComponentConverter(camelContext));
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureQueueComponent() {
diff --git a/components-starter/camel-azure-storage-queue-starter/src/main/java/org/apache/camel/component/azure/storage/queue/springboot/QueueComponentConverter.java b/components-starter/camel-azure-storage-queue-starter/src/main/java/org/apache/camel/component/azure/storage/queue/springboot/QueueComponentConverter.java
new file mode 100644
index 0000000..17ced3b
--- /dev/null
+++ b/components-starter/camel-azure-storage-queue-starter/src/main/java/org/apache/camel/component/azure/storage/queue/springboot/QueueComponentConverter.java
@@ -0,0 +1,71 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.azure.storage.queue.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class QueueComponentConverter
+ implements
+ org.springframework.core.convert.converter.GenericConverter {
+
+ private final CamelContext camelContext;
+
+ public QueueComponentConverter(org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
+ public Set<ConvertiblePair> getConvertibleTypes() {
+ Set<ConvertiblePair> answer = new LinkedHashSet<>();
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.azure.storage.queue.QueueConfiguration.class));
+ answer.add(new ConvertiblePair(String.class, com.azure.storage.queue.QueueServiceClient.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.azure.storage.queue.QueueOperationDefinition.class));
+ answer.add(new ConvertiblePair(String.class, java.time.Duration.class));
+ answer.add(new ConvertiblePair(String.class, com.azure.storage.common.StorageSharedKeyCredential.class));
+ return answer;
+ }
+
+ public Object convert(
+ Object source,
+ TypeDescriptor sourceType,
+ TypeDescriptor targetType) {
+ if (source == null) {
+ return null;
+ }
+ String ref = source.toString();
+ if (!ref.startsWith("#")) {
+ return null;
+ }
+ ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+ switch (targetType.getName()) {
+ case "org.apache.camel.component.azure.storage.queue.QueueConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.azure.storage.queue.QueueConfiguration.class);
+ case "com.azure.storage.queue.QueueServiceClient": return camelContext.getRegistry().lookupByNameAndType(ref, com.azure.storage.queue.QueueServiceClient.class);
+ case "org.apache.camel.component.azure.storage.queue.QueueOperationDefinition": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.azure.storage.queue.QueueOperationDefinition.class);
+ case "java.time.Duration": return camelContext.getRegistry().lookupByNameAndType(ref, java.time.Duration.class);
+ case "com.azure.storage.common.StorageSharedKeyCredential": return camelContext.getRegistry().lookupByNameAndType(ref, com.azure.storage.common.StorageSharedKeyCredential.class);
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/components-starter/camel-barcode-starter/src/main/java/org/apache/camel/dataformat/barcode/springboot/BarcodeDataFormatAutoConfiguration.java b/components-starter/camel-barcode-starter/src/main/java/org/apache/camel/dataformat/barcode/springboot/BarcodeDataFormatAutoConfiguration.java
index 4d69564..5e2930c 100644
--- a/components-starter/camel-barcode-starter/src/main/java/org/apache/camel/dataformat/barcode/springboot/BarcodeDataFormatAutoConfiguration.java
+++ b/components-starter/camel-barcode-starter/src/main/java/org/apache/camel/dataformat/barcode/springboot/BarcodeDataFormatAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,15 @@ public class BarcodeDataFormatAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private BarcodeDataFormatConfiguration configuration;
+ public BarcodeDataFormatAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
@Lazy
@Bean
public DataFormatCustomizer configureBarcodeDataFormatFactory() {
diff --git a/components-starter/camel-base64-starter/src/main/java/org/apache/camel/dataformat/base64/springboot/Base64DataFormatAutoConfiguration.java b/components-starter/camel-base64-starter/src/main/java/org/apache/camel/dataformat/base64/springboot/Base64DataFormatAutoConfiguration.java
index 77c38c7..26124fd 100644
--- a/components-starter/camel-base64-starter/src/main/java/org/apache/camel/dataformat/base64/springboot/Base64DataFormatAutoConfiguration.java
+++ b/components-starter/camel-base64-starter/src/main/java/org/apache/camel/dataformat/base64/springboot/Base64DataFormatAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,15 @@ public class Base64DataFormatAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private Base64DataFormatConfiguration configuration;
+ public Base64DataFormatAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
@Lazy
@Bean
public DataFormatCustomizer configureBase64DataFormatFactory() {
diff --git a/components-starter/camel-bean-starter/src/main/java/org/apache/camel/component/bean/springboot/BeanComponentAutoConfiguration.java b/components-starter/camel-bean-starter/src/main/java/org/apache/camel/component/bean/springboot/BeanComponentAutoConfiguration.java
index df7c333..7a1f4b5 100644
--- a/components-starter/camel-bean-starter/src/main/java/org/apache/camel/component/bean/springboot/BeanComponentAutoConfiguration.java
+++ b/components-starter/camel-bean-starter/src/main/java/org/apache/camel/component/bean/springboot/BeanComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class BeanComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private BeanComponentConfiguration configuration;
+ public BeanComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+ acs.addConverter(new BeanComponentConverter(camelContext));
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureBeanComponent() {
diff --git a/components-starter/camel-bean-starter/src/main/java/org/apache/camel/component/bean/springboot/BeanComponentConverter.java b/components-starter/camel-bean-starter/src/main/java/org/apache/camel/component/bean/springboot/BeanComponentConverter.java
new file mode 100644
index 0000000..25565e7
--- /dev/null
+++ b/components-starter/camel-bean-starter/src/main/java/org/apache/camel/component/bean/springboot/BeanComponentConverter.java
@@ -0,0 +1,63 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.bean.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class BeanComponentConverter
+ implements
+ org.springframework.core.convert.converter.GenericConverter {
+
+ private final CamelContext camelContext;
+
+ public BeanComponentConverter(org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
+ public Set<ConvertiblePair> getConvertibleTypes() {
+ Set<ConvertiblePair> answer = new LinkedHashSet<>();
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.BeanScope.class));
+ return answer;
+ }
+
+ public Object convert(
+ Object source,
+ TypeDescriptor sourceType,
+ TypeDescriptor targetType) {
+ if (source == null) {
+ return null;
+ }
+ String ref = source.toString();
+ if (!ref.startsWith("#")) {
+ return null;
+ }
+ ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+ switch (targetType.getName()) {
+ case "org.apache.camel.BeanScope": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.BeanScope.class);
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/components-starter/camel-bean-starter/src/main/java/org/apache/camel/component/beanclass/springboot/ClassComponentAutoConfiguration.java b/components-starter/camel-bean-starter/src/main/java/org/apache/camel/component/beanclass/springboot/ClassComponentAutoConfiguration.java
index 1047e39..3dbc539 100644
--- a/components-starter/camel-bean-starter/src/main/java/org/apache/camel/component/beanclass/springboot/ClassComponentAutoConfiguration.java
+++ b/components-starter/camel-bean-starter/src/main/java/org/apache/camel/component/beanclass/springboot/ClassComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class ClassComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private ClassComponentConfiguration configuration;
+ public ClassComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+ acs.addConverter(new ClassComponentConverter(camelContext));
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureClassComponent() {
diff --git a/components-starter/camel-bean-starter/src/main/java/org/apache/camel/component/beanclass/springboot/ClassComponentConverter.java b/components-starter/camel-bean-starter/src/main/java/org/apache/camel/component/beanclass/springboot/ClassComponentConverter.java
new file mode 100644
index 0000000..b0adeb1
--- /dev/null
+++ b/components-starter/camel-bean-starter/src/main/java/org/apache/camel/component/beanclass/springboot/ClassComponentConverter.java
@@ -0,0 +1,63 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.beanclass.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class ClassComponentConverter
+ implements
+ org.springframework.core.convert.converter.GenericConverter {
+
+ private final CamelContext camelContext;
+
+ public ClassComponentConverter(org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
+ public Set<ConvertiblePair> getConvertibleTypes() {
+ Set<ConvertiblePair> answer = new LinkedHashSet<>();
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.BeanScope.class));
+ return answer;
+ }
+
+ public Object convert(
+ Object source,
+ TypeDescriptor sourceType,
+ TypeDescriptor targetType) {
+ if (source == null) {
+ return null;
+ }
+ String ref = source.toString();
+ if (!ref.startsWith("#")) {
+ return null;
+ }
+ ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+ switch (targetType.getName()) {
+ case "org.apache.camel.BeanScope": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.BeanScope.class);
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/components-starter/camel-bean-starter/src/main/java/org/apache/camel/language/bean/springboot/BeanLanguageAutoConfiguration.java b/components-starter/camel-bean-starter/src/main/java/org/apache/camel/language/bean/springboot/BeanLanguageAutoConfiguration.java
index 5edbf21..88da996 100644
--- a/components-starter/camel-bean-starter/src/main/java/org/apache/camel/language/bean/springboot/BeanLanguageAutoConfiguration.java
+++ b/components-starter/camel-bean-starter/src/main/java/org/apache/camel/language/bean/springboot/BeanLanguageAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,15 @@ public class BeanLanguageAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private BeanLanguageConfiguration configuration;
+ public BeanLanguageAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
@Lazy
@Bean
public org.apache.camel.spi.LanguageCustomizer configureBeanLanguage() {
diff --git a/components-starter/camel-bean-validator-starter/src/main/java/org/apache/camel/component/bean/validator/springboot/BeanValidatorComponentAutoConfiguration.java b/components-starter/camel-bean-validator-starter/src/main/java/org/apache/camel/component/bean/validator/springboot/BeanValidatorComponentAutoConfiguration.java
index a38f219..2779ae6 100644
--- a/components-starter/camel-bean-validator-starter/src/main/java/org/apache/camel/component/bean/validator/springboot/BeanValidatorComponentAutoConfiguration.java
+++ b/components-starter/camel-bean-validator-starter/src/main/java/org/apache/camel/component/bean/validator/springboot/BeanValidatorComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class BeanValidatorComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private BeanValidatorComponentConfiguration configuration;
+ public BeanValidatorComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+ acs.addConverter(new BeanValidatorComponentConverter(camelContext));
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureBeanValidatorComponent() {
diff --git a/components-starter/camel-bean-validator-starter/src/main/java/org/apache/camel/component/bean/validator/springboot/BeanValidatorComponentConverter.java b/components-starter/camel-bean-validator-starter/src/main/java/org/apache/camel/component/bean/validator/springboot/BeanValidatorComponentConverter.java
new file mode 100644
index 0000000..b5fb9f7
--- /dev/null
+++ b/components-starter/camel-bean-validator-starter/src/main/java/org/apache/camel/component/bean/validator/springboot/BeanValidatorComponentConverter.java
@@ -0,0 +1,72 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.bean.validator.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class BeanValidatorComponentConverter
+ implements
+ org.springframework.core.convert.converter.GenericConverter {
+
+ private final CamelContext camelContext;
+
+ public BeanValidatorComponentConverter(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
+ public Set<ConvertiblePair> getConvertibleTypes() {
+ Set<ConvertiblePair> answer = new LinkedHashSet<>();
+ answer.add(new ConvertiblePair(String.class, javax.validation.ConstraintValidatorFactory.class));
+ answer.add(new ConvertiblePair(String.class, javax.validation.MessageInterpolator.class));
+ answer.add(new ConvertiblePair(String.class, javax.validation.TraversableResolver.class));
+ answer.add(new ConvertiblePair(String.class, javax.validation.ValidationProviderResolver.class));
+ answer.add(new ConvertiblePair(String.class, javax.validation.ValidatorFactory.class));
+ return answer;
+ }
+
+ public Object convert(
+ Object source,
+ TypeDescriptor sourceType,
+ TypeDescriptor targetType) {
+ if (source == null) {
+ return null;
+ }
+ String ref = source.toString();
+ if (!ref.startsWith("#")) {
+ return null;
+ }
+ ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+ switch (targetType.getName()) {
+ case "javax.validation.ConstraintValidatorFactory": return camelContext.getRegistry().lookupByNameAndType(ref, javax.validation.ConstraintValidatorFactory.class);
+ case "javax.validation.MessageInterpolator": return camelContext.getRegistry().lookupByNameAndType(ref, javax.validation.MessageInterpolator.class);
+ case "javax.validation.TraversableResolver": return camelContext.getRegistry().lookupByNameAndType(ref, javax.validation.TraversableResolver.class);
+ case "javax.validation.ValidationProviderResolver": return camelContext.getRegistry().lookupByNameAndType(ref, javax.validation.ValidationProviderResolver.class);
+ case "javax.validation.ValidatorFactory": return camelContext.getRegistry().lookupByNameAndType(ref, javax.validation.ValidatorFactory.class);
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/components-starter/camel-beanio-starter/src/main/java/org/apache/camel/dataformat/beanio/springboot/BeanIODataFormatAutoConfiguration.java b/components-starter/camel-beanio-starter/src/main/java/org/apache/camel/dataformat/beanio/springboot/BeanIODataFormatAutoConfiguration.java
index c81e714..d28f73b 100644
--- a/components-starter/camel-beanio-starter/src/main/java/org/apache/camel/dataformat/beanio/springboot/BeanIODataFormatAutoConfiguration.java
+++ b/components-starter/camel-beanio-starter/src/main/java/org/apache/camel/dataformat/beanio/springboot/BeanIODataFormatAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,15 @@ public class BeanIODataFormatAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private BeanIODataFormatConfiguration configuration;
+ public BeanIODataFormatAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
@Lazy
@Bean
public DataFormatCustomizer configureBeanIODataFormatFactory() {
diff --git a/components-starter/camel-beanstalk-starter/src/main/java/org/apache/camel/component/beanstalk/springboot/BeanstalkComponentAutoConfiguration.java b/components-starter/camel-beanstalk-starter/src/main/java/org/apache/camel/component/beanstalk/springboot/BeanstalkComponentAutoConfiguration.java
index 166c271..fc68def 100644
--- a/components-starter/camel-beanstalk-starter/src/main/java/org/apache/camel/component/beanstalk/springboot/BeanstalkComponentAutoConfiguration.java
+++ b/components-starter/camel-beanstalk-starter/src/main/java/org/apache/camel/component/beanstalk/springboot/BeanstalkComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class BeanstalkComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private BeanstalkComponentConfiguration configuration;
+ public BeanstalkComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+ acs.addConverter(new BeanstalkComponentConverter(camelContext));
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureBeanstalkComponent() {
diff --git a/components-starter/camel-beanstalk-starter/src/main/java/org/apache/camel/component/beanstalk/springboot/BeanstalkComponentConverter.java b/components-starter/camel-beanstalk-starter/src/main/java/org/apache/camel/component/beanstalk/springboot/BeanstalkComponentConverter.java
new file mode 100644
index 0000000..e8ab21b
--- /dev/null
+++ b/components-starter/camel-beanstalk-starter/src/main/java/org/apache/camel/component/beanstalk/springboot/BeanstalkComponentConverter.java
@@ -0,0 +1,64 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.beanstalk.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class BeanstalkComponentConverter
+ implements
+ org.springframework.core.convert.converter.GenericConverter {
+
+ private final CamelContext camelContext;
+
+ public BeanstalkComponentConverter(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
+ public Set<ConvertiblePair> getConvertibleTypes() {
+ Set<ConvertiblePair> answer = new LinkedHashSet<>();
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.beanstalk.ConnectionSettingsFactory.class));
+ return answer;
+ }
+
+ public Object convert(
+ Object source,
+ TypeDescriptor sourceType,
+ TypeDescriptor targetType) {
+ if (source == null) {
+ return null;
+ }
+ String ref = source.toString();
+ if (!ref.startsWith("#")) {
+ return null;
+ }
+ ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+ switch (targetType.getName()) {
+ case "org.apache.camel.component.beanstalk.ConnectionSettingsFactory": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.beanstalk.ConnectionSettingsFactory.class);
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/components-starter/camel-bindy-starter/src/main/java/org/apache/camel/dataformat/bindy/csv/springboot/BindyCsvDataFormatAutoConfiguration.java b/components-starter/camel-bindy-starter/src/main/java/org/apache/camel/dataformat/bindy/csv/springboot/BindyCsvDataFormatAutoConfiguration.java
index 3164e95..df9abac 100644
--- a/components-starter/camel-bindy-starter/src/main/java/org/apache/camel/dataformat/bindy/csv/springboot/BindyCsvDataFormatAutoConfiguration.java
+++ b/components-starter/camel-bindy-starter/src/main/java/org/apache/camel/dataformat/bindy/csv/springboot/BindyCsvDataFormatAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,15 @@ public class BindyCsvDataFormatAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private BindyCsvDataFormatConfiguration configuration;
+ public BindyCsvDataFormatAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
@Lazy
@Bean
public DataFormatCustomizer configureBindyCsvDataFormatFactory() {
diff --git a/components-starter/camel-bindy-starter/src/main/java/org/apache/camel/dataformat/bindy/fixed/springboot/BindyFixedLengthDataFormatAutoConfiguration.java b/components-starter/camel-bindy-starter/src/main/java/org/apache/camel/dataformat/bindy/fixed/springboot/BindyFixedLengthDataFormatAutoConfiguration.java
index aa81cf8..7223cd9 100644
--- a/components-starter/camel-bindy-starter/src/main/java/org/apache/camel/dataformat/bindy/fixed/springboot/BindyFixedLengthDataFormatAutoConfiguration.java
+++ b/components-starter/camel-bindy-starter/src/main/java/org/apache/camel/dataformat/bindy/fixed/springboot/BindyFixedLengthDataFormatAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,15 @@ public class BindyFixedLengthDataFormatAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private BindyFixedLengthDataFormatConfiguration configuration;
+ public BindyFixedLengthDataFormatAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
@Lazy
@Bean
public DataFormatCustomizer configureBindyFixedLengthDataFormatFactory() {
diff --git a/components-starter/camel-bindy-starter/src/main/java/org/apache/camel/dataformat/bindy/kvp/springboot/BindyKeyValuePairDataFormatAutoConfiguration.java b/components-starter/camel-bindy-starter/src/main/java/org/apache/camel/dataformat/bindy/kvp/springboot/BindyKeyValuePairDataFormatAutoConfiguration.java
index 600fb33..3ea122d 100644
--- a/components-starter/camel-bindy-starter/src/main/java/org/apache/camel/dataformat/bindy/kvp/springboot/BindyKeyValuePairDataFormatAutoConfiguration.java
+++ b/components-starter/camel-bindy-starter/src/main/java/org/apache/camel/dataformat/bindy/kvp/springboot/BindyKeyValuePairDataFormatAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,15 @@ public class BindyKeyValuePairDataFormatAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private BindyKeyValuePairDataFormatConfiguration configuration;
+ public BindyKeyValuePairDataFormatAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
@Lazy
@Bean
public DataFormatCustomizer configureBindyKeyValuePairDataFormatFactory() {
diff --git a/components-starter/camel-bonita-starter/src/main/java/org/apache/camel/component/bonita/springboot/BonitaComponentAutoConfiguration.java b/components-starter/camel-bonita-starter/src/main/java/org/apache/camel/component/bonita/springboot/BonitaComponentAutoConfiguration.java
index 505f094..19387b4 100644
--- a/components-starter/camel-bonita-starter/src/main/java/org/apache/camel/component/bonita/springboot/BonitaComponentAutoConfiguration.java
+++ b/components-starter/camel-bonita-starter/src/main/java/org/apache/camel/component/bonita/springboot/BonitaComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,15 @@ public class BonitaComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private BonitaComponentConfiguration configuration;
+ public BonitaComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureBonitaComponent() {
diff --git a/components-starter/camel-box-starter/src/main/java/org/apache/camel/component/box/springboot/BoxComponentAutoConfiguration.java b/components-starter/camel-box-starter/src/main/java/org/apache/camel/component/box/springboot/BoxComponentAutoConfiguration.java
index c0e86db..0f5683a 100644
--- a/components-starter/camel-box-starter/src/main/java/org/apache/camel/component/box/springboot/BoxComponentAutoConfiguration.java
+++ b/components-starter/camel-box-starter/src/main/java/org/apache/camel/component/box/springboot/BoxComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class BoxComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private BoxComponentConfiguration configuration;
+ public BoxComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+ acs.addConverter(new BoxComponentConverter(camelContext));
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureBoxComponent() {
diff --git a/components-starter/camel-box-starter/src/main/java/org/apache/camel/component/box/springboot/BoxComponentConverter.java b/components-starter/camel-box-starter/src/main/java/org/apache/camel/component/box/springboot/BoxComponentConverter.java
new file mode 100644
index 0000000..6045989
--- /dev/null
+++ b/components-starter/camel-box-starter/src/main/java/org/apache/camel/component/box/springboot/BoxComponentConverter.java
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.box.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class BoxComponentConverter
+ implements
+ org.springframework.core.convert.converter.GenericConverter {
+
+ private final CamelContext camelContext;
+
+ public BoxComponentConverter(org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
+ public Set<ConvertiblePair> getConvertibleTypes() {
+ Set<ConvertiblePair> answer = new LinkedHashSet<>();
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.box.BoxConfiguration.class));
+ answer.add(new ConvertiblePair(String.class, com.box.sdk.IAccessTokenCache.class));
+ answer.add(new ConvertiblePair(String.class, com.box.sdk.EncryptionAlgorithm.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.support.jsse.SSLContextParameters.class));
+ return answer;
+ }
+
+ public Object convert(
+ Object source,
+ TypeDescriptor sourceType,
+ TypeDescriptor targetType) {
+ if (source == null) {
+ return null;
+ }
+ String ref = source.toString();
+ if (!ref.startsWith("#")) {
+ return null;
+ }
+ ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+ switch (targetType.getName()) {
+ case "org.apache.camel.component.box.BoxConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.box.BoxConfiguration.class);
+ case "com.box.sdk.IAccessTokenCache": return camelContext.getRegistry().lookupByNameAndType(ref, com.box.sdk.IAccessTokenCache.class);
+ case "com.box.sdk.EncryptionAlgorithm": return camelContext.getRegistry().lookupByNameAndType(ref, com.box.sdk.EncryptionAlgorithm.class);
+ case "org.apache.camel.support.jsse.SSLContextParameters": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.support.jsse.SSLContextParameters.class);
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/components-starter/camel-braintree-starter/src/main/java/org/apache/camel/component/braintree/springboot/BraintreeComponentAutoConfiguration.java b/components-starter/camel-braintree-starter/src/main/java/org/apache/camel/component/braintree/springboot/BraintreeComponentAutoConfiguration.java
index 5b70cdb..9ae8b64 100644
--- a/components-starter/camel-braintree-starter/src/main/java/org/apache/camel/component/braintree/springboot/BraintreeComponentAutoConfiguration.java
+++ b/components-starter/camel-braintree-starter/src/main/java/org/apache/camel/component/braintree/springboot/BraintreeComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class BraintreeComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private BraintreeComponentConfiguration configuration;
+ public BraintreeComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+ acs.addConverter(new BraintreeComponentConverter(camelContext));
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureBraintreeComponent() {
diff --git a/components-starter/camel-braintree-starter/src/main/java/org/apache/camel/component/braintree/springboot/BraintreeComponentConverter.java b/components-starter/camel-braintree-starter/src/main/java/org/apache/camel/component/braintree/springboot/BraintreeComponentConverter.java
new file mode 100644
index 0000000..f0d2c97
--- /dev/null
+++ b/components-starter/camel-braintree-starter/src/main/java/org/apache/camel/component/braintree/springboot/BraintreeComponentConverter.java
@@ -0,0 +1,64 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.braintree.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class BraintreeComponentConverter
+ implements
+ org.springframework.core.convert.converter.GenericConverter {
+
+ private final CamelContext camelContext;
+
+ public BraintreeComponentConverter(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
+ public Set<ConvertiblePair> getConvertibleTypes() {
+ Set<ConvertiblePair> answer = new LinkedHashSet<>();
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.braintree.BraintreeConfiguration.class));
+ return answer;
+ }
+
+ public Object convert(
+ Object source,
+ TypeDescriptor sourceType,
+ TypeDescriptor targetType) {
+ if (source == null) {
+ return null;
+ }
+ String ref = source.toString();
+ if (!ref.startsWith("#")) {
+ return null;
+ }
+ ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+ switch (targetType.getName()) {
+ case "org.apache.camel.component.braintree.BraintreeConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.braintree.BraintreeConfiguration.class);
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/components-starter/camel-browse-starter/src/main/java/org/apache/camel/component/browse/springboot/BrowseComponentAutoConfiguration.java b/components-starter/camel-browse-starter/src/main/java/org/apache/camel/component/browse/springboot/BrowseComponentAutoConfiguration.java
index ef66348c..6971408 100644
--- a/components-starter/camel-browse-starter/src/main/java/org/apache/camel/component/browse/springboot/BrowseComponentAutoConfiguration.java
+++ b/components-starter/camel-browse-starter/src/main/java/org/apache/camel/component/browse/springboot/BrowseComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,15 @@ public class BrowseComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private BrowseComponentConfiguration configuration;
+ public BrowseComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureBrowseComponent() {
diff --git a/components-starter/camel-caffeine-starter/src/main/java/org/apache/camel/component/caffeine/cache/springboot/CaffeineCacheComponentAutoConfiguration.java b/components-starter/camel-caffeine-starter/src/main/java/org/apache/camel/component/caffeine/cache/springboot/CaffeineCacheComponentAutoConfiguration.java
index 90960df..7a125e7 100644
--- a/components-starter/camel-caffeine-starter/src/main/java/org/apache/camel/component/caffeine/cache/springboot/CaffeineCacheComponentAutoConfiguration.java
+++ b/components-starter/camel-caffeine-starter/src/main/java/org/apache/camel/component/caffeine/cache/springboot/CaffeineCacheComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class CaffeineCacheComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private CaffeineCacheComponentConfiguration configuration;
+ public CaffeineCacheComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+ acs.addConverter(new CaffeineCacheComponentConverter(camelContext));
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureCaffeineCacheComponent() {
diff --git a/components-starter/camel-caffeine-starter/src/main/java/org/apache/camel/component/caffeine/cache/springboot/CaffeineCacheComponentConverter.java b/components-starter/camel-caffeine-starter/src/main/java/org/apache/camel/component/caffeine/cache/springboot/CaffeineCacheComponentConverter.java
new file mode 100644
index 0000000..05fba89
--- /dev/null
+++ b/components-starter/camel-caffeine-starter/src/main/java/org/apache/camel/component/caffeine/cache/springboot/CaffeineCacheComponentConverter.java
@@ -0,0 +1,74 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.caffeine.cache.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class CaffeineCacheComponentConverter
+ implements
+ org.springframework.core.convert.converter.GenericConverter {
+
+ private final CamelContext camelContext;
+
+ public CaffeineCacheComponentConverter(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
+ public Set<ConvertiblePair> getConvertibleTypes() {
+ Set<ConvertiblePair> answer = new LinkedHashSet<>();
+ answer.add(new ConvertiblePair(String.class, com.github.benmanes.caffeine.cache.CacheLoader.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.caffeine.EvictionType.class));
+ answer.add(new ConvertiblePair(String.class, java.lang.Object.class));
+ answer.add(new ConvertiblePair(String.class, com.github.benmanes.caffeine.cache.RemovalListener.class));
+ answer.add(new ConvertiblePair(String.class, com.github.benmanes.caffeine.cache.stats.StatsCounter.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.caffeine.CaffeineConfiguration.class));
+ return answer;
+ }
+
+ public Object convert(
+ Object source,
+ TypeDescriptor sourceType,
+ TypeDescriptor targetType) {
+ if (source == null) {
+ return null;
+ }
+ String ref = source.toString();
+ if (!ref.startsWith("#")) {
+ return null;
+ }
+ ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+ switch (targetType.getName()) {
+ case "com.github.benmanes.caffeine.cache.CacheLoader": return camelContext.getRegistry().lookupByNameAndType(ref, com.github.benmanes.caffeine.cache.CacheLoader.class);
+ case "org.apache.camel.component.caffeine.EvictionType": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.caffeine.EvictionType.class);
+ case "java.lang.Object": return camelContext.getRegistry().lookupByNameAndType(ref, java.lang.Object.class);
+ case "com.github.benmanes.caffeine.cache.RemovalListener": return camelContext.getRegistry().lookupByNameAndType(ref, com.github.benmanes.caffeine.cache.RemovalListener.class);
+ case "com.github.benmanes.caffeine.cache.stats.StatsCounter": return camelContext.getRegistry().lookupByNameAndType(ref, com.github.benmanes.caffeine.cache.stats.StatsCounter.class);
+ case "org.apache.camel.component.caffeine.CaffeineConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.caffeine.CaffeineConfiguration.class);
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/components-starter/camel-caffeine-starter/src/main/java/org/apache/camel/component/caffeine/load/springboot/CaffeineLoadCacheComponentAutoConfiguration.java b/components-starter/camel-caffeine-starter/src/main/java/org/apache/camel/component/caffeine/load/springboot/CaffeineLoadCacheComponentAutoConfiguration.java
index bfa3c5f..091a70f 100644
--- a/components-starter/camel-caffeine-starter/src/main/java/org/apache/camel/component/caffeine/load/springboot/CaffeineLoadCacheComponentAutoConfiguration.java
+++ b/components-starter/camel-caffeine-starter/src/main/java/org/apache/camel/component/caffeine/load/springboot/CaffeineLoadCacheComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class CaffeineLoadCacheComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private CaffeineLoadCacheComponentConfiguration configuration;
+ public CaffeineLoadCacheComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+ acs.addConverter(new CaffeineLoadCacheComponentConverter(camelContext));
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureCaffeineLoadCacheComponent() {
diff --git a/components-starter/camel-caffeine-starter/src/main/java/org/apache/camel/component/caffeine/load/springboot/CaffeineLoadCacheComponentConverter.java b/components-starter/camel-caffeine-starter/src/main/java/org/apache/camel/component/caffeine/load/springboot/CaffeineLoadCacheComponentConverter.java
new file mode 100644
index 0000000..324294f
--- /dev/null
+++ b/components-starter/camel-caffeine-starter/src/main/java/org/apache/camel/component/caffeine/load/springboot/CaffeineLoadCacheComponentConverter.java
@@ -0,0 +1,74 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.caffeine.load.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class CaffeineLoadCacheComponentConverter
+ implements
+ org.springframework.core.convert.converter.GenericConverter {
+
+ private final CamelContext camelContext;
+
+ public CaffeineLoadCacheComponentConverter(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
+ public Set<ConvertiblePair> getConvertibleTypes() {
+ Set<ConvertiblePair> answer = new LinkedHashSet<>();
+ answer.add(new ConvertiblePair(String.class, com.github.benmanes.caffeine.cache.CacheLoader.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.caffeine.EvictionType.class));
+ answer.add(new ConvertiblePair(String.class, java.lang.Object.class));
+ answer.add(new ConvertiblePair(String.class, com.github.benmanes.caffeine.cache.RemovalListener.class));
+ answer.add(new ConvertiblePair(String.class, com.github.benmanes.caffeine.cache.stats.StatsCounter.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.caffeine.CaffeineConfiguration.class));
+ return answer;
+ }
+
+ public Object convert(
+ Object source,
+ TypeDescriptor sourceType,
+ TypeDescriptor targetType) {
+ if (source == null) {
+ return null;
+ }
+ String ref = source.toString();
+ if (!ref.startsWith("#")) {
+ return null;
+ }
+ ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+ switch (targetType.getName()) {
+ case "com.github.benmanes.caffeine.cache.CacheLoader": return camelContext.getRegistry().lookupByNameAndType(ref, com.github.benmanes.caffeine.cache.CacheLoader.class);
+ case "org.apache.camel.component.caffeine.EvictionType": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.caffeine.EvictionType.class);
+ case "java.lang.Object": return camelContext.getRegistry().lookupByNameAndType(ref, java.lang.Object.class);
+ case "com.github.benmanes.caffeine.cache.RemovalListener": return camelContext.getRegistry().lookupByNameAndType(ref, com.github.benmanes.caffeine.cache.RemovalListener.class);
+ case "com.github.benmanes.caffeine.cache.stats.StatsCounter": return camelContext.getRegistry().lookupByNameAndType(ref, com.github.benmanes.caffeine.cache.stats.StatsCounter.class);
+ case "org.apache.camel.component.caffeine.CaffeineConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.caffeine.CaffeineConfiguration.class);
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/components-starter/camel-cassandraql-starter/src/main/java/org/apache/camel/component/cassandra/springboot/CassandraComponentAutoConfiguration.java b/components-starter/camel-cassandraql-starter/src/main/java/org/apache/camel/component/cassandra/springboot/CassandraComponentAutoConfiguration.java
index d105c3b..2d8f6c2 100644
--- a/components-starter/camel-cassandraql-starter/src/main/java/org/apache/camel/component/cassandra/springboot/CassandraComponentAutoConfiguration.java
+++ b/components-starter/camel-cassandraql-starter/src/main/java/org/apache/camel/component/cassandra/springboot/CassandraComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,15 @@ public class CassandraComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private CassandraComponentConfiguration configuration;
+ public CassandraComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureCassandraComponent() {
diff --git a/components-starter/camel-cbor-starter/src/main/java/org/apache/camel/component/cbor/springboot/CBORDataFormatAutoConfiguration.java b/components-starter/camel-cbor-starter/src/main/java/org/apache/camel/component/cbor/springboot/CBORDataFormatAutoConfiguration.java
index 1a4b94e..ebacee3 100644
--- a/components-starter/camel-cbor-starter/src/main/java/org/apache/camel/component/cbor/springboot/CBORDataFormatAutoConfiguration.java
+++ b/components-starter/camel-cbor-starter/src/main/java/org/apache/camel/component/cbor/springboot/CBORDataFormatAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,15 @@ public class CBORDataFormatAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private CBORDataFormatConfiguration configuration;
+ public CBORDataFormatAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
@Lazy
@Bean
public DataFormatCustomizer configureCBORDataFormatFactory() {
diff --git a/components-starter/camel-chatscript-starter/src/main/java/org/apache/camel/component/chatscript/springboot/ChatScriptComponentAutoConfiguration.java b/components-starter/camel-chatscript-starter/src/main/java/org/apache/camel/component/chatscript/springboot/ChatScriptComponentAutoConfiguration.java
index 114e926..cbbc482 100644
--- a/components-starter/camel-chatscript-starter/src/main/java/org/apache/camel/component/chatscript/springboot/ChatScriptComponentAutoConfiguration.java
+++ b/components-starter/camel-chatscript-starter/src/main/java/org/apache/camel/component/chatscript/springboot/ChatScriptComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,15 @@ public class ChatScriptComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private ChatScriptComponentConfiguration configuration;
+ public ChatScriptComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureChatScriptComponent() {
diff --git a/components-starter/camel-chunk-starter/src/main/java/org/apache/camel/component/chunk/springboot/ChunkComponentAutoConfiguration.java b/components-starter/camel-chunk-starter/src/main/java/org/apache/camel/component/chunk/springboot/ChunkComponentAutoConfiguration.java
index c4a6c2c..935f9c6 100644
--- a/components-starter/camel-chunk-starter/src/main/java/org/apache/camel/component/chunk/springboot/ChunkComponentAutoConfiguration.java
+++ b/components-starter/camel-chunk-starter/src/main/java/org/apache/camel/component/chunk/springboot/ChunkComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,15 @@ public class ChunkComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private ChunkComponentConfiguration configuration;
+ public ChunkComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureChunkComponent() {
diff --git a/components-starter/camel-cm-sms-starter/src/main/java/org/apache/camel/component/cm/springboot/CMComponentAutoConfiguration.java b/components-starter/camel-cm-sms-starter/src/main/java/org/apache/camel/component/cm/springboot/CMComponentAutoConfiguration.java
index 29a42d7..1ce7809 100644
--- a/components-starter/camel-cm-sms-starter/src/main/java/org/apache/camel/component/cm/springboot/CMComponentAutoConfiguration.java
+++ b/components-starter/camel-cm-sms-starter/src/main/java/org/apache/camel/component/cm/springboot/CMComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,15 @@ public class CMComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private CMComponentConfiguration configuration;
+ public CMComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureCMComponent() {
diff --git a/components-starter/camel-cmis-starter/src/main/java/org/apache/camel/component/cmis/springboot/CMISComponentAutoConfiguration.java b/components-starter/camel-cmis-starter/src/main/java/org/apache/camel/component/cmis/springboot/CMISComponentAutoConfiguration.java
index 6c75097..df12db8 100644
--- a/components-starter/camel-cmis-starter/src/main/java/org/apache/camel/component/cmis/springboot/CMISComponentAutoConfiguration.java
+++ b/components-starter/camel-cmis-starter/src/main/java/org/apache/camel/component/cmis/springboot/CMISComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class CMISComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private CMISComponentConfiguration configuration;
+ public CMISComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+ acs.addConverter(new CMISComponentConverter(camelContext));
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureCMISComponent() {
diff --git a/components-starter/camel-cmis-starter/src/main/java/org/apache/camel/component/cmis/springboot/CMISComponentConverter.java b/components-starter/camel-cmis-starter/src/main/java/org/apache/camel/component/cmis/springboot/CMISComponentConverter.java
new file mode 100644
index 0000000..9e7c72c
--- /dev/null
+++ b/components-starter/camel-cmis-starter/src/main/java/org/apache/camel/component/cmis/springboot/CMISComponentConverter.java
@@ -0,0 +1,63 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.cmis.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class CMISComponentConverter
+ implements
+ org.springframework.core.convert.converter.GenericConverter {
+
+ private final CamelContext camelContext;
+
+ public CMISComponentConverter(org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
+ public Set<ConvertiblePair> getConvertibleTypes() {
+ Set<ConvertiblePair> answer = new LinkedHashSet<>();
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.cmis.CMISSessionFacadeFactory.class));
+ return answer;
+ }
+
+ public Object convert(
+ Object source,
+ TypeDescriptor sourceType,
+ TypeDescriptor targetType) {
+ if (source == null) {
+ return null;
+ }
+ String ref = source.toString();
+ if (!ref.startsWith("#")) {
+ return null;
+ }
+ ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+ switch (targetType.getName()) {
+ case "org.apache.camel.component.cmis.CMISSessionFacadeFactory": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.cmis.CMISSessionFacadeFactory.class);
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/components-starter/camel-coap-starter/src/main/java/org/apache/camel/coap/springboot/CoAPComponentAutoConfiguration.java b/components-starter/camel-coap-starter/src/main/java/org/apache/camel/coap/springboot/CoAPComponentAutoConfiguration.java
index 6787f1b..55b24b7 100644
--- a/components-starter/camel-coap-starter/src/main/java/org/apache/camel/coap/springboot/CoAPComponentAutoConfiguration.java
+++ b/components-starter/camel-coap-starter/src/main/java/org/apache/camel/coap/springboot/CoAPComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,15 @@ public class CoAPComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private CoAPComponentConfiguration configuration;
+ public CoAPComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureCoAPComponent() {
diff --git a/components-starter/camel-cometd-starter/src/main/java/org/apache/camel/component/cometd/springboot/CometdComponentAutoConfiguration.java b/components-starter/camel-cometd-starter/src/main/java/org/apache/camel/component/cometd/springboot/CometdComponentAutoConfiguration.java
index e770201..34e6384 100644
--- a/components-starter/camel-cometd-starter/src/main/java/org/apache/camel/component/cometd/springboot/CometdComponentAutoConfiguration.java
+++ b/components-starter/camel-cometd-starter/src/main/java/org/apache/camel/component/cometd/springboot/CometdComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class CometdComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private CometdComponentConfiguration configuration;
+ public CometdComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+ acs.addConverter(new CometdComponentConverter(camelContext));
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureCometdComponent() {
diff --git a/components-starter/camel-cometd-starter/src/main/java/org/apache/camel/component/cometd/springboot/CometdComponentConverter.java b/components-starter/camel-cometd-starter/src/main/java/org/apache/camel/component/cometd/springboot/CometdComponentConverter.java
new file mode 100644
index 0000000..0876366
--- /dev/null
+++ b/components-starter/camel-cometd-starter/src/main/java/org/apache/camel/component/cometd/springboot/CometdComponentConverter.java
@@ -0,0 +1,65 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.cometd.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class CometdComponentConverter
+ implements
+ org.springframework.core.convert.converter.GenericConverter {
+
+ private final CamelContext camelContext;
+
+ public CometdComponentConverter(org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
+ public Set<ConvertiblePair> getConvertibleTypes() {
+ Set<ConvertiblePair> answer = new LinkedHashSet<>();
+ answer.add(new ConvertiblePair(String.class, org.cometd.bayeux.server.SecurityPolicy.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.support.jsse.SSLContextParameters.class));
+ return answer;
+ }
+
+ public Object convert(
+ Object source,
+ TypeDescriptor sourceType,
+ TypeDescriptor targetType) {
+ if (source == null) {
+ return null;
+ }
+ String ref = source.toString();
+ if (!ref.startsWith("#")) {
+ return null;
+ }
+ ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+ switch (targetType.getName()) {
+ case "org.cometd.bayeux.server.SecurityPolicy": return camelContext.getRegistry().lookupByNameAndType(ref, org.cometd.bayeux.server.SecurityPolicy.class);
+ case "org.apache.camel.support.jsse.SSLContextParameters": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.support.jsse.SSLContextParameters.class);
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/components-starter/camel-consul-starter/src/main/java/org/apache/camel/component/consul/springboot/ConsulComponentAutoConfiguration.java b/components-starter/camel-consul-starter/src/main/java/org/apache/camel/component/consul/springboot/ConsulComponentAutoConfiguration.java
index f4a89ae..2548afb 100644
--- a/components-starter/camel-consul-starter/src/main/java/org/apache/camel/component/consul/springboot/ConsulComponentAutoConfiguration.java
+++ b/components-starter/camel-consul-starter/src/main/java/org/apache/camel/component/consul/springboot/ConsulComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class ConsulComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private ConsulComponentConfiguration configuration;
+ public ConsulComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+ acs.addConverter(new ConsulComponentConverter(camelContext));
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureConsulComponent() {
diff --git a/components-starter/camel-consul-starter/src/main/java/org/apache/camel/component/consul/springboot/ConsulComponentConverter.java b/components-starter/camel-consul-starter/src/main/java/org/apache/camel/component/consul/springboot/ConsulComponentConverter.java
new file mode 100644
index 0000000..7fac4de
--- /dev/null
+++ b/components-starter/camel-consul-starter/src/main/java/org/apache/camel/component/consul/springboot/ConsulComponentConverter.java
@@ -0,0 +1,73 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.consul.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class ConsulComponentConverter
+ implements
+ org.springframework.core.convert.converter.GenericConverter {
+
+ private final CamelContext camelContext;
+
+ public ConsulComponentConverter(org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
+ public Set<ConvertiblePair> getConvertibleTypes() {
+ Set<ConvertiblePair> answer = new LinkedHashSet<>();
+ answer.add(new ConvertiblePair(String.class, java.time.Duration.class));
+ answer.add(new ConvertiblePair(String.class, com.orbitz.consul.Consul.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.consul.ConsulConfiguration.class));
+ answer.add(new ConvertiblePair(String.class, com.orbitz.consul.option.ConsistencyMode.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.support.jsse.SSLContextParameters.class));
+ answer.add(new ConvertiblePair(String.class, java.math.BigInteger.class));
+ return answer;
+ }
+
+ public Object convert(
+ Object source,
+ TypeDescriptor sourceType,
+ TypeDescriptor targetType) {
+ if (source == null) {
+ return null;
+ }
+ String ref = source.toString();
+ if (!ref.startsWith("#")) {
+ return null;
+ }
+ ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+ switch (targetType.getName()) {
+ case "java.time.Duration": return camelContext.getRegistry().lookupByNameAndType(ref, java.time.Duration.class);
+ case "com.orbitz.consul.Consul": return camelContext.getRegistry().lookupByNameAndType(ref, com.orbitz.consul.Consul.class);
+ case "org.apache.camel.component.consul.ConsulConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.consul.ConsulConfiguration.class);
+ case "com.orbitz.consul.option.ConsistencyMode": return camelContext.getRegistry().lookupByNameAndType(ref, com.orbitz.consul.option.ConsistencyMode.class);
+ case "org.apache.camel.support.jsse.SSLContextParameters": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.support.jsse.SSLContextParameters.class);
+ case "java.math.BigInteger": return camelContext.getRegistry().lookupByNameAndType(ref, java.math.BigInteger.class);
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/components-starter/camel-controlbus-starter/src/main/java/org/apache/camel/component/controlbus/springboot/ControlBusComponentAutoConfiguration.java b/components-starter/camel-controlbus-starter/src/main/java/org/apache/camel/component/controlbus/springboot/ControlBusComponentAutoConfiguration.java
index 28866aa..4261684 100644
--- a/components-starter/camel-controlbus-starter/src/main/java/org/apache/camel/component/controlbus/springboot/ControlBusComponentAutoConfiguration.java
+++ b/components-starter/camel-controlbus-starter/src/main/java/org/apache/camel/component/controlbus/springboot/ControlBusComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,15 @@ public class ControlBusComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private ControlBusComponentConfiguration configuration;
+ public ControlBusComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureControlBusComponent() {
diff --git a/components-starter/camel-corda-starter/pom.xml b/components-starter/camel-corda-starter/pom.xml
index 252daab..5ad677a 100644
--- a/components-starter/camel-corda-starter/pom.xml
+++ b/components-starter/camel-corda-starter/pom.xml
@@ -41,14 +41,6 @@
<!--START OF GENERATED CODE-->
<exclusions>
<exclusion>
- <groupId>ch.qos.logback</groupId>
- <artifactId>logback-classic</artifactId>
- </exclusion>
- <exclusion>
- <groupId>ch.qos.logback</groupId>
- <artifactId>logback-core</artifactId>
- </exclusion>
- <exclusion>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
</exclusion>
diff --git a/components-starter/camel-corda-starter/src/main/java/org/apache/camel/component/corda/springboot/CordaComponentAutoConfiguration.java b/components-starter/camel-corda-starter/src/main/java/org/apache/camel/component/corda/springboot/CordaComponentAutoConfiguration.java
index 2fe16e8..66558b6 100644
--- a/components-starter/camel-corda-starter/src/main/java/org/apache/camel/component/corda/springboot/CordaComponentAutoConfiguration.java
+++ b/components-starter/camel-corda-starter/src/main/java/org/apache/camel/component/corda/springboot/CordaComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class CordaComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private CordaComponentConfiguration configuration;
+ public CordaComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+ acs.addConverter(new CordaComponentConverter(camelContext));
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureCordaComponent() {
diff --git a/components-starter/camel-corda-starter/src/main/java/org/apache/camel/component/corda/springboot/CordaComponentConverter.java b/components-starter/camel-corda-starter/src/main/java/org/apache/camel/component/corda/springboot/CordaComponentConverter.java
new file mode 100644
index 0000000..20746b4
--- /dev/null
+++ b/components-starter/camel-corda-starter/src/main/java/org/apache/camel/component/corda/springboot/CordaComponentConverter.java
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.corda.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class CordaComponentConverter
+ implements
+ org.springframework.core.convert.converter.GenericConverter {
+
+ private final CamelContext camelContext;
+
+ public CordaComponentConverter(org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
+ public Set<ConvertiblePair> getConvertibleTypes() {
+ Set<ConvertiblePair> answer = new LinkedHashSet<>();
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.corda.CordaConfiguration.class));
+ answer.add(new ConvertiblePair(String.class, net.corda.core.node.services.vault.PageSpecification.class));
+ answer.add(new ConvertiblePair(String.class, net.corda.core.node.services.vault.Sort.class));
+ answer.add(new ConvertiblePair(String.class, net.corda.core.node.services.vault.QueryCriteria.class));
+ return answer;
+ }
+
+ public Object convert(
+ Object source,
+ TypeDescriptor sourceType,
+ TypeDescriptor targetType) {
+ if (source == null) {
+ return null;
+ }
+ String ref = source.toString();
+ if (!ref.startsWith("#")) {
+ return null;
+ }
+ ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+ switch (targetType.getName()) {
+ case "org.apache.camel.component.corda.CordaConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.corda.CordaConfiguration.class);
+ case "net.corda.core.node.services.vault.PageSpecification": return camelContext.getRegistry().lookupByNameAndType(ref, net.corda.core.node.services.vault.PageSpecification.class);
+ case "net.corda.core.node.services.vault.Sort": return camelContext.getRegistry().lookupByNameAndType(ref, net.corda.core.node.services.vault.Sort.class);
+ case "net.corda.core.node.services.vault.QueryCriteria": return camelContext.getRegistry().lookupByNameAndType(ref, net.corda.core.node.services.vault.QueryCriteria.class);
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/constant/springboot/ConstantLanguageAutoConfiguration.java b/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/constant/springboot/ConstantLanguageAutoConfiguration.java
index c2bd171..e75d41d 100644
--- a/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/constant/springboot/ConstantLanguageAutoConfiguration.java
+++ b/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/constant/springboot/ConstantLanguageAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,15 @@ public class ConstantLanguageAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private ConstantLanguageConfiguration configuration;
+ public ConstantLanguageAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
@Lazy
@Bean
public org.apache.camel.spi.LanguageCustomizer configureConstantLanguage() {
diff --git a/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/header/springboot/HeaderLanguageAutoConfiguration.java b/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/header/springboot/HeaderLanguageAutoConfiguration.java
index e060d69..c706e67 100644
--- a/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/header/springboot/HeaderLanguageAutoConfiguration.java
+++ b/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/header/springboot/HeaderLanguageAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,15 @@ public class HeaderLanguageAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private HeaderLanguageConfiguration configuration;
+ public HeaderLanguageAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
@Lazy
@Bean
public org.apache.camel.spi.LanguageCustomizer configureHeaderLanguage() {
diff --git a/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/property/springboot/ExchangePropertyLanguageAutoConfiguration.java b/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/property/springboot/ExchangePropertyLanguageAutoConfiguration.java
index 1c29a38..9a68d12 100644
--- a/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/property/springboot/ExchangePropertyLanguageAutoConfiguration.java
+++ b/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/property/springboot/ExchangePropertyLanguageAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,15 @@ public class ExchangePropertyLanguageAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private ExchangePropertyLanguageConfiguration configuration;
+ public ExchangePropertyLanguageAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
@Lazy
@Bean
public org.apache.camel.spi.LanguageCustomizer configureExchangePropertyLanguage() {
diff --git a/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/ref/springboot/RefLanguageAutoConfiguration.java b/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/ref/springboot/RefLanguageAutoConfiguration.java
index 82304b3..519d93a 100644
--- a/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/ref/springboot/RefLanguageAutoConfiguration.java
+++ b/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/ref/springboot/RefLanguageAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,15 @@ public class RefLanguageAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private RefLanguageConfiguration configuration;
+ public RefLanguageAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
@Lazy
@Bean
public org.apache.camel.spi.LanguageCustomizer configureRefLanguage() {
diff --git a/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/simple/springboot/FileLanguageAutoConfiguration.java b/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/simple/springboot/FileLanguageAutoConfiguration.java
index fa4e22d..2190032 100644
--- a/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/simple/springboot/FileLanguageAutoConfiguration.java
+++ b/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/simple/springboot/FileLanguageAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,15 @@ public class FileLanguageAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private FileLanguageConfiguration configuration;
+ public FileLanguageAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
@Lazy
@Bean
public org.apache.camel.spi.LanguageCustomizer configureFileLanguage() {
diff --git a/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/simple/springboot/SimpleLanguageAutoConfiguration.java b/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/simple/springboot/SimpleLanguageAutoConfiguration.java
index ffc3f50..fc60320 100644
--- a/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/simple/springboot/SimpleLanguageAutoConfiguration.java
+++ b/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/simple/springboot/SimpleLanguageAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,15 @@ public class SimpleLanguageAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private SimpleLanguageConfiguration configuration;
+ public SimpleLanguageAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
@Lazy
@Bean
public org.apache.camel.spi.LanguageCustomizer configureSimpleLanguage() {
diff --git a/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/tokenizer/springboot/TokenizeLanguageAutoConfiguration.java b/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/tokenizer/springboot/TokenizeLanguageAutoConfiguration.java
index 1b11182..529d676 100644
--- a/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/tokenizer/springboot/TokenizeLanguageAutoConfiguration.java
+++ b/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/tokenizer/springboot/TokenizeLanguageAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,15 @@ public class TokenizeLanguageAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private TokenizeLanguageConfiguration configuration;
+ public TokenizeLanguageAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
@Lazy
@Bean
public org.apache.camel.spi.LanguageCustomizer configureTokenizeLanguage() {
diff --git a/components-starter/camel-couchbase-starter/src/main/java/org/apache/camel/component/couchbase/springboot/CouchbaseComponentAutoConfiguration.java b/components-starter/camel-couchbase-starter/src/main/java/org/apache/camel/component/couchbase/springboot/CouchbaseComponentAutoConfiguration.java
index 09e162f..0bad259 100644
--- a/components-starter/camel-couchbase-starter/src/main/java/org/apache/camel/component/couchbase/springboot/CouchbaseComponentAutoConfiguration.java
+++ b/components-starter/camel-couchbase-starter/src/main/java/org/apache/camel/component/couchbase/springboot/CouchbaseComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,15 @@ public class CouchbaseComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private CouchbaseComponentConfiguration configuration;
+ public CouchbaseComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureCouchbaseComponent() {
diff --git a/components-starter/camel-couchdb-starter/src/main/java/org/apache/camel/component/couchdb/springboot/CouchDbComponentAutoConfiguration.java b/components-starter/camel-couchdb-starter/src/main/java/org/apache/camel/component/couchdb/springboot/CouchDbComponentAutoConfiguration.java
index 9e706a9..69bd825 100644
--- a/components-starter/camel-couchdb-starter/src/main/java/org/apache/camel/component/couchdb/springboot/CouchDbComponentAutoConfiguration.java
+++ b/components-starter/camel-couchdb-starter/src/main/java/org/apache/camel/component/couchdb/springboot/CouchDbComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,15 @@ public class CouchDbComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private CouchDbComponentConfiguration configuration;
+ public CouchDbComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureCouchDbComponent() {
diff --git a/components-starter/camel-cron-starter/src/main/java/org/apache/camel/component/cron/springboot/CronComponentAutoConfiguration.java b/components-starter/camel-cron-starter/src/main/java/org/apache/camel/component/cron/springboot/CronComponentAutoConfiguration.java
index dfc6ed1..11454ac 100644
--- a/components-starter/camel-cron-starter/src/main/java/org/apache/camel/component/cron/springboot/CronComponentAutoConfiguration.java
+++ b/components-starter/camel-cron-starter/src/main/java/org/apache/camel/component/cron/springboot/CronComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,15 @@ public class CronComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private CronComponentConfiguration configuration;
+ public CronComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureCronComponent() {
diff --git a/components-starter/camel-crypto-cms-starter/src/main/java/org/apache/camel/component/crypto/cms/springboot/CryptoCmsComponentAutoConfiguration.java b/components-starter/camel-crypto-cms-starter/src/main/java/org/apache/camel/component/crypto/cms/springboot/CryptoCmsComponentAutoConfiguration.java
index c1fd161..0a36950 100644
--- a/components-starter/camel-crypto-cms-starter/src/main/java/org/apache/camel/component/crypto/cms/springboot/CryptoCmsComponentAutoConfiguration.java
+++ b/components-starter/camel-crypto-cms-starter/src/main/java/org/apache/camel/component/crypto/cms/springboot/CryptoCmsComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class CryptoCmsComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private CryptoCmsComponentConfiguration configuration;
+ public CryptoCmsComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+ acs.addConverter(new CryptoCmsComponentConverter(camelContext));
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureCryptoCmsComponent() {
diff --git a/components-starter/camel-crypto-cms-starter/src/main/java/org/apache/camel/component/crypto/cms/springboot/CryptoCmsComponentConverter.java b/components-starter/camel-crypto-cms-starter/src/main/java/org/apache/camel/component/crypto/cms/springboot/CryptoCmsComponentConverter.java
new file mode 100644
index 0000000..68c66d9
--- /dev/null
+++ b/components-starter/camel-crypto-cms-starter/src/main/java/org/apache/camel/component/crypto/cms/springboot/CryptoCmsComponentConverter.java
@@ -0,0 +1,66 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.crypto.cms.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class CryptoCmsComponentConverter
+ implements
+ org.springframework.core.convert.converter.GenericConverter {
+
+ private final CamelContext camelContext;
+
+ public CryptoCmsComponentConverter(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
+ public Set<ConvertiblePair> getConvertibleTypes() {
+ Set<ConvertiblePair> answer = new LinkedHashSet<>();
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.crypto.cms.crypt.EnvelopedDataDecryptorConfiguration.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.crypto.cms.sig.SignedDataVerifierConfiguration.class));
+ return answer;
+ }
+
+ public Object convert(
+ Object source,
+ TypeDescriptor sourceType,
+ TypeDescriptor targetType) {
+ if (source == null) {
+ return null;
+ }
+ String ref = source.toString();
+ if (!ref.startsWith("#")) {
+ return null;
+ }
+ ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+ switch (targetType.getName()) {
+ case "org.apache.camel.component.crypto.cms.crypt.EnvelopedDataDecryptorConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.crypto.cms.crypt.EnvelopedDataDecryptorConfiguration.class);
+ case "org.apache.camel.component.crypto.cms.sig.SignedDataVerifierConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.crypto.cms.sig.SignedDataVerifierConfiguration.class);
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/components-starter/camel-crypto-starter/src/main/java/org/apache/camel/component/crypto/springboot/DigitalSignatureComponentAutoConfiguration.java b/components-starter/camel-crypto-starter/src/main/java/org/apache/camel/component/crypto/springboot/DigitalSignatureComponentAutoConfiguration.java
index 41c5dd4..3c280c3 100644
--- a/components-starter/camel-crypto-starter/src/main/java/org/apache/camel/component/crypto/springboot/DigitalSignatureComponentAutoConfiguration.java
+++ b/components-starter/camel-crypto-starter/src/main/java/org/apache/camel/component/crypto/springboot/DigitalSignatureComponentAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,17 @@ public class DigitalSignatureComponentAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private DigitalSignatureComponentConfiguration configuration;
+ public DigitalSignatureComponentAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ ApplicationConversionService acs = (ApplicationConversionService) ApplicationConversionService.getSharedInstance();
+ acs.addConverter(new DigitalSignatureComponentConverter(camelContext));
+ }
+
@Lazy
@Bean
public ComponentCustomizer configureDigitalSignatureComponent() {
diff --git a/components-starter/camel-crypto-starter/src/main/java/org/apache/camel/component/crypto/springboot/DigitalSignatureComponentConverter.java b/components-starter/camel-crypto-starter/src/main/java/org/apache/camel/component/crypto/springboot/DigitalSignatureComponentConverter.java
new file mode 100644
index 0000000..3e5c306
--- /dev/null
+++ b/components-starter/camel-crypto-starter/src/main/java/org/apache/camel/component/crypto/springboot/DigitalSignatureComponentConverter.java
@@ -0,0 +1,76 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.crypto.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import javax.annotation.Generated;
+import org.apache.camel.CamelContext;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Generated("org.apache.camel.springboot.maven.SpringBootAutoConfigurationMojo")
+public class DigitalSignatureComponentConverter
+ implements
+ org.springframework.core.convert.converter.GenericConverter {
+
+ private final CamelContext camelContext;
+
+ public DigitalSignatureComponentConverter(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
+ public Set<ConvertiblePair> getConvertibleTypes() {
+ Set<ConvertiblePair> answer = new LinkedHashSet<>();
+ answer.add(new ConvertiblePair(String.class, java.security.KeyStore.class));
+ answer.add(new ConvertiblePair(String.class, java.security.PrivateKey.class));
+ answer.add(new ConvertiblePair(String.class, java.security.cert.Certificate.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.component.crypto.DigitalSignatureConfiguration.class));
+ answer.add(new ConvertiblePair(String.class, org.apache.camel.support.jsse.KeyStoreParameters.class));
+ answer.add(new ConvertiblePair(String.class, java.security.PublicKey.class));
+ answer.add(new ConvertiblePair(String.class, java.security.SecureRandom.class));
+ return answer;
+ }
+
+ public Object convert(
+ Object source,
+ TypeDescriptor sourceType,
+ TypeDescriptor targetType) {
+ if (source == null) {
+ return null;
+ }
+ String ref = source.toString();
+ if (!ref.startsWith("#")) {
+ return null;
+ }
+ ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+ switch (targetType.getName()) {
+ case "java.security.KeyStore": return camelContext.getRegistry().lookupByNameAndType(ref, java.security.KeyStore.class);
+ case "java.security.PrivateKey": return camelContext.getRegistry().lookupByNameAndType(ref, java.security.PrivateKey.class);
+ case "java.security.cert.Certificate": return camelContext.getRegistry().lookupByNameAndType(ref, java.security.cert.Certificate.class);
+ case "org.apache.camel.component.crypto.DigitalSignatureConfiguration": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.component.crypto.DigitalSignatureConfiguration.class);
+ case "org.apache.camel.support.jsse.KeyStoreParameters": return camelContext.getRegistry().lookupByNameAndType(ref, org.apache.camel.support.jsse.KeyStoreParameters.class);
+ case "java.security.PublicKey": return camelContext.getRegistry().lookupByNameAndType(ref, java.security.PublicKey.class);
+ case "java.security.SecureRandom": return camelContext.getRegistry().lookupByNameAndType(ref, java.security.SecureRandom.class);
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/components-starter/camel-crypto-starter/src/main/java/org/apache/camel/converter/crypto/springboot/CryptoDataFormatAutoConfiguration.java b/components-starter/camel-crypto-starter/src/main/java/org/apache/camel/converter/crypto/springboot/CryptoDataFormatAutoConfiguration.java
index edb2529..0ef537b 100644
--- a/components-starter/camel-crypto-starter/src/main/java/org/apache/camel/converter/crypto/springboot/CryptoDataFormatAutoConfiguration.java
+++ b/components-starter/camel-crypto-starter/src/main/java/org/apache/camel/converter/crypto/springboot/CryptoDataFormatAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,15 @@ public class CryptoDataFormatAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private CryptoDataFormatConfiguration configuration;
+ public CryptoDataFormatAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
@Lazy
@Bean
public DataFormatCustomizer configureCryptoDataFormatFactory() {
diff --git a/components-starter/camel-crypto-starter/src/main/java/org/apache/camel/converter/crypto/springboot/PGPDataFormatAutoConfiguration.java b/components-starter/camel-crypto-starter/src/main/java/org/apache/camel/converter/crypto/springboot/PGPDataFormatAutoConfiguration.java
index 58ddad9..a1101b7 100644
--- a/components-starter/camel-crypto-starter/src/main/java/org/apache/camel/converter/crypto/springboot/PGPDataFormatAutoConfiguration.java
+++ b/components-starter/camel-crypto-starter/src/main/java/org/apache/camel/converter/crypto/springboot/PGPDataFormatAutoConfiguration.java
@@ -30,6 +30,7 @@ import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.convert.ApplicationConversionService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -49,11 +50,15 @@ public class PGPDataFormatAutoConfiguration {
@Autowired
private ApplicationContext applicationContext;
- @Autowired
- private CamelContext camelContext;
+ private final CamelContext camelContext;
@Autowired
private PGPDataFormatConfiguration configuration;
+ public PGPDataFormatAutoConfiguration(
+ org.apache.camel.CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
@Lazy
@Bean
public DataFormatCustomizer configurePGPDataFormatFactory() {
... 20000 lines suppressed ...
[camel-spring-boot] 06/06: regen
Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel-spring-boot.git
commit 83920672d5edbd3734bfbe50f15155533e86be13
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Mon Nov 16 14:56:48 2020 +0100
regen
---
.../org/apache/camel/springboot/catalog/components/aws2-ecs.json | 6 ++----
.../org/apache/camel/springboot/catalog/components/aws2-eks.json | 6 ++----
2 files changed, 4 insertions(+), 8 deletions(-)
diff --git a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/aws2-ecs.json b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/aws2-ecs.json
index 2eb8477..7e96d46 100644
--- a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/aws2-ecs.json
+++ b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/aws2-ecs.json
@@ -22,9 +22,8 @@
"lenientProperties": false
},
"componentProperties": {
- "autoDiscoverClient": { "kind": "property", "displayName": "Auto Discover Client", "group": "common", "label": "common", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.aws2.ecs.ECS2Configuration", "configurationField": "configuration", "description": "Setting the autoDiscoverClient mechanism, if true, the component will look for a client inst [...]
"configuration": { "kind": "property", "displayName": "Configuration", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.aws2.ecs.ECS2Configuration", "deprecated": false, "autowired": false, "secret": false, "description": "Component configuration" },
- "ecsClient": { "kind": "property", "displayName": "Ecs Client", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "software.amazon.awssdk.services.ecs.EcsClient", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.ecs.ECS2Configuration", "configurationField": "configuration", "description": "To use a existing configured AWS ECS as client" },
+ "ecsClient": { "kind": "property", "displayName": "Ecs Client", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "software.amazon.awssdk.services.ecs.EcsClient", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.aws2.ecs.ECS2Configuration", "configurationField": "configuration", "description": "To use a existing configured AWS ECS as client" },
"lazyStartProducer": { "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during star [...]
"operation": { "kind": "property", "displayName": "Operation", "group": "producer", "label": "", "required": true, "type": "object", "javaType": "org.apache.camel.component.aws2.ecs.ECS2Operations", "enum": [ "listClusters", "describeCluster", "createCluster", "deleteCluster" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.ecs.ECS2Configuration", "configurationField": "configuration", "descript [...]
"pojoRequest": { "kind": "property", "displayName": "Pojo Request", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.ecs.ECS2Configuration", "configurationField": "configuration", "description": "If we want to use a POJO request as body or not" },
@@ -39,8 +38,7 @@
},
"properties": {
"label": { "kind": "path", "displayName": "Label", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.ecs.ECS2Configuration", "configurationField": "configuration", "description": "Logical name" },
- "autoDiscoverClient": { "kind": "parameter", "displayName": "Auto Discover Client", "group": "common", "label": "common", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.aws2.ecs.ECS2Configuration", "configurationField": "configuration", "description": "Setting the autoDiscoverClient mechanism, if true, the component will look for a client ins [...]
- "ecsClient": { "kind": "parameter", "displayName": "Ecs Client", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "software.amazon.awssdk.services.ecs.EcsClient", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.ecs.ECS2Configuration", "configurationField": "configuration", "description": "To use a existing configured AWS ECS as client" },
+ "ecsClient": { "kind": "parameter", "displayName": "Ecs Client", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "software.amazon.awssdk.services.ecs.EcsClient", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.aws2.ecs.ECS2Configuration", "configurationField": "configuration", "description": "To use a existing configured AWS ECS as client" },
"lazyStartProducer": { "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during sta [...]
"operation": { "kind": "parameter", "displayName": "Operation", "group": "producer", "label": "", "required": true, "type": "object", "javaType": "org.apache.camel.component.aws2.ecs.ECS2Operations", "enum": [ "listClusters", "describeCluster", "createCluster", "deleteCluster" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.ecs.ECS2Configuration", "configurationField": "configuration", "descrip [...]
"pojoRequest": { "kind": "parameter", "displayName": "Pojo Request", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.ecs.ECS2Configuration", "configurationField": "configuration", "description": "If we want to use a POJO request as body or not" },
diff --git a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/aws2-eks.json b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/aws2-eks.json
index 1f02b1d..b24154d 100644
--- a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/aws2-eks.json
+++ b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/aws2-eks.json
@@ -22,9 +22,8 @@
"lenientProperties": false
},
"componentProperties": {
- "autoDiscoverClient": { "kind": "property", "displayName": "Auto Discover Client", "group": "common", "label": "common", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.aws2.eks.EKS2Configuration", "configurationField": "configuration", "description": "Setting the autoDiscoverClient mechanism, if true, the component will look for a client inst [...]
"configuration": { "kind": "property", "displayName": "Configuration", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.aws2.eks.EKS2Configuration", "deprecated": false, "autowired": false, "secret": false, "description": "Component configuration" },
- "eksClient": { "kind": "property", "displayName": "Eks Client", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "software.amazon.awssdk.services.eks.EksClient", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.eks.EKS2Configuration", "configurationField": "configuration", "description": "To use a existing configured AWS EKS as client" },
+ "eksClient": { "kind": "property", "displayName": "Eks Client", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "software.amazon.awssdk.services.eks.EksClient", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.aws2.eks.EKS2Configuration", "configurationField": "configuration", "description": "To use a existing configured AWS EKS as client" },
"lazyStartProducer": { "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during star [...]
"operation": { "kind": "property", "displayName": "Operation", "group": "producer", "label": "", "required": true, "type": "object", "javaType": "org.apache.camel.component.aws2.eks.EKS2Operations", "enum": [ "listClusters", "describeCluster", "createCluster", "deleteCluster" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.eks.EKS2Configuration", "configurationField": "configuration", "descript [...]
"pojoRequest": { "kind": "property", "displayName": "Pojo Request", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.eks.EKS2Configuration", "configurationField": "configuration", "description": "If we want to use a POJO request as body or not" },
@@ -39,8 +38,7 @@
},
"properties": {
"label": { "kind": "path", "displayName": "Label", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.eks.EKS2Configuration", "configurationField": "configuration", "description": "Logical name" },
- "autoDiscoverClient": { "kind": "parameter", "displayName": "Auto Discover Client", "group": "common", "label": "common", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.aws2.eks.EKS2Configuration", "configurationField": "configuration", "description": "Setting the autoDiscoverClient mechanism, if true, the component will look for a client ins [...]
- "eksClient": { "kind": "parameter", "displayName": "Eks Client", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "software.amazon.awssdk.services.eks.EksClient", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.eks.EKS2Configuration", "configurationField": "configuration", "description": "To use a existing configured AWS EKS as client" },
+ "eksClient": { "kind": "parameter", "displayName": "Eks Client", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "software.amazon.awssdk.services.eks.EksClient", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.aws2.eks.EKS2Configuration", "configurationField": "configuration", "description": "To use a existing configured AWS EKS as client" },
"lazyStartProducer": { "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during sta [...]
"operation": { "kind": "parameter", "displayName": "Operation", "group": "producer", "label": "", "required": true, "type": "object", "javaType": "org.apache.camel.component.aws2.eks.EKS2Operations", "enum": [ "listClusters", "describeCluster", "createCluster", "deleteCluster" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.eks.EKS2Configuration", "configurationField": "configuration", "descrip [...]
"pojoRequest": { "kind": "parameter", "displayName": "Pojo Request", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.eks.EKS2Configuration", "configurationField": "configuration", "description": "If we want to use a POJO request as body or not" },
[camel-spring-boot] 03/06: CAMEL-15766: camel-spring-boot - Support
complex types to be referenced via # lookup from configuration files.
Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel-spring-boot.git
commit 080ed8d3f3abe70e268e93d91069a118da9009b3
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Mon Nov 16 14:45:16 2020 +0100
CAMEL-15766: camel-spring-boot - Support complex types to be referenced via # lookup from configuration files.
---
.../maven/SpringBootAutoConfigurationMojo.java | 82 ++++++++++------------
1 file changed, 37 insertions(+), 45 deletions(-)
diff --git a/tooling/camel-spring-boot-generator-maven-plugin/src/main/java/org/apache/camel/springboot/maven/SpringBootAutoConfigurationMojo.java b/tooling/camel-spring-boot-generator-maven-plugin/src/main/java/org/apache/camel/springboot/maven/SpringBootAutoConfigurationMojo.java
index 2a75ff7..95229ac 100644
--- a/tooling/camel-spring-boot-generator-maven-plugin/src/main/java/org/apache/camel/springboot/maven/SpringBootAutoConfigurationMojo.java
+++ b/tooling/camel-spring-boot-generator-maven-plugin/src/main/java/org/apache/camel/springboot/maven/SpringBootAutoConfigurationMojo.java
@@ -41,6 +41,7 @@ import java.util.stream.Stream;
import java.util.zip.ZipEntry;
import org.apache.camel.maven.packaging.AbstractGeneratorMojo;
+import org.apache.camel.tooling.model.BaseOptionModel;
import org.apache.camel.tooling.model.ComponentModel;
import org.apache.camel.tooling.model.ComponentModel.ComponentOptionModel;
import org.apache.camel.tooling.model.DataFormatModel;
@@ -1364,13 +1365,11 @@ public class SpringBootAutoConfigurationMojo extends AbstractSpringBootGenerator
sb.append("}\n");
sb.append("ref = ref.startsWith(\"#bean:\") ? ref.substring(6) : ref.substring(1);\n");
sb.append("switch (targetType.getName()) {\n");
- for (ComponentOptionModel option : model.getComponentOptions()) {
- // is it a complex type
- if (isComplexType(option)) {
- String type = getJavaType(option);
- sb.append(" case \"").append(type).append("\": return camelContext.getRegistry().lookupByNameAndType(ref, ").append(type).append(".class);\n");
- }
- }
+ // we need complex types only which unique types only
+ Stream<String> s = model.getComponentOptions().stream().filter(this::isComplexType).map(BaseOptionModel::getJavaType).distinct();
+ s.forEach(type -> {
+ sb.append(" case \"").append(type).append("\": return camelContext.getRegistry().lookupByNameAndType(ref, ").append(type).append(".class);\n");
+ });
sb.append("}\n");
sb.append("return null;\n");
return sb.toString();
@@ -1387,13 +1386,11 @@ public class SpringBootAutoConfigurationMojo extends AbstractSpringBootGenerator
sb.append("}\n");
sb.append("ref = ref.startsWith(\"#bean:\") ? ref.substring(6) : ref.substring(1);\n");
sb.append("switch (targetType.getName()) {\n");
- for (DataFormatOptionModel option : model.getOptions()) {
- // is it a complex type
- if (isComplexType(option)) {
- String type = getJavaType(option);
- sb.append(" case \"").append(type).append("\": return camelContext.getRegistry().lookupByNameAndType(ref, ").append(type).append(".class);\n");
- }
- }
+ // we need complex types only which unique types only
+ Stream<String> s = model.getOptions().stream().filter(this::isComplexType).map(BaseOptionModel::getJavaType).distinct();
+ s.forEach(type -> {
+ sb.append(" case \"").append(type).append("\": return camelContext.getRegistry().lookupByNameAndType(ref, ").append(type).append(".class);\n");
+ });
sb.append("}\n");
sb.append("return null;\n");
return sb.toString();
@@ -1410,13 +1407,11 @@ public class SpringBootAutoConfigurationMojo extends AbstractSpringBootGenerator
sb.append("}\n");
sb.append("ref = ref.startsWith(\"#bean:\") ? ref.substring(6) : ref.substring(1);\n");
sb.append("switch (targetType.getName()) {\n");
- for (LanguageOptionModel option : model.getOptions()) {
- // is it a complex type
- if (isComplexType(option)) {
- String type = getJavaType(option);
- sb.append(" case \"").append(type).append("\": return camelContext.getRegistry().lookupByNameAndType(ref, ").append(type).append(".class);\n");
- }
- }
+ // we need complex types only which unique types only
+ Stream<String> s = model.getOptions().stream().filter(this::isComplexType).map(BaseOptionModel::getJavaType).distinct();
+ s.forEach(type -> {
+ sb.append(" case \"").append(type).append("\": return camelContext.getRegistry().lookupByNameAndType(ref, ").append(type).append(".class);\n");
+ });
sb.append("}\n");
sb.append("return null;\n");
return sb.toString();
@@ -1425,14 +1420,13 @@ public class SpringBootAutoConfigurationMojo extends AbstractSpringBootGenerator
private String createConverterPairBody(ComponentModel model) {
StringBuilder sb = new StringBuilder();
sb.append("Set<ConvertiblePair> answer = new LinkedHashSet<>();\n");
- for (ComponentOptionModel option : model.getComponentOptions()) {
- // is it a complex type
- if (isComplexType(option)) {
- sb.append("answer.add(new ConvertiblePair(String.class, ");
- sb.append(option.getJavaType());
- sb.append(".class));\n");
- }
- }
+ // we need complex types only which unique types only
+ Stream<String> s = model.getOptions().stream().filter(this::isComplexType).map(BaseOptionModel::getJavaType).distinct();
+ s.forEach(type -> {
+ sb.append("answer.add(new ConvertiblePair(String.class, ");
+ sb.append(type);
+ sb.append(".class));\n");
+ });
sb.append("return answer;\n");
return sb.toString();
}
@@ -1440,14 +1434,13 @@ public class SpringBootAutoConfigurationMojo extends AbstractSpringBootGenerator
private String createConverterPairBody(DataFormatModel model) {
StringBuilder sb = new StringBuilder();
sb.append("Set<ConvertiblePair> answer = new LinkedHashSet<>();\n");
- for (DataFormatOptionModel option : model.getOptions()) {
- // is it a complex type
- if (isComplexType(option)) {
- sb.append("answer.add(new ConvertiblePair(String.class, ");
- sb.append(option.getJavaType());
- sb.append(".class));\n");
- }
- }
+ // we need complex types only which unique types only
+ Stream<String> s = model.getOptions().stream().filter(this::isComplexType).map(BaseOptionModel::getJavaType).distinct();
+ s.forEach(type -> {
+ sb.append("answer.add(new ConvertiblePair(String.class, ");
+ sb.append(type);
+ sb.append(".class));\n");
+ });
sb.append("return answer;\n");
return sb.toString();
}
@@ -1455,14 +1448,13 @@ public class SpringBootAutoConfigurationMojo extends AbstractSpringBootGenerator
private String createConverterPairBody(LanguageModel model) {
StringBuilder sb = new StringBuilder();
sb.append("Set<ConvertiblePair> answer = new LinkedHashSet<>();\n");
- for (LanguageOptionModel option : model.getOptions()) {
- // is it a complex type
- if (isComplexType(option)) {
- sb.append("answer.add(new ConvertiblePair(String.class, ");
- sb.append(option.getJavaType());
- sb.append(".class));\n");
- }
- }
+ // we need complex types only which unique types only
+ Stream<String> s = model.getOptions().stream().filter(this::isComplexType).map(BaseOptionModel::getJavaType).distinct();
+ s.forEach(type -> {
+ sb.append("answer.add(new ConvertiblePair(String.class, ");
+ sb.append(type);
+ sb.append(".class));\n");
+ });
sb.append("return answer;\n");
return sb.toString();
}