You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by gn...@apache.org on 2019/01/11 22:09:05 UTC

[camel] branch master updated (ce8e36e -> 92c90bc)

This is an automated email from the ASF dual-hosted git repository.

gnodet pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git.


    from ce8e36e  Exclude log4j-core coming in from com.cedarsoftware:java-util, different version is specified in camel-headersmap (#2707)
     new 3e37903  Upgrade maven plugins to maven 3.x
     new cdaa608  Remove deprecated connector support
     new 0ebc2a4  Generate jaxb.index files
     new 7886540  Generate legal files
     new a9565d4  Refactor @Metadata#required to a boolean
     new 780a466  Refactor deprecationNode -> deprecationNote
     new 481197d  Remove files related to the removed HazelcastComponent
     new 7492f13  Generate TypeConverter files
     new c59a50d  Clean up a bit resource processors
     new bef5ea7  Switch camel-grape to java to leverage build tools
     new b5621f8  Leverage @Component, @Dataformat and @Language annotations
     new 9e1b75e  Remove deprecated constructors
     new 92c90bc  Regen

The 13 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:
 .../src/main/java/__name__Endpoint.java            |    2 +-
 .../src/main/java/__name__Endpoint.java            |    2 +-
 camel-api/pom.xml                                  |   38 +
 camel-core/pom.xml                                 |   86 +-
 camel-core/readme.adoc                             |  119 -
 .../apache/camel/component/ResourceEndpoint.java   |    2 +-
 .../apache/camel/component/bean/BeanComponent.java |    1 +
 .../apache/camel/component/bean/BeanEndpoint.java  |    2 +-
 .../camel/component/beanclass/ClassComponent.java  |    1 +
 .../camel/component/browse/BrowseComponent.java    |    1 +
 .../camel/component/browse/BrowseEndpoint.java     |    2 +-
 .../component/controlbus/ControlBusComponent.java  |    1 +
 .../component/controlbus/ControlBusEndpoint.java   |    2 +-
 .../component/dataformat/DataFormatComponent.java  |    2 +
 .../component/dataformat/DataFormatEndpoint.java   |    4 +-
 .../camel/component/dataset/DataSetComponent.java  |    1 +
 .../camel/component/dataset/DataSetEndpoint.java   |    2 +-
 .../camel/component/direct/DirectComponent.java    |    2 +
 .../camel/component/direct/DirectEndpoint.java     |    2 +-
 .../component/directvm/DirectVmComponent.java      |    1 +
 .../camel/component/directvm/DirectVmEndpoint.java |    2 +-
 .../apache/camel/component/file/FileComponent.java |    4 +
 .../apache/camel/component/file/FileEndpoint.java  |    2 +-
 .../camel/component/file/FileProcessStrategy.java  |   19 +
 .../component/language/LanguageComponent.java      |    1 +
 .../camel/component/language/LanguageEndpoint.java |    4 +-
 .../apache/camel/component/log/LogComponent.java   |    1 +
 .../apache/camel/component/log/LogEndpoint.java    |    2 +-
 .../apache/camel/component/mock/MockComponent.java |    1 +
 .../apache/camel/component/mock/MockEndpoint.java  |    2 +-
 .../component/properties/PropertiesComponent.java  |    2 +
 .../component/properties/PropertiesEndpoint.java   |    2 +-
 .../apache/camel/component/ref/RefComponent.java   |    1 +
 .../apache/camel/component/ref/RefEndpoint.java    |    2 +-
 .../camel/component/rest/RestApiComponent.java     |    1 +
 .../camel/component/rest/RestApiEndpoint.java      |    2 +-
 .../apache/camel/component/rest/RestComponent.java |    1 +
 .../apache/camel/component/rest/RestEndpoint.java  |    4 +-
 .../apache/camel/component/saga/SagaComponent.java |    1 +
 .../apache/camel/component/saga/SagaEndpoint.java  |    2 +-
 .../component/scheduler/SchedulerComponent.java    |    1 +
 .../component/scheduler/SchedulerEndpoint.java     |    2 +-
 .../apache/camel/component/seda/SedaComponent.java |    1 +
 .../apache/camel/component/seda/SedaEndpoint.java  |    2 +-
 .../apache/camel/component/stub/StubComponent.java |    1 +
 .../apache/camel/component/test/TestComponent.java |    1 +
 .../apache/camel/component/test/TestEndpoint.java  |    2 +-
 .../camel/component/timer/TimerComponent.java      |    1 +
 .../camel/component/timer/TimerEndpoint.java       |    2 +-
 .../component/validator/ValidatorComponent.java    |    1 +
 .../component/validator/ValidatorEndpoint.java     |    2 +-
 .../org/apache/camel/component/vm/VmComponent.java |    1 +
 .../apache/camel/component/xslt/XsltComponent.java |    2 +
 .../apache/camel/component/xslt/XsltEndpoint.java  |    2 +-
 .../apache/camel/component/xslt/XsltHelper.java    |    4 +-
 .../java/org/apache/camel/impl/GzipDataFormat.java |    2 +
 .../apache/camel/impl/SerializationDataFormat.java |    2 +
 .../org/apache/camel/impl/StringDataFormat.java    |    2 +
 .../java/org/apache/camel/impl/ZipDataFormat.java  |    2 +
 .../converter/AnnotationTypeConverterLoader.java   |    4 +-
 .../apache/camel/language/bean/BeanLanguage.java   |    1 +
 .../camel/language/constant/ConstantLanguage.java  |    1 +
 .../camel/language/header/HeaderLanguage.java      |    1 +
 .../property/ExchangePropertyLanguage.java         |    1 +
 .../org/apache/camel/language/ref/RefLanguage.java |    1 +
 .../apache/camel/language/simple/FileLanguage.java |    3 +
 .../camel/language/simple/SimpleLanguage.java      |    2 +
 .../camel/language/tokenizer/TokenizeLanguage.java |    1 +
 .../language/tokenizer/XMLTokenizeLanguage.java    |    2 +
 .../apache/camel/language/xpath/XPathLanguage.java |    2 +
 .../org/apache/camel/model/FromDefinition.java     |    2 +-
 .../apache/camel/model/InputTypeDefinition.java    |    2 +-
 .../apache/camel/model/OutputTypeDefinition.java   |    2 +-
 .../apache/camel/model/ResequenceDefinition.java   |    4 +-
 .../org/apache/camel/model/SendDefinition.java     |    2 +-
 .../apache/camel/model/ToDynamicDefinition.java    |    2 +-
 .../camel/model/cloud/ServiceCallDefinition.java   |    2 +-
 .../camel/model/language/ExpressionDefinition.java |    2 +-
 .../camel/model/language/JavaScriptExpression.java |    2 +-
 .../camel/model/rest/RestSecurityApiKey.java       |    2 +-
 .../camel/model/rest/RestSecurityDefinition.java   |    2 +-
 .../camel/model/rest/SecurityDefinition.java       |    2 +-
 camel-core/src/main/resources/META-INF/LICENSE.txt |  203 --
 camel-core/src/main/resources/META-INF/NOTICE.txt  |   11 -
 .../services/org/apache/camel/component/bean       |   18 -
 .../services/org/apache/camel/component/browse     |   18 -
 .../services/org/apache/camel/component/class      |   18 -
 .../services/org/apache/camel/component/controlbus |   18 -
 .../services/org/apache/camel/component/dataformat |   18 -
 .../services/org/apache/camel/component/dataset    |   18 -
 .../services/org/apache/camel/component/direct     |   18 -
 .../services/org/apache/camel/component/direct-vm  |   18 -
 .../services/org/apache/camel/component/file       |   19 -
 .../services/org/apache/camel/component/language   |   18 -
 .../services/org/apache/camel/component/log        |   18 -
 .../services/org/apache/camel/component/mock       |   18 -
 .../services/org/apache/camel/component/properties |   18 -
 .../services/org/apache/camel/component/ref        |   18 -
 .../services/org/apache/camel/component/rest       |   18 -
 .../services/org/apache/camel/component/rest-api   |   18 -
 .../services/org/apache/camel/component/saga       |   18 -
 .../services/org/apache/camel/component/scheduler  |   18 -
 .../services/org/apache/camel/component/seda       |   18 -
 .../services/org/apache/camel/component/stub       |   18 -
 .../services/org/apache/camel/component/test       |   18 -
 .../services/org/apache/camel/component/timer      |   18 -
 .../services/org/apache/camel/component/validator  |   18 -
 .../services/org/apache/camel/component/vm         |   18 -
 .../services/org/apache/camel/component/xslt       |   18 -
 .../services/org/apache/camel/dataformat/gzip      |   18 -
 .../org/apache/camel/dataformat/serialization      |   18 -
 .../services/org/apache/camel/dataformat/string    |   18 -
 .../services/org/apache/camel/dataformat/zip       |   18 -
 .../services/org/apache/camel/language/bean        |   18 -
 .../services/org/apache/camel/language/constant    |   18 -
 .../org/apache/camel/language/exchangeProperty     |   18 -
 .../services/org/apache/camel/language/file        |   18 -
 .../services/org/apache/camel/language/header      |   18 -
 .../services/org/apache/camel/language/ref         |   18 -
 .../services/org/apache/camel/language/simple      |   18 -
 .../services/org/apache/camel/language/tokenize    |   18 -
 .../services/org/apache/camel/language/xpath       |   18 -
 .../services/org/apache/camel/language/xtokenize   |   18 -
 .../src/main/resources/org/apache/camel/jaxb.index |   22 -
 .../org/apache/camel/model/cloud/jaxb.index        |   38 -
 .../org/apache/camel/model/config/jaxb.index       |   19 -
 .../org/apache/camel/model/dataformat/jaxb.index   |   64 -
 .../resources/org/apache/camel/model/jaxb.index    |  106 -
 .../org/apache/camel/model/language/jaxb.index     |   35 -
 .../org/apache/camel/model/loadbalancer/jaxb.index |   23 -
 .../org/apache/camel/model/rest/jaxb.index         |   40 -
 .../org/apache/camel/model/transformer/jaxb.index  |   21 -
 .../org/apache/camel/model/validator/jaxb.index    |   21 -
 .../org/apache/camel/support/dump/jaxb.index       |   19 -
 .../org/apache/camel/util/concurrent/jaxb.index    |   17 -
 .../apache/camel/component/ahc/ws/WsComponent.java |    2 +
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/ahc-ws     |   18 -
 .../services/org/apache/camel/component/ahc-wss    |   18 -
 .../apache/camel/component/ahc/AhcComponent.java   |    2 +
 .../apache/camel/component/ahc/AhcEndpoint.java    |    2 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/ahc        |   18 -
 .../apache/camel/component/amqp/AMQPComponent.java |    2 +
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/amqp       |   18 -
 .../apache/camel/component/apns/ApnsComponent.java |    4 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/apns       |   18 -
 .../apache/camel/component/as2/AS2Component.java   |    2 +
 .../camel/component/as2/AS2Configuration.java      |    4 +-
 .../services/org/apache/camel/component/as2        |   18 -
 .../camel/dataformat/asn1/ASN1DataFormat.java      |    2 +
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/dataformat/asn1      |   18 -
 .../component/asterisk/AsteriskComponent.java      |    2 +
 .../camel/component/asterisk/AsteriskEndpoint.java |    8 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/asterisk   |   17 -
 .../camel/component/atmos/AtmosComponent.java      |    2 +
 .../camel/component/atmos/AtmosConfiguration.java  |    2 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/atmos      |   18 -
 .../atmosphere/websocket/WebsocketComponent.java   |    2 +
 .../atmosphere/websocket/WebsocketEndpoint.java    |    2 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../apache/camel/component/atmosphere-websocket    |   17 -
 .../apache/camel/component/atom/AtomComponent.java |    2 +
 .../apache/camel/component/feed/FeedEndpoint.java  |    2 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/TypeConverter        |   18 -
 .../services/org/apache/camel/component/atom       |   18 -
 .../client/AbstractAtomixClientEndpoint.java       |    2 +-
 .../atomix/client/map/AtomixMapComponent.java      |    2 +
 .../client/messaging/AtomixMessagingComponent.java |    2 +
 .../client/multimap/AtomixMultiMapComponent.java   |    2 +
 .../atomix/client/queue/AtomixQueueComponent.java  |    2 +
 .../atomix/client/set/AtomixSetComponent.java      |    2 +
 .../atomix/client/value/AtomixValueComponent.java  |    2 +
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/TypeConverter        |   18 -
 .../services/org/apache/camel/component/atomix-map |   18 -
 .../org/apache/camel/component/atomix-messaging    |   18 -
 .../org/apache/camel/component/atomix-multimap     |   18 -
 .../org/apache/camel/component/atomix-queue        |   18 -
 .../services/org/apache/camel/component/atomix-set |   18 -
 .../org/apache/camel/component/atomix-value        |   18 -
 .../apache/camel/component/avro/AvroComponent.java |    2 +
 .../camel/component/avro/AvroConfiguration.java    |    6 +-
 .../camel/dataformat/avro/AvroDataFormat.java      |    2 +
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/avro       |   17 -
 .../services/org/apache/camel/dataformat/avro      |   18 -
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../apache/camel/component/aws/cw/CwComponent.java |    2 +
 .../camel/component/aws/cw/CwConfiguration.java    |    2 +-
 .../camel/component/aws/ddb/DdbComponent.java      |    3 +
 .../camel/component/aws/ddb/DdbConfiguration.java  |    2 +-
 .../aws/ddbstream/DdbStreamComponent.java          |    3 +
 .../aws/ddbstream/DdbStreamConfiguration.java      |    2 +-
 .../camel/component/aws/ec2/EC2Component.java      |    3 +
 .../camel/component/aws/ec2/EC2Configuration.java  |    4 +-
 .../camel/component/aws/eks/EKSComponent.java      |    2 +
 .../camel/component/aws/eks/EKSConfiguration.java  |    4 +-
 .../aws/firehose/KinesisFirehoseComponent.java     |    3 +
 .../aws/firehose/KinesisFirehoseConfiguration.java |    2 +-
 .../camel/component/aws/iam/IAMComponent.java      |    3 +
 .../camel/component/aws/iam/IAMConfiguration.java  |    4 +-
 .../component/aws/kinesis/KinesisComponent.java    |    3 +
 .../aws/kinesis/KinesisConfiguration.java          |    2 +-
 .../camel/component/aws/kms/KMSComponent.java      |    3 +
 .../camel/component/aws/kms/KMSConfiguration.java  |    4 +-
 .../component/aws/lambda/LambdaComponent.java      |    3 +
 .../component/aws/lambda/LambdaConfiguration.java  |    4 +-
 .../apache/camel/component/aws/mq/MQComponent.java |    3 +
 .../camel/component/aws/mq/MQConfiguration.java    |    4 +-
 .../apache/camel/component/aws/s3/S3Component.java |    3 +
 .../apache/camel/component/aws/s3/S3Endpoint.java  |    2 +-
 .../camel/component/aws/sdb/SdbComponent.java      |    2 +
 .../camel/component/aws/sdb/SdbConfiguration.java  |    2 +-
 .../camel/component/aws/ses/SesComponent.java      |    3 +
 .../camel/component/aws/ses/SesConfiguration.java  |    2 +-
 .../camel/component/aws/sns/SnsComponent.java      |    3 +
 .../camel/component/aws/sns/SnsEndpoint.java       |    2 +-
 .../camel/component/aws/sqs/SqsComponent.java      |    3 +
 .../camel/component/aws/sqs/SqsEndpoint.java       |    2 +-
 .../camel/component/aws/swf/SWFComponent.java      |    3 +
 .../camel/component/aws/swf/SWFConfiguration.java  |    2 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/TypeConverter        |   19 -
 .../services/org/apache/camel/component/aws-cw     |   18 -
 .../services/org/apache/camel/component/aws-ddb    |   18 -
 .../org/apache/camel/component/aws-ddbstream       |   18 -
 .../services/org/apache/camel/component/aws-ec2    |   18 -
 .../services/org/apache/camel/component/aws-eks    |   18 -
 .../services/org/apache/camel/component/aws-iam    |   18 -
 .../org/apache/camel/component/aws-kinesis         |   18 -
 .../apache/camel/component/aws-kinesis-firehose    |   18 -
 .../services/org/apache/camel/component/aws-kms    |   18 -
 .../services/org/apache/camel/component/aws-lambda |   18 -
 .../services/org/apache/camel/component/aws-mq     |   18 -
 .../services/org/apache/camel/component/aws-s3     |   18 -
 .../services/org/apache/camel/component/aws-sdb    |   18 -
 .../services/org/apache/camel/component/aws-ses    |   18 -
 .../services/org/apache/camel/component/aws-sns    |   18 -
 .../services/org/apache/camel/component/aws-sqs    |   18 -
 .../services/org/apache/camel/component/aws-swf    |   18 -
 .../component/azure/blob/BlobServiceComponent.java |    2 +
 .../component/azure/blob/BlobServiceEndpoint.java  |    2 +-
 .../azure/queue/QueueServiceComponent.java         |    2 +
 .../azure/queue/QueueServiceEndpoint.java          |    2 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/azure-blob |   18 -
 .../org/apache/camel/component/azure-queue         |   18 -
 .../dataformat/barcode/BarcodeDataFormat.java      |    2 +
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/dataformat/barcode   |   18 -
 .../camel/dataformat/base64/Base64DataFormat.java  |    2 +
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/dataformat/base64    |   18 -
 .../bean/validator/BeanValidatorComponent.java     |    2 +
 .../bean/validator/BeanValidatorEndpoint.java      |    2 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../org/apache/camel/component/bean-validator      |   18 -
 .../camel/dataformat/beanio/BeanIODataFormat.java  |    2 +
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/dataformat/beanio    |   18 -
 .../component/beanstalk/BeanstalkComponent.java    |    2 +
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/beanstalk  |   18 -
 .../dataformat/bindy/csv/BindyCsvDataFormat.java   |    2 +
 .../bindy/fixed/BindyFixedLengthDataFormat.java    |    2 +
 .../bindy/kvp/BindyKeyValuePairDataFormat.java     |    2 +
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/dataformat/bindy-csv |   18 -
 .../org/apache/camel/dataformat/bindy-fixed        |   18 -
 .../services/org/apache/camel/dataformat/bindy-kvp |   18 -
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../camel/component/bonita/BonitaComponent.java    |    2 +
 .../component/bonita/BonitaConfiguration.java      |    2 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/bonita     |   17 -
 .../camel/component/boon/BoonDataFormat.java       |    2 +
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/dataformat/boon      |   18 -
 .../apache/camel/component/box/BoxComponent.java   |    2 +
 .../camel/component/box/BoxConfiguration.java      |    4 +-
 .../services/org/apache/camel/component/box        |   18 -
 .../component/braintree/BraintreeComponent.java    |    2 +
 .../braintree/BraintreeConfiguration.java          |    2 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/braintree  |   18 -
 .../caffeine/cache/CaffeineCacheComponent.java     |    2 +
 .../caffeine/cache/CaffeineCacheEndpoint.java      |    2 +-
 .../caffeine/load/CaffeineLoadCacheComponent.java  |    2 +
 .../caffeine/load/CaffeineLoadCacheEndpoint.java   |    2 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../org/apache/camel/component/caffeine-cache      |   18 -
 .../org/apache/camel/component/caffeine-loadcache  |   18 -
 .../component/cassandra/CassandraComponent.java    |    2 +
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/cql        |   18 -
 .../chronicle/engine/ChronicleEngineComponent.java |    2 +
 .../chronicle/engine/ChronicleEngineEndpoint.java  |    4 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../org/apache/camel/component/chronicle-engine    |   18 -
 .../camel/component/chunk/ChunkComponent.java      |    2 +
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/chunk      |   18 -
 .../org/apache/camel/component/cm/CMComponent.java |    2 +
 .../apache/camel/component/cm/CMConfiguration.java |    2 +-
 .../org/apache/camel/component/cm/CMEndpoint.java  |    2 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/cm-sms     |   18 -
 .../src/main/resources/log4j2.properties           |   28 -
 .../apache/camel/component/cmis/CMISComponent.java |    2 +
 .../apache/camel/component/cmis/CMISEndpoint.java  |    2 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/cmis       |   18 -
 .../java/org/apache/camel/coap/CoAPComponent.java  |    2 +
 .../camel-coap/src/main/resources/LICENSE.txt      |  203 --
 .../services/org/apache/camel/component/coap       |   18 -
 .../camel-coap/src/main/resources/NOTICE.txt       |   11 -
 .../camel/component/cometd/CometdComponent.java    |    2 +
 .../camel/component/cometd/CometdEndpoint.java     |    6 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/cometd     |   17 -
 .../services/org/apache/camel/component/cometds    |   17 -
 .../camel/component/consul/ConsulComponent.java    |    2 +
 .../camel/component/consul/ConsulEndpoint.java     |    2 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/consul     |   18 -
 .../camel/component/corda/CordaComponent.java      |    2 +
 .../camel/component/corda/CordaConfiguration.java  |   12 +-
 .../camel/component/corda/CordaEndpoint.java       |    2 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/corda      |   18 -
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../component/couchbase/CouchbaseComponent.java    |    2 +
 .../component/couchbase/CouchbaseEndpoint.java     |    4 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/couchbase  |   19 -
 .../camel/component/couchdb/CouchDbComponent.java  |    2 +
 .../camel/component/couchdb/CouchDbEndpoint.java   |    6 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/couchdb    |   18 -
 .../component/crypto/cms/CryptoCmsComponent.java   |    2 +
 .../component/crypto/cms/CryptoCmsEndpoint.java    |    4 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/crypto-cms |   18 -
 .../crypto/DigitalSignatureComponent.java          |    2 +
 .../crypto/DigitalSignatureConfiguration.java      |    4 +-
 .../camel/converter/crypto/CryptoDataFormat.java   |    2 +
 .../converter/crypto/PGPKeyAccessDataFormat.java   |    2 +
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/crypto     |   18 -
 .../services/org/apache/camel/dataformat/crypto    |   17 -
 .../services/org/apache/camel/dataformat/pgp       |   17 -
 .../apache/camel/dataformat/csv/CsvDataFormat.java |    2 +
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/dataformat/csv       |   18 -
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../apache/camel/component/cxf/CxfComponent.java   |    2 +
 .../camel/component/cxf/jaxrs/CxfRsComponent.java  |    2 +
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/TypeConverter        |   19 -
 .../services/org/apache/camel/component/cxf        |   18 -
 .../services/org/apache/camel/component/cxfbean    |   18 -
 .../services/org/apache/camel/component/cxfrs      |   18 -
 .../digitalocean/DigitalOceanComponent.java        |    2 +
 .../digitalocean/DigitalOceanConfiguration.java    |    2 +-
 .../org/apache/camel/component/digitalocean        |   18 -
 .../src/main/resources/log4j2.properties           |   22 -
 .../component/disruptor/DisruptorComponent.java    |    2 +
 .../component/disruptor/DisruptorEndpoint.java     |    2 +-
 .../disruptor/vm/DisruptorVmComponent.java         |    2 +
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/disruptor  |   18 -
 .../org/apache/camel/component/disruptor-vm        |   18 -
 .../apache/camel/component/dns/DnsComponent.java   |    2 +
 .../apache/camel/component/dns/DnsEndpoint.java    |    2 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/TypeConverter        |   19 -
 .../services/org/apache/camel/component/dns        |   19 -
 .../camel/component/docker/DockerComponent.java    |    2 +
 .../component/docker/DockerConfiguration.java      |    6 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/docker     |   17 -
 .../camel/component/dozer/DozerComponent.java      |    2 +
 .../camel/component/dozer/DozerConfiguration.java  |    4 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/dozer      |   17 -
 .../camel/component/drill/DrillComponent.java      |    2 +
 .../camel/component/drill/DrillEndpoint.java       |    4 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/drill      |   17 -
 .../camel/component/dropbox/DropboxComponent.java  |    2 +
 .../component/dropbox/DropboxConfiguration.java    |    4 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/dropbox    |   18 -
 .../camel/component/ehcache/EhcacheComponent.java  |    2 +
 .../camel/component/ehcache/EhcacheEndpoint.java   |    2 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/ehcache    |   18 -
 .../apache/camel/component/ejb/EjbComponent.java   |    2 +
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/ejb        |   18 -
 .../elasticsearch/ElasticsearchComponent.java      |    2 +
 .../elasticsearch/ElasticsearchConfiguration.java  |    4 +-
 .../services/org/apache/camel/TypeConverter        |   17 -
 .../org/apache/camel/component/elasticsearch-rest  |   18 -
 .../camel/component/elsql/ElsqlComponent.java      |    2 +
 .../camel/component/elsql/ElsqlEndpoint.java       |    2 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/elsql      |   18 -
 .../etcd/AbstractEtcdPollingEndpoint.java          |    4 +-
 .../apache/camel/component/etcd/EtcdComponent.java |    2 +
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/etcd       |   18 -
 .../component/eventadmin/EventAdminComponent.java  |    2 +
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/eventadmin |   18 -
 .../apache/camel/component/exec/ExecComponent.java |    2 +
 .../apache/camel/component/exec/ExecEndpoint.java  |    2 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/TypeConverter        |   18 -
 .../services/org/apache/camel/component/exec       |   18 -
 .../component/facebook/FacebookComponent.java      |    2 +
 .../camel/component/facebook/FacebookEndpoint.java |    2 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/facebook   |   18 -
 .../component/fastjson/FastjsonDataFormat.java     |    2 +
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../org/apache/camel/dataformat/json-fastjson      |   18 -
 .../apache/camel/component/fhir/FhirComponent.java |    2 +
 .../camel/component/fhir/FhirConfiguration.java    |    4 +-
 .../camel/component/fhir/FhirJsonDataFormat.java   |    2 +
 .../camel/component/fhir/FhirXmlDataFormat.java    |    2 +
 .../services/org/apache/camel/component/fhir       |   18 -
 .../services/org/apache/camel/dataformat/fhirJson  |   18 -
 .../services/org/apache/camel/dataformat/fhirXml   |   18 -
 .../component/flatpack/FlatpackComponent.java      |    2 +
 .../camel/component/flatpack/FlatpackEndpoint.java |    4 +-
 .../dataformat/flatpack/FlatpackDataFormat.java    |    2 +
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/TypeConverter        |   18 -
 .../services/org/apache/camel/component/flatpack   |   18 -
 .../services/org/apache/camel/dataformat/flatpack  |   18 -
 .../camel/component/flink/FlinkComponent.java      |    2 +
 .../camel/component/flink/FlinkEndpoint.java       |    2 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/flink      |   18 -
 .../apache/camel/component/fop/FopComponent.java   |    2 +
 .../apache/camel/component/fop/FopEndpoint.java    |    2 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/fop        |   18 -
 .../component/freemarker/FreemarkerComponent.java  |    2 +
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/freemarker |   18 -
 .../camel/component/file/remote/FtpComponent.java  |    5 +
 .../camel/component/file/remote/FtpsComponent.java |    5 +
 .../file/remote/RemoteFileConfiguration.java       |    2 +-
 .../camel/component/file/remote/SftpComponent.java |    5 +
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/ftp        |   19 -
 .../services/org/apache/camel/component/ftps       |   19 -
 .../services/org/apache/camel/component/sftp       |   19 -
 .../camel/component/ganglia/GangliaComponent.java  |    2 +
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/ganglia    |   17 -
 .../component/geocoder/GeoCoderComponent.java      |    2 +
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/geocoder   |   18 -
 .../apache/camel/component/git/GitComponent.java   |    2 +
 .../apache/camel/component/git/GitEndpoint.java    |    2 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/git        |   18 -
 .../camel/component/github/GitHubComponent.java    |    2 +
 .../camel/component/github/GitHubEndpoint.java     |    6 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/github     |   18 -
 .../google/bigquery/GoogleBigQueryComponent.java   |    2 +
 .../bigquery/GoogleBigQueryConfiguration.java      |    6 +-
 .../bigquery/sql/GoogleBigQuerySQLComponent.java   |    3 +-
 .../sql/GoogleBigQuerySQLConfiguration.java        |    4 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../org/apache/camel/component/google-bigquery     |   18 -
 .../org/apache/camel/component/google-bigquery-sql |   18 -
 .../google/calendar/GoogleCalendarComponent.java   |    2 +
 .../calendar/GoogleCalendarConfiguration.java      |    4 +-
 .../stream/GoogleCalendarStreamComponent.java      |    2 +
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../org/apache/camel/component/google-calendar     |   17 -
 .../apache/camel/component/google-calendar-stream  |   17 -
 .../google/drive/GoogleDriveComponent.java         |    2 +
 .../google/drive/GoogleDriveConfiguration.java     |    4 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/TypeConverter        |   17 -
 .../org/apache/camel/component/google-drive        |   18 -
 .../component/google/mail/GoogleMailComponent.java |    2 +
 .../google/mail/GoogleMailConfiguration.java       |    4 +-
 .../mail/stream/GoogleMailStreamComponent.java     |    2 +
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../org/apache/camel/component/google-mail         |   17 -
 .../org/apache/camel/component/google-mail-stream  |   17 -
 .../google/pubsub/GooglePubsubComponent.java       |    2 +
 .../google/pubsub/GooglePubsubEndpoint.java        |    4 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../org/apache/camel/component/google-pubsub       |   18 -
 .../google/sheets/GoogleSheetsComponent.java       |    2 +
 .../google/sheets/GoogleSheetsConfiguration.java   |    4 +-
 .../sheets/stream/GoogleSheetsStreamComponent.java |    2 +
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../org/apache/camel/component/google-sheets       |   17 -
 .../apache/camel/component/google-sheets-stream    |   17 -
 .../apache/camel/component/gora/GoraComponent.java |    2 +
 .../camel/component/gora/GoraConfiguration.java    |    2 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/gora       |   18 -
 components/camel-grape/pom.xml                     |   60 -
 .../camel-grape/src/main/docs/grape-component.adoc |    2 +-
 .../component/grape/FilePatchesRepository.groovy   |   60 -
 .../camel/component/grape/GrapeEndpoint.groovy     |   79 -
 .../camel/component/grape/GrapeProducer.groovy     |   68 -
 .../camel/component/grape/MavenCoordinates.groovy  |   59 -
 .../component/grape/FilePatchesRepository.java     |   82 +
 .../camel/component/grape/GrapeCommand.java}       |    4 +-
 .../camel/component/grape/GrapeComponent.java}     |   41 +-
 .../camel/component/grape/GrapeConstants.java      |    9 +-
 .../camel/component/grape/GrapeEndpoint.java       |   95 +
 .../camel/component/grape/GrapeProducer.java       |   77 +
 .../camel/component/grape/MavenCoordinates.java    |   70 +
 .../camel/component/grape/PatchesRepository.java}  |    6 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/grape      |   17 -
 .../org/apache/camel/component/grape/grape.json    |   29 -
 .../camel/language/groovy/GroovyLanguage.java      |    2 +
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/language/groovy      |   18 -
 .../apache/camel/component/grpc/GrpcComponent.java |    2 +
 .../camel/component/grpc/GrpcConfiguration.java    |    6 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/grpc       |   18 -
 .../camel/component/gson/GsonDataFormat.java       |    2 +
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/dataformat/json-gson |   18 -
 .../guava/eventbus/GuavaEventBusComponent.java     |    2 +
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../org/apache/camel/component/guava-eventbus      |   18 -
 .../component/hazelcast/HazelcastComponent.java    |  160 -
 .../hazelcast/HazelcastDefaultEndpoint.java        |    2 +-
 .../HazelcastAtomicnumberComponent.java            |    2 +
 .../instance/HazelcastInstanceComponent.java       |    2 +
 .../hazelcast/list/HazelcastListComponent.java     |    2 +
 .../hazelcast/map/HazelcastMapComponent.java       |    2 +
 .../multimap/HazelcastMultimapComponent.java       |    2 +
 .../hazelcast/queue/HazelcastQueueComponent.java   |    2 +
 .../HazelcastReplicatedmapComponent.java           |    2 +
 .../ringbuffer/HazelcastRingbufferComponent.java   |    2 +
 .../hazelcast/seda/HazelcastSedaComponent.java     |    2 +
 .../hazelcast/set/HazelcastSetComponent.java       |    2 +
 .../hazelcast/topic/HazelcastTopicComponent.java   |    2 +
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/hazelcast  |   18 -
 .../apache/camel/component/hazelcast-atomicvalue   |   18 -
 .../org/apache/camel/component/hazelcast-instance  |   18 -
 .../org/apache/camel/component/hazelcast-list      |   18 -
 .../org/apache/camel/component/hazelcast-map       |   18 -
 .../org/apache/camel/component/hazelcast-multimap  |   18 -
 .../org/apache/camel/component/hazelcast-queue     |   18 -
 .../apache/camel/component/hazelcast-replicatedmap |   18 -
 .../apache/camel/component/hazelcast-ringbuffer    |   18 -
 .../org/apache/camel/component/hazelcast-seda      |   18 -
 .../org/apache/camel/component/hazelcast-set       |   18 -
 .../org/apache/camel/component/hazelcast-topic     |   18 -
 .../hazelcast/HazelcastCamelTestHelper.java        |    3 -
 .../camel/component/hbase/HBaseComponent.java      |    2 +
 .../camel/component/hbase/HBaseEndpoint.java       |    2 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/TypeConverter        |   18 -
 .../services/org/apache/camel/component/hbase      |   18 -
 .../camel/component/hdfs2/HdfsComponent.java       |    2 +
 .../camel/component/hdfs2/HdfsConfiguration.java   |    4 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/hdfs       |   18 -
 .../services/org/apache/camel/component/hdfs2      |   18 -
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../camel/component/hipchat/HipchatComponent.java  |    2 +
 .../component/hipchat/HipchatConfiguration.java    |    4 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/hipchat    |   18 -
 .../apache/camel/component/hl7/HL7DataFormat.java  |    2 +
 .../apache/camel/component/hl7/TerserLanguage.java |    1 +
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   14 -
 .../services/org/apache/camel/TypeConverter        |   26 -
 .../services/org/apache/camel/dataformat/hl7       |   18 -
 .../services/org/apache/camel/language/terser      |   18 -
 .../camel/http/common/HttpCommonEndpoint.java      |    2 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/TypeConverter        |   18 -
 .../camel/component/http4/HttpComponent.java       |    2 +
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/TypeConverter        |   19 -
 .../services/org/apache/camel/component/http       |   18 -
 .../services/org/apache/camel/component/http4      |   18 -
 .../services/org/apache/camel/component/https      |   18 -
 .../services/org/apache/camel/component/https4     |   18 -
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../camel/component/ical/ICalDataFormat.java       |    2 +
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/TypeConverter        |   18 -
 .../services/org/apache/camel/dataformat/ical      |   18 -
 .../component/iec60870/AbstractIecEndpoint.java    |    2 +-
 .../component/iec60870/client/ClientComponent.java |    2 +
 .../component/iec60870/server/ServerComponent.java |    2 +
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../org/apache/camel/component/iec60870-client     |   18 -
 .../org/apache/camel/component/iec60870-server     |   18 -
 .../camel/component/ignite/IgniteComponent.java    |  138 -
 .../ignite/cache/IgniteCacheComponent.java         |    2 +
 .../ignite/cache/IgniteCacheEndpoint.java          |   10 +-
 .../ignite/compute/IgniteComputeComponent.java     |    2 +
 .../ignite/compute/IgniteComputeEndpoint.java      |   11 +-
 .../ignite/events/IgniteEventsComponent.java       |    2 +
 .../ignite/events/IgniteEventsEndpoint.java        |   13 -
 .../ignite/idgen/IgniteIdGenComponent.java         |    2 +
 .../ignite/idgen/IgniteIdGenEndpoint.java          |   12 +-
 .../ignite/messaging/IgniteMessagingComponent.java |    2 +
 .../ignite/messaging/IgniteMessagingEndpoint.java  |   10 +-
 .../ignite/queue/IgniteQueueComponent.java         |    2 +
 .../ignite/queue/IgniteQueueEndpoint.java          |   19 +-
 .../component/ignite/set/IgniteSetComponent.java   |    2 +
 .../component/ignite/set/IgniteSetEndpoint.java    |   20 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/ignite     |   18 -
 .../org/apache/camel/component/ignite-cache        |   18 -
 .../org/apache/camel/component/ignite-compute      |   18 -
 .../org/apache/camel/component/ignite-events       |   18 -
 .../org/apache/camel/component/ignite-idgen        |   18 -
 .../org/apache/camel/component/ignite-messaging    |   18 -
 .../org/apache/camel/component/ignite-queue        |   18 -
 .../services/org/apache/camel/component/ignite-set |   18 -
 .../component/infinispan/InfinispanComponent.java  |    2 +
 .../component/infinispan/InfinispanEndpoint.java   |    2 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/infinispan |   17 -
 .../component/influxdb/InfluxDbComponent.java      |    2 +
 .../camel/component/influxdb/InfluxDbEndpoint.java |    2 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/TypeConverter        |   18 -
 .../services/org/apache/camel/component/influxdb   |   17 -
 .../apache/camel/component/iota/IOTAComponent.java |    2 +
 .../apache/camel/component/iota/IOTAEndpoint.java  |    2 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/iota       |   18 -
 .../apache/camel/component/ipfs/IPFSComponent.java |    3 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/ipfs       |   18 -
 .../apache/camel/component/irc/IrcComponent.java   |    3 +
 .../camel/component/irc/IrcConfiguration.java      |    2 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/irc        |   17 -
 .../services/org/apache/camel/component/ircs       |   17 -
 .../camel/component/ironmq/IronMQComponent.java    |    2 +
 .../component/ironmq/IronMQConfiguration.java      |    2 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/ironmq     |   18 -
 .../camel/component/jackson/JacksonDataFormat.java |    2 +
 .../jackson/converter/JacksonTypeConverters.java   |    2 +
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/TypeConverter        |   17 -
 .../org/apache/camel/dataformat/json-jackson       |   18 -
 .../component/jacksonxml/JacksonXMLDataFormat.java |    2 +
 .../converter/JacksonXMLTypeConverters.java        |    2 +
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/TypeConverter        |   17 -
 .../org/apache/camel/dataformat/jacksonxml         |   18 -
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../camel/converter/jaxb/JaxbDataFormat.java       |    2 +
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/dataformat/jaxb      |   18 -
 .../apache/camel/component/jbpm/JBPMComponent.java |    2 +
 .../camel/component/jbpm/JBPMConfiguration.java    |    4 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/jbpm       |   18 -
 .../camel/component/jcache/JCacheComponent.java    |    2 +
 .../camel/component/jcache/JCacheEndpoint.java     |    2 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/jcache     |   18 -
 .../camel/component/jclouds/JcloudsComponent.java  |    2 +
 .../component/jclouds/JcloudsConfiguration.java    |    4 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/TypeConverter        |   17 -
 .../services/org/apache/camel/component/jclouds    |   18 -
 .../apache/camel/component/jcr/JcrComponent.java   |    2 +
 .../apache/camel/component/jcr/JcrEndpoint.java    |    2 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/TypeConverter        |   18 -
 .../services/org/apache/camel/component/jcr        |   18 -
 .../apache/camel/component/jdbc/JdbcComponent.java |    2 +
 .../apache/camel/component/jdbc/JdbcEndpoint.java  |    2 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/jdbc       |   18 -
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/TypeConverter        |   18 -
 .../component/jetty9/JettyHttpComponent9.java      |    2 +
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/jetty      |   17 -
 .../jgroups/raft/JGroupsRaftComponent.java         |    4 +-
 .../jgroups/raft/JGroupsRaftEndpoint.java          |    2 +-
 .../org/apache/camel/component/jgroups-raft        |   18 -
 .../camel/component/jgroups/JGroupsComponent.java  |    2 +
 .../camel/component/jgroups/JGroupsEndpoint.java   |    2 +-
 .../camel-jgroups/src/main/resources/LICENSE.txt   |  203 --
 .../src/main/resources/META-INF/LICENSE.txt        |    0
 .../src/main/resources/META-INF/NOTICE.txt         |    0
 .../services/org/apache/camel/component/jgroups    |   18 -
 .../camel-jgroups/src/main/resources/NOTICE.txt    |   11 -
 .../camel/dataformat/jibx/JibxDataFormat.java      |    2 +
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/dataformat/jibx      |   18 -
 .../component/validator/jing/JingComponent.java    |    2 +
 .../component/validator/jing/JingEndpoint.java     |    2 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/jing       |   18 -
 .../apache/camel/component/jms/JmsComponent.java   |    2 +
 .../apache/camel/component/jms/JmsEndpoint.java    |    2 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/jms        |   18 -
 .../apache/camel/component/jmx/JMXComponent.java   |    2 +
 .../apache/camel/component/jmx/JMXEndpoint.java    |    2 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/jmx        |   17 -
 .../camel/component/johnzon/JohnzonDataFormat.java |    2 +
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../org/apache/camel/dataformat/json-johnzon       |   18 -
 .../apache/camel/component/jolt/JoltComponent.java |    2 +
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/jolt       |   18 -
 .../apache/camel/component/jpa/JpaComponent.java   |    2 +
 .../apache/camel/component/jpa/JpaEndpoint.java    |    4 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/jpa        |   18 -
 .../apache/camel/component/scp/ScpComponent.java   |    6 +
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/scp        |   19 -
 .../jsonvalidator/JsonValidatorComponent.java      |    2 +
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../org/apache/camel/component/json-validator      |   18 -
 .../apache/camel/jsonpath/JsonPathLanguage.java    |    2 +
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/language/jsonpath    |   18 -
 .../camel/component/jt400/Jt400Component.java      |    2 +
 .../camel/component/jt400/Jt400Configuration.java  |   10 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/jt400      |   18 -
 .../camel/component/kafka/KafkaComponent.java      |    2 +
 .../camel/component/kafka/KafkaConfiguration.java  |    2 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/kafka      |   18 -
 .../kubernetes/KubernetesConfiguration.java        |    2 +-
 .../config_maps/KubernetesConfigMapsComponent.java |    2 +
 .../KubernetesDeploymentsComponent.java            |    2 +
 .../kubernetes/hpa/KubernetesHPAComponent.java     |    2 +
 .../kubernetes/job/KubernetesJobComponent.java     |    2 +
 .../namespaces/KubernetesNamespacesComponent.java  |    2 +
 .../kubernetes/nodes/KubernetesNodesComponent.java |    2 +
 .../KubernetesPersistentVolumesComponent.java      |    2 +
 ...KubernetesPersistentVolumesClaimsComponent.java |    2 +
 .../kubernetes/pods/KubernetesPodsComponent.java   |    2 +
 .../KubernetesReplicationControllersComponent.java |    2 +
 .../KubernetesResourcesQuotaComponent.java         |    2 +
 .../secrets/KubernetesSecretsComponent.java        |    2 +
 .../KubernetesServiceAccountsComponent.java        |    2 +
 .../services/KubernetesServicesComponent.java      |    2 +
 .../OpenshiftBuildConfigsComponent.java            |    2 +
 .../openshift/builds/OpenshiftBuildsComponent.java |    2 +
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../apache/camel/component/kubernetes-config-maps  |   18 -
 .../apache/camel/component/kubernetes-deployments  |   18 -
 .../org/apache/camel/component/kubernetes-hpa      |   18 -
 .../org/apache/camel/component/kubernetes-job      |   18 -
 .../apache/camel/component/kubernetes-namespaces   |   18 -
 .../org/apache/camel/component/kubernetes-nodes    |   18 -
 .../camel/component/kubernetes-persistent-volumes  |   18 -
 .../component/kubernetes-persistent-volumes-claims |   18 -
 .../org/apache/camel/component/kubernetes-pods     |   18 -
 .../component/kubernetes-replication-controllers   |   18 -
 .../camel/component/kubernetes-resources-quota     |   18 -
 .../org/apache/camel/component/kubernetes-secrets  |   18 -
 .../camel/component/kubernetes-service-accounts    |   18 -
 .../org/apache/camel/component/kubernetes-services |   18 -
 .../apache/camel/component/openshift-build-configs |   18 -
 .../org/apache/camel/component/openshift-builds    |   18 -
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../apache/camel/component/ldap/LdapComponent.java |    2 +
 .../apache/camel/component/ldap/LdapEndpoint.java  |    2 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/ldap       |   18 -
 .../apache/camel/component/ldif/LdifComponent.java |    2 +
 .../apache/camel/component/ldif/LdifEndpoint.java  |    2 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/ldif       |   18 -
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../component/linkedin/LinkedInComponent.java      |    2 +
 .../component/linkedin/LinkedInConfiguration.java  |    4 +-
 .../services/org/apache/camel/component/linkedin   |   18 -
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../camel/component/lucene/LuceneComponent.java    |    2 +
 .../component/lucene/LuceneConfiguration.java      |    4 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/lucene     |   17 -
 .../component/lumberjack/LumberjackComponent.java  |    2 +
 .../component/lumberjack/LumberjackEndpoint.java   |    2 +-
 .../src/main/resources/LICENSE.txt                 |  203 --
 .../src/main/resources/META-INF/LICENSE.txt        |    0
 .../src/main/resources/META-INF/NOTICE.txt         |    0
 .../services/org/apache/camel/component/lumberjack |   17 -
 .../camel-lumberjack/src/main/resources/NOTICE.txt |   11 -
 .../apache/camel/dataformat/lzf/LZFDataFormat.java |    2 +
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/dataformat/lzf       |   18 -
 .../apache/camel/component/mail/MailComponent.java |    2 +
 .../camel/component/mail/MailConfiguration.java    |    2 +-
 .../mime/multipart/MimeMultipartDataFormat.java    |    2 +
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/TypeConverter        |   18 -
 .../services/org/apache/camel/component/imap       |   18 -
 .../services/org/apache/camel/component/imaps      |   18 -
 .../services/org/apache/camel/component/pop3       |   18 -
 .../services/org/apache/camel/component/pop3s      |   18 -
 .../services/org/apache/camel/component/smtp       |   18 -
 .../services/org/apache/camel/component/smtps      |   18 -
 .../org/apache/camel/dataformat/mime-multipart     |   18 -
 .../camel/component/master/MasterComponent.java    |    2 +
 .../camel/component/master/MasterEndpoint.java     |    4 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/master     |   17 -
 .../camel/component/metrics/MetricsComponent.java  |    2 +
 .../camel/component/metrics/MetricsEndpoint.java   |    4 +-
 .../services/org/apache/camel/component/metrics    |   18 -
 .../component/micrometer/MicrometerComponent.java  |    2 +
 .../component/micrometer/MicrometerEndpoint.java   |    4 +-
 .../services/org/apache/camel/component/micrometer |   18 -
 .../component/milo/client/MiloClientComponent.java |    2 +
 .../component/milo/client/MiloClientEndpoint.java  |    2 +-
 .../component/milo/server/MiloServerComponent.java |    2 +
 .../component/milo/server/MiloServerEndpoint.java  |    2 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/TypeConverter        |   18 -
 .../org/apache/camel/component/milo-client         |   18 -
 .../org/apache/camel/component/milo-server         |   18 -
 .../camel/component/mina2/Mina2Component.java      |    2 +
 .../camel/component/mina2/Mina2Configuration.java  |    6 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/TypeConverter        |   18 -
 .../services/org/apache/camel/component/mina       |   18 -
 .../services/org/apache/camel/component/mina2      |   18 -
 .../apache/camel/component/mllp/MllpComponent.java |    2 +
 .../apache/camel/component/mllp/MllpEndpoint.java  |    4 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |  203 --
 .../services/org/apache/camel/component/mllp       |   18 -
 .../component/mongodb/gridfs/GridFsComponent.java  |    2 +
 .../component/mongodb/gridfs/GridFsEndpoint.java   |    4 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../org/apache/camel/component/mongodb-gridfs      |   18 -
 .../camel/component/mongodb3/MongoDbComponent.java |    2 +
 .../camel/component/mongodb3/MongoDbEndpoint.java  |    2 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/TypeConverter        |   19 -
 .../services/org/apache/camel/component/mongodb    |   18 -
 .../services/org/apache/camel/component/mongodb3   |   18 -
 .../apache/camel/component/mqtt/MQTTComponent.java |    3 +
 .../apache/camel/component/mqtt/MQTTEndpoint.java  |    2 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/mqtt       |   18 -
 .../component/validator/msv/MsvComponent.java      |    2 +
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/msv        |   18 -
 .../component/mustache/MustacheComponent.java      |    2 +
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/mustache   |   18 -
 .../apache/camel/component/mvel/MvelComponent.java |    2 +
 .../apache/camel/language/mvel/MvelLanguage.java   |    5 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/mvel       |   18 -
 .../services/org/apache/camel/language/mvel        |   18 -
 .../component/mybatis/MyBatisBeanComponent.java    |    2 +
 .../component/mybatis/MyBatisBeanEndpoint.java     |    4 +-
 .../camel/component/mybatis/MyBatisComponent.java  |    2 +
 .../camel/component/mybatis/MyBatisEndpoint.java   |    2 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/mybatis    |   18 -
 .../org/apache/camel/component/mybatis-bean        |   18 -
 .../camel/component/nagios/NagiosComponent.java    |    2 +
 .../component/nagios/NagiosConfiguration.java      |    4 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/nagios     |   17 -
 .../apache/camel/component/nats/NatsComponent.java |    2 +
 .../camel/component/nats/NatsConfiguration.java    |    4 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/nats       |   18 -
 .../component/netty4/http/NettyHttpComponent.java  |    2 +
 .../netty4/http/NettyHttpConfiguration.java        |    4 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/TypeConverter        |   18 -
 .../services/org/apache/camel/component/netty-http |   17 -
 .../org/apache/camel/component/netty4-http         |   17 -
 .../camel/component/netty4/NettyComponent.java     |    2 +
 .../netty4/NettyServerBootstrapConfiguration.java  |    6 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/TypeConverter        |   18 -
 .../services/org/apache/camel/component/netty      |   17 -
 .../services/org/apache/camel/component/netty4     |   17 -
 .../apache/camel/component/nsq/NsqComponent.java   |    2 +
 .../camel/component/nsq/NsqConfiguration.java      |    4 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/nsq        |   18 -
 .../apache/camel/language/ognl/OgnlLanguage.java   |    5 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/language/ognl        |   18 -
 .../camel/component/olingo2/Olingo2Component.java  |    2 +
 .../component/olingo2/Olingo2Configuration.java    |    4 +-
 .../services/org/apache/camel/component/olingo2    |   18 -
 .../camel/component/olingo4/Olingo4Component.java  |    2 +
 .../component/olingo4/Olingo4Configuration.java    |    4 +-
 .../services/org/apache/camel/component/olingo4    |   18 -
 .../openstack/cinder/CinderComponent.java          |    2 +
 .../component/openstack/cinder/CinderEndpoint.java |   10 +-
 .../openstack/glance/GlanceComponent.java          |    2 +
 .../component/openstack/glance/GlanceEndpoint.java |    8 +-
 .../openstack/keystone/KeystoneComponent.java      |    2 +
 .../openstack/keystone/KeystoneEndpoint.java       |   10 +-
 .../openstack/neutron/NeutronComponent.java        |    2 +
 .../openstack/neutron/NeutronEndpoint.java         |   10 +-
 .../component/openstack/nova/NovaComponent.java    |    2 +
 .../component/openstack/nova/NovaEndpoint.java     |   10 +-
 .../component/openstack/swift/SwiftComponent.java  |    2 +
 .../component/openstack/swift/SwiftEndpoint.java   |   10 +-
 .../org/apache/camel/component/openstack-cinder    |   18 -
 .../org/apache/camel/component/openstack-glance    |   18 -
 .../org/apache/camel/component/openstack-keystone  |   18 -
 .../org/apache/camel/component/openstack-neutron   |   18 -
 .../org/apache/camel/component/openstack-nova      |   18 -
 .../org/apache/camel/component/openstack-swift     |   18 -
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../optaplanner/OptaPlannerComponent.java          |    2 +
 .../optaplanner/OptaPlannerConfiguration.java      |    2 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../org/apache/camel/component/optaplanner         |   18 -
 .../apache/camel/component/paho/PahoComponent.java |    2 +
 .../apache/camel/component/paho/PahoEndpoint.java  |    2 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/paho       |   18 -
 .../component/paxlogging/PaxLoggingComponent.java  |    2 +
 .../component/paxlogging/PaxLoggingEndpoint.java   |    2 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/paxlogging |   18 -
 .../apache/camel/component/pdf/PdfComponent.java   |    2 +
 .../camel/component/pdf/PdfConfiguration.java      |    2 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/pdf        |   17 -
 .../camel/component/pgevent/PgEventComponent.java  |    2 +
 .../camel/component/pgevent/PgEventEndpoint.java   |    4 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/pgevent    |   18 -
 .../camel/component/printer/PrinterComponent.java  |    2 +
 .../component/printer/PrinterConfiguration.java    |    2 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/lpr        |   17 -
 .../dataformat/protobuf/ProtobufDataFormat.java    |    2 +
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   14 -
 .../services/org/apache/camel/dataformat/protobuf  |   18 -
 .../camel/component/pubnub/PubNubComponent.java    |    2 +
 .../component/pubnub/PubNubConfiguration.java      |    2 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/pubnub     |   18 -
 .../camel/component/quartz2/QuartzComponent.java   |    2 +
 .../camel/component/quartz2/QuartzEndpoint.java    |    2 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/quartz     |   18 -
 .../services/org/apache/camel/component/quartz2    |   18 -
 .../component/quickfixj/QuickfixjComponent.java    |    2 +
 .../component/quickfixj/QuickfixjEndpoint.java     |    2 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/TypeConverter        |   18 -
 .../services/org/apache/camel/component/quickfix   |   18 -
 .../component/rabbitmq/RabbitMQComponent.java      |    2 +
 .../camel/component/rabbitmq/RabbitMQEndpoint.java |    2 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/rabbitmq   |   17 -
 .../reactive/streams/ReactiveStreamsComponent.java |    2 +
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/TypeConverter        |   18 -
 .../org/apache/camel/component/reactive-streams    |   18 -
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../rest/swagger/RestSwaggerComponent.java         |   16 +-
 .../rest/swagger/RestSwaggerEndpoint.java          |    6 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../org/apache/camel/component/rest-swagger        |   17 -
 .../camel/component/restlet/RestletComponent.java  |    1 +
 .../camel/component/restlet/RestletEndpoint.java   |    6 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/TypeConverter        |   18 -
 .../services/org/apache/camel/component/restlet    |   18 -
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../apache/camel/component/rmi/RmiComponent.java   |    2 +
 .../apache/camel/component/rmi/RmiEndpoint.java    |    2 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/rmi        |   18 -
 .../apache/camel/component/rss/RssComponent.java   |    2 +
 .../apache/camel/dataformat/rss/RssDataFormat.java |    2 +
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/TypeConverter        |   18 -
 .../services/org/apache/camel/component/rss        |   18 -
 .../services/org/apache/camel/dataformat/rss       |   18 -
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../component/salesforce/SalesforceComponent.java  |    6 +-
 .../api/dto/approval/ApprovalRequest.java          |   10 +-
 .../services/org/apache/camel/TypeConverter        |   18 -
 .../services/org/apache/camel/component/salesforce |   18 -
 .../sap/netweaver/NetWeaverComponent.java          |    2 +
 .../component/sap/netweaver/NetWeaverEndpoint.java |    6 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../org/apache/camel/component/sap-netweaver       |   18 -
 .../camel/component/xquery/XQueryComponent.java    |    2 +
 .../camel/component/xquery/XQueryEndpoint.java     |    2 +-
 .../camel/language/xquery/XQueryLanguage.java      |    2 +
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/TypeConverter        |   18 -
 .../services/org/apache/camel/component/xquery     |   18 -
 .../services/org/apache/camel/language/xquery      |   18 -
 .../component/schematron/SchematronComponent.java  |    2 +
 .../component/schematron/SchematronEndpoint.java   |    2 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/schematron |   18 -
 .../camel/builder/script/JavaScriptLanguage.java   |    1 +
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/language/javaScript  |   18 -
 .../camel/component/service/ServiceComponent.java  |    2 +
 .../camel/component/service/ServiceEndpoint.java   |    2 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/service    |   17 -
 .../component/servicenow/ServiceNowComponent.java  |    2 +
 .../servicenow/ServiceNowConfiguration.java        |    4 +-
 .../component/servicenow/ServiceNowEndpoint.java   |    2 +-
 .../services/org/apache/camel/component/servicenow |   18 -
 .../camel/component/servlet/ServletComponent.java  |    2 +
 .../camel/component/servlet/ServletEndpoint.java   |    2 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/servlet    |   18 -
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../apache/camel/component/sip/SipComponent.java   |    2 +
 .../camel/component/sip/SipConfiguration.java      |    2 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/sip        |   18 -
 .../services/org/apache/camel/component/sips       |   18 -
 .../apache/camel/component/sjms/SjmsComponent.java |    2 +
 .../apache/camel/component/sjms/SjmsEndpoint.java  |    2 +-
 .../component/sjms/batch/SjmsBatchComponent.java   |    2 +
 .../component/sjms/batch/SjmsBatchEndpoint.java    |    4 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/sjms       |   18 -
 .../services/org/apache/camel/component/sjms-batch |   18 -
 .../camel/component/sjms2/Sjms2Component.java      |    2 +
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/sjms2      |   18 -
 .../camel/component/slack/SlackComponent.java      |    2 +
 .../camel/component/slack/SlackEndpoint.java       |    2 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/slack      |   18 -
 .../apache/camel/component/smpp/SmppComponent.java |    2 +
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/smpp       |   18 -
 .../services/org/apache/camel/component/smpps      |   18 -
 .../component/snakeyaml/SnakeYAMLDataFormat.java   |    2 +
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../org/apache/camel/dataformat/yaml-snakeyaml     |   18 -
 .../apache/camel/component/snmp/SnmpComponent.java |    2 +
 .../apache/camel/component/snmp/SnmpEndpoint.java  |    4 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/TypeConverter        |   18 -
 .../services/org/apache/camel/component/snmp       |   17 -
 .../camel/dataformat/soap/SoapJaxbDataFormat.java  |    2 +
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/dataformat/soapjaxb  |   18 -
 .../apache/camel/component/solr/SolrComponent.java |    2 +
 .../apache/camel/component/solr/SolrEndpoint.java  |    2 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/solr       |   18 -
 .../services/org/apache/camel/component/solrCloud  |   18 -
 .../services/org/apache/camel/component/solrs      |   18 -
 .../camel/component/sparkrest/SparkComponent.java  |    2 +
 .../camel/component/sparkrest/SparkEndpoint.java   |    4 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/TypeConverter        |   18 -
 .../services/org/apache/camel/component/spark-rest |   17 -
 .../camel/component/spark/SparkComponent.java      |    2 +
 .../camel/component/spark/SparkEndpoint.java       |    2 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/spark      |   18 -
 .../camel/component/splunk/SplunkComponent.java    |    2 +
 .../component/splunk/SplunkConfiguration.java      |    2 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/splunk     |   17 -
 .../spring/batch/SpringBatchComponent.java         |    2 +
 .../spring/batch/SpringBatchEndpoint.java          |    2 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../org/apache/camel/component/spring-batch        |   18 -
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../integration/SpringIntegrationComponent.java    |    2 +
 .../integration/SpringIntegrationEndpoint.java     |    2 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/TypeConverter        |   18 -
 .../org/apache/camel/component/spring-integration  |   18 -
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../component/springldap/SpringLdapComponent.java  |    2 +
 .../component/springldap/SpringLdapEndpoint.java   |    4 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../org/apache/camel/component/spring-ldap         |   18 -
 .../camel/component/redis/RedisComponent.java      |    2 +
 .../camel/component/redis/RedisConfiguration.java  |    4 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../org/apache/camel/component/spring-redis        |   18 -
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../spring/ws/SpringWebserviceComponent.java       |    2 +
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/TypeConverter        |   18 -
 .../services/org/apache/camel/component/spring-ws  |   18 -
 .../camel/component/event/EventComponent.java      |    2 +
 .../apache/camel/language/spel/SpelLanguage.java   |    5 +-
 .../camel/spring/ErrorHandlerDefinition.java       |    2 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/TypeConverter        |   18 -
 .../org/apache/camel/component/spring-event        |   18 -
 .../services/org/apache/camel/language/spel        |   18 -
 .../apache/camel/component/sql/SqlComponent.java   |    2 +
 .../apache/camel/component/sql/SqlEndpoint.java    |    2 +-
 .../component/sql/stored/SqlStoredComponent.java   |    2 +
 .../component/sql/stored/SqlStoredEndpoint.java    |    2 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/sql        |   18 -
 .../services/org/apache/camel/component/sql-stored |   18 -
 .../apache/camel/component/ssh/SshComponent.java   |    2 +
 .../camel/component/ssh/SshConfiguration.java      |    2 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/ssh        |   18 -
 .../apache/camel/component/stax/StAXComponent.java |    2 +
 .../apache/camel/component/stax/StAXEndpoint.java  |    2 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/stax       |   17 -
 .../camel/component/stomp/StompComponent.java      |    2 +
 .../camel/component/stomp/StompConfiguration.java  |    2 +-
 .../camel/component/stomp/StompEndpoint.java       |    2 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/stomp      |   18 -
 .../camel/component/stream/StreamComponent.java    |    2 +
 .../camel/component/stream/StreamEndpoint.java     |    2 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/stream     |   18 -
 .../stringtemplate/StringTemplateComponent.java    |    2 +
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../org/apache/camel/component/string-template     |   18 -
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../camel/component/syslog/SyslogDataFormat.java   |    2 +
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/TypeConverter        |   18 -
 .../services/org/apache/camel/dataformat/syslog    |   18 -
 .../dataformat/tagsoup/TidyMarkupDataFormat.java   |    2 +
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../org/apache/camel/dataformat/tidyMarkup         |   18 -
 .../dataformat/tarfile/TarFileDataFormat.java      |    2 +
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/dataformat/tarfile   |   18 -
 .../component/telegram/TelegramComponent.java      |    3 +
 .../component/telegram/TelegramConfiguration.java  |    4 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/TypeConverter        |   18 -
 .../services/org/apache/camel/component/telegram   |   17 -
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../camel/component/thrift/ThriftComponent.java    |    2 +
 .../component/thrift/ThriftConfiguration.java      |    4 +-
 .../camel/dataformat/thrift/ThriftDataFormat.java  |    2 +
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   14 -
 .../services/org/apache/camel/component/thrift     |   18 -
 .../services/org/apache/camel/dataformat/thrift    |   18 -
 .../apache/camel/component/tika/TikaComponent.java |    2 +
 .../camel/component/tika/TikaConfiguration.java    |    2 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/tika       |   17 -
 .../camel/component/twilio/TwilioComponent.java    |    2 +
 .../component/twilio/TwilioConfiguration.java      |    4 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/TypeConverter        |   18 -
 .../services/org/apache/camel/component/twilio     |   18 -
 .../TwitterDirectMessageComponent.java             |    2 +
 .../TwitterDirectMessageEndpoint.java              |    2 +-
 .../twitter/search/TwitterSearchComponent.java     |    2 +
 .../twitter/search/TwitterSearchEndpoint.java      |    2 +-
 .../streaming/TwitterStreamingComponent.java       |    2 +
 .../streaming/TwitterStreamingEndpoint.java        |    2 +-
 .../twitter/timeline/TwitterTimelineComponent.java |    2 +
 .../twitter/timeline/TwitterTimelineEndpoint.java  |    2 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/TypeConverter        |   18 -
 .../apache/camel/component/twitter-directmessage   |   18 -
 .../org/apache/camel/component/twitter-search      |   18 -
 .../org/apache/camel/component/twitter-streaming   |   18 -
 .../org/apache/camel/component/twitter-timeline    |   18 -
 .../component/undertow/UndertowComponent.java      |    2 +
 .../camel/component/undertow/UndertowEndpoint.java |    2 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/undertow   |   18 -
 .../univocity/UniVocityCsvDataFormat.java          |    2 +
 .../univocity/UniVocityFixedWidthDataFormat.java   |    2 +
 .../univocity/UniVocityTsvDataFormat.java          |    2 +
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../org/apache/camel/dataformat/univocity-csv      |   18 -
 .../org/apache/camel/dataformat/univocity-fixed    |   18 -
 .../org/apache/camel/dataformat/univocity-tsv      |   18 -
 .../component/velocity/VelocityComponent.java      |    2 +
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/velocity   |   18 -
 .../camel/component/vertx/VertxComponent.java      |    2 +
 .../camel/component/vertx/VertxEndpoint.java       |    2 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/vertx      |   17 -
 .../camel/component/weather/WeatherComponent.java  |    2 +
 .../component/weather/WeatherConfiguration.java    |    8 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/weather    |   18 -
 .../camel/component/web3j/Web3jComponent.java      |    2 +
 .../camel/component/web3j/Web3jEndpoint.java       |    2 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/web3j      |   18 -
 .../websocket/jsr356/JSR356WebSocketComponent.java |    2 +
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../org/apache/camel/component/websocket-jsr356    |   17 -
 .../component/websocket/WebsocketComponent.java    |    2 +
 .../component/websocket/WebsocketEndpoint.java     |    2 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/websocket  |   17 -
 .../component/wordpress/WordpressComponent.java    |    2 +
 .../wordpress/WordpressComponentConfiguration.java |    2 +-
 .../component/wordpress/WordpressEndpoint.java     |    2 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/wordpress  |   18 -
 .../camel/component/xchange/XChangeComponent.java  |    2 +
 .../component/xchange/XChangeConfiguration.java    |    6 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/xchange    |   18 -
 .../xmlsecurity/XmlSignatureComponent.java         |    2 +
 .../xmlsecurity/XmlSignatureEndpoint.java          |    4 +-
 .../xmlsecurity/XMLSecurityDataFormat.java         |    4 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../org/apache/camel/component/xmlsecurity         |   18 -
 .../services/org/apache/camel/dataformat/secureXML |   18 -
 .../apache/camel/component/xmpp/XmppComponent.java |    2 +
 .../apache/camel/component/xmpp/XmppEndpoint.java  |    4 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/xmpp       |   18 -
 .../camel/dataformat/xstream/JsonDataFormat.java   |    2 +
 .../dataformat/xstream/XStreamDataFormat.java      |    2 +
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../org/apache/camel/dataformat/json-xstream       |   18 -
 .../services/org/apache/camel/dataformat/xstream   |   18 -
 .../camel/component/yammer/YammerComponent.java    |    2 +
 .../component/yammer/YammerConfiguration.java      |    8 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/yammer     |   17 -
 .../camel/component/zendesk/ZendeskComponent.java  |    2 +
 .../component/zendesk/ZendeskConfiguration.java    |    2 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/zendesk    |   18 -
 .../dataformat/zipfile/ZipFileDataFormat.java      |    2 +
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/dataformat/zipfile   |   18 -
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../component/zookeepermaster/MasterComponent.java |    2 +
 .../component/zookeepermaster/MasterEndpoint.java  |    4 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../org/apache/camel/component/zookeeper-master    |   17 -
 .../component/zookeeper/ZooKeeperComponent.java    |    2 +
 .../zookeeper/ZooKeeperConfiguration.java          |    4 +-
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/zookeeper  |   17 -
 components/pom.xml                                 |    1 +
 components/readme.adoc                             | 1044 +++---
 connectors/camel-connector-maven-plugin/pom.xml    |  126 -
 .../camel/maven/connector/ConnectorMojo.java       |  671 ----
 .../connector/SpringBootAutoConfigurationMojo.java |  640 ----
 .../maven/connector/model/ComponentModel.java      |  212 --
 .../connector/model/ComponentOptionModel.java      |   20 -
 .../connector/model/ConnectorOptionModel.java      |   20 -
 .../maven/connector/model/EndpointOptionModel.java |  214 --
 .../camel/maven/connector/model/OptionModel.java   |  146 -
 .../connector/util/CollectionStringBuffer.java     |   58 -
 .../camel/maven/connector/util/FileHelper.java     |  140 -
 .../camel/maven/connector/util/GitHelper.java      |  132 -
 .../maven/connector/util/JSonSchemaHelper.java     |  335 --
 .../camel/maven/connector/util/StringHelper.java   |  219 --
 .../src/main/resources/META-INF/MANIFEST.MF        |    4 -
 .../src/main/resources/license-header-java.txt     |   16 -
 .../src/main/resources/license-header.txt          |   16 -
 connectors/camel-connector/pom.xml                 |   94 -
 .../src/main/docs/connector-component.adoc         |  243 --
 .../component/connector/ConnectorComponent.java    |  149 -
 .../component/connector/ConnectorCustomizer.java   |   27 -
 .../camel/component/connector/ConnectorModel.java  |  192 --
 .../component/connector/ConnectorProducer.java     |   72 -
 .../apache/camel/component/connector/DataType.java |   81 -
 .../connector/DefaultConnectorComponent.java       |  534 ----
 .../connector/DefaultConnectorEndpoint.java        |  174 -
 .../connector/SchedulerTimerConnectorEndpoint.java |   79 -
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 connectors/examples/bar-connector/Readme.md        |    6 -
 connectors/examples/bar-connector/pom.xml          |  187 --
 .../main/java/org/foo/connector/BarComponent.java  |   31 -
 .../services/org/apache/camel/component/bar        |   18 -
 .../src/main/resources/camel-connector-schema.json |   67 -
 .../src/main/resources/camel-connector.json        |   22 -
 connectors/examples/beverage-component/Readme.md   |    5 -
 connectors/examples/beverage-component/pom.xml     |  114 -
 .../main/java/org/beverage/BeverageComponent.java  |   39 -
 .../main/java/org/beverage/BeverageEndpoint.java   |   92 -
 .../main/java/org/beverage/BeverageProducer.java   |   45 -
 .../src/main/java/org/beverage/Beverages.java      |   22 -
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/beverage   |   18 -
 .../src/test/java/org/beverage/BeverageTest.java   |   46 -
 .../src/test/resources/log4j2.properties           |   30 -
 connectors/examples/foo-bar-wine-example/Readme.md |   26 -
 .../img/foo-connector-options-idea.png             |  Bin 45802 -> 0 bytes
 connectors/examples/foo-bar-wine-example/pom.xml   |  126 -
 .../src/main/java/org/foo/FooBarWineRoute.java     |   38 -
 .../src/main/resources/log4j2.properties           |   24 -
 .../src/test/java/org/foo/FooBarWineTest.java      |   62 -
 .../src/test/resources/log4j2.properties           |   28 -
 connectors/examples/foo-connector/Readme.md        |    5 -
 connectors/examples/foo-connector/pom.xml          |  187 --
 .../main/java/org/foo/connector/FooComponent.java  |   37 -
 .../services/org/apache/camel/component/foo        |   18 -
 .../src/main/resources/camel-connector-schema.json |   62 -
 .../src/main/resources/camel-connector.json        |   23 -
 connectors/examples/petstore-connector/Readme.md   |    6 -
 connectors/examples/petstore-connector/pom.xml     |  205 --
 .../java/org/foo/connector/PetStoreComponent.java  |   31 -
 .../PetStoreConnectorAutoConfiguration.java        |  147 -
 .../springboot/PetStoreConnectorConfiguration.java |   38 -
 .../PetStoreConnectorConfigurationCommon.java      |   73 -
 .../services/org/apache/camel/component/petstore   |   18 -
 .../src/main/resources/META-INF/spring.factories   |   19 -
 .../src/main/resources/camel-connector-schema.json |   63 -
 .../src/main/resources/camel-connector.json        |   28 -
 connectors/examples/petstore-example/Readme.md     |   30 -
 connectors/examples/petstore-example/pom.xml       |  129 -
 .../src/main/java/org/foo/PetStoreApplication.java |   34 -
 .../src/main/java/org/foo/PetStoreRoute.java       |   33 -
 .../src/main/resources/application.properties      |   21 -
 connectors/examples/pom.xml                        |   51 -
 .../salesforce-upsert-contact-connector/pom.xml    |  185 --
 .../salesforce-authentication.properties.sample    |   23 -
 .../org/foo/salesforce/upsert/contact/Contact.java | 3317 --------------------
 .../upsert/contact/Contact_CleanStatusEnum.java    |   69 -
 .../upsert/contact/Contact_LeadSourceEnum.java     |   63 -
 .../upsert/contact/Contact_LevelEnum.java          |   59 -
 .../Contact_MailingGeocodeAccuracyEnum.java        |   75 -
 .../contact/Contact_OtherGeocodeAccuracyEnum.java  |   75 -
 .../upsert/contact/Contact_SalutationEnum.java     |   63 -
 .../upsert/contact/QueryRecordsContact.java        |   43 -
 .../contact/SalesforceUpsertContactComponent.java  |   34 -
 ...rceUpsertContactConnectorAutoConfiguration.java |  150 -
 ...esforceUpsertContactConnectorConfiguration.java |   38 -
 ...eUpsertContactConnectorConfigurationCommon.java |  112 -
 .../camel/component/salesforce-upsert-contact      |   18 -
 .../src/main/resources/META-INF/spring.factories   |   19 -
 .../src/main/resources/camel-connector-schema.json |   97 -
 .../src/main/resources/camel-connector.json        |   28 -
 connectors/examples/twitter-find-connector/pom.xml |  188 --
 .../java/org/foo/find/TwitterFindComponent.java    |   34 -
 .../TwitterFindConnectorAutoConfiguration.java     |  149 -
 .../TwitterFindConnectorConfiguration.java         |   38 -
 .../TwitterFindConnectorConfigurationCommon.java   |  126 -
 .../org/apache/camel/component/twitter-find        |   18 -
 .../src/main/resources/META-INF/spring.factories   |   19 -
 .../src/main/resources/camel-connector-schema.json |  123 -
 .../src/main/resources/camel-connector.json        |   38 -
 .../find/springboot/TwitterFindConnectorTest.java  |  113 -
 .../src/test/resources/application.properties      |   36 -
 .../src/test/resources/logback.xml                 |   41 -
 connectors/examples/twitter-find-example/README.md |   18 -
 connectors/examples/twitter-find-example/pom.xml   |  112 -
 .../main/java/org/foo/TwitterFindApplication.java  |   32 -
 .../main/java/org/foo/TwitterFindCustomizer.java   |   45 -
 .../org/foo/TwitterFindCustomizerProperties.java   |   37 -
 .../src/main/java/org/foo/TwitterFindRoute.java    |   29 -
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../src/main/resources/application.properties      |   31 -
 .../examples/twitter-mention-connector/pom.xml     |  194 --
 .../org/foo/mention/TwitterMentionComponent.java   |   34 -
 .../TwitterMentionConnectorAutoConfiguration.java  |  149 -
 .../TwitterMentionConnectorConfiguration.java      |   38 -
 ...TwitterMentionConnectorConfigurationCommon.java |   77 -
 .../org/apache/camel/component/twitter-mention     |   18 -
 .../src/main/resources/META-INF/spring.factories   |   19 -
 .../src/main/resources/camel-connector-schema.json |   75 -
 .../src/main/resources/camel-connector.json        |   22 -
 .../examples/twitter-salesforce-example/README.md  |   22 -
 .../examples/twitter-salesforce-example/pom.xml    |  117 -
 .../main/java/org/foo/MentionAddContractRoute.java |   32 -
 .../main/java/org/foo/TweetToContactMapper.java    |   51 -
 .../java/org/foo/TwitterSalesforceApplication.java |   33 -
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../src/main/resources/application.properties      |   38 -
 connectors/examples/wine-connector/Readme.md       |    6 -
 connectors/examples/wine-connector/pom.xml         |  187 --
 .../main/java/org/foo/connector/WineComponent.java |   31 -
 .../services/org/apache/camel/component/wine       |   18 -
 .../src/main/resources/camel-connector-schema.json |   54 -
 .../src/main/resources/camel-connector.json        |   29 -
 connectors/pom.xml                                 |   45 -
 .../modules/ROOT/pages/grape-component.adoc        |    2 +-
 parent/pom.xml                                     |    1 +
 .../camel/component/dummy/DummyEndpoint.java       |    2 +-
 .../HazelcastComponentAutoConfiguration.java       |  114 -
 .../HazelcastComponentConfiguration.java           |   77 -
 .../HazelcastInstanceCustomizerTest.java           |   91 -
 .../src/test/resources/application.properties      |   18 -
 .../src/test/resources/logback.xml                 |   52 -
 pom.xml                                            |   12 +-
 .../apt/AbstractCamelAnnotationProcessor.java      |   52 +
 .../camel/tools/apt/AnnotationProcessorHelper.java |   58 +-
 .../apache/camel/tools/apt/ConverterProcessor.java |  342 +-
 .../apt/CoreEipAnnotationProcessorHelper.java      |   57 +-
 .../camel/tools/apt/DocumentationHelper.java       |   44 +-
 .../tools/apt/EndpointAnnotationProcessor.java     |   64 +-
 .../camel/tools/apt/ModelAnnotationProcessor.java  |   48 +-
 .../org/apache/camel/tools/apt/SpiProcessor.java   |  117 +
 .../tools/apt/SpringAnnotationProcessorHelper.java |   21 +-
 .../camel/tools/apt/TypeConverterProcessor.java    |   65 +
 .../camel/tools/apt/model/ComponentModel.java      |   10 +-
 .../camel/tools/apt/model/ComponentOption.java     |   20 +-
 .../camel/tools/apt/model/EndpointOption.java      |    6 +-
 .../apache/camel/tools/apt/model/EndpointPath.java |    6 +-
 .../services/javax.annotation.processing.Processor |    2 +
 .../tools/apt/EndpointOptionComparatorTest.java    |    8 +-
 tooling/maven/bom-generator-maven-plugin/pom.xml   |   18 +-
 .../maven/bom/generator/BomGeneratorMojo.java      |   49 +-
 .../maven/camel-api-component-maven-plugin/pom.xml |    8 +-
 .../pom.xml                                        |    8 -
 tooling/maven/camel-maven-plugin/pom.xml           |   26 +-
 .../java/org/apache/camel/maven/EmbeddedMojo.java  |   29 +-
 .../org/apache/camel/maven/RouteCoverageMojo.java  |   26 +-
 .../main/java/org/apache/camel/maven/RunMojo.java  |   68 +-
 .../java/org/apache/camel/maven/ValidateMojo.java  |   56 +-
 tooling/maven/camel-package-maven-plugin/pom.xml   |   13 +-
 .../packaging/PackageArchetypeCatalogMojo.java     |   22 +-
 .../maven/packaging/PackageComponentMojo.java      |   23 +-
 .../maven/packaging/PackageDataFormatMojo.java     |   26 +-
 .../camel/maven/packaging/PackageJaxbMojo.java     |  199 ++
 .../camel/maven/packaging/PackageLanguageMojo.java |   26 +-
 .../camel/maven/packaging/PackageLegalMojo.java    |  152 +
 .../camel/maven/packaging/PackageModelMojo.java    |   26 +-
 .../camel/maven/packaging/PackageOtherMojo.java    |   26 +-
 .../maven/packaging/PrepareCatalogKarafMojo.java   |   37 +-
 .../camel/maven/packaging/PrepareCatalogMojo.java  |   60 +-
 .../packaging/PrepareCatalogSpringBootMojo.java    |   33 +-
 .../maven/packaging/PrepareComponentMojo.java      |   32 +-
 .../camel/maven/packaging/PrepareExampleMojo.java  |   18 +-
 .../camel/maven/packaging/PrepareReadmeMojo.java   |   81 +-
 .../maven/packaging/PrepareUserGuideMojo.java      |   33 +-
 .../packaging/SpringBootAutoConfigurationMojo.java |   25 +-
 .../maven/packaging/SpringBootStarterMojo.java     |   48 +-
 .../camel/maven/packaging/UpdateReadmeMojo.java    |   29 +-
 ...pdateSpringBootAutoConfigurationReadmeMojo.java |   26 +-
 .../maven/packaging/ValidateComponentMojo.java     |   26 +-
 ...-boot-starter-LICENSE.txt => camel-LICENSE.txt} |    0
 ...ng-boot-starter-NOTICE.txt => camel-NOTICE.txt} |    0
 tooling/maven/camel-restdsl-swagger-plugin/pom.xml |    4 -
 tooling/parent/pom.xml                             |   20 +-
 .../main/java/org/apache/camel/spi/Metadata.java   |    4 +-
 .../apache/camel/spi/annotations/Component.java    |   24 +-
 .../apache/camel/spi/annotations/Dataformat.java   |   24 +-
 .../org/apache/camel/spi/annotations/Factory.java  |   24 +-
 .../org/apache/camel/spi/annotations/Language.java |   15 +-
 1735 files changed, 3517 insertions(+), 77346 deletions(-)
 create mode 100644 camel-core/src/main/java/org/apache/camel/component/file/FileProcessStrategy.java
 delete mode 100644 camel-core/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 camel-core/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 camel-core/src/main/resources/META-INF/services/org/apache/camel/component/bean
 delete mode 100644 camel-core/src/main/resources/META-INF/services/org/apache/camel/component/browse
 delete mode 100644 camel-core/src/main/resources/META-INF/services/org/apache/camel/component/class
 delete mode 100644 camel-core/src/main/resources/META-INF/services/org/apache/camel/component/controlbus
 delete mode 100644 camel-core/src/main/resources/META-INF/services/org/apache/camel/component/dataformat
 delete mode 100644 camel-core/src/main/resources/META-INF/services/org/apache/camel/component/dataset
 delete mode 100644 camel-core/src/main/resources/META-INF/services/org/apache/camel/component/direct
 delete mode 100644 camel-core/src/main/resources/META-INF/services/org/apache/camel/component/direct-vm
 delete mode 100644 camel-core/src/main/resources/META-INF/services/org/apache/camel/component/file
 delete mode 100644 camel-core/src/main/resources/META-INF/services/org/apache/camel/component/language
 delete mode 100644 camel-core/src/main/resources/META-INF/services/org/apache/camel/component/log
 delete mode 100644 camel-core/src/main/resources/META-INF/services/org/apache/camel/component/mock
 delete mode 100644 camel-core/src/main/resources/META-INF/services/org/apache/camel/component/properties
 delete mode 100644 camel-core/src/main/resources/META-INF/services/org/apache/camel/component/ref
 delete mode 100644 camel-core/src/main/resources/META-INF/services/org/apache/camel/component/rest
 delete mode 100644 camel-core/src/main/resources/META-INF/services/org/apache/camel/component/rest-api
 delete mode 100644 camel-core/src/main/resources/META-INF/services/org/apache/camel/component/saga
 delete mode 100644 camel-core/src/main/resources/META-INF/services/org/apache/camel/component/scheduler
 delete mode 100644 camel-core/src/main/resources/META-INF/services/org/apache/camel/component/seda
 delete mode 100644 camel-core/src/main/resources/META-INF/services/org/apache/camel/component/stub
 delete mode 100644 camel-core/src/main/resources/META-INF/services/org/apache/camel/component/test
 delete mode 100644 camel-core/src/main/resources/META-INF/services/org/apache/camel/component/timer
 delete mode 100644 camel-core/src/main/resources/META-INF/services/org/apache/camel/component/validator
 delete mode 100644 camel-core/src/main/resources/META-INF/services/org/apache/camel/component/vm
 delete mode 100644 camel-core/src/main/resources/META-INF/services/org/apache/camel/component/xslt
 delete mode 100644 camel-core/src/main/resources/META-INF/services/org/apache/camel/dataformat/gzip
 delete mode 100644 camel-core/src/main/resources/META-INF/services/org/apache/camel/dataformat/serialization
 delete mode 100644 camel-core/src/main/resources/META-INF/services/org/apache/camel/dataformat/string
 delete mode 100644 camel-core/src/main/resources/META-INF/services/org/apache/camel/dataformat/zip
 delete mode 100644 camel-core/src/main/resources/META-INF/services/org/apache/camel/language/bean
 delete mode 100644 camel-core/src/main/resources/META-INF/services/org/apache/camel/language/constant
 delete mode 100644 camel-core/src/main/resources/META-INF/services/org/apache/camel/language/exchangeProperty
 delete mode 100644 camel-core/src/main/resources/META-INF/services/org/apache/camel/language/file
 delete mode 100644 camel-core/src/main/resources/META-INF/services/org/apache/camel/language/header
 delete mode 100644 camel-core/src/main/resources/META-INF/services/org/apache/camel/language/ref
 delete mode 100644 camel-core/src/main/resources/META-INF/services/org/apache/camel/language/simple
 delete mode 100644 camel-core/src/main/resources/META-INF/services/org/apache/camel/language/tokenize
 delete mode 100644 camel-core/src/main/resources/META-INF/services/org/apache/camel/language/xpath
 delete mode 100644 camel-core/src/main/resources/META-INF/services/org/apache/camel/language/xtokenize
 delete mode 100644 camel-core/src/main/resources/org/apache/camel/jaxb.index
 delete mode 100644 camel-core/src/main/resources/org/apache/camel/model/cloud/jaxb.index
 delete mode 100644 camel-core/src/main/resources/org/apache/camel/model/config/jaxb.index
 delete mode 100644 camel-core/src/main/resources/org/apache/camel/model/dataformat/jaxb.index
 delete mode 100644 camel-core/src/main/resources/org/apache/camel/model/jaxb.index
 delete mode 100644 camel-core/src/main/resources/org/apache/camel/model/language/jaxb.index
 delete mode 100644 camel-core/src/main/resources/org/apache/camel/model/loadbalancer/jaxb.index
 delete mode 100644 camel-core/src/main/resources/org/apache/camel/model/rest/jaxb.index
 delete mode 100644 camel-core/src/main/resources/org/apache/camel/model/transformer/jaxb.index
 delete mode 100644 camel-core/src/main/resources/org/apache/camel/model/validator/jaxb.index
 delete mode 100644 camel-core/src/main/resources/org/apache/camel/support/dump/jaxb.index
 delete mode 100644 camel-core/src/main/resources/org/apache/camel/util/concurrent/jaxb.index
 delete mode 100644 components/camel-ahc-ws/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-ahc-ws/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-ahc-ws/src/main/resources/META-INF/services/org/apache/camel/component/ahc-ws
 delete mode 100644 components/camel-ahc-ws/src/main/resources/META-INF/services/org/apache/camel/component/ahc-wss
 delete mode 100644 components/camel-ahc/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-ahc/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-ahc/src/main/resources/META-INF/services/org/apache/camel/component/ahc
 delete mode 100644 components/camel-amqp/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-amqp/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-amqp/src/main/resources/META-INF/services/org/apache/camel/component/amqp
 delete mode 100644 components/camel-apns/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-apns/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-apns/src/main/resources/META-INF/services/org/apache/camel/component/apns
 delete mode 100644 components/camel-as2/camel-as2-component/src/main/resources/META-INF/services/org/apache/camel/component/as2
 delete mode 100644 components/camel-asn1/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-asn1/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-asn1/src/main/resources/META-INF/services/org/apache/camel/dataformat/asn1
 delete mode 100644 components/camel-asterisk/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-asterisk/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-asterisk/src/main/resources/META-INF/services/org/apache/camel/component/asterisk
 delete mode 100644 components/camel-atmos/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-atmos/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-atmos/src/main/resources/META-INF/services/org/apache/camel/component/atmos
 delete mode 100644 components/camel-atmosphere-websocket/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-atmosphere-websocket/src/main/resources/META-INF/NOTICE.txt
 delete mode 100755 components/camel-atmosphere-websocket/src/main/resources/META-INF/services/org/apache/camel/component/atmosphere-websocket
 delete mode 100644 components/camel-atom/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-atom/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-atom/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
 delete mode 100755 components/camel-atom/src/main/resources/META-INF/services/org/apache/camel/component/atom
 delete mode 100644 components/camel-atomix/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-atomix/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-atomix/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
 delete mode 100644 components/camel-atomix/src/main/resources/META-INF/services/org/apache/camel/component/atomix-map
 delete mode 100644 components/camel-atomix/src/main/resources/META-INF/services/org/apache/camel/component/atomix-messaging
 delete mode 100644 components/camel-atomix/src/main/resources/META-INF/services/org/apache/camel/component/atomix-multimap
 delete mode 100644 components/camel-atomix/src/main/resources/META-INF/services/org/apache/camel/component/atomix-queue
 delete mode 100644 components/camel-atomix/src/main/resources/META-INF/services/org/apache/camel/component/atomix-set
 delete mode 100644 components/camel-atomix/src/main/resources/META-INF/services/org/apache/camel/component/atomix-value
 delete mode 100644 components/camel-avro/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-avro/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-avro/src/main/resources/META-INF/services/org/apache/camel/component/avro
 delete mode 100644 components/camel-avro/src/main/resources/META-INF/services/org/apache/camel/dataformat/avro
 delete mode 100644 components/camel-aws-xray/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-aws-xray/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-aws/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-aws/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-aws/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
 delete mode 100644 components/camel-aws/src/main/resources/META-INF/services/org/apache/camel/component/aws-cw
 delete mode 100644 components/camel-aws/src/main/resources/META-INF/services/org/apache/camel/component/aws-ddb
 delete mode 100644 components/camel-aws/src/main/resources/META-INF/services/org/apache/camel/component/aws-ddbstream
 delete mode 100644 components/camel-aws/src/main/resources/META-INF/services/org/apache/camel/component/aws-ec2
 delete mode 100644 components/camel-aws/src/main/resources/META-INF/services/org/apache/camel/component/aws-eks
 delete mode 100644 components/camel-aws/src/main/resources/META-INF/services/org/apache/camel/component/aws-iam
 delete mode 100644 components/camel-aws/src/main/resources/META-INF/services/org/apache/camel/component/aws-kinesis
 delete mode 100644 components/camel-aws/src/main/resources/META-INF/services/org/apache/camel/component/aws-kinesis-firehose
 delete mode 100644 components/camel-aws/src/main/resources/META-INF/services/org/apache/camel/component/aws-kms
 delete mode 100644 components/camel-aws/src/main/resources/META-INF/services/org/apache/camel/component/aws-lambda
 delete mode 100644 components/camel-aws/src/main/resources/META-INF/services/org/apache/camel/component/aws-mq
 delete mode 100644 components/camel-aws/src/main/resources/META-INF/services/org/apache/camel/component/aws-s3
 delete mode 100644 components/camel-aws/src/main/resources/META-INF/services/org/apache/camel/component/aws-sdb
 delete mode 100644 components/camel-aws/src/main/resources/META-INF/services/org/apache/camel/component/aws-ses
 delete mode 100644 components/camel-aws/src/main/resources/META-INF/services/org/apache/camel/component/aws-sns
 delete mode 100644 components/camel-aws/src/main/resources/META-INF/services/org/apache/camel/component/aws-sqs
 delete mode 100644 components/camel-aws/src/main/resources/META-INF/services/org/apache/camel/component/aws-swf
 delete mode 100644 components/camel-azure/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-azure/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-azure/src/main/resources/META-INF/services/org/apache/camel/component/azure-blob
 delete mode 100644 components/camel-azure/src/main/resources/META-INF/services/org/apache/camel/component/azure-queue
 delete mode 100644 components/camel-barcode/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-barcode/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-barcode/src/main/resources/META-INF/services/org/apache/camel/dataformat/barcode
 delete mode 100644 components/camel-base64/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-base64/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-base64/src/main/resources/META-INF/services/org/apache/camel/dataformat/base64
 delete mode 100644 components/camel-bean-validator/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-bean-validator/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-bean-validator/src/main/resources/META-INF/services/org/apache/camel/component/bean-validator
 delete mode 100644 components/camel-beanio/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-beanio/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-beanio/src/main/resources/META-INF/services/org/apache/camel/dataformat/beanio
 delete mode 100644 components/camel-beanstalk/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-beanstalk/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-beanstalk/src/main/resources/META-INF/services/org/apache/camel/component/beanstalk
 delete mode 100644 components/camel-bindy/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-bindy/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-bindy/src/main/resources/META-INF/services/org/apache/camel/dataformat/bindy-csv
 delete mode 100644 components/camel-bindy/src/main/resources/META-INF/services/org/apache/camel/dataformat/bindy-fixed
 delete mode 100644 components/camel-bindy/src/main/resources/META-INF/services/org/apache/camel/dataformat/bindy-kvp
 delete mode 100644 components/camel-blueprint/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-blueprint/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-bonita/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-bonita/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-bonita/src/main/resources/META-INF/services/org/apache/camel/component/bonita
 delete mode 100644 components/camel-boon/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-boon/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-boon/src/main/resources/META-INF/services/org/apache/camel/dataformat/boon
 delete mode 100644 components/camel-box/camel-box-component/src/main/resources/META-INF/services/org/apache/camel/component/box
 delete mode 100644 components/camel-braintree/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-braintree/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-braintree/src/main/resources/META-INF/services/org/apache/camel/component/braintree
 delete mode 100644 components/camel-caffeine/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-caffeine/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-caffeine/src/main/resources/META-INF/services/org/apache/camel/component/caffeine-cache
 delete mode 100644 components/camel-caffeine/src/main/resources/META-INF/services/org/apache/camel/component/caffeine-loadcache
 delete mode 100644 components/camel-cassandraql/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-cassandraql/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-cassandraql/src/main/resources/META-INF/services/org/apache/camel/component/cql
 delete mode 100644 components/camel-chronicle/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-chronicle/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-chronicle/src/main/resources/META-INF/services/org/apache/camel/component/chronicle-engine
 delete mode 100644 components/camel-chunk/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-chunk/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-chunk/src/main/resources/META-INF/services/org/apache/camel/component/chunk
 delete mode 100644 components/camel-cm-sms/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-cm-sms/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-cm-sms/src/main/resources/META-INF/services/org/apache/camel/component/cm-sms
 delete mode 100644 components/camel-cm-sms/src/main/resources/log4j2.properties
 delete mode 100644 components/camel-cmis/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-cmis/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-cmis/src/main/resources/META-INF/services/org/apache/camel/component/cmis
 delete mode 100644 components/camel-coap/src/main/resources/LICENSE.txt
 delete mode 100644 components/camel-coap/src/main/resources/META-INF/services/org/apache/camel/component/coap
 delete mode 100644 components/camel-coap/src/main/resources/NOTICE.txt
 delete mode 100644 components/camel-cometd/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-cometd/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-cometd/src/main/resources/META-INF/services/org/apache/camel/component/cometd
 delete mode 100644 components/camel-cometd/src/main/resources/META-INF/services/org/apache/camel/component/cometds
 delete mode 100644 components/camel-consul/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-consul/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-consul/src/main/resources/META-INF/services/org/apache/camel/component/consul
 delete mode 100755 components/camel-corda/src/main/resources/META-INF/LICENSE.txt
 delete mode 100755 components/camel-corda/src/main/resources/META-INF/NOTICE.txt
 delete mode 100755 components/camel-corda/src/main/resources/META-INF/services/org/apache/camel/component/corda
 delete mode 100644 components/camel-core-osgi/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-core-osgi/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-core-xml/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-core-xml/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-couchbase/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-couchbase/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-couchbase/src/main/resources/META-INF/services/org/apache/camel/component/couchbase
 delete mode 100644 components/camel-couchdb/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-couchdb/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-couchdb/src/main/resources/META-INF/services/org/apache/camel/component/couchdb
 delete mode 100644 components/camel-crypto-cms/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-crypto-cms/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-crypto-cms/src/main/resources/META-INF/services/org/apache/camel/component/crypto-cms
 delete mode 100644 components/camel-crypto/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-crypto/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-crypto/src/main/resources/META-INF/services/org/apache/camel/component/crypto
 delete mode 100644 components/camel-crypto/src/main/resources/META-INF/services/org/apache/camel/dataformat/crypto
 delete mode 100644 components/camel-crypto/src/main/resources/META-INF/services/org/apache/camel/dataformat/pgp
 delete mode 100644 components/camel-csv/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-csv/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-csv/src/main/resources/META-INF/services/org/apache/camel/dataformat/csv
 delete mode 100644 components/camel-cxf-transport/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-cxf-transport/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-cxf/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-cxf/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-cxf/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
 delete mode 100644 components/camel-cxf/src/main/resources/META-INF/services/org/apache/camel/component/cxf
 delete mode 100644 components/camel-cxf/src/main/resources/META-INF/services/org/apache/camel/component/cxfbean
 delete mode 100644 components/camel-cxf/src/main/resources/META-INF/services/org/apache/camel/component/cxfrs
 delete mode 100644 components/camel-digitalocean/src/main/resources/META-INF/services/org/apache/camel/component/digitalocean
 delete mode 100644 components/camel-digitalocean/src/main/resources/log4j2.properties
 delete mode 100644 components/camel-disruptor/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-disruptor/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-disruptor/src/main/resources/META-INF/services/org/apache/camel/component/disruptor
 delete mode 100644 components/camel-disruptor/src/main/resources/META-INF/services/org/apache/camel/component/disruptor-vm
 delete mode 100644 components/camel-dns/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-dns/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-dns/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
 delete mode 100644 components/camel-dns/src/main/resources/META-INF/services/org/apache/camel/component/dns
 delete mode 100644 components/camel-docker/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-docker/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-docker/src/main/resources/META-INF/services/org/apache/camel/component/docker
 delete mode 100644 components/camel-dozer/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-dozer/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-dozer/src/main/resources/META-INF/services/org/apache/camel/component/dozer
 delete mode 100644 components/camel-drill/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-drill/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-drill/src/main/resources/META-INF/services/org/apache/camel/component/drill
 delete mode 100644 components/camel-dropbox/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-dropbox/src/main/resources/META-INF/NOTICE.txt
 delete mode 100755 components/camel-dropbox/src/main/resources/META-INF/services/org/apache/camel/component/dropbox
 delete mode 100644 components/camel-ehcache/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-ehcache/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-ehcache/src/main/resources/META-INF/services/org/apache/camel/component/ehcache
 delete mode 100644 components/camel-ejb/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-ejb/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-ejb/src/main/resources/META-INF/services/org/apache/camel/component/ejb
 delete mode 100644 components/camel-elasticsearch-rest/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
 delete mode 100644 components/camel-elasticsearch-rest/src/main/resources/META-INF/services/org/apache/camel/component/elasticsearch-rest
 delete mode 100644 components/camel-elsql/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-elsql/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-elsql/src/main/resources/META-INF/services/org/apache/camel/component/elsql
 delete mode 100644 components/camel-etcd/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-etcd/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-etcd/src/main/resources/META-INF/services/org/apache/camel/component/etcd
 delete mode 100644 components/camel-eventadmin/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-eventadmin/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-eventadmin/src/main/resources/META-INF/services/org/apache/camel/component/eventadmin
 delete mode 100644 components/camel-exec/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-exec/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-exec/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
 delete mode 100644 components/camel-exec/src/main/resources/META-INF/services/org/apache/camel/component/exec
 delete mode 100644 components/camel-facebook/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-facebook/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-facebook/src/main/resources/META-INF/services/org/apache/camel/component/facebook
 delete mode 100644 components/camel-fastjson/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-fastjson/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-fastjson/src/main/resources/META-INF/services/org/apache/camel/dataformat/json-fastjson
 delete mode 100644 components/camel-fhir/camel-fhir-component/src/main/resources/META-INF/services/org/apache/camel/component/fhir
 delete mode 100644 components/camel-fhir/camel-fhir-component/src/main/resources/META-INF/services/org/apache/camel/dataformat/fhirJson
 delete mode 100644 components/camel-fhir/camel-fhir-component/src/main/resources/META-INF/services/org/apache/camel/dataformat/fhirXml
 delete mode 100644 components/camel-flatpack/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-flatpack/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-flatpack/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
 delete mode 100644 components/camel-flatpack/src/main/resources/META-INF/services/org/apache/camel/component/flatpack
 delete mode 100644 components/camel-flatpack/src/main/resources/META-INF/services/org/apache/camel/dataformat/flatpack
 delete mode 100644 components/camel-flink/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-flink/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-flink/src/main/resources/META-INF/services/org/apache/camel/component/flink
 delete mode 100644 components/camel-fop/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-fop/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-fop/src/main/resources/META-INF/services/org/apache/camel/component/fop
 delete mode 100644 components/camel-freemarker/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-freemarker/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-freemarker/src/main/resources/META-INF/services/org/apache/camel/component/freemarker
 delete mode 100644 components/camel-ftp/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-ftp/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-ftp/src/main/resources/META-INF/services/org/apache/camel/component/ftp
 delete mode 100644 components/camel-ftp/src/main/resources/META-INF/services/org/apache/camel/component/ftps
 delete mode 100644 components/camel-ftp/src/main/resources/META-INF/services/org/apache/camel/component/sftp
 delete mode 100644 components/camel-ganglia/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-ganglia/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-ganglia/src/main/resources/META-INF/services/org/apache/camel/component/ganglia
 delete mode 100644 components/camel-geocoder/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-geocoder/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-geocoder/src/main/resources/META-INF/services/org/apache/camel/component/geocoder
 delete mode 100644 components/camel-git/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-git/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-git/src/main/resources/META-INF/services/org/apache/camel/component/git
 delete mode 100644 components/camel-github/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-github/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-github/src/main/resources/META-INF/services/org/apache/camel/component/github
 delete mode 100644 components/camel-google-bigquery/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-google-bigquery/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-google-bigquery/src/main/resources/META-INF/services/org/apache/camel/component/google-bigquery
 delete mode 100644 components/camel-google-bigquery/src/main/resources/META-INF/services/org/apache/camel/component/google-bigquery-sql
 delete mode 100644 components/camel-google-calendar/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-google-calendar/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-google-calendar/src/main/resources/META-INF/services/org/apache/camel/component/google-calendar
 delete mode 100644 components/camel-google-calendar/src/main/resources/META-INF/services/org/apache/camel/component/google-calendar-stream
 delete mode 100644 components/camel-google-drive/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-google-drive/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-google-drive/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
 delete mode 100644 components/camel-google-drive/src/main/resources/META-INF/services/org/apache/camel/component/google-drive
 delete mode 100644 components/camel-google-mail/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-google-mail/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-google-mail/src/main/resources/META-INF/services/org/apache/camel/component/google-mail
 delete mode 100644 components/camel-google-mail/src/main/resources/META-INF/services/org/apache/camel/component/google-mail-stream
 delete mode 100644 components/camel-google-pubsub/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-google-pubsub/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-google-pubsub/src/main/resources/META-INF/services/org/apache/camel/component/google-pubsub
 delete mode 100644 components/camel-google-sheets/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-google-sheets/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-google-sheets/src/main/resources/META-INF/services/org/apache/camel/component/google-sheets
 delete mode 100644 components/camel-google-sheets/src/main/resources/META-INF/services/org/apache/camel/component/google-sheets-stream
 delete mode 100644 components/camel-gora/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-gora/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-gora/src/main/resources/META-INF/services/org/apache/camel/component/gora
 delete mode 100644 components/camel-grape/src/main/groovy/org/apache/camel/component/grape/FilePatchesRepository.groovy
 delete mode 100644 components/camel-grape/src/main/groovy/org/apache/camel/component/grape/GrapeEndpoint.groovy
 delete mode 100644 components/camel-grape/src/main/groovy/org/apache/camel/component/grape/GrapeProducer.groovy
 delete mode 100644 components/camel-grape/src/main/groovy/org/apache/camel/component/grape/MavenCoordinates.groovy
 create mode 100644 components/camel-grape/src/main/java/org/apache/camel/component/grape/FilePatchesRepository.java
 rename components/camel-grape/src/main/{groovy/org/apache/camel/component/grape/GrapeCommand.groovy => java/org/apache/camel/component/grape/GrapeCommand.java} (92%)
 rename components/camel-grape/src/main/{groovy/org/apache/camel/component/grape/GrapeComponent.groovy => java/org/apache/camel/component/grape/GrapeComponent.java} (52%)
 rename tooling/apt/src/main/java/org/apache/camel/tools/apt/Func1.java => components/camel-grape/src/main/java/org/apache/camel/component/grape/GrapeConstants.java (85%)
 create mode 100644 components/camel-grape/src/main/java/org/apache/camel/component/grape/GrapeEndpoint.java
 create mode 100644 components/camel-grape/src/main/java/org/apache/camel/component/grape/GrapeProducer.java
 create mode 100644 components/camel-grape/src/main/java/org/apache/camel/component/grape/MavenCoordinates.java
 rename components/camel-grape/src/main/{groovy/org/apache/camel/component/grape/PatchesRepository.groovy => java/org/apache/camel/component/grape/PatchesRepository.java} (89%)
 delete mode 100644 components/camel-grape/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-grape/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-grape/src/main/resources/META-INF/services/org/apache/camel/component/grape
 delete mode 100644 components/camel-grape/src/main/resources/org/apache/camel/component/grape/grape.json
 delete mode 100644 components/camel-groovy/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-groovy/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-groovy/src/main/resources/META-INF/services/org/apache/camel/language/groovy
 delete mode 100644 components/camel-grpc/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-grpc/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-grpc/src/main/resources/META-INF/services/org/apache/camel/component/grpc
 delete mode 100644 components/camel-gson/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-gson/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-gson/src/main/resources/META-INF/services/org/apache/camel/dataformat/json-gson
 delete mode 100644 components/camel-guava-eventbus/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-guava-eventbus/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-guava-eventbus/src/main/resources/META-INF/services/org/apache/camel/component/guava-eventbus
 delete mode 100644 components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/HazelcastComponent.java
 delete mode 100644 components/camel-hazelcast/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-hazelcast/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-hazelcast/src/main/resources/META-INF/services/org/apache/camel/component/hazelcast
 delete mode 100644 components/camel-hazelcast/src/main/resources/META-INF/services/org/apache/camel/component/hazelcast-atomicvalue
 delete mode 100644 components/camel-hazelcast/src/main/resources/META-INF/services/org/apache/camel/component/hazelcast-instance
 delete mode 100644 components/camel-hazelcast/src/main/resources/META-INF/services/org/apache/camel/component/hazelcast-list
 delete mode 100644 components/camel-hazelcast/src/main/resources/META-INF/services/org/apache/camel/component/hazelcast-map
 delete mode 100644 components/camel-hazelcast/src/main/resources/META-INF/services/org/apache/camel/component/hazelcast-multimap
 delete mode 100644 components/camel-hazelcast/src/main/resources/META-INF/services/org/apache/camel/component/hazelcast-queue
 delete mode 100644 components/camel-hazelcast/src/main/resources/META-INF/services/org/apache/camel/component/hazelcast-replicatedmap
 delete mode 100644 components/camel-hazelcast/src/main/resources/META-INF/services/org/apache/camel/component/hazelcast-ringbuffer
 delete mode 100644 components/camel-hazelcast/src/main/resources/META-INF/services/org/apache/camel/component/hazelcast-seda
 delete mode 100644 components/camel-hazelcast/src/main/resources/META-INF/services/org/apache/camel/component/hazelcast-set
 delete mode 100644 components/camel-hazelcast/src/main/resources/META-INF/services/org/apache/camel/component/hazelcast-topic
 delete mode 100644 components/camel-hbase/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-hbase/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-hbase/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
 delete mode 100644 components/camel-hbase/src/main/resources/META-INF/services/org/apache/camel/component/hbase
 delete mode 100644 components/camel-hdfs2/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-hdfs2/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-hdfs2/src/main/resources/META-INF/services/org/apache/camel/component/hdfs
 delete mode 100644 components/camel-hdfs2/src/main/resources/META-INF/services/org/apache/camel/component/hdfs2
 delete mode 100644 components/camel-headersmap/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-headersmap/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-hipchat/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-hipchat/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-hipchat/src/main/resources/META-INF/services/org/apache/camel/component/hipchat
 delete mode 100644 components/camel-hl7/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-hl7/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-hl7/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
 delete mode 100644 components/camel-hl7/src/main/resources/META-INF/services/org/apache/camel/dataformat/hl7
 delete mode 100644 components/camel-hl7/src/main/resources/META-INF/services/org/apache/camel/language/terser
 delete mode 100644 components/camel-http-common/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-http-common/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-http-common/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
 delete mode 100644 components/camel-http4/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-http4/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-http4/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
 delete mode 100644 components/camel-http4/src/main/resources/META-INF/services/org/apache/camel/component/http
 delete mode 100644 components/camel-http4/src/main/resources/META-INF/services/org/apache/camel/component/http4
 delete mode 100644 components/camel-http4/src/main/resources/META-INF/services/org/apache/camel/component/https
 delete mode 100644 components/camel-http4/src/main/resources/META-INF/services/org/apache/camel/component/https4
 delete mode 100644 components/camel-hystrix/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-hystrix/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-ical/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-ical/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-ical/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
 delete mode 100644 components/camel-ical/src/main/resources/META-INF/services/org/apache/camel/dataformat/ical
 delete mode 100644 components/camel-iec60870/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-iec60870/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-iec60870/src/main/resources/META-INF/services/org/apache/camel/component/iec60870-client
 delete mode 100644 components/camel-iec60870/src/main/resources/META-INF/services/org/apache/camel/component/iec60870-server
 delete mode 100644 components/camel-ignite/src/main/java/org/apache/camel/component/ignite/IgniteComponent.java
 delete mode 100644 components/camel-ignite/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-ignite/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-ignite/src/main/resources/META-INF/services/org/apache/camel/component/ignite
 delete mode 100644 components/camel-ignite/src/main/resources/META-INF/services/org/apache/camel/component/ignite-cache
 delete mode 100644 components/camel-ignite/src/main/resources/META-INF/services/org/apache/camel/component/ignite-compute
 delete mode 100644 components/camel-ignite/src/main/resources/META-INF/services/org/apache/camel/component/ignite-events
 delete mode 100644 components/camel-ignite/src/main/resources/META-INF/services/org/apache/camel/component/ignite-idgen
 delete mode 100644 components/camel-ignite/src/main/resources/META-INF/services/org/apache/camel/component/ignite-messaging
 delete mode 100644 components/camel-ignite/src/main/resources/META-INF/services/org/apache/camel/component/ignite-queue
 delete mode 100644 components/camel-ignite/src/main/resources/META-INF/services/org/apache/camel/component/ignite-set
 delete mode 100644 components/camel-infinispan/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-infinispan/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-infinispan/src/main/resources/META-INF/services/org/apache/camel/component/infinispan
 delete mode 100644 components/camel-influxdb/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-influxdb/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-influxdb/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
 delete mode 100644 components/camel-influxdb/src/main/resources/META-INF/services/org/apache/camel/component/influxdb
 delete mode 100644 components/camel-iota/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-iota/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-iota/src/main/resources/META-INF/services/org/apache/camel/component/iota
 delete mode 100644 components/camel-ipfs/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-ipfs/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-ipfs/src/main/resources/META-INF/services/org/apache/camel/component/ipfs
 delete mode 100644 components/camel-irc/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-irc/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-irc/src/main/resources/META-INF/services/org/apache/camel/component/irc
 delete mode 100644 components/camel-irc/src/main/resources/META-INF/services/org/apache/camel/component/ircs
 delete mode 100644 components/camel-ironmq/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-ironmq/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-ironmq/src/main/resources/META-INF/services/org/apache/camel/component/ironmq
 delete mode 100644 components/camel-jackson/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-jackson/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-jackson/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
 delete mode 100644 components/camel-jackson/src/main/resources/META-INF/services/org/apache/camel/dataformat/json-jackson
 delete mode 100644 components/camel-jacksonxml/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-jacksonxml/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-jacksonxml/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
 delete mode 100644 components/camel-jacksonxml/src/main/resources/META-INF/services/org/apache/camel/dataformat/jacksonxml
 delete mode 100644 components/camel-jasypt/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-jasypt/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-jaxb/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-jaxb/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-jaxb/src/main/resources/META-INF/services/org/apache/camel/dataformat/jaxb
 delete mode 100644 components/camel-jbpm/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-jbpm/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-jbpm/src/main/resources/META-INF/services/org/apache/camel/component/jbpm
 delete mode 100644 components/camel-jcache/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-jcache/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-jcache/src/main/resources/META-INF/services/org/apache/camel/component/jcache
 delete mode 100644 components/camel-jclouds/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-jclouds/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-jclouds/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
 delete mode 100644 components/camel-jclouds/src/main/resources/META-INF/services/org/apache/camel/component/jclouds
 delete mode 100644 components/camel-jcr/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-jcr/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-jcr/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
 delete mode 100644 components/camel-jcr/src/main/resources/META-INF/services/org/apache/camel/component/jcr
 delete mode 100644 components/camel-jdbc/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-jdbc/src/main/resources/META-INF/NOTICE.txt
 delete mode 100755 components/camel-jdbc/src/main/resources/META-INF/services/org/apache/camel/component/jdbc
 delete mode 100644 components/camel-jetty-common/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-jetty-common/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-jetty-common/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
 delete mode 100644 components/camel-jetty9/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-jetty9/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-jetty9/src/main/resources/META-INF/services/org/apache/camel/component/jetty
 delete mode 100644 components/camel-jgroups-raft/src/main/resources/META-INF/services/org/apache/camel/component/jgroups-raft
 delete mode 100644 components/camel-jgroups/src/main/resources/LICENSE.txt
 copy {tooling/maven/camel-package-maven-plugin => components/camel-jgroups}/src/main/resources/META-INF/LICENSE.txt (100%)
 copy {tooling/maven/camel-package-maven-plugin => components/camel-jgroups}/src/main/resources/META-INF/NOTICE.txt (100%)
 delete mode 100644 components/camel-jgroups/src/main/resources/META-INF/services/org/apache/camel/component/jgroups
 delete mode 100644 components/camel-jgroups/src/main/resources/NOTICE.txt
 delete mode 100644 components/camel-jibx/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-jibx/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-jibx/src/main/resources/META-INF/services/org/apache/camel/dataformat/jibx
 delete mode 100644 components/camel-jing/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-jing/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-jing/src/main/resources/META-INF/services/org/apache/camel/component/jing
 delete mode 100644 components/camel-jms/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-jms/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-jms/src/main/resources/META-INF/services/org/apache/camel/component/jms
 delete mode 100644 components/camel-jmx/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-jmx/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-jmx/src/main/resources/META-INF/services/org/apache/camel/component/jmx
 delete mode 100644 components/camel-johnzon/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-johnzon/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-johnzon/src/main/resources/META-INF/services/org/apache/camel/dataformat/json-johnzon
 delete mode 100644 components/camel-jolt/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-jolt/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-jolt/src/main/resources/META-INF/services/org/apache/camel/component/jolt
 delete mode 100644 components/camel-jpa/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-jpa/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-jpa/src/main/resources/META-INF/services/org/apache/camel/component/jpa
 delete mode 100644 components/camel-jsch/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-jsch/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-jsch/src/main/resources/META-INF/services/org/apache/camel/component/scp
 delete mode 100644 components/camel-json-validator/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-json-validator/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-json-validator/src/main/resources/META-INF/services/org/apache/camel/component/json-validator
 delete mode 100644 components/camel-jsonpath/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-jsonpath/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-jsonpath/src/main/resources/META-INF/services/org/apache/camel/language/jsonpath
 delete mode 100644 components/camel-jt400/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-jt400/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-jt400/src/main/resources/META-INF/services/org/apache/camel/component/jt400
 delete mode 100644 components/camel-kafka/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-kafka/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-kafka/src/main/resources/META-INF/services/org/apache/camel/component/kafka
 delete mode 100644 components/camel-kubernetes/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-kubernetes/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-kubernetes/src/main/resources/META-INF/services/org/apache/camel/component/kubernetes-config-maps
 delete mode 100644 components/camel-kubernetes/src/main/resources/META-INF/services/org/apache/camel/component/kubernetes-deployments
 delete mode 100644 components/camel-kubernetes/src/main/resources/META-INF/services/org/apache/camel/component/kubernetes-hpa
 delete mode 100644 components/camel-kubernetes/src/main/resources/META-INF/services/org/apache/camel/component/kubernetes-job
 delete mode 100644 components/camel-kubernetes/src/main/resources/META-INF/services/org/apache/camel/component/kubernetes-namespaces
 delete mode 100644 components/camel-kubernetes/src/main/resources/META-INF/services/org/apache/camel/component/kubernetes-nodes
 delete mode 100644 components/camel-kubernetes/src/main/resources/META-INF/services/org/apache/camel/component/kubernetes-persistent-volumes
 delete mode 100644 components/camel-kubernetes/src/main/resources/META-INF/services/org/apache/camel/component/kubernetes-persistent-volumes-claims
 delete mode 100644 components/camel-kubernetes/src/main/resources/META-INF/services/org/apache/camel/component/kubernetes-pods
 delete mode 100644 components/camel-kubernetes/src/main/resources/META-INF/services/org/apache/camel/component/kubernetes-replication-controllers
 delete mode 100644 components/camel-kubernetes/src/main/resources/META-INF/services/org/apache/camel/component/kubernetes-resources-quota
 delete mode 100644 components/camel-kubernetes/src/main/resources/META-INF/services/org/apache/camel/component/kubernetes-secrets
 delete mode 100644 components/camel-kubernetes/src/main/resources/META-INF/services/org/apache/camel/component/kubernetes-service-accounts
 delete mode 100644 components/camel-kubernetes/src/main/resources/META-INF/services/org/apache/camel/component/kubernetes-services
 delete mode 100644 components/camel-kubernetes/src/main/resources/META-INF/services/org/apache/camel/component/openshift-build-configs
 delete mode 100644 components/camel-kubernetes/src/main/resources/META-INF/services/org/apache/camel/component/openshift-builds
 delete mode 100644 components/camel-kura/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-kura/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-ldap/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-ldap/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-ldap/src/main/resources/META-INF/services/org/apache/camel/component/ldap
 delete mode 100644 components/camel-ldif/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-ldif/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-ldif/src/main/resources/META-INF/services/org/apache/camel/component/ldif
 delete mode 100644 components/camel-leveldb/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-leveldb/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-linkedin/camel-linkedin-component/src/main/resources/META-INF/services/org/apache/camel/component/linkedin
 delete mode 100644 components/camel-lra/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-lra/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-lucene/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-lucene/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-lucene/src/main/resources/META-INF/services/org/apache/camel/component/lucene
 delete mode 100644 components/camel-lumberjack/src/main/resources/LICENSE.txt
 copy {tooling/maven/camel-package-maven-plugin => components/camel-lumberjack}/src/main/resources/META-INF/LICENSE.txt (100%)
 copy {tooling/maven/camel-package-maven-plugin => components/camel-lumberjack}/src/main/resources/META-INF/NOTICE.txt (100%)
 delete mode 100644 components/camel-lumberjack/src/main/resources/META-INF/services/org/apache/camel/component/lumberjack
 delete mode 100644 components/camel-lumberjack/src/main/resources/NOTICE.txt
 delete mode 100644 components/camel-lzf/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-lzf/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-lzf/src/main/resources/META-INF/services/org/apache/camel/dataformat/lzf
 delete mode 100644 components/camel-mail/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-mail/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-mail/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
 delete mode 100644 components/camel-mail/src/main/resources/META-INF/services/org/apache/camel/component/imap
 delete mode 100644 components/camel-mail/src/main/resources/META-INF/services/org/apache/camel/component/imaps
 delete mode 100644 components/camel-mail/src/main/resources/META-INF/services/org/apache/camel/component/pop3
 delete mode 100644 components/camel-mail/src/main/resources/META-INF/services/org/apache/camel/component/pop3s
 delete mode 100644 components/camel-mail/src/main/resources/META-INF/services/org/apache/camel/component/smtp
 delete mode 100644 components/camel-mail/src/main/resources/META-INF/services/org/apache/camel/component/smtps
 delete mode 100644 components/camel-mail/src/main/resources/META-INF/services/org/apache/camel/dataformat/mime-multipart
 delete mode 100644 components/camel-master/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-master/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-master/src/main/resources/META-INF/services/org/apache/camel/component/master
 delete mode 100644 components/camel-metrics/src/main/resources/META-INF/services/org/apache/camel/component/metrics
 delete mode 100644 components/camel-micrometer/src/main/resources/META-INF/services/org/apache/camel/component/micrometer
 delete mode 100644 components/camel-milo/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-milo/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-milo/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
 delete mode 100644 components/camel-milo/src/main/resources/META-INF/services/org/apache/camel/component/milo-client
 delete mode 100644 components/camel-milo/src/main/resources/META-INF/services/org/apache/camel/component/milo-server
 delete mode 100644 components/camel-mina2/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-mina2/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-mina2/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
 delete mode 100644 components/camel-mina2/src/main/resources/META-INF/services/org/apache/camel/component/mina
 delete mode 100644 components/camel-mina2/src/main/resources/META-INF/services/org/apache/camel/component/mina2
 delete mode 100644 components/camel-mllp/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-mllp/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-mllp/src/main/resources/META-INF/services/org/apache/camel/component/mllp
 delete mode 100644 components/camel-mongodb-gridfs/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-mongodb-gridfs/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-mongodb-gridfs/src/main/resources/META-INF/services/org/apache/camel/component/mongodb-gridfs
 delete mode 100644 components/camel-mongodb3/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-mongodb3/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-mongodb3/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
 delete mode 100644 components/camel-mongodb3/src/main/resources/META-INF/services/org/apache/camel/component/mongodb
 delete mode 100644 components/camel-mongodb3/src/main/resources/META-INF/services/org/apache/camel/component/mongodb3
 delete mode 100644 components/camel-mqtt/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-mqtt/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-mqtt/src/main/resources/META-INF/services/org/apache/camel/component/mqtt
 delete mode 100644 components/camel-msv/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-msv/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-msv/src/main/resources/META-INF/services/org/apache/camel/component/msv
 delete mode 100644 components/camel-mustache/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-mustache/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-mustache/src/main/resources/META-INF/services/org/apache/camel/component/mustache
 delete mode 100644 components/camel-mvel/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-mvel/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-mvel/src/main/resources/META-INF/services/org/apache/camel/component/mvel
 delete mode 100644 components/camel-mvel/src/main/resources/META-INF/services/org/apache/camel/language/mvel
 delete mode 100644 components/camel-mybatis/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-mybatis/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-mybatis/src/main/resources/META-INF/services/org/apache/camel/component/mybatis
 delete mode 100644 components/camel-mybatis/src/main/resources/META-INF/services/org/apache/camel/component/mybatis-bean
 delete mode 100644 components/camel-nagios/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-nagios/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-nagios/src/main/resources/META-INF/services/org/apache/camel/component/nagios
 delete mode 100644 components/camel-nats/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-nats/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-nats/src/main/resources/META-INF/services/org/apache/camel/component/nats
 delete mode 100644 components/camel-netty4-http/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-netty4-http/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-netty4-http/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
 delete mode 100644 components/camel-netty4-http/src/main/resources/META-INF/services/org/apache/camel/component/netty-http
 delete mode 100644 components/camel-netty4-http/src/main/resources/META-INF/services/org/apache/camel/component/netty4-http
 delete mode 100644 components/camel-netty4/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-netty4/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-netty4/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
 delete mode 100644 components/camel-netty4/src/main/resources/META-INF/services/org/apache/camel/component/netty
 delete mode 100644 components/camel-netty4/src/main/resources/META-INF/services/org/apache/camel/component/netty4
 delete mode 100644 components/camel-nsq/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-nsq/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-nsq/src/main/resources/META-INF/services/org/apache/camel/component/nsq
 delete mode 100644 components/camel-ognl/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-ognl/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-ognl/src/main/resources/META-INF/services/org/apache/camel/language/ognl
 delete mode 100644 components/camel-olingo2/camel-olingo2-component/src/main/resources/META-INF/services/org/apache/camel/component/olingo2
 delete mode 100644 components/camel-olingo4/camel-olingo4-component/src/main/resources/META-INF/services/org/apache/camel/component/olingo4
 delete mode 100644 components/camel-openstack/src/main/resources/META-INF/services/org/apache/camel/component/openstack-cinder
 delete mode 100644 components/camel-openstack/src/main/resources/META-INF/services/org/apache/camel/component/openstack-glance
 delete mode 100644 components/camel-openstack/src/main/resources/META-INF/services/org/apache/camel/component/openstack-keystone
 delete mode 100644 components/camel-openstack/src/main/resources/META-INF/services/org/apache/camel/component/openstack-neutron
 delete mode 100644 components/camel-openstack/src/main/resources/META-INF/services/org/apache/camel/component/openstack-nova
 delete mode 100644 components/camel-openstack/src/main/resources/META-INF/services/org/apache/camel/component/openstack-swift
 delete mode 100644 components/camel-opentracing/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-opentracing/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-optaplanner/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-optaplanner/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-optaplanner/src/main/resources/META-INF/services/org/apache/camel/component/optaplanner
 delete mode 100644 components/camel-paho/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-paho/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-paho/src/main/resources/META-INF/services/org/apache/camel/component/paho
 delete mode 100644 components/camel-paxlogging/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-paxlogging/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-paxlogging/src/main/resources/META-INF/services/org/apache/camel/component/paxlogging
 delete mode 100644 components/camel-pdf/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-pdf/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-pdf/src/main/resources/META-INF/services/org/apache/camel/component/pdf
 delete mode 100644 components/camel-pgevent/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-pgevent/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-pgevent/src/main/resources/META-INF/services/org/apache/camel/component/pgevent
 delete mode 100644 components/camel-printer/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-printer/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-printer/src/main/resources/META-INF/services/org/apache/camel/component/lpr
 delete mode 100644 components/camel-protobuf/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-protobuf/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-protobuf/src/main/resources/META-INF/services/org/apache/camel/dataformat/protobuf
 delete mode 100644 components/camel-pubnub/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-pubnub/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-pubnub/src/main/resources/META-INF/services/org/apache/camel/component/pubnub
 delete mode 100644 components/camel-quartz2/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-quartz2/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-quartz2/src/main/resources/META-INF/services/org/apache/camel/component/quartz
 delete mode 100644 components/camel-quartz2/src/main/resources/META-INF/services/org/apache/camel/component/quartz2
 delete mode 100644 components/camel-quickfix/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-quickfix/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-quickfix/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
 delete mode 100644 components/camel-quickfix/src/main/resources/META-INF/services/org/apache/camel/component/quickfix
 delete mode 100644 components/camel-rabbitmq/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-rabbitmq/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-rabbitmq/src/main/resources/META-INF/services/org/apache/camel/component/rabbitmq
 delete mode 100644 components/camel-reactive-streams/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-reactive-streams/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-reactive-streams/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
 delete mode 100644 components/camel-reactive-streams/src/main/resources/META-INF/services/org/apache/camel/component/reactive-streams
 delete mode 100644 components/camel-reactor/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-reactor/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-rest-swagger/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-rest-swagger/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-rest-swagger/src/main/resources/META-INF/services/org/apache/camel/component/rest-swagger
 delete mode 100644 components/camel-restlet/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-restlet/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-restlet/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
 delete mode 100644 components/camel-restlet/src/main/resources/META-INF/services/org/apache/camel/component/restlet
 delete mode 100644 components/camel-ribbon/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-ribbon/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-rmi/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-rmi/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-rmi/src/main/resources/META-INF/services/org/apache/camel/component/rmi
 delete mode 100644 components/camel-rss/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-rss/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-rss/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
 delete mode 100644 components/camel-rss/src/main/resources/META-INF/services/org/apache/camel/component/rss
 delete mode 100644 components/camel-rss/src/main/resources/META-INF/services/org/apache/camel/dataformat/rss
 delete mode 100644 components/camel-rxjava2/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-rxjava2/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-salesforce/camel-salesforce-component/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
 delete mode 100644 components/camel-salesforce/camel-salesforce-component/src/main/resources/META-INF/services/org/apache/camel/component/salesforce
 delete mode 100644 components/camel-sap-netweaver/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-sap-netweaver/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-sap-netweaver/src/main/resources/META-INF/services/org/apache/camel/component/sap-netweaver
 delete mode 100644 components/camel-saxon/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-saxon/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-saxon/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
 delete mode 100644 components/camel-saxon/src/main/resources/META-INF/services/org/apache/camel/component/xquery
 delete mode 100644 components/camel-saxon/src/main/resources/META-INF/services/org/apache/camel/language/xquery
 delete mode 100644 components/camel-schematron/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-schematron/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-schematron/src/main/resources/META-INF/services/org/apache/camel/component/schematron
 delete mode 100644 components/camel-script/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-script/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-script/src/main/resources/META-INF/services/org/apache/camel/language/javaScript
 delete mode 100644 components/camel-service/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-service/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-service/src/main/resources/META-INF/services/org/apache/camel/component/service
 delete mode 100644 components/camel-servicenow/camel-servicenow-component/src/main/resources/META-INF/services/org/apache/camel/component/servicenow
 delete mode 100644 components/camel-servlet/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-servlet/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-servlet/src/main/resources/META-INF/services/org/apache/camel/component/servlet
 delete mode 100644 components/camel-shiro/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-shiro/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-sip/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-sip/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-sip/src/main/resources/META-INF/services/org/apache/camel/component/sip
 delete mode 100644 components/camel-sip/src/main/resources/META-INF/services/org/apache/camel/component/sips
 delete mode 100644 components/camel-sjms/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-sjms/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-sjms/src/main/resources/META-INF/services/org/apache/camel/component/sjms
 delete mode 100644 components/camel-sjms/src/main/resources/META-INF/services/org/apache/camel/component/sjms-batch
 delete mode 100644 components/camel-sjms2/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-sjms2/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-sjms2/src/main/resources/META-INF/services/org/apache/camel/component/sjms2
 delete mode 100644 components/camel-slack/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-slack/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-slack/src/main/resources/META-INF/services/org/apache/camel/component/slack
 delete mode 100644 components/camel-smpp/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-smpp/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-smpp/src/main/resources/META-INF/services/org/apache/camel/component/smpp
 delete mode 100644 components/camel-smpp/src/main/resources/META-INF/services/org/apache/camel/component/smpps
 delete mode 100644 components/camel-snakeyaml/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-snakeyaml/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-snakeyaml/src/main/resources/META-INF/services/org/apache/camel/dataformat/yaml-snakeyaml
 delete mode 100644 components/camel-snmp/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-snmp/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-snmp/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
 delete mode 100644 components/camel-snmp/src/main/resources/META-INF/services/org/apache/camel/component/snmp
 delete mode 100644 components/camel-soap/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-soap/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-soap/src/main/resources/META-INF/services/org/apache/camel/dataformat/soapjaxb
 delete mode 100644 components/camel-solr/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-solr/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-solr/src/main/resources/META-INF/services/org/apache/camel/component/solr
 delete mode 100644 components/camel-solr/src/main/resources/META-INF/services/org/apache/camel/component/solrCloud
 delete mode 100644 components/camel-solr/src/main/resources/META-INF/services/org/apache/camel/component/solrs
 delete mode 100644 components/camel-spark-rest/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-spark-rest/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-spark-rest/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
 delete mode 100644 components/camel-spark-rest/src/main/resources/META-INF/services/org/apache/camel/component/spark-rest
 delete mode 100644 components/camel-spark/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-spark/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-spark/src/main/resources/META-INF/services/org/apache/camel/component/spark
 delete mode 100644 components/camel-splunk/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-splunk/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-splunk/src/main/resources/META-INF/services/org/apache/camel/component/splunk
 delete mode 100644 components/camel-spring-batch/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-spring-batch/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-spring-batch/src/main/resources/META-INF/services/org/apache/camel/component/spring-batch
 delete mode 100644 components/camel-spring-boot/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-spring-boot/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-spring-cloud-consul/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-spring-cloud-consul/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-spring-cloud-netflix/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-spring-cloud-netflix/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-spring-cloud-zookeeper/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-spring-cloud-zookeeper/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-spring-cloud/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-spring-cloud/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-spring-integration/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-spring-integration/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-spring-integration/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
 delete mode 100644 components/camel-spring-integration/src/main/resources/META-INF/services/org/apache/camel/component/spring-integration
 delete mode 100644 components/camel-spring-javaconfig/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-spring-javaconfig/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-spring-ldap/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-spring-ldap/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-spring-ldap/src/main/resources/META-INF/services/org/apache/camel/component/spring-ldap
 delete mode 100644 components/camel-spring-redis/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-spring-redis/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-spring-redis/src/main/resources/META-INF/services/org/apache/camel/component/spring-redis
 delete mode 100644 components/camel-spring-security/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-spring-security/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-spring-ws/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-spring-ws/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-spring-ws/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
 delete mode 100644 components/camel-spring-ws/src/main/resources/META-INF/services/org/apache/camel/component/spring-ws
 delete mode 100644 components/camel-spring/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-spring/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-spring/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
 delete mode 100644 components/camel-spring/src/main/resources/META-INF/services/org/apache/camel/component/spring-event
 delete mode 100644 components/camel-spring/src/main/resources/META-INF/services/org/apache/camel/language/spel
 delete mode 100644 components/camel-sql/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-sql/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-sql/src/main/resources/META-INF/services/org/apache/camel/component/sql
 delete mode 100644 components/camel-sql/src/main/resources/META-INF/services/org/apache/camel/component/sql-stored
 delete mode 100644 components/camel-ssh/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-ssh/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-ssh/src/main/resources/META-INF/services/org/apache/camel/component/ssh
 delete mode 100644 components/camel-stax/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-stax/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-stax/src/main/resources/META-INF/services/org/apache/camel/component/stax
 delete mode 100644 components/camel-stomp/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-stomp/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-stomp/src/main/resources/META-INF/services/org/apache/camel/component/stomp
 delete mode 100644 components/camel-stream/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-stream/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-stream/src/main/resources/META-INF/services/org/apache/camel/component/stream
 delete mode 100644 components/camel-stringtemplate/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-stringtemplate/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-stringtemplate/src/main/resources/META-INF/services/org/apache/camel/component/string-template
 delete mode 100644 components/camel-swagger-java/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-swagger-java/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-syslog/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-syslog/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-syslog/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
 delete mode 100644 components/camel-syslog/src/main/resources/META-INF/services/org/apache/camel/dataformat/syslog
 delete mode 100644 components/camel-tagsoup/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-tagsoup/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-tagsoup/src/main/resources/META-INF/services/org/apache/camel/dataformat/tidyMarkup
 delete mode 100644 components/camel-tarfile/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-tarfile/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-tarfile/src/main/resources/META-INF/services/org/apache/camel/dataformat/tarfile
 delete mode 100644 components/camel-telegram/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-telegram/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-telegram/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
 delete mode 100644 components/camel-telegram/src/main/resources/META-INF/services/org/apache/camel/component/telegram
 delete mode 100644 components/camel-test-blueprint/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-test-blueprint/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-test-cdi/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-test-cdi/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-test-spring/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-test-spring/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-test/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-test/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-testcontainers-spring/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-testcontainers-spring/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-testcontainers/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-testcontainers/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-thrift/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-thrift/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-thrift/src/main/resources/META-INF/services/org/apache/camel/component/thrift
 delete mode 100644 components/camel-thrift/src/main/resources/META-INF/services/org/apache/camel/dataformat/thrift
 delete mode 100644 components/camel-tika/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-tika/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-tika/src/main/resources/META-INF/services/org/apache/camel/component/tika
 delete mode 100644 components/camel-twilio/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-twilio/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-twilio/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
 delete mode 100644 components/camel-twilio/src/main/resources/META-INF/services/org/apache/camel/component/twilio
 delete mode 100644 components/camel-twitter/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-twitter/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-twitter/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
 delete mode 100644 components/camel-twitter/src/main/resources/META-INF/services/org/apache/camel/component/twitter-directmessage
 delete mode 100644 components/camel-twitter/src/main/resources/META-INF/services/org/apache/camel/component/twitter-search
 delete mode 100644 components/camel-twitter/src/main/resources/META-INF/services/org/apache/camel/component/twitter-streaming
 delete mode 100644 components/camel-twitter/src/main/resources/META-INF/services/org/apache/camel/component/twitter-timeline
 delete mode 100644 components/camel-undertow/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-undertow/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-undertow/src/main/resources/META-INF/services/org/apache/camel/component/undertow
 delete mode 100644 components/camel-univocity-parsers/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-univocity-parsers/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-univocity-parsers/src/main/resources/META-INF/services/org/apache/camel/dataformat/univocity-csv
 delete mode 100644 components/camel-univocity-parsers/src/main/resources/META-INF/services/org/apache/camel/dataformat/univocity-fixed
 delete mode 100644 components/camel-univocity-parsers/src/main/resources/META-INF/services/org/apache/camel/dataformat/univocity-tsv
 delete mode 100644 components/camel-velocity/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-velocity/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-velocity/src/main/resources/META-INF/services/org/apache/camel/component/velocity
 delete mode 100644 components/camel-vertx/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-vertx/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-vertx/src/main/resources/META-INF/services/org/apache/camel/component/vertx
 delete mode 100644 components/camel-weather/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-weather/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-weather/src/main/resources/META-INF/services/org/apache/camel/component/weather
 delete mode 100755 components/camel-web3j/src/main/resources/META-INF/LICENSE.txt
 delete mode 100755 components/camel-web3j/src/main/resources/META-INF/NOTICE.txt
 delete mode 100755 components/camel-web3j/src/main/resources/META-INF/services/org/apache/camel/component/web3j
 delete mode 100644 components/camel-websocket-jsr356/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-websocket-jsr356/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-websocket-jsr356/src/main/resources/META-INF/services/org/apache/camel/component/websocket-jsr356
 delete mode 100644 components/camel-websocket/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-websocket/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-websocket/src/main/resources/META-INF/services/org/apache/camel/component/websocket
 delete mode 100644 components/camel-wordpress/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-wordpress/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-wordpress/src/main/resources/META-INF/services/org/apache/camel/component/wordpress
 delete mode 100644 components/camel-xchange/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-xchange/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-xchange/src/main/resources/META-INF/services/org/apache/camel/component/xchange
 delete mode 100644 components/camel-xmlsecurity/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-xmlsecurity/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-xmlsecurity/src/main/resources/META-INF/services/org/apache/camel/component/xmlsecurity
 delete mode 100644 components/camel-xmlsecurity/src/main/resources/META-INF/services/org/apache/camel/dataformat/secureXML
 delete mode 100644 components/camel-xmpp/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-xmpp/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-xmpp/src/main/resources/META-INF/services/org/apache/camel/component/xmpp
 delete mode 100644 components/camel-xstream/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-xstream/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-xstream/src/main/resources/META-INF/services/org/apache/camel/dataformat/json-xstream
 delete mode 100644 components/camel-xstream/src/main/resources/META-INF/services/org/apache/camel/dataformat/xstream
 delete mode 100644 components/camel-yammer/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-yammer/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-yammer/src/main/resources/META-INF/services/org/apache/camel/component/yammer
 delete mode 100644 components/camel-zendesk/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-zendesk/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-zendesk/src/main/resources/META-INF/services/org/apache/camel/component/zendesk
 delete mode 100644 components/camel-zipfile/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-zipfile/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-zipfile/src/main/resources/META-INF/services/org/apache/camel/dataformat/zipfile
 delete mode 100644 components/camel-zipkin/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-zipkin/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-zookeeper-master/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-zookeeper-master/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-zookeeper-master/src/main/resources/META-INF/services/org/apache/camel/component/zookeeper-master
 delete mode 100644 components/camel-zookeeper/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 components/camel-zookeeper/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 components/camel-zookeeper/src/main/resources/META-INF/services/org/apache/camel/component/zookeeper
 delete mode 100644 connectors/camel-connector-maven-plugin/pom.xml
 delete mode 100644 connectors/camel-connector-maven-plugin/src/main/java/org/apache/camel/maven/connector/ConnectorMojo.java
 delete mode 100644 connectors/camel-connector-maven-plugin/src/main/java/org/apache/camel/maven/connector/SpringBootAutoConfigurationMojo.java
 delete mode 100644 connectors/camel-connector-maven-plugin/src/main/java/org/apache/camel/maven/connector/model/ComponentModel.java
 delete mode 100644 connectors/camel-connector-maven-plugin/src/main/java/org/apache/camel/maven/connector/model/ComponentOptionModel.java
 delete mode 100644 connectors/camel-connector-maven-plugin/src/main/java/org/apache/camel/maven/connector/model/ConnectorOptionModel.java
 delete mode 100644 connectors/camel-connector-maven-plugin/src/main/java/org/apache/camel/maven/connector/model/EndpointOptionModel.java
 delete mode 100644 connectors/camel-connector-maven-plugin/src/main/java/org/apache/camel/maven/connector/model/OptionModel.java
 delete mode 100644 connectors/camel-connector-maven-plugin/src/main/java/org/apache/camel/maven/connector/util/CollectionStringBuffer.java
 delete mode 100644 connectors/camel-connector-maven-plugin/src/main/java/org/apache/camel/maven/connector/util/FileHelper.java
 delete mode 100644 connectors/camel-connector-maven-plugin/src/main/java/org/apache/camel/maven/connector/util/GitHelper.java
 delete mode 100644 connectors/camel-connector-maven-plugin/src/main/java/org/apache/camel/maven/connector/util/JSonSchemaHelper.java
 delete mode 100644 connectors/camel-connector-maven-plugin/src/main/java/org/apache/camel/maven/connector/util/StringHelper.java
 delete mode 100644 connectors/camel-connector-maven-plugin/src/main/resources/META-INF/MANIFEST.MF
 delete mode 100644 connectors/camel-connector-maven-plugin/src/main/resources/license-header-java.txt
 delete mode 100644 connectors/camel-connector-maven-plugin/src/main/resources/license-header.txt
 delete mode 100644 connectors/camel-connector/pom.xml
 delete mode 100644 connectors/camel-connector/src/main/docs/connector-component.adoc
 delete mode 100644 connectors/camel-connector/src/main/java/org/apache/camel/component/connector/ConnectorComponent.java
 delete mode 100644 connectors/camel-connector/src/main/java/org/apache/camel/component/connector/ConnectorCustomizer.java
 delete mode 100644 connectors/camel-connector/src/main/java/org/apache/camel/component/connector/ConnectorModel.java
 delete mode 100644 connectors/camel-connector/src/main/java/org/apache/camel/component/connector/ConnectorProducer.java
 delete mode 100644 connectors/camel-connector/src/main/java/org/apache/camel/component/connector/DataType.java
 delete mode 100644 connectors/camel-connector/src/main/java/org/apache/camel/component/connector/DefaultConnectorComponent.java
 delete mode 100644 connectors/camel-connector/src/main/java/org/apache/camel/component/connector/DefaultConnectorEndpoint.java
 delete mode 100644 connectors/camel-connector/src/main/java/org/apache/camel/component/connector/SchedulerTimerConnectorEndpoint.java
 delete mode 100644 connectors/camel-connector/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 connectors/camel-connector/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 connectors/examples/bar-connector/Readme.md
 delete mode 100644 connectors/examples/bar-connector/pom.xml
 delete mode 100644 connectors/examples/bar-connector/src/main/java/org/foo/connector/BarComponent.java
 delete mode 100644 connectors/examples/bar-connector/src/main/resources/META-INF/services/org/apache/camel/component/bar
 delete mode 100644 connectors/examples/bar-connector/src/main/resources/camel-connector-schema.json
 delete mode 100644 connectors/examples/bar-connector/src/main/resources/camel-connector.json
 delete mode 100644 connectors/examples/beverage-component/Readme.md
 delete mode 100644 connectors/examples/beverage-component/pom.xml
 delete mode 100644 connectors/examples/beverage-component/src/main/java/org/beverage/BeverageComponent.java
 delete mode 100644 connectors/examples/beverage-component/src/main/java/org/beverage/BeverageEndpoint.java
 delete mode 100644 connectors/examples/beverage-component/src/main/java/org/beverage/BeverageProducer.java
 delete mode 100644 connectors/examples/beverage-component/src/main/java/org/beverage/Beverages.java
 delete mode 100644 connectors/examples/beverage-component/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 connectors/examples/beverage-component/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 connectors/examples/beverage-component/src/main/resources/META-INF/services/org/apache/camel/component/beverage
 delete mode 100644 connectors/examples/beverage-component/src/test/java/org/beverage/BeverageTest.java
 delete mode 100644 connectors/examples/beverage-component/src/test/resources/log4j2.properties
 delete mode 100644 connectors/examples/foo-bar-wine-example/Readme.md
 delete mode 100644 connectors/examples/foo-bar-wine-example/img/foo-connector-options-idea.png
 delete mode 100644 connectors/examples/foo-bar-wine-example/pom.xml
 delete mode 100644 connectors/examples/foo-bar-wine-example/src/main/java/org/foo/FooBarWineRoute.java
 delete mode 100644 connectors/examples/foo-bar-wine-example/src/main/resources/log4j2.properties
 delete mode 100644 connectors/examples/foo-bar-wine-example/src/test/java/org/foo/FooBarWineTest.java
 delete mode 100644 connectors/examples/foo-bar-wine-example/src/test/resources/log4j2.properties
 delete mode 100644 connectors/examples/foo-connector/Readme.md
 delete mode 100644 connectors/examples/foo-connector/pom.xml
 delete mode 100644 connectors/examples/foo-connector/src/main/java/org/foo/connector/FooComponent.java
 delete mode 100644 connectors/examples/foo-connector/src/main/resources/META-INF/services/org/apache/camel/component/foo
 delete mode 100644 connectors/examples/foo-connector/src/main/resources/camel-connector-schema.json
 delete mode 100644 connectors/examples/foo-connector/src/main/resources/camel-connector.json
 delete mode 100644 connectors/examples/petstore-connector/Readme.md
 delete mode 100644 connectors/examples/petstore-connector/pom.xml
 delete mode 100644 connectors/examples/petstore-connector/src/main/java/org/foo/connector/PetStoreComponent.java
 delete mode 100644 connectors/examples/petstore-connector/src/main/java/org/foo/connector/springboot/PetStoreConnectorAutoConfiguration.java
 delete mode 100644 connectors/examples/petstore-connector/src/main/java/org/foo/connector/springboot/PetStoreConnectorConfiguration.java
 delete mode 100644 connectors/examples/petstore-connector/src/main/java/org/foo/connector/springboot/PetStoreConnectorConfigurationCommon.java
 delete mode 100644 connectors/examples/petstore-connector/src/main/resources/META-INF/services/org/apache/camel/component/petstore
 delete mode 100644 connectors/examples/petstore-connector/src/main/resources/META-INF/spring.factories
 delete mode 100644 connectors/examples/petstore-connector/src/main/resources/camel-connector-schema.json
 delete mode 100644 connectors/examples/petstore-connector/src/main/resources/camel-connector.json
 delete mode 100644 connectors/examples/petstore-example/Readme.md
 delete mode 100644 connectors/examples/petstore-example/pom.xml
 delete mode 100644 connectors/examples/petstore-example/src/main/java/org/foo/PetStoreApplication.java
 delete mode 100644 connectors/examples/petstore-example/src/main/java/org/foo/PetStoreRoute.java
 delete mode 100644 connectors/examples/petstore-example/src/main/resources/application.properties
 delete mode 100644 connectors/examples/pom.xml
 delete mode 100644 connectors/examples/salesforce-upsert-contact-connector/pom.xml
 delete mode 100644 connectors/examples/salesforce-upsert-contact-connector/salesforce-authentication.properties.sample
 delete mode 100644 connectors/examples/salesforce-upsert-contact-connector/src/generated/java/org/foo/salesforce/upsert/contact/Contact.java
 delete mode 100644 connectors/examples/salesforce-upsert-contact-connector/src/generated/java/org/foo/salesforce/upsert/contact/Contact_CleanStatusEnum.java
 delete mode 100644 connectors/examples/salesforce-upsert-contact-connector/src/generated/java/org/foo/salesforce/upsert/contact/Contact_LeadSourceEnum.java
 delete mode 100644 connectors/examples/salesforce-upsert-contact-connector/src/generated/java/org/foo/salesforce/upsert/contact/Contact_LevelEnum.java
 delete mode 100644 connectors/examples/salesforce-upsert-contact-connector/src/generated/java/org/foo/salesforce/upsert/contact/Contact_MailingGeocodeAccuracyEnum.java
 delete mode 100644 connectors/examples/salesforce-upsert-contact-connector/src/generated/java/org/foo/salesforce/upsert/contact/Contact_OtherGeocodeAccuracyEnum.java
 delete mode 100644 connectors/examples/salesforce-upsert-contact-connector/src/generated/java/org/foo/salesforce/upsert/contact/Contact_SalutationEnum.java
 delete mode 100644 connectors/examples/salesforce-upsert-contact-connector/src/generated/java/org/foo/salesforce/upsert/contact/QueryRecordsContact.java
 delete mode 100644 connectors/examples/salesforce-upsert-contact-connector/src/main/java/org/foo/salesforce/contact/SalesforceUpsertContactComponent.java
 delete mode 100644 connectors/examples/salesforce-upsert-contact-connector/src/main/java/org/foo/salesforce/contact/springboot/SalesforceUpsertContactConnectorAutoConfiguration.java
 delete mode 100644 connectors/examples/salesforce-upsert-contact-connector/src/main/java/org/foo/salesforce/contact/springboot/SalesforceUpsertContactConnectorConfiguration.java
 delete mode 100644 connectors/examples/salesforce-upsert-contact-connector/src/main/java/org/foo/salesforce/contact/springboot/SalesforceUpsertContactConnectorConfigurationCommon.java
 delete mode 100644 connectors/examples/salesforce-upsert-contact-connector/src/main/resources/META-INF/services/org/apache/camel/component/salesforce-upsert-contact
 delete mode 100644 connectors/examples/salesforce-upsert-contact-connector/src/main/resources/META-INF/spring.factories
 delete mode 100644 connectors/examples/salesforce-upsert-contact-connector/src/main/resources/camel-connector-schema.json
 delete mode 100644 connectors/examples/salesforce-upsert-contact-connector/src/main/resources/camel-connector.json
 delete mode 100644 connectors/examples/twitter-find-connector/pom.xml
 delete mode 100644 connectors/examples/twitter-find-connector/src/main/java/org/foo/find/TwitterFindComponent.java
 delete mode 100644 connectors/examples/twitter-find-connector/src/main/java/org/foo/find/springboot/TwitterFindConnectorAutoConfiguration.java
 delete mode 100644 connectors/examples/twitter-find-connector/src/main/java/org/foo/find/springboot/TwitterFindConnectorConfiguration.java
 delete mode 100644 connectors/examples/twitter-find-connector/src/main/java/org/foo/find/springboot/TwitterFindConnectorConfigurationCommon.java
 delete mode 100644 connectors/examples/twitter-find-connector/src/main/resources/META-INF/services/org/apache/camel/component/twitter-find
 delete mode 100644 connectors/examples/twitter-find-connector/src/main/resources/META-INF/spring.factories
 delete mode 100644 connectors/examples/twitter-find-connector/src/main/resources/camel-connector-schema.json
 delete mode 100644 connectors/examples/twitter-find-connector/src/main/resources/camel-connector.json
 delete mode 100644 connectors/examples/twitter-find-connector/src/test/java/org/foo/find/springboot/TwitterFindConnectorTest.java
 delete mode 100644 connectors/examples/twitter-find-connector/src/test/resources/application.properties
 delete mode 100644 connectors/examples/twitter-find-connector/src/test/resources/logback.xml
 delete mode 100644 connectors/examples/twitter-find-example/README.md
 delete mode 100644 connectors/examples/twitter-find-example/pom.xml
 delete mode 100644 connectors/examples/twitter-find-example/src/main/java/org/foo/TwitterFindApplication.java
 delete mode 100644 connectors/examples/twitter-find-example/src/main/java/org/foo/TwitterFindCustomizer.java
 delete mode 100644 connectors/examples/twitter-find-example/src/main/java/org/foo/TwitterFindCustomizerProperties.java
 delete mode 100644 connectors/examples/twitter-find-example/src/main/java/org/foo/TwitterFindRoute.java
 delete mode 100644 connectors/examples/twitter-find-example/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 connectors/examples/twitter-find-example/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 connectors/examples/twitter-find-example/src/main/resources/application.properties
 delete mode 100644 connectors/examples/twitter-mention-connector/pom.xml
 delete mode 100644 connectors/examples/twitter-mention-connector/src/main/java/org/foo/mention/TwitterMentionComponent.java
 delete mode 100644 connectors/examples/twitter-mention-connector/src/main/java/org/foo/mention/springboot/TwitterMentionConnectorAutoConfiguration.java
 delete mode 100644 connectors/examples/twitter-mention-connector/src/main/java/org/foo/mention/springboot/TwitterMentionConnectorConfiguration.java
 delete mode 100644 connectors/examples/twitter-mention-connector/src/main/java/org/foo/mention/springboot/TwitterMentionConnectorConfigurationCommon.java
 delete mode 100644 connectors/examples/twitter-mention-connector/src/main/resources/META-INF/services/org/apache/camel/component/twitter-mention
 delete mode 100644 connectors/examples/twitter-mention-connector/src/main/resources/META-INF/spring.factories
 delete mode 100644 connectors/examples/twitter-mention-connector/src/main/resources/camel-connector-schema.json
 delete mode 100644 connectors/examples/twitter-mention-connector/src/main/resources/camel-connector.json
 delete mode 100644 connectors/examples/twitter-salesforce-example/README.md
 delete mode 100644 connectors/examples/twitter-salesforce-example/pom.xml
 delete mode 100644 connectors/examples/twitter-salesforce-example/src/main/java/org/foo/MentionAddContractRoute.java
 delete mode 100644 connectors/examples/twitter-salesforce-example/src/main/java/org/foo/TweetToContactMapper.java
 delete mode 100644 connectors/examples/twitter-salesforce-example/src/main/java/org/foo/TwitterSalesforceApplication.java
 delete mode 100644 connectors/examples/twitter-salesforce-example/src/main/resources/META-INF/LICENSE.txt
 delete mode 100644 connectors/examples/twitter-salesforce-example/src/main/resources/META-INF/NOTICE.txt
 delete mode 100644 connectors/examples/twitter-salesforce-example/src/main/resources/application.properties
 delete mode 100644 connectors/examples/wine-connector/Readme.md
 delete mode 100644 connectors/examples/wine-connector/pom.xml
 delete mode 100644 connectors/examples/wine-connector/src/main/java/org/foo/connector/WineComponent.java
 delete mode 100644 connectors/examples/wine-connector/src/main/resources/META-INF/services/org/apache/camel/component/wine
 delete mode 100644 connectors/examples/wine-connector/src/main/resources/camel-connector-schema.json
 delete mode 100644 connectors/examples/wine-connector/src/main/resources/camel-connector.json
 delete mode 100644 connectors/pom.xml
 delete mode 100644 platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/springboot/HazelcastComponentAutoConfiguration.java
 delete mode 100644 platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/springboot/HazelcastComponentConfiguration.java
 delete mode 100644 platforms/spring-boot/components-starter/camel-hazelcast-starter/src/test/java/org/apache/camel/component/hazelcast/springboot/customizer/HazelcastInstanceCustomizerTest.java
 delete mode 100644 platforms/spring-boot/components-starter/camel-hazelcast-starter/src/test/resources/application.properties
 delete mode 100644 platforms/spring-boot/components-starter/camel-hazelcast-starter/src/test/resources/logback.xml
 create mode 100644 tooling/apt/src/main/java/org/apache/camel/tools/apt/AbstractCamelAnnotationProcessor.java
 create mode 100644 tooling/apt/src/main/java/org/apache/camel/tools/apt/SpiProcessor.java
 create mode 100644 tooling/apt/src/main/java/org/apache/camel/tools/apt/TypeConverterProcessor.java
 create mode 100644 tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageJaxbMojo.java
 create mode 100644 tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageLegalMojo.java
 copy tooling/maven/camel-package-maven-plugin/src/main/resources/{spring-boot-starter-LICENSE.txt => camel-LICENSE.txt} (100%)
 copy tooling/maven/camel-package-maven-plugin/src/main/resources/{spring-boot-starter-NOTICE.txt => camel-NOTICE.txt} (100%)
 copy connectors/examples/foo-bar-wine-example/src/main/java/org/foo/FooBarWineMain.java => tooling/spi-annotations/src/main/java/org/apache/camel/spi/annotations/Component.java (68%)
 copy connectors/examples/foo-bar-wine-example/src/main/java/org/foo/FooBarWineMain.java => tooling/spi-annotations/src/main/java/org/apache/camel/spi/annotations/Dataformat.java (68%)
 rename connectors/examples/foo-bar-wine-example/src/main/java/org/foo/FooBarWineMain.java => tooling/spi-annotations/src/main/java/org/apache/camel/spi/annotations/Factory.java (68%)
 rename components/camel-grape/src/main/groovy/org/apache/camel/component/grape/GrapeConstants.groovy => tooling/spi-annotations/src/main/java/org/apache/camel/spi/annotations/Language.java (68%)


[camel] 05/13: Refactor @Metadata#required to a boolean

Posted by gn...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

gnodet pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit a9565d4f2804d404af430af31b390fd2d71fea59
Author: Guillaume Nodet <gn...@gmail.com>
AuthorDate: Thu Jan 10 17:44:09 2019 +0100

    Refactor @Metadata#required to a boolean
---
 .../src/main/java/__name__Endpoint.java                    |  2 +-
 .../src/main/java/__name__Endpoint.java                    |  2 +-
 .../java/org/apache/camel/component/ResourceEndpoint.java  |  2 +-
 .../java/org/apache/camel/component/bean/BeanEndpoint.java |  2 +-
 .../org/apache/camel/component/browse/BrowseEndpoint.java  |  2 +-
 .../camel/component/controlbus/ControlBusEndpoint.java     |  2 +-
 .../camel/component/dataformat/DataFormatEndpoint.java     |  4 ++--
 .../apache/camel/component/dataset/DataSetEndpoint.java    |  2 +-
 .../org/apache/camel/component/direct/DirectEndpoint.java  |  2 +-
 .../apache/camel/component/directvm/DirectVmEndpoint.java  |  2 +-
 .../java/org/apache/camel/component/file/FileEndpoint.java |  2 +-
 .../apache/camel/component/language/LanguageEndpoint.java  |  4 ++--
 .../java/org/apache/camel/component/log/LogEndpoint.java   |  2 +-
 .../java/org/apache/camel/component/mock/MockEndpoint.java |  2 +-
 .../camel/component/properties/PropertiesEndpoint.java     |  2 +-
 .../java/org/apache/camel/component/ref/RefEndpoint.java   |  2 +-
 .../org/apache/camel/component/rest/RestApiEndpoint.java   |  2 +-
 .../java/org/apache/camel/component/rest/RestEndpoint.java |  4 ++--
 .../java/org/apache/camel/component/saga/SagaEndpoint.java |  2 +-
 .../camel/component/scheduler/SchedulerEndpoint.java       |  2 +-
 .../java/org/apache/camel/component/seda/SedaEndpoint.java |  2 +-
 .../java/org/apache/camel/component/test/TestEndpoint.java |  2 +-
 .../org/apache/camel/component/timer/TimerEndpoint.java    |  2 +-
 .../camel/component/validator/ValidatorEndpoint.java       |  2 +-
 .../java/org/apache/camel/component/xslt/XsltEndpoint.java |  2 +-
 .../main/java/org/apache/camel/model/FromDefinition.java   |  2 +-
 .../java/org/apache/camel/model/InputTypeDefinition.java   |  2 +-
 .../java/org/apache/camel/model/OutputTypeDefinition.java  |  2 +-
 .../java/org/apache/camel/model/ResequenceDefinition.java  |  4 ++--
 .../main/java/org/apache/camel/model/SendDefinition.java   |  2 +-
 .../java/org/apache/camel/model/ToDynamicDefinition.java   |  2 +-
 .../apache/camel/model/cloud/ServiceCallDefinition.java    |  2 +-
 .../apache/camel/model/language/ExpressionDefinition.java  |  2 +-
 .../org/apache/camel/model/rest/RestSecurityApiKey.java    |  2 +-
 .../apache/camel/model/rest/RestSecurityDefinition.java    |  2 +-
 .../org/apache/camel/model/rest/SecurityDefinition.java    |  2 +-
 .../java/org/apache/camel/component/ahc/AhcEndpoint.java   |  2 +-
 .../org/apache/camel/component/apns/ApnsComponent.java     |  2 +-
 .../org/apache/camel/component/as2/AS2Configuration.java   |  4 ++--
 .../apache/camel/component/asterisk/AsteriskEndpoint.java  |  8 ++++----
 .../apache/camel/component/atmos/AtmosConfiguration.java   |  2 +-
 .../component/atmosphere/websocket/WebsocketEndpoint.java  |  2 +-
 .../java/org/apache/camel/component/feed/FeedEndpoint.java |  2 +-
 .../atomix/client/AbstractAtomixClientEndpoint.java        |  2 +-
 .../org/apache/camel/component/avro/AvroConfiguration.java |  6 +++---
 .../org/apache/camel/component/aws/cw/CwConfiguration.java |  2 +-
 .../apache/camel/component/aws/ddb/DdbConfiguration.java   |  2 +-
 .../component/aws/ddbstream/DdbStreamConfiguration.java    |  2 +-
 .../apache/camel/component/aws/ec2/EC2Configuration.java   |  4 ++--
 .../apache/camel/component/aws/eks/EKSConfiguration.java   |  4 ++--
 .../aws/firehose/KinesisFirehoseConfiguration.java         |  2 +-
 .../apache/camel/component/aws/iam/IAMConfiguration.java   |  4 ++--
 .../camel/component/aws/kinesis/KinesisConfiguration.java  |  2 +-
 .../apache/camel/component/aws/kms/KMSConfiguration.java   |  4 ++--
 .../camel/component/aws/lambda/LambdaConfiguration.java    |  4 ++--
 .../org/apache/camel/component/aws/mq/MQConfiguration.java |  4 ++--
 .../java/org/apache/camel/component/aws/s3/S3Endpoint.java |  2 +-
 .../apache/camel/component/aws/sdb/SdbConfiguration.java   |  2 +-
 .../apache/camel/component/aws/ses/SesConfiguration.java   |  2 +-
 .../org/apache/camel/component/aws/sns/SnsEndpoint.java    |  2 +-
 .../org/apache/camel/component/aws/sqs/SqsEndpoint.java    |  2 +-
 .../apache/camel/component/aws/swf/SWFConfiguration.java   |  2 +-
 .../camel/component/azure/blob/BlobServiceEndpoint.java    |  2 +-
 .../camel/component/azure/queue/QueueServiceEndpoint.java  |  2 +-
 .../component/bean/validator/BeanValidatorEndpoint.java    |  2 +-
 .../apache/camel/component/bonita/BonitaConfiguration.java |  2 +-
 .../org/apache/camel/component/box/BoxConfiguration.java   |  4 ++--
 .../camel/component/braintree/BraintreeConfiguration.java  |  2 +-
 .../component/caffeine/cache/CaffeineCacheEndpoint.java    |  2 +-
 .../component/caffeine/load/CaffeineLoadCacheEndpoint.java |  2 +-
 .../chronicle/engine/ChronicleEngineEndpoint.java          |  4 ++--
 .../org/apache/camel/component/cm/CMConfiguration.java     |  2 +-
 .../java/org/apache/camel/component/cm/CMEndpoint.java     |  2 +-
 .../java/org/apache/camel/component/cmis/CMISEndpoint.java |  2 +-
 .../org/apache/camel/component/cometd/CometdEndpoint.java  |  6 +++---
 .../org/apache/camel/component/consul/ConsulEndpoint.java  |  2 +-
 .../apache/camel/component/corda/CordaConfiguration.java   | 12 ++++++------
 .../org/apache/camel/component/corda/CordaEndpoint.java    |  2 +-
 .../camel/component/couchbase/CouchbaseEndpoint.java       |  4 ++--
 .../apache/camel/component/couchdb/CouchDbEndpoint.java    |  6 +++---
 .../camel/component/crypto/cms/CryptoCmsEndpoint.java      |  4 ++--
 .../component/crypto/DigitalSignatureConfiguration.java    |  4 ++--
 .../component/digitalocean/DigitalOceanConfiguration.java  |  2 +-
 .../camel/component/disruptor/DisruptorEndpoint.java       |  2 +-
 .../java/org/apache/camel/component/dns/DnsEndpoint.java   |  2 +-
 .../apache/camel/component/docker/DockerConfiguration.java |  6 +++---
 .../apache/camel/component/dozer/DozerConfiguration.java   |  4 ++--
 .../org/apache/camel/component/drill/DrillEndpoint.java    |  4 ++--
 .../camel/component/dropbox/DropboxConfiguration.java      |  4 ++--
 .../apache/camel/component/ehcache/EhcacheEndpoint.java    |  2 +-
 .../elasticsearch/ElasticsearchConfiguration.java          |  4 ++--
 .../org/apache/camel/component/elsql/ElsqlEndpoint.java    |  2 +-
 .../camel/component/etcd/AbstractEtcdPollingEndpoint.java  |  4 ++--
 .../java/org/apache/camel/component/exec/ExecEndpoint.java |  2 +-
 .../apache/camel/component/facebook/FacebookEndpoint.java  |  2 +-
 .../org/apache/camel/component/fhir/FhirConfiguration.java |  4 ++--
 .../apache/camel/component/flatpack/FlatpackEndpoint.java  |  4 ++--
 .../org/apache/camel/component/flink/FlinkEndpoint.java    |  2 +-
 .../java/org/apache/camel/component/fop/FopEndpoint.java   |  2 +-
 .../component/file/remote/RemoteFileConfiguration.java     |  2 +-
 .../java/org/apache/camel/component/git/GitEndpoint.java   |  2 +-
 .../org/apache/camel/component/github/GitHubEndpoint.java  |  6 +++---
 .../google/bigquery/GoogleBigQueryConfiguration.java       |  6 +++---
 .../bigquery/sql/GoogleBigQuerySQLConfiguration.java       |  4 ++--
 .../google/calendar/GoogleCalendarConfiguration.java       |  4 ++--
 .../component/google/drive/GoogleDriveConfiguration.java   |  4 ++--
 .../component/google/mail/GoogleMailConfiguration.java     |  4 ++--
 .../component/google/pubsub/GooglePubsubEndpoint.java      |  4 ++--
 .../component/google/sheets/GoogleSheetsConfiguration.java |  4 ++--
 .../org/apache/camel/component/gora/GoraConfiguration.java |  2 +-
 .../org/apache/camel/component/grape/GrapeEndpoint.groovy  |  2 +-
 .../org/apache/camel/component/grpc/GrpcConfiguration.java |  6 +++---
 .../component/hazelcast/HazelcastDefaultEndpoint.java      |  2 +-
 .../org/apache/camel/component/hbase/HBaseEndpoint.java    |  2 +-
 .../apache/camel/component/hdfs2/HdfsConfiguration.java    |  4 ++--
 .../camel/component/hipchat/HipchatConfiguration.java      |  4 ++--
 .../org/apache/camel/http/common/HttpCommonEndpoint.java   |  2 +-
 .../camel/component/iec60870/AbstractIecEndpoint.java      |  2 +-
 .../camel/component/ignite/cache/IgniteCacheEndpoint.java  |  2 +-
 .../component/ignite/compute/IgniteComputeEndpoint.java    |  4 ++--
 .../camel/component/ignite/idgen/IgniteIdGenEndpoint.java  |  2 +-
 .../ignite/messaging/IgniteMessagingEndpoint.java          |  2 +-
 .../camel/component/ignite/queue/IgniteQueueEndpoint.java  |  2 +-
 .../camel/component/ignite/set/IgniteSetEndpoint.java      |  2 +-
 .../camel/component/infinispan/InfinispanEndpoint.java     |  2 +-
 .../apache/camel/component/influxdb/InfluxDbEndpoint.java  |  2 +-
 .../java/org/apache/camel/component/iota/IOTAEndpoint.java |  2 +-
 .../org/apache/camel/component/irc/IrcConfiguration.java   |  2 +-
 .../apache/camel/component/ironmq/IronMQConfiguration.java |  2 +-
 .../org/apache/camel/component/jbpm/JBPMConfiguration.java |  4 ++--
 .../org/apache/camel/component/jcache/JCacheEndpoint.java  |  2 +-
 .../camel/component/jclouds/JcloudsConfiguration.java      |  4 ++--
 .../java/org/apache/camel/component/jcr/JcrEndpoint.java   |  2 +-
 .../java/org/apache/camel/component/jdbc/JdbcEndpoint.java |  2 +-
 .../camel/component/jgroups/raft/JGroupsRaftComponent.java |  2 +-
 .../camel/component/jgroups/raft/JGroupsRaftEndpoint.java  |  2 +-
 .../apache/camel/component/jgroups/JGroupsEndpoint.java    |  2 +-
 .../camel/component/validator/jing/JingEndpoint.java       |  2 +-
 .../java/org/apache/camel/component/jms/JmsEndpoint.java   |  2 +-
 .../java/org/apache/camel/component/jmx/JMXEndpoint.java   |  2 +-
 .../java/org/apache/camel/component/jpa/JpaEndpoint.java   |  4 ++--
 .../apache/camel/component/jt400/Jt400Configuration.java   | 10 +++++-----
 .../apache/camel/component/kafka/KafkaConfiguration.java   |  2 +-
 .../component/kubernetes/KubernetesConfiguration.java      |  2 +-
 .../java/org/apache/camel/component/ldap/LdapEndpoint.java |  2 +-
 .../java/org/apache/camel/component/ldif/LdifEndpoint.java |  2 +-
 .../camel/component/linkedin/LinkedInConfiguration.java    |  4 ++--
 .../apache/camel/component/lucene/LuceneConfiguration.java |  4 ++--
 .../camel/component/lumberjack/LumberjackEndpoint.java     |  2 +-
 .../org/apache/camel/component/mail/MailConfiguration.java |  2 +-
 .../org/apache/camel/component/master/MasterEndpoint.java  |  4 ++--
 .../apache/camel/component/metrics/MetricsEndpoint.java    |  4 ++--
 .../camel/component/micrometer/MicrometerEndpoint.java     |  4 ++--
 .../camel/component/milo/client/MiloClientEndpoint.java    |  2 +-
 .../camel/component/milo/server/MiloServerEndpoint.java    |  2 +-
 .../apache/camel/component/mina2/Mina2Configuration.java   |  6 +++---
 .../java/org/apache/camel/component/mllp/MllpEndpoint.java |  4 ++--
 .../camel/component/mongodb/gridfs/GridFsEndpoint.java     |  4 ++--
 .../apache/camel/component/mongodb3/MongoDbEndpoint.java   |  2 +-
 .../java/org/apache/camel/component/mqtt/MQTTEndpoint.java |  2 +-
 .../camel/component/mybatis/MyBatisBeanEndpoint.java       |  4 ++--
 .../apache/camel/component/mybatis/MyBatisEndpoint.java    |  2 +-
 .../apache/camel/component/nagios/NagiosConfiguration.java |  4 ++--
 .../org/apache/camel/component/nats/NatsConfiguration.java |  4 ++--
 .../component/netty4/http/NettyHttpConfiguration.java      |  4 ++--
 .../netty4/NettyServerBootstrapConfiguration.java          |  6 +++---
 .../org/apache/camel/component/nsq/NsqConfiguration.java   |  4 ++--
 .../camel/component/olingo2/Olingo2Configuration.java      |  4 ++--
 .../camel/component/olingo4/Olingo4Configuration.java      |  4 ++--
 .../camel/component/openstack/cinder/CinderEndpoint.java   | 10 +++++-----
 .../camel/component/openstack/glance/GlanceEndpoint.java   |  8 ++++----
 .../component/openstack/keystone/KeystoneEndpoint.java     | 10 +++++-----
 .../camel/component/openstack/neutron/NeutronEndpoint.java | 10 +++++-----
 .../camel/component/openstack/nova/NovaEndpoint.java       | 10 +++++-----
 .../camel/component/openstack/swift/SwiftEndpoint.java     | 10 +++++-----
 .../component/optaplanner/OptaPlannerConfiguration.java    |  2 +-
 .../java/org/apache/camel/component/paho/PahoEndpoint.java |  2 +-
 .../camel/component/paxlogging/PaxLoggingEndpoint.java     |  2 +-
 .../org/apache/camel/component/pdf/PdfConfiguration.java   |  2 +-
 .../apache/camel/component/pgevent/PgEventEndpoint.java    |  4 ++--
 .../camel/component/printer/PrinterConfiguration.java      |  2 +-
 .../apache/camel/component/pubnub/PubNubConfiguration.java |  2 +-
 .../org/apache/camel/component/quartz2/QuartzEndpoint.java |  2 +-
 .../camel/component/quickfixj/QuickfixjEndpoint.java       |  2 +-
 .../apache/camel/component/rabbitmq/RabbitMQEndpoint.java  |  2 +-
 .../camel/component/rest/swagger/RestSwaggerComponent.java | 14 +++++++-------
 .../camel/component/rest/swagger/RestSwaggerEndpoint.java  |  6 +++---
 .../apache/camel/component/restlet/RestletEndpoint.java    |  6 +++---
 .../java/org/apache/camel/component/rmi/RmiEndpoint.java   |  2 +-
 .../camel/component/salesforce/SalesforceComponent.java    |  4 ++--
 .../salesforce/api/dto/approval/ApprovalRequest.java       | 10 +++++-----
 .../camel/component/sap/netweaver/NetWeaverEndpoint.java   |  6 +++---
 .../org/apache/camel/component/xquery/XQueryEndpoint.java  |  2 +-
 .../camel/component/schematron/SchematronEndpoint.java     |  2 +-
 .../apache/camel/component/service/ServiceEndpoint.java    |  2 +-
 .../component/servicenow/ServiceNowConfiguration.java      |  4 ++--
 .../camel/component/servicenow/ServiceNowEndpoint.java     |  2 +-
 .../apache/camel/component/servlet/ServletEndpoint.java    |  2 +-
 .../org/apache/camel/component/sip/SipConfiguration.java   |  2 +-
 .../java/org/apache/camel/component/sjms/SjmsEndpoint.java |  2 +-
 .../camel/component/sjms/batch/SjmsBatchEndpoint.java      |  4 ++--
 .../org/apache/camel/component/slack/SlackEndpoint.java    |  2 +-
 .../java/org/apache/camel/component/snmp/SnmpEndpoint.java |  4 ++--
 .../java/org/apache/camel/component/solr/SolrEndpoint.java |  2 +-
 .../apache/camel/component/sparkrest/SparkEndpoint.java    |  4 ++--
 .../org/apache/camel/component/spark/SparkEndpoint.java    |  2 +-
 .../apache/camel/component/splunk/SplunkConfiguration.java |  2 +-
 .../camel/component/spring/batch/SpringBatchEndpoint.java  |  2 +-
 .../spring/integration/SpringIntegrationEndpoint.java      |  2 +-
 .../camel/component/springldap/SpringLdapEndpoint.java     |  4 ++--
 .../apache/camel/component/redis/RedisConfiguration.java   |  4 ++--
 .../org/apache/camel/spring/ErrorHandlerDefinition.java    |  2 +-
 .../java/org/apache/camel/component/sql/SqlEndpoint.java   |  2 +-
 .../camel/component/sql/stored/SqlStoredEndpoint.java      |  2 +-
 .../org/apache/camel/component/ssh/SshConfiguration.java   |  2 +-
 .../java/org/apache/camel/component/stax/StAXEndpoint.java |  2 +-
 .../apache/camel/component/stomp/StompConfiguration.java   |  2 +-
 .../org/apache/camel/component/stomp/StompEndpoint.java    |  2 +-
 .../org/apache/camel/component/stream/StreamEndpoint.java  |  2 +-
 .../camel/component/telegram/TelegramConfiguration.java    |  4 ++--
 .../apache/camel/component/thrift/ThriftConfiguration.java |  4 ++--
 .../org/apache/camel/component/tika/TikaConfiguration.java |  2 +-
 .../apache/camel/component/twilio/TwilioConfiguration.java |  4 ++--
 .../directmessage/TwitterDirectMessageEndpoint.java        |  2 +-
 .../component/twitter/search/TwitterSearchEndpoint.java    |  2 +-
 .../twitter/streaming/TwitterStreamingEndpoint.java        |  2 +-
 .../twitter/timeline/TwitterTimelineEndpoint.java          |  2 +-
 .../apache/camel/component/undertow/UndertowEndpoint.java  |  2 +-
 .../org/apache/camel/component/vertx/VertxEndpoint.java    |  2 +-
 .../camel/component/weather/WeatherConfiguration.java      |  8 ++++----
 .../org/apache/camel/component/web3j/Web3jEndpoint.java    |  2 +-
 .../camel/component/websocket/WebsocketEndpoint.java       |  2 +-
 .../wordpress/WordpressComponentConfiguration.java         |  2 +-
 .../camel/component/wordpress/WordpressEndpoint.java       |  2 +-
 .../camel/component/xchange/XChangeConfiguration.java      |  6 +++---
 .../camel/component/xmlsecurity/XmlSignatureEndpoint.java  |  4 ++--
 .../java/org/apache/camel/component/xmpp/XmppEndpoint.java |  4 ++--
 .../apache/camel/component/yammer/YammerConfiguration.java |  8 ++++----
 .../camel/component/zendesk/ZendeskConfiguration.java      |  2 +-
 .../camel/component/zookeepermaster/MasterEndpoint.java    |  4 ++--
 .../camel/component/zookeeper/ZooKeeperConfiguration.java  |  4 ++--
 .../org/apache/camel/component/dummy/DummyEndpoint.java    |  2 +-
 .../camel/tools/apt/CoreEipAnnotationProcessorHelper.java  |  4 +---
 .../camel/tools/apt/EndpointAnnotationProcessor.java       | 12 ++++++------
 .../camel/tools/apt/SpringAnnotationProcessorHelper.java   |  4 +---
 .../org/apache/camel/tools/apt/model/ComponentOption.java  |  6 +++---
 .../org/apache/camel/tools/apt/model/EndpointOption.java   |  6 +++---
 .../org/apache/camel/tools/apt/model/EndpointPath.java     |  6 +++---
 .../camel/tools/apt/EndpointOptionComparatorTest.java      |  8 ++++----
 .../src/main/java/org/apache/camel/spi/Metadata.java       |  2 +-
 250 files changed, 405 insertions(+), 409 deletions(-)

diff --git a/archetypes/camel-archetype-api-component/src/main/resources/archetype-resources/__artifactId__-component/src/main/java/__name__Endpoint.java b/archetypes/camel-archetype-api-component/src/main/resources/archetype-resources/__artifactId__-component/src/main/java/__name__Endpoint.java
index 9ae2c6b..3d92277 100644
--- a/archetypes/camel-archetype-api-component/src/main/resources/archetype-resources/__artifactId__-component/src/main/java/__name__Endpoint.java
+++ b/archetypes/camel-archetype-api-component/src/main/resources/archetype-resources/__artifactId__-component/src/main/java/__name__Endpoint.java
@@ -42,7 +42,7 @@ import ${package}.internal.${name}PropertiesHelper;
              consumerClass = ${name}Consumer.class, label = "custom")
 public class ${name}Endpoint extends AbstractApiEndpoint<${name}ApiName, ${name}Configuration> {
 
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private String name;
 
     // TODO create and manage API proxy
diff --git a/archetypes/camel-archetype-component/src/main/resources/archetype-resources/src/main/java/__name__Endpoint.java b/archetypes/camel-archetype-component/src/main/resources/archetype-resources/src/main/java/__name__Endpoint.java
index be582ad..e4d34b1 100644
--- a/archetypes/camel-archetype-component/src/main/resources/archetype-resources/src/main/java/__name__Endpoint.java
+++ b/archetypes/camel-archetype-component/src/main/resources/archetype-resources/src/main/java/__name__Endpoint.java
@@ -31,7 +31,7 @@ import org.apache.camel.spi.UriPath;
 @UriEndpoint(firstVersion = "${version}", scheme = "${scheme}", title = "${name}", syntax="${scheme}:name", 
              consumerClass = ${name}Consumer.class, label = "custom")
 public class ${name}Endpoint extends DefaultEndpoint {
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private String name;
     @UriParam(defaultValue = "10")
     private int option = 10;
diff --git a/camel-core/src/main/java/org/apache/camel/component/ResourceEndpoint.java b/camel-core/src/main/java/org/apache/camel/component/ResourceEndpoint.java
index 3fcda92..ea61fe1 100644
--- a/camel-core/src/main/java/org/apache/camel/component/ResourceEndpoint.java
+++ b/camel-core/src/main/java/org/apache/camel/component/ResourceEndpoint.java
@@ -50,7 +50,7 @@ public abstract class ResourceEndpoint extends ProcessorEndpoint implements Mana
         + " ref will lookup the resource in the registry."
         + " bean will call a method on a bean to be used as the resource."
         + " For bean you can specify the method name after dot, eg bean:myBean.myMethod.")
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String resourceUri;
     @UriParam(defaultValue = "false", description = "Sets whether to use resource content cache or not")
     private boolean contentCache;
diff --git a/camel-core/src/main/java/org/apache/camel/component/bean/BeanEndpoint.java b/camel-core/src/main/java/org/apache/camel/component/bean/BeanEndpoint.java
index 7ff9e91..049195a 100644
--- a/camel-core/src/main/java/org/apache/camel/component/bean/BeanEndpoint.java
+++ b/camel-core/src/main/java/org/apache/camel/component/bean/BeanEndpoint.java
@@ -36,7 +36,7 @@ import org.apache.camel.support.DefaultEndpoint;
 public class BeanEndpoint extends DefaultEndpoint {
     private transient BeanHolder beanHolder;
     private transient BeanProcessor processor;
-    @UriPath(description = "Sets the name of the bean to invoke") @Metadata(required = "true")
+    @UriPath(description = "Sets the name of the bean to invoke") @Metadata(required = true)
     private String beanName;
     @UriParam(description = "Sets the name of the method to invoke on the bean")
     private String method;
diff --git a/camel-core/src/main/java/org/apache/camel/component/browse/BrowseEndpoint.java b/camel-core/src/main/java/org/apache/camel/component/browse/BrowseEndpoint.java
index a20c6c7..d144aa2 100644
--- a/camel-core/src/main/java/org/apache/camel/component/browse/BrowseEndpoint.java
+++ b/camel-core/src/main/java/org/apache/camel/component/browse/BrowseEndpoint.java
@@ -42,7 +42,7 @@ import org.apache.camel.support.DefaultProducer;
 @UriEndpoint(firstVersion = "1.3.0", scheme = "browse", title = "Browse", syntax = "browse:name", label = "core,monitoring")
 public class BrowseEndpoint extends DefaultEndpoint implements BrowsableEndpoint {
 
-    @UriPath(description = "A name which can be any string to uniquely identify the endpoint") @Metadata(required = "true")
+    @UriPath(description = "A name which can be any string to uniquely identify the endpoint") @Metadata(required = true)
     private String name;
 
     private List<Exchange> exchanges;
diff --git a/camel-core/src/main/java/org/apache/camel/component/controlbus/ControlBusEndpoint.java b/camel-core/src/main/java/org/apache/camel/component/controlbus/ControlBusEndpoint.java
index c183f6b..0fa49eb 100644
--- a/camel-core/src/main/java/org/apache/camel/component/controlbus/ControlBusEndpoint.java
+++ b/camel-core/src/main/java/org/apache/camel/component/controlbus/ControlBusEndpoint.java
@@ -38,7 +38,7 @@ import org.apache.camel.support.DefaultEndpoint;
 @UriEndpoint(firstVersion = "2.11.0", scheme = "controlbus", title = "Control Bus", syntax = "controlbus:command:language", producerOnly = true, label = "core,monitoring")
 public class ControlBusEndpoint extends DefaultEndpoint {
 
-    @UriPath(description = "Command can be either route or language", enums = "route,language") @Metadata(required = "true")
+    @UriPath(description = "Command can be either route or language", enums = "route,language") @Metadata(required = true)
     private String command;
     @UriPath(enums = "bean,constant,el,exchangeProperty,file,groovy,header,jsonpath,mvel,ognl,ref,simple,spel,sql,terser,tokenize,xpath,xquery,xtokenize")
     private Language language;
diff --git a/camel-core/src/main/java/org/apache/camel/component/dataformat/DataFormatEndpoint.java b/camel-core/src/main/java/org/apache/camel/component/dataformat/DataFormatEndpoint.java
index 12f673b..d3409cf 100644
--- a/camel-core/src/main/java/org/apache/camel/component/dataformat/DataFormatEndpoint.java
+++ b/camel-core/src/main/java/org/apache/camel/component/dataformat/DataFormatEndpoint.java
@@ -43,9 +43,9 @@ public class DataFormatEndpoint extends DefaultEndpoint {
     private AsyncProcessor processor;
     private DataFormat dataFormat;
 
-    @UriPath(description = "Name of data format") @Metadata(required = "true")
+    @UriPath(description = "Name of data format") @Metadata(required = true)
     private String name;
-    @UriPath(enums = "marshal,unmarshal") @Metadata(required = "true")
+    @UriPath(enums = "marshal,unmarshal") @Metadata(required = true)
     private String operation;
 
     public DataFormatEndpoint() {
diff --git a/camel-core/src/main/java/org/apache/camel/component/dataset/DataSetEndpoint.java b/camel-core/src/main/java/org/apache/camel/component/dataset/DataSetEndpoint.java
index c82c319..5ab31ed 100644
--- a/camel-core/src/main/java/org/apache/camel/component/dataset/DataSetEndpoint.java
+++ b/camel-core/src/main/java/org/apache/camel/component/dataset/DataSetEndpoint.java
@@ -49,7 +49,7 @@ import org.slf4j.LoggerFactory;
 public class DataSetEndpoint extends MockEndpoint implements Service {
     private final transient Logger log;
     private final AtomicInteger receivedCounter = new AtomicInteger();
-    @UriPath(name = "name", description = "Name of DataSet to lookup in the registry") @Metadata(required = "true")
+    @UriPath(name = "name", description = "Name of DataSet to lookup in the registry") @Metadata(required = true)
     private volatile DataSet dataSet;
     @UriParam(label = "consumer", defaultValue = "0")
     private int minRate;
diff --git a/camel-core/src/main/java/org/apache/camel/component/direct/DirectEndpoint.java b/camel-core/src/main/java/org/apache/camel/component/direct/DirectEndpoint.java
index a52851a..eab335d 100644
--- a/camel-core/src/main/java/org/apache/camel/component/direct/DirectEndpoint.java
+++ b/camel-core/src/main/java/org/apache/camel/component/direct/DirectEndpoint.java
@@ -44,7 +44,7 @@ public class DirectEndpoint extends DefaultEndpoint {
     private final Map<String, DirectConsumer> consumers;
     private final List<DirectProducer> producers = new ArrayList<>();
 
-    @UriPath(description = "Name of direct endpoint") @Metadata(required = "true")
+    @UriPath(description = "Name of direct endpoint") @Metadata(required = true)
     private String name;
 
     @UriParam(label = "producer", defaultValue = "true")
diff --git a/camel-core/src/main/java/org/apache/camel/component/directvm/DirectVmEndpoint.java b/camel-core/src/main/java/org/apache/camel/component/directvm/DirectVmEndpoint.java
index a2226d9..dc235ef 100644
--- a/camel-core/src/main/java/org/apache/camel/component/directvm/DirectVmEndpoint.java
+++ b/camel-core/src/main/java/org/apache/camel/component/directvm/DirectVmEndpoint.java
@@ -36,7 +36,7 @@ import org.apache.camel.support.DefaultEndpoint;
 @UriEndpoint(firstVersion = "2.10.0", scheme = "direct-vm", title = "Direct VM", syntax = "direct-vm:name", consumerClass = DirectConsumer.class, label = "core,endpoint")
 public class DirectVmEndpoint extends DefaultEndpoint implements AsyncEndpoint {
 
-    @UriPath(description = "Name of direct-vm endpoint") @Metadata(required = "true")
+    @UriPath(description = "Name of direct-vm endpoint") @Metadata(required = true)
     private String name;
 
     @UriParam(label = "producer", defaultValue = "true")
diff --git a/camel-core/src/main/java/org/apache/camel/component/file/FileEndpoint.java b/camel-core/src/main/java/org/apache/camel/component/file/FileEndpoint.java
index b866cba..b9f6000 100644
--- a/camel-core/src/main/java/org/apache/camel/component/file/FileEndpoint.java
+++ b/camel-core/src/main/java/org/apache/camel/component/file/FileEndpoint.java
@@ -50,7 +50,7 @@ public class FileEndpoint extends GenericFileEndpoint<File> {
 
     private final FileOperations operations = new FileOperations(this);
 
-    @UriPath(name = "directoryName") @Metadata(required = "true")
+    @UriPath(name = "directoryName") @Metadata(required = true)
     private File file;
     @UriParam(label = "advanced", defaultValue = "true")
     private boolean copyAndDeleteOnRenameFail = true;
diff --git a/camel-core/src/main/java/org/apache/camel/component/language/LanguageEndpoint.java b/camel-core/src/main/java/org/apache/camel/component/language/LanguageEndpoint.java
index f36d8e8..dd2dab2 100644
--- a/camel-core/src/main/java/org/apache/camel/component/language/LanguageEndpoint.java
+++ b/camel-core/src/main/java/org/apache/camel/component/language/LanguageEndpoint.java
@@ -55,11 +55,11 @@ public class LanguageEndpoint extends ResourceEndpoint {
     private boolean contentResolvedFromResource;
     @UriPath(enums = "bean,constant,exchangeProperty,file,groovy,header,javascript,jsonpath,mvel,ognl,"
             + ",ref,simple,spel,sql,terser,tokenize,xpath,xquery,xtokenize")
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String languageName;
     // resourceUri is optional in the language endpoint
     @UriPath(description = "Path to the resource, or a reference to lookup a bean in the Registry to use as the resource")
-    @Metadata(required = "false")
+    @Metadata(required = false)
     private String resourceUri;
     @UriParam
     private String script;
diff --git a/camel-core/src/main/java/org/apache/camel/component/log/LogEndpoint.java b/camel-core/src/main/java/org/apache/camel/component/log/LogEndpoint.java
index 464cf96..5110d27 100644
--- a/camel-core/src/main/java/org/apache/camel/component/log/LogEndpoint.java
+++ b/camel-core/src/main/java/org/apache/camel/component/log/LogEndpoint.java
@@ -48,7 +48,7 @@ public class LogEndpoint extends ProcessorEndpoint {
     private Logger providedLogger;
     private ExchangeFormatter localFormatter;
 
-    @UriPath(description = "Name of the logging category to use") @Metadata(required = "true")
+    @UriPath(description = "Name of the logging category to use") @Metadata(required = true)
     private String loggerName;
     @UriParam(defaultValue = "INFO", enums = "ERROR,WARN,INFO,DEBUG,TRACE,OFF")
     private String level;
diff --git a/camel-core/src/main/java/org/apache/camel/component/mock/MockEndpoint.java b/camel-core/src/main/java/org/apache/camel/component/mock/MockEndpoint.java
index 2018df4..7962a0e 100644
--- a/camel-core/src/main/java/org/apache/camel/component/mock/MockEndpoint.java
+++ b/camel-core/src/main/java/org/apache/camel/component/mock/MockEndpoint.java
@@ -112,7 +112,7 @@ public class MockEndpoint extends DefaultEndpoint implements BrowsableEndpoint {
 
     private volatile int counter;
 
-    @UriPath(description = "Name of mock endpoint") @Metadata(required = "true")
+    @UriPath(description = "Name of mock endpoint") @Metadata(required = true)
     private String name;
     @UriParam(label = "producer", defaultValue = "-1")
     private int expectedCount;
diff --git a/camel-core/src/main/java/org/apache/camel/component/properties/PropertiesEndpoint.java b/camel-core/src/main/java/org/apache/camel/component/properties/PropertiesEndpoint.java
index 6e8aa30..2c37097 100644
--- a/camel-core/src/main/java/org/apache/camel/component/properties/PropertiesEndpoint.java
+++ b/camel-core/src/main/java/org/apache/camel/component/properties/PropertiesEndpoint.java
@@ -37,7 +37,7 @@ public class PropertiesEndpoint extends DefaultEndpoint implements DelegateEndpo
     private volatile Endpoint endpoint;
 
     @UriPath
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String key;
     @UriParam
     private String locations;
diff --git a/camel-core/src/main/java/org/apache/camel/component/ref/RefEndpoint.java b/camel-core/src/main/java/org/apache/camel/component/ref/RefEndpoint.java
index 4e2461c..40689e7 100644
--- a/camel-core/src/main/java/org/apache/camel/component/ref/RefEndpoint.java
+++ b/camel-core/src/main/java/org/apache/camel/component/ref/RefEndpoint.java
@@ -36,7 +36,7 @@ public class RefEndpoint extends DefaultEndpoint implements DelegateEndpoint {
 
     private volatile Endpoint endpoint;
 
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private String name;
 
     public RefEndpoint(String endpointUri, Component component) {
diff --git a/camel-core/src/main/java/org/apache/camel/component/rest/RestApiEndpoint.java b/camel-core/src/main/java/org/apache/camel/component/rest/RestApiEndpoint.java
index 1191e25..bdb808b 100644
--- a/camel-core/src/main/java/org/apache/camel/component/rest/RestApiEndpoint.java
+++ b/camel-core/src/main/java/org/apache/camel/component/rest/RestApiEndpoint.java
@@ -49,7 +49,7 @@ public class RestApiEndpoint extends DefaultEndpoint {
     public static final String RESOURCE_PATH = "META-INF/services/org/apache/camel/restapi/";
 
     @UriPath
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String path;
     @UriPath
     private String contextIdPattern;
diff --git a/camel-core/src/main/java/org/apache/camel/component/rest/RestEndpoint.java b/camel-core/src/main/java/org/apache/camel/component/rest/RestEndpoint.java
index 078e14c..d7db432 100644
--- a/camel-core/src/main/java/org/apache/camel/component/rest/RestEndpoint.java
+++ b/camel-core/src/main/java/org/apache/camel/component/rest/RestEndpoint.java
@@ -52,9 +52,9 @@ public class RestEndpoint extends DefaultEndpoint {
     public static final String DEFAULT_API_COMPONENT_NAME = "swagger";
     public static final String RESOURCE_PATH = "META-INF/services/org/apache/camel/rest/";
 
-    @UriPath(label = "common", enums = "get,post,put,delete,patch,head,trace,connect,options") @Metadata(required = "true")
+    @UriPath(label = "common", enums = "get,post,put,delete,patch,head,trace,connect,options") @Metadata(required = true)
     private String method;
-    @UriPath(label = "common") @Metadata(required = "true")
+    @UriPath(label = "common") @Metadata(required = true)
     private String path;
     @UriPath(label = "common")
     private String uriTemplate;
diff --git a/camel-core/src/main/java/org/apache/camel/component/saga/SagaEndpoint.java b/camel-core/src/main/java/org/apache/camel/component/saga/SagaEndpoint.java
index 995e234..530ad61 100644
--- a/camel-core/src/main/java/org/apache/camel/component/saga/SagaEndpoint.java
+++ b/camel-core/src/main/java/org/apache/camel/component/saga/SagaEndpoint.java
@@ -37,7 +37,7 @@ public class SagaEndpoint extends DefaultEndpoint {
     }
 
     @UriPath(description = "Action to execute (complete or compensate)")
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private final SagaEndpointAction action;
 
     public SagaEndpoint(String endpointUri, SagaComponent component, String action) {
diff --git a/camel-core/src/main/java/org/apache/camel/component/scheduler/SchedulerEndpoint.java b/camel-core/src/main/java/org/apache/camel/component/scheduler/SchedulerEndpoint.java
index d8137bb..9976bd5 100644
--- a/camel-core/src/main/java/org/apache/camel/component/scheduler/SchedulerEndpoint.java
+++ b/camel-core/src/main/java/org/apache/camel/component/scheduler/SchedulerEndpoint.java
@@ -37,7 +37,7 @@ import org.apache.camel.support.ScheduledPollEndpoint;
     consumerOnly = true, consumerClass = SchedulerConsumer.class, label = "core,scheduling")
 public class SchedulerEndpoint extends ScheduledPollEndpoint {
 
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private String name;
     @UriParam(defaultValue = "1", label = "scheduler")
     private int concurrentTasks = 1;
diff --git a/camel-core/src/main/java/org/apache/camel/component/seda/SedaEndpoint.java b/camel-core/src/main/java/org/apache/camel/component/seda/SedaEndpoint.java
index ad439ce..a4cd1c1 100644
--- a/camel-core/src/main/java/org/apache/camel/component/seda/SedaEndpoint.java
+++ b/camel-core/src/main/java/org/apache/camel/component/seda/SedaEndpoint.java
@@ -60,7 +60,7 @@ public class SedaEndpoint extends DefaultEndpoint implements AsyncEndpoint, Brow
     private volatile boolean multicastStarted;
     private volatile ExecutorService multicastExecutor;
 
-    @UriPath(description = "Name of queue") @Metadata(required = "true")
+    @UriPath(description = "Name of queue") @Metadata(required = true)
     private String name;
     @UriParam(label = "advanced", description = "Define the queue instance which will be used by the endpoint")
     private BlockingQueue queue;
diff --git a/camel-core/src/main/java/org/apache/camel/component/test/TestEndpoint.java b/camel-core/src/main/java/org/apache/camel/component/test/TestEndpoint.java
index 3782f13..c56ef12 100644
--- a/camel-core/src/main/java/org/apache/camel/component/test/TestEndpoint.java
+++ b/camel-core/src/main/java/org/apache/camel/component/test/TestEndpoint.java
@@ -47,7 +47,7 @@ public class TestEndpoint extends MockEndpoint {
 
     private Endpoint expectedMessageEndpoint;
 
-    @UriPath(description = "Name of endpoint to lookup in the registry to use for polling messages used for testing") @Metadata(required = "true")
+    @UriPath(description = "Name of endpoint to lookup in the registry to use for polling messages used for testing") @Metadata(required = true)
     private String name;
     @UriParam
     private boolean anyOrder;
diff --git a/camel-core/src/main/java/org/apache/camel/component/timer/TimerEndpoint.java b/camel-core/src/main/java/org/apache/camel/component/timer/TimerEndpoint.java
index 4acf787..31f2aa9 100644
--- a/camel-core/src/main/java/org/apache/camel/component/timer/TimerEndpoint.java
+++ b/camel-core/src/main/java/org/apache/camel/component/timer/TimerEndpoint.java
@@ -41,7 +41,7 @@ import org.apache.camel.support.DefaultEndpoint;
 @ManagedResource(description = "Managed TimerEndpoint")
 @UriEndpoint(firstVersion = "1.0.0", scheme = "timer", title = "Timer", syntax = "timer:timerName", consumerOnly = true, consumerClass = TimerConsumer.class, label = "core,scheduling")
 public class TimerEndpoint extends DefaultEndpoint implements MultipleConsumersSupport {
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private String timerName;
     @UriParam(defaultValue = "1000", description = "If greater than 0, generate periodic events every period milliseconds."
             + " You can also specify time values using units, such as 60s (60 seconds), 5m30s (5 minutes and 30 seconds), and 1h (1 hour).")
diff --git a/camel-core/src/main/java/org/apache/camel/component/validator/ValidatorEndpoint.java b/camel-core/src/main/java/org/apache/camel/component/validator/ValidatorEndpoint.java
index 5b04f84..2575310 100644
--- a/camel-core/src/main/java/org/apache/camel/component/validator/ValidatorEndpoint.java
+++ b/camel-core/src/main/java/org/apache/camel/component/validator/ValidatorEndpoint.java
@@ -47,7 +47,7 @@ public class ValidatorEndpoint extends DefaultEndpoint {
 
     @UriPath(description = "URL to a local resource on the classpath, or a reference to lookup a bean in the Registry,"
             + " or a full URL to a remote resource or resource on the file system which contains the XSD to validate against.")
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String resourceUri;
     @UriParam(defaultValue = XMLConstants.W3C_XML_SCHEMA_NS_URI, label = "advanced",
             description = "Configures the W3C XML Schema Namespace URI.")
diff --git a/camel-core/src/main/java/org/apache/camel/component/xslt/XsltEndpoint.java b/camel-core/src/main/java/org/apache/camel/component/xslt/XsltEndpoint.java
index 942fb8e..8fd4c74 100644
--- a/camel-core/src/main/java/org/apache/camel/component/xslt/XsltEndpoint.java
+++ b/camel-core/src/main/java/org/apache/camel/component/xslt/XsltEndpoint.java
@@ -61,7 +61,7 @@ public class XsltEndpoint extends ProcessorEndpoint {
     private volatile XsltBuilder xslt;
     private Map<String, Object> parameters;
 
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private String resourceUri;
     @UriParam(defaultValue = "true")
     private boolean contentCache = true;
diff --git a/camel-core/src/main/java/org/apache/camel/model/FromDefinition.java b/camel-core/src/main/java/org/apache/camel/model/FromDefinition.java
index 2d35887..2e3c242 100644
--- a/camel-core/src/main/java/org/apache/camel/model/FromDefinition.java
+++ b/camel-core/src/main/java/org/apache/camel/model/FromDefinition.java
@@ -33,7 +33,7 @@ import org.apache.camel.spi.RouteContext;
 @XmlRootElement(name = "from")
 @XmlAccessorType(XmlAccessType.FIELD)
 public class FromDefinition extends OptionalIdentifiedDefinition<FromDefinition> implements EndpointRequiredDefinition {
-    @XmlAttribute @Metadata(required = "true")
+    @XmlAttribute @Metadata(required = true)
     private String uri;
     @XmlTransient
     private Endpoint endpoint;
diff --git a/camel-core/src/main/java/org/apache/camel/model/InputTypeDefinition.java b/camel-core/src/main/java/org/apache/camel/model/InputTypeDefinition.java
index ec37532..bcaa357 100644
--- a/camel-core/src/main/java/org/apache/camel/model/InputTypeDefinition.java
+++ b/camel-core/src/main/java/org/apache/camel/model/InputTypeDefinition.java
@@ -39,7 +39,7 @@ import org.apache.camel.spi.Metadata;
 @XmlRootElement(name = "inputType")
 @XmlAccessorType(XmlAccessType.FIELD)
 public class InputTypeDefinition extends OptionalIdentifiedDefinition<InputTypeDefinition> {
-    @XmlAttribute @Metadata(required = "true")
+    @XmlAttribute @Metadata(required = true)
     private String urn;
     @XmlAttribute  @Metadata(defaultValue = "false")
     private Boolean validate = false;
diff --git a/camel-core/src/main/java/org/apache/camel/model/OutputTypeDefinition.java b/camel-core/src/main/java/org/apache/camel/model/OutputTypeDefinition.java
index fe0f73e..4fe13bf0 100644
--- a/camel-core/src/main/java/org/apache/camel/model/OutputTypeDefinition.java
+++ b/camel-core/src/main/java/org/apache/camel/model/OutputTypeDefinition.java
@@ -39,7 +39,7 @@ import org.apache.camel.spi.Metadata;
 @XmlRootElement(name = "outputType")
 @XmlAccessorType(XmlAccessType.FIELD)
 public class OutputTypeDefinition extends OptionalIdentifiedDefinition<OutputTypeDefinition> {
-    @XmlAttribute @Metadata(required = "true")
+    @XmlAttribute @Metadata(required = true)
     private String urn;
     @XmlAttribute  @Metadata(defaultValue = "false")
     private Boolean validate = false;
diff --git a/camel-core/src/main/java/org/apache/camel/model/ResequenceDefinition.java b/camel-core/src/main/java/org/apache/camel/model/ResequenceDefinition.java
index 750b2d8..e0c8e90 100644
--- a/camel-core/src/main/java/org/apache/camel/model/ResequenceDefinition.java
+++ b/camel-core/src/main/java/org/apache/camel/model/ResequenceDefinition.java
@@ -42,7 +42,7 @@ import org.apache.camel.spi.Metadata;
 @XmlRootElement(name = "resequence")
 @XmlAccessorType(XmlAccessType.FIELD)
 public class ResequenceDefinition extends ProcessorDefinition<ResequenceDefinition> {
-    @Metadata(required = "false")
+    @Metadata(required = false)
     @XmlElements({
         @XmlElement(name = "batch-config", type = BatchResequencerConfig.class),
         @XmlElement(name = "stream-config", type = StreamResequencerConfig.class)}
@@ -52,7 +52,7 @@ public class ResequenceDefinition extends ProcessorDefinition<ResequenceDefiniti
     private BatchResequencerConfig batchConfig;
     @XmlTransient
     private StreamResequencerConfig streamConfig;
-    @XmlElementRef @Metadata(required = "true")
+    @XmlElementRef @Metadata(required = true)
     private ExpressionDefinition expression;
     @XmlElementRef
     private List<ProcessorDefinition<?>> outputs = new ArrayList<>();
diff --git a/camel-core/src/main/java/org/apache/camel/model/SendDefinition.java b/camel-core/src/main/java/org/apache/camel/model/SendDefinition.java
index 487db7f..a1b2a5b 100644
--- a/camel-core/src/main/java/org/apache/camel/model/SendDefinition.java
+++ b/camel-core/src/main/java/org/apache/camel/model/SendDefinition.java
@@ -30,7 +30,7 @@ import org.apache.camel.spi.Metadata;
  */
 @XmlAccessorType(XmlAccessType.FIELD)
 public abstract class SendDefinition<Type extends ProcessorDefinition<Type>> extends NoOutputDefinition<Type> implements EndpointRequiredDefinition {
-    @XmlAttribute @Metadata(required = "true")
+    @XmlAttribute @Metadata(required = true)
     protected String uri;
     @XmlTransient
     protected Endpoint endpoint;
diff --git a/camel-core/src/main/java/org/apache/camel/model/ToDynamicDefinition.java b/camel-core/src/main/java/org/apache/camel/model/ToDynamicDefinition.java
index d635f3c..70741fe 100644
--- a/camel-core/src/main/java/org/apache/camel/model/ToDynamicDefinition.java
+++ b/camel-core/src/main/java/org/apache/camel/model/ToDynamicDefinition.java
@@ -38,7 +38,7 @@ import org.apache.camel.spi.Metadata;
 @XmlAccessorType(XmlAccessType.FIELD)
 public class ToDynamicDefinition extends NoOutputDefinition<ToDynamicDefinition> {
 
-    @XmlAttribute @Metadata(required = "true")
+    @XmlAttribute @Metadata(required = true)
     private String uri;
     @XmlAttribute
     private ExchangePattern pattern;
diff --git a/camel-core/src/main/java/org/apache/camel/model/cloud/ServiceCallDefinition.java b/camel-core/src/main/java/org/apache/camel/model/cloud/ServiceCallDefinition.java
index 30fb272..abdf185 100644
--- a/camel-core/src/main/java/org/apache/camel/model/cloud/ServiceCallDefinition.java
+++ b/camel-core/src/main/java/org/apache/camel/model/cloud/ServiceCallDefinition.java
@@ -41,7 +41,7 @@ import org.apache.camel.spi.Metadata;
 @XmlRootElement(name = "serviceCall")
 @XmlAccessorType(XmlAccessType.FIELD)
 public class ServiceCallDefinition extends NoOutputDefinition<ServiceCallDefinition> {
-    @XmlAttribute @Metadata(required = "true")
+    @XmlAttribute @Metadata(required = true)
     private String name;
     @XmlAttribute
     private String uri;
diff --git a/camel-core/src/main/java/org/apache/camel/model/language/ExpressionDefinition.java b/camel-core/src/main/java/org/apache/camel/model/language/ExpressionDefinition.java
index a3f699b..30e33b8 100644
--- a/camel-core/src/main/java/org/apache/camel/model/language/ExpressionDefinition.java
+++ b/camel-core/src/main/java/org/apache/camel/model/language/ExpressionDefinition.java
@@ -58,7 +58,7 @@ public class ExpressionDefinition implements Expression, Predicate, OtherAttribu
     @XmlAttribute
     @XmlID
     private String id;
-    @XmlValue @Metadata(required = "true")
+    @XmlValue @Metadata(required = true)
     private String expression;
     @XmlAttribute @Metadata(defaultValue = "true")
     private Boolean trim;
diff --git a/camel-core/src/main/java/org/apache/camel/model/rest/RestSecurityApiKey.java b/camel-core/src/main/java/org/apache/camel/model/rest/RestSecurityApiKey.java
index 254150c..99e1c4a 100644
--- a/camel-core/src/main/java/org/apache/camel/model/rest/RestSecurityApiKey.java
+++ b/camel-core/src/main/java/org/apache/camel/model/rest/RestSecurityApiKey.java
@@ -31,7 +31,7 @@ import org.apache.camel.spi.Metadata;
 @XmlAccessorType(XmlAccessType.FIELD)
 public class RestSecurityApiKey extends RestSecurityDefinition {
 
-    @XmlAttribute(name = "name", required = true) @Metadata(required = "true")
+    @XmlAttribute(name = "name", required = true) @Metadata(required = true)
     private String name;
 
     @XmlAttribute(name = "inHeader")
diff --git a/camel-core/src/main/java/org/apache/camel/model/rest/RestSecurityDefinition.java b/camel-core/src/main/java/org/apache/camel/model/rest/RestSecurityDefinition.java
index 77e55e8..85fb031 100644
--- a/camel-core/src/main/java/org/apache/camel/model/rest/RestSecurityDefinition.java
+++ b/camel-core/src/main/java/org/apache/camel/model/rest/RestSecurityDefinition.java
@@ -32,7 +32,7 @@ public abstract class RestSecurityDefinition {
     @XmlTransient
     RestDefinition rest;
 
-    @XmlAttribute(required = true) @Metadata(required = "true")
+    @XmlAttribute(required = true) @Metadata(required = true)
     private String key;
 
     @XmlAttribute
diff --git a/camel-core/src/main/java/org/apache/camel/model/rest/SecurityDefinition.java b/camel-core/src/main/java/org/apache/camel/model/rest/SecurityDefinition.java
index c4ce706..3f70f87 100644
--- a/camel-core/src/main/java/org/apache/camel/model/rest/SecurityDefinition.java
+++ b/camel-core/src/main/java/org/apache/camel/model/rest/SecurityDefinition.java
@@ -31,7 +31,7 @@ import org.apache.camel.spi.Metadata;
 @XmlAccessorType(XmlAccessType.FIELD)
 public class SecurityDefinition {
 
-    @XmlAttribute(required = true) @Metadata(required = "true")
+    @XmlAttribute(required = true) @Metadata(required = true)
     private String key;
 
     @XmlAttribute
diff --git a/components/camel-ahc/src/main/java/org/apache/camel/component/ahc/AhcEndpoint.java b/components/camel-ahc/src/main/java/org/apache/camel/component/ahc/AhcEndpoint.java
index 5ebf042..204df47 100644
--- a/components/camel-ahc/src/main/java/org/apache/camel/component/ahc/AhcEndpoint.java
+++ b/components/camel-ahc/src/main/java/org/apache/camel/component/ahc/AhcEndpoint.java
@@ -49,7 +49,7 @@ import org.asynchttpclient.DefaultAsyncHttpClientConfig;
 public class AhcEndpoint extends DefaultEndpoint implements AsyncEndpoint, HeaderFilterStrategyAware {
 
     private AsyncHttpClient client;
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private URI httpUri;
     @UriParam
     private boolean bridgeEndpoint;
diff --git a/components/camel-apns/src/main/java/org/apache/camel/component/apns/ApnsComponent.java b/components/camel-apns/src/main/java/org/apache/camel/component/apns/ApnsComponent.java
index 73a059c..c29de3e 100644
--- a/components/camel-apns/src/main/java/org/apache/camel/component/apns/ApnsComponent.java
+++ b/components/camel-apns/src/main/java/org/apache/camel/component/apns/ApnsComponent.java
@@ -28,7 +28,7 @@ import org.apache.camel.support.DefaultComponent;
  */
 public class ApnsComponent extends DefaultComponent {
 
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private ApnsService apnsService;
 
     public ApnsComponent() {
diff --git a/components/camel-as2/camel-as2-component/src/main/java/org/apache/camel/component/as2/AS2Configuration.java b/components/camel-as2/camel-as2-component/src/main/java/org/apache/camel/component/as2/AS2Configuration.java
index 57ac5ba..8923ef5 100644
--- a/components/camel-as2/camel-as2-component/src/main/java/org/apache/camel/component/as2/AS2Configuration.java
+++ b/components/camel-as2/camel-as2-component/src/main/java/org/apache/camel/component/as2/AS2Configuration.java
@@ -38,11 +38,11 @@ import org.apache.http.entity.ContentType;
 public class AS2Configuration {
 
     @UriPath
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private AS2ApiName apiName;
 
     @UriParam
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String methodName;
 
     @UriParam(defaultValue = "1.1", enums = "1.0,1.1")
diff --git a/components/camel-asterisk/src/main/java/org/apache/camel/component/asterisk/AsteriskEndpoint.java b/components/camel-asterisk/src/main/java/org/apache/camel/component/asterisk/AsteriskEndpoint.java
index 559525b..c663399 100644
--- a/components/camel-asterisk/src/main/java/org/apache/camel/component/asterisk/AsteriskEndpoint.java
+++ b/components/camel-asterisk/src/main/java/org/apache/camel/component/asterisk/AsteriskEndpoint.java
@@ -32,22 +32,22 @@ import org.apache.camel.util.ObjectHelper;
 @UriEndpoint(firstVersion = "2.18.0", scheme = "asterisk", title = "Asterisk", syntax = "asterisk:name", consumerClass = AsteriskConsumer.class, label = "voip")
 public class AsteriskEndpoint extends DefaultEndpoint {
     @UriPath(description = "Name of component")
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String name;
 
     @UriParam
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String hostname;
 
     @UriParam(label = "producer")
     private AsteriskAction action;
 
     @UriParam(secret = true)
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String username;
 
     @UriParam(secret = true)
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String password;
 
     public AsteriskEndpoint(String uri, AsteriskComponent component) {
diff --git a/components/camel-atmos/src/main/java/org/apache/camel/component/atmos/AtmosConfiguration.java b/components/camel-atmos/src/main/java/org/apache/camel/component/atmos/AtmosConfiguration.java
index e646054..9b42ea3 100644
--- a/components/camel-atmos/src/main/java/org/apache/camel/component/atmos/AtmosConfiguration.java
+++ b/components/camel-atmos/src/main/java/org/apache/camel/component/atmos/AtmosConfiguration.java
@@ -36,7 +36,7 @@ public class AtmosConfiguration {
 
     @UriPath
     private String name;
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private AtmosOperation operation;
     @UriParam
     private String secretKey;
diff --git a/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/WebsocketEndpoint.java b/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/WebsocketEndpoint.java
index c0d95dc..ab44c38 100644
--- a/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/WebsocketEndpoint.java
+++ b/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/WebsocketEndpoint.java
@@ -40,7 +40,7 @@ public class WebsocketEndpoint extends ServletEndpoint {
     private WebSocketStore store;
     private WebsocketConsumer websocketConsumer;
 
-    @UriPath(description = "Name of websocket endpoint") @Metadata(required = "true")
+    @UriPath(description = "Name of websocket endpoint") @Metadata(required = true)
     private String servicePath;
     @UriParam
     private boolean sendToAll;
diff --git a/components/camel-atom/src/main/java/org/apache/camel/component/feed/FeedEndpoint.java b/components/camel-atom/src/main/java/org/apache/camel/component/feed/FeedEndpoint.java
index 537c2ed..f9feb1b 100644
--- a/components/camel-atom/src/main/java/org/apache/camel/component/feed/FeedEndpoint.java
+++ b/components/camel-atom/src/main/java/org/apache/camel/component/feed/FeedEndpoint.java
@@ -33,7 +33,7 @@ import org.apache.camel.util.ObjectHelper;
  */
 public abstract class FeedEndpoint extends DefaultPollingEndpoint {
 
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     protected String feedUri;
     @UriParam(defaultValue = "true")
     protected boolean splitEntries = true;
diff --git a/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/AbstractAtomixClientEndpoint.java b/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/AbstractAtomixClientEndpoint.java
index d4d870f..d8f3007 100644
--- a/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/AbstractAtomixClientEndpoint.java
+++ b/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/AbstractAtomixClientEndpoint.java
@@ -29,7 +29,7 @@ import org.apache.camel.util.ObjectHelper;
 
 public abstract class AbstractAtomixClientEndpoint<T extends AbstractAtomixClientComponent, C extends AtomixClientConfiguration> extends DefaultEndpoint {
     @UriPath(description = "The distributed resource name")
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private final String resourceName;
 
     private AtomixClient atomix;
diff --git a/components/camel-avro/src/main/java/org/apache/camel/component/avro/AvroConfiguration.java b/components/camel-avro/src/main/java/org/apache/camel/component/avro/AvroConfiguration.java
index 542c88b..802a003 100644
--- a/components/camel-avro/src/main/java/org/apache/camel/component/avro/AvroConfiguration.java
+++ b/components/camel-avro/src/main/java/org/apache/camel/component/avro/AvroConfiguration.java
@@ -32,11 +32,11 @@ import static org.apache.camel.component.avro.AvroConstants.AVRO_MESSAGE_NAME_SE
 @UriParams
 public class AvroConfiguration implements Cloneable {
 
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private AvroTransport transport;
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private String host;
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private int port;
     @UriPath
     private String messageName;
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/cw/CwConfiguration.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/cw/CwConfiguration.java
index 183c714..517e025 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/cw/CwConfiguration.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/cw/CwConfiguration.java
@@ -29,7 +29,7 @@ import org.apache.camel.spi.UriPath;
 @UriParams
 public class CwConfiguration implements Cloneable {
 
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private String namespace;
     @UriParam
     private AmazonCloudWatch amazonCwClient;
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/ddb/DdbConfiguration.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/ddb/DdbConfiguration.java
index 0328137..d9e03cc 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/ddb/DdbConfiguration.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/ddb/DdbConfiguration.java
@@ -27,7 +27,7 @@ import org.apache.camel.spi.UriPath;
 @UriParams
 public class DdbConfiguration implements Cloneable {
 
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private String tableName;
     @UriParam(label = "security", secret = true)
     private String accessKey;
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/ddbstream/DdbStreamConfiguration.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/ddbstream/DdbStreamConfiguration.java
index 47cc49b..a0f0839 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/ddbstream/DdbStreamConfiguration.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/ddbstream/DdbStreamConfiguration.java
@@ -29,7 +29,7 @@ import org.apache.camel.spi.UriPath;
 public class DdbStreamConfiguration implements Cloneable {
     
     @UriPath(label = "consumer", description = "Name of the dynamodb table")
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String tableName;
     
     @UriParam(label = "security", secret = true, description = "Amazon AWS Access Key")
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/ec2/EC2Configuration.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/ec2/EC2Configuration.java
index 12b6b08..c13cd4a 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/ec2/EC2Configuration.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/ec2/EC2Configuration.java
@@ -27,7 +27,7 @@ import org.apache.camel.spi.UriPath;
 @UriParams
 public class EC2Configuration implements Cloneable {
 
-    @UriPath(description = "Logical name") @Metadata(required = "true")
+    @UriPath(description = "Logical name") @Metadata(required = true)
     private String label;
     @UriParam(label = "producer")
     private AmazonEC2Client amazonEc2Client;
@@ -36,7 +36,7 @@ public class EC2Configuration implements Cloneable {
     @UriParam(label = "producer", secret = true)
     private String secretKey;
     @UriParam(label = "producer")
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private EC2Operations operation;
     @UriParam(label = "producer")
     private String proxyHost;
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/eks/EKSConfiguration.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/eks/EKSConfiguration.java
index 88d6562..c2dd121 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/eks/EKSConfiguration.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/eks/EKSConfiguration.java
@@ -28,7 +28,7 @@ import org.apache.camel.spi.UriPath;
 public class EKSConfiguration implements Cloneable {
 
     @UriPath(description = "Logical name")
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String label;
     @UriParam(label = "producer")
     private AmazonEKS eksClient;
@@ -37,7 +37,7 @@ public class EKSConfiguration implements Cloneable {
     @UriParam(label = "producer", secret = true)
     private String secretKey;
     @UriParam(label = "producer")
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private EKSOperations operation;
     @UriParam(label = "producer")
     private String proxyHost;
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/firehose/KinesisFirehoseConfiguration.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/firehose/KinesisFirehoseConfiguration.java
index d70ec0e..6f108d9 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/firehose/KinesisFirehoseConfiguration.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/firehose/KinesisFirehoseConfiguration.java
@@ -28,7 +28,7 @@ import org.apache.camel.spi.UriPath;
 public class KinesisFirehoseConfiguration implements Cloneable {
 
     @UriPath(description = "Name of the stream")
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String streamName;
     @UriParam(label = "security", secret = true, description = "Amazon AWS Access Key")
     private String accessKey;
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/iam/IAMConfiguration.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/iam/IAMConfiguration.java
index 5c5dac7..9efa90e 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/iam/IAMConfiguration.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/iam/IAMConfiguration.java
@@ -28,7 +28,7 @@ import org.apache.camel.spi.UriPath;
 public class IAMConfiguration implements Cloneable {
 
     @UriPath(description = "Logical name")
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String label;
     @UriParam(label = "producer")
     private AmazonIdentityManagementClient iamClient;
@@ -37,7 +37,7 @@ public class IAMConfiguration implements Cloneable {
     @UriParam(label = "producer", secret = true)
     private String secretKey;
     @UriParam(label = "producer")
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private IAMOperations operation;
     @UriParam(label = "producer")
     private String proxyHost;
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/kinesis/KinesisConfiguration.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/kinesis/KinesisConfiguration.java
index 820492b..e3ccb70 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/kinesis/KinesisConfiguration.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/kinesis/KinesisConfiguration.java
@@ -29,7 +29,7 @@ import org.apache.camel.spi.UriPath;
 public class KinesisConfiguration implements Cloneable {
     
     @UriPath(description = "Name of the stream")
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String streamName;
     @UriParam(label = "security", secret = true, description = "Amazon AWS Access Key")
     private String accessKey;
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/kms/KMSConfiguration.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/kms/KMSConfiguration.java
index b7f7e81..ab8cf51 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/kms/KMSConfiguration.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/kms/KMSConfiguration.java
@@ -28,7 +28,7 @@ import org.apache.camel.spi.UriPath;
 public class KMSConfiguration implements Cloneable {
 
     @UriPath(description = "Logical name")
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String label;
     @UriParam(label = "producer")
     private AWSKMS kmsClient;
@@ -37,7 +37,7 @@ public class KMSConfiguration implements Cloneable {
     @UriParam(label = "producer", secret = true)
     private String secretKey;
     @UriParam(label = "producer")
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private KMSOperations operation;
     @UriParam(label = "producer")
     private String proxyHost;
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/lambda/LambdaConfiguration.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/lambda/LambdaConfiguration.java
index d9bb878..6462a66 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/lambda/LambdaConfiguration.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/lambda/LambdaConfiguration.java
@@ -28,10 +28,10 @@ import org.apache.camel.spi.UriPath;
 public class LambdaConfiguration implements Cloneable {
 
     @UriPath
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String function;
     @UriParam
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private LambdaOperations operation;
     @UriParam(label = "security", secret = true)
     private String accessKey;
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/mq/MQConfiguration.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/mq/MQConfiguration.java
index 8788849..a81070f 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/mq/MQConfiguration.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/mq/MQConfiguration.java
@@ -28,7 +28,7 @@ import org.apache.camel.spi.UriPath;
 public class MQConfiguration implements Cloneable {
 
     @UriPath(description = "Logical name")
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String label;
     @UriParam(label = "producer")
     private AmazonMQ amazonMqClient;
@@ -37,7 +37,7 @@ public class MQConfiguration implements Cloneable {
     @UriParam(label = "producer", secret = true)
     private String secretKey;
     @UriParam(label = "producer")
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private MQOperations operation;
     @UriParam(label = "producer")
     private String proxyHost;
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Endpoint.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Endpoint.java
index dfb9602..96e982a 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Endpoint.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Endpoint.java
@@ -53,7 +53,7 @@ public class S3Endpoint extends ScheduledPollEndpoint {
     private AmazonS3 s3Client;
 
     @UriPath(description = "Bucket name or ARN")
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String bucketNameOrArn; // to support component docs
     @UriParam
     private S3Configuration configuration;
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/sdb/SdbConfiguration.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/sdb/SdbConfiguration.java
index c299651..d7a09d7 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/sdb/SdbConfiguration.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/sdb/SdbConfiguration.java
@@ -26,7 +26,7 @@ import org.apache.camel.spi.UriPath;
 @UriParams
 public class SdbConfiguration {
 
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private String domainName;
     @UriParam
     private AmazonSimpleDB amazonSDBClient;
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/ses/SesConfiguration.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/ses/SesConfiguration.java
index ee817d2..e4d4244 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/ses/SesConfiguration.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/ses/SesConfiguration.java
@@ -30,7 +30,7 @@ import org.apache.camel.spi.UriPath;
 @UriParams
 public class SesConfiguration implements Cloneable {
 
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private String from;
     @UriParam
     private AmazonSimpleEmailService amazonSESClient;
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/sns/SnsEndpoint.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/sns/SnsEndpoint.java
index c50334e..a84e8e9 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/sns/SnsEndpoint.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/sns/SnsEndpoint.java
@@ -55,7 +55,7 @@ public class SnsEndpoint extends DefaultEndpoint implements HeaderFilterStrategy
     private AmazonSNS snsClient;
 
     @UriPath(description = "Topic name or ARN")
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String topicNameOrArn; // to support component docs
     @UriParam
     private SnsConfiguration configuration;
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsEndpoint.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsEndpoint.java
index 842ab41..743c072 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsEndpoint.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsEndpoint.java
@@ -64,7 +64,7 @@ public class SqsEndpoint extends ScheduledPollEndpoint implements HeaderFilterSt
     private String queueUrl;
 
     @UriPath(description = "Queue name or ARN")
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String queueNameOrArn; // to support component docs
     @UriParam
     private SqsConfiguration configuration;
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/swf/SWFConfiguration.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/swf/SWFConfiguration.java
index c790389..e3f392f 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/swf/SWFConfiguration.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/swf/SWFConfiguration.java
@@ -35,7 +35,7 @@ import org.apache.camel.spi.UriPath;
 public class SWFConfiguration implements Cloneable {
 
     @UriPath(enums = "activity,workflow")
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String type;
     @UriParam
     private AmazonSimpleWorkflowClient amazonSWClient;
diff --git a/components/camel-azure/src/main/java/org/apache/camel/component/azure/blob/BlobServiceEndpoint.java b/components/camel-azure/src/main/java/org/apache/camel/component/azure/blob/BlobServiceEndpoint.java
index 88b9d73..a1cdfdd 100644
--- a/components/camel-azure/src/main/java/org/apache/camel/component/azure/blob/BlobServiceEndpoint.java
+++ b/components/camel-azure/src/main/java/org/apache/camel/component/azure/blob/BlobServiceEndpoint.java
@@ -38,7 +38,7 @@ import org.apache.camel.spi.UriPath;
 public class BlobServiceEndpoint extends DefaultEndpoint {
 
     @UriPath(description = "Container or Blob compact Uri")
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String containerOrBlobUri; // to support component docs
     @UriParam
     private BlobServiceConfiguration configuration;
diff --git a/components/camel-azure/src/main/java/org/apache/camel/component/azure/queue/QueueServiceEndpoint.java b/components/camel-azure/src/main/java/org/apache/camel/component/azure/queue/QueueServiceEndpoint.java
index b159226..be6b4e3 100644
--- a/components/camel-azure/src/main/java/org/apache/camel/component/azure/queue/QueueServiceEndpoint.java
+++ b/components/camel-azure/src/main/java/org/apache/camel/component/azure/queue/QueueServiceEndpoint.java
@@ -38,7 +38,7 @@ import org.apache.camel.spi.UriPath;
 public class QueueServiceEndpoint extends DefaultEndpoint {
 
     @UriPath(description = "Container Queue compact Uri")
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String containerAndQueueUri; // to support component docs
     @UriParam
     private QueueServiceConfiguration configuration;
diff --git a/components/camel-bean-validator/src/main/java/org/apache/camel/component/bean/validator/BeanValidatorEndpoint.java b/components/camel-bean-validator/src/main/java/org/apache/camel/component/bean/validator/BeanValidatorEndpoint.java
index f98133e..a174fb2 100644
--- a/components/camel-bean-validator/src/main/java/org/apache/camel/component/bean/validator/BeanValidatorEndpoint.java
+++ b/components/camel-bean-validator/src/main/java/org/apache/camel/component/bean/validator/BeanValidatorEndpoint.java
@@ -43,7 +43,7 @@ import static org.apache.camel.component.bean.validator.ValidatorFactories.build
 @UriEndpoint(firstVersion = "2.3.0", scheme = "bean-validator", title = "Bean Validator", syntax = "bean-validator:label", producerOnly = true, label = "validation")
 public class BeanValidatorEndpoint extends DefaultEndpoint {
 
-    @UriPath(description = "Where label is an arbitrary text value describing the endpoint") @Metadata(required = "true")
+    @UriPath(description = "Where label is an arbitrary text value describing the endpoint") @Metadata(required = true)
     private String label;
     @UriParam(defaultValue = "javax.validation.groups.Default")
     private String group;
diff --git a/components/camel-bonita/src/main/java/org/apache/camel/component/bonita/BonitaConfiguration.java b/components/camel-bonita/src/main/java/org/apache/camel/component/bonita/BonitaConfiguration.java
index b992682..62c2755 100644
--- a/components/camel-bonita/src/main/java/org/apache/camel/component/bonita/BonitaConfiguration.java
+++ b/components/camel-bonita/src/main/java/org/apache/camel/component/bonita/BonitaConfiguration.java
@@ -27,7 +27,7 @@ import org.apache.camel.spi.UriPath;
 @UriParams
 public class BonitaConfiguration implements Cloneable {
 
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private BonitaOperation operation;
     @UriParam(defaultValue = "localhost")
     private String hostname = "localhost";
diff --git a/components/camel-box/camel-box-component/src/main/java/org/apache/camel/component/box/BoxConfiguration.java b/components/camel-box/camel-box-component/src/main/java/org/apache/camel/component/box/BoxConfiguration.java
index e2afdda..113b180 100644
--- a/components/camel-box/camel-box-component/src/main/java/org/apache/camel/component/box/BoxConfiguration.java
+++ b/components/camel-box/camel-box-component/src/main/java/org/apache/camel/component/box/BoxConfiguration.java
@@ -50,11 +50,11 @@ public class BoxConfiguration {
     public static final String RSA_SHA_256 = "RSA_SHA_256";
 
     @UriPath
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private BoxApiName apiName;
 
     @UriPath
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String methodName;
 
     @UriParam
diff --git a/components/camel-braintree/src/main/java/org/apache/camel/component/braintree/BraintreeConfiguration.java b/components/camel-braintree/src/main/java/org/apache/camel/component/braintree/BraintreeConfiguration.java
index 420a362..9970b1e 100644
--- a/components/camel-braintree/src/main/java/org/apache/camel/component/braintree/BraintreeConfiguration.java
+++ b/components/camel-braintree/src/main/java/org/apache/camel/component/braintree/BraintreeConfiguration.java
@@ -42,7 +42,7 @@ public class BraintreeConfiguration {
     private static final String ACCESS_TOKEN = "access_token";
 
     @UriPath
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private BraintreeApiName apiName;
     @UriPath
     private String methodName;
diff --git a/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/cache/CaffeineCacheEndpoint.java b/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/cache/CaffeineCacheEndpoint.java
index 40bb1dc..f47390f 100644
--- a/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/cache/CaffeineCacheEndpoint.java
+++ b/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/cache/CaffeineCacheEndpoint.java
@@ -38,7 +38,7 @@ import org.apache.camel.util.ObjectHelper;
 @UriEndpoint(firstVersion = "2.20.0", scheme = "caffeine-cache", title = "Caffeine Cache", syntax = "caffeine-cache:cacheName", label = "cache,datagrid,clustering")
 public class CaffeineCacheEndpoint extends DefaultEndpoint {
     @UriPath(description = "the cache name")
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private final String cacheName;
     @UriParam
     private final CaffeineConfiguration configuration;
diff --git a/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/load/CaffeineLoadCacheEndpoint.java b/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/load/CaffeineLoadCacheEndpoint.java
index 6ec66b8..01b0b4b 100644
--- a/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/load/CaffeineLoadCacheEndpoint.java
+++ b/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/load/CaffeineLoadCacheEndpoint.java
@@ -39,7 +39,7 @@ import org.apache.camel.util.ObjectHelper;
 @UriEndpoint(firstVersion = "2.20.0", scheme = "caffeine-loadcache", title = "Caffeine LoadCache", syntax = "caffeine-loadcache:cacheName", label = "cache,datagrid,clustering")
 public class CaffeineLoadCacheEndpoint extends DefaultEndpoint {
     @UriPath(description = "the cache name")
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private final String cacheName;
     @UriParam
     private final CaffeineConfiguration configuration;
diff --git a/components/camel-chronicle/src/main/java/org/apache/camel/component/chronicle/engine/ChronicleEngineEndpoint.java b/components/camel-chronicle/src/main/java/org/apache/camel/component/chronicle/engine/ChronicleEngineEndpoint.java
index 53f7d9a..77abeee 100644
--- a/components/camel-chronicle/src/main/java/org/apache/camel/component/chronicle/engine/ChronicleEngineEndpoint.java
+++ b/components/camel-chronicle/src/main/java/org/apache/camel/component/chronicle/engine/ChronicleEngineEndpoint.java
@@ -40,10 +40,10 @@ import org.apache.camel.spi.UriPath;
 public class ChronicleEngineEndpoint extends DefaultEndpoint {
 
     @UriPath(description = "Engine addresses. Multiple addresses can be separated by comma.")
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String addresses;
     @UriPath(description = "Engine path")
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String path;
     @UriParam
     private ChronicleEngineConfiguration configuration;
diff --git a/components/camel-cm-sms/src/main/java/org/apache/camel/component/cm/CMConfiguration.java b/components/camel-cm-sms/src/main/java/org/apache/camel/component/cm/CMConfiguration.java
index 74d75b0..b6d647f 100644
--- a/components/camel-cm-sms/src/main/java/org/apache/camel/component/cm/CMConfiguration.java
+++ b/components/camel-cm-sms/src/main/java/org/apache/camel/component/cm/CMConfiguration.java
@@ -28,7 +28,7 @@ import org.apache.camel.spi.UriParams;
 @UriParams
 public class CMConfiguration {
 
-    @UriParam @Metadata(required = "true")
+    @UriParam @Metadata(required = true)
     @NotNull
     private String productToken;
     @UriParam
diff --git a/components/camel-cm-sms/src/main/java/org/apache/camel/component/cm/CMEndpoint.java b/components/camel-cm-sms/src/main/java/org/apache/camel/component/cm/CMEndpoint.java
index a9213c1..f47a5eb 100644
--- a/components/camel-cm-sms/src/main/java/org/apache/camel/component/cm/CMEndpoint.java
+++ b/components/camel-cm-sms/src/main/java/org/apache/camel/component/cm/CMEndpoint.java
@@ -35,7 +35,7 @@ import org.apache.camel.util.StringHelper;
 public class CMEndpoint extends DefaultEndpoint {
 
     @UriPath
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String host;
     @UriParam
     private CMConfiguration configuration;
diff --git a/components/camel-cmis/src/main/java/org/apache/camel/component/cmis/CMISEndpoint.java b/components/camel-cmis/src/main/java/org/apache/camel/component/cmis/CMISEndpoint.java
index bee41bc..852a72c 100644
--- a/components/camel-cmis/src/main/java/org/apache/camel/component/cmis/CMISEndpoint.java
+++ b/components/camel-cmis/src/main/java/org/apache/camel/component/cmis/CMISEndpoint.java
@@ -34,7 +34,7 @@ import org.apache.camel.spi.UriPath;
 public class CMISEndpoint extends DefaultEndpoint {
 
     @UriPath(description = "URL to the cmis repository")
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private final String cmsUrl;
 
     @UriParam(label = "producer")
diff --git a/components/camel-cometd/src/main/java/org/apache/camel/component/cometd/CometdEndpoint.java b/components/camel-cometd/src/main/java/org/apache/camel/component/cometd/CometdEndpoint.java
index 5781282..12f4f38 100644
--- a/components/camel-cometd/src/main/java/org/apache/camel/component/cometd/CometdEndpoint.java
+++ b/components/camel-cometd/src/main/java/org/apache/camel/component/cometd/CometdEndpoint.java
@@ -42,11 +42,11 @@ public class CometdEndpoint extends DefaultEndpoint {
     private CometdComponent component;
 
     private URI uri;
-    @UriPath(description = "Hostname") @Metadata(required = "true")
+    @UriPath(description = "Hostname") @Metadata(required = true)
     private String host;
-    @UriPath(description = "Host port number") @Metadata(required = "true")
+    @UriPath(description = "Host port number") @Metadata(required = true)
     private int port;
-    @UriPath(description = "The channelName represents a topic that can be subscribed to by the Camel endpoints.") @Metadata(required = "true")
+    @UriPath(description = "The channelName represents a topic that can be subscribed to by the Camel endpoints.") @Metadata(required = true)
     private String channelName;
     @UriParam
     private String baseResource;
diff --git a/components/camel-consul/src/main/java/org/apache/camel/component/consul/ConsulEndpoint.java b/components/camel-consul/src/main/java/org/apache/camel/component/consul/ConsulEndpoint.java
index e69c293..1b7a5c0 100644
--- a/components/camel-consul/src/main/java/org/apache/camel/component/consul/ConsulEndpoint.java
+++ b/components/camel-consul/src/main/java/org/apache/camel/component/consul/ConsulEndpoint.java
@@ -39,7 +39,7 @@ public class ConsulEndpoint extends DefaultEndpoint {
     private final ConsulConfiguration configuration;
 
     @UriPath(description = "The API endpoint")
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private final String apiEndpoint;
 
     private final Optional<ConsulFactories.ProducerFactory> producerFactory;
diff --git a/components/camel-corda/src/main/java/org/apache/camel/component/corda/CordaConfiguration.java b/components/camel-corda/src/main/java/org/apache/camel/component/corda/CordaConfiguration.java
index 4d932ba..379b187 100644
--- a/components/camel-corda/src/main/java/org/apache/camel/component/corda/CordaConfiguration.java
+++ b/components/camel-corda/src/main/java/org/apache/camel/component/corda/CordaConfiguration.java
@@ -29,24 +29,24 @@ import org.apache.camel.spi.UriParams;
 @UriParams
 public class CordaConfiguration implements Cloneable {
     @UriParam
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String operation;
 
     @UriParam
-    @Metadata(required = "true", secret = true)
+    @Metadata(required = true, secret = true)
     private String username;
 
     @UriParam
-    @Metadata(required = "true", secret = true)
+    @Metadata(required = true, secret = true)
     private String password;
 
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String host;
 
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private int port;
 
-    @Metadata(required = "false", defaultValue = "true")
+    @Metadata(required = false, defaultValue = "true")
     private boolean processSnapshot = true;
 
     private Class<FlowLogic<?>> flowLociClass;
diff --git a/components/camel-corda/src/main/java/org/apache/camel/component/corda/CordaEndpoint.java b/components/camel-corda/src/main/java/org/apache/camel/component/corda/CordaEndpoint.java
index afc82b6..7ab7b9c 100644
--- a/components/camel-corda/src/main/java/org/apache/camel/component/corda/CordaEndpoint.java
+++ b/components/camel-corda/src/main/java/org/apache/camel/component/corda/CordaEndpoint.java
@@ -38,7 +38,7 @@ import org.apache.camel.support.DefaultEndpoint;
 public class CordaEndpoint extends DefaultEndpoint {
 
     @UriPath(description = "URL to the corda node")
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private CordaConfiguration configuration;
     private CordaRPCConnection rpcConnection;
     private CordaRPCOps proxy;
diff --git a/components/camel-couchbase/src/main/java/org/apache/camel/component/couchbase/CouchbaseEndpoint.java b/components/camel-couchbase/src/main/java/org/apache/camel/component/couchbase/CouchbaseEndpoint.java
index ac9fb5a..7aa1fbe 100644
--- a/components/camel-couchbase/src/main/java/org/apache/camel/component/couchbase/CouchbaseEndpoint.java
+++ b/components/camel-couchbase/src/main/java/org/apache/camel/component/couchbase/CouchbaseEndpoint.java
@@ -61,10 +61,10 @@ import static org.apache.camel.component.couchbase.CouchbaseConstants.DEFAULT_VI
 public class CouchbaseEndpoint extends ScheduledPollEndpoint {
 
     @UriPath
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String protocol;
     @UriPath
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String hostname;
     @UriPath(defaultValue = "8091")
     private int port;
diff --git a/components/camel-couchdb/src/main/java/org/apache/camel/component/couchdb/CouchDbEndpoint.java b/components/camel-couchdb/src/main/java/org/apache/camel/component/couchdb/CouchDbEndpoint.java
index cffef11..830ad95 100644
--- a/components/camel-couchdb/src/main/java/org/apache/camel/component/couchdb/CouchDbEndpoint.java
+++ b/components/camel-couchdb/src/main/java/org/apache/camel/component/couchdb/CouchDbEndpoint.java
@@ -42,13 +42,13 @@ public class CouchDbEndpoint extends DefaultEndpoint {
 
     private static final String URI_ERROR = "Invalid URI. Format must be of the form couchdb:http[s]://hostname[:port]/database?[options...]";
 
-    @UriPath(enums = "http,https") @Metadata(required = "true")
+    @UriPath(enums = "http,https") @Metadata(required = true)
     private String protocol;
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private String hostname;
     @UriPath(defaultValue = "" + DEFAULT_PORT)
     private int port;
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private String database;
     @UriParam(label = "consumer", enums = "all_docs,main_only", defaultValue = DEFAULT_STYLE)
     private String style = DEFAULT_STYLE;
diff --git a/components/camel-crypto-cms/src/main/java/org/apache/camel/component/crypto/cms/CryptoCmsEndpoint.java b/components/camel-crypto-cms/src/main/java/org/apache/camel/component/crypto/cms/CryptoCmsEndpoint.java
index 469fa65..6e18943 100644
--- a/components/camel-crypto-cms/src/main/java/org/apache/camel/component/crypto/cms/CryptoCmsEndpoint.java
+++ b/components/camel-crypto-cms/src/main/java/org/apache/camel/component/crypto/cms/CryptoCmsEndpoint.java
@@ -39,10 +39,10 @@ public class CryptoCmsEndpoint extends DefaultEndpoint {
     private final Processor processor;
 
     @UriPath
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private CryptoOperation cryptoOperation;
     @UriPath
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String name;
 
     // to include different kind of configuration params
diff --git a/components/camel-crypto/src/main/java/org/apache/camel/component/crypto/DigitalSignatureConfiguration.java b/components/camel-crypto/src/main/java/org/apache/camel/component/crypto/DigitalSignatureConfiguration.java
index 8bddff2..747874a 100644
--- a/components/camel-crypto/src/main/java/org/apache/camel/component/crypto/DigitalSignatureConfiguration.java
+++ b/components/camel-crypto/src/main/java/org/apache/camel/component/crypto/DigitalSignatureConfiguration.java
@@ -37,9 +37,9 @@ public class DigitalSignatureConfiguration implements Cloneable, CamelContextAwa
 
     private CamelContext context;
 
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private CryptoOperation cryptoOperation;
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private String name;
     @UriParam(secret = true)
     private PrivateKey privateKey;
diff --git a/components/camel-digitalocean/src/main/java/org/apache/camel/component/digitalocean/DigitalOceanConfiguration.java b/components/camel-digitalocean/src/main/java/org/apache/camel/component/digitalocean/DigitalOceanConfiguration.java
index c0923b1..a73548c 100644
--- a/components/camel-digitalocean/src/main/java/org/apache/camel/component/digitalocean/DigitalOceanConfiguration.java
+++ b/components/camel-digitalocean/src/main/java/org/apache/camel/component/digitalocean/DigitalOceanConfiguration.java
@@ -35,7 +35,7 @@ public class DigitalOceanConfiguration {
     private DigitalOceanOperations operation;
 
     @UriParam(enums = "account,actions,blockStorages,droplets,mages,snapshots,keys,regions,sizes,floatingIPs,tags")
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private DigitalOceanResources resource;
 
     @UriParam(label = "advanced")
diff --git a/components/camel-disruptor/src/main/java/org/apache/camel/component/disruptor/DisruptorEndpoint.java b/components/camel-disruptor/src/main/java/org/apache/camel/component/disruptor/DisruptorEndpoint.java
index f703411..4600e77 100644
--- a/components/camel-disruptor/src/main/java/org/apache/camel/component/disruptor/DisruptorEndpoint.java
+++ b/components/camel-disruptor/src/main/java/org/apache/camel/component/disruptor/DisruptorEndpoint.java
@@ -58,7 +58,7 @@ public class DisruptorEndpoint extends DefaultEndpoint implements AsyncEndpoint,
     private final Set<DisruptorConsumer> consumers = new CopyOnWriteArraySet<>();
     private final DisruptorReference disruptorReference;
 
-    @UriPath(description = "Name of queue") @Metadata(required = "true")
+    @UriPath(description = "Name of queue") @Metadata(required = true)
     private String name;
     @UriParam(label = "consumer", defaultValue = "1")
     private final int concurrentConsumers;
diff --git a/components/camel-dns/src/main/java/org/apache/camel/component/dns/DnsEndpoint.java b/components/camel-dns/src/main/java/org/apache/camel/component/dns/DnsEndpoint.java
index d47a8ff..0fd0ffb 100644
--- a/components/camel-dns/src/main/java/org/apache/camel/component/dns/DnsEndpoint.java
+++ b/components/camel-dns/src/main/java/org/apache/camel/component/dns/DnsEndpoint.java
@@ -31,7 +31,7 @@ import org.apache.camel.spi.UriPath;
 @UriEndpoint(firstVersion = "2.7.0", scheme = "dns", title = "DNS", syntax = "dns:dnsType", producerOnly = true, label = "networking")
 public class DnsEndpoint extends DefaultEndpoint {
 
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private DnsType dnsType;
 
     public DnsEndpoint(String endpointUri, Component component) {
diff --git a/components/camel-docker/src/main/java/org/apache/camel/component/docker/DockerConfiguration.java b/components/camel-docker/src/main/java/org/apache/camel/component/docker/DockerConfiguration.java
index ec5b55f..cefec00 100644
--- a/components/camel-docker/src/main/java/org/apache/camel/component/docker/DockerConfiguration.java
+++ b/components/camel-docker/src/main/java/org/apache/camel/component/docker/DockerConfiguration.java
@@ -31,11 +31,11 @@ public class DockerConfiguration implements Cloneable {
     @UriPath(enums = "events,stats,auth,info,ping,version,imagebuild,imagecreate,imageinspect,imagelist,imagepull,imagepush"
             + "imageremove,imagesearch,imagetag,containerattach,containercommit,containercopyfile,containercreate,containerdiff"
             + "inspectcontainer,containerkill,containerlist,containerlog,containerpause,containerrestart,containerremove,containerstart"
-            + "containerstop,containertop,containerunpause,containerwait,execcreate,execstart") @Metadata(required = "true")
+            + "containerstop,containertop,containerunpause,containerwait,execcreate,execstart") @Metadata(required = true)
     private DockerOperation operation;
-    @UriParam(defaultValue = "localhost") @Metadata(required = "true")
+    @UriParam(defaultValue = "localhost") @Metadata(required = true)
     private String host = "localhost";
-    @UriParam(defaultValue = "2375") @Metadata(required = "true")
+    @UriParam(defaultValue = "2375") @Metadata(required = true)
     private Integer port = 2375;
     @UriParam(label = "security", secret = true)
     private String username;
diff --git a/components/camel-dozer/src/main/java/org/apache/camel/component/dozer/DozerConfiguration.java b/components/camel-dozer/src/main/java/org/apache/camel/component/dozer/DozerConfiguration.java
index e00eff5..8ff448d 100644
--- a/components/camel-dozer/src/main/java/org/apache/camel/component/dozer/DozerConfiguration.java
+++ b/components/camel-dozer/src/main/java/org/apache/camel/component/dozer/DozerConfiguration.java
@@ -30,7 +30,7 @@ import static com.github.dozermapper.core.util.DozerConstants.DEFAULT_MAPPING_FI
 @UriParams
 public class DozerConfiguration {
 
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private String name;
     @UriParam
     private String marshalId;
@@ -38,7 +38,7 @@ public class DozerConfiguration {
     private String unmarshalId;
     @UriParam
     private String sourceModel;
-    @UriParam @Metadata(required = "true")
+    @UriParam @Metadata(required = true)
     private String targetModel;
     @UriParam(defaultValue = DEFAULT_MAPPING_FILE)
     private String mappingFile;
diff --git a/components/camel-drill/src/main/java/org/apache/camel/component/drill/DrillEndpoint.java b/components/camel-drill/src/main/java/org/apache/camel/component/drill/DrillEndpoint.java
index a6bfb09..0b193b5 100644
--- a/components/camel-drill/src/main/java/org/apache/camel/component/drill/DrillEndpoint.java
+++ b/components/camel-drill/src/main/java/org/apache/camel/component/drill/DrillEndpoint.java
@@ -43,10 +43,10 @@ import org.springframework.jdbc.core.RowMapperResultSetExtractor;
 public class DrillEndpoint extends DefaultPollingEndpoint {
 
     @UriPath(description = "Host name or IP address")
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String host;
     @UriParam(description = "Port number")
-    @Metadata(required = "false", defaultValue = "2181")
+    @Metadata(required = false, defaultValue = "2181")
     private Integer port = 2181;
     @UriParam(description = "Drill directory", defaultValue = "")
     private String directory = "";
diff --git a/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/DropboxConfiguration.java b/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/DropboxConfiguration.java
index e99ed02..f2a93c6 100644
--- a/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/DropboxConfiguration.java
+++ b/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/DropboxConfiguration.java
@@ -31,10 +31,10 @@ import org.apache.camel.spi.UriPath;
 public class DropboxConfiguration {
 
     //specific dropbox operation for the component
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private DropboxOperation operation;
     //dropbox auth options
-    @UriParam @Metadata(required = "true")
+    @UriParam @Metadata(required = true)
     private String accessToken;
     //local path to put files
     @UriParam
diff --git a/components/camel-ehcache/src/main/java/org/apache/camel/component/ehcache/EhcacheEndpoint.java b/components/camel-ehcache/src/main/java/org/apache/camel/component/ehcache/EhcacheEndpoint.java
index 0328a7c..91aff84 100644
--- a/components/camel-ehcache/src/main/java/org/apache/camel/component/ehcache/EhcacheEndpoint.java
+++ b/components/camel-ehcache/src/main/java/org/apache/camel/component/ehcache/EhcacheEndpoint.java
@@ -31,7 +31,7 @@ import org.apache.camel.spi.UriPath;
 @UriEndpoint(firstVersion = "2.18.0", scheme = "ehcache", title = "Ehcache", syntax = "ehcache:cacheName", consumerClass = EhcacheConsumer.class, label = "cache,datagrid,clustering")
 public class EhcacheEndpoint extends DefaultEndpoint {
     @UriPath(description = "the cache name")
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private final String cacheName;
     @UriParam
     private final EhcacheConfiguration configuration;
diff --git a/components/camel-elasticsearch-rest/src/main/java/org/apache/camel/component/elasticsearch/ElasticsearchConfiguration.java b/components/camel-elasticsearch-rest/src/main/java/org/apache/camel/component/elasticsearch/ElasticsearchConfiguration.java
index ea4ae65..8adf6ff 100644
--- a/components/camel-elasticsearch-rest/src/main/java/org/apache/camel/component/elasticsearch/ElasticsearchConfiguration.java
+++ b/components/camel-elasticsearch-rest/src/main/java/org/apache/camel/component/elasticsearch/ElasticsearchConfiguration.java
@@ -29,7 +29,7 @@ public class ElasticsearchConfiguration {
 
     private List<HttpHost> hostAddressesList;
 
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private String clusterName;
     @UriParam
     private ElasticsearchOperation operation;
@@ -39,7 +39,7 @@ public class ElasticsearchConfiguration {
     private String indexType;
     @UriParam(defaultValue = "" + ElasticsearchConstants.DEFAULT_FOR_WAIT_ACTIVE_SHARDS)
     private int waitForActiveShards = ElasticsearchConstants.DEFAULT_FOR_WAIT_ACTIVE_SHARDS;
-    @UriParam @Metadata(required = "true")
+    @UriParam @Metadata(required = true)
     private String hostAddresses;
     @UriParam(defaultValue = "" + ElasticsearchConstants.DEFAULT_SOCKET_TIMEOUT)
     private int socketTimeout = ElasticsearchConstants.DEFAULT_SOCKET_TIMEOUT;
diff --git a/components/camel-elsql/src/main/java/org/apache/camel/component/elsql/ElsqlEndpoint.java b/components/camel-elsql/src/main/java/org/apache/camel/component/elsql/ElsqlEndpoint.java
index 1256cd5..94e5630 100644
--- a/components/camel-elsql/src/main/java/org/apache/camel/component/elsql/ElsqlEndpoint.java
+++ b/components/camel-elsql/src/main/java/org/apache/camel/component/elsql/ElsqlEndpoint.java
@@ -53,7 +53,7 @@ public class ElsqlEndpoint extends DefaultSqlEndpoint {
     private final NamedParameterJdbcTemplate namedJdbcTemplate;
 
     @UriPath
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private final String elsqlName;
     @UriPath
     private String resourceUri;
diff --git a/components/camel-etcd/src/main/java/org/apache/camel/component/etcd/AbstractEtcdPollingEndpoint.java b/components/camel-etcd/src/main/java/org/apache/camel/component/etcd/AbstractEtcdPollingEndpoint.java
index f47966c..720507f 100644
--- a/components/camel-etcd/src/main/java/org/apache/camel/component/etcd/AbstractEtcdPollingEndpoint.java
+++ b/components/camel-etcd/src/main/java/org/apache/camel/component/etcd/AbstractEtcdPollingEndpoint.java
@@ -30,10 +30,10 @@ import org.apache.camel.spi.UriPath;
 public abstract class AbstractEtcdPollingEndpoint extends DefaultPollingEndpoint implements EtcdEndpoint {
 
     @UriPath(description = "The API namespace to use", enums = "keys,stats,watch")
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private final EtcdNamespace namespace;
     @UriPath(description = "The path the endpoint refers to")
-    @Metadata(required = "false")
+    @Metadata(required = false)
     private final String path;
     @UriParam
     private final EtcdConfiguration configuration;
diff --git a/components/camel-exec/src/main/java/org/apache/camel/component/exec/ExecEndpoint.java b/components/camel-exec/src/main/java/org/apache/camel/component/exec/ExecEndpoint.java
index 8df7602..11155103 100644
--- a/components/camel-exec/src/main/java/org/apache/camel/component/exec/ExecEndpoint.java
+++ b/components/camel-exec/src/main/java/org/apache/camel/component/exec/ExecEndpoint.java
@@ -39,7 +39,7 @@ public class ExecEndpoint extends DefaultEndpoint {
      */
     public static final long NO_TIMEOUT = Long.MAX_VALUE;
 
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private String executable;
     @UriParam
     private String args;
diff --git a/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/FacebookEndpoint.java b/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/FacebookEndpoint.java
index 038670e..7386de6 100644
--- a/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/FacebookEndpoint.java
+++ b/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/FacebookEndpoint.java
@@ -56,7 +56,7 @@ public class FacebookEndpoint extends DefaultEndpoint implements FacebookConstan
 
     private FacebookNameStyle nameStyle;
 
-    @UriPath(name = "methodName", description = "What operation to perform") @Metadata(required = "true")
+    @UriPath(name = "methodName", description = "What operation to perform") @Metadata(required = true)
 
     private String method;
     private FacebookMethodsType methodName;
diff --git a/components/camel-fhir/camel-fhir-component/src/main/java/org/apache/camel/component/fhir/FhirConfiguration.java b/components/camel-fhir/camel-fhir-component/src/main/java/org/apache/camel/component/fhir/FhirConfiguration.java
index 604d084..ae4963e 100644
--- a/components/camel-fhir/camel-fhir-component/src/main/java/org/apache/camel/component/fhir/FhirConfiguration.java
+++ b/components/camel-fhir/camel-fhir-component/src/main/java/org/apache/camel/component/fhir/FhirConfiguration.java
@@ -37,10 +37,10 @@ import org.apache.camel.util.ObjectHelper;
 public class FhirConfiguration {
 
     @UriPath
-    @Metadata(enums = "capabilities, create, delete, history, load-page, meta, patch, read, search, transaction, update, validate", required = "true")
+    @Metadata(enums = "capabilities, create, delete, history, load-page, meta, patch, read, search, transaction, update, validate", required = true)
     private FhirApiName apiName;
     @UriPath
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String methodName;
 
     @UriParam(description = "The FHIR server base URL")
diff --git a/components/camel-flatpack/src/main/java/org/apache/camel/component/flatpack/FlatpackEndpoint.java b/components/camel-flatpack/src/main/java/org/apache/camel/component/flatpack/FlatpackEndpoint.java
index 65eaaed..604ad21 100644
--- a/components/camel-flatpack/src/main/java/org/apache/camel/component/flatpack/FlatpackEndpoint.java
+++ b/components/camel-flatpack/src/main/java/org/apache/camel/component/flatpack/FlatpackEndpoint.java
@@ -53,9 +53,9 @@ public class FlatpackEndpoint extends DefaultPollingEndpoint {
     private LoadBalancer loadBalancer = new RoundRobinLoadBalancer();
     private ParserFactory parserFactory = DefaultParserFactory.getInstance();
 
-    @UriPath @Metadata(required = "false", defaultValue = "delim")
+    @UriPath @Metadata(required = false, defaultValue = "delim")
     private FlatpackType type;
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private String resourceUri;
 
     @UriParam(defaultValue = "true")
diff --git a/components/camel-flink/src/main/java/org/apache/camel/component/flink/FlinkEndpoint.java b/components/camel-flink/src/main/java/org/apache/camel/component/flink/FlinkEndpoint.java
index 3640789..85f84bb 100644
--- a/components/camel-flink/src/main/java/org/apache/camel/component/flink/FlinkEndpoint.java
+++ b/components/camel-flink/src/main/java/org/apache/camel/component/flink/FlinkEndpoint.java
@@ -34,7 +34,7 @@ import org.apache.flink.streaming.api.datastream.DataStream;
 public class FlinkEndpoint extends DefaultEndpoint {
 
     @UriPath
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private EndpointType endpointType;
     @UriParam
     private DataSet dataSet;
diff --git a/components/camel-fop/src/main/java/org/apache/camel/component/fop/FopEndpoint.java b/components/camel-fop/src/main/java/org/apache/camel/component/fop/FopEndpoint.java
index 230ad99..2613623 100644
--- a/components/camel-fop/src/main/java/org/apache/camel/component/fop/FopEndpoint.java
+++ b/components/camel-fop/src/main/java/org/apache/camel/component/fop/FopEndpoint.java
@@ -36,7 +36,7 @@ import org.apache.fop.apps.FopFactory;
 @UriEndpoint(firstVersion = "2.10.0", scheme = "fop", title = "FOP", syntax = "fop:outputType", producerOnly = true, label = "transformation")
 public class FopEndpoint extends DefaultEndpoint {
 
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private FopOutputType outputType;
     @UriParam
     private String userConfigURL;
diff --git a/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileConfiguration.java b/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileConfiguration.java
index bb8a818..d22e1be 100644
--- a/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileConfiguration.java
+++ b/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileConfiguration.java
@@ -41,7 +41,7 @@ public abstract class RemoteFileConfiguration extends GenericFileConfiguration {
 
     // component name is implied as the protocol, eg ftp/ftps etc
     private String protocol;
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private String host;
     @UriPath
     private int port;
diff --git a/components/camel-git/src/main/java/org/apache/camel/component/git/GitEndpoint.java b/components/camel-git/src/main/java/org/apache/camel/component/git/GitEndpoint.java
index 9841d08..7ae4256 100644
--- a/components/camel-git/src/main/java/org/apache/camel/component/git/GitEndpoint.java
+++ b/components/camel-git/src/main/java/org/apache/camel/component/git/GitEndpoint.java
@@ -37,7 +37,7 @@ import org.apache.camel.support.DefaultEndpoint;
 public class GitEndpoint extends DefaultEndpoint {
 
     @UriPath
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String localPath;
 
     @UriParam
diff --git a/components/camel-github/src/main/java/org/apache/camel/component/github/GitHubEndpoint.java b/components/camel-github/src/main/java/org/apache/camel/component/github/GitHubEndpoint.java
index 4250e5a..3c822f5 100644
--- a/components/camel-github/src/main/java/org/apache/camel/component/github/GitHubEndpoint.java
+++ b/components/camel-github/src/main/java/org/apache/camel/component/github/GitHubEndpoint.java
@@ -62,7 +62,7 @@ import org.apache.camel.util.StringHelper;
 @UriEndpoint(firstVersion = "2.15.0", scheme = "github", title = "GitHub", syntax = "github:type/branchName", label = "api,file")
 public class GitHubEndpoint extends DefaultEndpoint {
 
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private GitHubType type;
     @UriPath(label = "consumer")
     private String branchName;
@@ -72,9 +72,9 @@ public class GitHubEndpoint extends DefaultEndpoint {
     private String password;
     @UriParam
     private String oauthToken;
-    @UriParam @Metadata(required = "true")
+    @UriParam @Metadata(required = true)
     private String repoOwner;
-    @UriParam @Metadata(required = "true")
+    @UriParam @Metadata(required = true)
     private String repoName;
     @UriParam(label = "producer", enums = "error,failure,pending,success")
     private String state;
diff --git a/components/camel-google-bigquery/src/main/java/org/apache/camel/component/google/bigquery/GoogleBigQueryConfiguration.java b/components/camel-google-bigquery/src/main/java/org/apache/camel/component/google/bigquery/GoogleBigQueryConfiguration.java
index e10fc80..b2ac118 100644
--- a/components/camel-google-bigquery/src/main/java/org/apache/camel/component/google/bigquery/GoogleBigQueryConfiguration.java
+++ b/components/camel-google-bigquery/src/main/java/org/apache/camel/component/google/bigquery/GoogleBigQueryConfiguration.java
@@ -28,11 +28,11 @@ public class GoogleBigQueryConfiguration {
     private GoogleBigQueryConnectionFactory connectionFactory;
     @UriParam(description = "Field name to use as insert id")
     private String useAsInsertId;
-    @UriPath(label = "common", description = "Google Cloud Project Id") @Metadata(required = "true")
+    @UriPath(label = "common", description = "Google Cloud Project Id") @Metadata(required = true)
     private String projectId;
-    @UriPath(label = "common", description = "BigQuery Dataset Id") @Metadata(required = "true")
+    @UriPath(label = "common", description = "BigQuery Dataset Id") @Metadata(required = true)
     private String datasetId;
-    @UriPath(label = "common", description = "BigQuery table id") @Metadata(required = "false")
+    @UriPath(label = "common", description = "BigQuery table id") @Metadata(required = false)
     private String tableId;
 
     public void parseRemaining(String remaining) {
diff --git a/components/camel-google-bigquery/src/main/java/org/apache/camel/component/google/bigquery/sql/GoogleBigQuerySQLConfiguration.java b/components/camel-google-bigquery/src/main/java/org/apache/camel/component/google/bigquery/sql/GoogleBigQuerySQLConfiguration.java
index 5e766a0..7e062e4 100644
--- a/components/camel-google-bigquery/src/main/java/org/apache/camel/component/google/bigquery/sql/GoogleBigQuerySQLConfiguration.java
+++ b/components/camel-google-bigquery/src/main/java/org/apache/camel/component/google/bigquery/sql/GoogleBigQuerySQLConfiguration.java
@@ -28,10 +28,10 @@ public class GoogleBigQuerySQLConfiguration {
     @UriParam(description = "ConnectionFactory to obtain connection to Bigquery Service. If non provided the default one will be used")
     private GoogleBigQueryConnectionFactory connectionFactory;
     @UriPath(label = "common", description = "Google Cloud Project Id")
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String projectId;
     @UriPath(label = "common", description = "BigQuery standard SQL query")
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String query;
 
     public void parseRemaining(String remaining) {
diff --git a/components/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/GoogleCalendarConfiguration.java b/components/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/GoogleCalendarConfiguration.java
index 87bc692..64bcca5 100644
--- a/components/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/GoogleCalendarConfiguration.java
+++ b/components/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/GoogleCalendarConfiguration.java
@@ -30,11 +30,11 @@ import org.apache.camel.spi.UriPath;
 public class GoogleCalendarConfiguration {
 
     @UriPath
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private GoogleCalendarApiName apiName;
 
     @UriPath(enums = "calendarImport,clear,delete,get,insert,instances,list,move,patch,query,quickAdd,stop,update,watch")
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String methodName;
 
     @UriParam(defaultValue = CalendarScopes.CALENDAR)
diff --git a/components/camel-google-drive/src/main/java/org/apache/camel/component/google/drive/GoogleDriveConfiguration.java b/components/camel-google-drive/src/main/java/org/apache/camel/component/google/drive/GoogleDriveConfiguration.java
index a3c2218..d79815d 100644
--- a/components/camel-google-drive/src/main/java/org/apache/camel/component/google/drive/GoogleDriveConfiguration.java
+++ b/components/camel-google-drive/src/main/java/org/apache/camel/component/google/drive/GoogleDriveConfiguration.java
@@ -35,11 +35,11 @@ public class GoogleDriveConfiguration {
             DriveScopes.DRIVE);
 
     @UriPath(enums = "drive-about,drive-apps,drive-changes,drive-channels,drive-children,drive-comments,drive-files,drive-parents"
-            + ",drive-permissions,drive-properties,drive-realtime,drive-replies,drive-revisions") @Metadata(required = "true")
+            + ",drive-permissions,drive-properties,drive-realtime,drive-replies,drive-revisions") @Metadata(required = true)
     private GoogleDriveApiName apiName;
 
     @UriPath(enums = "copy,delete,get,getIdForEmail,insert,list,patch,stop,touch,trash,untrash,update,watch")
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String methodName;
     
     @UriParam
diff --git a/components/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/GoogleMailConfiguration.java b/components/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/GoogleMailConfiguration.java
index 28a1de2..823f97c 100644
--- a/components/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/GoogleMailConfiguration.java
+++ b/components/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/GoogleMailConfiguration.java
@@ -31,11 +31,11 @@ import org.apache.camel.spi.UriPath;
  */
 @UriParams
 public class GoogleMailConfiguration {
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private GoogleMailApiName apiName;
 
     @UriPath(enums = "attachments,create,delete,get,getProfile,gmailImport,insert,list,modify,patch,send,trash,untrash,update")
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String methodName;
 
     @UriParam
diff --git a/components/camel-google-pubsub/src/main/java/org/apache/camel/component/google/pubsub/GooglePubsubEndpoint.java b/components/camel-google-pubsub/src/main/java/org/apache/camel/component/google/pubsub/GooglePubsubEndpoint.java
index b0828ed..0fccd04 100644
--- a/components/camel-google-pubsub/src/main/java/org/apache/camel/component/google/pubsub/GooglePubsubEndpoint.java
+++ b/components/camel-google-pubsub/src/main/java/org/apache/camel/component/google/pubsub/GooglePubsubEndpoint.java
@@ -45,11 +45,11 @@ public class GooglePubsubEndpoint extends DefaultEndpoint {
     private Logger log;
 
     @UriPath(description = "Project Id")
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String projectId;
 
     @UriPath(description = "Destination Name")
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String destinationName;
 
     @UriParam(name = "loggerId", description = "Logger ID to use when a match to the parent route required")
diff --git a/components/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/GoogleSheetsConfiguration.java b/components/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/GoogleSheetsConfiguration.java
index 3492c59..75d11dc 100644
--- a/components/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/GoogleSheetsConfiguration.java
+++ b/components/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/GoogleSheetsConfiguration.java
@@ -29,11 +29,11 @@ import org.apache.camel.spi.UriPath;
 public class GoogleSheetsConfiguration {
 
     @UriPath
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private GoogleSheetsApiName apiName;
 
     @UriPath(enums = "create,get,update,append,batchUpdate,clear")
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String methodName;
 
     @UriParam
diff --git a/components/camel-gora/src/main/java/org/apache/camel/component/gora/GoraConfiguration.java b/components/camel-gora/src/main/java/org/apache/camel/component/gora/GoraConfiguration.java
index 0cb2928..fde5966 100644
--- a/components/camel-gora/src/main/java/org/apache/camel/component/gora/GoraConfiguration.java
+++ b/components/camel-gora/src/main/java/org/apache/camel/component/gora/GoraConfiguration.java
@@ -32,7 +32,7 @@ import static com.google.common.base.Strings.isNullOrEmpty;
 @UriParams
 public class GoraConfiguration {
 
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private String name;
     @UriParam
     private String keyClass;
diff --git a/components/camel-grape/src/main/groovy/org/apache/camel/component/grape/GrapeEndpoint.groovy b/components/camel-grape/src/main/groovy/org/apache/camel/component/grape/GrapeEndpoint.groovy
index f7942ae..a82da51 100644
--- a/components/camel-grape/src/main/groovy/org/apache/camel/component/grape/GrapeEndpoint.groovy
+++ b/components/camel-grape/src/main/groovy/org/apache/camel/component/grape/GrapeEndpoint.groovy
@@ -34,7 +34,7 @@ import static org.apache.camel.component.grape.MavenCoordinates.parseMavenCoordi
 @UriEndpoint(firstVersion = "2.16.0", scheme = "grape", syntax = "grape:defaultCoordinates", title = "Grape", producerOnly = true, label = "management,deployment")
 class GrapeEndpoint extends DefaultEndpoint {
 
-    @UriPath(description = "Maven coordinates to use as default to grab if the message body is empty") @Metadata(required = "true")
+    @UriPath(description = "Maven coordinates to use as default to grab if the message body is empty") @Metadata(required = true)
     private final String defaultCoordinates
 
     GrapeEndpoint(String endpointUri, String defaultCoordinates, GrapeComponent component) {
diff --git a/components/camel-grpc/src/main/java/org/apache/camel/component/grpc/GrpcConfiguration.java b/components/camel-grpc/src/main/java/org/apache/camel/component/grpc/GrpcConfiguration.java
index b2bb29a..879500a 100644
--- a/components/camel-grpc/src/main/java/org/apache/camel/component/grpc/GrpcConfiguration.java
+++ b/components/camel-grpc/src/main/java/org/apache/camel/component/grpc/GrpcConfiguration.java
@@ -32,15 +32,15 @@ import org.apache.camel.spi.UriPath;
 public class GrpcConfiguration {
 
     @UriPath
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String host;
 
     @UriPath
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private int port;
     
     @UriPath
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String service;
     
     @UriParam(label = "producer")
diff --git a/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/HazelcastDefaultEndpoint.java b/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/HazelcastDefaultEndpoint.java
index 4db7a91..48d735b 100644
--- a/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/HazelcastDefaultEndpoint.java
+++ b/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/HazelcastDefaultEndpoint.java
@@ -35,7 +35,7 @@ import org.apache.camel.spi.UriPath;
 public abstract class HazelcastDefaultEndpoint extends DefaultEndpoint {
 
     protected HazelcastCommand command;
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     protected String cacheName;
     @UriParam
     protected HazelcastInstance hazelcastInstance;
diff --git a/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/HBaseEndpoint.java b/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/HBaseEndpoint.java
index 9133973..2acfa88 100644
--- a/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/HBaseEndpoint.java
+++ b/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/HBaseEndpoint.java
@@ -50,7 +50,7 @@ public class HBaseEndpoint extends DefaultEndpoint {
     private final Connection connection;
     private HBaseAdmin admin;
 
-    @UriPath(description = "The name of the table") @Metadata(required = "true")
+    @UriPath(description = "The name of the table") @Metadata(required = true)
     private final String tableName;
     @UriParam(label = "producer", defaultValue = "100")
     private int maxResults = 100;
diff --git a/components/camel-hdfs2/src/main/java/org/apache/camel/component/hdfs2/HdfsConfiguration.java b/components/camel-hdfs2/src/main/java/org/apache/camel/component/hdfs2/HdfsConfiguration.java
index 91f2ef6..51e807a 100644
--- a/components/camel-hdfs2/src/main/java/org/apache/camel/component/hdfs2/HdfsConfiguration.java
+++ b/components/camel-hdfs2/src/main/java/org/apache/camel/component/hdfs2/HdfsConfiguration.java
@@ -36,11 +36,11 @@ public class HdfsConfiguration {
     private boolean wantAppend;
     private List<HdfsProducer.SplitStrategy> splitStrategies;
 
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private String hostName;
     @UriPath(defaultValue = "" + HdfsConstants.DEFAULT_PORT)
     private int port = HdfsConstants.DEFAULT_PORT;
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private String path;
     @UriParam(label = "producer", defaultValue = "true")
     private boolean overwrite = true;
diff --git a/components/camel-hipchat/src/main/java/org/apache/camel/component/hipchat/HipchatConfiguration.java b/components/camel-hipchat/src/main/java/org/apache/camel/component/hipchat/HipchatConfiguration.java
index a768369..1445eaa 100644
--- a/components/camel-hipchat/src/main/java/org/apache/camel/component/hipchat/HipchatConfiguration.java
+++ b/components/camel-hipchat/src/main/java/org/apache/camel/component/hipchat/HipchatConfiguration.java
@@ -26,10 +26,10 @@ import org.apache.http.impl.client.HttpClients;
 @UriParams
 public class HipchatConfiguration {
     @UriPath
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String protocol;
     @UriPath
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String host = HipchatConstants.DEFAULT_HOST;
     @UriPath(defaultValue = "" + HipchatConstants.DEFAULT_PORT)
     private Integer port = HipchatConstants.DEFAULT_PORT;
diff --git a/components/camel-http-common/src/main/java/org/apache/camel/http/common/HttpCommonEndpoint.java b/components/camel-http-common/src/main/java/org/apache/camel/http/common/HttpCommonEndpoint.java
index 29fa4af..5fa9fb1 100644
--- a/components/camel-http-common/src/main/java/org/apache/camel/http/common/HttpCommonEndpoint.java
+++ b/components/camel-http-common/src/main/java/org/apache/camel/http/common/HttpCommonEndpoint.java
@@ -37,7 +37,7 @@ public abstract class HttpCommonEndpoint extends DefaultEndpoint implements Head
 
     HttpCommonComponent component;
 
-    @UriPath(label = "producer", description = "The url of the HTTP endpoint to call.") @Metadata(required = "true")
+    @UriPath(label = "producer", description = "The url of the HTTP endpoint to call.") @Metadata(required = true)
     URI httpUri;
     @UriParam(label = "common", description = "To use a custom HeaderFilterStrategy to filter header to and from Camel message.")
     HeaderFilterStrategy headerFilterStrategy = new HttpHeaderFilterStrategy();
diff --git a/components/camel-iec60870/src/main/java/org/apache/camel/component/iec60870/AbstractIecEndpoint.java b/components/camel-iec60870/src/main/java/org/apache/camel/component/iec60870/AbstractIecEndpoint.java
index 09d1bae..d80e74a 100644
--- a/components/camel-iec60870/src/main/java/org/apache/camel/component/iec60870/AbstractIecEndpoint.java
+++ b/components/camel-iec60870/src/main/java/org/apache/camel/component/iec60870/AbstractIecEndpoint.java
@@ -36,7 +36,7 @@ public abstract class AbstractIecEndpoint<T extends AbstractConnectionMultiplexo
      * The object information address
      */
     @UriPath(name = "uriPath")
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private final ObjectAddress address;
 
     // dummy for doc generation
diff --git a/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/cache/IgniteCacheEndpoint.java b/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/cache/IgniteCacheEndpoint.java
index 8c7a359..e096f43 100644
--- a/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/cache/IgniteCacheEndpoint.java
+++ b/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/cache/IgniteCacheEndpoint.java
@@ -47,7 +47,7 @@ import org.apache.ignite.cache.query.Query;
     consumerClass = IgniteCacheContinuousQueryConsumer.class)
 public class IgniteCacheEndpoint extends AbstractIgniteEndpoint {
 
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private String cacheName;
 
     @UriParam(label = "producer")
diff --git a/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/compute/IgniteComputeEndpoint.java b/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/compute/IgniteComputeEndpoint.java
index cac13d2..c15f001 100644
--- a/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/compute/IgniteComputeEndpoint.java
+++ b/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/compute/IgniteComputeEndpoint.java
@@ -42,13 +42,13 @@ import org.apache.ignite.IgniteCompute;
 @UriEndpoint(firstVersion = "2.17.0", scheme = "ignite-compute", title = "Ignite Compute", syntax = "ignite-compute:endpointId", label = "nosql,cache,compute", producerOnly = true)
 public class IgniteComputeEndpoint extends AbstractIgniteEndpoint {
 
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private String endpointId;
 
     @UriParam(label = "producer")
     private ClusterGroupExpression clusterGroupExpression;
 
-    @UriParam(label = "producer") @Metadata(required = "true")
+    @UriParam(label = "producer") @Metadata(required = true)
     private IgniteComputeExecutionType executionType;
 
     @UriParam(label = "producer")
diff --git a/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/idgen/IgniteIdGenEndpoint.java b/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/idgen/IgniteIdGenEndpoint.java
index d80c807..75ceb94 100644
--- a/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/idgen/IgniteIdGenEndpoint.java
+++ b/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/idgen/IgniteIdGenEndpoint.java
@@ -40,7 +40,7 @@ import org.apache.ignite.IgniteAtomicSequence;
 public class IgniteIdGenEndpoint extends AbstractIgniteEndpoint {
 
     @UriPath
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String name;
 
     @UriParam(label = "producer")
diff --git a/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/messaging/IgniteMessagingEndpoint.java b/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/messaging/IgniteMessagingEndpoint.java
index 8b9df4b..2bb3a72 100644
--- a/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/messaging/IgniteMessagingEndpoint.java
+++ b/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/messaging/IgniteMessagingEndpoint.java
@@ -42,7 +42,7 @@ import org.apache.ignite.IgniteMessaging;
 public class IgniteMessagingEndpoint extends AbstractIgniteEndpoint {
 
     @UriPath
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String topic;
 
     @UriParam(label = "consumer,producer")
diff --git a/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/queue/IgniteQueueEndpoint.java b/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/queue/IgniteQueueEndpoint.java
index 83f2c86..7ee18c9 100644
--- a/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/queue/IgniteQueueEndpoint.java
+++ b/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/queue/IgniteQueueEndpoint.java
@@ -42,7 +42,7 @@ import org.apache.ignite.configuration.CollectionConfiguration;
 @UriEndpoint(firstVersion = "2.17.0", scheme = "ignite-queue", title = "Ignite Queues", syntax = "ignite-queue:name", label = "nosql,cache", producerOnly = true)
 public class IgniteQueueEndpoint extends AbstractIgniteEndpoint {
 
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private String name;
 
     @UriParam(label = "producer")
diff --git a/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/set/IgniteSetEndpoint.java b/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/set/IgniteSetEndpoint.java
index 27235fe..a0b4532 100644
--- a/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/set/IgniteSetEndpoint.java
+++ b/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/set/IgniteSetEndpoint.java
@@ -41,7 +41,7 @@ import org.apache.ignite.configuration.CollectionConfiguration;
 @UriEndpoint(firstVersion = "2.17.0", scheme = "ignite-set", title = "Ignite Sets", syntax = "ignite-set:name", label = "nosql,cache", producerOnly = true)
 public class IgniteSetEndpoint extends AbstractIgniteEndpoint {
 
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private String name;
 
     @UriParam(label = "producer")
diff --git a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanEndpoint.java b/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanEndpoint.java
index 25cf96f..ed64dc5 100644
--- a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanEndpoint.java
+++ b/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanEndpoint.java
@@ -32,7 +32,7 @@ import org.apache.camel.spi.UriPath;
 public class InfinispanEndpoint extends DefaultEndpoint {
 
     @UriPath(description = "The cache to use")
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private final String cacheName;
 
     @UriParam
diff --git a/components/camel-influxdb/src/main/java/org/apache/camel/component/influxdb/InfluxDbEndpoint.java b/components/camel-influxdb/src/main/java/org/apache/camel/component/influxdb/InfluxDbEndpoint.java
index 2a88743..721af12 100644
--- a/components/camel-influxdb/src/main/java/org/apache/camel/component/influxdb/InfluxDbEndpoint.java
+++ b/components/camel-influxdb/src/main/java/org/apache/camel/component/influxdb/InfluxDbEndpoint.java
@@ -36,7 +36,7 @@ public class InfluxDbEndpoint extends DefaultEndpoint {
     private InfluxDB influxDB;
 
     @UriPath
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String connectionBean;
     @UriParam
     private String databaseName;
diff --git a/components/camel-iota/src/main/java/org/apache/camel/component/iota/IOTAEndpoint.java b/components/camel-iota/src/main/java/org/apache/camel/component/iota/IOTAEndpoint.java
index 34b191c..e3da4b2 100644
--- a/components/camel-iota/src/main/java/org/apache/camel/component/iota/IOTAEndpoint.java
+++ b/components/camel-iota/src/main/java/org/apache/camel/component/iota/IOTAEndpoint.java
@@ -39,7 +39,7 @@ public class IOTAEndpoint extends DefaultEndpoint {
     private IotaAPI apiClient;
 
     @UriPath
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String name;
 
     @UriParam
diff --git a/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConfiguration.java b/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConfiguration.java
index 72e0dd1..3a44847 100644
--- a/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConfiguration.java
+++ b/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConfiguration.java
@@ -46,7 +46,7 @@ public class IrcConfiguration implements Cloneable {
     private boolean usingSSL;
     private List<IrcChannel> channels = new ArrayList<>();
 
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private String hostname;
     @UriPath
     private int port;
diff --git a/components/camel-ironmq/src/main/java/org/apache/camel/component/ironmq/IronMQConfiguration.java b/components/camel-ironmq/src/main/java/org/apache/camel/component/ironmq/IronMQConfiguration.java
index 2eec44f..31609c9 100644
--- a/components/camel-ironmq/src/main/java/org/apache/camel/component/ironmq/IronMQConfiguration.java
+++ b/components/camel-ironmq/src/main/java/org/apache/camel/component/ironmq/IronMQConfiguration.java
@@ -33,7 +33,7 @@ public class IronMQConfiguration {
     @UriParam
     private String token;
     
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private String queueName;
     
     @UriParam(defaultValue = "https://mq-aws-us-east-1-1.iron.io")
diff --git a/components/camel-jbpm/src/main/java/org/apache/camel/component/jbpm/JBPMConfiguration.java b/components/camel-jbpm/src/main/java/org/apache/camel/component/jbpm/JBPMConfiguration.java
index b415bfe..3d00bcf 100644
--- a/components/camel-jbpm/src/main/java/org/apache/camel/component/jbpm/JBPMConfiguration.java
+++ b/components/camel-jbpm/src/main/java/org/apache/camel/component/jbpm/JBPMConfiguration.java
@@ -31,12 +31,12 @@ import org.kie.api.task.model.Task;
 public class JBPMConfiguration {
 
     @UriPath
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private URL connectionURL;
     @UriParam(label = "producer", defaultValue = "startProcess")
     private String operation;
     @UriParam
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String deploymentId;
     @UriParam
     private Long processInstanceId;
diff --git a/components/camel-jcache/src/main/java/org/apache/camel/component/jcache/JCacheEndpoint.java b/components/camel-jcache/src/main/java/org/apache/camel/component/jcache/JCacheEndpoint.java
index b3b2aa1..5a8453f 100644
--- a/components/camel-jcache/src/main/java/org/apache/camel/component/jcache/JCacheEndpoint.java
+++ b/components/camel-jcache/src/main/java/org/apache/camel/component/jcache/JCacheEndpoint.java
@@ -32,7 +32,7 @@ import org.apache.camel.spi.UriPath;
 public class JCacheEndpoint extends DefaultEndpoint {
 
     @UriPath(description = "The name of the cache")
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private final String cacheName;
     @UriParam
     private final JCacheConfiguration cacheConfiguration;
diff --git a/components/camel-jclouds/src/main/java/org/apache/camel/component/jclouds/JcloudsConfiguration.java b/components/camel-jclouds/src/main/java/org/apache/camel/component/jclouds/JcloudsConfiguration.java
index cf71398..817805d 100644
--- a/components/camel-jclouds/src/main/java/org/apache/camel/component/jclouds/JcloudsConfiguration.java
+++ b/components/camel-jclouds/src/main/java/org/apache/camel/component/jclouds/JcloudsConfiguration.java
@@ -24,9 +24,9 @@ import org.apache.camel.spi.UriPath;
 @UriParams
 public class JcloudsConfiguration {
 
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private JcloudsCommand command;
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private String providerId;
 
     // compute options
diff --git a/components/camel-jcr/src/main/java/org/apache/camel/component/jcr/JcrEndpoint.java b/components/camel-jcr/src/main/java/org/apache/camel/component/jcr/JcrEndpoint.java
index 8a7b291..a3b9e30 100644
--- a/components/camel-jcr/src/main/java/org/apache/camel/component/jcr/JcrEndpoint.java
+++ b/components/camel-jcr/src/main/java/org/apache/camel/component/jcr/JcrEndpoint.java
@@ -44,7 +44,7 @@ public class JcrEndpoint extends DefaultEndpoint {
     private Credentials credentials;
     private Repository repository;
 
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private String host;
     @UriPath
     private String base;
diff --git a/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/JdbcEndpoint.java b/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/JdbcEndpoint.java
index 9c75aa0..72dca09 100644
--- a/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/JdbcEndpoint.java
+++ b/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/JdbcEndpoint.java
@@ -38,7 +38,7 @@ public class JdbcEndpoint extends DefaultEndpoint {
     private DataSource dataSource;
 
     @UriPath
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String dataSourceName;
     @UriParam
     private int readSize;
diff --git a/components/camel-jgroups-raft/src/main/java/org/apache/camel/component/jgroups/raft/JGroupsRaftComponent.java b/components/camel-jgroups-raft/src/main/java/org/apache/camel/component/jgroups/raft/JGroupsRaftComponent.java
index a9b0c6b..da4619d 100644
--- a/components/camel-jgroups-raft/src/main/java/org/apache/camel/component/jgroups/raft/JGroupsRaftComponent.java
+++ b/components/camel-jgroups-raft/src/main/java/org/apache/camel/component/jgroups/raft/JGroupsRaftComponent.java
@@ -42,7 +42,7 @@ public class JGroupsRaftComponent extends DefaultComponent {
     @Metadata(defaultValue = "NopStateMachine")
     private StateMachine stateMachine = new NopStateMachine();
     @UriParam
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String raftId;
     @UriParam
     @Metadata(defaultValue = "raft.xml")
diff --git a/components/camel-jgroups-raft/src/main/java/org/apache/camel/component/jgroups/raft/JGroupsRaftEndpoint.java b/components/camel-jgroups-raft/src/main/java/org/apache/camel/component/jgroups/raft/JGroupsRaftEndpoint.java
index a24a5b6..b8cc292 100644
--- a/components/camel-jgroups-raft/src/main/java/org/apache/camel/component/jgroups/raft/JGroupsRaftEndpoint.java
+++ b/components/camel-jgroups-raft/src/main/java/org/apache/camel/component/jgroups/raft/JGroupsRaftEndpoint.java
@@ -51,7 +51,7 @@ public class JGroupsRaftEndpoint extends DefaultEndpoint {
     private String raftId;
     private String channelProperties;
 
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private String clusterName;
     @UriParam(label = "consumer", defaultValue = "false")
     private boolean enableRoleChangeEvents;
diff --git a/components/camel-jgroups/src/main/java/org/apache/camel/component/jgroups/JGroupsEndpoint.java b/components/camel-jgroups/src/main/java/org/apache/camel/component/jgroups/JGroupsEndpoint.java
index b597c2a..6020cae 100644
--- a/components/camel-jgroups/src/main/java/org/apache/camel/component/jgroups/JGroupsEndpoint.java
+++ b/components/camel-jgroups/src/main/java/org/apache/camel/component/jgroups/JGroupsEndpoint.java
@@ -48,7 +48,7 @@ public class JGroupsEndpoint extends DefaultEndpoint {
     private JChannel channel;
     private JChannel resolvedChannel;
 
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private String clusterName;
     @UriParam
     private String channelProperties;
diff --git a/components/camel-jing/src/main/java/org/apache/camel/component/validator/jing/JingEndpoint.java b/components/camel-jing/src/main/java/org/apache/camel/component/validator/jing/JingEndpoint.java
index 8e3b977..80c8cdd 100644
--- a/components/camel-jing/src/main/java/org/apache/camel/component/validator/jing/JingEndpoint.java
+++ b/components/camel-jing/src/main/java/org/apache/camel/component/validator/jing/JingEndpoint.java
@@ -41,7 +41,7 @@ import org.apache.camel.util.StringHelper;
 @UriEndpoint(firstVersion = "1.1.0", scheme = "jing", title = "Jing", syntax = "jing:resourceUri", producerOnly = true, label = "validation")
 public class JingEndpoint extends DefaultEndpoint {
 
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private String resourceUri;
     @UriParam
     private boolean compactSyntax;
diff --git a/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsEndpoint.java b/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsEndpoint.java
index 354e752..a2d966e 100644
--- a/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsEndpoint.java
+++ b/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsEndpoint.java
@@ -77,7 +77,7 @@ public class JmsEndpoint extends DefaultEndpoint implements AsyncEndpoint, Heade
     @UriPath(defaultValue = "queue", enums = "queue,topic,temp-queue,temp-topic", description = "The kind of destination to use")
     private String destinationType;
     @UriPath(description = "Name of the queue or topic to use as destination")
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String destinationName;
     private Destination destination;
     @UriParam(label = "advanced", description = "To use a custom HeaderFilterStrategy to filter header to and from Camel message.")
diff --git a/components/camel-jmx/src/main/java/org/apache/camel/component/jmx/JMXEndpoint.java b/components/camel-jmx/src/main/java/org/apache/camel/component/jmx/JMXEndpoint.java
index 7630694..c5a0fa8 100644
--- a/components/camel-jmx/src/main/java/org/apache/camel/component/jmx/JMXEndpoint.java
+++ b/components/camel-jmx/src/main/java/org/apache/camel/component/jmx/JMXEndpoint.java
@@ -69,7 +69,7 @@ public class JMXEndpoint extends DefaultEndpoint {
     /**
      * The domain for the mbean you're connecting to
      */
-    @UriParam @Metadata(required = "true")
+    @UriParam @Metadata(required = true)
     private String objectDomain;
 
     /**
diff --git a/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaEndpoint.java b/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaEndpoint.java
index df05a59..9765188 100644
--- a/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaEndpoint.java
+++ b/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaEndpoint.java
@@ -55,9 +55,9 @@ public class JpaEndpoint extends ScheduledPollEndpoint {
     private PlatformTransactionManager transactionManager;
     private Expression producerExpression;
 
-    @UriPath(description = "Entity class name") @Metadata(required = "true")
+    @UriPath(description = "Entity class name") @Metadata(required = true)
     private Class<?> entityType;
-    @UriParam(defaultValue = "camel") @Metadata(required = "true")
+    @UriParam(defaultValue = "camel") @Metadata(required = true)
     private String persistenceUnit = "camel";
     @UriParam(defaultValue = "true")
     private boolean joinTransaction = true;
diff --git a/components/camel-jt400/src/main/java/org/apache/camel/component/jt400/Jt400Configuration.java b/components/camel-jt400/src/main/java/org/apache/camel/component/jt400/Jt400Configuration.java
index 5cee440..f4b9f66 100644
--- a/components/camel-jt400/src/main/java/org/apache/camel/component/jt400/Jt400Configuration.java
+++ b/components/camel-jt400/src/main/java/org/apache/camel/component/jt400/Jt400Configuration.java
@@ -71,19 +71,19 @@ public class Jt400Configuration {
 
     private final AS400ConnectionPool connectionPool;
 
-    @UriPath @Metadata(required = "true", secret = true)
+    @UriPath @Metadata(required = true, secret = true)
     private String userID;
 
-    @UriPath @Metadata(required = "true", secret = true)
+    @UriPath @Metadata(required = true, secret = true)
     private String password;
 
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private String systemName;
 
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private String objectPath;
 
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private Jt400Type type;
 
     @UriParam
diff --git a/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaConfiguration.java b/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaConfiguration.java
index 14f71b8..ffae708 100644
--- a/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaConfiguration.java
+++ b/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaConfiguration.java
@@ -53,7 +53,7 @@ public class KafkaConfiguration implements Cloneable, HeaderFilterStrategyAware
 
     //Common configuration properties
     @UriPath(label = "common")
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String topic;
     @UriParam(label = "common")
     private String brokers;
diff --git a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/KubernetesConfiguration.java b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/KubernetesConfiguration.java
index 53bc6db..154b4e6 100644
--- a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/KubernetesConfiguration.java
+++ b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/KubernetesConfiguration.java
@@ -28,7 +28,7 @@ import org.apache.camel.spi.UriPath;
 public class KubernetesConfiguration implements Cloneable {
 
     @UriPath
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String masterUrl;
 
     @Deprecated
diff --git a/components/camel-ldap/src/main/java/org/apache/camel/component/ldap/LdapEndpoint.java b/components/camel-ldap/src/main/java/org/apache/camel/component/ldap/LdapEndpoint.java
index 725ebf2..eb0de04 100644
--- a/components/camel-ldap/src/main/java/org/apache/camel/component/ldap/LdapEndpoint.java
+++ b/components/camel-ldap/src/main/java/org/apache/camel/component/ldap/LdapEndpoint.java
@@ -40,7 +40,7 @@ public class LdapEndpoint extends DefaultEndpoint {
     public static final String ONELEVEL_SCOPE = "onelevel";
     public static final String SUBTREE_SCOPE = "subtree";
 
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private String dirContextName;
     @UriParam(defaultValue = SYSTEM_DN)
     private String base = SYSTEM_DN;
diff --git a/components/camel-ldif/src/main/java/org/apache/camel/component/ldif/LdifEndpoint.java b/components/camel-ldif/src/main/java/org/apache/camel/component/ldif/LdifEndpoint.java
index c5ea535..36f2f8c 100644
--- a/components/camel-ldif/src/main/java/org/apache/camel/component/ldif/LdifEndpoint.java
+++ b/components/camel-ldif/src/main/java/org/apache/camel/component/ldif/LdifEndpoint.java
@@ -32,7 +32,7 @@ import org.apache.camel.spi.UriPath;
 @UriEndpoint(firstVersion = "2.20.0", scheme = "ldif", title = "LDIF", syntax = "ldif:ldapConnectionName", producerOnly = true, label = "ldap")
 public class LdifEndpoint extends DefaultEndpoint {
     @UriPath
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String ldapConnectionName;
 
     protected LdifEndpoint(String endpointUri, String remaining, LdifComponent component) throws URISyntaxException {
diff --git a/components/camel-linkedin/camel-linkedin-component/src/main/java/org/apache/camel/component/linkedin/LinkedInConfiguration.java b/components/camel-linkedin/camel-linkedin-component/src/main/java/org/apache/camel/component/linkedin/LinkedInConfiguration.java
index e3bfbda..def61a6 100644
--- a/components/camel-linkedin/camel-linkedin-component/src/main/java/org/apache/camel/component/linkedin/LinkedInConfiguration.java
+++ b/components/camel-linkedin/camel-linkedin-component/src/main/java/org/apache/camel/component/linkedin/LinkedInConfiguration.java
@@ -37,7 +37,7 @@ import org.apache.commons.lang3.builder.HashCodeBuilder;
 public class LinkedInConfiguration {
 
     @UriPath(enums = "comments,companies,groups,jobs,people,posts,search")
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private LinkedInApiName apiName;
     @UriPath(enums = "addActivity,addComment,addCompanyUpdateComment,addCompanyUpdateCommentAsCompany,addGroupMembership,addInvite"
             + ",addJob,addJobBookmark,addPost,addShare,addUpdateComment,editJob,flagCategory,followCompany,followPost,getComment"
@@ -48,7 +48,7 @@ public class LinkedInConfiguration {
             + ",getStatistics,getSuggestedCompanies,getSuggestedGroupPosts,getSuggestedGroups,getSuggestedJobs,getUpdateComments"
             + ",getUpdateLikes,isShareEnabled,isViewerShareEnabled,likeCompanyUpdate,likePost,likeUpdate,removeComment,removeGroupMembership"
             + ",removeGroupSuggestion,removeJob,removeJobBookmark,removePost,searchCompanies,searchJobs,searchPeople,share,stopFollowingCompany,updateGroupMembership")
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String methodName;
     @UriParam
     private String userName;
diff --git a/components/camel-lucene/src/main/java/org/apache/camel/component/lucene/LuceneConfiguration.java b/components/camel-lucene/src/main/java/org/apache/camel/component/lucene/LuceneConfiguration.java
index dd96a3a..371d825 100644
--- a/components/camel-lucene/src/main/java/org/apache/camel/component/lucene/LuceneConfiguration.java
+++ b/components/camel-lucene/src/main/java/org/apache/camel/component/lucene/LuceneConfiguration.java
@@ -35,9 +35,9 @@ public class LuceneConfiguration {
     private String authority;
     private Version luceneVersion = LuceneConstants.LUCENE_VERSION;
 
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private String host;
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private LuceneOperation operation;
     @UriParam(name = "srcDir")
     private File sourceDirectory;
diff --git a/components/camel-lumberjack/src/main/java/org/apache/camel/component/lumberjack/LumberjackEndpoint.java b/components/camel-lumberjack/src/main/java/org/apache/camel/component/lumberjack/LumberjackEndpoint.java
index 17dc53d..9111f59 100644
--- a/components/camel-lumberjack/src/main/java/org/apache/camel/component/lumberjack/LumberjackEndpoint.java
+++ b/components/camel-lumberjack/src/main/java/org/apache/camel/component/lumberjack/LumberjackEndpoint.java
@@ -36,7 +36,7 @@ import org.apache.camel.support.jsse.SSLContextParameters;
 @UriEndpoint(firstVersion = "2.18.0", scheme = "lumberjack", title = "Lumberjack", syntax = "lumberjack:host:port", consumerOnly = true, consumerClass = LumberjackConsumer.class, label = "log")
 public class LumberjackEndpoint extends DefaultEndpoint {
     @UriPath(description = "Network interface on which to listen for Lumberjack")
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private final String host;
     @UriPath(description = "Network port on which to listen for Lumberjack", defaultValue = "" + LumberjackComponent.DEFAULT_PORT)
     private final int port;
diff --git a/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailConfiguration.java b/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailConfiguration.java
index 5bb14b6..93a0bcc 100644
--- a/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailConfiguration.java
+++ b/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailConfiguration.java
@@ -46,7 +46,7 @@ public class MailConfiguration implements Cloneable {
 
     // protocol is implied by component name so it should not be in UriPath
     private String protocol;
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private String host;
     @UriPath
     private int port = -1;
diff --git a/components/camel-master/src/main/java/org/apache/camel/component/master/MasterEndpoint.java b/components/camel-master/src/main/java/org/apache/camel/component/master/MasterEndpoint.java
index 13d6f25..2d892f9 100644
--- a/components/camel-master/src/main/java/org/apache/camel/component/master/MasterEndpoint.java
+++ b/components/camel-master/src/main/java/org/apache/camel/component/master/MasterEndpoint.java
@@ -49,11 +49,11 @@ public class MasterEndpoint extends DefaultEndpoint implements DelegateEndpoint
     private final CamelClusterService clusterService;
 
     @UriPath(description = "The name of the cluster namespace to use")
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private final String namespace;
 
     @UriPath(description = "The endpoint uri to use in master/slave mode")
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private final String delegateUri;
 
     public MasterEndpoint(String uri, MasterComponent component, CamelClusterService clusterService, String namespace, String delegateUri) {
diff --git a/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/MetricsEndpoint.java b/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/MetricsEndpoint.java
index 991ef06..6f816ce 100644
--- a/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/MetricsEndpoint.java
+++ b/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/MetricsEndpoint.java
@@ -36,9 +36,9 @@ public class MetricsEndpoint extends DefaultEndpoint {
 
     protected final MetricRegistry registry;
 
-    @UriPath(description = "Type of metrics") @Metadata(required = "true")
+    @UriPath(description = "Type of metrics") @Metadata(required = true)
     protected final MetricsType metricsType;
-    @UriPath(description = "Name of metrics") @Metadata(required = "true")
+    @UriPath(description = "Name of metrics") @Metadata(required = true)
     protected final String metricsName;
     @UriParam(description = "Action when using timer type")
     private MetricsTimerAction action;
diff --git a/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/MicrometerEndpoint.java b/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/MicrometerEndpoint.java
index 49f2788..91f6a6d 100644
--- a/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/MicrometerEndpoint.java
+++ b/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/MicrometerEndpoint.java
@@ -39,10 +39,10 @@ public class MicrometerEndpoint extends DefaultEndpoint {
     protected MeterRegistry registry;
 
     @UriPath(description = "Type of metrics")
-    @Metadata(required = "true")
+    @Metadata(required = true)
     protected final Meter.Type metricsType;
     @UriPath(description = "Name of metrics")
-    @Metadata(required = "true")
+    @Metadata(required = true)
     protected final String metricsName;
     @UriPath(description = "Tags of metrics")
     protected final Iterable<Tag> tags;
diff --git a/components/camel-milo/src/main/java/org/apache/camel/component/milo/client/MiloClientEndpoint.java b/components/camel-milo/src/main/java/org/apache/camel/component/milo/client/MiloClientEndpoint.java
index d078f58..bbde597 100644
--- a/components/camel-milo/src/main/java/org/apache/camel/component/milo/client/MiloClientEndpoint.java
+++ b/components/camel-milo/src/main/java/org/apache/camel/component/milo/client/MiloClientEndpoint.java
@@ -39,7 +39,7 @@ public class MiloClientEndpoint extends DefaultEndpoint {
      * The OPC UA server endpoint
      */
     @UriPath
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private final String endpointUri;
 
     /**
diff --git a/components/camel-milo/src/main/java/org/apache/camel/component/milo/server/MiloServerEndpoint.java b/components/camel-milo/src/main/java/org/apache/camel/component/milo/server/MiloServerEndpoint.java
index 1ea32ac..8f0010b 100644
--- a/components/camel-milo/src/main/java/org/apache/camel/component/milo/server/MiloServerEndpoint.java
+++ b/components/camel-milo/src/main/java/org/apache/camel/component/milo/server/MiloServerEndpoint.java
@@ -34,7 +34,7 @@ import org.apache.camel.spi.UriPath;
 public class MiloServerEndpoint extends DefaultEndpoint {
 
     @UriPath
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String itemId;
 
     private final CamelNamespace namespace;
diff --git a/components/camel-mina2/src/main/java/org/apache/camel/component/mina2/Mina2Configuration.java b/components/camel-mina2/src/main/java/org/apache/camel/component/mina2/Mina2Configuration.java
index 4671751..1b3c6f4 100644
--- a/components/camel-mina2/src/main/java/org/apache/camel/component/mina2/Mina2Configuration.java
+++ b/components/camel-mina2/src/main/java/org/apache/camel/component/mina2/Mina2Configuration.java
@@ -35,11 +35,11 @@ import org.apache.mina.filter.codec.ProtocolCodecFactory;
 @UriParams
 public class Mina2Configuration implements Cloneable {
 
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private String protocol;
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private String host;
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private int port;
     @UriParam(defaultValue = "true")
     private boolean sync = true;
diff --git a/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpEndpoint.java b/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpEndpoint.java
index 4103eeb..e74aac7 100644
--- a/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpEndpoint.java
+++ b/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpEndpoint.java
@@ -66,11 +66,11 @@ public class MllpEndpoint extends DefaultEndpoint {
     public static final Charset DEFAULT_CHARSET = MllpComponent.getDefaultCharset();
 
     @UriPath
-    @Metadata(required = "true")
+    @Metadata(required = true)
     String hostname;
 
     @UriPath
-    @Metadata(required = "true")
+    @Metadata(required = true)
     int port = -1;
 
     @UriParam(label = "advanced")
diff --git a/components/camel-mongodb-gridfs/src/main/java/org/apache/camel/component/mongodb/gridfs/GridFsEndpoint.java b/components/camel-mongodb-gridfs/src/main/java/org/apache/camel/component/mongodb/gridfs/GridFsEndpoint.java
index dcf305e..efbfb74 100644
--- a/components/camel-mongodb-gridfs/src/main/java/org/apache/camel/component/mongodb/gridfs/GridFsEndpoint.java
+++ b/components/camel-mongodb-gridfs/src/main/java/org/apache/camel/component/mongodb/gridfs/GridFsEndpoint.java
@@ -44,9 +44,9 @@ public class GridFsEndpoint extends DefaultEndpoint {
     public static final String GRIDFS_CHUNKSIZE = "gridfs.chunksize";
     public static final String GRIDFS_FILE_ID_PRODUCED = "gridfs.fileid";
 
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private String connectionBean;
-    @UriParam @Metadata(required = "true")
+    @UriParam @Metadata(required = true)
     private String database;
     @UriParam(defaultValue = GridFS.DEFAULT_BUCKET)
     private String bucket;
diff --git a/components/camel-mongodb3/src/main/java/org/apache/camel/component/mongodb3/MongoDbEndpoint.java b/components/camel-mongodb3/src/main/java/org/apache/camel/component/mongodb3/MongoDbEndpoint.java
index fd9bc55..db3d60e 100644
--- a/components/camel-mongodb3/src/main/java/org/apache/camel/component/mongodb3/MongoDbEndpoint.java
+++ b/components/camel-mongodb3/src/main/java/org/apache/camel/component/mongodb3/MongoDbEndpoint.java
@@ -63,7 +63,7 @@ public class MongoDbEndpoint extends DefaultEndpoint {
     private MongoClient mongoConnection;
 
     @UriPath
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String connectionBean;
     @UriParam
     private String database;
diff --git a/components/camel-mqtt/src/main/java/org/apache/camel/component/mqtt/MQTTEndpoint.java b/components/camel-mqtt/src/main/java/org/apache/camel/component/mqtt/MQTTEndpoint.java
index f5a4b9c..71b4f6f 100644
--- a/components/camel-mqtt/src/main/java/org/apache/camel/component/mqtt/MQTTEndpoint.java
+++ b/components/camel-mqtt/src/main/java/org/apache/camel/component/mqtt/MQTTEndpoint.java
@@ -68,7 +68,7 @@ public class MQTTEndpoint extends DefaultEndpoint implements AsyncEndpoint {
     private volatile boolean connected;
     private final List<MQTTConsumer> consumers = new CopyOnWriteArrayList<>();
 
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private String name;
 
     @UriParam
diff --git a/components/camel-mybatis/src/main/java/org/apache/camel/component/mybatis/MyBatisBeanEndpoint.java b/components/camel-mybatis/src/main/java/org/apache/camel/component/mybatis/MyBatisBeanEndpoint.java
index b41ddee..70a77ba 100644
--- a/components/camel-mybatis/src/main/java/org/apache/camel/component/mybatis/MyBatisBeanEndpoint.java
+++ b/components/camel-mybatis/src/main/java/org/apache/camel/component/mybatis/MyBatisBeanEndpoint.java
@@ -30,9 +30,9 @@ import org.apache.camel.spi.UriPath;
 @UriEndpoint(firstVersion = "2.22.0", scheme = "mybatis-bean", title = "MyBatis Bean", syntax = "mybatis-bean:beanName:methodName", producerOnly = true, label = "database,sql")
 public class MyBatisBeanEndpoint extends BaseMyBatisEndpoint {
 
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private String beanName;
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private String methodName;
 
     public MyBatisBeanEndpoint() {
diff --git a/components/camel-mybatis/src/main/java/org/apache/camel/component/mybatis/MyBatisEndpoint.java b/components/camel-mybatis/src/main/java/org/apache/camel/component/mybatis/MyBatisEndpoint.java
index 6f83e74..1ec9707 100644
--- a/components/camel-mybatis/src/main/java/org/apache/camel/component/mybatis/MyBatisEndpoint.java
+++ b/components/camel-mybatis/src/main/java/org/apache/camel/component/mybatis/MyBatisEndpoint.java
@@ -32,7 +32,7 @@ import org.apache.camel.util.ObjectHelper;
 @UriEndpoint(firstVersion = "2.7.0", scheme = "mybatis", title = "MyBatis", syntax = "mybatis:statement", consumerClass = MyBatisConsumer.class, label = "database,sql")
 public class MyBatisEndpoint extends BaseMyBatisEndpoint {
 
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private String statement;
     @UriParam(label = "producer")
     private StatementType statementType;
diff --git a/components/camel-nagios/src/main/java/org/apache/camel/component/nagios/NagiosConfiguration.java b/components/camel-nagios/src/main/java/org/apache/camel/component/nagios/NagiosConfiguration.java
index 5c0c2e0..064ccc1 100644
--- a/components/camel-nagios/src/main/java/org/apache/camel/component/nagios/NagiosConfiguration.java
+++ b/components/camel-nagios/src/main/java/org/apache/camel/component/nagios/NagiosConfiguration.java
@@ -32,9 +32,9 @@ public class NagiosConfiguration implements Cloneable {
 
     private transient NagiosSettings nagiosSettings;
 
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private String host;
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private int port;
     @UriParam(defaultValue = "5000")
     private int connectionTimeout = 5000;
diff --git a/components/camel-nats/src/main/java/org/apache/camel/component/nats/NatsConfiguration.java b/components/camel-nats/src/main/java/org/apache/camel/component/nats/NatsConfiguration.java
index b7143eb..d0b7fe0 100644
--- a/components/camel-nats/src/main/java/org/apache/camel/component/nats/NatsConfiguration.java
+++ b/components/camel-nats/src/main/java/org/apache/camel/component/nats/NatsConfiguration.java
@@ -33,10 +33,10 @@ import org.apache.camel.support.jsse.SSLContextParameters;
 public class NatsConfiguration {
 
     @UriPath
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String servers;
     @UriParam
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String topic;
     @UriParam
     private Connection connection;
diff --git a/components/camel-netty4-http/src/main/java/org/apache/camel/component/netty4/http/NettyHttpConfiguration.java b/components/camel-netty4-http/src/main/java/org/apache/camel/component/netty4/http/NettyHttpConfiguration.java
index 7658ba4..a691d06 100644
--- a/components/camel-netty4-http/src/main/java/org/apache/camel/component/netty4/http/NettyHttpConfiguration.java
+++ b/components/camel-netty4-http/src/main/java/org/apache/camel/component/netty4/http/NettyHttpConfiguration.java
@@ -33,9 +33,9 @@ import org.apache.camel.spi.UriPath;
 @UriParams
 public class NettyHttpConfiguration extends NettyConfiguration {
 
-    @UriPath(enums = "http,https") @Metadata(required = "true")
+    @UriPath(enums = "http,https") @Metadata(required = true)
     private String protocol;
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private String host;
     @UriPath(name = "port")
     private int dummy;
diff --git a/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/NettyServerBootstrapConfiguration.java b/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/NettyServerBootstrapConfiguration.java
index 741d2d5..e35d5ae 100644
--- a/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/NettyServerBootstrapConfiguration.java
+++ b/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/NettyServerBootstrapConfiguration.java
@@ -32,11 +32,11 @@ import org.apache.camel.support.jsse.SSLContextParameters;
 public class NettyServerBootstrapConfiguration implements Cloneable {
     public static final String DEFAULT_ENABLED_PROTOCOLS = "TLSv1,TLSv1.1,TLSv1.2";
 
-    @UriPath(enums = "tcp,udp") @Metadata(required = "true")
+    @UriPath(enums = "tcp,udp") @Metadata(required = true)
     protected String protocol;
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     protected String host;
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     protected int port;
     @UriParam(label = "consumer")
     protected boolean broadcast;
diff --git a/components/camel-nsq/src/main/java/org/apache/camel/component/nsq/NsqConfiguration.java b/components/camel-nsq/src/main/java/org/apache/camel/component/nsq/NsqConfiguration.java
index 43fcb72..bc201dd 100644
--- a/components/camel-nsq/src/main/java/org/apache/camel/component/nsq/NsqConfiguration.java
+++ b/components/camel-nsq/src/main/java/org/apache/camel/component/nsq/NsqConfiguration.java
@@ -33,10 +33,10 @@ import static org.apache.camel.component.nsq.NsqConstants.NSQ_DEFAULT_PORT;
 public class NsqConfiguration {
 
     @UriPath(description = "The hostnames of one or more nsqlookupd servers (consumer) or nsqd servers (producer).")
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String servers;
     @UriParam(description = "The NSQ topic")
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String topic;
     @UriParam(label = "consumer", description = "The NSQ channel")
     private String channel;
diff --git a/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Configuration.java b/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Configuration.java
index 329e002..3643d73 100644
--- a/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Configuration.java
+++ b/components/camel-olingo2/camel-olingo2-component/src/main/java/org/apache/camel/component/olingo2/Olingo2Configuration.java
@@ -40,9 +40,9 @@ public class Olingo2Configuration {
     private static final int DEFAULT_TIMEOUT = 30 * 1000;
 
     @UriPath
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private Olingo2ApiName apiName;
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private String methodName;
     @UriParam
     private String serviceUri;
diff --git a/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Configuration.java b/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Configuration.java
index 29ac0b4..d98af3d 100644
--- a/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Configuration.java
+++ b/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Configuration.java
@@ -40,9 +40,9 @@ public class Olingo4Configuration {
     private static final int DEFAULT_TIMEOUT = 30 * 1000;
 
     @UriPath
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private Olingo4ApiName apiName;
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private String methodName;
     @UriParam
     private String serviceUri;
diff --git a/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/cinder/CinderEndpoint.java b/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/cinder/CinderEndpoint.java
index 22a14f8..2cb2fec 100644
--- a/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/cinder/CinderEndpoint.java
+++ b/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/cinder/CinderEndpoint.java
@@ -33,26 +33,26 @@ import org.openstack4j.core.transport.Config;
 public class CinderEndpoint extends AbstractOpenstackEndpoint {
 
     @UriParam(enums = "snapshots,volumes")
-    @Metadata(required = "true")
+    @Metadata(required = true)
     String subsystem;
     @UriPath
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String host;
     @UriParam(defaultValue = "default")
     private String domain = "default";
     @UriParam
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String project;
 
     @UriParam
     private String operation;
 
     @UriParam
-    @Metadata(required = "true", secret = true)
+    @Metadata(required = true, secret = true)
     private String username;
 
     @UriParam
-    @Metadata(required = "true", secret = true)
+    @Metadata(required = true, secret = true)
     private String password;
 
     @UriParam
diff --git a/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/glance/GlanceEndpoint.java b/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/glance/GlanceEndpoint.java
index 422b951..c20b42b 100644
--- a/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/glance/GlanceEndpoint.java
+++ b/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/glance/GlanceEndpoint.java
@@ -31,25 +31,25 @@ import org.openstack4j.core.transport.Config;
 public class GlanceEndpoint extends AbstractOpenstackEndpoint {
 
     @UriPath
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String host;
 
     @UriParam(defaultValue = "default")
     private String domain = "default";
 
     @UriParam
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String project;
 
     @UriParam
     private String operation;
 
     @UriParam
-    @Metadata(required = "true", secret = true)
+    @Metadata(required = true, secret = true)
     private String username;
 
     @UriParam
-    @Metadata(required = "true", secret = true)
+    @Metadata(required = true, secret = true)
     private String password;
 
     @UriParam
diff --git a/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/KeystoneEndpoint.java b/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/KeystoneEndpoint.java
index fa3226f..cde520c 100644
--- a/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/KeystoneEndpoint.java
+++ b/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/keystone/KeystoneEndpoint.java
@@ -36,27 +36,27 @@ import org.openstack4j.core.transport.Config;
 public class KeystoneEndpoint extends AbstractOpenstackEndpoint {
 
     @UriParam(enums = "regions,domains,projects,users,groups")
-    @Metadata(required = "true")
+    @Metadata(required = true)
     String subsystem;
     @UriPath
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String host;
     @UriParam(defaultValue = "default")
     private String domain = "default";
 
     @UriParam
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String project;
 
     @UriParam
     private String operation;
 
     @UriParam
-    @Metadata(required = "true", secret = true)
+    @Metadata(required = true, secret = true)
     private String username;
 
     @UriParam
-    @Metadata(required = "true", secret = true)
+    @Metadata(required = true, secret = true)
     private String password;
 
     @UriParam
diff --git a/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/neutron/NeutronEndpoint.java b/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/neutron/NeutronEndpoint.java
index d2184ef..01737f9 100644
--- a/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/neutron/NeutronEndpoint.java
+++ b/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/neutron/NeutronEndpoint.java
@@ -35,27 +35,27 @@ import org.openstack4j.core.transport.Config;
 public class NeutronEndpoint extends AbstractOpenstackEndpoint {
 
     @UriParam(enums = "networks,subnets,ports,routers")
-    @Metadata(required = "true")
+    @Metadata(required = true)
     String subsystem;
     @UriPath
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String host;
     @UriParam(defaultValue = "default")
     private String domain = "default";
 
     @UriParam
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String project;
 
     @UriParam
     private String operation;
 
     @UriParam
-    @Metadata(required = "true", secret = true)
+    @Metadata(required = true, secret = true)
     private String username;
 
     @UriParam
-    @Metadata(required = "true", secret = true)
+    @Metadata(required = true, secret = true)
     private String password;
 
     @UriParam
diff --git a/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/nova/NovaEndpoint.java b/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/nova/NovaEndpoint.java
index abe1e36..1add149 100644
--- a/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/nova/NovaEndpoint.java
+++ b/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/nova/NovaEndpoint.java
@@ -34,27 +34,27 @@ import org.openstack4j.core.transport.Config;
 public class NovaEndpoint extends AbstractOpenstackEndpoint {
 
     @UriParam(enums = "flavors,servers,keypairs")
-    @Metadata(required = "true")
+    @Metadata(required = true)
     String subsystem;
     @UriPath
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String host;
     @UriParam(defaultValue = "default")
     private String domain = "default";
 
     @UriParam
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String project;
 
     @UriParam
     private String operation;
 
     @UriParam
-    @Metadata(required = "true", secret = true)
+    @Metadata(required = true, secret = true)
     private String username;
 
     @UriParam
-    @Metadata(required = "true", secret = true)
+    @Metadata(required = true, secret = true)
     private String password;
 
     @UriParam
diff --git a/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/swift/SwiftEndpoint.java b/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/swift/SwiftEndpoint.java
index f5b4f94..59d779f 100644
--- a/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/swift/SwiftEndpoint.java
+++ b/components/camel-openstack/src/main/java/org/apache/camel/component/openstack/swift/SwiftEndpoint.java
@@ -33,26 +33,26 @@ import org.openstack4j.core.transport.Config;
 public class SwiftEndpoint extends AbstractOpenstackEndpoint {
 
     @UriParam(enums = "objects,containers")
-    @Metadata(required = "true")
+    @Metadata(required = true)
     String subsystem;
     @UriPath
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String host;
     @UriParam(defaultValue = "default")
     private String domain = "default";
     @UriParam
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String project;
 
     @UriParam
     private String operation;
 
     @UriParam
-    @Metadata(required = "true", secret = true)
+    @Metadata(required = true, secret = true)
     private String username;
 
     @UriParam
-    @Metadata(required = "true", secret = true)
+    @Metadata(required = true, secret = true)
     private String password;
 
     @UriParam
diff --git a/components/camel-optaplanner/src/main/java/org/apache/camel/component/optaplanner/OptaPlannerConfiguration.java b/components/camel-optaplanner/src/main/java/org/apache/camel/component/optaplanner/OptaPlannerConfiguration.java
index 82cec1b..ddc300b 100644
--- a/components/camel-optaplanner/src/main/java/org/apache/camel/component/optaplanner/OptaPlannerConfiguration.java
+++ b/components/camel-optaplanner/src/main/java/org/apache/camel/component/optaplanner/OptaPlannerConfiguration.java
@@ -24,7 +24,7 @@ import org.apache.camel.spi.UriPath;
 @UriParams
 public class OptaPlannerConfiguration {
 
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private String configFile;
     @UriParam(label = "common", defaultValue = "DEFAULT_SOLVER")
     private String solverId = OptaPlannerConstants.DEFAULT_SOLVER_ID;
diff --git a/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoEndpoint.java b/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoEndpoint.java
index 3bbcdd1..6756483 100644
--- a/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoEndpoint.java
+++ b/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoEndpoint.java
@@ -44,7 +44,7 @@ public class PahoEndpoint extends DefaultEndpoint {
 
     // Configuration members
     @UriPath
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String topic;
     @UriParam
     private String clientId = "camel-" + System.nanoTime();
diff --git a/components/camel-paxlogging/src/main/java/org/apache/camel/component/paxlogging/PaxLoggingEndpoint.java b/components/camel-paxlogging/src/main/java/org/apache/camel/component/paxlogging/PaxLoggingEndpoint.java
index c32e871..5bcdfa6 100644
--- a/components/camel-paxlogging/src/main/java/org/apache/camel/component/paxlogging/PaxLoggingEndpoint.java
+++ b/components/camel-paxlogging/src/main/java/org/apache/camel/component/paxlogging/PaxLoggingEndpoint.java
@@ -32,7 +32,7 @@ import org.apache.camel.spi.UriPath;
     consumerOnly = true, consumerClass = PaxLoggingConsumer.class, label = "monitoring")
 public class PaxLoggingEndpoint extends DefaultEndpoint {
 
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private final String appender;
 
     public PaxLoggingEndpoint(String uri, PaxLoggingComponent component, String appender) {
diff --git a/components/camel-pdf/src/main/java/org/apache/camel/component/pdf/PdfConfiguration.java b/components/camel-pdf/src/main/java/org/apache/camel/component/pdf/PdfConfiguration.java
index d107dc3..d36c036 100644
--- a/components/camel-pdf/src/main/java/org/apache/camel/component/pdf/PdfConfiguration.java
+++ b/components/camel-pdf/src/main/java/org/apache/camel/component/pdf/PdfConfiguration.java
@@ -55,7 +55,7 @@ public class PdfConfiguration {
     }
 
     @UriPath(description = "Operation type")
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private PdfOperation operation;
     @UriParam(defaultValue = "20")
     private int marginTop = 20;
diff --git a/components/camel-pgevent/src/main/java/org/apache/camel/component/pgevent/PgEventEndpoint.java b/components/camel-pgevent/src/main/java/org/apache/camel/component/pgevent/PgEventEndpoint.java
index 046665d..f8a4440 100644
--- a/components/camel-pgevent/src/main/java/org/apache/camel/component/pgevent/PgEventEndpoint.java
+++ b/components/camel-pgevent/src/main/java/org/apache/camel/component/pgevent/PgEventEndpoint.java
@@ -50,9 +50,9 @@ public class PgEventEndpoint extends DefaultEndpoint {
     private String host = "localhost";
     @UriPath(defaultValue = "5432")
     private Integer port = 5432;
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private String database;
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private String channel;
     @UriParam(defaultValue = "postgres", label = "security", secret = true)
     private String user = "postgres";
diff --git a/components/camel-printer/src/main/java/org/apache/camel/component/printer/PrinterConfiguration.java b/components/camel-printer/src/main/java/org/apache/camel/component/printer/PrinterConfiguration.java
index 5e7aecf..8c3b8f2 100644
--- a/components/camel-printer/src/main/java/org/apache/camel/component/printer/PrinterConfiguration.java
+++ b/components/camel-printer/src/main/java/org/apache/camel/component/printer/PrinterConfiguration.java
@@ -38,7 +38,7 @@ public class PrinterConfiguration {
     private Sides internalSides;
     private OrientationRequested internalOrientation;
 
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private String hostname;
     @UriPath
     private int port;
diff --git a/components/camel-pubnub/src/main/java/org/apache/camel/component/pubnub/PubNubConfiguration.java b/components/camel-pubnub/src/main/java/org/apache/camel/component/pubnub/PubNubConfiguration.java
index ad68388..f876653 100644
--- a/components/camel-pubnub/src/main/java/org/apache/camel/component/pubnub/PubNubConfiguration.java
+++ b/components/camel-pubnub/src/main/java/org/apache/camel/component/pubnub/PubNubConfiguration.java
@@ -25,7 +25,7 @@ import org.apache.camel.spi.UriPath;
 public class PubNubConfiguration {
 
     @UriPath()
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String channel;
 
     @UriParam(label = "security", secret = true)
diff --git a/components/camel-quartz2/src/main/java/org/apache/camel/component/quartz2/QuartzEndpoint.java b/components/camel-quartz2/src/main/java/org/apache/camel/component/quartz2/QuartzEndpoint.java
index 9754c24..ed52430 100644
--- a/components/camel-quartz2/src/main/java/org/apache/camel/component/quartz2/QuartzEndpoint.java
+++ b/components/camel-quartz2/src/main/java/org/apache/camel/component/quartz2/QuartzEndpoint.java
@@ -65,7 +65,7 @@ public class QuartzEndpoint extends DefaultEndpoint {
 
     @UriPath(description = "The quartz group name to use. The combination of group name and timer name should be unique.", defaultValue = "Camel")
     private String groupName;
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private String triggerName;
     @UriParam
     private String cron;
diff --git a/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjEndpoint.java b/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjEndpoint.java
index b0ba646..93d3a76 100644
--- a/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjEndpoint.java
+++ b/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjEndpoint.java
@@ -48,7 +48,7 @@ public class QuickfixjEndpoint extends DefaultEndpoint implements QuickfixjEvent
     private final QuickfixjEngine engine;
     private final List<QuickfixjConsumer> consumers = new CopyOnWriteArrayList<>();
 
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private String configurationName;
     @UriParam
     private SessionID sessionID;
diff --git a/components/camel-rabbitmq/src/main/java/org/apache/camel/component/rabbitmq/RabbitMQEndpoint.java b/components/camel-rabbitmq/src/main/java/org/apache/camel/component/rabbitmq/RabbitMQEndpoint.java
index ba70d78..5688204 100644
--- a/components/camel-rabbitmq/src/main/java/org/apache/camel/component/rabbitmq/RabbitMQEndpoint.java
+++ b/components/camel-rabbitmq/src/main/java/org/apache/camel/component/rabbitmq/RabbitMQEndpoint.java
@@ -57,7 +57,7 @@ public class RabbitMQEndpoint extends DefaultEndpoint implements AsyncEndpoint {
     public static final String SERIALIZE_HEADER = "CamelSerialize";
 
     @UriPath
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String exchangeName;
     @UriParam(label = "common")
     private String hostname;
diff --git a/components/camel-rest-swagger/src/main/java/org/apache/camel/component/rest/swagger/RestSwaggerComponent.java b/components/camel-rest-swagger/src/main/java/org/apache/camel/component/rest/swagger/RestSwaggerComponent.java
index 14691ab..6ea62bb 100644
--- a/components/camel-rest-swagger/src/main/java/org/apache/camel/component/rest/swagger/RestSwaggerComponent.java
+++ b/components/camel-rest-swagger/src/main/java/org/apache/camel/component/rest/swagger/RestSwaggerComponent.java
@@ -85,13 +85,13 @@ public final class RestSwaggerComponent extends DefaultComponent implements SSLC
 
     @Metadata(
         description = "API basePath, for example \"`/v2`\". Default is unset, if set overrides the value present in Swagger specification.",
-        defaultValue = "", label = "producer", required = "false")
+        defaultValue = "", label = "producer", required = false)
     private String basePath = "";
 
     @Metadata(description = "Name of the Camel component that will perform the requests. The compnent must be present"
         + " in Camel registry and it must implement RestProducerFactory service provider interface. If not set"
         + " CLASSPATH is searched for single component that implements RestProducerFactory SPI. Can be overriden in"
-        + " endpoint configuration.", label = "producer", required = "false")
+        + " endpoint configuration.", label = "producer", required = false)
     private String componentName;
 
     @Metadata(
@@ -99,7 +99,7 @@ public final class RestSwaggerComponent extends DefaultComponent implements SSLC
             + " or multiple types as `application/json, application/xml; q=0.5` according to the RFC7231. This equates"
             + " to the value of `Accept` HTTP header. If set overrides any value found in the Swagger specification."
             + " Can be overriden in endpoint configuration",
-        label = "producer", required = "false")
+        label = "producer", required = false)
     private String consumes;
 
     @Metadata(description = "Scheme hostname and port to direct the HTTP requests to in the form of"
@@ -107,14 +107,14 @@ public final class RestSwaggerComponent extends DefaultComponent implements SSLC
         + " REST configuration in the Camel Context. If you give this component a name (e.g. `petstore`) that"
         + " REST configuration is consulted first, `rest-swagger` next, and global configuration last. If set"
         + " overrides any value found in the Swagger specification, RestConfiguration. Can be overriden in endpoint"
-        + " configuration.", label = "producer", required = "false")
+        + " configuration.", label = "producer", required = false)
     private String host;
 
     @Metadata(
         description = "What payload type this component is producing. For example `application/json`"
             + " according to the RFC7231. This equates to the value of `Content-Type` HTTP header. If set overrides"
             + " any value present in the Swagger specification. Can be overriden in endpoint configuration.",
-        label = "producer", required = "false")
+        label = "producer", required = false)
     private String produces;
 
     @Metadata(description = "Path to the Swagger specification file. The scheme, host base path are taken from this"
@@ -122,11 +122,11 @@ public final class RestSwaggerComponent extends DefaultComponent implements SSLC
         + " given the component tries to load `swagger.json` resource. Note that the `host` defined on the"
         + " component and endpoint of this Component should contain the scheme, hostname and optionally the"
         + " port in the URI syntax (i.e. `https://api.example.com:8080`). Can be overriden in endpoint"
-        + " configuration.", defaultValue = DEFAULT_SPECIFICATION_URI_STR, label = "producer", required = "false")
+        + " configuration.", defaultValue = DEFAULT_SPECIFICATION_URI_STR, label = "producer", required = false)
     private URI specificationUri;
 
     @Metadata(description = "Customize TLS parameters used by the component. If not set defaults to the TLS parameters"
-        + " set in the Camel context ", label = "security", required = "false")
+        + " set in the Camel context ", label = "security", required = false)
     private SSLContextParameters sslContextParameters;
 
     @Metadata(description = "Enable usage of global SSL context parameters.", label = "security",
diff --git a/components/camel-rest-swagger/src/main/java/org/apache/camel/component/rest/swagger/RestSwaggerEndpoint.java b/components/camel-rest-swagger/src/main/java/org/apache/camel/component/rest/swagger/RestSwaggerEndpoint.java
index 75cacf2..dffa9f0 100644
--- a/components/camel-rest-swagger/src/main/java/org/apache/camel/component/rest/swagger/RestSwaggerEndpoint.java
+++ b/components/camel-rest-swagger/src/main/java/org/apache/camel/component/rest/swagger/RestSwaggerEndpoint.java
@@ -87,14 +87,14 @@ public final class RestSwaggerEndpoint extends DefaultEndpoint {
         description = "API basePath, for example \"`/v2`\". Default is unset, if set overrides the value present in"
             + " Swagger specification and in the component configuration.",
         defaultValue = "", label = "producer")
-    @Metadata(required = "false")
+    @Metadata(required = false)
     private String basePath;
 
     @UriParam(description = "Name of the Camel component that will perform the requests. The compnent must be present"
         + " in Camel registry and it must implement RestProducerFactory service provider interface. If not set"
         + " CLASSPATH is searched for single component that implements RestProducerFactory SPI. Overrides"
         + " component configuration.", label = "producer")
-    @Metadata(required = "false")
+    @Metadata(required = false)
     private String componentName;
 
     @UriParam(
@@ -114,7 +114,7 @@ public final class RestSwaggerEndpoint extends DefaultEndpoint {
     private String host;
 
     @UriPath(description = "ID of the operation from the Swagger specification.", label = "producer")
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String operationId;
 
     @UriParam(description = "What payload type this component is producing. For example `application/json`"
diff --git a/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/RestletEndpoint.java b/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/RestletEndpoint.java
index 331c402..4100782 100644
--- a/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/RestletEndpoint.java
+++ b/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/RestletEndpoint.java
@@ -49,11 +49,11 @@ public class RestletEndpoint extends DefaultEndpoint implements AsyncEndpoint, H
     private static final int DEFAULT_SOCKET_TIMEOUT = 30000;
     private static final int DEFAULT_CONNECT_TIMEOUT = 30000;
 
-    @UriPath(enums = "http,https") @Metadata(required = "true")
+    @UriPath(enums = "http,https") @Metadata(required = true)
     private String protocol = DEFAULT_PROTOCOL;
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private String host = DEFAULT_HOST;
-    @UriPath(defaultValue = "80") @Metadata(required = "true")
+    @UriPath(defaultValue = "80") @Metadata(required = true)
     private int port = DEFAULT_PORT;
     @UriPath
     private String uriPattern;
diff --git a/components/camel-rmi/src/main/java/org/apache/camel/component/rmi/RmiEndpoint.java b/components/camel-rmi/src/main/java/org/apache/camel/component/rmi/RmiEndpoint.java
index 8b7fbc8..213ef26 100644
--- a/components/camel-rmi/src/main/java/org/apache/camel/component/rmi/RmiEndpoint.java
+++ b/components/camel-rmi/src/main/java/org/apache/camel/component/rmi/RmiEndpoint.java
@@ -47,7 +47,7 @@ public class RmiEndpoint extends DefaultEndpoint {
     private String hostname;
     @UriPath(description = "Port number of RMI server", defaultValue = "" + Registry.REGISTRY_PORT)
     private int port;
-    @UriPath(description = "Name to use when binding to RMI server") @Metadata(required = "true")
+    @UriPath(description = "Name to use when binding to RMI server") @Metadata(required = true)
     private String name;
     @UriParam
     private List<Class<?>> remoteInterfaces;
diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceComponent.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceComponent.java
index 1392c74..466030a 100644
--- a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceComponent.java
+++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceComponent.java
@@ -89,12 +89,12 @@ public class SalesforceComponent extends DefaultComponent implements SSLContextP
 
     // allow fine grained login as well
     @Metadata(description = "URL of the Salesforce instance used for authentication, by default set to "
-    + DEFAULT_LOGIN_URL, label = "common,security", defaultValue = DEFAULT_LOGIN_URL, required = "true")
+    + DEFAULT_LOGIN_URL, label = "common,security", defaultValue = DEFAULT_LOGIN_URL, required = true)
     private String loginUrl;
 
     @Metadata(description = "OAuth Consumer Key of the connected app configured in the Salesforce instance setup."
         + " Typically a connected app needs to be configured but one can be provided by installing a package.",
-        label = "common,security", required = "true")
+        label = "common,security", required = true)
     private String clientId;
 
     @Metadata(description = "OAuth Consumer Secret of the connected app configured in the Salesforce instance setup.",
diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/approval/ApprovalRequest.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/approval/ApprovalRequest.java
index 293b2df..c8c4834 100644
--- a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/approval/ApprovalRequest.java
+++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/api/dto/approval/ApprovalRequest.java
@@ -69,27 +69,27 @@ public final class ApprovalRequest implements Serializable {
     private static final long serialVersionUID = 1L;
 
     @UriParam
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private Action actionType;
 
     @UriParam
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String contextActorId;
 
     @UriParam
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String contextId;
 
     @UriParam
     private String comments;
 
     @UriParam
-    @Metadata(required = "true")
+    @Metadata(required = true)
     @XStreamImplicit(itemFieldName = "nextApproverIds")
     private List<String> nextApproverIds;
 
     @UriParam
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String processDefinitionNameOrId;
 
     @UriParam
diff --git a/components/camel-sap-netweaver/src/main/java/org/apache/camel/component/sap/netweaver/NetWeaverEndpoint.java b/components/camel-sap-netweaver/src/main/java/org/apache/camel/component/sap/netweaver/NetWeaverEndpoint.java
index 056e678..37c844c 100644
--- a/components/camel-sap-netweaver/src/main/java/org/apache/camel/component/sap/netweaver/NetWeaverEndpoint.java
+++ b/components/camel-sap-netweaver/src/main/java/org/apache/camel/component/sap/netweaver/NetWeaverEndpoint.java
@@ -32,7 +32,7 @@ import org.apache.camel.spi.UriPath;
 @UriEndpoint(firstVersion = "2.12.0", scheme = "sap-netweaver", title = "SAP NetWeaver", syntax = "sap-netweaver:url", producerOnly = true, label = "sap")
 public class NetWeaverEndpoint extends DefaultEndpoint {
 
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private String url;
     @UriParam(defaultValue = "true")
     private boolean json = true;
@@ -40,9 +40,9 @@ public class NetWeaverEndpoint extends DefaultEndpoint {
     private boolean jsonAsMap = true;
     @UriParam(defaultValue = "true")
     private boolean flatternMap = true;
-    @UriParam @Metadata(required = "true", secret = true)
+    @UriParam @Metadata(required = true, secret = true)
     private String username;
-    @UriParam @Metadata(required = "true", secret = true)
+    @UriParam @Metadata(required = true, secret = true)
     private String password;
 
     public NetWeaverEndpoint(String endpointUri, Component component) {
diff --git a/components/camel-saxon/src/main/java/org/apache/camel/component/xquery/XQueryEndpoint.java b/components/camel-saxon/src/main/java/org/apache/camel/component/xquery/XQueryEndpoint.java
index 82cc651..f751214 100644
--- a/components/camel-saxon/src/main/java/org/apache/camel/component/xquery/XQueryEndpoint.java
+++ b/components/camel-saxon/src/main/java/org/apache/camel/component/xquery/XQueryEndpoint.java
@@ -41,7 +41,7 @@ public class XQueryEndpoint extends ProcessorEndpoint {
 
     private volatile XQueryBuilder xquery;
 
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private String resourceUri;
     @UriParam(label = "advanced")
     private Configuration configuration;
diff --git a/components/camel-schematron/src/main/java/org/apache/camel/component/schematron/SchematronEndpoint.java b/components/camel-schematron/src/main/java/org/apache/camel/component/schematron/SchematronEndpoint.java
index 17b06ae..72aa58d 100644
--- a/components/camel-schematron/src/main/java/org/apache/camel/component/schematron/SchematronEndpoint.java
+++ b/components/camel-schematron/src/main/java/org/apache/camel/component/schematron/SchematronEndpoint.java
@@ -50,7 +50,7 @@ public class SchematronEndpoint extends DefaultEndpoint {
 
     private TransformerFactory transformerFactory;
 
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private String path;
     @UriParam
     private boolean abort;
diff --git a/components/camel-service/src/main/java/org/apache/camel/component/service/ServiceEndpoint.java b/components/camel-service/src/main/java/org/apache/camel/component/service/ServiceEndpoint.java
index 28c8d03..99ccd32 100644
--- a/components/camel-service/src/main/java/org/apache/camel/component/service/ServiceEndpoint.java
+++ b/components/camel-service/src/main/java/org/apache/camel/component/service/ServiceEndpoint.java
@@ -56,7 +56,7 @@ public class ServiceEndpoint extends DefaultEndpoint implements DelegateEndpoint
     private final ServiceDefinition serviceDefinition;
 
     @UriPath(description = "The endpoint uri to expose as service")
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private final String delegateUri;
 
     public ServiceEndpoint(String uri, ServiceComponent component, ServiceRegistry serviceRegistry, Map<String, String> serviceParameters, String delegateUri) {
diff --git a/components/camel-servicenow/camel-servicenow-component/src/main/java/org/apache/camel/component/servicenow/ServiceNowConfiguration.java b/components/camel-servicenow/camel-servicenow-component/src/main/java/org/apache/camel/component/servicenow/ServiceNowConfiguration.java
index 56a1e8f..1486b6f 100644
--- a/components/camel-servicenow/camel-servicenow-component/src/main/java/org/apache/camel/component/servicenow/ServiceNowConfiguration.java
+++ b/components/camel-servicenow/camel-servicenow-component/src/main/java/org/apache/camel/component/servicenow/ServiceNowConfiguration.java
@@ -47,10 +47,10 @@ import org.apache.cxf.transports.http.configuration.HTTPClientPolicy;
 @UriParams
 public class ServiceNowConfiguration implements Cloneable {
     @UriParam(label = "security", secret = true)
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String userName;
     @UriParam(label = "security", secret = true)
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String password;
     @UriParam(label = "security", secret = true)
     private String oauthClientId;
diff --git a/components/camel-servicenow/camel-servicenow-component/src/main/java/org/apache/camel/component/servicenow/ServiceNowEndpoint.java b/components/camel-servicenow/camel-servicenow-component/src/main/java/org/apache/camel/component/servicenow/ServiceNowEndpoint.java
index 1ade9d0..13c9117 100644
--- a/components/camel-servicenow/camel-servicenow-component/src/main/java/org/apache/camel/component/servicenow/ServiceNowEndpoint.java
+++ b/components/camel-servicenow/camel-servicenow-component/src/main/java/org/apache/camel/component/servicenow/ServiceNowEndpoint.java
@@ -35,7 +35,7 @@ public class ServiceNowEndpoint extends DefaultEndpoint {
     private static final Logger LOGGER = LoggerFactory.getLogger(ServiceNowEndpoint.class);
 
     @UriPath(description = "The ServiceNow instance name")
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private final String instanceName;
 
     @UriParam
diff --git a/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/ServletEndpoint.java b/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/ServletEndpoint.java
index 0c48efb..308f4cf 100644
--- a/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/ServletEndpoint.java
+++ b/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/ServletEndpoint.java
@@ -40,7 +40,7 @@ public class ServletEndpoint extends HttpCommonEndpoint {
 
     private HttpBinding binding;
 
-    @UriPath(label = "consumer") @Metadata(required = "true")
+    @UriPath(label = "consumer") @Metadata(required = true)
     private String contextPath;
     @UriParam(label = "consumer", defaultValue = "CamelServlet")
     private String servletName;
diff --git a/components/camel-sip/src/main/java/org/apache/camel/component/sip/SipConfiguration.java b/components/camel-sip/src/main/java/org/apache/camel/component/sip/SipConfiguration.java
index 3f71027..b0bab48 100644
--- a/components/camel-sip/src/main/java/org/apache/camel/component/sip/SipConfiguration.java
+++ b/components/camel-sip/src/main/java/org/apache/camel/component/sip/SipConfiguration.java
@@ -64,7 +64,7 @@ public class SipConfiguration {
     private String protocol;
     private Map<String, Object> parameters;
 
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private URI uri;
     @UriParam(label = "advanced")
     private AddressFactory addressFactory;
diff --git a/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsEndpoint.java b/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsEndpoint.java
index 08ed02e..cc1515b 100644
--- a/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsEndpoint.java
+++ b/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsEndpoint.java
@@ -72,7 +72,7 @@ public class SjmsEndpoint extends DefaultEndpoint implements AsyncEndpoint, Mult
 
     @UriPath(enums = "queue,topic", defaultValue = "queue", description = "The kind of destination to use")
     private String destinationType;
-    @UriPath(description = "DestinationName is a JMS queue or topic name. By default, the destinationName is interpreted as a queue name.") @Metadata(required = "true")
+    @UriPath(description = "DestinationName is a JMS queue or topic name. By default, the destinationName is interpreted as a queue name.") @Metadata(required = true)
     private String destinationName;
     @UriParam(label = "consumer", defaultValue = "true",
             description = "Sets whether synchronous processing should be strictly used or Camel is allowed to use asynchronous processing (if supported).")
diff --git a/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/batch/SjmsBatchEndpoint.java b/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/batch/SjmsBatchEndpoint.java
index 366457b..b596f9a 100644
--- a/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/batch/SjmsBatchEndpoint.java
+++ b/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/batch/SjmsBatchEndpoint.java
@@ -56,9 +56,9 @@ public class SjmsBatchEndpoint extends DefaultEndpoint implements HeaderFilterSt
 
     private JmsBinding binding;
 
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private String destinationName;
-    @UriParam @Metadata(required = "true")
+    @UriParam @Metadata(required = true)
     private AggregationStrategy aggregationStrategy;
     @UriParam(defaultValue = "1")
     private int consumerCount = 1;
diff --git a/components/camel-slack/src/main/java/org/apache/camel/component/slack/SlackEndpoint.java b/components/camel-slack/src/main/java/org/apache/camel/component/slack/SlackEndpoint.java
index 901fbd8..0bd291f 100644
--- a/components/camel-slack/src/main/java/org/apache/camel/component/slack/SlackEndpoint.java
+++ b/components/camel-slack/src/main/java/org/apache/camel/component/slack/SlackEndpoint.java
@@ -39,7 +39,7 @@ import org.json.simple.JSONObject;
 public class SlackEndpoint extends ScheduledPollEndpoint {
 
     @UriPath
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String channel;
     @UriParam(label = "producer")
     private String webhookUrl;
diff --git a/components/camel-snmp/src/main/java/org/apache/camel/component/snmp/SnmpEndpoint.java b/components/camel-snmp/src/main/java/org/apache/camel/component/snmp/SnmpEndpoint.java
index 3524f0e..3cfb614 100644
--- a/components/camel-snmp/src/main/java/org/apache/camel/component/snmp/SnmpEndpoint.java
+++ b/components/camel-snmp/src/main/java/org/apache/camel/component/snmp/SnmpEndpoint.java
@@ -45,9 +45,9 @@ public class SnmpEndpoint extends DefaultPollingEndpoint {
 
     private transient String address;
 
-    @UriPath(description = "Hostname of the SNMP enabled device") @Metadata(required = "true")
+    @UriPath(description = "Hostname of the SNMP enabled device") @Metadata(required = true)
     private String host;
-    @UriPath(description = "Port number of the SNMP enabled device") @Metadata(required = "true")
+    @UriPath(description = "Port number of the SNMP enabled device") @Metadata(required = true)
     private Integer port;
     @UriParam(defaultValue = "udp", enums = "tcp,udp")
     private String protocol = "udp";
diff --git a/components/camel-solr/src/main/java/org/apache/camel/component/solr/SolrEndpoint.java b/components/camel-solr/src/main/java/org/apache/camel/component/solr/SolrEndpoint.java
index a997d6e..a21b1ec 100644
--- a/components/camel-solr/src/main/java/org/apache/camel/component/solr/SolrEndpoint.java
+++ b/components/camel-solr/src/main/java/org/apache/camel/component/solr/SolrEndpoint.java
@@ -41,7 +41,7 @@ public class SolrEndpoint extends DefaultEndpoint {
     private String scheme = "http://";
 
     @UriPath(description = "Hostname and port for the solr server")
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String url;
     @UriParam(defaultValue = "" + SolrConstants.DEFUALT_STREAMING_QUEUE_SIZE)
     private int streamingQueueSize = SolrConstants.DEFUALT_STREAMING_QUEUE_SIZE;
diff --git a/components/camel-spark-rest/src/main/java/org/apache/camel/component/sparkrest/SparkEndpoint.java b/components/camel-spark-rest/src/main/java/org/apache/camel/component/sparkrest/SparkEndpoint.java
index a712bb3..73dc29b 100644
--- a/components/camel-spark-rest/src/main/java/org/apache/camel/component/sparkrest/SparkEndpoint.java
+++ b/components/camel-spark-rest/src/main/java/org/apache/camel/component/sparkrest/SparkEndpoint.java
@@ -33,9 +33,9 @@ import spark.route.HttpMethod;
  */
 @UriEndpoint(firstVersion = "2.14.0", scheme = "spark-rest", title = "Spark Rest", syntax = "spark-rest:verb:path", consumerOnly = true, consumerClass =  SparkConsumer.class, label = "rest")
 public class SparkEndpoint extends DefaultEndpoint {
-    @UriPath(enums = "get,post,put,patch,delete,head,trace,connect,options") @Metadata(required = "true")
+    @UriPath(enums = "get,post,put,patch,delete,head,trace,connect,options") @Metadata(required = true)
     private String verb;
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private String path;
     @UriParam
     private String accept;
diff --git a/components/camel-spark/src/main/java/org/apache/camel/component/spark/SparkEndpoint.java b/components/camel-spark/src/main/java/org/apache/camel/component/spark/SparkEndpoint.java
index 8cf57a3..9f10f59 100644
--- a/components/camel-spark/src/main/java/org/apache/camel/component/spark/SparkEndpoint.java
+++ b/components/camel-spark/src/main/java/org/apache/camel/component/spark/SparkEndpoint.java
@@ -44,7 +44,7 @@ public class SparkEndpoint extends DefaultEndpoint {
 
     // Endpoint collaborators
 
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private EndpointType endpointType;
     @UriParam
     private JavaRDDLike rdd;
diff --git a/components/camel-splunk/src/main/java/org/apache/camel/component/splunk/SplunkConfiguration.java b/components/camel-splunk/src/main/java/org/apache/camel/component/splunk/SplunkConfiguration.java
index fc17970..24ff3c6 100644
--- a/components/camel-splunk/src/main/java/org/apache/camel/component/splunk/SplunkConfiguration.java
+++ b/components/camel-splunk/src/main/java/org/apache/camel/component/splunk/SplunkConfiguration.java
@@ -30,7 +30,7 @@ public class SplunkConfiguration {
 
     private SplunkConnectionFactory connectionFactory;
 
-    @UriPath(description = "Name has no purpose") @Metadata(required = "true")
+    @UriPath(description = "Name has no purpose") @Metadata(required = true)
     private String name;
     @UriParam(defaultValue = "https")
     private String scheme = Service.DEFAULT_SCHEME;
diff --git a/components/camel-spring-batch/src/main/java/org/apache/camel/component/spring/batch/SpringBatchEndpoint.java b/components/camel-spring-batch/src/main/java/org/apache/camel/component/spring/batch/SpringBatchEndpoint.java
index 37ab651..1b53559 100644
--- a/components/camel-spring-batch/src/main/java/org/apache/camel/component/spring/batch/SpringBatchEndpoint.java
+++ b/components/camel-spring-batch/src/main/java/org/apache/camel/component/spring/batch/SpringBatchEndpoint.java
@@ -39,7 +39,7 @@ import org.springframework.batch.core.launch.JobLauncher;
 public class SpringBatchEndpoint extends DefaultEndpoint {
 
     @UriPath
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String jobName;
 
     @UriParam
diff --git a/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/SpringIntegrationEndpoint.java b/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/SpringIntegrationEndpoint.java
index 0c33d4a..368e3dc 100644
--- a/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/SpringIntegrationEndpoint.java
+++ b/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/SpringIntegrationEndpoint.java
@@ -34,7 +34,7 @@ import org.springframework.messaging.MessageChannel;
         consumerClass = SpringIntegrationConsumer.class, label = "spring,eventbus")
 public class SpringIntegrationEndpoint extends DefaultEndpoint {
     private MessageChannel messageChannel;
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private String defaultChannel;
     @UriParam(label = "consumer")
     private String inputChannel;
diff --git a/components/camel-spring-ldap/src/main/java/org/apache/camel/component/springldap/SpringLdapEndpoint.java b/components/camel-spring-ldap/src/main/java/org/apache/camel/component/springldap/SpringLdapEndpoint.java
index 1193f03..be672f8 100644
--- a/components/camel-spring-ldap/src/main/java/org/apache/camel/component/springldap/SpringLdapEndpoint.java
+++ b/components/camel-spring-ldap/src/main/java/org/apache/camel/component/springldap/SpringLdapEndpoint.java
@@ -39,9 +39,9 @@ public class SpringLdapEndpoint extends DefaultEndpoint {
     private static final String SUBTREE_SCOPE_NAME = "subtree";
 
     private LdapTemplate ldapTemplate;
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private String templateName;
-    @UriParam @Metadata(required = "true")
+    @UriParam @Metadata(required = true)
     private LdapOperation operation;
     @UriParam(defaultValue = "subtree", enums = "object,onelevel,subtree")
     private String scope = SUBTREE_SCOPE_NAME;
diff --git a/components/camel-spring-redis/src/main/java/org/apache/camel/component/redis/RedisConfiguration.java b/components/camel-spring-redis/src/main/java/org/apache/camel/component/redis/RedisConfiguration.java
index 3806d9f..b3a3b83 100644
--- a/components/camel-spring-redis/src/main/java/org/apache/camel/component/redis/RedisConfiguration.java
+++ b/components/camel-spring-redis/src/main/java/org/apache/camel/component/redis/RedisConfiguration.java
@@ -32,9 +32,9 @@ public class RedisConfiguration {
     private boolean managedListenerContainer;
     private boolean managedConnectionFactory;
 
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private String host;
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private Integer port;
     @UriParam(defaultValue = "SET")
     private Command command = Command.SET;
diff --git a/components/camel-spring/src/main/java/org/apache/camel/spring/ErrorHandlerDefinition.java b/components/camel-spring/src/main/java/org/apache/camel/spring/ErrorHandlerDefinition.java
index 9c264ec..7f7b01a 100644
--- a/components/camel-spring/src/main/java/org/apache/camel/spring/ErrorHandlerDefinition.java
+++ b/components/camel-spring/src/main/java/org/apache/camel/spring/ErrorHandlerDefinition.java
@@ -34,7 +34,7 @@ import org.apache.camel.spi.Metadata;
 @XmlRootElement(name = "errorHandler")
 @XmlAccessorType(XmlAccessType.FIELD)
 public class ErrorHandlerDefinition extends IdentifiedType {
-    @XmlAttribute @Metadata(defaultValue = "DefaultErrorHandler", required = "true")
+    @XmlAttribute @Metadata(defaultValue = "DefaultErrorHandler", required = true)
     private ErrorHandlerType type = ErrorHandlerType.DefaultErrorHandler;
     @XmlAttribute
     private String deadLetterUri;
diff --git a/components/camel-sql/src/main/java/org/apache/camel/component/sql/SqlEndpoint.java b/components/camel-sql/src/main/java/org/apache/camel/component/sql/SqlEndpoint.java
index f741245..d0a33e0 100644
--- a/components/camel-sql/src/main/java/org/apache/camel/component/sql/SqlEndpoint.java
+++ b/components/camel-sql/src/main/java/org/apache/camel/component/sql/SqlEndpoint.java
@@ -33,7 +33,7 @@ import org.springframework.jdbc.core.JdbcTemplate;
 public class SqlEndpoint extends DefaultSqlEndpoint {
 
     @UriPath(description = "Sets the SQL query to perform. You can externalize the query by using file: or classpath: as prefix and specify the location of the file.")
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String query;
 
     public SqlEndpoint() {
diff --git a/components/camel-sql/src/main/java/org/apache/camel/component/sql/stored/SqlStoredEndpoint.java b/components/camel-sql/src/main/java/org/apache/camel/component/sql/stored/SqlStoredEndpoint.java
index a8f8e9b..bde338a 100644
--- a/components/camel-sql/src/main/java/org/apache/camel/component/sql/stored/SqlStoredEndpoint.java
+++ b/components/camel-sql/src/main/java/org/apache/camel/component/sql/stored/SqlStoredEndpoint.java
@@ -43,7 +43,7 @@ public class SqlStoredEndpoint extends DefaultEndpoint {
     private DataSource dataSource;
 
     @UriPath(description = "Sets the StoredProcedure template to perform")
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String template;
     @UriParam(description = "Enables or disables batch mode")
     private boolean batch;
diff --git a/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshConfiguration.java b/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshConfiguration.java
index e2cf293..e7ef013 100644
--- a/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshConfiguration.java
+++ b/components/camel-ssh/src/main/java/org/apache/camel/component/ssh/SshConfiguration.java
@@ -32,7 +32,7 @@ public class SshConfiguration implements Cloneable {
     public static final int DEFAULT_SSH_PORT = 22;
 
     @UriPath
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String host;
     @UriPath(defaultValue = "" + DEFAULT_SSH_PORT)
     private int port = DEFAULT_SSH_PORT;
diff --git a/components/camel-stax/src/main/java/org/apache/camel/component/stax/StAXEndpoint.java b/components/camel-stax/src/main/java/org/apache/camel/component/stax/StAXEndpoint.java
index d0015a6..2317555 100644
--- a/components/camel-stax/src/main/java/org/apache/camel/component/stax/StAXEndpoint.java
+++ b/components/camel-stax/src/main/java/org/apache/camel/component/stax/StAXEndpoint.java
@@ -32,7 +32,7 @@ import org.apache.camel.support.EndpointHelper;
 @UriEndpoint(firstVersion = "2.9.0", scheme = "stax", title = "StAX", syntax = "stax:contentHandlerClass", producerOnly = true, label = "transformation")
 public class StAXEndpoint extends ProcessorEndpoint {
 
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private String contentHandlerClass;
 
     public StAXEndpoint(String endpointUri, Component component) {
diff --git a/components/camel-stomp/src/main/java/org/apache/camel/component/stomp/StompConfiguration.java b/components/camel-stomp/src/main/java/org/apache/camel/component/stomp/StompConfiguration.java
index 5cdd20b..1ab7f15 100644
--- a/components/camel-stomp/src/main/java/org/apache/camel/component/stomp/StompConfiguration.java
+++ b/components/camel-stomp/src/main/java/org/apache/camel/component/stomp/StompConfiguration.java
@@ -25,7 +25,7 @@ import org.apache.camel.support.jsse.SSLContextParameters;
 @UriParams
 public class StompConfiguration implements Cloneable {
     @UriParam(defaultValue = "tcp://localhost:61613")
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String brokerURL = "tcp://localhost:61613";
     @UriParam(label = "security", secret = true)
     private String login;
diff --git a/components/camel-stomp/src/main/java/org/apache/camel/component/stomp/StompEndpoint.java b/components/camel-stomp/src/main/java/org/apache/camel/component/stomp/StompEndpoint.java
index e93674a..d1eb041 100644
--- a/components/camel-stomp/src/main/java/org/apache/camel/component/stomp/StompEndpoint.java
+++ b/components/camel-stomp/src/main/java/org/apache/camel/component/stomp/StompEndpoint.java
@@ -57,7 +57,7 @@ import static org.fusesource.stomp.client.Constants.UNSUBSCRIBE;
 @UriEndpoint(firstVersion = "2.12.0", scheme = "stomp", title = "Stomp", syntax = "stomp:destination", consumerClass = StompConsumer.class, label = "messaging")
 public class StompEndpoint extends DefaultEndpoint implements AsyncEndpoint, HeaderFilterStrategyAware {
 
-    @UriPath(description = "Name of the queue") @Metadata(required = "true")
+    @UriPath(description = "Name of the queue") @Metadata(required = true)
     private String destination;
     @UriParam
     private StompConfiguration configuration;
diff --git a/components/camel-stream/src/main/java/org/apache/camel/component/stream/StreamEndpoint.java b/components/camel-stream/src/main/java/org/apache/camel/component/stream/StreamEndpoint.java
index d187942..e9759a7 100644
--- a/components/camel-stream/src/main/java/org/apache/camel/component/stream/StreamEndpoint.java
+++ b/components/camel-stream/src/main/java/org/apache/camel/component/stream/StreamEndpoint.java
@@ -38,7 +38,7 @@ public class StreamEndpoint extends DefaultEndpoint {
 
     private transient Charset charset;
 
-    @UriPath(enums = "in,out,err,header,file,url") @Metadata(required = "true")
+    @UriPath(enums = "in,out,err,header,file,url") @Metadata(required = true)
     private String kind;
     @UriParam
     private String url;
diff --git a/components/camel-telegram/src/main/java/org/apache/camel/component/telegram/TelegramConfiguration.java b/components/camel-telegram/src/main/java/org/apache/camel/component/telegram/TelegramConfiguration.java
index 6e52fd4..69aa249 100644
--- a/components/camel-telegram/src/main/java/org/apache/camel/component/telegram/TelegramConfiguration.java
+++ b/components/camel-telegram/src/main/java/org/apache/camel/component/telegram/TelegramConfiguration.java
@@ -30,11 +30,11 @@ public class TelegramConfiguration {
     public static final String ENDPOINT_TYPE_BOTS = "bots";
 
     @UriPath(description = "The endpoint type. Currently, only the 'bots' type is supported.", enums = ENDPOINT_TYPE_BOTS)
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String type;
 
     @UriPath(label = "security", description = "The authorization token for using the bot (ask the BotFather), eg. 654321531:HGF_dTra456323dHuOedsE343211fqr3t-H.")
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String authorizationToken;
 
     @UriParam(description = "The identifier of the chat that will receive the produced messages. Chat ids can be first obtained from incoming messages "
diff --git a/components/camel-thrift/src/main/java/org/apache/camel/component/thrift/ThriftConfiguration.java b/components/camel-thrift/src/main/java/org/apache/camel/component/thrift/ThriftConfiguration.java
index 91840e3..bf12149 100644
--- a/components/camel-thrift/src/main/java/org/apache/camel/component/thrift/ThriftConfiguration.java
+++ b/components/camel-thrift/src/main/java/org/apache/camel/component/thrift/ThriftConfiguration.java
@@ -32,11 +32,11 @@ public class ThriftConfiguration {
     private String host;
 
     @UriPath
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private int port;
 
     @UriPath
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String service;
 
     @UriParam(label = "producer")
diff --git a/components/camel-tika/src/main/java/org/apache/camel/component/tika/TikaConfiguration.java b/components/camel-tika/src/main/java/org/apache/camel/component/tika/TikaConfiguration.java
index 33542c0..4208f9e 100644
--- a/components/camel-tika/src/main/java/org/apache/camel/component/tika/TikaConfiguration.java
+++ b/components/camel-tika/src/main/java/org/apache/camel/component/tika/TikaConfiguration.java
@@ -33,7 +33,7 @@ import org.apache.tika.exception.TikaException;
 public class TikaConfiguration {
 
     @UriPath(description = "Operation type")
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private TikaOperation operation;
     @UriParam(defaultValue = "xml")
     private TikaParseOutputFormat tikaParseOutputFormat = TikaParseOutputFormat.xml;
diff --git a/components/camel-twilio/src/main/java/org/apache/camel/component/twilio/TwilioConfiguration.java b/components/camel-twilio/src/main/java/org/apache/camel/component/twilio/TwilioConfiguration.java
index 98b8f7b..6c3cc38 100644
--- a/components/camel-twilio/src/main/java/org/apache/camel/component/twilio/TwilioConfiguration.java
+++ b/components/camel-twilio/src/main/java/org/apache/camel/component/twilio/TwilioConfiguration.java
@@ -30,11 +30,11 @@ import org.apache.camel.spi.UriPath;
 public class TwilioConfiguration implements Cloneable {
 
     @UriPath
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private TwilioApiName apiName;
 
     @UriPath(enums = "create,delete,fetch,read,update")
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String methodName;
 
     /**
diff --git a/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/directmessage/TwitterDirectMessageEndpoint.java b/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/directmessage/TwitterDirectMessageEndpoint.java
index 26f8c6f..9fa76ec 100644
--- a/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/directmessage/TwitterDirectMessageEndpoint.java
+++ b/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/directmessage/TwitterDirectMessageEndpoint.java
@@ -34,7 +34,7 @@ import org.apache.camel.spi.UriPath;
 public class TwitterDirectMessageEndpoint extends AbstractTwitterEndpoint {
 
     @UriPath(description = "The user name to send a direct message. This will be ignored for consumer.")
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String user;
 
     public TwitterDirectMessageEndpoint(String uri, String remaining, TwitterDirectMessageComponent component, TwitterConfiguration properties) {
diff --git a/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/search/TwitterSearchEndpoint.java b/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/search/TwitterSearchEndpoint.java
index 7a4e6f2..cd978b0 100644
--- a/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/search/TwitterSearchEndpoint.java
+++ b/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/search/TwitterSearchEndpoint.java
@@ -34,7 +34,7 @@ import org.apache.camel.spi.UriPath;
 public class TwitterSearchEndpoint extends AbstractTwitterEndpoint {
 
     @UriPath(description = "The search keywords. Multiple values can be separated with comma.")
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String keywords;
 
     public TwitterSearchEndpoint(String uri, String remaining, TwitterSearchComponent component, TwitterConfiguration properties) {
diff --git a/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/streaming/TwitterStreamingEndpoint.java b/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/streaming/TwitterStreamingEndpoint.java
index 5a36f9b..1aba984 100644
--- a/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/streaming/TwitterStreamingEndpoint.java
+++ b/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/streaming/TwitterStreamingEndpoint.java
@@ -37,7 +37,7 @@ import org.apache.camel.spi.UriPath;
 public class TwitterStreamingEndpoint extends AbstractTwitterEndpoint {
 
     @UriPath(description = "The streaming type to consume.")
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private StreamingType streamingType;
 
     @UriParam(description = "Can be used for a streaming filter. Multiple values can be separated with comma.", label = "consumer,filter")
diff --git a/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/timeline/TwitterTimelineEndpoint.java b/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/timeline/TwitterTimelineEndpoint.java
index 0bfd70e..c940ee1 100644
--- a/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/timeline/TwitterTimelineEndpoint.java
+++ b/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/timeline/TwitterTimelineEndpoint.java
@@ -37,7 +37,7 @@ import org.apache.camel.spi.UriPath;
 public class TwitterTimelineEndpoint extends AbstractTwitterEndpoint {
 
     @UriPath(description = "The timeline type to produce/consume.")
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private TimelineType timelineType;
     @UriParam(description = "The username when using timelineType=user")
     private String user;
diff --git a/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowEndpoint.java b/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowEndpoint.java
index b4eaef6..6f65569 100644
--- a/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowEndpoint.java
+++ b/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowEndpoint.java
@@ -62,7 +62,7 @@ public class UndertowEndpoint extends DefaultEndpoint implements AsyncEndpoint,
     private CamelWebSocketHandler webSocketHttpHandler;
     private boolean isWebSocket;
 
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private URI httpURI;
     @UriParam(label = "advanced")
     private UndertowHttpBinding undertowHttpBinding;
diff --git a/components/camel-vertx/src/main/java/org/apache/camel/component/vertx/VertxEndpoint.java b/components/camel-vertx/src/main/java/org/apache/camel/component/vertx/VertxEndpoint.java
index d264651..9ba9e4a 100644
--- a/components/camel-vertx/src/main/java/org/apache/camel/component/vertx/VertxEndpoint.java
+++ b/components/camel-vertx/src/main/java/org/apache/camel/component/vertx/VertxEndpoint.java
@@ -35,7 +35,7 @@ import org.apache.camel.spi.UriPath;
 @UriEndpoint(firstVersion = "2.12.0", scheme = "vertx", title = "Vert.x", syntax = "vertx:address", consumerClass = VertxConsumer.class, label = "eventbus,reactive")
 public class VertxEndpoint extends DefaultEndpoint implements AsyncEndpoint, MultipleConsumersSupport {
 
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private String address;
     @UriParam
     private Boolean pubSub;
diff --git a/components/camel-weather/src/main/java/org/apache/camel/component/weather/WeatherConfiguration.java b/components/camel-weather/src/main/java/org/apache/camel/component/weather/WeatherConfiguration.java
index 3daab20..e158d0d 100644
--- a/components/camel-weather/src/main/java/org/apache/camel/component/weather/WeatherConfiguration.java
+++ b/components/camel-weather/src/main/java/org/apache/camel/component/weather/WeatherConfiguration.java
@@ -40,10 +40,10 @@ public class WeatherConfiguration {
     private final WeatherQuery weatherQuery;
 
     @UriPath(description = "The name value is not used.")
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String name;
     @UriParam
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String appid;
     @UriParam
     private WeatherApi weatherApi;
@@ -93,10 +93,10 @@ public class WeatherConfiguration {
     @UriParam(label = "advanced")
     private HttpConnectionManager httpConnectionManager;
     @UriParam(label = "security")
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String geolocationAccessKey;
     @UriParam(label = "security")
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String geolocationRequestHostIP;
 
     public WeatherConfiguration(WeatherComponent component) {
diff --git a/components/camel-web3j/src/main/java/org/apache/camel/component/web3j/Web3jEndpoint.java b/components/camel-web3j/src/main/java/org/apache/camel/component/web3j/Web3jEndpoint.java
index 3036703..b1c55da 100644
--- a/components/camel-web3j/src/main/java/org/apache/camel/component/web3j/Web3jEndpoint.java
+++ b/components/camel-web3j/src/main/java/org/apache/camel/component/web3j/Web3jEndpoint.java
@@ -49,7 +49,7 @@ public class Web3jEndpoint extends DefaultEndpoint {
 
     private final Web3j web3j;
 
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private String nodeAddress;
 
     @UriParam
diff --git a/components/camel-websocket/src/main/java/org/apache/camel/component/websocket/WebsocketEndpoint.java b/components/camel-websocket/src/main/java/org/apache/camel/component/websocket/WebsocketEndpoint.java
index 6fefea1..63b4df3 100644
--- a/components/camel-websocket/src/main/java/org/apache/camel/component/websocket/WebsocketEndpoint.java
+++ b/components/camel-websocket/src/main/java/org/apache/camel/component/websocket/WebsocketEndpoint.java
@@ -49,7 +49,7 @@ public class WebsocketEndpoint extends DefaultEndpoint {
     private String host;
     @UriPath(defaultValue = "9292")
     private Integer port;
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private String resourceUri;
 
     @UriParam(label = "producer")
diff --git a/components/camel-wordpress/src/main/java/org/apache/camel/component/wordpress/WordpressComponentConfiguration.java b/components/camel-wordpress/src/main/java/org/apache/camel/component/wordpress/WordpressComponentConfiguration.java
index 8ffedb8..0c21fe9 100644
--- a/components/camel-wordpress/src/main/java/org/apache/camel/component/wordpress/WordpressComponentConfiguration.java
+++ b/components/camel-wordpress/src/main/java/org/apache/camel/component/wordpress/WordpressComponentConfiguration.java
@@ -34,7 +34,7 @@ import org.apache.camel.util.StringHelper;
 public class WordpressComponentConfiguration {
 
     @UriParam(description = "The Wordpress API URL from your site, e.g. http://myblog.com/wp-json/")
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String url;
     @UriParam(description = "The Wordpress REST API version", defaultValue = WordpressConstants.API_VERSION)
     private String apiVersion = WordpressConstants.API_VERSION;
diff --git a/components/camel-wordpress/src/main/java/org/apache/camel/component/wordpress/WordpressEndpoint.java b/components/camel-wordpress/src/main/java/org/apache/camel/component/wordpress/WordpressEndpoint.java
index 15cc179..95a4cbd 100644
--- a/components/camel-wordpress/src/main/java/org/apache/camel/component/wordpress/WordpressEndpoint.java
+++ b/components/camel-wordpress/src/main/java/org/apache/camel/component/wordpress/WordpressEndpoint.java
@@ -50,7 +50,7 @@ public class WordpressEndpoint extends DefaultEndpoint {
     public static final String ENDPOINT_SERVICE_POST = "post, user";
 
     @UriPath(description = "The endpoint operation.", enums = ENDPOINT_SERVICE_POST)
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String operation;
 
     @UriPath(description = "The second part of an endpoint operation. Needed only when endpoint semantic is not enough, like wordpress:post:delete", enums = "delete")
diff --git a/components/camel-xchange/src/main/java/org/apache/camel/component/xchange/XChangeConfiguration.java b/components/camel-xchange/src/main/java/org/apache/camel/component/xchange/XChangeConfiguration.java
index 090e7f9..1636bfc 100644
--- a/components/camel-xchange/src/main/java/org/apache/camel/component/xchange/XChangeConfiguration.java
+++ b/components/camel-xchange/src/main/java/org/apache/camel/component/xchange/XChangeConfiguration.java
@@ -51,11 +51,11 @@ public class XChangeConfiguration {
     
     static Map<String, Class<? extends Exchange>> xchangeMapping = new HashMap<>();
 
-    @UriPath(description = "The exchange to connect to") @Metadata(required = "true")
+    @UriPath(description = "The exchange to connect to") @Metadata(required = true)
     private String name;
-    @UriParam(description = "The service to call") @Metadata(required = "true")
+    @UriParam(description = "The service to call") @Metadata(required = true)
     private XChangeService service;
-    @UriParam(description = "The method to execute") @Metadata(required = "true")
+    @UriParam(description = "The method to execute") @Metadata(required = true)
     private XChangeMethod method;
     @UriParam(description = "The currency") 
     private Currency currency;
diff --git a/components/camel-xmlsecurity/src/main/java/org/apache/camel/component/xmlsecurity/XmlSignatureEndpoint.java b/components/camel-xmlsecurity/src/main/java/org/apache/camel/component/xmlsecurity/XmlSignatureEndpoint.java
index 48895ad..cf5199f 100644
--- a/components/camel-xmlsecurity/src/main/java/org/apache/camel/component/xmlsecurity/XmlSignatureEndpoint.java
+++ b/components/camel-xmlsecurity/src/main/java/org/apache/camel/component/xmlsecurity/XmlSignatureEndpoint.java
@@ -37,9 +37,9 @@ import org.apache.camel.spi.UriPath;
 @UriEndpoint(firstVersion = "2.12.0", scheme = "xmlsecurity", title = "XML Security", syntax = "xmlsecurity:command:name", producerOnly = true, label = "security,transformation")
 public abstract class XmlSignatureEndpoint extends DefaultEndpoint {
 
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private XmlCommand command;
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private String name;
     // to include both kind of configuration params
     @UriParam
diff --git a/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppEndpoint.java b/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppEndpoint.java
index a0f2845..9ff1f15 100644
--- a/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppEndpoint.java
+++ b/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppEndpoint.java
@@ -62,9 +62,9 @@ public class XmppEndpoint extends DefaultEndpoint implements HeaderFilterStrateg
     private volatile XMPPTCPConnection connection;
     private XmppBinding binding;
 
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private String host;
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private int port;
     @UriPath(label = "common")
     private String participant;
diff --git a/components/camel-yammer/src/main/java/org/apache/camel/component/yammer/YammerConfiguration.java b/components/camel-yammer/src/main/java/org/apache/camel/component/yammer/YammerConfiguration.java
index 7db6208..e1be389 100644
--- a/components/camel-yammer/src/main/java/org/apache/camel/component/yammer/YammerConfiguration.java
+++ b/components/camel-yammer/src/main/java/org/apache/camel/component/yammer/YammerConfiguration.java
@@ -24,14 +24,14 @@ import org.apache.camel.spi.UriPath;
 @UriParams
 public class YammerConfiguration {
 
-    @UriPath(name = "function") @Metadata(required = "true")
+    @UriPath(name = "function") @Metadata(required = true)
     private YammerFunctionType functionType;
     private String function;
-    @UriParam(label = "security") @Metadata(required = "true", secret = true)
+    @UriParam(label = "security") @Metadata(required = true, secret = true)
     private String consumerKey;
-    @UriParam(label = "security") @Metadata(required = "true", secret = true)
+    @UriParam(label = "security") @Metadata(required = true, secret = true)
     private String consumerSecret;
-    @UriParam(label = "security") @Metadata(required = "true")
+    @UriParam(label = "security") @Metadata(required = true)
     private String accessToken;
     @UriParam
     private boolean useJson;
diff --git a/components/camel-zendesk/src/main/java/org/apache/camel/component/zendesk/ZendeskConfiguration.java b/components/camel-zendesk/src/main/java/org/apache/camel/component/zendesk/ZendeskConfiguration.java
index d4bae86..c9db149 100644
--- a/components/camel-zendesk/src/main/java/org/apache/camel/component/zendesk/ZendeskConfiguration.java
+++ b/components/camel-zendesk/src/main/java/org/apache/camel/component/zendesk/ZendeskConfiguration.java
@@ -29,7 +29,7 @@ import org.apache.camel.util.ObjectHelper;
 public class ZendeskConfiguration {
 
     @UriPath
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private String methodName;
 
     @UriParam
diff --git a/components/camel-zookeeper-master/src/main/java/org/apache/camel/component/zookeepermaster/MasterEndpoint.java b/components/camel-zookeeper-master/src/main/java/org/apache/camel/component/zookeepermaster/MasterEndpoint.java
index f936b43..d8772f3 100644
--- a/components/camel-zookeeper-master/src/main/java/org/apache/camel/component/zookeepermaster/MasterEndpoint.java
+++ b/components/camel-zookeeper-master/src/main/java/org/apache/camel/component/zookeepermaster/MasterEndpoint.java
@@ -40,11 +40,11 @@ public class MasterEndpoint extends DefaultEndpoint implements DelegateEndpoint
     private final Endpoint consumerEndpoint;
 
     @UriPath(description = "The name of the cluster group to use")
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private final String groupName;
 
     @UriPath(description = "The consumer endpoint to use in master/slave mode")
-    @Metadata(required = "true")
+    @Metadata(required = true)
     private final String consumerEndpointUri;
 
     public MasterEndpoint(String uri, MasterComponent component, String groupName, String consumerEndpointUri) {
diff --git a/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/ZooKeeperConfiguration.java b/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/ZooKeeperConfiguration.java
index 39db460..ee23605 100644
--- a/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/ZooKeeperConfiguration.java
+++ b/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/ZooKeeperConfiguration.java
@@ -36,10 +36,10 @@ import org.apache.camel.util.CollectionStringBuffer;
 @UriParams
 public class ZooKeeperConfiguration implements Cloneable {
 
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private String serverUrls;
     private List<String> servers;
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private String path;
     @UriParam(defaultValue = "5000")
     private int timeout = 5000;
diff --git a/platforms/dummy-component/src/main/java/org/apache/camel/component/dummy/DummyEndpoint.java b/platforms/dummy-component/src/main/java/org/apache/camel/component/dummy/DummyEndpoint.java
index da1761e..7d8c1fa 100644
--- a/platforms/dummy-component/src/main/java/org/apache/camel/component/dummy/DummyEndpoint.java
+++ b/platforms/dummy-component/src/main/java/org/apache/camel/component/dummy/DummyEndpoint.java
@@ -29,7 +29,7 @@ import org.apache.camel.spi.UriPath;
 @UriEndpoint(scheme = "dummy", syntax = "dummy:drink", title = "Dummy", label = "bar", producerOnly = true)
 public class DummyEndpoint extends DefaultEndpoint {
 
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = true)
     private Drinks drink;
 
     @UriParam(defaultValue = "1")
diff --git a/tooling/apt/src/main/java/org/apache/camel/tools/apt/CoreEipAnnotationProcessorHelper.java b/tooling/apt/src/main/java/org/apache/camel/tools/apt/CoreEipAnnotationProcessorHelper.java
index 1849903..1219ee9 100644
--- a/tooling/apt/src/main/java/org/apache/camel/tools/apt/CoreEipAnnotationProcessorHelper.java
+++ b/tooling/apt/src/main/java/org/apache/camel/tools/apt/CoreEipAnnotationProcessorHelper.java
@@ -1016,9 +1016,7 @@ public class CoreEipAnnotationProcessorHelper {
     private boolean findRequired(VariableElement fieldElement, boolean defaultValue) {
         Metadata metadata = fieldElement.getAnnotation(Metadata.class);
         if (metadata != null) {
-            if (!Strings.isNullOrEmpty(metadata.required())) {
-                defaultValue = "true".equals(metadata.required());
-            }
+            return metadata.required();
         }
         return defaultValue;
     }
diff --git a/tooling/apt/src/main/java/org/apache/camel/tools/apt/EndpointAnnotationProcessor.java b/tooling/apt/src/main/java/org/apache/camel/tools/apt/EndpointAnnotationProcessor.java
index 3726d83..a1a1aba 100644
--- a/tooling/apt/src/main/java/org/apache/camel/tools/apt/EndpointAnnotationProcessor.java
+++ b/tooling/apt/src/main/java/org/apache/camel/tools/apt/EndpointAnnotationProcessor.java
@@ -224,7 +224,7 @@ public class EndpointAnnotationProcessor extends AbstractProcessor {
             }
             // as its json we need to sanitize the docs
             doc = sanitizeDescription(doc, false);
-            Boolean required = entry.getRequired() != null ? Boolean.valueOf(entry.getRequired()) : null;
+            Boolean required = entry.isRequired();
             String defaultValue = entry.getDefaultValue();
             if (Strings.isNullOrEmpty(defaultValue) && "boolean".equals(entry.getType())) {
                 // fallback as false for boolean types
@@ -276,7 +276,7 @@ public class EndpointAnnotationProcessor extends AbstractProcessor {
             }
             // as its json we need to sanitize the docs
             doc = sanitizeDescription(doc, false);
-            Boolean required = entry.getRequired() != null ? Boolean.valueOf(entry.getRequired()) : null;
+            boolean required = entry.isRequired();
             String defaultValue = entry.getDefaultValue();
             if (Strings.isNullOrEmpty(defaultValue) && "boolean".equals(entry.getType())) {
                 // fallback as false for boolean types
@@ -324,7 +324,7 @@ public class EndpointAnnotationProcessor extends AbstractProcessor {
             }
             // as its json we need to sanitize the docs
             doc = sanitizeDescription(doc, false);
-            Boolean required = entry.getRequired() != null ? Boolean.valueOf(entry.getRequired()) : null;
+            Boolean required = entry.isRequired();
             String defaultValue = entry.getDefaultValue();
             if (Strings.isNullOrEmpty(defaultValue) && "boolean".equals(entry.getType())) {
                 // fallback as false for boolean types
@@ -489,7 +489,7 @@ public class EndpointAnnotationProcessor extends AbstractProcessor {
                     metadata = field.getAnnotation(Metadata.class);
                 }
 
-                String required = metadata != null ? metadata.required() : null;
+                boolean required = metadata != null && metadata.required();
                 String label = metadata != null ? metadata.label() : null;
                 boolean secret = metadata != null && metadata.secret();
                 String displayName = metadata != null ? metadata.displayName() : null;
@@ -606,7 +606,7 @@ public class EndpointAnnotationProcessor extends AbstractProcessor {
                     if (Strings.isNullOrEmpty(defaultValue) && metadata != null) {
                         defaultValue = metadata.defaultValue();
                     }
-                    String required = metadata != null ? metadata.required() : null;
+                    boolean required = metadata != null && metadata.required();
                     String label = path.label();
                     if (Strings.isNullOrEmpty(label) && metadata != null) {
                         label = metadata.label();
@@ -686,7 +686,7 @@ public class EndpointAnnotationProcessor extends AbstractProcessor {
                         defaultValue = metadata.defaultValue();
                     }
                     String defaultValueNote = param.defaultValueNote();
-                    String required = metadata != null ? metadata.required() : null;
+                    boolean required = metadata != null && metadata.required();
                     String label = param.label();
                     if (Strings.isNullOrEmpty(label) && metadata != null) {
                         label = metadata.label();
diff --git a/tooling/apt/src/main/java/org/apache/camel/tools/apt/SpringAnnotationProcessorHelper.java b/tooling/apt/src/main/java/org/apache/camel/tools/apt/SpringAnnotationProcessorHelper.java
index 01ca8f8..484be88 100644
--- a/tooling/apt/src/main/java/org/apache/camel/tools/apt/SpringAnnotationProcessorHelper.java
+++ b/tooling/apt/src/main/java/org/apache/camel/tools/apt/SpringAnnotationProcessorHelper.java
@@ -499,9 +499,7 @@ public class SpringAnnotationProcessorHelper {
     private boolean findRequired(VariableElement fieldElement, boolean defaultValue) {
         Metadata metadata = fieldElement.getAnnotation(Metadata.class);
         if (metadata != null) {
-            if (!Strings.isNullOrEmpty(metadata.required())) {
-                defaultValue = "true".equals(metadata.required());
-            }
+            return metadata.required();
         }
         return defaultValue;
     }
diff --git a/tooling/apt/src/main/java/org/apache/camel/tools/apt/model/ComponentOption.java b/tooling/apt/src/main/java/org/apache/camel/tools/apt/model/ComponentOption.java
index cdd50de..07cfb28 100644
--- a/tooling/apt/src/main/java/org/apache/camel/tools/apt/model/ComponentOption.java
+++ b/tooling/apt/src/main/java/org/apache/camel/tools/apt/model/ComponentOption.java
@@ -25,7 +25,7 @@ public final class ComponentOption {
     private String name;
     private String displayName;
     private String type;
-    private String required;
+    private boolean required;
     private String defaultValue;
     private String defaultValueNote;
     private String documentation;
@@ -37,7 +37,7 @@ public final class ComponentOption {
     private boolean enumType;
     private Set<String> enums;
 
-    public ComponentOption(String name, String displayName, String type, String required, String defaultValue, String defaultValueNote,
+    public ComponentOption(String name, String displayName, String type, boolean required, String defaultValue, String defaultValueNote,
                            String documentation, boolean deprecated, String deprecationNode, boolean secret, String group, String label,
                            boolean enumType, Set<String> enums) {
         this.name = name;
@@ -68,7 +68,7 @@ public final class ComponentOption {
         return type;
     }
 
-    public String getRequired() {
+    public boolean isRequired() {
         return required;
     }
 
diff --git a/tooling/apt/src/main/java/org/apache/camel/tools/apt/model/EndpointOption.java b/tooling/apt/src/main/java/org/apache/camel/tools/apt/model/EndpointOption.java
index 09a7db0..559cbad 100644
--- a/tooling/apt/src/main/java/org/apache/camel/tools/apt/model/EndpointOption.java
+++ b/tooling/apt/src/main/java/org/apache/camel/tools/apt/model/EndpointOption.java
@@ -25,7 +25,7 @@ public final class EndpointOption {
     private String name;
     private String displayName;
     private String type;
-    private String required;
+    private boolean required;
     private String defaultValue;
     private String defaultValueNote;
     private String documentation;
@@ -40,7 +40,7 @@ public final class EndpointOption {
     private boolean enumType;
     private Set<String> enums;
 
-    public EndpointOption(String name, String displayName, String type, String required, String defaultValue, String defaultValueNote,
+    public EndpointOption(String name, String displayName, String type, boolean required, String defaultValue, String defaultValueNote,
                           String documentation, String optionalPrefix, String prefix, boolean multiValue,
                           boolean deprecated, String deprecationNote, boolean secret, String group, String label,
                           boolean enumType, Set<String> enums) {
@@ -75,7 +75,7 @@ public final class EndpointOption {
         return type;
     }
 
-    public String getRequired() {
+    public boolean isRequired() {
         return required;
     }
 
diff --git a/tooling/apt/src/main/java/org/apache/camel/tools/apt/model/EndpointPath.java b/tooling/apt/src/main/java/org/apache/camel/tools/apt/model/EndpointPath.java
index 8c6d99b..938c5bf 100644
--- a/tooling/apt/src/main/java/org/apache/camel/tools/apt/model/EndpointPath.java
+++ b/tooling/apt/src/main/java/org/apache/camel/tools/apt/model/EndpointPath.java
@@ -23,7 +23,7 @@ public final class EndpointPath {
     private String name;
     private String displayName;
     private String type;
-    private String required;
+    private boolean required;
     private String defaultValue;
     private String documentation;
     private boolean deprecated;
@@ -34,7 +34,7 @@ public final class EndpointPath {
     private boolean enumType;
     private Set<String> enums;
 
-    public EndpointPath(String name, String displayName, String type, String required, String defaultValue, String documentation,
+    public EndpointPath(String name, String displayName, String type, boolean required, String defaultValue, String documentation,
                         boolean deprecated, String deprecationNote, boolean secret, String group, String label,
                         boolean enumType, Set<String> enums) {
         this.name = name;
@@ -64,7 +64,7 @@ public final class EndpointPath {
         return type;
     }
 
-    public String getRequired() {
+    public boolean isRequired() {
         return required;
     }
 
diff --git a/tooling/apt/src/test/java/org/apache/camel/tools/apt/EndpointOptionComparatorTest.java b/tooling/apt/src/test/java/org/apache/camel/tools/apt/EndpointOptionComparatorTest.java
index a47aa3a..afe7ad8 100644
--- a/tooling/apt/src/test/java/org/apache/camel/tools/apt/EndpointOptionComparatorTest.java
+++ b/tooling/apt/src/test/java/org/apache/camel/tools/apt/EndpointOptionComparatorTest.java
@@ -39,13 +39,13 @@ public class EndpointOptionComparatorTest {
         String group3 = EndpointHelper.labelAsGroupName(label3, false, false);
         String group4 = EndpointHelper.labelAsGroupName(label4, false, false);
 
-        EndpointOption op1 = new EndpointOption("first", "First", "string", "true", "", "", "blah", null, null, false,
+        EndpointOption op1 = new EndpointOption("first", "First", "string", true, "", "", "blah", null, null, false,
             false, null, false, group1, label1, false, null);
-        EndpointOption op2 = new EndpointOption("synchronous", "Synchronous", "string", "true", "", "", "blah", null, null, false,
+        EndpointOption op2 = new EndpointOption("synchronous", "Synchronous", "string", true, "", "", "blah", null, null, false,
             false, null, false, group2, label2, false, null);
-        EndpointOption op3 = new EndpointOption("second", "Second", "string", "true", "", "", "blah", null, null, false,
+        EndpointOption op3 = new EndpointOption("second", "Second", "string", true, "", "", "blah", null, null, false,
             false, null, false, group3, label3, false, null);
-        EndpointOption op4 = new EndpointOption("country", "Country", "string", "true", "", "", "blah", null, null, false,
+        EndpointOption op4 = new EndpointOption("country", "Country", "string", true, "", "", "blah", null, null, false,
             false, null, false, group4, label4, false, null);
 
         List<EndpointOption> list = new ArrayList<>();
diff --git a/tooling/spi-annotations/src/main/java/org/apache/camel/spi/Metadata.java b/tooling/spi-annotations/src/main/java/org/apache/camel/spi/Metadata.java
index 23c83b6..a52e904 100644
--- a/tooling/spi-annotations/src/main/java/org/apache/camel/spi/Metadata.java
+++ b/tooling/spi-annotations/src/main/java/org/apache/camel/spi/Metadata.java
@@ -54,7 +54,7 @@ public @interface Metadata {
     /**
      * To define that this entity is required.
      */
-    String required() default "";
+    boolean required() default false;
 
     /**
      * An optional human readable title of this entity, to be used instead of a computed title.


[camel] 04/13: Generate legal files

Posted by gn...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

gnodet pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 7886540a190310a7500a6214d5ec1321a1968b84
Author: Guillaume Nodet <gn...@gmail.com>
AuthorDate: Thu Jan 10 16:04:27 2019 +0100

    Generate legal files
---
 camel-core/pom.xml                                 |  61 ++++---
 camel-core/src/main/resources/META-INF/LICENSE.txt | 203 ---------------------
 camel-core/src/main/resources/META-INF/NOTICE.txt  |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  14 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         | 203 ---------------------
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  14 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  14 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 .../src/main/resources/META-INF/LICENSE.txt        | 203 ---------------------
 .../src/main/resources/META-INF/NOTICE.txt         |  11 --
 components/pom.xml                                 |   1 +
 pom.xml                                            |  11 ++
 .../camel/maven/packaging/PackageLegalMojo.java    | 152 +++++++++++++++
 .../src/main/resources/camel-LICENSE.txt           |   0
 .../src/main/resources/camel-NOTICE.txt            |   0
 478 files changed, 197 insertions(+), 50733 deletions(-)

diff --git a/camel-core/pom.xml b/camel-core/pom.xml
index dfa4572..6aaedc2 100644
--- a/camel-core/pom.xml
+++ b/camel-core/pom.xml
@@ -371,38 +371,20 @@
                   <shadedPattern>org.apache.camel.json.simple</shadedPattern>
                 </relocation>
               </relocations>
+              <filters>
+                <filter>
+                  <artifact>*:*</artifact>
+                  <excludes>
+                    <exclude>META-INF/LICENSE</exclude>
+                    <exclude>META-INF/NOTICE</exclude>
+                  </excludes>
+                </filter>
+              </filters>
             </configuration>
           </execution>
         </executions>
       </plugin>
 
-      <!-- include additional metadata from target/generated into the camel-core JAR -->
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-antrun-plugin</artifactId>
-        <executions>
-          <execution>
-            <id>include-metadata</id>
-            <phase>package</phase>
-            <configuration>
-              <target>
-                <echo>Including metadata properties files in camel-core.jar</echo>
-                <jar destfile="${project.build.directory}/${project.artifactId}-${project.version}.jar"
-                     update="true">
-                  <fileset dir="${basedir}/target/generated/camel/components/" includes="**/*"/>
-                  <fileset dir="${basedir}/target/generated/camel/dataformats/" includes="**/*"/>
-                  <fileset dir="${basedir}/target/generated/camel/languages/" includes="**/*"/>
-                  <fileset dir="${basedir}/target/generated/camel/models/" includes="**/*"/>
-                </jar>
-              </target>
-            </configuration>
-            <goals>
-              <goal>run</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-
       <!-- generate the attached tests jar -->
       <plugin>
         <artifactId>maven-jar-plugin</artifactId>
@@ -476,12 +458,20 @@
           </execution>
           <!-- camel-core needs to generate jaxb.index files -->
           <execution>
-            <id>jaxb-list</id>
+            <id>generate-jaxb-list</id>
             <goals>
               <goal>generate-jaxb-list</goal>
             </goals>
             <phase>process-classes</phase>
           </execution>
+          <!-- camel-core needs to generate legal files -->
+          <execution>
+            <id>generate-legal</id>
+            <goals>
+              <goal>generate-legal</goal>
+            </goals>
+            <phase>process-classes</phase>
+          </execution>
           <!-- camel-core needs to validate before packaging -->
           <execution>
             <id>validate</id>
@@ -513,8 +503,23 @@
             <configuration>
               <resources>
                 <resource>
+                  <directory>${basedir}/target/generated/camel/components</directory>
+                </resource>
+                <resource>
+                  <directory>${basedir}/target/generated/camel/dataformats</directory>
+                </resource>
+                <resource>
+                  <directory>${basedir}/target/generated/camel/languages</directory>
+                </resource>
+                <resource>
+                  <directory>${basedir}/target/generated/camel/models</directory>
+                </resource>
+                <resource>
                   <directory>${basedir}/target/generated/camel/jaxb</directory>
                 </resource>
+                <resource>
+                  <directory>${basedir}/target/generated/camel/legal</directory>
+                </resource>
               </resources>
             </configuration>
           </execution>
diff --git a/camel-core/src/main/resources/META-INF/LICENSE.txt b/camel-core/src/main/resources/META-INF/LICENSE.txt
deleted file mode 100644
index 6b0b127..0000000
--- a/camel-core/src/main/resources/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,203 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.
-
diff --git a/camel-core/src/main/resources/META-INF/NOTICE.txt b/camel-core/src/main/resources/META-INF/NOTICE.txt
deleted file mode 100644
index 2e215bf..0000000
--- a/camel-core/src/main/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-   =========================================================================
-   ==  NOTICE file corresponding to the section 4 d of                    ==
-   ==  the Apache License, Version 2.0,                                   ==
-   ==  in this case for the Apache Camel distribution.                    ==
-   =========================================================================
-
-   This product includes software developed by
-   The Apache Software Foundation (http://www.apache.org/).
-
-   Please read the different LICENSE files present in the licenses directory of
-   this distribution.
diff --git a/components/camel-ahc-ws/src/main/resources/META-INF/LICENSE.txt b/components/camel-ahc-ws/src/main/resources/META-INF/LICENSE.txt
deleted file mode 100644
index 6b0b127..0000000
--- a/components/camel-ahc-ws/src/main/resources/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,203 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.
-
diff --git a/components/camel-ahc-ws/src/main/resources/META-INF/NOTICE.txt b/components/camel-ahc-ws/src/main/resources/META-INF/NOTICE.txt
deleted file mode 100644
index 2e215bf..0000000
--- a/components/camel-ahc-ws/src/main/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-   =========================================================================
-   ==  NOTICE file corresponding to the section 4 d of                    ==
-   ==  the Apache License, Version 2.0,                                   ==
-   ==  in this case for the Apache Camel distribution.                    ==
-   =========================================================================
-
-   This product includes software developed by
-   The Apache Software Foundation (http://www.apache.org/).
-
-   Please read the different LICENSE files present in the licenses directory of
-   this distribution.
diff --git a/components/camel-ahc/src/main/resources/META-INF/LICENSE.txt b/components/camel-ahc/src/main/resources/META-INF/LICENSE.txt
deleted file mode 100644
index 6b0b127..0000000
--- a/components/camel-ahc/src/main/resources/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,203 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.
-
diff --git a/components/camel-ahc/src/main/resources/META-INF/NOTICE.txt b/components/camel-ahc/src/main/resources/META-INF/NOTICE.txt
deleted file mode 100644
index 2e215bf..0000000
--- a/components/camel-ahc/src/main/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-   =========================================================================
-   ==  NOTICE file corresponding to the section 4 d of                    ==
-   ==  the Apache License, Version 2.0,                                   ==
-   ==  in this case for the Apache Camel distribution.                    ==
-   =========================================================================
-
-   This product includes software developed by
-   The Apache Software Foundation (http://www.apache.org/).
-
-   Please read the different LICENSE files present in the licenses directory of
-   this distribution.
diff --git a/components/camel-amqp/src/main/resources/META-INF/LICENSE.txt b/components/camel-amqp/src/main/resources/META-INF/LICENSE.txt
deleted file mode 100644
index 6b0b127..0000000
--- a/components/camel-amqp/src/main/resources/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,203 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.
-
diff --git a/components/camel-amqp/src/main/resources/META-INF/NOTICE.txt b/components/camel-amqp/src/main/resources/META-INF/NOTICE.txt
deleted file mode 100644
index 2e215bf..0000000
--- a/components/camel-amqp/src/main/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-   =========================================================================
-   ==  NOTICE file corresponding to the section 4 d of                    ==
-   ==  the Apache License, Version 2.0,                                   ==
-   ==  in this case for the Apache Camel distribution.                    ==
-   =========================================================================
-
-   This product includes software developed by
-   The Apache Software Foundation (http://www.apache.org/).
-
-   Please read the different LICENSE files present in the licenses directory of
-   this distribution.
diff --git a/components/camel-apns/src/main/resources/META-INF/LICENSE.txt b/components/camel-apns/src/main/resources/META-INF/LICENSE.txt
deleted file mode 100644
index 6b0b127..0000000
--- a/components/camel-apns/src/main/resources/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,203 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.
-
diff --git a/components/camel-apns/src/main/resources/META-INF/NOTICE.txt b/components/camel-apns/src/main/resources/META-INF/NOTICE.txt
deleted file mode 100644
index 2e215bf..0000000
--- a/components/camel-apns/src/main/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-   =========================================================================
-   ==  NOTICE file corresponding to the section 4 d of                    ==
-   ==  the Apache License, Version 2.0,                                   ==
-   ==  in this case for the Apache Camel distribution.                    ==
-   =========================================================================
-
-   This product includes software developed by
-   The Apache Software Foundation (http://www.apache.org/).
-
-   Please read the different LICENSE files present in the licenses directory of
-   this distribution.
diff --git a/components/camel-asn1/src/main/resources/META-INF/LICENSE.txt b/components/camel-asn1/src/main/resources/META-INF/LICENSE.txt
deleted file mode 100644
index 6b0b127..0000000
--- a/components/camel-asn1/src/main/resources/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,203 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.
-
diff --git a/components/camel-asn1/src/main/resources/META-INF/NOTICE.txt b/components/camel-asn1/src/main/resources/META-INF/NOTICE.txt
deleted file mode 100644
index 2e215bf..0000000
--- a/components/camel-asn1/src/main/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-   =========================================================================
-   ==  NOTICE file corresponding to the section 4 d of                    ==
-   ==  the Apache License, Version 2.0,                                   ==
-   ==  in this case for the Apache Camel distribution.                    ==
-   =========================================================================
-
-   This product includes software developed by
-   The Apache Software Foundation (http://www.apache.org/).
-
-   Please read the different LICENSE files present in the licenses directory of
-   this distribution.
diff --git a/components/camel-asterisk/src/main/resources/META-INF/LICENSE.txt b/components/camel-asterisk/src/main/resources/META-INF/LICENSE.txt
deleted file mode 100644
index 6b0b127..0000000
--- a/components/camel-asterisk/src/main/resources/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,203 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.
-
diff --git a/components/camel-asterisk/src/main/resources/META-INF/NOTICE.txt b/components/camel-asterisk/src/main/resources/META-INF/NOTICE.txt
deleted file mode 100644
index 2e215bf..0000000
--- a/components/camel-asterisk/src/main/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-   =========================================================================
-   ==  NOTICE file corresponding to the section 4 d of                    ==
-   ==  the Apache License, Version 2.0,                                   ==
-   ==  in this case for the Apache Camel distribution.                    ==
-   =========================================================================
-
-   This product includes software developed by
-   The Apache Software Foundation (http://www.apache.org/).
-
-   Please read the different LICENSE files present in the licenses directory of
-   this distribution.
diff --git a/components/camel-atmos/src/main/resources/META-INF/LICENSE.txt b/components/camel-atmos/src/main/resources/META-INF/LICENSE.txt
deleted file mode 100644
index 6b0b127..0000000
--- a/components/camel-atmos/src/main/resources/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,203 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.
-
diff --git a/components/camel-atmos/src/main/resources/META-INF/NOTICE.txt b/components/camel-atmos/src/main/resources/META-INF/NOTICE.txt
deleted file mode 100644
index 2e215bf..0000000
--- a/components/camel-atmos/src/main/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-   =========================================================================
-   ==  NOTICE file corresponding to the section 4 d of                    ==
-   ==  the Apache License, Version 2.0,                                   ==
-   ==  in this case for the Apache Camel distribution.                    ==
-   =========================================================================
-
-   This product includes software developed by
-   The Apache Software Foundation (http://www.apache.org/).
-
-   Please read the different LICENSE files present in the licenses directory of
-   this distribution.
diff --git a/components/camel-atmosphere-websocket/src/main/resources/META-INF/LICENSE.txt b/components/camel-atmosphere-websocket/src/main/resources/META-INF/LICENSE.txt
deleted file mode 100644
index 6b0b127..0000000
--- a/components/camel-atmosphere-websocket/src/main/resources/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,203 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.
-
diff --git a/components/camel-atmosphere-websocket/src/main/resources/META-INF/NOTICE.txt b/components/camel-atmosphere-websocket/src/main/resources/META-INF/NOTICE.txt
deleted file mode 100644
index 2e215bf..0000000
--- a/components/camel-atmosphere-websocket/src/main/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-   =========================================================================
-   ==  NOTICE file corresponding to the section 4 d of                    ==
-   ==  the Apache License, Version 2.0,                                   ==
-   ==  in this case for the Apache Camel distribution.                    ==
-   =========================================================================
-
-   This product includes software developed by
-   The Apache Software Foundation (http://www.apache.org/).
-
-   Please read the different LICENSE files present in the licenses directory of
-   this distribution.
diff --git a/components/camel-atom/src/main/resources/META-INF/LICENSE.txt b/components/camel-atom/src/main/resources/META-INF/LICENSE.txt
deleted file mode 100644
index 6b0b127..0000000
--- a/components/camel-atom/src/main/resources/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,203 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.
-
diff --git a/components/camel-atom/src/main/resources/META-INF/NOTICE.txt b/components/camel-atom/src/main/resources/META-INF/NOTICE.txt
deleted file mode 100644
index 2e215bf..0000000
--- a/components/camel-atom/src/main/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-   =========================================================================
-   ==  NOTICE file corresponding to the section 4 d of                    ==
-   ==  the Apache License, Version 2.0,                                   ==
-   ==  in this case for the Apache Camel distribution.                    ==
-   =========================================================================
-
-   This product includes software developed by
-   The Apache Software Foundation (http://www.apache.org/).
-
-   Please read the different LICENSE files present in the licenses directory of
-   this distribution.
diff --git a/components/camel-atomix/src/main/resources/META-INF/LICENSE.txt b/components/camel-atomix/src/main/resources/META-INF/LICENSE.txt
deleted file mode 100644
index 6b0b127..0000000
--- a/components/camel-atomix/src/main/resources/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,203 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.
-
diff --git a/components/camel-atomix/src/main/resources/META-INF/NOTICE.txt b/components/camel-atomix/src/main/resources/META-INF/NOTICE.txt
deleted file mode 100644
index 2e215bf..0000000
--- a/components/camel-atomix/src/main/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-   =========================================================================
-   ==  NOTICE file corresponding to the section 4 d of                    ==
-   ==  the Apache License, Version 2.0,                                   ==
-   ==  in this case for the Apache Camel distribution.                    ==
-   =========================================================================
-
-   This product includes software developed by
-   The Apache Software Foundation (http://www.apache.org/).
-
-   Please read the different LICENSE files present in the licenses directory of
-   this distribution.
diff --git a/components/camel-avro/src/main/resources/META-INF/LICENSE.txt b/components/camel-avro/src/main/resources/META-INF/LICENSE.txt
deleted file mode 100644
index 6b0b127..0000000
--- a/components/camel-avro/src/main/resources/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,203 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.
-
diff --git a/components/camel-avro/src/main/resources/META-INF/NOTICE.txt b/components/camel-avro/src/main/resources/META-INF/NOTICE.txt
deleted file mode 100644
index 2e215bf..0000000
--- a/components/camel-avro/src/main/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-   =========================================================================
-   ==  NOTICE file corresponding to the section 4 d of                    ==
-   ==  the Apache License, Version 2.0,                                   ==
-   ==  in this case for the Apache Camel distribution.                    ==
-   =========================================================================
-
-   This product includes software developed by
-   The Apache Software Foundation (http://www.apache.org/).
-
-   Please read the different LICENSE files present in the licenses directory of
-   this distribution.
diff --git a/components/camel-aws-xray/src/main/resources/META-INF/LICENSE.txt b/components/camel-aws-xray/src/main/resources/META-INF/LICENSE.txt
deleted file mode 100644
index 6b0b127..0000000
--- a/components/camel-aws-xray/src/main/resources/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,203 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.
-
diff --git a/components/camel-aws-xray/src/main/resources/META-INF/NOTICE.txt b/components/camel-aws-xray/src/main/resources/META-INF/NOTICE.txt
deleted file mode 100644
index 2e215bf..0000000
--- a/components/camel-aws-xray/src/main/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-   =========================================================================
-   ==  NOTICE file corresponding to the section 4 d of                    ==
-   ==  the Apache License, Version 2.0,                                   ==
-   ==  in this case for the Apache Camel distribution.                    ==
-   =========================================================================
-
-   This product includes software developed by
-   The Apache Software Foundation (http://www.apache.org/).
-
-   Please read the different LICENSE files present in the licenses directory of
-   this distribution.
diff --git a/components/camel-aws/src/main/resources/META-INF/LICENSE.txt b/components/camel-aws/src/main/resources/META-INF/LICENSE.txt
deleted file mode 100644
index 6b0b127..0000000
--- a/components/camel-aws/src/main/resources/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,203 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.
-
diff --git a/components/camel-aws/src/main/resources/META-INF/NOTICE.txt b/components/camel-aws/src/main/resources/META-INF/NOTICE.txt
deleted file mode 100644
index 2e215bf..0000000
--- a/components/camel-aws/src/main/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-   =========================================================================
-   ==  NOTICE file corresponding to the section 4 d of                    ==
-   ==  the Apache License, Version 2.0,                                   ==
-   ==  in this case for the Apache Camel distribution.                    ==
-   =========================================================================
-
-   This product includes software developed by
-   The Apache Software Foundation (http://www.apache.org/).
-
-   Please read the different LICENSE files present in the licenses directory of
-   this distribution.
diff --git a/components/camel-azure/src/main/resources/META-INF/LICENSE.txt b/components/camel-azure/src/main/resources/META-INF/LICENSE.txt
deleted file mode 100644
index 6b0b127..0000000
--- a/components/camel-azure/src/main/resources/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,203 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.
-
diff --git a/components/camel-azure/src/main/resources/META-INF/NOTICE.txt b/components/camel-azure/src/main/resources/META-INF/NOTICE.txt
deleted file mode 100644
index 2e215bf..0000000
--- a/components/camel-azure/src/main/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-   =========================================================================
-   ==  NOTICE file corresponding to the section 4 d of                    ==
-   ==  the Apache License, Version 2.0,                                   ==
-   ==  in this case for the Apache Camel distribution.                    ==
-   =========================================================================
-
-   This product includes software developed by
-   The Apache Software Foundation (http://www.apache.org/).
-
-   Please read the different LICENSE files present in the licenses directory of
-   this distribution.
diff --git a/components/camel-barcode/src/main/resources/META-INF/LICENSE.txt b/components/camel-barcode/src/main/resources/META-INF/LICENSE.txt
deleted file mode 100644
index 6b0b127..0000000
--- a/components/camel-barcode/src/main/resources/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,203 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.
-
diff --git a/components/camel-barcode/src/main/resources/META-INF/NOTICE.txt b/components/camel-barcode/src/main/resources/META-INF/NOTICE.txt
deleted file mode 100644
index f4f1281..0000000
--- a/components/camel-barcode/src/main/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-   =========================================================================
-   ==  NOTICE file corresponding to the section 4 d of                    ==
-   ==  the Apache License, Version 2.0,                                   ==
-   ==  in this case for the Apache Camel distribution.                    ==
-   =========================================================================
-
-   This product includes software developed by
-   The Apache Software Foundation (http://www.apache.org/).
-
-   Please read the different LICENSE files present in the licenses directory of
-   this distribution.
\ No newline at end of file
diff --git a/components/camel-base64/src/main/resources/META-INF/LICENSE.txt b/components/camel-base64/src/main/resources/META-INF/LICENSE.txt
deleted file mode 100644
index 6b0b127..0000000
--- a/components/camel-base64/src/main/resources/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,203 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.
-
diff --git a/components/camel-base64/src/main/resources/META-INF/NOTICE.txt b/components/camel-base64/src/main/resources/META-INF/NOTICE.txt
deleted file mode 100644
index 2e215bf..0000000
--- a/components/camel-base64/src/main/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-   =========================================================================
-   ==  NOTICE file corresponding to the section 4 d of                    ==
-   ==  the Apache License, Version 2.0,                                   ==
-   ==  in this case for the Apache Camel distribution.                    ==
-   =========================================================================
-
-   This product includes software developed by
-   The Apache Software Foundation (http://www.apache.org/).
-
-   Please read the different LICENSE files present in the licenses directory of
-   this distribution.
diff --git a/components/camel-bean-validator/src/main/resources/META-INF/LICENSE.txt b/components/camel-bean-validator/src/main/resources/META-INF/LICENSE.txt
deleted file mode 100644
index 6b0b127..0000000
--- a/components/camel-bean-validator/src/main/resources/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,203 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.
-
diff --git a/components/camel-bean-validator/src/main/resources/META-INF/NOTICE.txt b/components/camel-bean-validator/src/main/resources/META-INF/NOTICE.txt
deleted file mode 100644
index 2e215bf..0000000
--- a/components/camel-bean-validator/src/main/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-   =========================================================================
-   ==  NOTICE file corresponding to the section 4 d of                    ==
-   ==  the Apache License, Version 2.0,                                   ==
-   ==  in this case for the Apache Camel distribution.                    ==
-   =========================================================================
-
-   This product includes software developed by
-   The Apache Software Foundation (http://www.apache.org/).
-
-   Please read the different LICENSE files present in the licenses directory of
-   this distribution.
diff --git a/components/camel-beanio/src/main/resources/META-INF/LICENSE.txt b/components/camel-beanio/src/main/resources/META-INF/LICENSE.txt
deleted file mode 100644
index 6b0b127..0000000
--- a/components/camel-beanio/src/main/resources/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,203 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.
-
diff --git a/components/camel-beanio/src/main/resources/META-INF/NOTICE.txt b/components/camel-beanio/src/main/resources/META-INF/NOTICE.txt
deleted file mode 100644
index 2e215bf..0000000
--- a/components/camel-beanio/src/main/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-   =========================================================================
-   ==  NOTICE file corresponding to the section 4 d of                    ==
-   ==  the Apache License, Version 2.0,                                   ==
-   ==  in this case for the Apache Camel distribution.                    ==
-   =========================================================================
-
-   This product includes software developed by
-   The Apache Software Foundation (http://www.apache.org/).
-
-   Please read the different LICENSE files present in the licenses directory of
-   this distribution.
diff --git a/components/camel-beanstalk/src/main/resources/META-INF/LICENSE.txt b/components/camel-beanstalk/src/main/resources/META-INF/LICENSE.txt
deleted file mode 100644
index 6b0b127..0000000
--- a/components/camel-beanstalk/src/main/resources/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,203 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.
-
diff --git a/components/camel-beanstalk/src/main/resources/META-INF/NOTICE.txt b/components/camel-beanstalk/src/main/resources/META-INF/NOTICE.txt
deleted file mode 100644
index 2e215bf..0000000
--- a/components/camel-beanstalk/src/main/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-   =========================================================================
-   ==  NOTICE file corresponding to the section 4 d of                    ==
-   ==  the Apache License, Version 2.0,                                   ==
-   ==  in this case for the Apache Camel distribution.                    ==
-   =========================================================================
-
-   This product includes software developed by
-   The Apache Software Foundation (http://www.apache.org/).
-
-   Please read the different LICENSE files present in the licenses directory of
-   this distribution.
diff --git a/components/camel-bindy/src/main/resources/META-INF/LICENSE.txt b/components/camel-bindy/src/main/resources/META-INF/LICENSE.txt
deleted file mode 100644
index 6b0b127..0000000
--- a/components/camel-bindy/src/main/resources/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,203 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.
-
diff --git a/components/camel-bindy/src/main/resources/META-INF/NOTICE.txt b/components/camel-bindy/src/main/resources/META-INF/NOTICE.txt
deleted file mode 100644
index 2e215bf..0000000
--- a/components/camel-bindy/src/main/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-   =========================================================================
-   ==  NOTICE file corresponding to the section 4 d of                    ==
-   ==  the Apache License, Version 2.0,                                   ==
-   ==  in this case for the Apache Camel distribution.                    ==
-   =========================================================================
-
-   This product includes software developed by
-   The Apache Software Foundation (http://www.apache.org/).
-
-   Please read the different LICENSE files present in the licenses directory of
-   this distribution.
diff --git a/components/camel-blueprint/src/main/resources/META-INF/LICENSE.txt b/components/camel-blueprint/src/main/resources/META-INF/LICENSE.txt
deleted file mode 100644
index 6b0b127..0000000
--- a/components/camel-blueprint/src/main/resources/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,203 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.
-
diff --git a/components/camel-blueprint/src/main/resources/META-INF/NOTICE.txt b/components/camel-blueprint/src/main/resources/META-INF/NOTICE.txt
deleted file mode 100644
index 2e215bf..0000000
--- a/components/camel-blueprint/src/main/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-   =========================================================================
-   ==  NOTICE file corresponding to the section 4 d of                    ==
-   ==  the Apache License, Version 2.0,                                   ==
-   ==  in this case for the Apache Camel distribution.                    ==
-   =========================================================================
-
-   This product includes software developed by
-   The Apache Software Foundation (http://www.apache.org/).
-
-   Please read the different LICENSE files present in the licenses directory of
-   this distribution.
diff --git a/components/camel-bonita/src/main/resources/META-INF/LICENSE.txt b/components/camel-bonita/src/main/resources/META-INF/LICENSE.txt
deleted file mode 100644
index 6b0b127..0000000
--- a/components/camel-bonita/src/main/resources/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,203 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.
-
diff --git a/components/camel-bonita/src/main/resources/META-INF/NOTICE.txt b/components/camel-bonita/src/main/resources/META-INF/NOTICE.txt
deleted file mode 100644
index 2e215bf..0000000
--- a/components/camel-bonita/src/main/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-   =========================================================================
-   ==  NOTICE file corresponding to the section 4 d of                    ==
-   ==  the Apache License, Version 2.0,                                   ==
-   ==  in this case for the Apache Camel distribution.                    ==
-   =========================================================================
-
-   This product includes software developed by
-   The Apache Software Foundation (http://www.apache.org/).
-
-   Please read the different LICENSE files present in the licenses directory of
-   this distribution.
diff --git a/components/camel-boon/src/main/resources/META-INF/LICENSE.txt b/components/camel-boon/src/main/resources/META-INF/LICENSE.txt
deleted file mode 100644
index 6b0b127..0000000
--- a/components/camel-boon/src/main/resources/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,203 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.
-
diff --git a/components/camel-boon/src/main/resources/META-INF/NOTICE.txt b/components/camel-boon/src/main/resources/META-INF/NOTICE.txt
deleted file mode 100644
index 2e215bf..0000000
--- a/components/camel-boon/src/main/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-   =========================================================================
-   ==  NOTICE file corresponding to the section 4 d of                    ==
-   ==  the Apache License, Version 2.0,                                   ==
-   ==  in this case for the Apache Camel distribution.                    ==
-   =========================================================================
-
-   This product includes software developed by
-   The Apache Software Foundation (http://www.apache.org/).
-
-   Please read the different LICENSE files present in the licenses directory of
-   this distribution.
diff --git a/components/camel-braintree/src/main/resources/META-INF/LICENSE.txt b/components/camel-braintree/src/main/resources/META-INF/LICENSE.txt
deleted file mode 100644
index 6b0b127..0000000
--- a/components/camel-braintree/src/main/resources/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,203 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.
-
diff --git a/components/camel-braintree/src/main/resources/META-INF/NOTICE.txt b/components/camel-braintree/src/main/resources/META-INF/NOTICE.txt
deleted file mode 100644
index 2e215bf..0000000
--- a/components/camel-braintree/src/main/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-   =========================================================================
-   ==  NOTICE file corresponding to the section 4 d of                    ==
-   ==  the Apache License, Version 2.0,                                   ==
-   ==  in this case for the Apache Camel distribution.                    ==
-   =========================================================================
-
-   This product includes software developed by
-   The Apache Software Foundation (http://www.apache.org/).
-
-   Please read the different LICENSE files present in the licenses directory of
-   this distribution.
diff --git a/components/camel-caffeine/src/main/resources/META-INF/LICENSE.txt b/components/camel-caffeine/src/main/resources/META-INF/LICENSE.txt
deleted file mode 100644
index 6b0b127..0000000
--- a/components/camel-caffeine/src/main/resources/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,203 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.
-
diff --git a/components/camel-caffeine/src/main/resources/META-INF/NOTICE.txt b/components/camel-caffeine/src/main/resources/META-INF/NOTICE.txt
deleted file mode 100644
index 2e215bf..0000000
--- a/components/camel-caffeine/src/main/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-   =========================================================================
-   ==  NOTICE file corresponding to the section 4 d of                    ==
-   ==  the Apache License, Version 2.0,                                   ==
-   ==  in this case for the Apache Camel distribution.                    ==
-   =========================================================================
-
-   This product includes software developed by
-   The Apache Software Foundation (http://www.apache.org/).
-
-   Please read the different LICENSE files present in the licenses directory of
-   this distribution.
diff --git a/components/camel-cassandraql/src/main/resources/META-INF/LICENSE.txt b/components/camel-cassandraql/src/main/resources/META-INF/LICENSE.txt
deleted file mode 100644
index 6b0b127..0000000
--- a/components/camel-cassandraql/src/main/resources/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,203 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.
-
diff --git a/components/camel-cassandraql/src/main/resources/META-INF/NOTICE.txt b/components/camel-cassandraql/src/main/resources/META-INF/NOTICE.txt
deleted file mode 100644
index 2e215bf..0000000
--- a/components/camel-cassandraql/src/main/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-   =========================================================================
-   ==  NOTICE file corresponding to the section 4 d of                    ==
-   ==  the Apache License, Version 2.0,                                   ==
-   ==  in this case for the Apache Camel distribution.                    ==
-   =========================================================================
-
-   This product includes software developed by
-   The Apache Software Foundation (http://www.apache.org/).
-
-   Please read the different LICENSE files present in the licenses directory of
-   this distribution.
diff --git a/components/camel-chronicle/src/main/resources/META-INF/LICENSE.txt b/components/camel-chronicle/src/main/resources/META-INF/LICENSE.txt
deleted file mode 100644
index 6b0b127..0000000
--- a/components/camel-chronicle/src/main/resources/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,203 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.
-
diff --git a/components/camel-chronicle/src/main/resources/META-INF/NOTICE.txt b/components/camel-chronicle/src/main/resources/META-INF/NOTICE.txt
deleted file mode 100644
index 2e215bf..0000000
--- a/components/camel-chronicle/src/main/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-   =========================================================================
-   ==  NOTICE file corresponding to the section 4 d of                    ==
-   ==  the Apache License, Version 2.0,                                   ==
-   ==  in this case for the Apache Camel distribution.                    ==
-   =========================================================================
-
-   This product includes software developed by
-   The Apache Software Foundation (http://www.apache.org/).
-
-   Please read the different LICENSE files present in the licenses directory of
-   this distribution.
diff --git a/components/camel-chunk/src/main/resources/META-INF/LICENSE.txt b/components/camel-chunk/src/main/resources/META-INF/LICENSE.txt
deleted file mode 100644
index 6b0b127..0000000
--- a/components/camel-chunk/src/main/resources/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,203 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.
-
diff --git a/components/camel-chunk/src/main/resources/META-INF/NOTICE.txt b/components/camel-chunk/src/main/resources/META-INF/NOTICE.txt
deleted file mode 100644
index 2e215bf..0000000
--- a/components/camel-chunk/src/main/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-   =========================================================================
-   ==  NOTICE file corresponding to the section 4 d of                    ==
-   ==  the Apache License, Version 2.0,                                   ==
-   ==  in this case for the Apache Camel distribution.                    ==
-   =========================================================================
-
-   This product includes software developed by
-   The Apache Software Foundation (http://www.apache.org/).
-
-   Please read the different LICENSE files present in the licenses directory of
-   this distribution.
diff --git a/components/camel-cm-sms/src/main/resources/META-INF/LICENSE.txt b/components/camel-cm-sms/src/main/resources/META-INF/LICENSE.txt
deleted file mode 100644
index 6b0b127..0000000
--- a/components/camel-cm-sms/src/main/resources/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,203 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.
-
diff --git a/components/camel-cm-sms/src/main/resources/META-INF/NOTICE.txt b/components/camel-cm-sms/src/main/resources/META-INF/NOTICE.txt
deleted file mode 100644
index 2e215bf..0000000
--- a/components/camel-cm-sms/src/main/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-   =========================================================================
-   ==  NOTICE file corresponding to the section 4 d of                    ==
-   ==  the Apache License, Version 2.0,                                   ==
-   ==  in this case for the Apache Camel distribution.                    ==
-   =========================================================================
-
-   This product includes software developed by
-   The Apache Software Foundation (http://www.apache.org/).
-
-   Please read the different LICENSE files present in the licenses directory of
-   this distribution.
diff --git a/components/camel-cmis/src/main/resources/META-INF/LICENSE.txt b/components/camel-cmis/src/main/resources/META-INF/LICENSE.txt
deleted file mode 100644
index 6b0b127..0000000
--- a/components/camel-cmis/src/main/resources/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,203 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.
-
diff --git a/components/camel-cmis/src/main/resources/META-INF/NOTICE.txt b/components/camel-cmis/src/main/resources/META-INF/NOTICE.txt
deleted file mode 100644
index 2e215bf..0000000
--- a/components/camel-cmis/src/main/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-   =========================================================================
-   ==  NOTICE file corresponding to the section 4 d of                    ==
-   ==  the Apache License, Version 2.0,                                   ==
-   ==  in this case for the Apache Camel distribution.                    ==
-   =========================================================================
-
-   This product includes software developed by
-   The Apache Software Foundation (http://www.apache.org/).
-
-   Please read the different LICENSE files present in the licenses directory of
-   this distribution.
diff --git a/components/camel-cometd/src/main/resources/META-INF/LICENSE.txt b/components/camel-cometd/src/main/resources/META-INF/LICENSE.txt
deleted file mode 100644
index 6b0b127..0000000
--- a/components/camel-cometd/src/main/resources/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,203 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.
-
diff --git a/components/camel-cometd/src/main/resources/META-INF/NOTICE.txt b/components/camel-cometd/src/main/resources/META-INF/NOTICE.txt
deleted file mode 100644
index 2e215bf..0000000
--- a/components/camel-cometd/src/main/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-   =========================================================================
-   ==  NOTICE file corresponding to the section 4 d of                    ==
-   ==  the Apache License, Version 2.0,                                   ==
-   ==  in this case for the Apache Camel distribution.                    ==
-   =========================================================================
-
-   This product includes software developed by
-   The Apache Software Foundation (http://www.apache.org/).
-
-   Please read the different LICENSE files present in the licenses directory of
-   this distribution.
diff --git a/components/camel-consul/src/main/resources/META-INF/LICENSE.txt b/components/camel-consul/src/main/resources/META-INF/LICENSE.txt
deleted file mode 100644
index 6b0b127..0000000
--- a/components/camel-consul/src/main/resources/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,203 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.
-
diff --git a/components/camel-consul/src/main/resources/META-INF/NOTICE.txt b/components/camel-consul/src/main/resources/META-INF/NOTICE.txt
deleted file mode 100644
index 2e215bf..0000000
--- a/components/camel-consul/src/main/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-   =========================================================================
-   ==  NOTICE file corresponding to the section 4 d of                    ==
-   ==  the Apache License, Version 2.0,                                   ==
-   ==  in this case for the Apache Camel distribution.                    ==
-   =========================================================================
-
-   This product includes software developed by
-   The Apache Software Foundation (http://www.apache.org/).
-
-   Please read the different LICENSE files present in the licenses directory of
-   this distribution.
diff --git a/components/camel-corda/src/main/resources/META-INF/LICENSE.txt b/components/camel-corda/src/main/resources/META-INF/LICENSE.txt
deleted file mode 100755
index 6b0b127..0000000
--- a/components/camel-corda/src/main/resources/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,203 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.
-
diff --git a/components/camel-corda/src/main/resources/META-INF/NOTICE.txt b/components/camel-corda/src/main/resources/META-INF/NOTICE.txt
deleted file mode 100755
index 2e215bf..0000000
--- a/components/camel-corda/src/main/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-   =========================================================================
-   ==  NOTICE file corresponding to the section 4 d of                    ==
-   ==  the Apache License, Version 2.0,                                   ==
-   ==  in this case for the Apache Camel distribution.                    ==
-   =========================================================================
-
-   This product includes software developed by
-   The Apache Software Foundation (http://www.apache.org/).
-
-   Please read the different LICENSE files present in the licenses directory of
-   this distribution.
diff --git a/components/camel-core-osgi/src/main/resources/META-INF/LICENSE.txt b/components/camel-core-osgi/src/main/resources/META-INF/LICENSE.txt
deleted file mode 100644
index 6b0b127..0000000
--- a/components/camel-core-osgi/src/main/resources/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,203 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.
-
diff --git a/components/camel-core-osgi/src/main/resources/META-INF/NOTICE.txt b/components/camel-core-osgi/src/main/resources/META-INF/NOTICE.txt
deleted file mode 100644
index 2e215bf..0000000
--- a/components/camel-core-osgi/src/main/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-   =========================================================================
-   ==  NOTICE file corresponding to the section 4 d of                    ==
-   ==  the Apache License, Version 2.0,                                   ==
-   ==  in this case for the Apache Camel distribution.                    ==
-   =========================================================================
-
-   This product includes software developed by
-   The Apache Software Foundation (http://www.apache.org/).
-
-   Please read the different LICENSE files present in the licenses directory of
-   this distribution.
diff --git a/components/camel-core-xml/src/main/resources/META-INF/LICENSE.txt b/components/camel-core-xml/src/main/resources/META-INF/LICENSE.txt
deleted file mode 100644
index 6b0b127..0000000
--- a/components/camel-core-xml/src/main/resources/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,203 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.
-
diff --git a/components/camel-core-xml/src/main/resources/META-INF/NOTICE.txt b/components/camel-core-xml/src/main/resources/META-INF/NOTICE.txt
deleted file mode 100644
index 2e215bf..0000000
--- a/components/camel-core-xml/src/main/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-   =========================================================================
-   ==  NOTICE file corresponding to the section 4 d of                    ==
-   ==  the Apache License, Version 2.0,                                   ==
-   ==  in this case for the Apache Camel distribution.                    ==
-   =========================================================================
-
-   This product includes software developed by
-   The Apache Software Foundation (http://www.apache.org/).
-
-   Please read the different LICENSE files present in the licenses directory of
-   this distribution.
diff --git a/components/camel-couchbase/src/main/resources/META-INF/LICENSE.txt b/components/camel-couchbase/src/main/resources/META-INF/LICENSE.txt
deleted file mode 100644
index 6b0b127..0000000
--- a/components/camel-couchbase/src/main/resources/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,203 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.
-
diff --git a/components/camel-couchbase/src/main/resources/META-INF/NOTICE.txt b/components/camel-couchbase/src/main/resources/META-INF/NOTICE.txt
deleted file mode 100644
index 2e215bf..0000000
--- a/components/camel-couchbase/src/main/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-   =========================================================================
-   ==  NOTICE file corresponding to the section 4 d of                    ==
-   ==  the Apache License, Version 2.0,                                   ==
-   ==  in this case for the Apache Camel distribution.                    ==
-   =========================================================================
-
-   This product includes software developed by
-   The Apache Software Foundation (http://www.apache.org/).
-
-   Please read the different LICENSE files present in the licenses directory of
-   this distribution.
diff --git a/components/camel-couchdb/src/main/resources/META-INF/LICENSE.txt b/components/camel-couchdb/src/main/resources/META-INF/LICENSE.txt
deleted file mode 100644
index 6b0b127..0000000
--- a/components/camel-couchdb/src/main/resources/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,203 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.
-
diff --git a/components/camel-couchdb/src/main/resources/META-INF/NOTICE.txt b/components/camel-couchdb/src/main/resources/META-INF/NOTICE.txt
deleted file mode 100644
index 2e215bf..0000000
--- a/components/camel-couchdb/src/main/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-   =========================================================================
-   ==  NOTICE file corresponding to the section 4 d of                    ==
-   ==  the Apache License, Version 2.0,                                   ==
-   ==  in this case for the Apache Camel distribution.                    ==
-   =========================================================================
-
-   This product includes software developed by
-   The Apache Software Foundation (http://www.apache.org/).
-
-   Please read the different LICENSE files present in the licenses directory of
-   this distribution.
diff --git a/components/camel-crypto-cms/src/main/resources/META-INF/LICENSE.txt b/components/camel-crypto-cms/src/main/resources/META-INF/LICENSE.txt
deleted file mode 100644
index 6b0b127..0000000
--- a/components/camel-crypto-cms/src/main/resources/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,203 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.
-
diff --git a/components/camel-crypto-cms/src/main/resources/META-INF/NOTICE.txt b/components/camel-crypto-cms/src/main/resources/META-INF/NOTICE.txt
deleted file mode 100644
index 2e215bf..0000000
--- a/components/camel-crypto-cms/src/main/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-   =========================================================================
-   ==  NOTICE file corresponding to the section 4 d of                    ==
-   ==  the Apache License, Version 2.0,                                   ==
-   ==  in this case for the Apache Camel distribution.                    ==
-   =========================================================================
-
-   This product includes software developed by
-   The Apache Software Foundation (http://www.apache.org/).
-
-   Please read the different LICENSE files present in the licenses directory of
-   this distribution.
diff --git a/components/camel-crypto/src/main/resources/META-INF/LICENSE.txt b/components/camel-crypto/src/main/resources/META-INF/LICENSE.txt
deleted file mode 100644
index 6b0b127..0000000
--- a/components/camel-crypto/src/main/resources/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,203 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.
-
diff --git a/components/camel-crypto/src/main/resources/META-INF/NOTICE.txt b/components/camel-crypto/src/main/resources/META-INF/NOTICE.txt
deleted file mode 100644
index 2e215bf..0000000
--- a/components/camel-crypto/src/main/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-   =========================================================================
-   ==  NOTICE file corresponding to the section 4 d of                    ==
-   ==  the Apache License, Version 2.0,                                   ==
-   ==  in this case for the Apache Camel distribution.                    ==
-   =========================================================================
-
-   This product includes software developed by
-   The Apache Software Foundation (http://www.apache.org/).
-
-   Please read the different LICENSE files present in the licenses directory of
-   this distribution.
diff --git a/components/camel-csv/src/main/resources/META-INF/LICENSE.txt b/components/camel-csv/src/main/resources/META-INF/LICENSE.txt
deleted file mode 100644
index 6b0b127..0000000
--- a/components/camel-csv/src/main/resources/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,203 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.
-
diff --git a/components/camel-csv/src/main/resources/META-INF/NOTICE.txt b/components/camel-csv/src/main/resources/META-INF/NOTICE.txt
deleted file mode 100644
index 2e215bf..0000000
--- a/components/camel-csv/src/main/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-   =========================================================================
-   ==  NOTICE file corresponding to the section 4 d of                    ==
-   ==  the Apache License, Version 2.0,                                   ==
-   ==  in this case for the Apache Camel distribution.                    ==
-   =========================================================================
-
-   This product includes software developed by
-   The Apache Software Foundation (http://www.apache.org/).
-
-   Please read the different LICENSE files present in the licenses directory of
-   this distribution.
diff --git a/components/camel-cxf-transport/src/main/resources/META-INF/LICENSE.txt b/components/camel-cxf-transport/src/main/resources/META-INF/LICENSE.txt
deleted file mode 100644
index 6b0b127..0000000
--- a/components/camel-cxf-transport/src/main/resources/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,203 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
... 44322 lines suppressed ...


[camel] 09/13: Clean up a bit resource processors

Posted by gn...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

gnodet pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit c59a50d434aabeec16e46430905a53a27a9fd44d
Author: Guillaume Nodet <gn...@gmail.com>
AuthorDate: Fri Jan 11 10:37:36 2019 +0100

    Clean up a bit resource processors
---
 .../apt/AbstractCamelAnnotationProcessor.java      |  52 ++++
 .../camel/tools/apt/AnnotationProcessorHelper.java |  58 +---
 .../apache/camel/tools/apt/ConverterProcessor.java | 342 +++++++++------------
 .../apt/CoreEipAnnotationProcessorHelper.java      |  11 +-
 .../camel/tools/apt/DocumentationHelper.java       |  44 +--
 .../tools/apt/EndpointAnnotationProcessor.java     |  40 +--
 .../java/org/apache/camel/tools/apt/Func1.java     |  26 --
 .../camel/tools/apt/ModelAnnotationProcessor.java  |  48 +--
 .../tools/apt/SpringAnnotationProcessorHelper.java |  11 +-
 .../camel/tools/apt/TypeConverterProcessor.java    |  69 ++---
 10 files changed, 276 insertions(+), 425 deletions(-)

diff --git a/tooling/apt/src/main/java/org/apache/camel/tools/apt/AbstractCamelAnnotationProcessor.java b/tooling/apt/src/main/java/org/apache/camel/tools/apt/AbstractCamelAnnotationProcessor.java
new file mode 100644
index 0000000..0d73d87
--- /dev/null
+++ b/tooling/apt/src/main/java/org/apache/camel/tools/apt/AbstractCamelAnnotationProcessor.java
@@ -0,0 +1,52 @@
+/**
+ * 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.tools.apt;
+
+import java.util.Set;
+
+import javax.annotation.processing.AbstractProcessor;
+import javax.annotation.processing.RoundEnvironment;
+import javax.lang.model.SourceVersion;
+import javax.lang.model.element.TypeElement;
+import javax.tools.Diagnostic.Kind;
+
+import static org.apache.camel.tools.apt.AnnotationProcessorHelper.dumpExceptionToErrorFile;
+
+public abstract class AbstractCamelAnnotationProcessor extends AbstractProcessor {
+
+    @Override
+    public SourceVersion getSupportedSourceVersion() {
+        return SourceVersion.latest();
+    }
+
+    @Override
+    public boolean process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) {
+        try {
+            if (roundEnv.processingOver()) {
+                return false;
+            }
+            doProcess(annotations, roundEnv);
+        } catch (Throwable e) {
+            processingEnv.getMessager().printMessage(Kind.ERROR, "Unable to process annotated elements in " + getClass().getSimpleName() + ": " + e.getMessage());
+            dumpExceptionToErrorFile("camel-apt-error.log", "Error processing annotation in " + getClass().getSimpleName(), e);
+        }
+        return false;
+    }
+
+    protected abstract void doProcess(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) throws Exception;
+
+}
diff --git a/tooling/apt/src/main/java/org/apache/camel/tools/apt/AnnotationProcessorHelper.java b/tooling/apt/src/main/java/org/apache/camel/tools/apt/AnnotationProcessorHelper.java
index d68ecac..66e4e86 100644
--- a/tooling/apt/src/main/java/org/apache/camel/tools/apt/AnnotationProcessorHelper.java
+++ b/tooling/apt/src/main/java/org/apache/camel/tools/apt/AnnotationProcessorHelper.java
@@ -16,18 +16,19 @@
  */
 package org.apache.camel.tools.apt;
 
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.FileWriter;
+import java.io.BufferedWriter;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.PrintWriter;
 import java.io.StringWriter;
 import java.io.Writer;
-import java.net.URI;
+import java.nio.file.Files;
+import java.nio.file.Paths;
 import java.util.Collections;
 import java.util.List;
 import java.util.Set;
+import java.util.function.Consumer;
+
 import javax.annotation.processing.Filer;
 import javax.annotation.processing.ProcessingEnvironment;
 import javax.annotation.processing.RoundEnvironment;
@@ -319,40 +320,15 @@ public final class AnnotationProcessorHelper {
     /**
      * Helper method to produce class output text file using the given handler
      */
-    public static void processFile(ProcessingEnvironment processingEnv, String packageName, String fileName, Func1<PrintWriter, Void> handler) {
-        PrintWriter writer = null;
+    public static void processFile(ProcessingEnvironment processingEnv, String packageName, String fileName, Consumer<PrintWriter> handler) {
         try {
-            Writer out;
             Filer filer = processingEnv.getFiler();
-            FileObject resource;
-            try {
-                resource = filer.getResource(StandardLocation.CLASS_OUTPUT, packageName, fileName);
-            } catch (Throwable e) {
-                resource = filer.createResource(StandardLocation.CLASS_OUTPUT, packageName, fileName);
-            }
-            URI uri = resource.toUri();
-            File file = null;
-            if (uri != null) {
-                try {
-                    file = new File(uri.getPath());
-                } catch (Exception e) {
-                    warning(processingEnv, "Cannot convert output directory resource URI to a file " + e);
-                }
-            }
-            if (file == null) {
-                warning(processingEnv, "No class output directory could be found!");
-            } else {
-                file.getParentFile().mkdirs();
-                out = new FileWriter(file);
-                writer = new PrintWriter(out);
-                handler.call(writer);
+            FileObject resource = filer.createResource(StandardLocation.CLASS_OUTPUT, packageName, fileName);
+            try (Writer w = resource.openWriter(); PrintWriter writer = new PrintWriter(w)) {
+                handler.accept(writer);
             }
         } catch (IOException e) {
             log(processingEnv, e);
-        } finally {
-            if (writer != null) {
-                writer.close();
-            }
         }
     }
 
@@ -403,18 +379,12 @@ public final class AnnotationProcessorHelper {
     }
 
     public static void dumpExceptionToErrorFile(String fileName, String message, Throwable e) {
-        File file = new File(fileName);
-        try {
-            FileOutputStream fos = new FileOutputStream(file);
-            StringWriter sw = new StringWriter();
-            PrintWriter pw = new PrintWriter(sw);
+        try (BufferedWriter w = Files.newBufferedWriter(Paths.get(fileName))) {
+            w.append(message);
+            w.append("\n\n");
+            PrintWriter pw = new PrintWriter(w);
             e.printStackTrace(pw);
-            fos.write(message.getBytes());
-            fos.write("\n\n".getBytes());
-            fos.write(sw.toString().getBytes());
-            pw.close();
-            sw.close();
-            fos.close();
+            pw.flush();
         } catch (Throwable t) {
             // ignore
         }
diff --git a/tooling/apt/src/main/java/org/apache/camel/tools/apt/ConverterProcessor.java b/tooling/apt/src/main/java/org/apache/camel/tools/apt/ConverterProcessor.java
index bf19948..68d105f 100644
--- a/tooling/apt/src/main/java/org/apache/camel/tools/apt/ConverterProcessor.java
+++ b/tooling/apt/src/main/java/org/apache/camel/tools/apt/ConverterProcessor.java
@@ -16,26 +16,17 @@
  */
 package org.apache.camel.tools.apt;
 
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.PrintWriter;
-import java.io.StringWriter;
 import java.io.Writer;
 import java.util.ArrayList;
 import java.util.Comparator;
-import java.util.HashMap;
-import java.util.HashSet;
 import java.util.LinkedHashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
 import java.util.TreeMap;
 
-import javax.annotation.processing.AbstractProcessor;
 import javax.annotation.processing.RoundEnvironment;
 import javax.annotation.processing.SupportedAnnotationTypes;
-import javax.annotation.processing.SupportedSourceVersion;
-import javax.lang.model.SourceVersion;
 import javax.lang.model.element.AnnotationMirror;
 import javax.lang.model.element.AnnotationValue;
 import javax.lang.model.element.Element;
@@ -45,205 +36,192 @@ import javax.lang.model.element.Modifier;
 import javax.lang.model.element.TypeElement;
 import javax.lang.model.type.TypeMirror;
 import javax.tools.Diagnostic;
-import javax.tools.Diagnostic.Kind;
 import javax.tools.JavaFileObject;
 
 @SupportedAnnotationTypes({"org.apache.camel.Converter"})
-@SupportedSourceVersion(SourceVersion.RELEASE_8)
-public class ConverterProcessor extends AbstractProcessor {
+public class ConverterProcessor extends AbstractCamelAnnotationProcessor {
 
     @Override
-    public boolean process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) {
-        try {
-            if (roundEnv.processingOver()) {
-                return false;
-            }
-
-            if (this.processingEnv.getElementUtils().getTypeElement("org.apache.camel.impl.converter.CoreStaticTypeConverterLoader") != null) {
-                return false;
-            }
-
-            // We're in tests, do not generate anything
-            if (this.processingEnv.getElementUtils().getTypeElement("org.apache.camel.converter.ObjectConverter") == null) {
-                return false;
-            }
+    protected void doProcess(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) throws Exception {
+        if (this.processingEnv.getElementUtils().getTypeElement("org.apache.camel.impl.converter.CoreStaticTypeConverterLoader") != null) {
+            return;
+        }
 
-            Comparator<TypeMirror> comparator = (o1, o2) -> processingEnv.getTypeUtils().isAssignable(o1, o2)
-                    ? -1 : processingEnv.getTypeUtils().isAssignable(o2, o1) ? +1 : o1.toString().compareTo(o2.toString());
+        // We're in tests, do not generate anything
+        if (this.processingEnv.getElementUtils().getTypeElement("org.apache.camel.converter.ObjectConverter") == null) {
+            return;
+        }
 
-            Map<String, Map<TypeMirror, ExecutableElement>> converters = new TreeMap<>();
-            TypeElement converterAnnotationType = this.processingEnv.getElementUtils().getTypeElement("org.apache.camel.Converter");
-            for (Element element : roundEnv.getElementsAnnotatedWith(converterAnnotationType)) {
-                if (element.getKind() == ElementKind.METHOD) {
-                    ExecutableElement ee = (ExecutableElement) element;
-                    TypeMirror to = ee.getReturnType();
-                    TypeMirror from = ee.getParameters().get(0).asType();
-                    String fromStr = toString(from);
-                    if (!fromStr.endsWith("[]")) {
-                        TypeElement e = this.processingEnv.getElementUtils().getTypeElement(fromStr);
-                        if (e != null) {
-                            from = e.asType();
-                        } else {
-                            processingEnv.getMessager().printMessage(Diagnostic.Kind.NOTE, "Could not retrieve type element for " + fromStr);
-                        }
+        Comparator<TypeMirror> comparator = (o1, o2) -> processingEnv.getTypeUtils().isAssignable(o1, o2)
+                ? -1 : processingEnv.getTypeUtils().isAssignable(o2, o1) ? +1 : o1.toString().compareTo(o2.toString());
 
+        Map<String, Map<TypeMirror, ExecutableElement>> converters = new TreeMap<>();
+        TypeElement converterAnnotationType = this.processingEnv.getElementUtils().getTypeElement("org.apache.camel.Converter");
+        for (Element element : roundEnv.getElementsAnnotatedWith(converterAnnotationType)) {
+            if (element.getKind() == ElementKind.METHOD) {
+                ExecutableElement ee = (ExecutableElement) element;
+                TypeMirror to = ee.getReturnType();
+                TypeMirror from = ee.getParameters().get(0).asType();
+                String fromStr = toString(from);
+                if (!fromStr.endsWith("[]")) {
+                    TypeElement e = this.processingEnv.getElementUtils().getTypeElement(fromStr);
+                    if (e != null) {
+                        from = e.asType();
+                    } else {
+                        processingEnv.getMessager().printMessage(Diagnostic.Kind.NOTE, "Could not retrieve type element for " + fromStr);
                     }
-                    converters.computeIfAbsent(toString(to), c -> new TreeMap<>(comparator)).put(from, ee);
+
                 }
+                converters.computeIfAbsent(toString(to), c -> new TreeMap<>(comparator)).put(from, ee);
             }
-            TypeElement fallbackAnnotationType = this.processingEnv.getElementUtils().getTypeElement("org.apache.camel.FallbackConverter");
-            List<ExecutableElement> fallbackConverters = new ArrayList<>();
-            for (Element element : roundEnv.getElementsAnnotatedWith(fallbackAnnotationType)) {
-                if (element.getKind() == ElementKind.METHOD) {
-                    ExecutableElement ee = (ExecutableElement) element;
-                    fallbackConverters.add(ee);
-                }
+        }
+        TypeElement fallbackAnnotationType = this.processingEnv.getElementUtils().getTypeElement("org.apache.camel.FallbackConverter");
+        List<ExecutableElement> fallbackConverters = new ArrayList<>();
+        for (Element element : roundEnv.getElementsAnnotatedWith(fallbackAnnotationType)) {
+            if (element.getKind() == ElementKind.METHOD) {
+                ExecutableElement ee = (ExecutableElement) element;
+                fallbackConverters.add(ee);
             }
+        }
 
-            String p = "org.apache.camel.impl.converter";
-            String c = "CoreStaticTypeConverterLoader";
-            JavaFileObject jfo = processingEnv.getFiler().createSourceFile(p + "." + c);
-            Set<String> converterClasses = new LinkedHashSet<>();
-            try (Writer writer = jfo.openWriter()) {
+        String p = "org.apache.camel.impl.converter";
+        String c = "CoreStaticTypeConverterLoader";
+        JavaFileObject jfo = processingEnv.getFiler().createSourceFile(p + "." + c);
+        Set<String> converterClasses = new LinkedHashSet<>();
+        try (Writer writer = jfo.openWriter()) {
 
-                writer.append("package ").append(p).append(";\n");
-                writer.append("\n");
-                writer.append("import org.apache.camel.Exchange;\n");
-                writer.append("import org.apache.camel.TypeConversionException;\n");
-                writer.append("import org.apache.camel.TypeConverterLoaderException;\n");
-                writer.append("import org.apache.camel.spi.TypeConverterLoader;\n");
-                writer.append("import org.apache.camel.spi.TypeConverterRegistry;\n");
-                writer.append("import org.apache.camel.support.TypeConverterSupport;\n");
-                writer.append("\n");
-                writer.append("@SuppressWarnings(\"unchecked\")\n");
-                writer.append("public class ").append(c).append(" implements TypeConverterLoader {\n");
-                writer.append("\n");
-                writer.append("    public static final CoreStaticTypeConverterLoader INSTANCE = new CoreStaticTypeConverterLoader();\n");
-                writer.append("\n");
-                writer.append("    static abstract class SimpleTypeConverter extends TypeConverterSupport {\n");
-                writer.append("        private final boolean allowNull;\n");
-                writer.append("\n");
-                writer.append("        public SimpleTypeConverter(boolean allowNull) {\n");
-                writer.append("            this.allowNull = allowNull;\n");
-                writer.append("        }\n");
-                writer.append("\n");
-                writer.append("        @Override\n");
-                writer.append("        public boolean allowNull() {\n");
-                writer.append("            return allowNull;\n");
-                writer.append("        }\n");
-                writer.append("\n");
-                writer.append("        @Override\n");
-                writer.append("        public <T> T convertTo(Class<T> type, Exchange exchange, Object value) throws TypeConversionException {\n");
-                writer.append("            try {\n");
-                writer.append("                return (T) doConvert(exchange, value);\n");
-                writer.append("            } catch (TypeConversionException e) {\n");
-                writer.append("                throw e;\n");
-                writer.append("            } catch (Exception e) {\n");
-                writer.append("                throw new TypeConversionException(value, type, e);\n");
-                writer.append("            }\n");
-                writer.append("        }\n");
-                writer.append("        protected abstract Object doConvert(Exchange exchange, Object value) throws Exception;\n");
-                writer.append("    };\n");
-                writer.append("\n");
-                writer.append("    private DoubleMap<Class<?>, Class<?>, SimpleTypeConverter> converters = new DoubleMap<>(256);\n");
-                writer.append("\n");
-                writer.append("    private ").append(c).append("() {\n");
+            writer.append("package ").append(p).append(";\n");
+            writer.append("\n");
+            writer.append("import org.apache.camel.Exchange;\n");
+            writer.append("import org.apache.camel.TypeConversionException;\n");
+            writer.append("import org.apache.camel.TypeConverterLoaderException;\n");
+            writer.append("import org.apache.camel.spi.TypeConverterLoader;\n");
+            writer.append("import org.apache.camel.spi.TypeConverterRegistry;\n");
+            writer.append("import org.apache.camel.support.TypeConverterSupport;\n");
+            writer.append("\n");
+            writer.append("@SuppressWarnings(\"unchecked\")\n");
+            writer.append("public class ").append(c).append(" implements TypeConverterLoader {\n");
+            writer.append("\n");
+            writer.append("    public static final CoreStaticTypeConverterLoader INSTANCE = new CoreStaticTypeConverterLoader();\n");
+            writer.append("\n");
+            writer.append("    static abstract class SimpleTypeConverter extends TypeConverterSupport {\n");
+            writer.append("        private final boolean allowNull;\n");
+            writer.append("\n");
+            writer.append("        public SimpleTypeConverter(boolean allowNull) {\n");
+            writer.append("            this.allowNull = allowNull;\n");
+            writer.append("        }\n");
+            writer.append("\n");
+            writer.append("        @Override\n");
+            writer.append("        public boolean allowNull() {\n");
+            writer.append("            return allowNull;\n");
+            writer.append("        }\n");
+            writer.append("\n");
+            writer.append("        @Override\n");
+            writer.append("        public <T> T convertTo(Class<T> type, Exchange exchange, Object value) throws TypeConversionException {\n");
+            writer.append("            try {\n");
+            writer.append("                return (T) doConvert(exchange, value);\n");
+            writer.append("            } catch (TypeConversionException e) {\n");
+            writer.append("                throw e;\n");
+            writer.append("            } catch (Exception e) {\n");
+            writer.append("                throw new TypeConversionException(value, type, e);\n");
+            writer.append("            }\n");
+            writer.append("        }\n");
+            writer.append("        protected abstract Object doConvert(Exchange exchange, Object value) throws Exception;\n");
+            writer.append("    };\n");
+            writer.append("\n");
+            writer.append("    private DoubleMap<Class<?>, Class<?>, SimpleTypeConverter> converters = new DoubleMap<>(256);\n");
+            writer.append("\n");
+            writer.append("    private ").append(c).append("() {\n");
 
-                for (Map.Entry<String, Map<TypeMirror, ExecutableElement>> to : converters.entrySet()) {
-                    for (Map.Entry<TypeMirror, ExecutableElement> from : to.getValue().entrySet()) {
-                        boolean allowNull = false;
-                        for (AnnotationMirror ann : from.getValue().getAnnotationMirrors()) {
-                            if (ann.getAnnotationType().asElement() == converterAnnotationType) {
-                                for (Map.Entry<? extends ExecutableElement, ? extends AnnotationValue> entry : ann.getElementValues().entrySet()) {
-                                    switch (entry.getKey().getSimpleName().toString()) {
-                                        case "allowNull":
-                                            allowNull = (Boolean) entry.getValue().getValue();
-                                            break;
-                                        default:
-                                            throw new IllegalStateException();
-                                    }
-                                }
-                            }
-                        }
-                        writer.append("        converters.put(").append(to.getKey()).append(".class").append(", ")
-                                .append(toString(from.getKey())).append(".class, new SimpleTypeConverter(")
-                                .append(Boolean.toString(allowNull)).append(") {\n");
-                        writer.append("            @Override\n");
-                        writer.append("            public Object doConvert(Exchange exchange, Object value) throws Exception {\n");
-                        writer.append("                return ").append(toJava(from.getValue(), converterClasses)).append(";\n");
-                        writer.append("            }\n");
-                        writer.append("        });\n");
-                    }
-                }
-                writer.append("    }\n");
-                writer.append("\n");
-                writer.append("    @Override\n");
-                writer.append("    public void load(TypeConverterRegistry registry) throws TypeConverterLoaderException {\n");
-                writer.append("        converters.forEach((k, v, c) -> registry.addTypeConverter(k, v, c));\n");
-                for (ExecutableElement ee : fallbackConverters) {
+            for (Map.Entry<String, Map<TypeMirror, ExecutableElement>> to : converters.entrySet()) {
+                for (Map.Entry<TypeMirror, ExecutableElement> from : to.getValue().entrySet()) {
                     boolean allowNull = false;
-                    boolean canPromote = false;
-                    for (AnnotationMirror ann : ee.getAnnotationMirrors()) {
-                        if (ann.getAnnotationType().asElement() == fallbackAnnotationType) {
+                    for (AnnotationMirror ann : from.getValue().getAnnotationMirrors()) {
+                        if (ann.getAnnotationType().asElement() == converterAnnotationType) {
                             for (Map.Entry<? extends ExecutableElement, ? extends AnnotationValue> entry : ann.getElementValues().entrySet()) {
                                 switch (entry.getKey().getSimpleName().toString()) {
                                     case "allowNull":
                                         allowNull = (Boolean) entry.getValue().getValue();
                                         break;
-                                    case "canPromote":
-                                        canPromote = (Boolean) entry.getValue().getValue();
-                                        break;
                                     default:
                                         throw new IllegalStateException();
                                 }
                             }
                         }
                     }
-                    writer.append("        registry.addFallbackTypeConverter(new TypeConverterSupport() {\n");
+                    writer.append("        converters.put(").append(to.getKey()).append(".class").append(", ")
+                            .append(toString(from.getKey())).append(".class, new SimpleTypeConverter(")
+                            .append(Boolean.toString(allowNull)).append(") {\n");
                     writer.append("            @Override\n");
-                    writer.append("            public boolean allowNull() {\n");
-                    writer.append("                return ").append(Boolean.toString(allowNull)).append(";\n");
+                    writer.append("            public Object doConvert(Exchange exchange, Object value) throws Exception {\n");
+                    writer.append("                return ").append(toJava(from.getValue(), converterClasses)).append(";\n");
                     writer.append("            }\n");
-                    writer.append("            @Override\n");
-                    writer.append("            public <T> T convertTo(Class<T> type, Exchange exchange, Object value) throws TypeConversionException {\n");
-                    writer.append("                try {\n");
-                    writer.append("                    return (T) ").append(toJavaFallback(ee, converterClasses)).append(";\n");
-                    writer.append("                } catch (TypeConversionException e) {\n");
-                    writer.append("                    throw e;\n");
-                    writer.append("                } catch (Exception e) {\n");
-                    writer.append("                    throw new TypeConversionException(value, type, e);\n");
-                    writer.append("                }\n");
-                    writer.append("            }\n");
-                    writer.append("        }, ").append(Boolean.toString(canPromote)).append(");\n");
+                    writer.append("        });\n");
                 }
-                writer.append("    }\n");
-                writer.append("\n");
-
-                for (String f : converterClasses) {
-                    String s = f.substring(f.lastIndexOf('.') + 1);
-                    String v = s.substring(0, 1).toLowerCase() + s.substring(1);
-                    writer.append("    private volatile ").append(f).append(" ").append(v).append(";\n");
-                    writer.append("    private ").append(f).append(" get").append(s).append("() {\n");
-                    writer.append("        if (").append(v).append(" == null) {\n");
-                    writer.append("            synchronized (this) {\n");
-                    writer.append("                if (").append(v).append(" == null) {\n");
-                    writer.append("                    ").append(v).append(" = new ").append(f).append("();\n");
-                    writer.append("                }\n");
-                    writer.append("            }\n");
-                    writer.append("        }\n");
-                    writer.append("        return ").append(v).append(";\n");
-                    writer.append("    }\n");
+            }
+            writer.append("    }\n");
+            writer.append("\n");
+            writer.append("    @Override\n");
+            writer.append("    public void load(TypeConverterRegistry registry) throws TypeConverterLoaderException {\n");
+            writer.append("        converters.forEach((k, v, c) -> registry.addTypeConverter(k, v, c));\n");
+            for (ExecutableElement ee : fallbackConverters) {
+                boolean allowNull = false;
+                boolean canPromote = false;
+                for (AnnotationMirror ann : ee.getAnnotationMirrors()) {
+                    if (ann.getAnnotationType().asElement() == fallbackAnnotationType) {
+                        for (Map.Entry<? extends ExecutableElement, ? extends AnnotationValue> entry : ann.getElementValues().entrySet()) {
+                            switch (entry.getKey().getSimpleName().toString()) {
+                                case "allowNull":
+                                    allowNull = (Boolean) entry.getValue().getValue();
+                                    break;
+                                case "canPromote":
+                                    canPromote = (Boolean) entry.getValue().getValue();
+                                    break;
+                                default:
+                                    throw new IllegalStateException();
+                            }
+                        }
+                    }
                 }
+                writer.append("        registry.addFallbackTypeConverter(new TypeConverterSupport() {\n");
+                writer.append("            @Override\n");
+                writer.append("            public boolean allowNull() {\n");
+                writer.append("                return ").append(Boolean.toString(allowNull)).append(";\n");
+                writer.append("            }\n");
+                writer.append("            @Override\n");
+                writer.append("            public <T> T convertTo(Class<T> type, Exchange exchange, Object value) throws TypeConversionException {\n");
+                writer.append("                try {\n");
+                writer.append("                    return (T) ").append(toJavaFallback(ee, converterClasses)).append(";\n");
+                writer.append("                } catch (TypeConversionException e) {\n");
+                writer.append("                    throw e;\n");
+                writer.append("                } catch (Exception e) {\n");
+                writer.append("                    throw new TypeConversionException(value, type, e);\n");
+                writer.append("                }\n");
+                writer.append("            }\n");
+                writer.append("        }, ").append(Boolean.toString(canPromote)).append(");\n");
+            }
+            writer.append("    }\n");
+            writer.append("\n");
 
-                writer.append("}\n");
-                writer.flush();
+            for (String f : converterClasses) {
+                String s = f.substring(f.lastIndexOf('.') + 1);
+                String v = s.substring(0, 1).toLowerCase() + s.substring(1);
+                writer.append("    private volatile ").append(f).append(" ").append(v).append(";\n");
+                writer.append("    private ").append(f).append(" get").append(s).append("() {\n");
+                writer.append("        if (").append(v).append(" == null) {\n");
+                writer.append("            synchronized (this) {\n");
+                writer.append("                if (").append(v).append(" == null) {\n");
+                writer.append("                    ").append(v).append(" = new ").append(f).append("();\n");
+                writer.append("                }\n");
+                writer.append("            }\n");
+                writer.append("        }\n");
+                writer.append("        return ").append(v).append(";\n");
+                writer.append("    }\n");
             }
 
-        } catch (Throwable e) {
-            processingEnv.getMessager().printMessage(Kind.ERROR, "Unable to process elements annotated with @Converter: " + e.getMessage());
-            dumpExceptionToErrorFile("camel-apt-error.log", "Error processing @Converter", e);
+            writer.append("}\n");
+            writer.flush();
         }
-        return false;
     }
 
     private String toString(TypeMirror type) {
@@ -276,22 +254,4 @@ public class ConverterProcessor extends AbstractProcessor {
         return pfx + "(type, " + (converter.getParameters().size() == 4 ? "exchange, " : "") + cast + "value" + ", registry)";
     }
 
-    public static void dumpExceptionToErrorFile(String fileName, String message, Throwable e) {
-        File file = new File(fileName);
-        try {
-            FileOutputStream fos = new FileOutputStream(file);
-            StringWriter sw = new StringWriter();
-            PrintWriter pw = new PrintWriter(sw);
-            e.printStackTrace(pw);
-            fos.write(message.getBytes());
-            fos.write("\n\n".getBytes());
-            fos.write(sw.toString().getBytes());
-            pw.close();
-            sw.close();
-            fos.close();
-        } catch (Throwable t) {
-            // ignore
-        }
-    }
-
 }
diff --git a/tooling/apt/src/main/java/org/apache/camel/tools/apt/CoreEipAnnotationProcessorHelper.java b/tooling/apt/src/main/java/org/apache/camel/tools/apt/CoreEipAnnotationProcessorHelper.java
index 92a7a64..dd61673 100644
--- a/tooling/apt/src/main/java/org/apache/camel/tools/apt/CoreEipAnnotationProcessorHelper.java
+++ b/tooling/apt/src/main/java/org/apache/camel/tools/apt/CoreEipAnnotationProcessorHelper.java
@@ -24,6 +24,7 @@ import java.util.List;
 import java.util.Set;
 import java.util.TreeSet;
 import java.util.stream.Collectors;
+
 import javax.annotation.processing.ProcessingEnvironment;
 import javax.annotation.processing.RoundEnvironment;
 import javax.lang.model.element.ElementKind;
@@ -128,14 +129,8 @@ public class CoreEipAnnotationProcessorHelper {
         }
 
         // write json schema
-        Func1<PrintWriter, Void> handler = new Func1<PrintWriter, Void>() {
-            @Override
-            public Void call(PrintWriter writer) {
-                writeJSonSchemeDocumentation(processingEnv, writer, roundEnv, classElement, rootElement, javaTypeName, name);
-                return null;
-            }
-        };
-        processFile(processingEnv, packageName, fileName, handler);
+        processFile(processingEnv, packageName, fileName,
+                writer -> writeJSonSchemeDocumentation(processingEnv, writer, roundEnv, classElement, rootElement, javaTypeName, name));
     }
 
     protected void writeJSonSchemeDocumentation(ProcessingEnvironment processingEnv, PrintWriter writer, RoundEnvironment roundEnv,
diff --git a/tooling/apt/src/main/java/org/apache/camel/tools/apt/DocumentationHelper.java b/tooling/apt/src/main/java/org/apache/camel/tools/apt/DocumentationHelper.java
index 4f207d6..48be0e4 100644
--- a/tooling/apt/src/main/java/org/apache/camel/tools/apt/DocumentationHelper.java
+++ b/tooling/apt/src/main/java/org/apache/camel/tools/apt/DocumentationHelper.java
@@ -16,18 +16,12 @@
  */
 package org.apache.camel.tools.apt;
 
-import java.io.BufferedReader;
 import java.io.File;
-import java.io.FileInputStream;
 import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.LineNumberReader;
+import java.nio.file.Files;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.camel.tools.apt.helper.IOHelper;
-
 import static org.apache.camel.tools.apt.helper.JsonSchemaHelper.parseJsonSchema;
 
 /**
@@ -42,16 +36,12 @@ public final class DocumentationHelper {
     public static String findComponentJavaDoc(String scheme, String extendsScheme, String fieldName) {
         File file = jsonFile(scheme, extendsScheme);
         if (file != null) {
-            FileInputStream fis = null;
             try {
-                fis = new FileInputStream(file);
-                String json = loadText(fis);
+                String json = loadText(file);
                 List<Map<String, String>> rows = parseJsonSchema("componentProperties", json, true);
                 return getPropertyDescription(rows, fieldName);
             } catch (Exception e) {
                 // ignore
-            } finally {
-                IOHelper.close(fis);
             }
         }
 
@@ -62,16 +52,12 @@ public final class DocumentationHelper {
     public static String findEndpointJavaDoc(String scheme, String extendsScheme, String fieldName) {
         File file = jsonFile(scheme, extendsScheme);
         if (file != null) {
-            FileInputStream fis = null;
             try {
-                fis = new FileInputStream(file);
-                String json = loadText(fis);
+                String json = loadText(file);
                 List<Map<String, String>> rows = parseJsonSchema("properties", json, true);
                 return getPropertyDescription(rows, fieldName);
             } catch (Exception e) {
                 // ignore
-            } finally {
-                IOHelper.close(fis);
             }
         }
 
@@ -135,25 +121,13 @@ public final class DocumentationHelper {
      * <p/>
      * Warning, don't use for crazy big streams :)
      */
-    private static String loadText(InputStream in) throws IOException {
+    private static String loadText(File file) throws IOException {
         StringBuilder builder = new StringBuilder();
-        InputStreamReader isr = new InputStreamReader(in);
-        try {
-            BufferedReader reader = new LineNumberReader(isr);
-            while (true) {
-                String line = reader.readLine();
-                if (line != null) {
-                    builder.append(line);
-                    builder.append("\n");
-                } else {
-                    break;
-                }
-            }
-            return builder.toString();
-        } finally {
-            isr.close();
-            in.close();
-        }
+        Files.readAllLines(file.toPath()).forEach(line -> {
+            builder.append(line);
+            builder.append("\n");
+        });
+        return builder.toString();
     }
 
 }
diff --git a/tooling/apt/src/main/java/org/apache/camel/tools/apt/EndpointAnnotationProcessor.java b/tooling/apt/src/main/java/org/apache/camel/tools/apt/EndpointAnnotationProcessor.java
index 3c4be09..cca1496 100644
--- a/tooling/apt/src/main/java/org/apache/camel/tools/apt/EndpointAnnotationProcessor.java
+++ b/tooling/apt/src/main/java/org/apache/camel/tools/apt/EndpointAnnotationProcessor.java
@@ -26,10 +26,8 @@ import java.util.Map;
 import java.util.Objects;
 import java.util.Set;
 
-import javax.annotation.processing.AbstractProcessor;
 import javax.annotation.processing.RoundEnvironment;
 import javax.annotation.processing.SupportedAnnotationTypes;
-import javax.lang.model.SourceVersion;
 import javax.lang.model.element.Element;
 import javax.lang.model.element.ElementKind;
 import javax.lang.model.element.ExecutableElement;
@@ -40,7 +38,6 @@ import javax.lang.model.type.TypeKind;
 import javax.lang.model.type.TypeMirror;
 import javax.lang.model.util.ElementFilter;
 import javax.lang.model.util.Elements;
-import javax.tools.Diagnostic.Kind;
 
 import org.apache.camel.spi.Metadata;
 import org.apache.camel.spi.UriEndpoint;
@@ -56,7 +53,6 @@ import org.apache.camel.tools.apt.model.ComponentOption;
 import org.apache.camel.tools.apt.model.EndpointOption;
 import org.apache.camel.tools.apt.model.EndpointPath;
 
-import static org.apache.camel.tools.apt.AnnotationProcessorHelper.dumpExceptionToErrorFile;
 import static org.apache.camel.tools.apt.AnnotationProcessorHelper.findFieldElement;
 import static org.apache.camel.tools.apt.AnnotationProcessorHelper.findJavaDoc;
 import static org.apache.camel.tools.apt.AnnotationProcessorHelper.findTypeElement;
@@ -72,33 +68,19 @@ import static org.apache.camel.tools.apt.helper.Strings.isNullOrEmpty;
  * Processes all Camel {@link UriEndpoint}s and generate json schema documentation for the endpoint/component.
  */
 @SupportedAnnotationTypes({"org.apache.camel.spi.*"})
-public class EndpointAnnotationProcessor extends AbstractProcessor {
+public class EndpointAnnotationProcessor extends AbstractCamelAnnotationProcessor {
 
     // CHECKSTYLE:OFF
 
     private static final String HEADER_FILTER_STRATEGY_JAVADOC = "To use a custom HeaderFilterStrategy to filter header to and from Camel message.";
 
-    public boolean process(Set<? extends TypeElement> annotations, final RoundEnvironment roundEnv) {
-        try {
-            if (roundEnv.processingOver()) {
-                return true;
-            }
-            Set<? extends Element> elements = roundEnv.getElementsAnnotatedWith(UriEndpoint.class);
-            for (Element element : elements) {
-                if (element instanceof TypeElement) {
-                    processEndpointClass(roundEnv, (TypeElement) element);
-                }
+    protected void doProcess(Set<? extends TypeElement> annotations, final RoundEnvironment roundEnv) throws Exception {
+        Set<? extends Element> elements = roundEnv.getElementsAnnotatedWith(UriEndpoint.class);
+        for (Element element : elements) {
+            if (element instanceof TypeElement) {
+                processEndpointClass(roundEnv, (TypeElement) element);
             }
-        } catch (Throwable e) {
-            processingEnv.getMessager().printMessage(Kind.ERROR, "Unable to process elements annotated with @UriEndpoint: " + e.getMessage());
-            dumpExceptionToErrorFile("camel-apt-error.log", "Error processing @UriEndpoint", e);
         }
-        return true;
-    }
-
-    @Override
-    public SourceVersion getSupportedSourceVersion() {
-        return SourceVersion.latest();
     }
 
     private void processEndpointClass(final RoundEnvironment roundEnv, final TypeElement classElement) {
@@ -129,14 +111,8 @@ public class EndpointAnnotationProcessor extends AbstractProcessor {
                     String name = canonicalClassName(classElement.getQualifiedName().toString());
                     String packageName = name.substring(0, name.lastIndexOf("."));
                     String fileName = alias + ".json";
-                    Func1<PrintWriter, Void> handler = new Func1<PrintWriter, Void>() {
-                        @Override
-                        public Void call(PrintWriter writer) {
-                            writeJSonSchemeDocumentation(writer, roundEnv, classElement, uriEndpoint, aliasTitle, alias, extendsAlias, label, schemes);
-                            return null;
-                        }
-                    };
-                    processFile(processingEnv, packageName, fileName, handler);
+                    processFile(processingEnv, packageName, fileName,
+                            writer -> writeJSonSchemeDocumentation(writer, roundEnv, classElement, uriEndpoint, aliasTitle, alias, extendsAlias, label, schemes));
                 }
             }
         }
diff --git a/tooling/apt/src/main/java/org/apache/camel/tools/apt/Func1.java b/tooling/apt/src/main/java/org/apache/camel/tools/apt/Func1.java
deleted file mode 100644
index 6c6ab8d..0000000
--- a/tooling/apt/src/main/java/org/apache/camel/tools/apt/Func1.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/**
- * 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.tools.apt;
-
-/**
- * Represents a function with 1 argument
- */
-interface Func1<T1, R> {
-
-    R call(T1 t1);
-
-}
diff --git a/tooling/apt/src/main/java/org/apache/camel/tools/apt/ModelAnnotationProcessor.java b/tooling/apt/src/main/java/org/apache/camel/tools/apt/ModelAnnotationProcessor.java
index 7254db9..25fee69 100644
--- a/tooling/apt/src/main/java/org/apache/camel/tools/apt/ModelAnnotationProcessor.java
+++ b/tooling/apt/src/main/java/org/apache/camel/tools/apt/ModelAnnotationProcessor.java
@@ -17,59 +17,41 @@
 package org.apache.camel.tools.apt;
 
 import java.util.Set;
-import javax.annotation.processing.AbstractProcessor;
+
 import javax.annotation.processing.RoundEnvironment;
 import javax.annotation.processing.SupportedAnnotationTypes;
-import javax.lang.model.SourceVersion;
 import javax.lang.model.element.Element;
 import javax.lang.model.element.TypeElement;
-import javax.tools.Diagnostic.Kind;
 import javax.xml.bind.annotation.XmlRootElement;
 
-import static org.apache.camel.tools.apt.AnnotationProcessorHelper.dumpExceptionToErrorFile;
 import static org.apache.camel.tools.apt.helper.Strings.canonicalClassName;
 
 /**
  * APT compiler plugin to generate JSon Schema for all EIP models and camel-spring's <camelContext> types.
  */
 @SupportedAnnotationTypes({"javax.xml.bind.annotation.*", "org.apache.camel.spi.Label"})
-public class ModelAnnotationProcessor extends AbstractProcessor {
+public class ModelAnnotationProcessor extends AbstractCamelAnnotationProcessor {
 
     private CoreEipAnnotationProcessorHelper coreProcessor = new CoreEipAnnotationProcessorHelper();
     private SpringAnnotationProcessorHelper springProcessor = new SpringAnnotationProcessorHelper();
 
     @Override
-    public boolean process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) {
-        try {
-            if (roundEnv.processingOver()) {
-                return true;
-            }
-
-            Set<? extends Element> elements = roundEnv.getElementsAnnotatedWith(XmlRootElement.class);
-            for (Element element : elements) {
-                if (element instanceof TypeElement) {
-                    TypeElement classElement = (TypeElement) element;
-
-                    final String javaTypeName = canonicalClassName(classElement.getQualifiedName().toString());
-                    boolean core = javaTypeName.startsWith("org.apache.camel.model");
-                    boolean spring = javaTypeName.startsWith("org.apache.camel.spring") || javaTypeName.startsWith("org.apache.camel.core.xml");
-                    if (core) {
-                        coreProcessor.processModelClass(processingEnv, roundEnv, classElement);
-                    } else if (spring) {
-                        springProcessor.processModelClass(processingEnv, roundEnv, classElement);
-                    }
+    protected void doProcess(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) throws Exception {
+        Set<? extends Element> elements = roundEnv.getElementsAnnotatedWith(XmlRootElement.class);
+        for (Element element : elements) {
+            if (element instanceof TypeElement) {
+                TypeElement classElement = (TypeElement) element;
+
+                final String javaTypeName = canonicalClassName(classElement.getQualifiedName().toString());
+                boolean core = javaTypeName.startsWith("org.apache.camel.model");
+                boolean spring = javaTypeName.startsWith("org.apache.camel.spring") || javaTypeName.startsWith("org.apache.camel.core.xml");
+                if (core) {
+                    coreProcessor.processModelClass(processingEnv, roundEnv, classElement);
+                } else if (spring) {
+                    springProcessor.processModelClass(processingEnv, roundEnv, classElement);
                 }
             }
-        } catch (Throwable e) {
-            processingEnv.getMessager().printMessage(Kind.ERROR, "Unable to process elements annotated with @XmlRootElement: " + e.getMessage());
-            dumpExceptionToErrorFile("camel-apt-error.log", "Error processing", e);
         }
-
-        return true;
     }
 
-    @Override
-    public SourceVersion getSupportedSourceVersion() {
-        return SourceVersion.latest();
-    }
 }
\ No newline at end of file
diff --git a/tooling/apt/src/main/java/org/apache/camel/tools/apt/SpringAnnotationProcessorHelper.java b/tooling/apt/src/main/java/org/apache/camel/tools/apt/SpringAnnotationProcessorHelper.java
index 58c6277..f8d4418 100644
--- a/tooling/apt/src/main/java/org/apache/camel/tools/apt/SpringAnnotationProcessorHelper.java
+++ b/tooling/apt/src/main/java/org/apache/camel/tools/apt/SpringAnnotationProcessorHelper.java
@@ -22,6 +22,7 @@ import java.util.LinkedHashSet;
 import java.util.List;
 import java.util.Set;
 import java.util.TreeSet;
+
 import javax.annotation.processing.ProcessingEnvironment;
 import javax.annotation.processing.RoundEnvironment;
 import javax.lang.model.element.ElementKind;
@@ -85,14 +86,8 @@ public class SpringAnnotationProcessorHelper {
         }
 
         // write json schema
-        Func1<PrintWriter, Void> handler = new Func1<PrintWriter, Void>() {
-            @Override
-            public Void call(PrintWriter writer) {
-                writeJSonSchemeDocumentation(processingEnv, writer, roundEnv, classElement, rootElement, javaTypeName, name);
-                return null;
-            }
-        };
-        processFile(processingEnv, packageName, fileName, handler);
+        processFile(processingEnv, packageName, fileName,
+                writer -> writeJSonSchemeDocumentation(processingEnv, writer, roundEnv, classElement, rootElement, javaTypeName, name));
     }
 
     protected void writeJSonSchemeDocumentation(ProcessingEnvironment processingEnv, PrintWriter writer, RoundEnvironment roundEnv,
diff --git a/tooling/apt/src/main/java/org/apache/camel/tools/apt/TypeConverterProcessor.java b/tooling/apt/src/main/java/org/apache/camel/tools/apt/TypeConverterProcessor.java
index 966c0a5..816facb 100644
--- a/tooling/apt/src/main/java/org/apache/camel/tools/apt/TypeConverterProcessor.java
+++ b/tooling/apt/src/main/java/org/apache/camel/tools/apt/TypeConverterProcessor.java
@@ -16,77 +16,50 @@
  */
 package org.apache.camel.tools.apt;
 
-import java.io.IOException;
 import java.io.Writer;
 import java.util.Map;
 import java.util.Set;
 import java.util.TreeMap;
-import java.util.TreeSet;
 
-import javax.annotation.processing.AbstractProcessor;
 import javax.annotation.processing.Filer;
 import javax.annotation.processing.RoundEnvironment;
 import javax.annotation.processing.SupportedAnnotationTypes;
-import javax.annotation.processing.SupportedSourceVersion;
-import javax.lang.model.SourceVersion;
 import javax.lang.model.element.Element;
 import javax.lang.model.element.TypeElement;
-import javax.tools.Diagnostic.Kind;
 import javax.tools.FileObject;
 import javax.tools.StandardLocation;
-import javax.xml.bind.annotation.XmlRootElement;
 
-import static org.apache.camel.tools.apt.AnnotationProcessorHelper.dumpExceptionToErrorFile;
 import static org.apache.camel.tools.apt.helper.Strings.canonicalClassName;
 
-/**
- * APT compiler plugin to generate JSon Schema for all EIP models and camel-spring's <camelContext> types.
- */
 @SupportedAnnotationTypes({"org.apache.camel.Converter"})
-@SupportedSourceVersion(SourceVersion.RELEASE_8)
-public class TypeConverterProcessor extends AbstractProcessor {
+public class TypeConverterProcessor extends AbstractCamelAnnotationProcessor {
 
     @Override
-    public boolean process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) {
-        try {
-            if (roundEnv.processingOver()) {
-                return false;
-            }
+    protected void doProcess(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) throws Exception {
+        TypeElement converterAnnotationType = this.processingEnv.getElementUtils().getTypeElement("org.apache.camel.Converter");
+        Set<? extends Element> elements = roundEnv.getElementsAnnotatedWith(converterAnnotationType);
+        Map<String, Element> converterClasses = new TreeMap<>();
+        for (Element element : elements) {
+            if (element instanceof TypeElement) {
+                TypeElement classElement = (TypeElement) element;
 
-            TypeElement converterAnnotationType = this.processingEnv.getElementUtils().getTypeElement("org.apache.camel.Converter");
-            Set<? extends Element> elements = roundEnv.getElementsAnnotatedWith(converterAnnotationType);
-            Map<String, Element> converterClasses = new TreeMap<>();
-            for (Element element : elements) {
-                if (element instanceof TypeElement) {
-                    TypeElement classElement = (TypeElement) element;
-
-                    final String javaTypeName = canonicalClassName(classElement.getQualifiedName().toString());
-                    converterClasses.put(javaTypeName, element);
-                }
+                final String javaTypeName = canonicalClassName(classElement.getQualifiedName().toString());
+                converterClasses.put(javaTypeName, element);
             }
-            if (!converterClasses.isEmpty()
-                    && !converterClasses.containsKey("org.apache.camel.converter.IOConverter")) {
-                Filer filer = processingEnv.getFiler();
-                FileObject resource = filer.createResource(StandardLocation.CLASS_OUTPUT,
-                        "", "META-INF/services/org/apache/camel/TypeConverter",
-                        converterClasses.values().toArray(new Element[0]));
-                try (Writer w = resource.openWriter()) {
-                    w.append("# Generated by camel annotation processor\n");
-                    for (String s : converterClasses.keySet()) {
-                        w.append(s).append("\n");
-                    }
+        }
+        if (!converterClasses.isEmpty()
+                && !converterClasses.containsKey("org.apache.camel.converter.IOConverter")) {
+            Filer filer = processingEnv.getFiler();
+            FileObject resource = filer.createResource(StandardLocation.CLASS_OUTPUT,
+                    "", "META-INF/services/org/apache/camel/TypeConverter",
+                    converterClasses.values().toArray(new Element[0]));
+            try (Writer w = resource.openWriter()) {
+                w.append("# Generated by camel annotation processor\n");
+                for (String s : converterClasses.keySet()) {
+                    w.append(s).append("\n");
                 }
             }
-        } catch (Throwable e) {
-            processingEnv.getMessager().printMessage(Kind.ERROR, "Unable to process elements annotated with @Converter: " + e.getMessage());
-            dumpExceptionToErrorFile("camel-apt-error.log", "Error processing", e);
         }
-
-        return false;
     }
 
-    @Override
-    public SourceVersion getSupportedSourceVersion() {
-        return SourceVersion.latest();
-    }
 }
\ No newline at end of file


[camel] 02/13: Remove deprecated connector support

Posted by gn...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

gnodet pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit cdaa6085a163406aa9a0aef7e86eb1d5b6af5354
Author: Guillaume Nodet <gn...@gmail.com>
AuthorDate: Thu Dec 13 19:29:53 2018 +0100

    Remove deprecated connector support
---
 connectors/camel-connector-maven-plugin/pom.xml    |  126 -
 .../camel/maven/connector/ConnectorMojo.java       |  671 ----
 .../connector/SpringBootAutoConfigurationMojo.java |  640 ----
 .../maven/connector/model/ComponentModel.java      |  212 --
 .../connector/model/ComponentOptionModel.java      |   20 -
 .../connector/model/ConnectorOptionModel.java      |   20 -
 .../maven/connector/model/EndpointOptionModel.java |  214 --
 .../camel/maven/connector/model/OptionModel.java   |  146 -
 .../connector/util/CollectionStringBuffer.java     |   58 -
 .../camel/maven/connector/util/FileHelper.java     |  140 -
 .../camel/maven/connector/util/GitHelper.java      |  132 -
 .../maven/connector/util/JSonSchemaHelper.java     |  335 --
 .../camel/maven/connector/util/StringHelper.java   |  219 --
 .../src/main/resources/META-INF/MANIFEST.MF        |    4 -
 .../src/main/resources/license-header-java.txt     |   16 -
 .../src/main/resources/license-header.txt          |   16 -
 connectors/camel-connector/pom.xml                 |   94 -
 .../src/main/docs/connector-component.adoc         |  243 --
 .../component/connector/ConnectorComponent.java    |  149 -
 .../component/connector/ConnectorCustomizer.java   |   27 -
 .../camel/component/connector/ConnectorModel.java  |  192 --
 .../component/connector/ConnectorProducer.java     |   72 -
 .../apache/camel/component/connector/DataType.java |   81 -
 .../connector/DefaultConnectorComponent.java       |  534 ----
 .../connector/DefaultConnectorEndpoint.java        |  174 -
 .../connector/SchedulerTimerConnectorEndpoint.java |   79 -
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 connectors/examples/bar-connector/Readme.md        |    6 -
 connectors/examples/bar-connector/pom.xml          |  187 --
 .../main/java/org/foo/connector/BarComponent.java  |   31 -
 .../services/org/apache/camel/component/bar        |   18 -
 .../src/main/resources/camel-connector-schema.json |   67 -
 .../src/main/resources/camel-connector.json        |   22 -
 connectors/examples/beverage-component/Readme.md   |    5 -
 connectors/examples/beverage-component/pom.xml     |  114 -
 .../main/java/org/beverage/BeverageComponent.java  |   39 -
 .../main/java/org/beverage/BeverageEndpoint.java   |   92 -
 .../main/java/org/beverage/BeverageProducer.java   |   45 -
 .../src/main/java/org/beverage/Beverages.java      |   22 -
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/component/beverage   |   18 -
 .../src/test/java/org/beverage/BeverageTest.java   |   46 -
 .../src/test/resources/log4j2.properties           |   30 -
 connectors/examples/foo-bar-wine-example/Readme.md |   26 -
 .../img/foo-connector-options-idea.png             |  Bin 45802 -> 0 bytes
 connectors/examples/foo-bar-wine-example/pom.xml   |  126 -
 .../src/main/java/org/foo/FooBarWineMain.java      |   34 -
 .../src/main/java/org/foo/FooBarWineRoute.java     |   38 -
 .../src/main/resources/log4j2.properties           |   24 -
 .../src/test/java/org/foo/FooBarWineTest.java      |   62 -
 .../src/test/resources/log4j2.properties           |   28 -
 connectors/examples/foo-connector/Readme.md        |    5 -
 connectors/examples/foo-connector/pom.xml          |  187 --
 .../main/java/org/foo/connector/FooComponent.java  |   37 -
 .../services/org/apache/camel/component/foo        |   18 -
 .../src/main/resources/camel-connector-schema.json |   62 -
 .../src/main/resources/camel-connector.json        |   23 -
 connectors/examples/petstore-connector/Readme.md   |    6 -
 connectors/examples/petstore-connector/pom.xml     |  205 --
 .../java/org/foo/connector/PetStoreComponent.java  |   31 -
 .../PetStoreConnectorAutoConfiguration.java        |  147 -
 .../springboot/PetStoreConnectorConfiguration.java |   38 -
 .../PetStoreConnectorConfigurationCommon.java      |   73 -
 .../services/org/apache/camel/component/petstore   |   18 -
 .../src/main/resources/META-INF/spring.factories   |   19 -
 .../src/main/resources/camel-connector-schema.json |   63 -
 .../src/main/resources/camel-connector.json        |   28 -
 connectors/examples/petstore-example/Readme.md     |   30 -
 connectors/examples/petstore-example/pom.xml       |  129 -
 .../src/main/java/org/foo/PetStoreApplication.java |   34 -
 .../src/main/java/org/foo/PetStoreRoute.java       |   33 -
 .../src/main/resources/application.properties      |   21 -
 connectors/examples/pom.xml                        |   51 -
 .../salesforce-upsert-contact-connector/pom.xml    |  185 --
 .../salesforce-authentication.properties.sample    |   23 -
 .../org/foo/salesforce/upsert/contact/Contact.java | 3317 --------------------
 .../upsert/contact/Contact_CleanStatusEnum.java    |   69 -
 .../upsert/contact/Contact_LeadSourceEnum.java     |   63 -
 .../upsert/contact/Contact_LevelEnum.java          |   59 -
 .../Contact_MailingGeocodeAccuracyEnum.java        |   75 -
 .../contact/Contact_OtherGeocodeAccuracyEnum.java  |   75 -
 .../upsert/contact/Contact_SalutationEnum.java     |   63 -
 .../upsert/contact/QueryRecordsContact.java        |   43 -
 .../contact/SalesforceUpsertContactComponent.java  |   34 -
 ...rceUpsertContactConnectorAutoConfiguration.java |  150 -
 ...esforceUpsertContactConnectorConfiguration.java |   38 -
 ...eUpsertContactConnectorConfigurationCommon.java |  112 -
 .../camel/component/salesforce-upsert-contact      |   18 -
 .../src/main/resources/META-INF/spring.factories   |   19 -
 .../src/main/resources/camel-connector-schema.json |   97 -
 .../src/main/resources/camel-connector.json        |   28 -
 connectors/examples/twitter-find-connector/pom.xml |  188 --
 .../java/org/foo/find/TwitterFindComponent.java    |   34 -
 .../TwitterFindConnectorAutoConfiguration.java     |  149 -
 .../TwitterFindConnectorConfiguration.java         |   38 -
 .../TwitterFindConnectorConfigurationCommon.java   |  126 -
 .../org/apache/camel/component/twitter-find        |   18 -
 .../src/main/resources/META-INF/spring.factories   |   19 -
 .../src/main/resources/camel-connector-schema.json |  123 -
 .../src/main/resources/camel-connector.json        |   38 -
 .../find/springboot/TwitterFindConnectorTest.java  |  113 -
 .../src/test/resources/application.properties      |   36 -
 .../src/test/resources/logback.xml                 |   41 -
 connectors/examples/twitter-find-example/README.md |   18 -
 connectors/examples/twitter-find-example/pom.xml   |  112 -
 .../main/java/org/foo/TwitterFindApplication.java  |   32 -
 .../main/java/org/foo/TwitterFindCustomizer.java   |   45 -
 .../org/foo/TwitterFindCustomizerProperties.java   |   37 -
 .../src/main/java/org/foo/TwitterFindRoute.java    |   29 -
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../src/main/resources/application.properties      |   31 -
 .../examples/twitter-mention-connector/pom.xml     |  194 --
 .../org/foo/mention/TwitterMentionComponent.java   |   34 -
 .../TwitterMentionConnectorAutoConfiguration.java  |  149 -
 .../TwitterMentionConnectorConfiguration.java      |   38 -
 ...TwitterMentionConnectorConfigurationCommon.java |   77 -
 .../org/apache/camel/component/twitter-mention     |   18 -
 .../src/main/resources/META-INF/spring.factories   |   19 -
 .../src/main/resources/camel-connector-schema.json |   75 -
 .../src/main/resources/camel-connector.json        |   22 -
 .../examples/twitter-salesforce-example/README.md  |   22 -
 .../examples/twitter-salesforce-example/pom.xml    |  117 -
 .../main/java/org/foo/MentionAddContractRoute.java |   32 -
 .../main/java/org/foo/TweetToContactMapper.java    |   51 -
 .../java/org/foo/TwitterSalesforceApplication.java |   33 -
 .../src/main/resources/META-INF/LICENSE.txt        |  203 --
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../src/main/resources/application.properties      |   38 -
 connectors/examples/wine-connector/Readme.md       |    6 -
 connectors/examples/wine-connector/pom.xml         |  187 --
 .../main/java/org/foo/connector/WineComponent.java |   31 -
 .../services/org/apache/camel/component/wine       |   18 -
 .../src/main/resources/camel-connector-schema.json |   54 -
 .../src/main/resources/camel-connector.json        |   29 -
 connectors/pom.xml                                 |   45 -
 pom.xml                                            |    1 -
 139 files changed, 14793 deletions(-)

diff --git a/connectors/camel-connector-maven-plugin/pom.xml b/connectors/camel-connector-maven-plugin/pom.xml
deleted file mode 100644
index 5bdd010..0000000
--- a/connectors/camel-connector-maven-plugin/pom.xml
+++ /dev/null
@@ -1,126 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    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.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-
-  <parent>
-    <groupId>org.apache.camel</groupId>
-    <artifactId>connectors</artifactId>
-    <version>3.0.0-SNAPSHOT</version>
-  </parent>
-
-  <artifactId>camel-connector-maven-plugin</artifactId>
-  <name>Camel :: Connectors :: Camel Connector Maven Plugin (deprecated)</name>
-  <packaging>maven-plugin</packaging>
-
-  <dependencies>
-
-    <dependency>
-      <groupId>org.apache.camel</groupId>
-      <artifactId>camel-catalog</artifactId>
-    </dependency>
-
-    <!-- we extend this existing maven plugin -->
-    <dependency>
-      <groupId>org.apache.maven.plugins</groupId>
-      <artifactId>maven-jar-plugin</artifactId>
-      <version>${maven-jar-plugin-version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.maven.plugin-tools</groupId>
-      <artifactId>maven-plugin-annotations</artifactId>
-      <version>3.2</version>
-      <scope>provided</scope>
-    </dependency>
-
-    <!-- use jackson json parser -->
-    <dependency>
-      <groupId>com.fasterxml.jackson.core</groupId>
-      <artifactId>jackson-core</artifactId>
-      <version>${jackson2-version}</version>
-    </dependency>
-    <dependency>
-      <groupId>com.fasterxml.jackson.core</groupId>
-      <artifactId>jackson-annotations</artifactId>
-      <version>${jackson2-version}</version>
-    </dependency>
-    <dependency>
-      <groupId>com.fasterxml.jackson.core</groupId>
-      <artifactId>jackson-databind</artifactId>
-      <version>${jackson2-version}</version>
-    </dependency>
-
-    <!-- roaster to create java source for Spring Boot auto configuration support -->
-    <dependency>
-      <groupId>org.jboss.forge.roaster</groupId>
-      <artifactId>roaster-api</artifactId>
-      <version>${roaster-version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.forge.roaster</groupId>
-      <artifactId>roaster-jdt</artifactId>
-      <version>${roaster-version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.springframework.boot</groupId>
-      <artifactId>spring-boot</artifactId>
-      <version>${spring-boot-version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.springframework.boot</groupId>
-      <artifactId>spring-boot-autoconfigure</artifactId>
-      <version>${spring-boot-version}</version>
-    </dependency>
-
-    <!-- guava for some word wrap helper -->
-    <dependency>
-      <groupId>com.google.guava</groupId>
-      <artifactId>guava</artifactId>
-      <version>${google-guava-version}</version>
-    </dependency>
-
-    <!-- logging -->
-    <dependency>
-      <groupId>org.slf4j</groupId>
-      <artifactId>slf4j-simple</artifactId>
-      <version>${slf4j-version}</version>
-      <scope>runtime</scope>
-    </dependency>
-
-  </dependencies>
-
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-jar-plugin</artifactId>
-        <version>${maven-jar-plugin-version}</version>
-        <configuration>
-          <!-- must include our own dummy manifest -->
-          <archive>
-            <manifestFile>src/main/resources/META-INF/MANIFEST.MF</manifestFile>
-          </archive>
-        </configuration>
-      </plugin>
-    </plugins>
-  </build>
-
-</project>
diff --git a/connectors/camel-connector-maven-plugin/src/main/java/org/apache/camel/maven/connector/ConnectorMojo.java b/connectors/camel-connector-maven-plugin/src/main/java/org/apache/camel/maven/connector/ConnectorMojo.java
deleted file mode 100644
index 8eed438..0000000
--- a/connectors/camel-connector-maven-plugin/src/main/java/org/apache/camel/maven/connector/ConnectorMojo.java
+++ /dev/null
@@ -1,671 +0,0 @@
-/**
- * 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.maven.connector;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URL;
-import java.net.URLClassLoader;
-import java.util.Arrays;
-import java.util.LinkedHashMap;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.atomic.AtomicBoolean;
-import java.util.stream.Collectors;
-
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
-
-import org.apache.camel.catalog.CamelCatalog;
-import org.apache.camel.catalog.DefaultCamelCatalog;
-import org.apache.camel.maven.connector.util.FileHelper;
-import org.apache.camel.maven.connector.util.GitHelper;
-import org.apache.camel.maven.connector.util.JSonSchemaHelper;
-import org.apache.camel.maven.connector.util.StringHelper;
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugins.annotations.LifecyclePhase;
-import org.apache.maven.plugins.annotations.Mojo;
-import org.apache.maven.plugins.annotations.Parameter;
-import org.apache.maven.plugins.annotations.ResolutionScope;
-import org.apache.maven.plugins.jar.AbstractJarMojo;
-
-import static org.apache.camel.maven.connector.util.JSonSchemaHelper.prettyPrint;
-
-@Mojo(name = "jar", defaultPhase = LifecyclePhase.PREPARE_PACKAGE, requiresProject = true, threadSafe = true,
-        requiresDependencyResolution = ResolutionScope.RUNTIME)
-public class ConnectorMojo extends AbstractJarMojo {
-
-    /**
-     * Directory containing the classes and resource files that should be packaged into the JAR.
-     */
-    @Parameter(defaultValue = "${project.build.outputDirectory}", required = true)
-    private File classesDirectory;
-
-    /**
-     * Whether to generate JSon schema files to the sources directory (<tt>src/main/resources</tt>) which allows the files to be stored together with the source code.
-     * If this options is <tt>false</tt> the JSon schema files are generated into <tt>target/classes</tt> and only included in the built JAR.
-     */
-    @Parameter(defaultValue = "true")
-    private boolean generateToSources;
-
-    /**
-     * Whether to include the git url for the git repository of the source code for the Camel connector
-     */
-    @Parameter(defaultValue = "false")
-    private boolean includeGitUrl;
-
-    /**
-     * Whether to output JSon connector schema files in pretty print mode or not
-     */
-    @Parameter(defaultValue = "true")
-    private boolean prettyPrint;
-
-    private CamelCatalog catalog = new DefaultCamelCatalog();
-
-    @Override
-    protected File getClassesDirectory() {
-        return classesDirectory;
-    }
-
-    @Override
-    protected String getClassifier() {
-        // no classifier
-        return null;
-    }
-
-    @Override
-    protected String getType() {
-        return "jar";
-    }
-
-    @Override
-    public File createArchive() throws MojoExecutionException {
-
-        // project root folder
-        File root = classesDirectory.getParentFile().getParentFile();
-
-        String gitUrl = null;
-
-        // find the component dependency and get its .json file
-        File file = new File(classesDirectory, "camel-connector.json");
-        if (file.exists()) {
-
-            // updating to use correct project version in camel-connector.json
-            String version = getProject().getVersion();
-            updateVersionInCamelConnectorJSon("version", version);
-
-            try {
-                ObjectMapper mapper = new ObjectMapper();
-                Map dto = mapper.readValue(file, Map.class);
-
-                if (includeGitUrl) {
-                    gitUrl = embedGitUrlInCamelConnectorJSon(mapper, dto);
-                }
-
-                File schema = embedCamelComponentSchema(file);
-                if (schema != null) {
-                    String json = FileHelper.loadText(new FileInputStream(schema));
-
-                    List<Map<String, String>> rows = org.apache.camel.catalog.JSonSchemaHelper.parseJsonSchema("component", json, false);
-                    String header = buildComponentHeaderSchema(rows, dto, gitUrl);
-                    getLog().debug(header);
-
-                    rows = org.apache.camel.catalog.JSonSchemaHelper.parseJsonSchema("componentProperties", json, true);
-                    String componentOptions = buildComponentOptionsSchema(rows, dto);
-                    getLog().debug(componentOptions);
-
-                    rows = org.apache.camel.catalog.JSonSchemaHelper.parseJsonSchema("properties", json, true);
-                    String endpointOptions = buildEndpointOptionsSchema(rows, dto);
-                    getLog().debug(endpointOptions);
-
-                    String connectorOptions = buildConnectorOptionsSchema(dto);
-                    getLog().debug(connectorOptions);
-
-                    // generate the json file
-                    StringBuilder jsonSchema = new StringBuilder();
-                    jsonSchema.append("{\n");
-                    jsonSchema.append(header);
-                    jsonSchema.append(componentOptions);
-                    jsonSchema.append(endpointOptions);
-                    jsonSchema.append(connectorOptions);
-                    jsonSchema.append("}\n");
-
-                    String newJson = jsonSchema.toString();
-
-                    // parse ourselves
-                    rows = org.apache.camel.catalog.JSonSchemaHelper.parseJsonSchema("component", newJson, false);
-                    String newScheme = getOption(rows, "scheme");
-
-                    checkConnectorScheme(newScheme);
-
-                    // write the json file to the target directory as if camel apt would do it
-                    String javaType = (String) dto.get("javaType");
-                    String dir = javaType.substring(0, javaType.lastIndexOf("."));
-                    dir = dir.replace('.', '/');
-                    File subDir = new File(classesDirectory, dir);
-                    String name = newScheme + ".json";
-                    File out = new File(subDir, name);
-
-                    FileOutputStream fos = new FileOutputStream(out, false);
-                    // output as pretty print
-                    newJson = prettyPrint ? prettyPrint(newJson) : newJson;
-                    fos.write(newJson.getBytes());
-                    fos.close();
-
-                    // also write the file in the root folder so its easier to find that for tooling
-                    out = new File(classesDirectory, "camel-connector-schema.json");
-                    fos = new FileOutputStream(out, false);
-                    fos.write(newJson.getBytes());
-                    fos.close();
-
-                    if (generateToSources) {
-                        // copy the file into the sources as well
-                        File from = new File(classesDirectory, "camel-connector-schema.json");
-                        File to = new File(root, "src/main/resources/camel-connector-schema.json");
-                        FileHelper.copyFile(from, to);
-                    }
-                }
-
-                // build json schema for component that only has the selectable options
-            } catch (Exception e) {
-                throw new MojoExecutionException("Error in camel-connector-maven-plugin", e);
-            }
-        }
-
-        return super.createArchive();
-    }
-
-    private void checkConnectorScheme(String connectorScheme) {
-        List<String> componentNames = catalog.findComponentNames();
-        if (componentNames != null && componentNames.contains(connectorScheme)) {
-            String format = "Can't package a connector with scheme '%s' as a component with the same scheme is already registered in the catalog";
-            String message = String.format(format, connectorScheme);
-            getLog().error(message);
-            throw new IllegalArgumentException(message);
-        }
-    }
-
-    private String embedGitUrlInCamelConnectorJSon(ObjectMapper mapper, Map dto) throws MojoExecutionException {
-        // we want to include the git url of the project
-        File gitFolder = GitHelper.findGitFolder();
-        try {
-            String gitUrl = GitHelper.extractGitUrl(gitFolder);
-            if (gitUrl == null) {
-                return null;
-            }
-
-            // embed girUrl in camel-connector.json file
-            String existingGitUrl = (String) dto.get("gitUrl");
-            if (existingGitUrl == null || !existingGitUrl.equals(gitUrl)) {
-                dto.put("gitUrl", gitUrl);
-                // update file
-                File file = new File(classesDirectory, "camel-connector.json");
-                mapper.writerWithDefaultPrettyPrinter().writeValue(file, dto);
-                // update source file also
-                File root = classesDirectory.getParentFile().getParentFile();
-                File sourceFile = new File(root, "src/main/resources/camel-connector.json");
-                if (sourceFile.exists()) {
-                    getLog().info("Updating gitUrl to " + gitUrl + " in " + sourceFile);
-                    mapper.writerWithDefaultPrettyPrinter().writeValue(sourceFile, dto);
-                }
-            }
-            return gitUrl;
-            
-        } catch (IOException e) {
-            throw new MojoExecutionException("Error in camel-connector-maven-plugin", e);
-        }
-    }
-
-    private String extractJavaType(String scheme) throws Exception {
-        File file = new File(classesDirectory, "META-INF/services/org/apache/camel/component/" + scheme);
-        if (file.exists()) {
-            List<String> lines = FileHelper.loadFile(file);
-            String fqn = extractClass(lines);
-            return fqn;
-        }
-        return null;
-    }
-
-    private String getOption(List<Map<String, String>> rows, String key) {
-        for (Map<String, String> row : rows) {
-            if (row.containsKey(key)) {
-                return row.get(key);
-            }
-        }
-        return null;
-    }
-
-    private String buildComponentOptionsSchema(List<Map<String, String>> rows, Map dto) throws JsonProcessingException {
-        // find the endpoint options
-        List options = (List) dto.get("componentOptions");
-        Map values = (Map) dto.get("componentValues");
-        Map overrides = (Map) dto.get("componentOverrides");
-
-        StringBuilder sb = new StringBuilder();
-        sb.append("  \"componentProperties\": {\n");
-
-        boolean first = true;
-
-        for (int i = 0; i < rows.size(); i++) {
-            Map<String, String> row = rows.get(i);
-            String key = row.get("name");
-
-            if (options == null || !options.contains(key)) {
-                continue;
-            }
-
-            // do we have a new default value for this row?
-            if (values != null && values.containsKey(key)) {
-                // the value may be an integer so we need to use Object and toString when putting back in row
-                Object newDefaultValue = values.get(key);
-                if (newDefaultValue != null) {
-                    row.put("defaultValue", newDefaultValue.toString());
-                }
-            }
-
-            // is there any overrides for this row?
-            if (overrides != null && overrides.containsKey(key)) {
-                Map over = (Map) overrides.get(key);
-                if (over != null) {
-                    row.putAll(over);
-                }
-            }
-
-            // we should build the json as one-line which is how Camel does it today
-            // which makes its internal json parser support loading our generated schema file
-            String line = buildJSonLineFromRow(row);
-
-            if (!first) {
-                sb.append(",\n");
-            }
-            sb.append("    ").append(line);
-
-            first = false;
-        }
-        if (!first) {
-            sb.append("\n");
-        }
-
-        sb.append("  },\n");
-        return sb.toString();
-    }
-
-    private String buildEndpointOptionsSchema(List<Map<String, String>> rows, Map dto) throws JsonProcessingException {
-        // find the endpoint options
-        List options = (List) dto.get("endpointOptions");
-        Map values = (Map) dto.get("endpointValues");
-        Map overrides = (Map) dto.get("endpointOverrides");
-
-        // if the dto is scheduled then we need to add timer options
-        if ("timer".equals(dto.get("scheduler"))) {
-            // include the period option from the timer as we use that
-            Map<String, String> period = new LinkedHashMap<>();
-            period.put("name", "schedulerPeriod");
-            period.put("kind", "parameter");
-            period.put("displayName", "Period");
-            period.put("group", "consumer");
-            period.put("type", "integer");
-            period.put("javaType", "long");
-            period.put("deprecated", "false");
-            period.put("secret", "false");
-            period.put("defaultValue", "1000");
-            period.put("description", "Delay in milli seconds between scheduling (executing)");
-
-            getLog().debug("Connector is using scheduler: timer");
-            rows.add(period);
-        }
-
-        StringBuilder sb = new StringBuilder();
-        sb.append("  \"properties\": {\n");
-
-        boolean first = true;
-        for (int i = 0; i < rows.size(); i++) {
-            Map<String, String> row = rows.get(i);
-            String key = row.get("name");
-
-            if (options == null || !options.contains(key)) {
-                continue;
-            }
-
-            // do we have a new default value for this row?
-            if (values != null && values.containsKey(key)) {
-                // the value may be an integer so we need to use Object and toString when putting back in row
-                Object newDefaultValue = values.get(key);
-                if (newDefaultValue != null) {
-                    row.put("defaultValue", newDefaultValue.toString());
-                }
-            }
-
-            // is there any overrides for this row?
-            if (overrides != null && overrides.containsKey(key)) {
-                Map over = (Map) overrides.get(key);
-                if (over != null) {
-                    row.putAll(over);
-                }
-            }
-
-            // we should build the json as one-line which is how Camel does it today
-            // which makes its internal json parser support loading our generated schema file
-            String line = buildJSonLineFromRow(row);
-
-            if (!first) {
-                sb.append(",\n");
-            }
-            sb.append("    ").append(line);
-
-            first = false;
-        }
-        if (!first) {
-            sb.append("\n");
-        }
-
-        sb.append("  },\n");
-        return sb.toString();
-    }
-
-    private String buildConnectorOptionsSchema(Map dto) throws JsonProcessingException {
-        // find the endpoint options
-        Map<String, Map> properties = (Map) dto.get("connectorProperties");
-
-        StringBuilder sb = new StringBuilder();
-        sb.append("  \"connectorProperties\": {\n");
-
-        AtomicBoolean first = new AtomicBoolean(true);
-
-        if (properties != null) {
-            for (Map.Entry<String, Map> entry: properties.entrySet()) {
-                Map row = entry.getValue();
-                row.put("name", entry.getKey());
-
-                String line = buildJSonLineFromRow(row);
-
-                if (!first.get()) {
-                    sb.append(",\n");
-                }
-                sb.append("    ").append(line);
-
-                first.set(false);
-            }
-        }
-
-        if (!first.get()) {
-            sb.append("\n");
-        }
-
-        sb.append("  }\n");
-        return sb.toString();
-    }
-
-    private String buildComponentHeaderSchema(List<Map<String, String>> rows, Map dto, String gitUrl) throws Exception {
-        String baseScheme = (String) dto.get("baseScheme");
-        String title = (String) dto.get("name");
-        String scheme = (String) dto.get("scheme");
-        if (scheme == null || scheme.isEmpty()) {
-            scheme = StringHelper.camelCaseToDash(title);
-        }
-        String baseSyntax = getOption(rows, "syntax");
-        String syntax = baseSyntax.replaceFirst(baseScheme, scheme);
-
-        String description = (String) dto.get("description");
-        // dto has labels
-        String label = null;
-        List<String> labels = (List<String>) dto.get("labels");
-        if (labels != null) {
-            label = labels.stream().collect(Collectors.joining(","));
-        }
-        String async = getOption(rows, "async");
-        String pattern = (String) dto.get("pattern");
-        String producerOnly = "To".equalsIgnoreCase(pattern) ? "true" : null;
-        String consumerOnly = "From".equalsIgnoreCase(pattern) ? "true" : null;
-        String lenientProperties = getOption(rows, "lenientProperties");
-        String deprecated = getOption(rows, "deprecated");
-        String javaType = extractJavaType(scheme);
-        String groupId = getProject().getGroupId();
-        String artifactId = getProject().getArtifactId();
-        String version = getProject().getVersion();
-
-        StringBuilder sb = new StringBuilder();
-        sb.append("  \"component\": {\n");
-        if (gitUrl != null) {
-            sb.append("    \"girUrl\": \"" + StringHelper.nullSafe(gitUrl) + "\",\n");
-        }
-        sb.append("    \"kind\": \"component\",\n");
-        sb.append("    \"baseScheme\": \"" + StringHelper.nullSafe(baseScheme) + "\",\n");
-        sb.append("    \"scheme\": \"" + scheme + "\",\n");
-        sb.append("    \"syntax\": \"" + syntax + "\",\n");
-        sb.append("    \"title\": \"" + title + "\",\n");
-        if (description != null) {
-            // ensure description is sanitized
-            String text = JSonSchemaHelper.sanitizeDescription(description, false);
-            sb.append("    \"description\": \"" + text + "\",\n");
-        }
-        if (label != null) {
-            sb.append("    \"label\": \"" + label + "\",\n");
-        }
-        if (deprecated != null) {
-            sb.append("    \"deprecated\": " + deprecated + ",\n");
-        }
-        if (async != null) {
-            sb.append("    \"async\": " + async + ",\n");
-        }
-        if (producerOnly != null) {
-            sb.append("    \"producerOnly\": " + producerOnly + ",\n");
-        } else if (consumerOnly != null) {
-            sb.append("    \"consumerOnly\": " + consumerOnly + ",\n");
-        }
-        if (lenientProperties != null) {
-            sb.append("    \"lenientProperties\": " + lenientProperties + ",\n");
-        }
-        sb.append("    \"javaType\": \"" + javaType + "\",\n");
-        sb.append("    \"groupId\": \"" + groupId + "\",\n");
-        sb.append("    \"artifactId\": \"" + artifactId + "\",\n");
-        sb.append("    \"version\": \"" + version + "\"\n");
-        sb.append("  },\n");
-
-        return sb.toString();
-    }
-
-    /**
-     * Finds and embeds the Camel component JSon schema file
-     */
-    private File embedCamelComponentSchema(File file) throws MojoExecutionException {
-        try {
-            ObjectMapper mapper = new ObjectMapper();
-            Map dto = mapper.readValue(file, Map.class);
-
-            String scheme = extractScheme(dto);
-            String groupId = extractGroupId(dto);
-            String artifactId = extractArtifactId(dto);
-
-            // find the artifact on the classpath that has the Camel component this connector is using
-            // then we want to grab its json schema file to embed in this JAR so we have all files together
-
-            if (scheme != null && groupId != null && artifactId != null) {
-                for (Object obj : getProject().getDependencyArtifacts()) {
-                    Artifact artifact = (Artifact) obj;
-                    if ("jar".equals(artifact.getType())) {
-                        // use baseVersion so we can support SNAPSHOT versions that are based on a base version
-                        if (groupId.equals(artifact.getGroupId()) && artifactId.equals(artifact.getArtifactId())) {
-                            // load the component file inside the file
-                            URL url = new URL("file:" + artifact.getFile());
-                            URLClassLoader child = new URLClassLoader(new URL[]{url}, this.getClass().getClassLoader());
-
-                            InputStream is = child.getResourceAsStream("META-INF/services/org/apache/camel/component/" + scheme);
-                            if (is != null) {
-                                List<String> lines = FileHelper.loadFile(is);
-                                String fqn = extractClass(lines);
-                                is.close();
-
-                                // only keep package
-                                String pck = fqn.substring(0, fqn.lastIndexOf("."));
-                                String name = pck.replace(".", "/") + "/" + scheme + ".json";
-
-                                is = child.getResourceAsStream(name);
-                                if (is != null) {
-                                    List<String> schema = FileHelper.loadFile(is);
-                                    is.close();
-
-                                    // write schema to file
-                                    File out = new File(classesDirectory, "camel-component-schema.json");
-                                    FileOutputStream fos = new FileOutputStream(out, false);
-                                    for (String line : schema) {
-                                        fos.write(line.getBytes());
-                                        fos.write("\n".getBytes());
-                                    }
-                                    fos.close();
-
-                                    getLog().info("Embedded camel-component-schema.json file for Camel component " + scheme);
-
-                                    // updating to use correct base version in camel-connector.json
-                                    String baseVersion = artifact.getVersion();
-                                    updateVersionInCamelConnectorJSon("baseVersion", baseVersion);
-
-                                    return out;
-                                }
-                            }
-                        }
-                    }
-                }
-            }
-
-        } catch (Exception e) {
-            throw new MojoExecutionException("Cannot read file camel-connector.json", e);
-        }
-
-        return null;
-    }
-
-    private void updateVersionInCamelConnectorJSon(String qualifier, String version) throws MojoExecutionException {
-        File file = new File(classesDirectory, "camel-connector.json");
-        if (file.exists()) {
-            try {
-                ObjectMapper mapper = new ObjectMapper();
-                Map dto = mapper.readValue(file, Map.class);
-
-                if (version != null) {
-                    String existingVersion = (String) dto.get(qualifier);
-                    if (existingVersion == null || !existingVersion.equals(version)) {
-                        dto.put(qualifier, version);
-                        // update file
-                        mapper.writerWithDefaultPrettyPrinter().writeValue(file, dto);
-                        // project root folder
-                        File root = classesDirectory.getParentFile().getParentFile();
-                        // update source file also
-                        file = new File(root, "src/main/resources/camel-connector.json");
-                        if (file.exists()) {
-                            getLog().info("Updating " + qualifier + " to " + version + " in " + file);
-                            mapper.writerWithDefaultPrettyPrinter().writeValue(file, dto);
-                        }
-                    }
-                }
-            } catch (Exception e) {
-                throw new MojoExecutionException("Error in camel-connector-maven-plugin", e);
-            }
-        }
-    }
-
-    /**
-     * Builds a JSon line of the given row
-     */
-    private static String buildJSonLineFromRow(Map<String, String> row) {
-        String name = row.get("name");
-        String displayName = row.get("displayName");
-        String kind = row.get("kind");
-        boolean required = false;
-        Object value = row.getOrDefault("required", "false");
-        if (value instanceof Boolean) {
-            required = (Boolean) value;
-        } else if (value != null) {
-            required = Boolean.valueOf(value.toString());
-        }
-        String javaType = row.get("javaType");
-        String defaultValue = row.get("defaultValue");
-        String description = row.get("description");
-        boolean deprecated = false;
-        value = row.getOrDefault("deprecated", "false");
-        if (value instanceof Boolean) {
-            deprecated = (Boolean) value;
-        } else if (value != null) {
-            deprecated = Boolean.valueOf(value.toString());
-        }
-        boolean secret = false;
-        value = row.getOrDefault("secret", "false");
-        if (value instanceof Boolean) {
-            secret = (Boolean) value;
-        } else if (value != null) {
-            secret = Boolean.valueOf(value.toString());
-        }
-        String group = row.get("group");
-        String label = row.get("label");
-        // for enum we need to build it back as a set
-        Set<String> enums = null;
-        // the enum can either be a List or String
-        value = row.get("enum");
-        if (value instanceof List) {
-            enums = new LinkedHashSet<String>((List)value);
-        } else if (value instanceof String) {
-            String[] array = value.toString().split(",");
-            enums = Arrays.stream(array).collect(Collectors.toSet());
-        }
-        boolean enumType = enums != null;
-        String optionalPrefix = row.get("optionalPrefix");
-        String prefix = row.get("prefix");
-        boolean multiValue = false;
-        value = row.getOrDefault("multiValue", "false");
-        if (value instanceof Boolean) {
-            multiValue = (Boolean) value;
-        } else if (value != null) {
-            multiValue = Boolean.valueOf(value.toString());
-        }
-
-        return JSonSchemaHelper.toJson(name, displayName, kind, required, javaType, defaultValue, description, deprecated, secret, group, label,
-            enumType, enums, false, null, false, optionalPrefix, prefix, multiValue);
-    }
-
-    private static String extractClass(List<String> lines) {
-        for (String line : lines) {
-            line = line.trim();
-            if (line.startsWith("class=")) {
-                return line.substring(6);
-            }
-        }
-        return null;
-    }
-
-    private static String extractScheme(Map map) {
-        return (String) map.get("baseScheme");
-    }
-
-    private static String extractGroupId(Map map) {
-        return (String) map.get("baseGroupId");
-    }
-
-    private static String extractArtifactId(Map map) {
-        return (String) map.get("baseArtifactId");
-    }
-
-    private static String extractVersion(Map map) {
-        return (String) map.get("baseVersion");
-    }
-
-}
diff --git a/connectors/camel-connector-maven-plugin/src/main/java/org/apache/camel/maven/connector/SpringBootAutoConfigurationMojo.java b/connectors/camel-connector-maven-plugin/src/main/java/org/apache/camel/maven/connector/SpringBootAutoConfigurationMojo.java
deleted file mode 100644
index f8ae855..0000000
--- a/connectors/camel-connector-maven-plugin/src/main/java/org/apache/camel/maven/connector/SpringBootAutoConfigurationMojo.java
+++ /dev/null
@@ -1,640 +0,0 @@
-/**
- * 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.maven.connector;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Locale;
-import java.util.Map;
-import javax.annotation.Generated;
-import javax.annotation.PostConstruct;
-
-import com.fasterxml.jackson.databind.ObjectMapper;
-import org.apache.camel.catalog.JSonSchemaHelper;
-import org.apache.camel.maven.connector.model.ComponentModel;
-import org.apache.camel.maven.connector.model.ComponentOptionModel;
-import org.apache.camel.maven.connector.model.ConnectorOptionModel;
-import org.apache.camel.maven.connector.model.EndpointOptionModel;
-import org.apache.camel.maven.connector.model.OptionModel;
-import org.apache.commons.io.FileUtils;
-import org.apache.maven.plugin.AbstractMojo;
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugin.MojoFailureException;
-import org.apache.maven.plugins.annotations.LifecyclePhase;
-import org.apache.maven.plugins.annotations.Mojo;
-import org.apache.maven.plugins.annotations.Parameter;
-import org.jboss.forge.roaster.Roaster;
-import org.jboss.forge.roaster.model.source.AnnotationSource;
-import org.jboss.forge.roaster.model.source.Import;
-import org.jboss.forge.roaster.model.source.JavaClassSource;
-import org.jboss.forge.roaster.model.source.MethodSource;
-import org.jboss.forge.roaster.model.source.PropertySource;
-import org.jboss.forge.roaster.model.util.Formatter;
-import org.jboss.forge.roaster.model.util.Strings;
-import org.springframework.beans.factory.BeanCreationException;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.autoconfigure.AutoConfigureAfter;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
-import org.springframework.boot.context.properties.ConfigurationProperties;
-import org.springframework.boot.context.properties.DeprecatedConfigurationProperty;
-import org.springframework.boot.context.properties.EnableConfigurationProperties;
-import org.springframework.context.ApplicationContext;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.Lazy;
-
-import static org.apache.camel.maven.connector.util.FileHelper.loadText;
-import static org.apache.camel.maven.connector.util.StringHelper.getSafeValue;
-import static org.apache.camel.maven.connector.util.StringHelper.getShortJavaType;
-
-/**
- * Generate Spring Boot auto configuration files for Camel connectors.
- */
-@Mojo(name = "prepare-spring-boot-auto-configuration",
-    defaultPhase = LifecyclePhase.PACKAGE,
-    requiresProject = true, threadSafe = true)
-public class SpringBootAutoConfigurationMojo extends AbstractMojo {
-
-    @Parameter(defaultValue = "${project.build.outputDirectory}", required = true)
-    private File classesDirectory;
-
-    @Parameter(defaultValue = "true")
-    private boolean includeLicenseHeader;
-
-    @Parameter(defaultValue = "camel.connector")
-    private String configurationPrefix;
-
-    @Override
-    public void execute() throws MojoExecutionException, MojoFailureException {
-        try {
-            executeConnector();
-        } catch (Exception e) {
-            throw new MojoFailureException("Error generating Spring-Boot auto configuration for connector", e);
-        }
-    }
-
-    @SuppressWarnings("unchecked")
-    private void executeConnector() throws Exception {
-
-        String javaType = null;
-        String connectorScheme = null;
-        List<String> componentOptions = Collections.emptyList();
-        List<String> endpointOptions = Collections.emptyList();
-
-        File file = new File(classesDirectory, "camel-connector.json");
-        if (file.exists()) {
-            ObjectMapper mapper = new ObjectMapper();
-            Map dto = mapper.readValue(file, Map.class);
-
-            javaType = (String) dto.get("javaType");
-            connectorScheme = (String) dto.get("scheme");
-            componentOptions = (List) dto.get("componentOptions");
-            endpointOptions = (List) dto.get("endpointOptions");
-        }
-
-        // find the component dependency and get its .json file
-        file = new File(classesDirectory, "camel-connector-schema.json");
-        if (file.exists() && javaType != null && connectorScheme != null) {
-            String json = loadText(new FileInputStream(file));
-            ComponentModel model = generateComponentModel(json);
-
-            // resolvePropertyPlaceholders is an option which only make sense to use if the component has other options
-            boolean hasComponentOptions = model.getComponentOptions().stream().anyMatch(o -> !o.getName().equals("resolvePropertyPlaceholders"));
-            boolean hasConnectorOptions = !model.getConnectorOptions().isEmpty();
-
-            // use springboot as sub package name so the code is not in normal
-            // package so the Spring Boot JARs can be optional at runtime
-            int pos = javaType.lastIndexOf(".");
-            String pkg = javaType.substring(0, pos) + ".springboot";
-
-            // we only create spring boot auto configuration if there is options to configure
-            if (hasComponentOptions || hasConnectorOptions) {
-                getLog().info("Generating Spring Boot AutoConfiguration for Connector: " + model.getScheme());
-
-                createConnectorConfigurationSource(pkg, model, javaType, connectorScheme, componentOptions, endpointOptions);
-                createConnectorAutoConfigurationSource(pkg, hasComponentOptions || hasConnectorOptions, javaType, connectorScheme);
-                createConnectorSpringFactorySource(pkg, javaType);
-            }
-        }
-    }
-
-    private void createConnectorSpringFactorySource(String packageName, String javaType) throws MojoFailureException {
-        int pos = javaType.lastIndexOf(".");
-        String name = javaType.substring(pos + 1);
-        name = name.replace("Component", "ConnectorAutoConfiguration");
-
-        writeComponentSpringFactorySource(packageName, name);
-    }
-
-    private void writeComponentSpringFactorySource(String packageName, String name) throws MojoFailureException {
-        StringBuilder sb = new StringBuilder();
-        sb.append("org.springframework.boot.autoconfigure.EnableAutoConfiguration=\\\n");
-
-        String lineToAdd = packageName + "." + name + "\n";
-        sb.append(lineToAdd);
-
-        // project root folder
-        File root = classesDirectory.getParentFile().getParentFile();
-        String fileName = "src/main/resources/META-INF/spring.factories";
-        File target = new File(root, fileName);
-
-        // create new file
-        try {
-            String header = "";
-            if (includeLicenseHeader) {
-                InputStream is = getClass().getClassLoader().getResourceAsStream("license-header.txt");
-                header = loadText(is);
-            }
-            String code = sb.toString();
-            // add empty new line after header
-            code = header + "\n" + code;
-            getLog().debug("Source code generated:\n" + code);
-
-            FileUtils.write(target, code);
-            getLog().info("Created file: " + target);
-        } catch (Exception e) {
-            throw new MojoFailureException("IOError with file " + target, e);
-        }
-    }
-
-
-
-    private void createConnectorConfigurationSource(String packageName, ComponentModel model, String javaType,
-                                                     String connectorScheme, List<String> componentOptions, List<String> endpointOptions) throws MojoFailureException {
-
-        final int pos = javaType.lastIndexOf(".");
-        final String commonName = javaType.substring(pos + 1).replace("Component", "ConnectorConfigurationCommon");
-        final String configName = javaType.substring(pos + 1).replace("Component", "ConnectorConfiguration");
-
-        // Common base class
-        JavaClassSource commonClass = Roaster.create(JavaClassSource.class);
-        commonClass.setPackage(packageName);
-        commonClass.setName(commonName);
-
-        String doc = "Generated by camel-package-maven-plugin - do not edit this file!";
-        if (!Strings.isBlank(model.getDescription())) {
-            doc = model.getDescription() + "\n\n" + doc;
-        }
-        // replace Component with Connector
-        doc = doc.replaceAll("Component", "Connector");
-        doc = doc.replaceAll("component", "connector");
-        commonClass.getJavaDoc().setFullText(doc);
-        commonClass.addAnnotation(Generated.class).setStringValue("value", SpringBootAutoConfigurationMojo.class.getName());
-
-        // compute the configuration prefix to use with spring boot configuration
-        String prefix = "";
-        if (!"false".equalsIgnoreCase(configurationPrefix)) {
-            // make sure prefix is in lower case
-            prefix = configurationPrefix.toLowerCase(Locale.US);
-            if (!prefix.endsWith(".")) {
-                prefix += ".";
-            }
-        }
-        prefix += connectorScheme.toLowerCase(Locale.US);
-
-        for (OptionModel option : model.getComponentOptions()) {
-            boolean isComponentOption = componentOptions != null && componentOptions.stream().anyMatch(o -> o.equals(option.getName()));
-            boolean isEndpointOption = endpointOptions != null && endpointOptions.stream().anyMatch(o -> o.equals(option.getName()));
-
-            // only include the options that has been explicit configured in the
-            // componentOptions section of camel-connector.json file and exclude
-            // those configured on endpointOptions in the same file
-            if (isComponentOption && !isEndpointOption) {
-                addProperty(commonClass, model, option);
-            }
-        }
-
-        for (OptionModel option : model.getEndpointOptions()) {
-            if (endpointOptions != null && endpointOptions.stream().anyMatch(o -> o.equals(option.getName()))) {
-                addProperty(commonClass, model, option);
-            }
-        }
-
-        for (OptionModel option : model.getConnectorOptions()) {
-            addProperty(commonClass, model, option);
-        }
-
-        sortImports(commonClass);
-        writeSourceIfChanged(commonClass, packageName.replaceAll("\\.", "\\/") + "/" + commonName + ".java");
-
-        // Config class
-        JavaClassSource configClass = Roaster.create(JavaClassSource.class);
-        configClass.setPackage(packageName);
-        configClass.setName(configName);
-        configClass.extendSuperType(commonClass);
-        configClass.addAnnotation(Generated.class).setStringValue("value", SpringBootAutoConfigurationMojo.class.getName());
-        configClass.addAnnotation(ConfigurationProperties.class).setStringValue("prefix", prefix);
-        configClass.addImport(Map.class);
-        configClass.addImport(HashMap.class);
-        configClass.removeImport(commonClass);
-
-        configClass.addField("Map<String, " + commonName + "> configurations = new HashMap<>()")
-            .setPrivate()
-            .getJavaDoc().setFullText("Define additional configuration definitions");
-
-        MethodSource<JavaClassSource> method;
-
-        method = configClass.addMethod();
-        method.setName("getConfigurations");
-        method.setReturnType("Map<String, " + commonName + ">");
-        method.setPublic();
-        method.setBody("return configurations;");
-
-
-        sortImports(configClass);
-        writeSourceIfChanged(configClass, packageName.replaceAll("\\.", "\\/") + "/" + configName + ".java");
-    }
-
-    private void createConnectorAutoConfigurationSource(String packageName, boolean hasOptions,
-                                                        String javaType, String connectorScheme) throws MojoFailureException {
-
-        final JavaClassSource javaClass = Roaster.create(JavaClassSource.class);
-
-        int pos = javaType.lastIndexOf(".");
-        String name = javaType.substring(pos + 1);
-        name = name.replace("Component", "ConnectorAutoConfiguration");
-        final String configNameCommon = javaType.substring(pos + 1).replace("Component", "ConnectorConfigurationCommon");
-        final String configName = javaType.substring(pos + 1).replace("Component", "ConnectorConfiguration");
-
-        // add method for auto configure
-        final String shortJavaType = getShortJavaType(javaType);
-        // must be named -component because camel-spring-boot uses that to lookup components
-        final String beanName = connectorScheme + "-component";
-
-        javaClass.setPackage(packageName).setName(name);
-
-        String doc = "Generated by camel-connector-maven-plugin - do not edit this file!";
-        javaClass.getJavaDoc().setFullText(doc);
-
-        javaClass.addAnnotation(Generated.class).setStringValue("value", SpringBootAutoConfigurationMojo.class.getName());
-        javaClass.addAnnotation(Configuration.class);
-        javaClass.addAnnotation(ConditionalOnBean.class).setStringValue("type", "org.apache.camel.spring.boot.CamelAutoConfiguration");
-        javaClass.addAnnotation(AutoConfigureAfter.class).setStringValue("name", "org.apache.camel.spring.boot.CamelAutoConfiguration");
-
-        String configurationName = name.replace("ConnectorAutoConfiguration", "ConnectorConfiguration");
-        if (hasOptions) {
-            AnnotationSource<JavaClassSource> ann = javaClass.addAnnotation(EnableConfigurationProperties.class);
-            ann.setLiteralValue("value", configurationName + ".class");
-
-            javaClass.addImport(HashMap.class);
-            javaClass.addImport(Map.class);
-            javaClass.addImport("org.apache.camel.spring.boot.util.CamelPropertiesHelper");
-        }
-
-        javaClass.addImport(javaType);
-        javaClass.addImport(ApplicationContext.class);
-        javaClass.addImport(BeanCreationException.class);
-        javaClass.addImport(List.class);
-        javaClass.addImport("org.slf4j.Logger");
-        javaClass.addImport("org.slf4j.LoggerFactory");
-        javaClass.addImport("org.apache.camel.CamelContext");
-        javaClass.addImport("org.apache.camel.component.connector.ConnectorCustomizer");
-        javaClass.addImport("org.apache.camel.spi.HasId");
-        javaClass.addImport("org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator");
-        javaClass.addImport("org.apache.camel.util.ObjectHelper");
-        javaClass.addImport("org.apache.camel.support.IntrospectionSupport");
-
-        javaClass.addField()
-            .setPrivate()
-            .setStatic(true)
-            .setFinal(true)
-            .setName("LOGGER")
-            .setType("Logger")
-            .setLiteralInitializer("LoggerFactory.getLogger(" + name + ".class)");
-        javaClass.addField()
-            .setPrivate()
-            .setName("applicationContext")
-            .setType("ApplicationContext")
-            .addAnnotation(Autowired.class);
-        javaClass.addField()
-            .setName("camelContext")
-            .setType("org.apache.camel.CamelContext")
-            .setPrivate()
-            .addAnnotation(Autowired.class);
-        javaClass.addField()
-            .setName("configuration")
-            .setType(configName)
-            .setPrivate()
-            .addAnnotation(Autowired.class);
-        javaClass.addField()
-            .setPrivate()
-            .setName("customizers")
-            .setType("List<ConnectorCustomizer<" + shortJavaType + ">>")
-            .addAnnotation(Autowired.class)
-            .setLiteralValue("required", "false");
-
-        MethodSource<JavaClassSource> configureMethod = javaClass.addMethod()
-            .setName("configure" + shortJavaType)
-            .setPublic()
-            .setBody(createComponentBody(shortJavaType, hasOptions, connectorScheme.toLowerCase(Locale.US)))
-            .setReturnType(shortJavaType)
-            .addThrows(Exception.class);
-
-        configureMethod.addAnnotation(Lazy.class);
-        configureMethod.addAnnotation(Bean.class).setStringValue("name", beanName);
-        configureMethod.addAnnotation(ConditionalOnClass.class).setLiteralValue("value", "CamelContext.class");
-        configureMethod.addAnnotation(ConditionalOnMissingBean.class);
-
-        MethodSource<JavaClassSource> postProcessMethod = javaClass.addMethod()
-            .setName("postConstruct" + shortJavaType)
-            .setPublic()
-            .setBody(createPostConstructBody(shortJavaType, configNameCommon, connectorScheme.toLowerCase(Locale.US)));
-
-
-        postProcessMethod.addAnnotation(PostConstruct.class);
-
-        sortImports(javaClass);
-
-        String fileName = packageName.replaceAll("\\.", "\\/") + "/" + name + ".java";
-        writeSourceIfChanged(javaClass, fileName);
-    }
-
-    private void writeSourceIfChanged(JavaClassSource source, String fileName) throws MojoFailureException {
-        // project root folder
-        File root = classesDirectory.getParentFile().getParentFile();
-        File target = new File(root, "src/main/java/" + fileName);
-
-        try {
-            String header = "";
-            if (includeLicenseHeader) {
-                InputStream is = getClass().getClassLoader().getResourceAsStream("license-header-java.txt");
-                header = loadText(is);
-            }
-            String code = sourceToString(source);
-            code = header + code;
-            getLog().debug("Source code generated:\n" + code);
-
-            if (target.exists()) {
-                String existing = FileUtils.readFileToString(target);
-                if (!code.equals(existing)) {
-                    FileUtils.write(target, code, false);
-                    getLog().info("Updated existing file: " + target);
-                } else {
-                    getLog().debug("No changes to existing file: " + target);
-                }
-            } else {
-                FileUtils.write(target, code);
-                getLog().info("Created file: " + target);
-            }
-        } catch (Exception e) {
-            throw new MojoFailureException("IOError with file " + target, e);
-        }
-    }
-
-    private static String createComponentBody(String shortJavaType, boolean hasOptions, String name) {
-        StringBuilder sb = new StringBuilder();
-        sb.append(shortJavaType).append(" connector = new ").append(shortJavaType).append("();").append("\n");
-        sb.append("connector.setCamelContext(camelContext);\n");
-        sb.append("\n");
-        if (hasOptions) {
-            sb.append("Map<String, Object> parameters = new HashMap<>();\n");
-            sb.append("IntrospectionSupport.getProperties(configuration, parameters, null, false);\n");
-            sb.append("CamelPropertiesHelper.setCamelProperties(camelContext, connector, parameters, false);\n");
-            sb.append("connector.setOptions(parameters);\n");
-        }
-        sb.append("if (ObjectHelper.isNotEmpty(customizers)) {\n");
-        sb.append("    for (ConnectorCustomizer<").append(shortJavaType).append("> customizer : customizers) {\n");
-        sb.append("\n");
-        sb.append("        boolean useCustomizer = (customizer instanceof HasId)");
-        sb.append("            ? HierarchicalPropertiesEvaluator.evaluate(\n");
-        sb.append("                applicationContext.getEnvironment(),\n");
-        sb.append("               \"camel.connector.customizer\",\n");
-        sb.append("               \"camel.connector.").append(name).append(".customizer\",\n");
-        sb.append("               ((HasId)customizer).getId())\n");
-        sb.append("            : HierarchicalPropertiesEvaluator.evaluate(\n");
-        sb.append("                applicationContext.getEnvironment(),\n");
-        sb.append("               \"camel.connector.customizer\",\n");
-        sb.append("               \"camel.connector.").append(name).append(".customizer\");\n");
-        sb.append("\n");
-        sb.append("        if (useCustomizer) {\n");
-        sb.append("            LOGGER.debug(\"Configure connector {}, with customizer {}\", connector, customizer);\n");
-        sb.append("            customizer.customize(connector);\n");
-        sb.append("        }\n");
-        sb.append("    }\n");
-        sb.append("}\n");
-        sb.append("\n");
-        sb.append("return connector;");
-        return sb.toString();
-    }
-
-    private static String createPostConstructBody(String shortJavaType, String commonConfigurationName, String name) {
-        StringBuilder sb = new StringBuilder();
-        sb.append("Map<String, Object> parameters = new HashMap<>();\n");
-        sb.append("\n");
-        sb.append("for (Map.Entry<String, " + commonConfigurationName + "> entry : configuration.getConfigurations().entrySet()) {\n");
-        sb.append("parameters.clear();\n");
-        sb.append("\n");
-        sb.append(shortJavaType).append(" connector = new ").append(shortJavaType).append("(").append("entry.getKey()").append(");\n");
-        sb.append("connector.setCamelContext(camelContext);\n");
-        sb.append("\n");
-        sb.append("try {\n");
-        sb.append("IntrospectionSupport.getProperties(entry.getValue(), parameters, null, false);\n");
-        sb.append("CamelPropertiesHelper.setCamelProperties(camelContext, connector, parameters, false);\n");
-        sb.append("connector.setOptions(parameters);\n");
-        sb.append("if (ObjectHelper.isNotEmpty(customizers)) {\n");
-        sb.append("    for (ConnectorCustomizer<").append(shortJavaType).append("> customizer : customizers) {\n");
-        sb.append("\n");
-        sb.append("        boolean useCustomizer = (customizer instanceof HasId)");
-        sb.append("            ? HierarchicalPropertiesEvaluator.evaluate(\n");
-        sb.append("                applicationContext.getEnvironment(),\n");
-        sb.append("               \"camel.connector.customizer\",\n");
-        sb.append("               \"camel.connector.").append(name).append(".\" + entry.getKey() + \".customizer\",\n");
-        sb.append("               ((HasId)customizer).getId())\n");
-        sb.append("            : HierarchicalPropertiesEvaluator.evaluate(\n");
-        sb.append("                applicationContext.getEnvironment(),\n");
-        sb.append("               \"camel.connector.customizer\",\n");
-        sb.append("               \"camel.connector.").append(name).append(".\" + entry.getKey() + \".customizer\");\n");
-        sb.append("\n");
-        sb.append("        if (useCustomizer) {\n");
-        sb.append("            LOGGER.debug(\"Configure connector {}, with customizer {}\", connector, customizer);\n");
-        sb.append("            customizer.customize(connector);\n");
-        sb.append("        }\n");
-        sb.append("    }\n");
-        sb.append("}\n");
-        sb.append("\n");
-        sb.append("camelContext.addComponent(entry.getKey(), connector);\n");
-        sb.append("} catch (Exception e) {\n");
-        sb.append("throw new BeanCreationException(entry.getKey(), e.getMessage(), e);\n");
-        sb.append("}\n");
-        sb.append("}\n");
-        return sb.toString();
-    }
-
-    private static void sortImports(JavaClassSource javaClass) {
-        // sort imports
-        List<Import> imports = javaClass.getImports();
-
-        // sort imports
-        List<String> names = new ArrayList<>();
-        for (Import imp : imports) {
-            names.add(imp.getQualifiedName());
-        }
-        // sort
-        Collections.sort(names, (s1, s2) -> {
-            // java comes first
-            if (s1.startsWith("java.")) {
-                s1 = "___" + s1;
-            }
-            if (s2.startsWith("java.")) {
-                s2 = "___" + s2;
-            }
-            // then javax comes next
-            if (s1.startsWith("javax.")) {
-                s1 = "__" + s1;
-            }
-            if (s2.startsWith("javax.")) {
-                s2 = "__" + s2;
-            }
-            // org.w3c is for some odd reason also before others
-            if (s1.startsWith("org.w3c.")) {
-                s1 = "_" + s1;
-            }
-            if (s2.startsWith("org.w3c.")) {
-                s2 = "_" + s2;
-            }
-            return s1.compareTo(s2);
-        });
-
-        // remove all imports first
-        for (String name : names) {
-            javaClass.removeImport(name);
-        }
-        // and add them back in correct order
-        for (String name : names) {
-            javaClass.addImport(name);
-        }
-    }
-
-    private static String sourceToString(JavaClassSource javaClass) {
-        String code = Formatter.format(javaClass);
-        // convert tabs to 4 spaces
-        code = code.replaceAll("\\t", "    ");
-        return code;
-    }
-
-    private static ComponentModel generateComponentModel(String json) {
-        List<Map<String, String>> rows = JSonSchemaHelper.parseJsonSchema("component", json, false);
-
-        ComponentModel component = new ComponentModel();
-        component.setScheme(getSafeValue("scheme", rows));
-        component.setSyntax(getSafeValue("syntax", rows));
-        component.setAlternativeSyntax(getSafeValue("alternativeSyntax", rows));
-        component.setTitle(getSafeValue("title", rows));
-        component.setDescription(getSafeValue("description", rows));
-        component.setFirstVersion(getSafeValue("firstVersion", rows));
-        component.setLabel(getSafeValue("label", rows));
-        component.setDeprecated(getSafeValue("deprecated", rows));
-        component.setConsumerOnly(getSafeValue("consumerOnly", rows));
-        component.setProducerOnly(getSafeValue("producerOnly", rows));
-        component.setJavaType(getSafeValue("javaType", rows));
-        component.setGroupId(getSafeValue("groupId", rows));
-        component.setArtifactId(getSafeValue("artifactId", rows));
-        component.setVersion(getSafeValue("version", rows));
-
-        rows = JSonSchemaHelper.parseJsonSchema("componentProperties", json, true);
-        for (Map<String, String> row : rows) {
-            ComponentOptionModel option = new ComponentOptionModel();
-            option.setName(getSafeValue("name", row));
-            option.setDisplayName(getSafeValue("displayName", row));
-            option.setKind(getSafeValue("kind", row));
-            option.setType(getSafeValue("type", row));
-            option.setJavaType(getSafeValue("javaType", row));
-            option.setDeprecated(getSafeValue("deprecated", row));
-            option.setDescription(getSafeValue("description", row));
-            option.setDefaultValue(getSafeValue("defaultValue", row));
-            option.setEnums(getSafeValue("enum", row));
-            component.addComponentOption(option);
-        }
-
-        rows = JSonSchemaHelper.parseJsonSchema("properties", json, true);
-        for (Map<String, String> row : rows) {
-            EndpointOptionModel option = new EndpointOptionModel();
-            option.setName(getSafeValue("name", row));
-            option.setDisplayName(getSafeValue("displayName", row));
-            option.setKind(getSafeValue("kind", row));
-            option.setGroup(getSafeValue("group", row));
-            option.setRequired(getSafeValue("required", row));
-            option.setType(getSafeValue("type", row));
-            option.setJavaType(getSafeValue("javaType", row));
-            option.setEnums(getSafeValue("enum", row));
-            option.setPrefix(getSafeValue("prefix", row));
-            option.setMultiValue(getSafeValue("multiValue", row));
-            option.setDeprecated(getSafeValue("deprecated", row));
-            option.setDefaultValue(getSafeValue("defaultValue", row));
-            option.setDescription(getSafeValue("description", row));
-            option.setEnumValues(getSafeValue("enum", row));
-            component.addEndpointOption(option);
-        }
-
-        rows = JSonSchemaHelper.parseJsonSchema("connectorProperties", json, true);
-        for (Map<String, String> row : rows) {
-            ConnectorOptionModel option = new ConnectorOptionModel();
-            option.setName(getSafeValue("name", row));
-            option.setDisplayName(getSafeValue("displayName", row));
-            option.setKind(getSafeValue("kind", row));
-            option.setType(getSafeValue("type", row));
-            option.setJavaType(getSafeValue("javaType", row));
-            option.setDeprecated(getSafeValue("deprecated", row));
-            option.setDescription(getSafeValue("description", row));
-            option.setDefaultValue(getSafeValue("defaultValue", row));
-            option.setEnums(getSafeValue("enum", row));
-            component.addConnectorOption(option);
-        }
-
-        return component;
-    }
-
-
-    private void addProperty(JavaClassSource clazz, ComponentModel model, OptionModel option) {
-        String type = option.getJavaType();
-        PropertySource<JavaClassSource> prop = clazz.addProperty(type, option.getName());
-
-        if ("true".equals(option.getDeprecated())) {
-            prop.getField().addAnnotation(Deprecated.class);
-            prop.getAccessor().addAnnotation(Deprecated.class);
-            prop.getMutator().addAnnotation(Deprecated.class);
-            // DeprecatedConfigurationProperty must be on getter when deprecated
-            prop.getAccessor().addAnnotation(DeprecatedConfigurationProperty.class);
-        }
-        if (!Strings.isBlank(option.getDescription())) {
-            prop.getField().getJavaDoc().setFullText(option.getDescription());
-        }
-        if (!Strings.isBlank(option.getDefaultValue())) {
-            if ("java.lang.String".equals(option.getJavaType())) {
-                prop.getField().setStringInitializer(option.getDefaultValue());
-            } else if ("long".equals(option.getJavaType()) || "java.lang.Long".equals(option.getJavaType())) {
-                // the value should be a Long number
-                String value = option.getDefaultValue() + "L";
-                prop.getField().setLiteralInitializer(value);
-            } else if ("integer".equals(option.getType()) || "boolean".equals(option.getType())) {
-                prop.getField().setLiteralInitializer(option.getDefaultValue());
-            } else if (!Strings.isBlank(option.getEnums())) {
-                String enumShortName = type.substring(type.lastIndexOf(".") + 1);
-                prop.getField().setLiteralInitializer(enumShortName + "." + option.getDefaultValue());
-                clazz.addImport(model.getJavaType());
-            }
-        }
-    }
-
-}
diff --git a/connectors/camel-connector-maven-plugin/src/main/java/org/apache/camel/maven/connector/model/ComponentModel.java b/connectors/camel-connector-maven-plugin/src/main/java/org/apache/camel/maven/connector/model/ComponentModel.java
deleted file mode 100644
index 2ba33aa..0000000
--- a/connectors/camel-connector-maven-plugin/src/main/java/org/apache/camel/maven/connector/model/ComponentModel.java
+++ /dev/null
@@ -1,212 +0,0 @@
-/**
- * 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.maven.connector.model;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class ComponentModel {
-
-    private String kind;
-    private String scheme;
-    private String syntax;
-    private String alternativeSyntax;
-    private String alternativeSchemes;
-    private String title;
-    private String description;
-    private String firstVersion;
-    private String label;
-    private String deprecated;
-    private String consumerOnly;
-    private String producerOnly;
-    private String javaType;
-    private String groupId;
-    private String artifactId;
-    private String version;
-    private final List<ComponentOptionModel> componentOptions = new ArrayList<>();
-    private final List<EndpointOptionModel> endpointOptions = new ArrayList<>();
-    private final List<ConnectorOptionModel> connectorOptions = new ArrayList<>();
-
-    public String getKind() {
-        return kind;
-    }
-
-    public void setKind(String kind) {
-        this.kind = kind;
-    }
-
-    public String getScheme() {
-        return scheme;
-    }
-
-    public void setScheme(String scheme) {
-        this.scheme = scheme;
-    }
-
-    public String getSyntax() {
-        return syntax;
-    }
-
-    public void setSyntax(String syntax) {
-        this.syntax = syntax;
-    }
-
-    public String getAlternativeSyntax() {
-        return alternativeSyntax;
-    }
-
-    public void setAlternativeSyntax(String alternativeSyntax) {
-        this.alternativeSyntax = alternativeSyntax;
-    }
-
-    public String getAlternativeSchemes() {
-        return alternativeSchemes;
-    }
-
-    public void setAlternativeSchemes(String alternativeSchemes) {
-        this.alternativeSchemes = alternativeSchemes;
-    }
-
-    public String getTitle() {
-        return title;
-    }
-
-    public void setTitle(String title) {
-        this.title = title;
-    }
-
-    public String getDescription() {
-        return description;
-    }
-
-    public void setDescription(String description) {
-        this.description = description;
-    }
-
-    public String getFirstVersion() {
-        return firstVersion;
-    }
-
-    public void setFirstVersion(String firstVersion) {
-        this.firstVersion = firstVersion;
-    }
-
-    public String getLabel() {
-        return label;
-    }
-
-    public void setLabel(String label) {
-        this.label = label;
-    }
-
-    public String getDeprecated() {
-        return deprecated;
-    }
-
-    public void setDeprecated(String deprecated) {
-        this.deprecated = deprecated;
-    }
-
-    public String getConsumerOnly() {
-        return consumerOnly;
-    }
-
-    public void setConsumerOnly(String consumerOnly) {
-        this.consumerOnly = consumerOnly;
-    }
-
-    public String getProducerOnly() {
-        return producerOnly;
-    }
-
-    public void setProducerOnly(String producerOnly) {
-        this.producerOnly = producerOnly;
-    }
-
-    public String getJavaType() {
-        return javaType;
-    }
-
-    public void setJavaType(String javaType) {
-        this.javaType = javaType;
-    }
-
-    public String getGroupId() {
-        return groupId;
-    }
-
-    public void setGroupId(String groupId) {
-        this.groupId = groupId;
-    }
-
-    public String getArtifactId() {
-        return artifactId;
-    }
-
-    public void setArtifactId(String artifactId) {
-        this.artifactId = artifactId;
-    }
-
-    public String getVersion() {
-        return version;
-    }
-
-    public void setVersion(String version) {
-        this.version = version;
-    }
-
-    public List<ComponentOptionModel> getComponentOptions() {
-        return componentOptions;
-    }
-
-    public void addComponentOption(ComponentOptionModel option) {
-        componentOptions.add(option);
-    }
-
-    public List<EndpointOptionModel> getEndpointOptions() {
-        return endpointOptions;
-    }
-
-    public void addEndpointOption(EndpointOptionModel option) {
-        endpointOptions.add(option);
-    }
-
-    public List<ConnectorOptionModel> getConnectorOptions() {
-        return connectorOptions;
-    }
-
-    public void addConnectorOption(ConnectorOptionModel option) {
-        connectorOptions.add(option);
-    }
-
-    public String getShortJavaType() {
-        if (javaType.startsWith("java.util.Map")) {
-            return "Map";
-        } else if (javaType.startsWith("java.util.Set")) {
-            return "Set";
-        } else if (javaType.startsWith("java.util.List")) {
-            return "List";
-        }
-        int pos = javaType.lastIndexOf(".");
-        if (pos != -1) {
-            return javaType.substring(pos + 1);
-        } else {
-            return javaType;
-        }
-    }
-
-}
diff --git a/connectors/camel-connector-maven-plugin/src/main/java/org/apache/camel/maven/connector/model/ComponentOptionModel.java b/connectors/camel-connector-maven-plugin/src/main/java/org/apache/camel/maven/connector/model/ComponentOptionModel.java
deleted file mode 100644
index a97cf53..0000000
--- a/connectors/camel-connector-maven-plugin/src/main/java/org/apache/camel/maven/connector/model/ComponentOptionModel.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/**
- * 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.maven.connector.model;
-
-public class ComponentOptionModel extends OptionModel {
-}
diff --git a/connectors/camel-connector-maven-plugin/src/main/java/org/apache/camel/maven/connector/model/ConnectorOptionModel.java b/connectors/camel-connector-maven-plugin/src/main/java/org/apache/camel/maven/connector/model/ConnectorOptionModel.java
deleted file mode 100644
index 99cf1d4..0000000
--- a/connectors/camel-connector-maven-plugin/src/main/java/org/apache/camel/maven/connector/model/ConnectorOptionModel.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/**
- * 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.maven.connector.model;
-
-public class ConnectorOptionModel extends OptionModel {
-}
diff --git a/connectors/camel-connector-maven-plugin/src/main/java/org/apache/camel/maven/connector/model/EndpointOptionModel.java b/connectors/camel-connector-maven-plugin/src/main/java/org/apache/camel/maven/connector/model/EndpointOptionModel.java
deleted file mode 100644
index 5c97a2b..0000000
--- a/connectors/camel-connector-maven-plugin/src/main/java/org/apache/camel/maven/connector/model/EndpointOptionModel.java
+++ /dev/null
@@ -1,214 +0,0 @@
-/**
- * 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.maven.connector.model;
-
-import com.google.common.base.CaseFormat;
-
-public class EndpointOptionModel extends OptionModel {
-    private String prefix;
-    private String multiValue;
-    private String enumValues;
-
-    // special for documentation rendering
-    private boolean newGroup;
-
-
-    public String getPrefix() {
-        return prefix;
-    }
-
-    public void setPrefix(String prefix) {
-        this.prefix = prefix;
-    }
-
-    public String getMultiValue() {
-        return multiValue;
-    }
-
-    public void setMultiValue(String multiValue) {
-        this.multiValue = multiValue;
-    }
-
-    public String getEnumValues() {
-        return enumValues;
-    }
-
-    public void setEnumValues(String enumValues) {
-        this.enumValues = enumValues;
-    }
-
-    public boolean isNewGroup() {
-        return newGroup;
-    }
-
-    public void setNewGroup(boolean newGroup) {
-        this.newGroup = newGroup;
-    }
-
-    @Override
-    public String getShortJavaType() {
-        // TODO: use watermark in the others
-        return getShortJavaType(40);
-    }
-
-    public String getShortJavaType(int watermark) {
-        String type = getType();
-        String javaType = getJavaType();
-
-        if (javaType.startsWith("java.util.Map")) {
-            return "Map";
-        } else if (javaType.startsWith("java.util.Set")) {
-            return "Set";
-        } else if (javaType.startsWith("java.util.List")) {
-            return "List";
-        }
-
-        String text = javaType;
-
-        int pos = text.lastIndexOf(".");
-        if (pos != -1) {
-            text = text.substring(pos + 1);
-        }
-
-        // if its some kind of java object then lets wrap it as its long
-        if ("object".equals(type)) {
-            text = wrapCamelCaseWords(text, watermark, " ");
-        }
-        return text;
-    }
-
-    public String getShortGroup() {
-        String group = getGroup();
-
-        if (group.endsWith(" (advanced)")) {
-            return group.substring(0, group.length() - 11);
-        }
-        return group;
-    }
-
-    public String getShortDefaultValue(int watermark) {
-        String defaultValue = getDefaultValue();
-
-        if (defaultValue.isEmpty()) {
-            return "";
-        }
-        String text = defaultValue;
-        if (text.endsWith("<T>")) {
-            text = text.substring(0, text.length() - 3);
-        } else if (text.endsWith("<T>>")) {
-            text = text.substring(0, text.length() - 4);
-        }
-
-        // TODO: dirty hack for AUTO_ACKNOWLEDGE which we should wrap
-        if ("AUTO_ACKNOWLEDGE".equals(text)) {
-            return "AUTO_ ACKNOWLEDGE";
-        }
-
-        return text;
-    }
-
-    public String getShortName(int watermark) {
-        String text = wrapCamelCaseWords(getName(), watermark, " ");
-        // ensure the option name starts with lower-case
-        return Character.toLowerCase(text.charAt(0)) + text.substring(1);
-    }
-
-    /**
-     * To wrap long camel cased texts by words.
-     *
-     * @param option  the option which is camel cased.
-     * @param watermark a watermark to denote the size to cut after
-     * @param newLine the new line to use when breaking into a new line
-     */
-    private String wrapCamelCaseWords(String option, int watermark, String newLine) {
-        String text = CaseFormat.UPPER_CAMEL.to(CaseFormat.LOWER_HYPHEN, option);
-        text = text.replace('-', ' ');
-        text = wrapWords(text, "\n", watermark, false);
-        text = text.replace(' ', '-');
-        text = CaseFormat.LOWER_HYPHEN.to(CaseFormat.UPPER_CAMEL, text);
-
-        // upper case first char on each line
-        String[] lines = text.split("\n");
-        StringBuilder sb = new StringBuilder();
-        for (int i = 0; i < lines.length; i++) {
-            String line = lines[i];
-            line = Character.toUpperCase(line.charAt(0)) + line.substring(1);
-            sb.append(line);
-            if (i < lines.length - 1) {
-                sb.append(newLine);
-            }
-        }
-        return sb.toString();
-    }
-
-    /**
-     * To wrap a big line by words.
-     *
-     * @param line the big line
-     * @param newLine the new line to use when breaking into a new line
-     * @param watermark a watermark to denote the size to cut after
-     * @param wrapLongWords whether to wrap long words
-     */
-    private String wrapWords(String line, String newLine, int watermark, boolean wrapLongWords) {
-        if (line == null) {
-            return null;
-        } else {
-            if (newLine == null) {
-                newLine = System.lineSeparator();
-            }
-
-            if (watermark < 1) {
-                watermark = 1;
-            }
-
-            int inputLineLength = line.length();
-            int offset = 0;
-            StringBuilder sb = new StringBuilder(inputLineLength + 32);
-
-            while (inputLineLength - offset > watermark) {
-                if (line.charAt(offset) == 32) {
-                    ++offset;
-                } else {
-                    int spaceToWrapAt = line.lastIndexOf(32, watermark + offset);
-                    if (spaceToWrapAt >= offset) {
-                        sb.append(line.substring(offset, spaceToWrapAt));
-                        sb.append(newLine);
-                        offset = spaceToWrapAt + 1;
-                    } else if (wrapLongWords) {
-                        sb.append(line.substring(offset, watermark + offset));
-                        sb.append(newLine);
-                        offset += watermark;
-                    } else {
-                        spaceToWrapAt = line.indexOf(32, watermark + offset);
-                        if (spaceToWrapAt >= 0) {
-                            sb.append(line.substring(offset, spaceToWrapAt));
-                            sb.append(newLine);
-                            offset = spaceToWrapAt + 1;
-                        } else {
-                            sb.append(line.substring(offset));
-                            offset = inputLineLength;
-                        }
-                    }
-                }
-            }
-
-            sb.append(line.substring(offset));
-            return sb.toString();
-        }
-    }
-
-}
\ No newline at end of file
diff --git a/connectors/camel-connector-maven-plugin/src/main/java/org/apache/camel/maven/connector/model/OptionModel.java b/connectors/camel-connector-maven-plugin/src/main/java/org/apache/camel/maven/connector/model/OptionModel.java
deleted file mode 100644
index 64d8002..0000000
--- a/connectors/camel-connector-maven-plugin/src/main/java/org/apache/camel/maven/connector/model/OptionModel.java
+++ /dev/null
@@ -1,146 +0,0 @@
-/**
- * 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.maven.connector.model;
-
-public class OptionModel {
-
-    private String name;
-    private String displayName;
-    private String kind;
-    private String group;
-    private String required;
-    private String type;
-    private String javaType;
-    private String deprecated;
-    private String secret;
-    private String description;
-    private String defaultValue;
-    private String enums;
-
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
-
-    public String getDisplayName() {
-        return displayName;
-    }
-
-    public void setDisplayName(String displayName) {
-        this.displayName = displayName;
-    }
-
-    public String getKind() {
-        return kind;
-    }
-
-    public void setKind(String kind) {
-        this.kind = kind;
-    }
-
-    public String getGroup() {
-        return group;
-    }
-
-    public void setGroup(String group) {
-        this.group = group;
-    }
-
-    public String getRequired() {
-        return required;
-    }
-
-    public void setRequired(String required) {
-        this.required = required;
-    }
-
-    public String getType() {
-        return type;
-    }
-
-    public void setType(String type) {
-        this.type = type;
-    }
-
-    public String getJavaType() {
-        return javaType;
-    }
-
-    public void setJavaType(String javaType) {
-        this.javaType = javaType;
-    }
-
-    public String getDeprecated() {
-        return deprecated;
-    }
-
-    public void setDeprecated(String deprecated) {
-        this.deprecated = deprecated;
-    }
-
-    public String getSecret() {
-        return secret;
-    }
-
-    public void setSecret(String secret) {
-        this.secret = secret;
-    }
-
-    public String getDescription() {
-        return description;
-    }
-
-    public void setDescription(String description) {
-        this.description = description;
-    }
-
-    public String getDefaultValue() {
-        return defaultValue;
-    }
-
-    public void setDefaultValue(String defaultValue) {
-        this.defaultValue = defaultValue;
-    }
-
-    public String getEnums() {
-        return enums;
-    }
-
-    public void setEnums(String enums) {
-        this.enums = enums;
-    }
-
-    public String getShortJavaType() {
-        if (javaType.startsWith("java.util.Map")) {
-            return "Map";
-        } else if (javaType.startsWith("java.util.Set")) {
-            return "Set";
-        } else if (javaType.startsWith("java.util.List")) {
-            return "List";
-        }
-        int pos = javaType.lastIndexOf(".");
-        if (pos != -1) {
-            return javaType.substring(pos + 1);
-        } else {
-            return javaType;
-        }
-    }
-
-}
diff --git a/connectors/camel-connector-maven-plugin/src/main/java/org/apache/camel/maven/connector/util/CollectionStringBuffer.java b/connectors/camel-connector-maven-plugin/src/main/java/org/apache/camel/maven/connector/util/CollectionStringBuffer.java
deleted file mode 100644
index e4c88e2..0000000
--- a/connectors/camel-connector-maven-plugin/src/main/java/org/apache/camel/maven/connector/util/CollectionStringBuffer.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/**
- * 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.maven.connector.util;
-
-/**
- * A little helper class for converting a collection of values to a (usually comma separated) string.
- */
-public class CollectionStringBuffer {
-
-    private final StringBuilder buffer = new StringBuilder();
-    private String separator;
-    private boolean first = true;
-
-    public CollectionStringBuffer() {
-        this(", ");
-    }
-
-    public CollectionStringBuffer(String separator) {
-        this.separator = separator;
-    }
-
-    @Override
-    public String toString() {
-        return buffer.toString();
-    }
-
-    public void append(Object value) {
-        if (first) {
-            first = false;
-        } else {
-            buffer.append(separator);
-        }
-        buffer.append(value);
-    }
-
-    public String getSeparator() {
-        return separator;
-    }
-
-    public void setSeparator(String separator) {
-        this.separator = separator;
-    }
-
-}
diff --git a/connectors/camel-connector-maven-plugin/src/main/java/org/apache/camel/maven/connector/util/FileHelper.java b/connectors/camel-connector-maven-plugin/src/main/java/org/apache/camel/maven/connector/util/FileHelper.java
deleted file mode 100644
index 5e974d1..0000000
--- a/connectors/camel-connector-maven-plugin/src/main/java/org/apache/camel/maven/connector/util/FileHelper.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/**
- * 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.maven.connector.util;
-
-import java.io.BufferedReader;
-import java.io.Closeable;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.FileReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.LineNumberReader;
-import java.nio.channels.FileChannel;
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * Utility methods for files.
- */
-public final class FileHelper {
-
-    private FileHelper() {
-    }
-
-    /**
-     * Loads the entire stream into memory as a String and returns it.
-     * <p/>
-     * <b>Notice:</b> This implementation appends a <tt>\n</tt> as line
-     * terminator at the of the text.
-     * <p/>
-     * Warning, don't use for crazy big streams :)
-     */
-    public static String loadText(InputStream in) throws IOException {
-        StringBuilder builder = new StringBuilder();
-        InputStreamReader isr = new InputStreamReader(in);
-        try {
-            BufferedReader reader = new LineNumberReader(isr);
-            while (true) {
-                String line = reader.readLine();
-                if (line != null) {
-                    builder.append(line);
-                    builder.append("\n");
-                } else {
-                    break;
-                }
-            }
-            return builder.toString();
-        } finally {
-            isr.close();
-            in.close();
-        }
-    }
-
-    /**
-     * Loads the file
-     */
-    public static List<String> loadFile(File file) throws Exception {
-        List<String> lines = new ArrayList<>();
-        LineNumberReader reader = new LineNumberReader(new FileReader(file));
-
-        String line;
-        do {
-            line = reader.readLine();
-            if (line != null) {
-                lines.add(line);
-            }
-        } while (line != null);
-        reader.close();
-
-        return lines;
-    }
-
-    /**
-     * Loads the file
-     */
-    public static List<String> loadFile(InputStream fis) throws Exception {
-        List<String> lines = new ArrayList<>();
-        LineNumberReader reader = new LineNumberReader(new InputStreamReader(fis));
-
-        String line;
-        do {
-            line = reader.readLine();
-            if (line != null) {
-                lines.add(line);
-            }
-        } while (line != null);
-        reader.close();
-
-        return lines;
-    }
-
-    public static void copyFile(File from, File to) throws IOException {
-        FileChannel in = null;
-        FileChannel out = null;
-        try {
-            in = new FileInputStream(from).getChannel();
-            out = new FileOutputStream(to).getChannel();
-
-            long size = in.size();
-            long position = 0;
-            while (position < size) {
-                position += in.transferTo(position, 4096, out);
-            }
-        } finally {
-            close(in);
-            close(out);
-        }
-    }
-
-    /**
-     * Closes the given resource if it is available, logging any closing exceptions to the given log.
-     */
-    public static void close(Closeable closeable) {
-        if (closeable != null) {
-            try {
-                closeable.close();
-            } catch (IOException e) {
-                // ignore
-            }
-        }
-    }
-
-
-}
diff --git a/connectors/camel-connector-maven-plugin/src/main/java/org/apache/camel/maven/connector/util/GitHelper.java b/connectors/camel-connector-maven-plugin/src/main/java/org/apache/camel/maven/connector/util/GitHelper.java
deleted file mode 100644
index 7b2fdb6..0000000
--- a/connectors/camel-connector-maven-plugin/src/main/java/org/apache/camel/maven/connector/util/GitHelper.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/**
- * 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.maven.connector.util;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.StringReader;
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * Utility methods for git.
- */
-public final class GitHelper {
-
-    private GitHelper() {
-    }
-
-    /**
-     * Finds the folder where <tt>.git</tt> is located in the project
-     */
-    public static File findGitFolder() {
-        File baseDir = new File("").getAbsoluteFile();
-        return findGitFolder(baseDir);
-    }
-
-    private static File findGitFolder(File basedir) {
-        File gitDir = new File(basedir, ".git");
-        if (gitDir.exists() && gitDir.isDirectory()) {
-            return gitDir;
-        }
-
-        File parent = basedir.getParentFile();
-        if (parent != null) {
-            return findGitFolder(parent);
-        } else {
-            return null;
-        }
-    }
-
-    /**
-     * Returns the remote git URL for the given folder; looking for the .git/config file in the current directory or a parent directory
-     */
-    public static String extractGitUrl(File basedir) throws IOException {
-        if (basedir == null) {
-            return null;
-        }
-        if (basedir.exists() && basedir.isDirectory()) {
-            File gitConfig = new File(basedir, ".git/config");
-            if (gitConfig.isFile() && gitConfig.exists()) {
-                String text = FileHelper.loadText(new FileInputStream(gitConfig));
-                return extractGitUrl(text);
-            }
-        }
-        File parentFile = basedir.getParentFile();
-        if (parentFile != null) {
-            return extractGitUrl(parentFile);
-        }
-        return null;
-    }
-
-    /**
-     * Returns the remote git URL for the given git config file text lets extract the
-     */
-    private static String extractGitUrl(String configText) {
-        String remote = null;
-        String lastUrl = null;
-        String firstUrl = null;
-        BufferedReader reader = new BufferedReader(new StringReader(configText));
-        Map<String, String> remoteUrls = new HashMap<>();
-        while (true) {
-            String line = null;
-            try {
-                line = reader.readLine();
-            } catch (IOException e) {
-                // ignore should never happen!
-            }
-            if (line == null) {
-                break;
-            }
-            if (line.startsWith("[remote ")) {
-                String[] parts = line.split("\"");
-                if (parts.length > 1) {
-                    remote = parts[1];
-                }
-            } else if (line.startsWith("[")) {
-                remote = null;
-            } else if (remote != null && line.length() > 0 && Character.isWhitespace(line.charAt(0))) {
-                String trimmed = line.trim();
-                if (trimmed.startsWith("url ")) {
-                    String[] parts = trimmed.split("=", 2);
-                    if (parts.length > 1) {
-                        lastUrl = parts[1].trim();
-                        if (firstUrl == null) {
-                            firstUrl = lastUrl;
-                        }
-                        remoteUrls.put(remote, lastUrl);
-                    }
-                }
-
-            }
-        }
-        String answer = null;
-        if (remoteUrls.size() == 1) {
-            return lastUrl;
-        } else if (remoteUrls.size() > 1) {
-            answer = remoteUrls.get("origin");
-            if (answer == null) {
-                answer = firstUrl;
-            }
-        }
-        return answer;
-    }
-
-
-}
diff --git a/connectors/camel-connector-maven-plugin/src/main/java/org/apache/camel/maven/connector/util/JSonSchemaHelper.java b/connectors/camel-connector-maven-plugin/src/main/java/org/apache/camel/maven/connector/util/JSonSchemaHelper.java
deleted file mode 100644
index f507e4b..0000000
--- a/connectors/camel-connector-maven-plugin/src/main/java/org/apache/camel/maven/connector/util/JSonSchemaHelper.java
+++ /dev/null
@@ -1,335 +0,0 @@
-/**
- * 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.maven.connector.util;
-
-import java.io.File;
-import java.net.URI;
-import java.net.URL;
-import java.util.Date;
-import java.util.Set;
-
-import org.apache.camel.json.simple.Jsoner;
-
-/**
- * A helper class for <a href="http://json-schema.org/">JSON schema</a>.
- */
-public final class JSonSchemaHelper {
-
-    private static final String VALID_CHARS = ".-='/\\!&():;";
-
-    private JSonSchemaHelper() {
-    }
-
-    public static String toJson(String name, String displayName, String kind, Boolean required, String type, String defaultValue, String description,
-                                Boolean deprecated, Boolean secret, String group, String label, boolean enumType, Set<String> enums,
-                                boolean oneOfType, Set<String> oneOffTypes, boolean asPredicate, String optionalPrefix, String prefix, boolean multiValue) {
-        String typeName = getType(type, enumType);
-
-        StringBuilder sb = new StringBuilder();
-        sb.append(StringHelper.doubleQuote(name));
-        sb.append(": { \"kind\": ");
-        sb.append(StringHelper.doubleQuote(kind));
-
-        // compute a display name if we don't have anything
-        if (StringHelper.isNullOrEmpty(displayName)) {
-            displayName = StringHelper.asTitle(name);
-        }
-        // we want display name early so its easier to spot
-        sb.append(", \"displayName\": ");
-        sb.append(StringHelper.doubleQuote(displayName));
-
-        // we want group early so its easier to spot
-        if (!StringHelper.isNullOrEmpty(group)) {
-            sb.append(", \"group\": ");
-            sb.append(StringHelper.doubleQuote(group));
-        }
-
-        // we want label early so its easier to spot
-        if (!StringHelper.isNullOrEmpty(label)) {
-            sb.append(", \"label\": ");
-            sb.append(StringHelper.doubleQuote(label));
-        }
-
-        if (required != null) {
-            // boolean type
-            sb.append(", \"required\": ");
-            sb.append(required.toString());
-        }
-
-        sb.append(", \"type\": ");
-        if ("enum".equals(typeName)) {
-            String actualType = getType(type, false);
-            sb.append(StringHelper.doubleQuote(actualType));
-            sb.append(", \"javaType\": \"" + type + "\"");
-            CollectionStringBuffer enumValues = new CollectionStringBuffer();
-            for (Object value : enums) {
-                enumValues.append(StringHelper.doubleQuote(value.toString()));
-            }
-            sb.append(", \"enum\": [ ");
-            sb.append(enumValues.toString());
-            sb.append(" ]");
-        } else if (oneOfType) {
-            sb.append(StringHelper.doubleQuote(typeName));
-            sb.append(", \"javaType\": \"" + type + "\"");
-            CollectionStringBuffer oneOfValues = new CollectionStringBuffer();
-            for (Object value : oneOffTypes) {
-                oneOfValues.append(StringHelper.doubleQuote(value.toString()));
-            }
-            sb.append(", \"oneOf\": [ ");
-            sb.append(oneOfValues.toString());
-            sb.append(" ]");
-        } else if ("array".equals(typeName)) {
-            sb.append(StringHelper.doubleQuote("array"));
-            sb.append(", \"javaType\": \"" + type + "\"");
-        } else {
-            sb.append(StringHelper.doubleQuote(typeName));
-            sb.append(", \"javaType\": \"" + type + "\"");
-        }
-
-        if (!StringHelper.isNullOrEmpty(optionalPrefix)) {
-            sb.append(", \"optionalPrefix\": ");
-            String text = safeDefaultValue(optionalPrefix);
-            sb.append(StringHelper.doubleQuote(text));
-        }
-
-        if (!StringHelper.isNullOrEmpty(prefix)) {
-            sb.append(", \"prefix\": ");
-            String text = safeDefaultValue(prefix);
-            sb.append(StringHelper.doubleQuote(text));
-        }
-        if (multiValue) {
-            // boolean value
-            sb.append(", \"multiValue\": true");
-        }
-
-        if (deprecated != null) {
-            sb.append(", \"deprecated\": ");
-            // boolean value
-            sb.append(deprecated.toString());
-        }
-
-        if (secret != null) {
-            sb.append(", \"secret\": ");
-            // boolean value
-            sb.append(secret.toString());
-        }
-
-        if (!StringHelper.isNullOrEmpty(defaultValue)) {
-            sb.append(", \"defaultValue\": ");
-            String text = safeDefaultValue(defaultValue);
-            // the type can either be boolean, integer, number or text based
-            if ("boolean".equals(typeName) || "integer".equals(typeName) || "number".equals(typeName)) {
-                sb.append(text);
-            } else {
-                // text should be quoted
-                sb.append(StringHelper.doubleQuote(text));
-            }
-        }
-
-        // for expressions we want to know if it must be used as predicate or not
-        boolean predicate = "expression".equals(kind) || asPredicate;
-        if (predicate) {
-            sb.append(", \"asPredicate\": ");
-            if (asPredicate) {
-                sb.append("true");
-            } else {
-                sb.append("false");
-            }
-        }
-
-        if (!StringHelper.isNullOrEmpty(description)) {
-            sb.append(", \"description\": ");
-            String text = sanitizeDescription(description, false);
-            sb.append(StringHelper.doubleQuote(text));
-        }
-
-        sb.append(" }");
-
-        return sb.toString();
-    }
-
-    /**
-     * Pretty print the json.
-     *
-     * @param json existing json
-     * @return output in pretty printed format
-     */
-    public static String prettyPrint(String json) {
-        return Jsoner.prettyPrint(json, 2);
-    }
-
-    /**
-     * Gets the JSon schema type.
-     *
-     * @param   type the java type
-     * @return the json schema type, is never null, but returns <tt>object</tt> as the generic type
-     */
-    public static String getType(String type, boolean enumType) {
-        if (enumType) {
-            return "enum";
-        } else if (type == null) {
-            // return generic type for unknown type
-            return "object";
-        } else if (type.equals(URI.class.getName()) || type.equals(URL.class.getName())) {
-            return "string";
-        } else if (type.equals(File.class.getName())) {
-            return "string";
-        } else if (type.equals(Date.class.getName())) {
-            return "string";
-        } else if (type.startsWith("java.lang.Class")) {
-            return "string";
-        } else if (type.startsWith("java.util.List") || type.startsWith("java.util.Collection")) {
-            return "array";
-        }
-
-        String primitive = getPrimitiveType(type);
-        if (primitive != null) {
-            return primitive;
-        }
-
-        return "object";
-    }
-
-    /**
-     * Gets the JSon schema primitive type.
-     *
-     * @param   name the java type
-     * @return the json schema primitive type, or <tt>null</tt> if not a primitive
-     */
-    public static String getPrimitiveType(String name) {
-
-        // special for byte[] or Object[] as its common to use
-        if ("java.lang.byte[]".equals(name) || "byte[]".equals(name)) {
-            return "string";
-        } else if ("java.lang.Byte[]".equals(name) || "Byte[]".equals(name)) {
-            return "array";
-        } else if ("java.lang.Object[]".equals(name) || "Object[]".equals(name)) {
-            return "array";
-        } else if ("java.lang.String[]".equals(name) || "String[]".equals(name)) {
-            return "array";
-        } else if ("java.lang.Character".equals(name) || "Character".equals(name) || "char".equals(name)) {
-            return "string";
-        } else if ("java.lang.String".equals(name) || "String".equals(name)) {
-            return "string";
-        } else if ("java.lang.Boolean".equals(name) || "Boolean".equals(name) || "boolean".equals(name)) {
-            return "boolean";
-        } else if ("java.lang.Integer".equals(name) || "Integer".equals(name) || "int".equals(name)) {
-            return "integer";
-        } else if ("java.lang.Long".equals(name) || "Long".equals(name) || "long".equals(name)) {
-            return "integer";
-        } else if ("java.lang.Short".equals(name) || "Short".equals(name) || "short".equals(name)) {
-            return "integer";
-        } else if ("java.lang.Byte".equals(name) || "Byte".equals(name) || "byte".equals(name)) {
-            return "integer";
-        } else if ("java.lang.Float".equals(name) || "Float".equals(name) || "float".equals(name)) {
-            return "number";
-        } else if ("java.lang.Double".equals(name) || "Double".equals(name) || "double".equals(name)) {
-            return "number";
-        }
-
-        return null;
-    }
-
-    /**
-     * Sanitizes the javadoc to removed invalid characters so it can be used as json description
-     *
-     * @param javadoc  the javadoc
-     * @return the text that is valid as json
-     */
-    public static String sanitizeDescription(String javadoc, boolean summary) {
-        if (StringHelper.isNullOrEmpty(javadoc)) {
-            return null;
-        }
-
-        // lets just use what java accepts as identifiers
-        StringBuilder sb = new StringBuilder();
-
-        // split into lines
-        String[] lines = javadoc.split("\n");
-
-        boolean first = true;
-        for (String line : lines) {
-            line = line.trim();
-
-            // terminate if we reach @param, @return or @deprecated as we only want the javadoc summary
-            if (line.startsWith("@param") || line.startsWith("@return") || line.startsWith("@deprecated")) {
-                break;
-            }
-
-            // skip lines that are javadoc references
-            if (line.startsWith("@")) {
-                continue;
-            }
-
-            // remove all XML tags
-            line = line.replaceAll("<.*?>", "");
-
-            // remove all inlined javadoc links, eg such as {@link org.apache.camel.spi.Registry}
-            line = line.replaceAll("\\{\\@\\w+\\s([\\w.]+)\\}", "$1");
-
-            // we are starting from a new line, so add a whitespace
-            if (!first) {
-                sb.append(' ');
-            }
-
-            // create a new line
-            StringBuilder cb = new StringBuilder();
-            for (char c : line.toCharArray()) {
-                if (Character.isJavaIdentifierPart(c) || VALID_CHARS.indexOf(c) != -1) {
-                    cb.append(c);
-                } else if (Character.isWhitespace(c)) {
-                    // always use space as whitespace, also for line feeds etc
-                    cb.append(' ');
-                }
-            }
-
-            // append data
-            String s = cb.toString().trim();
-            sb.append(s);
-
-            boolean empty = StringHelper.isNullOrEmpty(s);
-            boolean endWithDot = s.endsWith(".");
-            boolean haveText = sb.length() > 0;
-
-            if (haveText && summary && (empty || endWithDot)) {
-                // if we only want a summary, then skip at first empty line we encounter, or if the sentence ends with a dot
-                break;
-            }
-
-            first = false;
-        }
-
-        // remove double whitespaces, and trim
-        String s = sb.toString();
-        s = s.replaceAll("\\s+", " ");
-        return s.trim();
-    }
-
-    /**
-     * The default value may need to be escaped to be safe for json
-     */
-    private static String safeDefaultValue(String value) {
-        if ("\"".equals(value)) {
-            return "\\\"";
-        } else if ("\\".equals(value)) {
-            return "\\\\";
-        } else {
-            return value;
-        }
-    }
-
-}
diff --git a/connectors/camel-connector-maven-plugin/src/main/java/org/apache/camel/maven/connector/util/StringHelper.java b/connectors/camel-connector-maven-plugin/src/main/java/org/apache/camel/maven/connector/util/StringHelper.java
deleted file mode 100644
index 5aa8542..0000000
--- a/connectors/camel-connector-maven-plugin/src/main/java/org/apache/camel/maven/connector/util/StringHelper.java
+++ /dev/null
@@ -1,219 +0,0 @@
-/**
- * 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.maven.connector.util;
-
-import java.util.List;
-import java.util.Map;
-
-/**
- * Utility methods for String.
- */
-public final class StringHelper {
-
-    private StringHelper() {
-    }
-
-    /**
-     * Converts the value to use dash style instead of upper cased
-     */
-    public static String camelCaseToDash(String value) {
-        StringBuilder sb = new StringBuilder(value.length());
-        boolean dash = false;
-
-        for (char c : value.toCharArray()) {
-            // skip dash in start
-            if (sb.length() > 0 & Character.isUpperCase(c)) {
-                dash = true;
-            }
-            if (dash) {
-                sb.append('-');
-                sb.append(Character.toLowerCase(c));
-            } else {
-                // lower case first
-                if (sb.length() == 0) {
-                    sb.append(Character.toLowerCase(c));
-                } else {
-                    sb.append(c);
-                }
-            }
-            dash = false;
-        }
-        return sb.toString();
-    }
-
-    /**
-     * Returns the string value (uses empty string for <tt>null</tt> values)
-     */
-    public static String nullSafe(String text) {
-        return text != null ? text : "";
-    }
-
-    /**
-     * Returns true if the given text is null or empty string or has <tt>null</tt> as the value
-     */
-    public static boolean isNullOrEmpty(String text) {
-        return text == null || text.length() == 0 || "null".equals(text);
-    }
-
-    public static String safeNull(String text) {
-        if (isNullOrEmpty(text)) {
-            return "";
-        } else {
-            return text;
-        }
-    }
-
-    /**
-     * Returns the value or the defaultValue if it is null
-     */
-    public static String getOrElse(String text, String defaultValue) {
-        return (text != null) ? text : defaultValue;
-    }
-
-    /**
-     * Returns the string after the given token
-     *
-     * @param text  the text
-     * @param after the token
-     * @return the text after the token, or <tt>null</tt> if text does not contain the token
-     */
-    public static String after(String text, String after) {
-        if (!text.contains(after)) {
-            return null;
-        }
-        return text.substring(text.indexOf(after) + after.length());
-    }
-
-    /**
-     * Returns the canonical class name by removing any generic type information.
-     */
-    public static String canonicalClassName(String className) {
-        // remove generics
-        int pos = className.indexOf('<');
-        if (pos != -1) {
-            return className.substring(0, pos);
-        } else {
-            return className;
-        }
-    }
-
-    /**
-     * Returns the text wrapped double quotes
-     */
-    public static String doubleQuote(String text) {
-        return quote(text, "\"");
-    }
-
-    /**
-     * Returns the text wrapped single quotes
-     */
-    public static String singleQuote(String text) {
-        return quote(text, "'");
-    }
-
-    /**
-     * Wraps the text in the given quote text
-     *
-     * @param text the text to wrap in quotes
-     * @param quote the quote text added to the prefix and postfix of the text
-     *
-     * @return the text wrapped in the given quotes
-     */
-    public static String quote(String text, String quote) {
-        return quote + text + quote;
-    }
-
-    /**
-     * Clips the text between the start and end markers
-     */
-    public static String between(String text, String start, String end) {
-        int pos = text.indexOf(start);
-        if (pos > 0) {
-            text = text.substring(pos + 1);
-        }
-        int pos2 = text.lastIndexOf(end);
-        if (pos2 > 0) {
-            text = text.substring(0, pos2);
-        }
-        return text;
-    }
-
-    /**
-     * Capitalizes the name as a title
-     *
-     * @param name  the name
-     * @return as a title
-     */
-    public static String asTitle(String name) {
-        StringBuilder sb = new StringBuilder();
-        for (char c : name.toCharArray()) {
-            boolean upper = Character.isUpperCase(c);
-            boolean first = sb.length() == 0;
-            if (first) {
-                sb.append(Character.toUpperCase(c));
-            } else if (upper) {
-                sb.append(' ');
-                sb.append(c);
-            } else {
-                sb.append(Character.toLowerCase(c));
-            }
-        }
-        return sb.toString().trim();
-    }
-
-    /**
-     * Gets the value with the key in a safe way, eg returning an empty string if there was no value for the key.
-     */
-    public static String getSafeValue(String key, List<Map<String, String>> rows) {
-        for (Map<String, String> row : rows) {
-            String value = row.get(key);
-            if (value != null) {
-                return value;
-            }
-        }
-        return "";
-    }
-
-    /**
-     * Gets the value with the key in a safe way, eg returning an empty string if there was no value for the key.
-     */
-    public static String getSafeValue(String key, Map<String, String> rows) {
-        String value = rows.get(key);
-        if (value != null) {
-            return value;
-        }
-        return "";
-    }
-
-    public static String getShortJavaType(String javaType) {
-        if (javaType.startsWith("java.util.Map")) {
-            return "Map";
-        } else if (javaType.startsWith("java.util.Set")) {
-            return "Set";
-        } else if (javaType.startsWith("java.util.List")) {
-            return "List";
-        }
-        int pos = javaType.lastIndexOf(".");
-        if (pos != -1) {
-            return javaType.substring(pos + 1);
-        } else {
-            return javaType;
-        }
-    }
-
-
-}
diff --git a/connectors/camel-connector-maven-plugin/src/main/resources/META-INF/MANIFEST.MF b/connectors/camel-connector-maven-plugin/src/main/resources/META-INF/MANIFEST.MF
deleted file mode 100644
index 8428f49..0000000
--- a/connectors/camel-connector-maven-plugin/src/main/resources/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,4 +0,0 @@
-Manifest-Version: 1.0
-Implementation-Title: Camel :: Connector :: Camel Connector Maven Plugin
-Implementation-Vendor: The Apache Software Foundation
-Implementation-Vendor-Id: org.apache.camel
diff --git a/connectors/camel-connector-maven-plugin/src/main/resources/license-header-java.txt b/connectors/camel-connector-maven-plugin/src/main/resources/license-header-java.txt
deleted file mode 100644
index 0f49ea9..0000000
--- a/connectors/camel-connector-maven-plugin/src/main/resources/license-header-java.txt
+++ /dev/null
@@ -1,16 +0,0 @@
-/**
- * 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.
- */
\ No newline at end of file
diff --git a/connectors/camel-connector-maven-plugin/src/main/resources/license-header.txt b/connectors/camel-connector-maven-plugin/src/main/resources/license-header.txt
deleted file mode 100644
index 12bdf0d..0000000
--- a/connectors/camel-connector-maven-plugin/src/main/resources/license-header.txt
+++ /dev/null
@@ -1,16 +0,0 @@
-#
-# 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.
-#
diff --git a/connectors/camel-connector/pom.xml b/connectors/camel-connector/pom.xml
deleted file mode 100644
index 1c51284..0000000
--- a/connectors/camel-connector/pom.xml
+++ /dev/null
@@ -1,94 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    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.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-
-  <parent>
-    <groupId>org.apache.camel</groupId>
-    <artifactId>connectors</artifactId>
-    <version>3.0.0-SNAPSHOT</version>
-  </parent>
-
-  <artifactId>camel-connector</artifactId>
-  <packaging>jar</packaging>
-  <name>Camel :: Connectors :: Camel Connector Component (deprecated)</name>
-  <description>Camel Connector Component</description>
-
-  <properties>
-    <camel.osgi.export.pkg>org.apache.camel.component.connector.*</camel.osgi.export.pkg>
-  </properties>
-
-  <dependencies>
-
-    <!-- camel -->
-    <dependency>
-      <groupId>org.apache.camel</groupId>
-      <artifactId>camel-core</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.camel</groupId>
-      <artifactId>camel-catalog</artifactId>
-    </dependency>
-
-    <!-- to support spring-boot auto configuration in the connectors -->
-    <dependency>
-      <groupId>org.springframework.boot</groupId>
-      <artifactId>spring-boot</artifactId>
-      <version>${spring-boot-version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.springframework.boot</groupId>
-      <artifactId>spring-boot-autoconfigure</artifactId>
-      <version>${spring-boot-version}</version>
-    </dependency>
-
-    <!-- logging -->
-    <dependency>
-      <groupId>org.apache.logging.log4j</groupId>
-      <artifactId>log4j-api</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.logging.log4j</groupId>
-      <artifactId>log4j-core</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.logging.log4j</groupId>
-      <artifactId>log4j-slf4j-impl</artifactId>
-      <scope>test</scope>
-    </dependency>
-
-    <!-- testing -->
-    <dependency>
-      <groupId>org.apache.camel</groupId>
-      <artifactId>camel-test</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.camel</groupId>
-      <artifactId>camel-sql</artifactId>
-      <scope>test</scope>
-    </dependency>
-
-  </dependencies>
-
-</project>
diff --git a/connectors/camel-connector/src/main/docs/connector-component.adoc b/connectors/camel-connector/src/main/docs/connector-component.adoc
deleted file mode 100644
index 4b588a5..0000000
--- a/connectors/camel-connector/src/main/docs/connector-component.adoc
+++ /dev/null
@@ -1,243 +0,0 @@
-## Connector Component
-
-The connector component is an abstract component that is used as a building block to build a Camel connector.
-
-
-### What is a Camel connector?
-
-A Camel connector is a simplified setup of any existing Camel component. The idea is to be able to pre-configure
-  a connector to a specific use-case, such as _add contact to salesforce_, or _add calendar entry_,
-  or _new leads from twitter_.
-
-The existing Camel components are generic and have many options. Therefore to use any of these components you
-   need to understand how to use and setup all these options.
-
-### How it works
-
-The connector is based on one of the existing Camel components (or 3rd party component) by which you can specify
-in a `camel-connector.json` file which options to pre-select and as well specify other default values etc.
-
-Then the `camel-connector-maven-plugin` Maven plugin will build this as a Camel component,
-so at runtime its just a regular Camel component.
-
-Because connectors are just regular Camel component there is no problem running them in Camel applications.
-
-In addition all existing JMX, tooling et all just sees this as Camel components and can use that.
-Also at design time, for example the Apache Camel IDEA plugin will see the connector as a 3rd party Camel component
-and offer code assistance to it etc.
-
-You can have as many connectors you want, and a Camel component can have many connectors.
-For example you can have multiple connectors to the `camel-salesforce` component, where each connectors
-is specialized to do a different use-case with Salesforce.
-
-
-### How to create a Connector
-
-You can use the Maven archetype `camel-archetype-connector` to create a new connector. You would need to specify
-some values as input to select the existing Camel component to use as base, and then in addition the name and title
-of the connector, and a few other values as well.
-
-You can also copy the existing examples from the `connectors` directory where the following connectors examples are provided:
-
-- `foo-connector` - A connector that is based on the Timer component from `camel-core`.
-- `bar-connector` - A connector that is based on the 3rd party `beverage-component`.
-- `wine-connector` - Another connector that is based on the 3rd party `beverage-component`.
-- `twitter-find` - A connector based on twitter to search for keywords.
-
-You can find an example using these connectors in the `foo-bar-wine-example` in the `connectors` directory.
-
-
-### Setting up connector in Maven
-
-To build a connector you need to at least include the following dependencies in the Maven pom.xml file
-
-[source,xml]
-------------
-    <!-- camel-connector -->
-    <dependency>
-      <groupId>org.apache.camel</groupId>
-      <artifactId>camel-connector</artifactId>
-    </dependency>
-
-    <!-- camel and spring boot compiler plugins -->
-    <dependency>
-      <groupId>org.apache.camel</groupId>
-      <artifactId>apt</artifactId>
-    </dependency>
-------------
-
-And these following Maven plugins:
-
-[source,xml]
-------------
-      <!-- generate components meta-data and validate component includes documentation etc -->
-      <plugin>
-        <groupId>org.apache.camel</groupId>
-        <artifactId>camel-package-maven-plugin</artifactId>
-        <version>${project.version}</version>
-        <executions>
-          <execution>
-            <id>prepare</id>
-            <goals>
-              <goal>prepare-components</goal>
-            </goals>
-            <phase>generate-resources</phase>
-          </execution>
-          <execution>
-            <id>validate</id>
-            <goals>
-              <goal>validate-components</goal>
-            </goals>
-            <phase>prepare-package</phase>
-          </execution>
-        </executions>
-      </plugin>
-
-      <!-- generate connector -->
-      <plugin>
-        <groupId>org.apache.camel</groupId>
-        <artifactId>camel-connector-maven-plugin</artifactId>
-        <version>${camel.version}</version>
-        <executions>
-          <execution>
-            <id>connector</id>
-            <goals>
-              <goal>jar</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-------------
-
-
-### Spring Boot compliant
-
-A Camel connector works great with Spring Boot. If a connector has been configured to allow configuration on the component and/or endpoint level which is done in the `camel-connector.json` file, such as
-
-      "componentOptions" : [ "consumerKey", "consumerSecret", "accessToken", "accessTokenSecret" ],
-      "endpointOptions" : [ "keywords" ],
-
-Then the `camel-connector-maven-plugin` will be able to generate Spring Boot auto configuration for these options.
-This allows users to easily configure these options if using Spring Boot with the connector.
-
-NOTE: There's no distinction between component/endpoint options on spring-boot auto configuration side so all the options are flattered to a single namespace thus they appear as connector options and then the connector figures out where they should be applied.
-
-TIP: The options configured through spring-boot auto configuration classes can be overridden by standard endpoint options.
-
-To enable Spring Boot generation you need to enable this in the `camel-connector-maven-plugin` by adding
-an `<execution>` with the `prepare-spring-boot-auto-configuration` goal:
-
-[source,xml]
-------------
-    <!-- generate connector -->
-    <plugin>
-      <groupId>org.apache.camel</groupId>
-      <artifactId>camel-connector-maven-plugin</artifactId>
-      <version>${camel.version}</version>
-      <executions>
-        <execution>
-          <id>boot</id>
-          <goals>
-            <goal>prepare-spring-boot-auto-configuration</goal>
-          </goals>
-        </execution>
-        <execution>
-          <id>connector</id>
-          <goals>
-            <goal>jar</goal>
-          </goals>
-        </execution>
-      </executions>
-    </plugin>
-------------
-
-You will also need to add the `spring-boot-configuration-processor` in the Maven pom.xml file
-
-[source,xml]
-------------
-    <dependency>
-      <groupId>org.springframework.boot</groupId>
-      <artifactId>spring-boot-configuration-processor</artifactId>
-      <version>${spring-boot.version}</version>
-    </dependency>
-------------
-
-An example on how to configure a component in spring boot can be taken from the twitter-find connector:
-
-[source]
-------------
-    camel.connector.twitter-find.consumer-key = ...
-    camel.connector.twitter-find.consumer-secret = ...
-    camel.connector.twitter-find.access-token = ...
-    camel.connector.twitter-find.access-token-secret = ...
-    camel.connector.twitter-find.keywords = apache-camel
-------------
-
-You may need to instantiate multiple instance of the connector i.e. to use different logins and this is now possible through the 'configurations' parameters:
-
-[source]
-------------
-    camel.connector.twitter-find.configurations.tw-find1.consumer-key = ...
-    camel.connector.twitter-find.configurations.tw-find1.consumer-secret = ...
-    camel.connector.twitter-find.configurations.tw-find1.access-token = ...
-    camel.connector.twitter-find.configurations.tw-find1.access-token-secret = ...
-    camel.connector.twitter-find.configurations.tw-find1.keywords = apache-camel
-
-    camel.connector.twitter-find.configurations.tw-find2.consumer-key = ...
-    camel.connector.twitter-find.configurations.tw-find2.consumer-secret = ...
-    camel.connector.twitter-find.configurations.tw-find2.access-token = ...
-    camel.connector.twitter-find.configurations.tw-find2.access-token-secret = ...
-    camel.connector.twitter-find.configurations.tw-find2.keywords = apache-karaf
-------------
-
-This would create two instances of the twitter-find connector each one configured with its own list of options.
-You can now use the new connectors as standard components like:
-
-[source,java]
-------------
-    @Component
-    public class MyRouteBuilder implements RouteBuilder{
-        public void configure() throws Exception {
-            from("tw-find1")
-                .log("On account 1 I got:  ${body}")
-            from("tw-find2")
-                .log("On account 2 I got: ${body}")
-        }
-    }
-------------
-
-
-### Input and Output Data Type
-
-Every connector *must* define which input and output data type are in use.
-
-The following data types are in use:
-
-[width="100%",cols="2m,8",options="header"]
-|=========================================
-| Data Type | Description
-| none | No data
-| any | Supports any kind of data. You can also use `*` instead of `any`
-| java | Java data. An optional sub type can define the fully qualified class name such as `java:com.foo.MyCustomer`.
-| text | Text based data
-| xml | XML based data. An option sub type can define the XML namespace of the XML root element.
-| json | JSon based data. An option sub type can define the fully qualified class name of a Java POJO that maps to this JSon structure.
-|=========================================
-
-For example to accept any incoming data type and output Java as `com.foo.MyCustomer` you would
-configure the `camel-connector.json` file:
-
-    "inputDataType": "any",
-    "outputDataType": "java:com.foo.MyCustomer",
-
-
-### The connectors schema file
-
-A connector has a schema file `camel-connector.json` located in `src/main/resources` directory.
-
-This schema holds the information where you can pre-configure and specify which options a connector should offer.
-
-The options the connector can provide is a limited set of all the existing options that comes from the Camel component
-its based upon. Each option can then also be pre-configured with a default-value.
-
-To understand this schema file, its easier to study those existing connectors from the `connectors` directory.
diff --git a/connectors/camel-connector/src/main/java/org/apache/camel/component/connector/ConnectorComponent.java b/connectors/camel-connector/src/main/java/org/apache/camel/component/connector/ConnectorComponent.java
deleted file mode 100644
index 1fc0ab2..0000000
--- a/connectors/camel-connector/src/main/java/org/apache/camel/component/connector/ConnectorComponent.java
+++ /dev/null
@@ -1,149 +0,0 @@
-/**
- * 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.connector;
-
-import java.net.URISyntaxException;
-import java.util.Map;
-
-import org.apache.camel.Component;
-import org.apache.camel.Processor;
-import org.apache.camel.catalog.CamelCatalog;
-
-/**
- * A component which is based from a Camel Connector.
- */
-public interface ConnectorComponent extends Component {
-    /**
-     * Adds a new option to the connector's options.
-     *
-     * @param name     the name of the option
-     * @param value    the value of the option
-     */
-    void addOption(String name, Object value);
-
-    /**
-     * Adds options to the connector's options.
-     *
-     * @param options  the options
-     */
-    void addOptions(Map<String, Object> options);
-
-    /**
-     * Creates the endpoint uri based on the options from the connector.
-     *
-     * @param scheme  the component name
-     * @param options the options to use for creating the endpoint
-     * @return the endpoint uri
-     * @throws URISyntaxException is thrown if error creating the endpoint uri.
-     */
-    String createEndpointUri(String scheme, Map<String, String> options) throws URISyntaxException;
-
-    /**
-     * Gets the {@link CamelCatalog} which can be used by the connector to help create the component.
-     */
-    CamelCatalog getCamelCatalog();
-
-    /**
-     * Gets the connector name (title)
-     */
-    String getConnectorName();
-
-    /**
-     * Gets the connector component name
-     */
-    String getComponentName();
-
-    /**
-     * Gets the connector component scheme
-     */
-    String getComponentScheme();
-
-    /**
-     * Gets the camel-connector JSon file.
-     */
-    String getCamelConnectorJSon();
-
-    /**
-     * A set of additional component/endpoint options to use for the base component when creating connector endpoints.
-     *
-     * @deprecated use {@link #getOptions()} instead
-     */
-    @Deprecated
-    default Map<String, Object> getComponentOptions() {
-        return getOptions();
-    }
-
-    /**
-     * A set of additional component/endpoint options to use for the base component when creating connector endpoints.
-     */
-    Map<String, Object> getOptions();
-
-    /**
-     * A set of additional component/endpoint options to use for the base component when creating connector endpoints.
-     *
-     * @deprecated use {@link #setOptions(Map)} instead
-     */
-    @Deprecated
-    default void setComponentOptions(Map<String, Object> options) {
-        setOptions(options);
-    }
-
-    /**
-     * A set of additional component/endpoint options to use for the base component when creating connector endpoints.
-     */
-    void setOptions(Map<String, Object> options);
-
-    /**
-     * To perform custom processing before the producer is sending the message.
-     */
-    void setBeforeProducer(Processor processor);
-
-    /**
-     * Gets the processor used to perform custom processing before the producer is sending the message.
-     */
-    Processor getBeforeProducer();
-
-    /**
-     * To perform custom processing after the producer has sent the message and received any reply (if InOut).
-     */
-    void setAfterProducer(Processor processor);
-
-    /**
-     * Gets the processor used to perform custom processing after the producer has sent the message and received any reply (if InOut).
-     */
-    Processor getAfterProducer();
-
-    /**
-     * To perform custom processing when the consumer has just received a new incoming message.
-     */
-    void setBeforeConsumer(Processor processor);
-
-    /**
-     * Gets the processor used to perform custom processing when the consumer has just received a new incoming message.
-     */
-    Processor getBeforeConsumer();
-
-    /**
-     * To perform custom processing when the consumer is about to send back a reply message to the caller (if InOut).
-     */
-    void setAfterConsumer(Processor processor);
-
-    /**
-     * Gets the processor used to perform custom processing when the consumer is about to send back a reply message to the caller (if InOut).
-     */
-    Processor getAfterConsumer();
-}
diff --git a/connectors/camel-connector/src/main/java/org/apache/camel/component/connector/ConnectorCustomizer.java b/connectors/camel-connector/src/main/java/org/apache/camel/component/connector/ConnectorCustomizer.java
deleted file mode 100644
index ddf2057..0000000
--- a/connectors/camel-connector/src/main/java/org/apache/camel/component/connector/ConnectorCustomizer.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
- * 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.connector;
-
-@FunctionalInterface
-public interface ConnectorCustomizer<T extends ConnectorComponent> {
-    /**
-     * Customize the specified {@link ConnectorComponent}.
-     *
-     * @param connector the connector to customize
-     */
-    void customize(T connector);
-}
diff --git a/connectors/camel-connector/src/main/java/org/apache/camel/component/connector/ConnectorModel.java b/connectors/camel-connector/src/main/java/org/apache/camel/component/connector/ConnectorModel.java
deleted file mode 100644
index ac01f55..0000000
--- a/connectors/camel-connector/src/main/java/org/apache/camel/component/connector/ConnectorModel.java
+++ /dev/null
@@ -1,192 +0,0 @@
-/**
- * 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.connector;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URL;
-import java.util.Collections;
-import java.util.Enumeration;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.camel.json.simple.DeserializationException;
-import org.apache.camel.json.simple.JsonObject;
-import org.apache.camel.json.simple.Jsoner;
-import org.apache.camel.util.IOHelper;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-final class ConnectorModel {
-    private static final Logger LOGGER = LoggerFactory.getLogger(ConnectorModel.class);
-
-    private final String componentName;
-    private final String className;
-
-    private String connectorJSon;
-    private String baseScheme;
-    private String baseJavaType;
-    private String scheduler;
-    private String connectorName;
-    private DataType inputDataType;
-    private DataType outputDataType;
-    private Map<String, Object> defaultComponentOptions;
-    private Map<String, Object> defaultEndpointOptions;
-    private List<String> endpointOptions;
-    private List<String> componentOptions;
-    private Map<String, Object> connectorOptions;
-
-    @SuppressWarnings("unchecked")
-    ConnectorModel(String componentName, Class<?> componentClass) {
-        this.componentName = componentName;
-        this.className = componentClass.getName();
-        this.connectorJSon = findCamelConnectorJSonSchema(componentClass);
-
-        // parse the json
-        JsonObject json;
-        try {
-            json = (JsonObject) Jsoner.deserialize(connectorJSon);
-        } catch (DeserializationException e) {
-            throw new RuntimeException("Error parsing camel-connector.json file due " + e.getMessage(), e);
-        }
-
-        this.connectorName = json.getString("name");
-        this.baseScheme = json.getString("baseScheme");
-        this.baseJavaType = json.getString("baseJavaType");
-        this.scheduler = json.getString("scheduler");
-        String type = json.getString("inputDataType");
-        if (type != null) {
-            this.inputDataType = new DataType(type);
-        }
-        type = json.getString("outputDataType");
-        if (type != null) {
-            this.outputDataType = new DataType(type);
-        }
-
-        this.defaultComponentOptions = json.getMap("componentValues");
-        if (this.defaultComponentOptions == null) {
-            this.defaultComponentOptions = Collections.EMPTY_MAP;
-        }
-        this.defaultEndpointOptions = json.getMap("endpointValues");
-        if (this.defaultEndpointOptions == null) {
-            this.defaultEndpointOptions = Collections.EMPTY_MAP;
-        }
-        this.endpointOptions = json.getCollection("endpointOptions");
-        if (this.endpointOptions == null) {
-            this.endpointOptions = Collections.EMPTY_LIST;
-        }
-        this.componentOptions = json.getCollection("componentOptions");
-        if (this.componentOptions == null) {
-            this.componentOptions = Collections.EMPTY_LIST;
-        }
-        this.connectorOptions = json.getMap("connectorProperties");
-        if (this.connectorOptions == null) {
-            this.connectorOptions = Collections.EMPTY_MAP;
-        }
-    }
-
-    public String getComponentName() {
-        return componentName;
-    }
-
-    public String getClassName() {
-        return className;
-    }
-
-    public String getConnectorJSon() {
-        return connectorJSon;
-    }
-
-    public String getBaseScheme() {
-        return baseScheme;
-    }
-
-    public String getBaseJavaType() {
-        return baseJavaType;
-    }
-
-    public String getScheduler() {
-        return scheduler;
-    }
-
-    public String getConnectorName() {
-        return connectorName;
-    }
-
-    public DataType getInputDataType() {
-        return inputDataType;
-    }
-
-    public DataType getOutputDataType() {
-        return outputDataType;
-    }
-
-    public Map<String, Object> getDefaultComponentOptions() {
-        return defaultComponentOptions;
-    }
-
-    public Map<String, Object> getDefaultEndpointOptions() {
-        return defaultEndpointOptions;
-    }
-
-    public List<String> getEndpointOptions() {
-        return endpointOptions;
-    }
-
-    public List<String> getComponentOptions() {
-        return componentOptions;
-    }
-
-    public Map<String, Object> getConnectorOptions() {
-        return connectorOptions;
-    }
-
-    // ***************************************
-    // Helpers
-    // ***************************************
-
-    private String findCamelConnectorJSonSchema(Class<?> componentClass) {
-        LOGGER.debug("Finding camel-connector.json in classpath for connector: {}", componentName);
-
-        Enumeration<URL> urls;
-        try {
-            urls = componentClass.getClassLoader().getResources("camel-connector.json");
-        } catch (IOException e) {
-            throw new IllegalArgumentException("Cannot open camel-connector.json in classpath for connector " + componentName);
-        }
-
-        while (urls.hasMoreElements()) {
-            try (InputStream is = urls.nextElement().openStream()) {
-                String json = IOHelper.loadText(is);
-
-                JsonObject output = (JsonObject) Jsoner.deserialize(json);
-                String javaType = output.getString("javaType");
-
-                LOGGER.debug("Found camel-connector.json in classpath with javaType: {}", javaType);
-
-                if (className.equals(javaType)) {
-                    return json;
-                }
-            } catch (Exception e) {
-                throw new IllegalArgumentException("Cannot read camel-connector.json in classpath for connector " + componentName);
-            }
-        }
-
-        return null;
-    }
-
-}
diff --git a/connectors/camel-connector/src/main/java/org/apache/camel/component/connector/ConnectorProducer.java b/connectors/camel-connector/src/main/java/org/apache/camel/component/connector/ConnectorProducer.java
deleted file mode 100644
index 122c002..0000000
--- a/connectors/camel-connector/src/main/java/org/apache/camel/component/connector/ConnectorProducer.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/**
- * 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.connector;
-
-import org.apache.camel.AsyncCallback;
-import org.apache.camel.AsyncProcessor;
-import org.apache.camel.Endpoint;
-import org.apache.camel.Exchange;
-import org.apache.camel.Processor;
-import org.apache.camel.Producer;
-import org.apache.camel.support.DefaultAsyncProducer;
-import org.apache.camel.processor.Pipeline;
-import org.apache.camel.support.AsyncProcessorConverterHelper;
-import org.apache.camel.support.ServiceHelper;
-
-/**
- * Connector {@link Producer} which is capable of performing before and after custom processing
- * via the {@link Pipeline} while processing (ie sending the message).
- */
-public class ConnectorProducer extends DefaultAsyncProducer {
-
-    private final AsyncProcessor processor;
-
-    public ConnectorProducer(final Endpoint endpoint, final Processor processor) {
-        super(endpoint);
-        this.processor = AsyncProcessorConverterHelper.convert(processor);
-    }
-
-    @Override
-    public boolean process(final Exchange exchange, final AsyncCallback callback) {
-        return processor.process(exchange, callback);
-    }
-
-    @Override
-    protected void doStart() throws Exception {
-        ServiceHelper.startService(processor);
-    }
-
-    @Override
-    protected void doStop() throws Exception {
-        ServiceHelper.stopService(processor);
-    }
-
-    @Override
-    protected void doSuspend() throws Exception {
-        ServiceHelper.suspendService(processor);
-    }
-
-    @Override
-    protected void doResume() throws Exception {
-        ServiceHelper.resumeService(processor);
-    }
-
-    @Override
-    protected void doShutdown() throws Exception {
-        ServiceHelper.stopAndShutdownServices(processor);
-    }
-}
diff --git a/connectors/camel-connector/src/main/java/org/apache/camel/component/connector/DataType.java b/connectors/camel-connector/src/main/java/org/apache/camel/component/connector/DataType.java
deleted file mode 100644
index 7c9650b..0000000
--- a/connectors/camel-connector/src/main/java/org/apache/camel/component/connector/DataType.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/**
- * 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.connector;
-
-/**
- * Data types supported by Camel connectors.
- * <p/>
- * A connector is more strict that a regular Camel component and as such the connector
- * is limited to supporting one data type as input and output.
- */
-public final class DataType {
-
-    /**
-     * The supported data types.
-     */
-    public enum Type {
-        none, any, java, text, xml, json;
-    }
-
-    private final Type type;
-    private final String subType;
-
-    DataType(String text) {
-        String[] parts = text.split(":");
-
-        String name = parts[0].toLowerCase();
-        // allow * as shorthand for any kind
-        if ("*".equals(name)) {
-            name = "any";
-        }
-
-        type = Type.valueOf(name);
-        if (parts.length == 2) {
-            subType = parts[1];
-        } else {
-            subType = null;
-        }
-    }
-
-    DataType(Type type, String subType) {
-        this.type = type;
-        this.subType = subType;
-    }
-
-    /**
-     * The type one of <tt>none</tt>, <tt>any</tt> (you can also use <tt>*</tt> as any), <tt>java</tt>, <tt>text</tt>, <tt>xml</tt>, or <tt>json</tt>.
-     */
-    public Type getType() {
-        return type;
-    }
-
-    /**
-     * Optional sub type to qualify the data type such as a java fully qualified class name, or a xml namespace etc
-     */
-    public String getSubType() {
-        return subType;
-    }
-
-    @Override
-    public String toString() {
-        if (subType != null) {
-            return type.name() + ":" + subType;
-        } else {
-            return type.name();
-        }
-    }
-}
diff --git a/connectors/camel-connector/src/main/java/org/apache/camel/component/connector/DefaultConnectorComponent.java b/connectors/camel-connector/src/main/java/org/apache/camel/component/connector/DefaultConnectorComponent.java
deleted file mode 100644
index 21ba72f..0000000
--- a/connectors/camel-connector/src/main/java/org/apache/camel/component/connector/DefaultConnectorComponent.java
+++ /dev/null
@@ -1,534 +0,0 @@
-/**
- * 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.connector;
-
-import java.lang.reflect.Constructor;
-import java.lang.reflect.Modifier;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Optional;
-
-import org.apache.camel.CamelContext;
-import org.apache.camel.Component;
-import org.apache.camel.Endpoint;
-import org.apache.camel.NoTypeConversionAvailableException;
-import org.apache.camel.Processor;
-import org.apache.camel.catalog.CamelCatalog;
-import org.apache.camel.catalog.DefaultCamelCatalog;
-import org.apache.camel.component.extension.ComponentVerifierExtension;
-import org.apache.camel.component.extension.verifier.ResultBuilder;
-import org.apache.camel.component.extension.verifier.ResultErrorBuilder;
-import org.apache.camel.support.DefaultComponent;
-import org.apache.camel.support.IntrospectionSupport;
-import org.apache.camel.util.ObjectHelper;
-import org.apache.camel.util.URISupport;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import static org.apache.camel.util.URISupport.sanitizeUri;
-
-/**
- * Base class for Camel Connector components.
- */
-public abstract class DefaultConnectorComponent extends DefaultComponent implements ConnectorComponent {
-    private final Logger log = LoggerFactory.getLogger(getClass());
-    private final CamelCatalog catalog = new DefaultCamelCatalog(false);
-
-    private final String baseScheme;
-    private final String componentScheme;
-    private final String componentName;
-    private final ConnectorModel model;
-    private final Map<String, Object> options;
-    private Processor beforeProducer;
-    private Processor afterProducer;
-    private Processor beforeConsumer;
-    private Processor afterConsumer;
-
-    protected DefaultConnectorComponent(String componentName, String className) {
-        this(componentName, null, loadConnectorClass(className));
-    }
-
-    protected DefaultConnectorComponent(String componentName, String componentScheme, String className) {
-        this(componentName, componentScheme, loadConnectorClass(className));
-    }
-
-    protected DefaultConnectorComponent(String componentName, Class<?> componentClass) {
-        this(componentName, null, componentClass);
-    }
-
-    protected DefaultConnectorComponent(String componentName, String componentScheme, Class<?> componentClass) {
-        this.model = new ConnectorModel(componentName, componentClass);
-        this.baseScheme = this.model.getBaseScheme();
-        this.componentName = componentName;
-        this.componentScheme = componentScheme != null ? baseScheme + "-" + componentScheme : baseScheme + "-" + componentName + "-component";
-        this.options = new HashMap<>();
-
-        // add to catalog
-        this.catalog.addComponent(componentName, componentClass.getName());
-
-        // It may be a custom component so we need to register this in the camel catalog also
-        if (!catalog.findComponentNames().contains(baseScheme)) {
-            catalog.addComponent(baseScheme,  model.getBaseJavaType());
-        }
-
-        // Add an alias for the base component so there's no clash between connectors
-        // if they set options targeting the component.
-        if (!catalog.findComponentNames().contains(this.componentScheme)) {
-            this.catalog.addComponent(this.componentScheme, this.model.getBaseJavaType(), catalog.componentJSonSchema(baseScheme));
-        }
-
-        registerExtension(this::getComponentVerifierExtension);
-    }
-
-    private static Class<?> loadConnectorClass(String className) {
-        try {
-            ClassLoader classLoader = DefaultConnectorComponent.class.getClassLoader();
-            return classLoader.loadClass(className);
-        } catch (ClassNotFoundException ex) {
-            throw new RuntimeException(ex);
-        }
-    }
-
-    protected <T> void doAddOption(Map<String, T> options, String name, T value) {
-        log.trace("Adding option: {}={}", name, value);
-        T val = options.put(name, value);
-        if (val != null) {
-            log.debug("Options {} overridden, old value was {}", name, val);
-        }
-    }
-
-    @Override
-    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
-        // if we extracted any scheduler query parameters we would need to rebuild the uri without them
-        int before = parameters.size();
-        Map<String, Object> schedulerOptions = extractSchedulerOptions(parameters);
-        int after = parameters.size();
-        if (schedulerOptions != null && before != after) {
-            URI u = new URI(uri);
-            u = URISupport.createRemainingURI(u, parameters);
-            uri = u.toString();
-        }
-        // grab the regular query parameters
-        Map<String, String> options = buildEndpointOptions(remaining, parameters);
-
-        // create the uri of the base component
-        String delegateUri = createEndpointUri(componentScheme, options);
-        Endpoint delegate = getCamelContext().getEndpoint(delegateUri);
-
-        if (log.isInfoEnabled()) {
-            // the uris can have sensitive information so sanitize
-            log.info("Connector resolved: {} -> {}", sanitizeUri(uri), sanitizeUri(delegateUri));
-        }
-
-        DefaultConnectorEndpoint answer;
-        // are we scheduler based?
-        if ("timer".equals(model.getScheduler())) {
-            SchedulerTimerConnectorEndpoint endpoint = new SchedulerTimerConnectorEndpoint(uri, this, delegate, model.getInputDataType(), model.getOutputDataType());
-            setProperties(endpoint, schedulerOptions);
-            answer = endpoint;
-        } else {
-            answer = new DefaultConnectorEndpoint(uri, this, delegate, model.getInputDataType(), model.getOutputDataType());
-        }
-
-        answer.setBeforeProducer(getBeforeProducer());
-        answer.setAfterProducer(getAfterProducer());
-        answer.setBeforeConsumer(getBeforeConsumer());
-        answer.setAfterConsumer(getAfterConsumer());
-
-        // clean-up parameters so that validation won't fail later on
-        // in DefaultConnectorComponent.validateParameters()
-        parameters.clear();
-
-        return answer;
-    }
-
-    @Override
-    public String createEndpointUri(String scheme, Map<String, String> options) throws URISyntaxException {
-        log.trace("Creating endpoint uri with scheme: {}", scheme);
-        return catalog.asEndpointUri(scheme, options, false);
-    }
-
-    @Override
-    public CamelCatalog getCamelCatalog() {
-        return catalog;
-    }
-
-    @Override
-    public String getCamelConnectorJSon() {
-        return model.getConnectorJSon();
-    }
-
-    @Override
-    public String getConnectorName() {
-        return model.getConnectorName();
-    }
-
-    @Override
-    public String getComponentName() {
-        return componentName;
-    }
-
-    @Override
-    public String getComponentScheme() {
-        return componentScheme;
-    }
-
-    @Override
-    public Map<String, Object> getOptions() {
-        return options;
-    }
-
-    @Override
-    public void setOptions(Map<String, Object> options) {
-        this.options.clear();
-        this.options.putAll(options);
-    }
-
-    @Override
-    public void addOption(String name, Object value) {
-        doAddOption(this.options, name, value);
-    }
-
-    @Override
-    public void addOptions(Map<String, Object> options) {
-        options.forEach((name, value)->  doAddOption(this.options, name, value));
-    }
-
-    private ComponentVerifierExtension getComponentVerifierExtension() {
-        try {
-            // Create the component but no need to add it to the camel context
-            // nor to start it.
-            final Component component = createNewBaseComponent();
-            final Optional<ComponentVerifierExtension> extension = component.getExtension(ComponentVerifierExtension.class);
-
-            if (extension.isPresent()) {
-                return (ComponentVerifierExtension.Scope scope, Map<String, Object> map) -> {
-                    Map<String, Object> options;
-
-                    try {
-                        // A little nasty hack required as verifier uses Map<String, Object>
-                        // to be compatible with all the methods in CamelContext whereas
-                        // catalog deals with Map<String, String>
-                        options = (Map) buildEndpointOptions(null, map);
-                    } catch (URISyntaxException | NoTypeConversionAvailableException e) {
-                        // If a failure is detected while reading the catalog, wrap it
-                        // and stop the validation step.
-                        return ResultBuilder.withStatusAndScope(ComponentVerifierExtension.Result.Status.OK, scope)
-                            .error(ResultErrorBuilder.withException(e).build())
-                            .build();
-                    }
-
-                    return extension.get().verify(scope, options);
-                };
-            } else {
-                return (scope, map) -> {
-                    return ResultBuilder.withStatusAndScope(ComponentVerifierExtension.Result.Status.UNSUPPORTED, scope)
-                        .error(
-                            ResultErrorBuilder.withCode(ComponentVerifierExtension.VerificationError.StandardCode.UNSUPPORTED)
-                                .detail("camel_connector_name", getConnectorName())
-                                .detail("camel_component_name", getComponentName())
-                                .build())
-                        .build();
-                };
-            }
-        } catch (Exception e) {
-            return (scope, map) -> {
-                return ResultBuilder.withStatusAndScope(ComponentVerifierExtension.Result.Status.OK, scope)
-                    .error(ResultErrorBuilder.withException(e).build())
-                    .build();
-            };
-        }
-    }
-
-    // --------------------------------------------------------------
-
-    @Override
-    protected void doStart() throws Exception {
-        // lets enforce that every connector must have an input and output data type
-        if (model.getInputDataType() == null) {
-            throw new IllegalArgumentException("Camel connector must have inputDataType defined in camel-connector.json file");
-        }
-        if (model.getOutputDataType() == null) {
-            throw new IllegalArgumentException("Camel connector must have outputDataType defined in camel-connector.json file");
-        }
-        if (model.getBaseScheme() == null) {
-            throw new IllegalArgumentException("Camel connector must have baseSchema defined in camel-connector.json file");
-        }
-        if (model.getBaseJavaType() == null) {
-            throw new IllegalArgumentException("Camel connector must have baseJavaType defined in camel-connector.json file");
-        }
-
-        Component component = createNewBaseComponent();
-        if (component != null) {
-            log.info("Register component: {} (type: {}) with scheme: {}",
-                this.componentName,
-                component.getClass().getName(),
-                this.componentScheme
-            );
-
-            //String delegateComponentScheme =
-            getCamelContext().removeComponent(this.componentScheme);
-
-            // ensure component is started and stopped when Camel shutdown
-            getCamelContext().addService(component, true, true);
-            getCamelContext().addComponent(this.componentScheme, component);
-        }
-
-        log.debug("Starting connector: {}", componentName);
-        super.doStart();
-    }
-
-    @Override
-    protected void doStop() throws Exception {
-        log.debug("Stopping connector: {}", componentName);
-        super.doStop();
-    }
-
-    @Override
-    public Processor getBeforeProducer() {
-        return beforeProducer;
-    }
-
-    @Override
-    public void setBeforeProducer(Processor beforeProducer) {
-        this.beforeProducer = beforeProducer;
-    }
-
-    @Override
-    public Processor getAfterProducer() {
-        return afterProducer;
-    }
-
-    @Override
-    public void setAfterProducer(Processor afterProducer) {
-        this.afterProducer = afterProducer;
-    }
-
-    @Override
-    public Processor getBeforeConsumer() {
-        return beforeConsumer;
-    }
-
-    @Override
-    public void setBeforeConsumer(Processor beforeConsumer) {
-        this.beforeConsumer = beforeConsumer;
-    }
-
-    @Override
-    public Processor getAfterConsumer() {
-        return afterConsumer;
-    }
-
-    @Override
-    public void setAfterConsumer(Processor afterConsumer) {
-        this.afterConsumer = afterConsumer;
-    }
-
-    // ***************************************
-    // Helpers
-    // ***************************************
-
-    /**
-     * Create the endpoint instance which either happens with a new base component
-     * which has been pre-configured for this connector or we fallback and use
-     * the default component in the camel context
-     */
-    private Component createNewBaseComponent() throws Exception {
-        final String baseClassName = model.getBaseJavaType();
-        final CamelContext context = getCamelContext();
-
-        Component base = null;
-
-        if (baseClassName != null) {
-            // create a new instance of this base component
-            Class<?> type = Class.forName(baseClassName);
-            Constructor ctr = getPublicDefaultConstructor(type);
-            if (ctr != null) {
-                // call default no-arg constructor
-                base = (Component)ctr.newInstance();
-                base.setCamelContext(context);
-
-                // the connector may have default values for the component level also
-                // and if so we need to prepare these values and set on this component
-                // before we can start
-                Map<String, Object> defaultOptions = model.getDefaultComponentOptions();
-
-                if (!defaultOptions.isEmpty()) {
-                    for (Map.Entry<String, Object> entry : defaultOptions.entrySet()) {
-                        String key = entry.getKey();
-                        Object value = entry.getValue();
-                        if (value != null) {
-                            // also support {{ }} placeholders so resolve those first
-                            value = getCamelContext().resolvePropertyPlaceholders(value.toString());
-
-                            log.debug("Using component option: {}={}", key, value);
-                            IntrospectionSupport.setProperty(context, base, key, value);
-                        }
-                    }
-                }
-
-                // configure component with extra options
-                if (options != null && !options.isEmpty()) {
-                    // Get the list of options from the connector catalog that
-                    // are configured to target the endpoint
-                    List<String> endpointOptions = model.getEndpointOptions();
-                    Map<String, Object> connectorOptions = model.getConnectorOptions();
-
-                    for (Map.Entry<String, Object> entry : options.entrySet()) {
-                        // Only set options that are targeting the component
-                        if (!endpointOptions.contains(entry.getKey()) && !connectorOptions.containsKey(entry.getKey())) {
-                            log.debug("Using component option: {}={}", entry.getKey(), entry.getValue());
-                            IntrospectionSupport.setProperty(context, base, entry.getKey(), entry.getValue());
-                        }
-                    }
-                }
-            }
-        }
-
-        return base;
-    }
-
-    /**
-     * Extracts the scheduler options from the parameters.
-     * <p/>
-     * These options start with <tt>scheduler</tt> in their key name, such as <tt>schedulerPeriod</tt>
-     * which is removed from parameters, and transformed into keys without the <tt>scheduler</tt> prefix.
-     *
-     * @return the scheduler options, or <tt>null</tt> if scheduler not enabled
-     */
-    private Map<String, Object> extractSchedulerOptions(Map<String, Object> parameters) {
-        if (model.getScheduler() != null) {
-            // include default options first
-            Map<String, Object> answer = new LinkedHashMap<>();
-            model.getDefaultEndpointOptions().forEach((key, value) -> {
-                String schedulerKey = asSchedulerKey(key);
-                if (schedulerKey != null) {
-                    answer.put(schedulerKey, value);
-                }
-            });
-
-            // and then override with from parameters
-            for (Iterator<Map.Entry<String, Object>> it = parameters.entrySet().iterator(); it.hasNext();) {
-                Map.Entry<String, Object> entry = it.next();
-                String schedulerKey = asSchedulerKey(entry.getKey());
-                if (schedulerKey != null) {
-                    Object value = entry.getValue();
-                    answer.put(schedulerKey, value);
-                    // and remove as it should not be part of regular parameters
-                    it.remove();
-                }
-            }
-            return answer;
-        }
-
-        return null;
-    }
-
-    private static String asSchedulerKey(String key) {
-        if (key.startsWith("scheduler")) {
-            String name = key.substring(9);
-            // and lower case first char
-            name = Character.toLowerCase(name.charAt(0)) + name.substring(1);
-            return name;
-        } else {
-            return null;
-        }
-    }
-
-    private Map<String, String> buildEndpointOptions(String remaining, Map<String, Object> parameters) throws URISyntaxException, NoTypeConversionAvailableException {
-        Map<String, Object> defaultOptions = model.getDefaultEndpointOptions();
-
-        // gather all options to use when building the delegate uri
-        Map<String, String> options = new LinkedHashMap<>();
-
-        // default options from connector json
-        if (!defaultOptions.isEmpty()) {
-            defaultOptions.forEach((key, value) -> {
-                if (isValidConnectionOption(key, value)) {
-                    String text = value.toString();
-                    doAddOption(options, key, text);
-                }
-            });
-        }
-
-        // Extract options from options that are supposed to be set at the endpoint
-        // level, those options can be overridden and extended using by the query
-        // parameters.
-        List<String> endpointOptions = model.getEndpointOptions();
-        if (ObjectHelper.isNotEmpty(endpointOptions) && ObjectHelper.isNotEmpty(this.options)) {
-            for (String endpointOption : endpointOptions) {
-                Object value = this.options.get(endpointOption);
-                if (value != null) {
-                    doAddOption(
-                        options,
-                        endpointOption,
-                        getCamelContext().getTypeConverter().mandatoryConvertTo(String.class, value));
-                }
-            }
-        }
-
-        // options from query parameters
-        for (Map.Entry<String, Object> entry : parameters.entrySet()) {
-            String key = entry.getKey();
-            String value = null;
-            if (entry.getValue() != null) {
-                value = entry.getValue().toString();
-            }
-            if (isValidConnectionOption(key, value)) {
-                doAddOption(options, key, value);
-            }
-        }
-
-        // add extra options from remaining (context-path)
-        if (remaining != null) {
-            String targetUri = componentScheme + ":" + remaining;
-            Map<String, String> extra = catalog.endpointProperties(targetUri);
-            if (extra != null && !extra.isEmpty()) {
-                extra.forEach((key, value) -> {
-                    if (isValidConnectionOption(key, value)) {
-                        doAddOption(options, key, value);
-                    }
-                });
-            }
-        }
-
-        return options;
-    }
-
-    private boolean isValidConnectionOption(String key, Object value) {
-        // skip specific option if its a scheduler
-        if (model.getScheduler() != null && asSchedulerKey(key) != null) {
-            return false;
-        }
-        return true;
-    }
-
-    private static Constructor getPublicDefaultConstructor(Class<?> clazz) {
-        for (Constructor ctr : clazz.getConstructors()) {
-            if (Modifier.isPublic(ctr.getModifiers()) && ctr.getParameterCount() == 0) {
-                return ctr;
-            }
-        }
-        return null;
-    }
-}
-
diff --git a/connectors/camel-connector/src/main/java/org/apache/camel/component/connector/DefaultConnectorEndpoint.java b/connectors/camel-connector/src/main/java/org/apache/camel/component/connector/DefaultConnectorEndpoint.java
deleted file mode 100644
index d44fc0a..0000000
--- a/connectors/camel-connector/src/main/java/org/apache/camel/component/connector/DefaultConnectorEndpoint.java
+++ /dev/null
@@ -1,174 +0,0 @@
-/**
- * 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.connector;
-
-import org.apache.camel.Consumer;
-import org.apache.camel.DelegateEndpoint;
-import org.apache.camel.Endpoint;
-import org.apache.camel.Processor;
-import org.apache.camel.Producer;
-import org.apache.camel.api.management.ManagedAttribute;
-import org.apache.camel.api.management.ManagedResource;
-import org.apache.camel.support.DefaultEndpoint;
-import org.apache.camel.processor.Pipeline;
-import org.apache.camel.support.ServiceHelper;
-
-@ManagedResource(description = "Managed Connector Endpoint")
-public class DefaultConnectorEndpoint extends DefaultEndpoint implements DelegateEndpoint {
-
-    private final Endpoint endpoint;
-    private final DataType inputDataType;
-    private final DataType outputDataType;
-    private Processor beforeProducer;
-    private Processor afterProducer;
-    private Processor beforeConsumer;
-    private Processor afterConsumer;
-
-    public DefaultConnectorEndpoint(String endpointUri, ConnectorComponent component, Endpoint endpoint,
-                                    DataType inputDataType, DataType outputDataType) {
-        super(endpointUri, component);
-        this.endpoint = endpoint;
-        this.inputDataType = inputDataType;
-        this.outputDataType = outputDataType;
-    }
-
-    @Override
-    public Producer createProducer() throws Exception {
-        final Producer producer = endpoint.createProducer();
-
-        final Processor beforeProducer = getBeforeProducer();
-        final Processor afterProducer = getAfterProducer();
-
-        // use a pipeline to process before, producer, after in that order
-        // create producer with the pipeline
-        final Processor pipeline = Pipeline.newInstance(getCamelContext(), beforeProducer, producer, afterProducer);
-
-        return new ConnectorProducer(endpoint, pipeline);
-    }
-
-    @Override
-    public Consumer createConsumer(final Processor processor) throws Exception {
-        final Processor beforeConsumer = getBeforeConsumer();
-        final Processor afterConsumer = getAfterConsumer();
-
-        // use a pipeline to process before, processor, after in that order
-        // create consumer with the pipeline
-        final Processor pipeline = Pipeline.newInstance(getCamelContext(), beforeConsumer, processor, afterConsumer);
-        final Consumer consumer = endpoint.createConsumer(pipeline);
-        configureConsumer(consumer);
-
-        return consumer;
-    }
-
-    @Override
-    public ConnectorComponent getComponent() {
-        return (ConnectorComponent) super.getComponent();
-    }
-
-    @Override
-    public boolean isSingleton() {
-        return true;
-    }
-
-    @Override
-    public Endpoint getEndpoint() {
-        return endpoint;
-    }
-
-    @ManagedAttribute(description = "Delegate Endpoint URI", mask = true)
-    public String getDelegateEndpointUri() {
-        return endpoint.getEndpointUri();
-    }
-
-    @ManagedAttribute(description = "Input data type")
-    public DataType getInputDataType() {
-        return inputDataType;
-    }
-
-    @ManagedAttribute(description = "Output data type")
-    public DataType getOutputDataType() {
-        return outputDataType;
-    }
-
-    /**
-     * Gets the processor used to perform custom processing before the producer is sending the message.
-     */
-    public Processor getBeforeProducer() {
-        return beforeProducer;
-    }
-
-    /**
-     * To perform custom processing before the producer is sending the message.
-     */
-    public void setBeforeProducer(Processor beforeProducer) {
-        this.beforeProducer = beforeProducer;
-    }
-
-    /**
-     * Gets the processor used to perform custom processing after the producer has sent the message and received any reply (if InOut).
-     */
-    public Processor getAfterProducer() {
-        return afterProducer;
-    }
-
-    /**
-     * To perform custom processing after the producer has sent the message and received any reply (if InOut).
-     */
-    public void setAfterProducer(Processor afterProducer) {
-        this.afterProducer = afterProducer;
-    }
-
-    /**
-     * Gets the processor used to perform custom processing when the consumer has just received a new incoming message.
-     */
-    public Processor getBeforeConsumer() {
-        return beforeConsumer;
-    }
-
-    /**
-     * To perform custom processing when the consumer has just received a new incoming message.
-     */
-    public void setBeforeConsumer(Processor beforeConsumer) {
-        this.beforeConsumer = beforeConsumer;
-    }
-
-    /**
-     * Gets the processor used to perform custom processing when the consumer is about to send back a reply message to the caller (if InOut).
-     */
-    public Processor getAfterConsumer() {
-        return afterConsumer;
-    }
-
-    /**
-     * To perform custom processing when the consumer is about to send back a reply message to the caller (if InOut).
-     */
-    public void setAfterConsumer(Processor afterConsumer) {
-        this.afterConsumer = afterConsumer;
-    }
-
-    @Override
-    protected void doStart() throws Exception {
-        super.doStart();
-        ServiceHelper.startService(endpoint);
-    }
-
-    @Override
-    protected void doStop() throws Exception {
-        ServiceHelper.stopService(endpoint);
-        super.doStop();
-    }
-}
diff --git a/connectors/camel-connector/src/main/java/org/apache/camel/component/connector/SchedulerTimerConnectorEndpoint.java b/connectors/camel-connector/src/main/java/org/apache/camel/component/connector/SchedulerTimerConnectorEndpoint.java
deleted file mode 100644
index 203d6be..0000000
--- a/connectors/camel-connector/src/main/java/org/apache/camel/component/connector/SchedulerTimerConnectorEndpoint.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/**
- * 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.connector;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.camel.Consumer;
-import org.apache.camel.Endpoint;
-import org.apache.camel.Processor;
-import org.apache.camel.api.management.ManagedAttribute;
-import org.apache.camel.api.management.ManagedResource;
-import org.apache.camel.processor.Pipeline;
-
-/**
- * A connector which is scheduler based from a timer endpoint. This allows to use a connector from a Camel route that
- * is scheduled. For example a foo connector would otherwise have to be manually scheduled, eg
- * <pre>
- *     from("timer:something?period=2000")
- *       .to("foo:hello")
- *       .log("Foo says ${body}");
- * </pre>
- * .. can now be done without the manual timer
- * <pre>
- *     from("foo:hello?schedulePeriod=2000")
- *       .log("Foo says ${body}");
- * </pre>
- * <p/>
- * This requires the connector to have configured: <tt>"scheduler": "timer"</tt> such as shown in the petstore-connector.
- */
-@ManagedResource(description = "Managed Scheduled TimerConnector Endpoint")
-public class SchedulerTimerConnectorEndpoint extends DefaultConnectorEndpoint {
-
-    private long period = 1000;
-
-    public SchedulerTimerConnectorEndpoint(String endpointUri, ConnectorComponent component, Endpoint endpoint, DataType inputDataType, DataType outputDataType) {
-        super(endpointUri, component, endpoint, inputDataType, outputDataType);
-    }
-
-    @Override
-    public Consumer createConsumer(Processor processor) throws Exception {
-        // special as we are scheduler based and then need to create a timer consumer that then calls the producer
-        List<Processor> children = new ArrayList<>(2);
-        children.add(createProducer());
-        children.add(processor);
-        Processor pipeline = Pipeline.newInstance(getCamelContext(), children);
-
-        // create a timer consumer which wraps calling the producer and then the intended processor
-        String name = getComponent().getComponentScheme();
-        String uri = "timer:" + name + "?period=" + period;
-
-        Consumer consumer = getCamelContext().getEndpoint(uri).createConsumer(pipeline);
-        configureConsumer(consumer);
-        return consumer;
-    }
-
-    @ManagedAttribute(description = "Delay in milli seconds between scheduling (executing)")
-    public long getPeriod() {
-        return period;
-    }
-
-    public void setPeriod(long period) {
-        this.period = period;
-    }
-}
diff --git a/connectors/camel-connector/src/main/resources/META-INF/LICENSE.txt b/connectors/camel-connector/src/main/resources/META-INF/LICENSE.txt
deleted file mode 100644
index 6b0b127..0000000
--- a/connectors/camel-connector/src/main/resources/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,203 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.
-
diff --git a/connectors/camel-connector/src/main/resources/META-INF/NOTICE.txt b/connectors/camel-connector/src/main/resources/META-INF/NOTICE.txt
deleted file mode 100644
index 2e215bf..0000000
--- a/connectors/camel-connector/src/main/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-   =========================================================================
-   ==  NOTICE file corresponding to the section 4 d of                    ==
-   ==  the Apache License, Version 2.0,                                   ==
-   ==  in this case for the Apache Camel distribution.                    ==
-   =========================================================================
-
-   This product includes software developed by
-   The Apache Software Foundation (http://www.apache.org/).
-
-   Please read the different LICENSE files present in the licenses directory of
-   this distribution.
diff --git a/connectors/examples/bar-connector/Readme.md b/connectors/examples/bar-connector/Readme.md
deleted file mode 100644
index 5dae132..0000000
--- a/connectors/examples/bar-connector/Readme.md
+++ /dev/null
@@ -1,6 +0,0 @@
-## Bar Connector
-
-A Camel connector that is based on the `beverage-component`.
-
-This connector is a very basic connector with only a few options.
-
diff --git a/connectors/examples/bar-connector/pom.xml b/connectors/examples/bar-connector/pom.xml
deleted file mode 100644
index 8571dc1..0000000
--- a/connectors/examples/bar-connector/pom.xml
+++ /dev/null
@@ -1,187 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    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.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-
-  <modelVersion>4.0.0</modelVersion>
-
-  <parent>
-    <groupId>org.apache.camel</groupId>
-    <artifactId>connectors-examples</artifactId>
-    <version>2.22.0-SNAPSHOT</version>
-    <relativePath>..</relativePath>
-  </parent>
-
-  <groupId>org.foo</groupId>
-  <artifactId>bar-connector</artifactId>
-  <name>Camel :: Connectors :: Examples :: Bar Connector</name>
-  <description>Bar Connector</description>
-  <packaging>jar</packaging>
-
-  <dependencyManagement>
-    <dependencies>
-      <!-- Camel BOM -->
-      <dependency>
-        <groupId>org.apache.camel</groupId>
-        <artifactId>camel-parent</artifactId>
-        <version>${project.version}</version>
-        <scope>import</scope>
-        <type>pom</type>
-      </dependency>
-    </dependencies>
-  </dependencyManagement>
-
-  <dependencies>
-
-    <!-- base component to use for this connector -->
-    <dependency>
-      <groupId>org.foo</groupId>
-      <artifactId>beverage-component</artifactId>
-      <version>${project.version}</version>
-    </dependency>
-
-    <!-- camel-connector -->
-    <dependency>
-      <groupId>org.apache.camel</groupId>
-      <artifactId>camel-connector</artifactId>
-      <version>${project.version}</version>
-    </dependency>
-
-    <!-- camel and spring boot compiler plugins -->
-    <dependency>
-      <groupId>org.apache.camel</groupId>
-      <artifactId>apt</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.springframework.boot</groupId>
-      <artifactId>spring-boot-configuration-processor</artifactId>
-      <version>${spring-boot-version}</version>
-    </dependency>
-
-    <!-- logging -->
-    <dependency>
-      <groupId>org.apache.logging.log4j</groupId>
-      <artifactId>log4j-api</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.logging.log4j</groupId>
-      <artifactId>log4j-core</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.logging.log4j</groupId>
-      <artifactId>log4j-slf4j-impl</artifactId>
-      <scope>test</scope>
-    </dependency>
-
-    <!-- testing -->
-    <dependency>
-      <groupId>org.apache.camel</groupId>
-      <artifactId>camel-test</artifactId>
-      <scope>test</scope>
-    </dependency>
-  </dependencies>
-
-  <build>
-    <defaultGoal>install</defaultGoal>
-
-    <plugins>
-
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-compiler-plugin</artifactId>
-        <version>${maven-compiler-plugin-version}</version>
-        <configuration>
-          <source>1.8</source>
-          <target>1.8</target>
-        </configuration>
-      </plugin>
-
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-resources-plugin</artifactId>
-        <version>${maven-resources-plugin-version}</version>
-        <configuration>
-          <encoding>UTF-8</encoding>
-        </configuration>
-      </plugin>
-
-      <!-- generate components meta-data and validate component includes documentation etc -->
-      <plugin>
-        <groupId>org.apache.camel</groupId>
-        <artifactId>camel-package-maven-plugin</artifactId>
-        <version>${project.version}</version>
-        <executions>
-          <execution>
-            <id>prepare</id>
-            <goals>
-              <goal>prepare-components</goal>
-            </goals>
-            <phase>generate-resources</phase>
-          </execution>
-          <execution>
-            <id>validate</id>
-            <goals>
-              <goal>validate-components</goal>
-            </goals>
-            <phase>prepare-package</phase>
-          </execution>
-        </executions>
-      </plugin>
-
-      <!-- turn off jar plugin as we use connector plugin to jar instead -->
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-jar-plugin</artifactId>
-        <version>${maven-jar-plugin-version}</version>
-        <executions>
-          <execution>
-            <id>default-jar</id>
-            <phase/>
-          </execution>
-        </executions>
-      </plugin>
-
-      <!-- connector plugin will build the jar -->
-      <plugin>
-        <groupId>org.apache.camel</groupId>
-        <artifactId>camel-connector-maven-plugin</artifactId>
-        <version>${project.version}</version>
-        <executions>
-          <execution>
-            <id>boot</id>
-            <goals>
-              <goal>prepare-spring-boot-auto-configuration</goal>
-            </goals>
-          </execution>
-          <execution>
-            <id>connector</id>
-            <goals>
-              <goal>jar</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-
-    </plugins>
-  </build>
-
-</project>
diff --git a/connectors/examples/bar-connector/src/main/java/org/foo/connector/BarComponent.java b/connectors/examples/bar-connector/src/main/java/org/foo/connector/BarComponent.java
deleted file mode 100644
index c34c298..0000000
--- a/connectors/examples/bar-connector/src/main/java/org/foo/connector/BarComponent.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/**
- * 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.foo.connector;
-
-import org.apache.camel.component.connector.DefaultConnectorComponent;
-
-public class BarComponent extends DefaultConnectorComponent {
-
-    public BarComponent() {
-        super("bar", "org.foo.connector.BarComponent");
-    }
-
-    public BarComponent(String componentScheme) {
-        super("bar", componentScheme, "org.foo.connector.BarComponent");
-    }
-
-}
\ No newline at end of file
diff --git a/connectors/examples/bar-connector/src/main/resources/META-INF/services/org/apache/camel/component/bar b/connectors/examples/bar-connector/src/main/resources/META-INF/services/org/apache/camel/component/bar
deleted file mode 100644
index 60143ae..0000000
--- a/connectors/examples/bar-connector/src/main/resources/META-INF/services/org/apache/camel/component/bar
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.foo.connector.BarComponent
\ No newline at end of file
diff --git a/connectors/examples/bar-connector/src/main/resources/camel-connector-schema.json b/connectors/examples/bar-connector/src/main/resources/camel-connector-schema.json
deleted file mode 100644
index 420cf26..0000000
--- a/connectors/examples/bar-connector/src/main/resources/camel-connector-schema.json
+++ /dev/null
@@ -1,67 +0,0 @@
-{
-  "component":{
-    "kind":"component",
-    "baseScheme":"beverage",
-    "scheme":"bar",
-    "syntax":"bar:drink",
-    "title":"Bar",
-    "description":"To order drinks from the bar",
-    "label":"bar",
-    "deprecated":false,
-    "async":false,
-    "producerOnly":true,
-    "lenientProperties":false,
-    "javaType":"org.foo.connector.BarComponent",
-    "groupId":"org.foo",
-    "artifactId":"bar-connector",
-    "version":"2.22.0-SNAPSHOT"
-  },
-  "componentProperties":{
-    
-  },
-  "properties":{
-    "drink":{
-      "kind":"path",
-      "displayName":"Drink",
-      "group":"producer",
-      "required":true,
-      "type":"object",
-      "javaType":"org.beverage.Beverages",
-      "enum":[
-        "Wine",
-        "GinTonic",
-        "Beer"
-      ],
-      "deprecated":false,
-      "secret":false,
-      "description":"What drink to order"
-    },
-    "amount":{
-      "kind":"parameter",
-      "displayName":"Amount",
-      "group":"producer",
-      "required":false,
-      "type":"integer",
-      "javaType":"int",
-      "deprecated":false,
-      "secret":false,
-      "defaultValue":2,
-      "description":"Number of drinks in the order"
-    },
-    "celebrity":{
-      "kind":"parameter",
-      "displayName":"Celebrity",
-      "group":"producer",
-      "required":false,
-      "type":"boolean",
-      "javaType":"boolean",
-      "deprecated":false,
-      "secret":false,
-      "defaultValue":false,
-      "description":"Is this a famous person ordering"
-    }
-  },
-  "connectorProperties":{
-    
-  }
-}
\ No newline at end of file
diff --git a/connectors/examples/bar-connector/src/main/resources/camel-connector.json b/connectors/examples/bar-connector/src/main/resources/camel-connector.json
deleted file mode 100644
index 1a5e4c5..0000000
--- a/connectors/examples/bar-connector/src/main/resources/camel-connector.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
-  "baseScheme" : "beverage",
-  "baseGroupId" : "org.foo",
-  "baseArtifactId" : "beverage-component",
-  "baseVersion" : "2.22.0-SNAPSHOT",
-  "baseJavaType" : "org.beverage.BeverageComponent",
-  "name" : "Bar",
-  "scheme" : "bar",
-  "javaType" : "org.foo.connector.BarComponent",
-  "groupId" : "org.foo",
-  "artifactId" : "wine-connector",
-  "version" : "2.22.0-SNAPSHOT",
-  "description" : "To order drinks from the bar",
-  "labels" : [ "bar" ],
-  "pattern" : "To",
-  "inputDataType" : "*",
-  "outputDataType" : "text",
-  "endpointOptions" : [ "drink", "amount", "celebrity" ],
-  "endpointValues" : {
-    "amount" : 2
-  }
-}
\ No newline at end of file
diff --git a/connectors/examples/beverage-component/Readme.md b/connectors/examples/beverage-component/Readme.md
deleted file mode 100644
index 934a3a1..0000000
--- a/connectors/examples/beverage-component/Readme.md
+++ /dev/null
@@ -1,5 +0,0 @@
-## Beverage Component
-
-A 3rd party Camel component to be used as base for the `bar` and `wine` Camel connectors. 
-
-This is used to demonstrate that Camel connectors also work with 3rd party components.
diff --git a/connectors/examples/beverage-component/pom.xml b/connectors/examples/beverage-component/pom.xml
deleted file mode 100644
index 48d41e2..0000000
--- a/connectors/examples/beverage-component/pom.xml
+++ /dev/null
@@ -1,114 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    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.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-
-  <modelVersion>4.0.0</modelVersion>
-
-  <parent>
-    <groupId>org.apache.camel</groupId>
-    <artifactId>connectors-examples</artifactId>
-    <version>2.22.0-SNAPSHOT</version>
-    <relativePath>..</relativePath>
-  </parent>
-
-  <groupId>org.foo</groupId>
-  <artifactId>beverage-component</artifactId>
-  <name>Camel :: Connectors :: Examples :: Beverage Component</name>
-  <description>Camel Beverage Component</description>
-  <packaging>jar</packaging>
-
-  <dependencies>
-
-    <dependency>
-      <groupId>org.apache.camel</groupId>
-      <artifactId>camel-core</artifactId>
-      <version>${project.version}</version>
-    </dependency>
-
-    <dependency>
-      <groupId>org.apache.camel</groupId>
-      <artifactId>camel-test</artifactId>
-      <version>${project.version}</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.logging.log4j</groupId>
-      <artifactId>log4j-api</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.logging.log4j</groupId>
-      <artifactId>log4j-core</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.logging.log4j</groupId>
-      <artifactId>log4j-slf4j-impl</artifactId>
-      <scope>test</scope>
-    </dependency>
-
-    <!-- use the Camel apt compiler plugin -->
-    <dependency>
-      <groupId>org.apache.camel</groupId>
-      <artifactId>apt</artifactId>
-      <version>${project.version}</version>
-      <scope>provided</scope>
-    </dependency>
-
-  </dependencies>
-
-  <build>
-    <plugins>
-      <!-- use Camel plugins to generate component details -->
-      <plugin>
-        <groupId>org.apache.camel</groupId>
-        <artifactId>camel-package-maven-plugin</artifactId>
-        <version>${project.version}</version>
-        <executions>
-          <execution>
-            <goals>
-              <goal>generate-components-list</goal>
-            </goals>
-            <phase>generate-resources</phase>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-  </build>
-
-  <profiles>
-    <profile>
-      <id>jdk9+-build</id>
-      <activation>
-        <jdk>[9,)</jdk>
-      </activation>
-      <build>
-        <plugins>
-          <plugin>
-            <artifactId>maven-surefire-plugin</artifactId>
-            <configuration>
-              <argLine>--add-modules java.xml.bind</argLine>
-            </configuration>
-          </plugin>
-        </plugins>
-      </build>
-    </profile>
-  </profiles>
-</project>
diff --git a/connectors/examples/beverage-component/src/main/java/org/beverage/BeverageComponent.java b/connectors/examples/beverage-component/src/main/java/org/beverage/BeverageComponent.java
deleted file mode 100644
index d058ee9..0000000
--- a/connectors/examples/beverage-component/src/main/java/org/beverage/BeverageComponent.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/**
- * 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.beverage;
-
-import java.util.Map;
-
-import org.apache.camel.Endpoint;
-import org.apache.camel.impl.DefaultComponent;
-
-public class BeverageComponent extends DefaultComponent {
-
-    public BeverageComponent() {
-    }
-
-    @Override
-    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
-        BeverageEndpoint answer = new BeverageEndpoint(uri, this);
-
-        Beverages drink = getCamelContext().getTypeConverter().mandatoryConvertTo(Beverages.class, remaining);
-        answer.setDrink(drink);
-
-        setProperties(answer, parameters);
-        return answer;
-    }
-}
diff --git a/connectors/examples/beverage-component/src/main/java/org/beverage/BeverageEndpoint.java b/connectors/examples/beverage-component/src/main/java/org/beverage/BeverageEndpoint.java
deleted file mode 100644
index 1680a86..0000000
--- a/connectors/examples/beverage-component/src/main/java/org/beverage/BeverageEndpoint.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/**
- * 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.beverage;
-
-import org.apache.camel.Component;
-import org.apache.camel.Consumer;
-import org.apache.camel.Processor;
-import org.apache.camel.Producer;
-import org.apache.camel.impl.DefaultEndpoint;
-import org.apache.camel.spi.Metadata;
-import org.apache.camel.spi.UriEndpoint;
-import org.apache.camel.spi.UriParam;
-import org.apache.camel.spi.UriPath;
-
-@UriEndpoint(scheme = "beverage", syntax = "beverage:drink", title = "Beverage", label = "bar", producerOnly = true)
-public class BeverageEndpoint extends DefaultEndpoint {
-
-    @UriPath @Metadata(required = "true")
-    private Beverages drink;
-
-    @UriParam(defaultValue = "1")
-    private int amount = 1;
-
-    @UriParam
-    private boolean celebrity;
-
-    public BeverageEndpoint(String endpointUri, Component component) {
-        super(endpointUri, component);
-    }
-
-    @Override
-    public Producer createProducer() throws Exception {
-        return new BeverageProducer(this, drink, amount, celebrity);
-    }
-
-    @Override
-    public Consumer createConsumer(Processor processor) throws Exception {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public boolean isSingleton() {
-        return true;
-    }
-
-    public Beverages getDrink() {
-        return drink;
-    }
-
-    /**
-     * What drink to order
-     */
-    public void setDrink(Beverages drink) {
-        this.drink = drink;
-    }
-
-    public int getAmount() {
-        return amount;
-    }
-
-    /**
-     * Number of drinks in the order
-     */
-    public void setAmount(int amount) {
-        this.amount = amount;
-    }
-
-    public boolean isCelebrity() {
-        return celebrity;
-    }
-
-    /**
-     * Is this a famous person ordering
-     */
-    public void setCelebrity(boolean celebrity) {
-        this.celebrity = celebrity;
-    }
-}
diff --git a/connectors/examples/beverage-component/src/main/java/org/beverage/BeverageProducer.java b/connectors/examples/beverage-component/src/main/java/org/beverage/BeverageProducer.java
deleted file mode 100644
index 3fb6cf5..0000000
--- a/connectors/examples/beverage-component/src/main/java/org/beverage/BeverageProducer.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/**
- * 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.beverage;
-
-import org.apache.camel.Endpoint;
-import org.apache.camel.Exchange;
-import org.apache.camel.impl.DefaultProducer;
-
-public class BeverageProducer extends DefaultProducer {
-
-    private final Beverages drink;
-    private final int amount;
-    private final boolean celebrity;
-
-    private transient int total;
-
-    public BeverageProducer(Endpoint endpoint, Beverages drink, int amount, boolean celebrity) {
-        super(endpoint);
-        this.drink = drink;
-        this.amount = amount;
-        this.celebrity = celebrity;
-    }
-
-    @Override
-    public void process(Exchange exchange) throws Exception {
-        total += amount;
-
-        exchange.getIn().setBody("total " + total + " of " + drink.name().toLowerCase() + " ordered"
-            + (celebrity ? " from famous person" : ""));
-    }
-}
diff --git a/connectors/examples/beverage-component/src/main/java/org/beverage/Beverages.java b/connectors/examples/beverage-component/src/main/java/org/beverage/Beverages.java
deleted file mode 100644
index bf8435b..0000000
--- a/connectors/examples/beverage-component/src/main/java/org/beverage/Beverages.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/**
- * 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.beverage;
-
-public enum Beverages {
-
-    Beer, GinTonic, Wine
-}
diff --git a/connectors/examples/beverage-component/src/main/resources/META-INF/LICENSE.txt b/connectors/examples/beverage-component/src/main/resources/META-INF/LICENSE.txt
deleted file mode 100644
index 6b0b127..0000000
--- a/connectors/examples/beverage-component/src/main/resources/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,203 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.
-
diff --git a/connectors/examples/beverage-component/src/main/resources/META-INF/NOTICE.txt b/connectors/examples/beverage-component/src/main/resources/META-INF/NOTICE.txt
deleted file mode 100644
index 2e215bf..0000000
--- a/connectors/examples/beverage-component/src/main/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-   =========================================================================
-   ==  NOTICE file corresponding to the section 4 d of                    ==
-   ==  the Apache License, Version 2.0,                                   ==
-   ==  in this case for the Apache Camel distribution.                    ==
-   =========================================================================
-
-   This product includes software developed by
-   The Apache Software Foundation (http://www.apache.org/).
-
-   Please read the different LICENSE files present in the licenses directory of
-   this distribution.
diff --git a/connectors/examples/beverage-component/src/main/resources/META-INF/services/org/apache/camel/component/beverage b/connectors/examples/beverage-component/src/main/resources/META-INF/services/org/apache/camel/component/beverage
deleted file mode 100644
index 068b108..0000000
--- a/connectors/examples/beverage-component/src/main/resources/META-INF/services/org/apache/camel/component/beverage
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.beverage.BeverageComponent
\ No newline at end of file
diff --git a/connectors/examples/beverage-component/src/test/java/org/beverage/BeverageTest.java b/connectors/examples/beverage-component/src/test/java/org/beverage/BeverageTest.java
deleted file mode 100644
index 37256df..0000000
--- a/connectors/examples/beverage-component/src/test/java/org/beverage/BeverageTest.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/**
- * 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.beverage;
-
-import org.apache.camel.RoutesBuilder;
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit4.CamelTestSupport;
-import org.junit.Test;
-
-public class BeverageTest extends CamelTestSupport {
-
-    @Test
-    public void testBeverage() throws Exception {
-        getMockEndpoint("mock:result").expectedBodiesReceived("total 2 of wine ordered");
-
-        template.sendBody("direct:bar", "Hello World");
-
-        assertMockEndpointsSatisfied();
-    }
-
-    @Override
-    protected RoutesBuilder createRouteBuilder() throws Exception {
-        return new RouteBuilder() {
-            @Override
-            public void configure() throws Exception {
-                from("direct:bar")
-                    .to("beverage:wine?amount=2")
-                    .to("mock:result");
-            }
-        };
-    }
-}
diff --git a/connectors/examples/beverage-component/src/test/resources/log4j2.properties b/connectors/examples/beverage-component/src/test/resources/log4j2.properties
deleted file mode 100644
index 58d46ea..0000000
--- a/connectors/examples/beverage-component/src/test/resources/log4j2.properties
+++ /dev/null
@@ -1,30 +0,0 @@
-## ---------------------------------------------------------------------------
-## 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.
-## ---------------------------------------------------------------------------
-
-appender.file.type = File
-appender.file.name = file
-appender.file.fileName = target/camel-beverage-test.log
-appender.file.layout.type = PatternLayout
-appender.file.layout.pattern = %d [%-15.15t] %-5p %-30.30c{1} - %m%n
-appender.out.type = Console
-appender.out.name = out
-appender.out.layout.type = PatternLayout
-appender.out.layout.pattern = [%30.30t] %-30.30c{1} %-5p %m%n
-logger.converter.name = org.apache.camel.impl.converter
-logger.converter.level = INFO
-rootLogger.level = INFO
-rootLogger.appenderRef.file.ref = file
diff --git a/connectors/examples/foo-bar-wine-example/Readme.md b/connectors/examples/foo-bar-wine-example/Readme.md
deleted file mode 100644
index 60e717b..0000000
--- a/connectors/examples/foo-bar-wine-example/Readme.md
+++ /dev/null
@@ -1,26 +0,0 @@
-## Foo Bar and Wine Example
-
-This is an example that uses the `foo`, `bar` and `wine` Camel connectors. These connectors
-are used as if they are regular Camel components in Camel routes.
-
-See the `FooBarWineRoute` class for more details.
-
-### How to run
-
-This example can be run from the command line using:
-
-    mvn camel:run
-    
-### Apache Camel IDEA Plugin
-    
-You can use tooling such as the Apache Camel IDEA Plugin to offer code assistance while create the Camel route.
-
-The tooling offers code completions such as listing the possible options you can use with the Camel connectors.
-Notice how the tool presents only the pre-selected options of these connectors. For example the `foo` connector
-which is based on the Camel `Timer` component only offers two options, where as if you are using `timer` instead
-you will have many more options.
-
-The following screenshot shows hows the `foo` connector only has two options to configure:
-
-![Foo Connector in IDEA](img/foo-connector-options-idea.png?raw=true)
-
diff --git a/connectors/examples/foo-bar-wine-example/img/foo-connector-options-idea.png b/connectors/examples/foo-bar-wine-example/img/foo-connector-options-idea.png
deleted file mode 100644
index dc9ce4b..0000000
Binary files a/connectors/examples/foo-bar-wine-example/img/foo-connector-options-idea.png and /dev/null differ
diff --git a/connectors/examples/foo-bar-wine-example/pom.xml b/connectors/examples/foo-bar-wine-example/pom.xml
deleted file mode 100644
index 270dd0e..0000000
--- a/connectors/examples/foo-bar-wine-example/pom.xml
+++ /dev/null
@@ -1,126 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    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.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-
-  <modelVersion>4.0.0</modelVersion>
-
-  <parent>
-    <groupId>org.apache.camel</groupId>
-    <artifactId>connectors-examples</artifactId>
-    <version>2.22.0-SNAPSHOT</version>
-    <relativePath>..</relativePath>
-  </parent>
-
-  <groupId>org.foo</groupId>
-  <artifactId>foo-bar-wine-example</artifactId>
-  <name>Camel :: Connectors :: Examples :: Foo Bar and Wine Example</name>
-  <description>Foo Bar and Wine Example</description>
-  <packaging>jar</packaging>
-
-  <dependencyManagement>
-    <dependencies>
-      <!-- Camel BOM -->
-      <dependency>
-        <groupId>org.apache.camel</groupId>
-        <artifactId>camel-parent</artifactId>
-        <version>${project.version}</version>
-        <scope>import</scope>
-        <type>pom</type>
-      </dependency>
-    </dependencies>
-  </dependencyManagement>
-
-  <dependencies>
-
-    <!-- connectors used in this example -->
-    <dependency>
-      <groupId>org.foo</groupId>
-      <artifactId>foo-connector</artifactId>
-      <version>${project.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.foo</groupId>
-      <artifactId>bar-connector</artifactId>
-      <version>${project.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.foo</groupId>
-      <artifactId>wine-connector</artifactId>
-      <version>${project.version}</version>
-    </dependency>
-
-    <!-- logging -->
-    <dependency>
-      <groupId>org.apache.logging.log4j</groupId>
-      <artifactId>log4j-api</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.logging.log4j</groupId>
-      <artifactId>log4j-core</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.logging.log4j</groupId>
-      <artifactId>log4j-slf4j-impl</artifactId>
-    </dependency>
-
-    <!-- testing -->
-    <dependency>
-      <groupId>org.apache.camel</groupId>
-      <artifactId>camel-test</artifactId>
-      <version>${project.version}</version>
-      <scope>test</scope>
-    </dependency>
-
-  </dependencies>
-
-  <build>
-    <plugins>
-      <!-- Allows the example to be run via 'mvn camel:run' -->
-      <plugin>
-        <groupId>org.apache.camel</groupId>
-        <artifactId>camel-maven-plugin</artifactId>
-        <version>${project.version}</version>
-        <configuration>
-          <mainClass>org.foo.FooBarWineMain</mainClass>
-        </configuration>
-      </plugin>
-    </plugins>
-  </build>
-
-  <profiles>
-    <profile>
-      <id>jdk9+-build</id>
-      <activation>
-        <jdk>[9,)</jdk>
-      </activation>
-      <build>
-        <plugins>
-          <plugin>
-            <artifactId>maven-surefire-plugin</artifactId>
-            <configuration>
-              <argLine>--add-modules java.xml.bind</argLine>
-            </configuration>
-          </plugin>
-        </plugins>
-      </build>
-    </profile>
-  </profiles>
-</project>
diff --git a/connectors/examples/foo-bar-wine-example/src/main/java/org/foo/FooBarWineMain.java b/connectors/examples/foo-bar-wine-example/src/main/java/org/foo/FooBarWineMain.java
deleted file mode 100644
index 9e551d0..0000000
--- a/connectors/examples/foo-bar-wine-example/src/main/java/org/foo/FooBarWineMain.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/**
- * 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.foo;
-
-import org.apache.camel.main.Main;
-
-/**
- * Main class to run this example
- */
-public final class FooBarWineMain {
-
-    private FooBarWineMain() {
-    }
-
-    public static void main(String[] args) throws Exception {
-        Main main = new Main();
-        main.addRouteBuilder(new FooBarWineRoute());
-        main.run();
-    }
-}
diff --git a/connectors/examples/foo-bar-wine-example/src/main/java/org/foo/FooBarWineRoute.java b/connectors/examples/foo-bar-wine-example/src/main/java/org/foo/FooBarWineRoute.java
deleted file mode 100644
index b066f6d..0000000
--- a/connectors/examples/foo-bar-wine-example/src/main/java/org/foo/FooBarWineRoute.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/**
- * 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.foo;
-
-import org.apache.camel.builder.RouteBuilder;
-
-/**
- * Camel route that uses the foo, bar and wine connectors
- */
-public class FooBarWineRoute extends RouteBuilder {
-
-    @Override
-    public void configure() throws Exception {
-        from("foo:ThirstyBear?period=2000")
-            .log("Who is this: ${header.whoami}")
-            .to("wine:Wine?amount=2")
-            .log("ThirstyBear ordered ${body}");
-
-        from("foo:Moes?period=5000")
-            .log("Who is this: ${header.whoami}")
-            .to("bar:Beer?amount=5&celebrity=true")
-            .log("Moes ordered ${body}");
-    }
-}
diff --git a/connectors/examples/foo-bar-wine-example/src/main/resources/log4j2.properties b/connectors/examples/foo-bar-wine-example/src/main/resources/log4j2.properties
deleted file mode 100644
index ff39bcb..0000000
--- a/connectors/examples/foo-bar-wine-example/src/main/resources/log4j2.properties
+++ /dev/null
@@ -1,24 +0,0 @@
-## ---------------------------------------------------------------------------
-## 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.
-## ---------------------------------------------------------------------------
-
-appender.out.type = Console
-appender.out.name = out
-appender.out.layout.type = PatternLayout
-appender.out.layout.pattern = [%30.30t] %-30.30c{1} %-5p %m%n
-
-rootLogger.level = INFO
-rootLogger.appenderRef.file.ref = out
diff --git a/connectors/examples/foo-bar-wine-example/src/test/java/org/foo/FooBarWineTest.java b/connectors/examples/foo-bar-wine-example/src/test/java/org/foo/FooBarWineTest.java
deleted file mode 100644
index 80c45c5..0000000
--- a/connectors/examples/foo-bar-wine-example/src/test/java/org/foo/FooBarWineTest.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/**
- * 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.foo;
-
-import org.apache.camel.RoutesBuilder;
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit4.CamelTestSupport;
-import org.junit.Test;
-
-public class FooBarWineTest extends CamelTestSupport {
-
-    @Test
-    public void testFooBar() throws Exception {
-        MockEndpoint mock = getMockEndpoint("mock:bar");
-
-        mock.expectedMinimumMessageCount(2);
-        mock.setAssertPeriod(500);
-
-        assertMockEndpointsSatisfied();
-    }
-
-    @Test
-    public void testFooWine() throws Exception {
-        MockEndpoint mock = getMockEndpoint("mock:wine");
-
-        mock.expectedMinimumMessageCount(2);
-        mock.setAssertPeriod(500);
-
-        assertMockEndpointsSatisfied();
-    }
-
-    @Override
-    protected RoutesBuilder createRouteBuilder() throws Exception {
-        return new RouteBuilder() {
-            @Override
-            public void configure() throws Exception {
-                from("foo:hello?period=100")
-                    .to("bar:Beer?amount=5")
-                    .to("mock:bar");
-
-                from("foo:hello2?period=50")
-                    .to("wine:wine?amount=2")
-                    .to("mock:wine");
-            }
-        };
-    }
-}
diff --git a/connectors/examples/foo-bar-wine-example/src/test/resources/log4j2.properties b/connectors/examples/foo-bar-wine-example/src/test/resources/log4j2.properties
deleted file mode 100644
index b18929b..0000000
--- a/connectors/examples/foo-bar-wine-example/src/test/resources/log4j2.properties
+++ /dev/null
@@ -1,28 +0,0 @@
-## ---------------------------------------------------------------------------
-## 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.
-## ---------------------------------------------------------------------------
-
-appender.file.type = File
-appender.file.name = file
-appender.file.fileName = target/test.log
-appender.file.layout.type = PatternLayout
-appender.file.layout.pattern = %d [%-15.15t] %-5p %-30.30c{1} - %m%n
-appender.out.type = Console
-appender.out.name = out
-appender.out.layout.type = PatternLayout
-appender.out.layout.pattern = [%30.30t] %-30.30c{1} %-5p %m%n
-rootLogger.level = INFO
-rootLogger.appenderRef.file.ref = file
diff --git a/connectors/examples/foo-connector/Readme.md b/connectors/examples/foo-connector/Readme.md
deleted file mode 100644
index c9c4487..0000000
--- a/connectors/examples/foo-connector/Readme.md
+++ /dev/null
@@ -1,5 +0,0 @@
-## Foo Connector
-
-This is a basic Camel connector that is based on the Timer component from Apache Camel.
-
-This connector is a very basic connector with only a few options.
diff --git a/connectors/examples/foo-connector/pom.xml b/connectors/examples/foo-connector/pom.xml
deleted file mode 100644
index f5aa6f5..0000000
--- a/connectors/examples/foo-connector/pom.xml
+++ /dev/null
@@ -1,187 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    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.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-
-  <modelVersion>4.0.0</modelVersion>
-
-  <parent>
-    <groupId>org.apache.camel</groupId>
-    <artifactId>connectors-examples</artifactId>
-    <version>2.22.0-SNAPSHOT</version>
-    <relativePath>..</relativePath>
-  </parent>
-
-  <groupId>org.foo</groupId>
-  <artifactId>foo-connector</artifactId>
-  <name>Camel :: Connectors :: Examples :: Foo Connector</name>
-  <description>Foo Connector</description>
-  <packaging>jar</packaging>
-
-  <dependencyManagement>
-    <dependencies>
-      <!-- Camel BOM -->
-      <dependency>
-        <groupId>org.apache.camel</groupId>
-        <artifactId>camel-parent</artifactId>
-        <version>${project.version}</version>
-        <scope>import</scope>
-        <type>pom</type>
-      </dependency>
-    </dependencies>
-  </dependencyManagement>
-
-  <dependencies>
-
-    <!-- base component to use for this connector -->
-    <dependency>
-      <groupId>org.apache.camel</groupId>
-      <artifactId>camel-core</artifactId>
-      <version>${project.version}</version>
-    </dependency>
-
-    <!-- camel-connector -->
-    <dependency>
-      <groupId>org.apache.camel</groupId>
-      <artifactId>camel-connector</artifactId>
-      <version>${project.version}</version>
-    </dependency>
-
-    <!-- camel and spring boot compiler plugins -->
-    <dependency>
-      <groupId>org.apache.camel</groupId>
-      <artifactId>apt</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.springframework.boot</groupId>
-      <artifactId>spring-boot-configuration-processor</artifactId>
-      <version>${spring-boot-version}</version>
-    </dependency>
-
-    <!-- logging -->
-    <dependency>
-      <groupId>org.apache.logging.log4j</groupId>
-      <artifactId>log4j-api</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.logging.log4j</groupId>
-      <artifactId>log4j-core</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.logging.log4j</groupId>
-      <artifactId>log4j-slf4j-impl</artifactId>
-      <scope>test</scope>
-    </dependency>
-
-    <!-- testing -->
-    <dependency>
-      <groupId>org.apache.camel</groupId>
-      <artifactId>camel-test</artifactId>
-      <scope>test</scope>
-    </dependency>
-  </dependencies>
-
-  <build>
-    <defaultGoal>install</defaultGoal>
-
-    <plugins>
-
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-compiler-plugin</artifactId>
-        <version>${maven-compiler-plugin-version}</version>
-        <configuration>
-          <source>1.8</source>
-          <target>1.8</target>
-        </configuration>
-      </plugin>
-
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-resources-plugin</artifactId>
-        <version>${maven-resources-plugin-version}</version>
-        <configuration>
-          <encoding>UTF-8</encoding>
-        </configuration>
-      </plugin>
-
-      <!-- generate components meta-data and validate component includes documentation etc -->
-      <plugin>
-        <groupId>org.apache.camel</groupId>
-        <artifactId>camel-package-maven-plugin</artifactId>
-        <version>${project.version}</version>
-        <executions>
-          <execution>
-            <id>prepare</id>
-            <goals>
-              <goal>prepare-components</goal>
-            </goals>
-            <phase>generate-resources</phase>
-          </execution>
-          <execution>
-            <id>validate</id>
-            <goals>
-              <goal>validate-components</goal>
-            </goals>
-            <phase>prepare-package</phase>
-          </execution>
-        </executions>
-      </plugin>
-
-      <!-- turn off jar plugin as we use connector plugin to jar instead -->
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-jar-plugin</artifactId>
-        <version>${maven-jar-plugin-version}</version>
-        <executions>
-          <execution>
-            <id>default-jar</id>
-            <phase/>
-          </execution>
-        </executions>
-      </plugin>
-
-      <!-- connector plugin will build the jar -->
-      <plugin>
-        <groupId>org.apache.camel</groupId>
-        <artifactId>camel-connector-maven-plugin</artifactId>
-        <version>${project.version}</version>
-        <executions>
-          <execution>
-            <id>boot</id>
-            <goals>
-              <goal>prepare-spring-boot-auto-configuration</goal>
-            </goals>
-          </execution>
-          <execution>
-            <id>connector</id>
-            <goals>
-              <goal>jar</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-
-    </plugins>
-  </build>
-
-</project>
diff --git a/connectors/examples/foo-connector/src/main/java/org/foo/connector/FooComponent.java b/connectors/examples/foo-connector/src/main/java/org/foo/connector/FooComponent.java
deleted file mode 100644
index 52b022c..0000000
--- a/connectors/examples/foo-connector/src/main/java/org/foo/connector/FooComponent.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/**
- * 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.foo.connector;
-
-import org.apache.camel.component.connector.DefaultConnectorComponent;
-
-public class FooComponent extends DefaultConnectorComponent {
-
-    public FooComponent() {
-        super("foo", "org.foo.connector.FooComponent");
-
-        // show how you can add a fixed header
-        setBeforeConsumer(e -> e.getIn().setHeader("whoami", "I am foo"));
-    }
-
-    public FooComponent(String componentScheme) {
-        super("foo", componentScheme, "org.foo.connector.FooComponent");
-
-        // show how you can add a fixed header
-        setBeforeConsumer(e -> e.getIn().setHeader("whoami", "I am foo"));
-    }
-
-}
\ No newline at end of file
diff --git a/connectors/examples/foo-connector/src/main/resources/META-INF/services/org/apache/camel/component/foo b/connectors/examples/foo-connector/src/main/resources/META-INF/services/org/apache/camel/component/foo
deleted file mode 100644
index b92962a..0000000
--- a/connectors/examples/foo-connector/src/main/resources/META-INF/services/org/apache/camel/component/foo
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.foo.connector.FooComponent
\ No newline at end of file
diff --git a/connectors/examples/foo-connector/src/main/resources/camel-connector-schema.json b/connectors/examples/foo-connector/src/main/resources/camel-connector-schema.json
deleted file mode 100644
index c87d9d0..0000000
--- a/connectors/examples/foo-connector/src/main/resources/camel-connector-schema.json
+++ /dev/null
@@ -1,62 +0,0 @@
-{
-  "component":{
-    "kind":"component",
-    "baseScheme":"timer",
-    "scheme":"foo",
-    "syntax":"foo:timerName",
-    "title":"Foo",
-    "description":"Something cool",
-    "label":"foo,timer",
-    "deprecated":false,
-    "async":false,
-    "consumerOnly":true,
-    "lenientProperties":false,
-    "javaType":"org.foo.connector.FooComponent",
-    "groupId":"org.foo",
-    "artifactId":"foo-connector",
-    "version":"2.22.0-SNAPSHOT"
-  },
-  "componentProperties":{
-    
-  },
-  "properties":{
-    "timerName":{
-      "kind":"path",
-      "displayName":"Timer Name",
-      "group":"consumer",
-      "required":true,
-      "type":"string",
-      "javaType":"java.lang.String",
-      "deprecated":false,
-      "secret":false,
-      "description":"The name of the timer"
-    },
-    "period":{
-      "kind":"parameter",
-      "displayName":"Period",
-      "group":"consumer",
-      "required":false,
-      "type":"integer",
-      "javaType":"long",
-      "deprecated":false,
-      "secret":false,
-      "defaultValue":5000,
-      "description":"If greater than 0 generate periodic events every period milliseconds. The default value is 1000. You can also specify time values using units such as 60s (60 seconds) 5m30s (5 minutes and 30 seconds) and 1h (1 hour)."
-    },
-    "repeatCount":{
-      "kind":"parameter",
-      "displayName":"Repeat Count",
-      "group":"consumer",
-      "required":false,
-      "type":"integer",
-      "javaType":"long",
-      "deprecated":false,
-      "secret":false,
-      "defaultValue":0,
-      "description":"Specifies a maximum limit of number of fires. So if you set it to 1 the timer will only fire once. If you set it to 5 it will only fire five times. A value of zero or negative means fire forever."
-    }
-  },
-  "connectorProperties":{
-    
-  }
-}
\ No newline at end of file
diff --git a/connectors/examples/foo-connector/src/main/resources/camel-connector.json b/connectors/examples/foo-connector/src/main/resources/camel-connector.json
deleted file mode 100644
index d6e279c..0000000
--- a/connectors/examples/foo-connector/src/main/resources/camel-connector.json
+++ /dev/null
@@ -1,23 +0,0 @@
-{
-  "baseScheme" : "timer",
-  "baseGroupId" : "org.apache.camel",
-  "baseArtifactId" : "camel-core",
-  "baseVersion" : "2.22.0-SNAPSHOT",
-  "baseJavaType" : "org.apache.camel.component.timer.TimerComponent",
-  "name" : "Foo",
-  "scheme" : "foo",
-  "javaType" : "org.foo.connector.FooComponent",
-  "groupId" : "org.foo",
-  "artifactId" : "foo-connector",
-  "version" : "2.22.0-SNAPSHOT",
-  "description" : "Something cool",
-  "labels" : [ "foo", "timer" ],
-  "pattern" : "From",
-  "inputDataType" : "none",
-  "outputDataType" : "none",
-  "endpointOptions" : [ "timerName", "period", "repeatCount" ],
-  "endpointValues" : {
-    "fixedRate" : true,
-    "period" : 5000
-  }
-}
\ No newline at end of file
diff --git a/connectors/examples/petstore-connector/Readme.md b/connectors/examples/petstore-connector/Readme.md
deleted file mode 100644
index 68891d0..0000000
--- a/connectors/examples/petstore-connector/Readme.md
+++ /dev/null
@@ -1,6 +0,0 @@
-## PetStore Connector
-
-This is a basic Camel connector that is based on the Rest Swagger component from Apache Camel.
-
-The connector is configured to call the Swagger PetStore API online service every 5th second
-and return a list of pets in json format.
diff --git a/connectors/examples/petstore-connector/pom.xml b/connectors/examples/petstore-connector/pom.xml
deleted file mode 100644
index a71f4ec..0000000
--- a/connectors/examples/petstore-connector/pom.xml
+++ /dev/null
@@ -1,205 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    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.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-
-  <modelVersion>4.0.0</modelVersion>
-
-  <parent>
-    <groupId>org.apache.camel</groupId>
-    <artifactId>connectors-examples</artifactId>
-    <version>2.22.0-SNAPSHOT</version>
-    <relativePath>..</relativePath>
-  </parent>
-
-  <groupId>org.foo</groupId>
-  <artifactId>petstore-connector</artifactId>
-  <name>Camel :: Connectors :: Examples :: PetStore Connector</name>
-  <description>PetStore Connector</description>
-  <packaging>jar</packaging>
-
-  <dependencyManagement>
-    <dependencies>
-      <!-- Camel BOM -->
-      <dependency>
-        <groupId>org.apache.camel</groupId>
-        <artifactId>camel-parent</artifactId>
-        <version>${project.version}</version>
-        <scope>import</scope>
-        <type>pom</type>
-      </dependency>
-    </dependencies>
-  </dependencyManagement>
-
-  <dependencies>
-
-    <!-- base component to use for this connector -->
-    <dependency>
-      <groupId>org.apache.camel</groupId>
-      <artifactId>camel-core</artifactId>
-      <version>${project.version}</version>
-    </dependency>
-
-    <dependency>
-      <groupId>org.apache.camel</groupId>
-      <artifactId>camel-spring-boot</artifactId>
-      <version>${project.version}</version>
-    </dependency>
-
-    <!-- camel-connector -->
-    <dependency>
-      <groupId>org.apache.camel</groupId>
-      <artifactId>camel-connector</artifactId>
-      <version>${project.version}</version>
-    </dependency>
-
-    <!-- component -->
-    <dependency>
-      <groupId>org.apache.camel</groupId>
-      <artifactId>camel-rest-swagger</artifactId>
-      <version>${project.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.camel</groupId>
-      <artifactId>camel-undertow</artifactId>
-      <version>${project.version}</version>
-    </dependency>
-
-    <!-- camel and spring boot compiler plugins -->
-    <dependency>
-      <groupId>org.apache.camel</groupId>
-      <artifactId>apt</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.springframework.boot</groupId>
-      <artifactId>spring-boot-configuration-processor</artifactId>
-      <version>${spring-boot-version}</version>
-    </dependency>
-
-    <!-- logging -->
-    <dependency>
-      <groupId>org.apache.logging.log4j</groupId>
-      <artifactId>log4j-api</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.logging.log4j</groupId>
-      <artifactId>log4j-core</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.logging.log4j</groupId>
-      <artifactId>log4j-slf4j-impl</artifactId>
-      <scope>test</scope>
-    </dependency>
-
-    <!-- testing -->
-    <dependency>
-      <groupId>org.apache.camel</groupId>
-      <artifactId>camel-test</artifactId>
-      <scope>test</scope>
-    </dependency>
-  </dependencies>
-
-  <build>
-    <defaultGoal>install</defaultGoal>
-
-    <plugins>
-
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-compiler-plugin</artifactId>
-        <version>${maven-compiler-plugin-version}</version>
-        <configuration>
-          <source>1.8</source>
-          <target>1.8</target>
-        </configuration>
-      </plugin>
-
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-resources-plugin</artifactId>
-        <version>${maven-resources-plugin-version}</version>
-        <configuration>
-          <encoding>UTF-8</encoding>
-        </configuration>
-      </plugin>
-
-      <!-- generate components meta-data and validate component includes documentation etc -->
-      <plugin>
-        <groupId>org.apache.camel</groupId>
-        <artifactId>camel-package-maven-plugin</artifactId>
-        <version>${project.version}</version>
-        <executions>
-          <execution>
-            <id>prepare</id>
-            <goals>
-              <goal>prepare-components</goal>
-            </goals>
-            <phase>generate-resources</phase>
-          </execution>
-          <execution>
-            <id>validate</id>
-            <goals>
-              <goal>validate-components</goal>
-            </goals>
-            <phase>prepare-package</phase>
-          </execution>
-        </executions>
-      </plugin>
-
-      <!-- turn off jar plugin as we use connector plugin to jar instead -->
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-jar-plugin</artifactId>
-        <version>${maven-jar-plugin-version}</version>
-        <executions>
-          <execution>
-            <id>default-jar</id>
-            <phase/>
-          </execution>
-        </executions>
-      </plugin>
-
-      <!-- connector plugin will build the jar -->
-      <plugin>
-        <groupId>org.apache.camel</groupId>
-        <artifactId>camel-connector-maven-plugin</artifactId>
-        <version>${project.version}</version>
-        <executions>
-          <execution>
-            <id>boot</id>
-            <goals>
-              <goal>prepare-spring-boot-auto-configuration</goal>
-            </goals>
-          </execution>
-          <execution>
-            <id>connector</id>
-            <goals>
-              <goal>jar</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-
-    </plugins>
-  </build>
-
-</project>
diff --git a/connectors/examples/petstore-connector/src/main/java/org/foo/connector/PetStoreComponent.java b/connectors/examples/petstore-connector/src/main/java/org/foo/connector/PetStoreComponent.java
deleted file mode 100644
index 056da7f..0000000
--- a/connectors/examples/petstore-connector/src/main/java/org/foo/connector/PetStoreComponent.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/**
- * 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.foo.connector;
-
-import org.apache.camel.component.connector.DefaultConnectorComponent;
-
-public class PetStoreComponent extends DefaultConnectorComponent {
-
-    public PetStoreComponent() {
-        super("petstore", "org.foo.connector.PetStoreComponent");
-    }
-
-    public PetStoreComponent(String componentScheme) {
-        super("petstore", componentScheme, "org.foo.connector.PetStoreComponent");
-    }
-
-}
\ No newline at end of file
diff --git a/connectors/examples/petstore-connector/src/main/java/org/foo/connector/springboot/PetStoreConnectorAutoConfiguration.java b/connectors/examples/petstore-connector/src/main/java/org/foo/connector/springboot/PetStoreConnectorAutoConfiguration.java
deleted file mode 100644
index 1a44a51..0000000
--- a/connectors/examples/petstore-connector/src/main/java/org/foo/connector/springboot/PetStoreConnectorAutoConfiguration.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/**
- * 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.foo.connector.springboot;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import javax.annotation.Generated;
-import javax.annotation.PostConstruct;
-import org.apache.camel.CamelContext;
-import org.apache.camel.component.connector.ConnectorCustomizer;
-import org.apache.camel.spi.HasId;
-import org.apache.camel.spring.boot.util.CamelPropertiesHelper;
-import org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator;
-import org.apache.camel.support.IntrospectionSupport;
-import org.apache.camel.util.ObjectHelper;
-import org.foo.connector.PetStoreComponent;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.BeanCreationException;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.autoconfigure.AutoConfigureAfter;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
-import org.springframework.boot.context.properties.EnableConfigurationProperties;
-import org.springframework.context.ApplicationContext;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.Lazy;
-
-/**
- * Generated by camel-connector-maven-plugin - do not edit this file!
- */
-@Generated("org.apache.camel.maven.connector.SpringBootAutoConfigurationMojo")
-@Configuration
-@ConditionalOnBean(type = "org.apache.camel.spring.boot.CamelAutoConfiguration")
-@AutoConfigureAfter(name = "org.apache.camel.spring.boot.CamelAutoConfiguration")
-@EnableConfigurationProperties(PetStoreConnectorConfiguration.class)
-public class PetStoreConnectorAutoConfiguration {
-
-    private static final Logger LOGGER = LoggerFactory
-            .getLogger(PetStoreConnectorAutoConfiguration.class);
-    @Autowired
-    private ApplicationContext applicationContext;
-    @Autowired
-    private CamelContext camelContext;
-    @Autowired
-    private PetStoreConnectorConfiguration configuration;
-    @Autowired(required = false)
-    private List<ConnectorCustomizer<PetStoreComponent>> customizers;
-
-    @Lazy
-    @Bean(name = "petstore-component")
-    @ConditionalOnClass(CamelContext.class)
-    @ConditionalOnMissingBean
-    public PetStoreComponent configurePetStoreComponent() throws Exception {
-        PetStoreComponent connector = new PetStoreComponent();
-        connector.setCamelContext(camelContext);
-        Map<String, Object> parameters = new HashMap<>();
-        IntrospectionSupport.getProperties(configuration, parameters, null,
-                false);
-        CamelPropertiesHelper.setCamelProperties(camelContext, connector,
-                parameters, false);
-        connector.setOptions(parameters);
-        if (ObjectHelper.isNotEmpty(customizers)) {
-            for (ConnectorCustomizer<PetStoreComponent> customizer : customizers) {
-                boolean useCustomizer = (customizer instanceof HasId)
-                        ? HierarchicalPropertiesEvaluator.evaluate(
-                                applicationContext.getEnvironment(),
-                                "camel.connector.customizer",
-                                "camel.connector.petstore.customizer",
-                                ((HasId) customizer).getId())
-                        : HierarchicalPropertiesEvaluator.evaluate(
-                                applicationContext.getEnvironment(),
-                                "camel.connector.customizer",
-                                "camel.connector.petstore.customizer");
-                if (useCustomizer) {
-                    LOGGER.debug("Configure connector {}, with customizer {}",
-                            connector, customizer);
-                    customizer.customize(connector);
-                }
-            }
-        }
-        return connector;
-    }
-
-    @PostConstruct
-    public void postConstructPetStoreComponent() {
-        Map<String, Object> parameters = new HashMap<>();
-        for (Map.Entry<String, PetStoreConnectorConfigurationCommon> entry : configuration
-                .getConfigurations().entrySet()) {
-            parameters.clear();
-            PetStoreComponent connector = new PetStoreComponent(entry.getKey());
-            connector.setCamelContext(camelContext);
-            try {
-                IntrospectionSupport.getProperties(entry.getValue(),
-                        parameters, null, false);
-                CamelPropertiesHelper.setCamelProperties(camelContext,
-                        connector, parameters, false);
-                connector.setOptions(parameters);
-                if (ObjectHelper.isNotEmpty(customizers)) {
-                    for (ConnectorCustomizer<PetStoreComponent> customizer : customizers) {
-                        boolean useCustomizer = (customizer instanceof HasId)
-                                ? HierarchicalPropertiesEvaluator.evaluate(
-                                        applicationContext.getEnvironment(),
-                                        "camel.connector.customizer",
-                                        "camel.connector.petstore."
-                                                + entry.getKey()
-                                                + ".customizer",
-                                        ((HasId) customizer).getId())
-                                : HierarchicalPropertiesEvaluator.evaluate(
-                                        applicationContext.getEnvironment(),
-                                        "camel.connector.customizer",
-                                        "camel.connector.petstore."
-                                                + entry.getKey()
-                                                + ".customizer");
-                        if (useCustomizer) {
-                            LOGGER.debug(
-                                    "Configure connector {}, with customizer {}",
-                                    connector, customizer);
-                            customizer.customize(connector);
-                        }
-                    }
-                }
-                camelContext.addComponent(entry.getKey(), connector);
-            } catch (Exception e) {
-                throw new BeanCreationException(entry.getKey(), e.getMessage(),
-                        e);
-            }
-        }
-    }
-}
\ No newline at end of file
diff --git a/connectors/examples/petstore-connector/src/main/java/org/foo/connector/springboot/PetStoreConnectorConfiguration.java b/connectors/examples/petstore-connector/src/main/java/org/foo/connector/springboot/PetStoreConnectorConfiguration.java
deleted file mode 100644
index fa19e29..0000000
--- a/connectors/examples/petstore-connector/src/main/java/org/foo/connector/springboot/PetStoreConnectorConfiguration.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/**
- * 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.foo.connector.springboot;
-
-import java.util.HashMap;
-import java.util.Map;
-import javax.annotation.Generated;
-import org.springframework.boot.context.properties.ConfigurationProperties;
-
-@Generated("org.apache.camel.maven.connector.SpringBootAutoConfigurationMojo")
-@ConfigurationProperties(prefix = "camel.connector.petstore")
-public class PetStoreConnectorConfiguration
-        extends
-            PetStoreConnectorConfigurationCommon {
-
-    /**
-     * Define additional configuration definitions
-     */
-    private Map<String, PetStoreConnectorConfigurationCommon> configurations = new HashMap<>();
-
-    public Map<String, PetStoreConnectorConfigurationCommon> getConfigurations() {
-        return configurations;
-    }
-}
\ No newline at end of file
diff --git a/connectors/examples/petstore-connector/src/main/java/org/foo/connector/springboot/PetStoreConnectorConfigurationCommon.java b/connectors/examples/petstore-connector/src/main/java/org/foo/connector/springboot/PetStoreConnectorConfigurationCommon.java
deleted file mode 100644
index c0ef487..0000000
--- a/connectors/examples/petstore-connector/src/main/java/org/foo/connector/springboot/PetStoreConnectorConfigurationCommon.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/**
- * 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.foo.connector.springboot;
-
-import java.net.URI;
-import javax.annotation.Generated;
-
-/**
- * Pets in the store
- * 
- * Generated by camel-package-maven-plugin - do not edit this file!
- */
-@Generated("org.apache.camel.maven.connector.SpringBootAutoConfigurationMojo")
-public class PetStoreConnectorConfigurationCommon {
-
-    /**
-     * Path to the Swagger specification file. The scheme host base path are
-     * taken from this specification but these can be overriden with properties
-     * on the component or endpoint level. If not given the component tries to
-     * load swagger.json resource. Note that the host defined on the component
-     * and endpoint of this Component should contain the scheme hostname and
-     * optionally the port in the URI syntax (i.e.
-     * https://api.example.com:8080). Can be overriden in endpoint
-     * configuration.
-     */
-    private URI specificationUri;
-    /**
-     * ID of the operation from the Swagger specification.
-     */
-    private String operationId;
-    /**
-     * Delay in milli seconds between scheduling (executing)
-     */
-    private long schedulerPeriod = 5000L;
-
-    public URI getSpecificationUri() {
-        return specificationUri;
-    }
-
-    public void setSpecificationUri(URI specificationUri) {
-        this.specificationUri = specificationUri;
-    }
-
-    public String getOperationId() {
-        return operationId;
-    }
-
-    public void setOperationId(String operationId) {
-        this.operationId = operationId;
-    }
-
-    public long getSchedulerPeriod() {
-        return schedulerPeriod;
-    }
-
-    public void setSchedulerPeriod(long schedulerPeriod) {
-        this.schedulerPeriod = schedulerPeriod;
-    }
-}
\ No newline at end of file
diff --git a/connectors/examples/petstore-connector/src/main/resources/META-INF/services/org/apache/camel/component/petstore b/connectors/examples/petstore-connector/src/main/resources/META-INF/services/org/apache/camel/component/petstore
deleted file mode 100644
index 3344d63..0000000
--- a/connectors/examples/petstore-connector/src/main/resources/META-INF/services/org/apache/camel/component/petstore
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.foo.connector.PetStoreComponent
\ No newline at end of file
diff --git a/connectors/examples/petstore-connector/src/main/resources/META-INF/spring.factories b/connectors/examples/petstore-connector/src/main/resources/META-INF/spring.factories
deleted file mode 100644
index 1a5d3bd..0000000
--- a/connectors/examples/petstore-connector/src/main/resources/META-INF/spring.factories
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# 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.
-#
-
-org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
-org.foo.connector.springboot.PetStoreConnectorAutoConfiguration
diff --git a/connectors/examples/petstore-connector/src/main/resources/camel-connector-schema.json b/connectors/examples/petstore-connector/src/main/resources/camel-connector-schema.json
deleted file mode 100644
index fda95e2..0000000
--- a/connectors/examples/petstore-connector/src/main/resources/camel-connector-schema.json
+++ /dev/null
@@ -1,63 +0,0 @@
-{
-  "component":{
-    "kind":"component",
-    "baseScheme":"rest-swagger",
-    "scheme":"petstore",
-    "syntax":"petstore:specificationUri#operationId",
-    "title":"PetStore",
-    "description":"Pets in the store",
-    "label":"api,rest",
-    "deprecated":false,
-    "async":false,
-    "consumerOnly":true,
-    "lenientProperties":false,
-    "javaType":"org.foo.connector.PetStoreComponent",
-    "groupId":"org.foo",
-    "artifactId":"petstore-connector",
-    "version":"2.22.0-SNAPSHOT"
-  },
-  "componentProperties":{
-    "specificationUri":{
-      "kind":"property",
-      "displayName":"Specification Uri",
-      "group":"producer",
-      "label":"producer",
-      "required":false,
-      "type":"string",
-      "javaType":"java.net.URI",
-      "deprecated":false,
-      "secret":false,
-      "defaultValue":"http:\/\/petstore.swagger.io\/v2\/swagger.json",
-      "description":"Path to the Swagger specification file. The scheme host base path are taken from this specification but these can be overriden with properties on the component or endpoint level. If not given the component tries to load swagger.json resource. Note that the host defined on the component and endpoint of this Component should contain the scheme hostname and optionally the port in the URI syntax (i.e. https:\/\/api.example.com:8080). Can be overriden in endpoint configuration."
-    }
-  },
-  "properties":{
-    "operationId":{
-      "kind":"path",
-      "displayName":"Operation Id",
-      "group":"producer",
-      "label":"producer",
-      "required":true,
-      "type":"string",
-      "javaType":"java.lang.String",
-      "deprecated":false,
-      "secret":false,
-      "description":"ID of the operation from the Swagger specification."
-    },
-    "schedulerPeriod":{
-      "kind":"parameter",
-      "displayName":"Period",
-      "group":"consumer",
-      "required":false,
-      "type":"integer",
-      "javaType":"long",
-      "deprecated":false,
-      "secret":false,
-      "defaultValue":5000,
-      "description":"Delay in milli seconds between scheduling (executing)"
-    }
-  },
-  "connectorProperties":{
-    
-  }
-}
\ No newline at end of file
diff --git a/connectors/examples/petstore-connector/src/main/resources/camel-connector.json b/connectors/examples/petstore-connector/src/main/resources/camel-connector.json
deleted file mode 100644
index f16fbb0..0000000
--- a/connectors/examples/petstore-connector/src/main/resources/camel-connector.json
+++ /dev/null
@@ -1,28 +0,0 @@
-{
-  "baseScheme" : "rest-swagger",
-  "baseGroupId" : "org.apache.camel",
-  "baseArtifactId" : "camel-rest-swagger",
-  "baseVersion" : "2.22.0-SNAPSHOT",
-  "baseJavaType" : "org.apache.camel.component.rest.swagger.RestSwaggerComponent",
-  "name" : "PetStore",
-  "scheme" : "petstore",
-  "javaType" : "org.foo.connector.PetStoreComponent",
-  "groupId" : "org.foo",
-  "artifactId" : "petstore-connector",
-  "version" : "2.22.0-SNAPSHOT",
-  "description" : "Pets in the store",
-  "labels" : [ "api", "rest" ],
-  "pattern" : "From",
-  "scheduler" : "timer",
-  "inputDataType" : "none",
-  "outputDataType" : "json",
-  "componentOptions" : [ "specificationUri" ],
-  "globalOptions" : [ "specificationUri" ],
-  "endpointOptions" : [ "operationId", "schedulerPeriod" ],
-  "componentValues" : {
-    "specificationUri" : "http://petstore.swagger.io/v2/swagger.json"
-  },
-  "endpointValues" : {
-    "schedulerPeriod" : 5000
-  }
-}
\ No newline at end of file
diff --git a/connectors/examples/petstore-example/Readme.md b/connectors/examples/petstore-example/Readme.md
deleted file mode 100644
index 873a67e..0000000
--- a/connectors/examples/petstore-example/Readme.md
+++ /dev/null
@@ -1,30 +0,0 @@
-## PetStore Example
-
-This is an example that uses the `petstore` Camel connectors.
-
-### How to run
-
-This example can be run from the command line using:
-
-    mvn spring-boot:run
-    
-### Scheduled connector
-
-The `petstore` connector is a scheduled connector which means it has built-in
-a Camel `timer` endpoint as the starting point, so you start from the connector
-in a Camel route as shown below:
-
-```
-    from("petstore?operationId=getInventory&schedulerPeriod=2000")
-        .log("Pets in the store ${body}");
-
-```
-
-What happens is that Camel will transform this into a route that looks like:
-
-```
-    from("timer:petstore?period=2000")
-        .to("petstore?operationId=getInventory")
-        .log("Pets in the store ${body}");
-
-```
\ No newline at end of file
diff --git a/connectors/examples/petstore-example/pom.xml b/connectors/examples/petstore-example/pom.xml
deleted file mode 100644
index cb495e9..0000000
--- a/connectors/examples/petstore-example/pom.xml
+++ /dev/null
@@ -1,129 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    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.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-
-  <modelVersion>4.0.0</modelVersion>
-
-  <parent>
-    <groupId>org.apache.camel</groupId>
-    <artifactId>connectors-examples</artifactId>
-    <version>2.22.0-SNAPSHOT</version>
-    <relativePath>..</relativePath>
-  </parent>
-
-  <groupId>org.foo</groupId>
-  <artifactId>petstore-example</artifactId>
-  <name>Camel :: Connectors :: Examples :: PetStore Example</name>
-  <description>PetStore Example</description>
-  <packaging>jar</packaging>
-
-  <dependencyManagement>
-    <dependencies>
-      <!-- Spring Boot BOM -->
-      <dependency>
-        <groupId>org.springframework.boot</groupId>
-        <artifactId>spring-boot-dependencies</artifactId>
-        <version>${spring-boot-version}</version>
-        <type>pom</type>
-        <scope>import</scope>
-      </dependency>
-      <!-- Camel BOM -->
-      <dependency>
-        <groupId>org.apache.camel</groupId>
-        <artifactId>camel-spring-boot-dependencies</artifactId>
-        <version>${project.version}</version>
-        <type>pom</type>
-        <scope>import</scope>
-      </dependency>
-    </dependencies>
-  </dependencyManagement>
-
-  <dependencies>
-
-    <!-- spring-boot -->
-    <dependency>
-      <groupId>org.springframework.boot</groupId>
-      <artifactId>spring-boot-starter-web</artifactId>
-      <version>${spring-boot-version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.springframework.boot</groupId>
-      <artifactId>spring-boot-starter-actuator</artifactId>
-      <version>${spring-boot-version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.springframework.boot</groupId>
-      <artifactId>spring-boot-starter-undertow</artifactId>
-      <version>${spring-boot-version}</version>
-    </dependency>
-
-    <dependency>
-      <groupId>org.apache.camel</groupId>
-      <artifactId>camel-spring-boot-starter</artifactId>
-      <version>${project.version}</version>
-    </dependency>
-
-    <!-- connectors used in this example -->
-    <dependency>
-      <groupId>org.foo</groupId>
-      <artifactId>petstore-connector</artifactId>
-      <version>${project.version}</version>
-    </dependency>
-
-  </dependencies>
-
-  <build>
-
-    <plugins>
-      <plugin>
-        <groupId>org.springframework.boot</groupId>
-        <artifactId>spring-boot-maven-plugin</artifactId>
-        <version>${spring-boot-version}</version>
-        <executions>
-          <execution>
-            <goals>
-              <goal>repackage</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-  </build>
-
-  <profiles>
-    <profile>
-      <id>jdk9+-build</id>
-      <activation>
-        <jdk>[9,)</jdk>
-      </activation>
-      <build>
-        <plugins>
-          <plugin>
-            <artifactId>maven-surefire-plugin</artifactId>
-            <configuration>
-              <argLine>--add-modules java.xml.bind</argLine>
-            </configuration>
-          </plugin>
-        </plugins>
-      </build>
-    </profile>
-  </profiles>
-</project>
diff --git a/connectors/examples/petstore-example/src/main/java/org/foo/PetStoreApplication.java b/connectors/examples/petstore-example/src/main/java/org/foo/PetStoreApplication.java
deleted file mode 100644
index 04ba954..0000000
--- a/connectors/examples/petstore-example/src/main/java/org/foo/PetStoreApplication.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/**
- * 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.foo;
-
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-
-//CHECKSTYLE:OFF
-@SpringBootApplication
-public class PetStoreApplication {
-
-    /**
-     * A main method to start this application.
-     */
-    public static void main(String[] args) {
-        SpringApplication.run(PetStoreApplication.class, args);
-    }
-
-}
-//CHECKSTYLE:ON
\ No newline at end of file
diff --git a/connectors/examples/petstore-example/src/main/java/org/foo/PetStoreRoute.java b/connectors/examples/petstore-example/src/main/java/org/foo/PetStoreRoute.java
deleted file mode 100644
index cd22f83..0000000
--- a/connectors/examples/petstore-example/src/main/java/org/foo/PetStoreRoute.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/**
- * 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.foo;
-
-import org.apache.camel.builder.RouteBuilder;
-import org.springframework.stereotype.Component;
-
-/**
- * Camel route that uses the petstore connector
- */
-@Component
-public class PetStoreRoute extends RouteBuilder {
-
-    @Override
-    public void configure() throws Exception {
-        from("petstore?operationId=getInventory&schedulerPeriod=2000")
-            .log("Pets in the store ${body}");
-    }
-}
diff --git a/connectors/examples/petstore-example/src/main/resources/application.properties b/connectors/examples/petstore-example/src/main/resources/application.properties
deleted file mode 100644
index 65ebe13..0000000
--- a/connectors/examples/petstore-example/src/main/resources/application.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-## ---------------------------------------------------------------------------
-## 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.
-## ---------------------------------------------------------------------------
-
-camel.springboot.name=PetStore
-
-# the url for the swagger doc
-camel.connector.petstore.specification-uri=http://petstore.swagger.io/v2/swagger.json
\ No newline at end of file
diff --git a/connectors/examples/pom.xml b/connectors/examples/pom.xml
deleted file mode 100644
index 2162239..0000000
--- a/connectors/examples/pom.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    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.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-
-  <modelVersion>4.0.0</modelVersion>
-
-  <parent>
-    <groupId>org.apache.camel</groupId>
-    <artifactId>connectors</artifactId>
-    <version>2.22.0-SNAPSHOT</version>
-    <relativePath>..</relativePath>
-  </parent>
-
-  <artifactId>connectors-examples</artifactId>
-  <name>Camel :: Connectors :: Examples (deprecated)</name>
-  <description>Camel Connectors Examples</description>
-  <packaging>pom</packaging>
-
-  <modules>
-    <module>beverage-component</module>
-    <module>foo-connector</module>
-    <module>bar-connector</module>
-    <module>wine-connector</module>
-    <module>foo-bar-wine-example</module>
-    <module>salesforce-upsert-contact-connector</module>
-    <module>twitter-mention-connector</module>
-    <module>twitter-find-connector</module>
-    <module>twitter-find-example</module>
-    <module>twitter-salesforce-example</module>
-    <module>petstore-connector</module>
-    <module>petstore-example</module>
-  </modules>
-
-</project>
diff --git a/connectors/examples/salesforce-upsert-contact-connector/pom.xml b/connectors/examples/salesforce-upsert-contact-connector/pom.xml
deleted file mode 100644
index b154008..0000000
--- a/connectors/examples/salesforce-upsert-contact-connector/pom.xml
+++ /dev/null
@@ -1,185 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    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.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-
-  <parent>
-    <groupId>org.apache.camel</groupId>
-    <artifactId>connectors-examples</artifactId>
-    <version>2.22.0-SNAPSHOT</version>
-    <relativePath>..</relativePath>
-  </parent>
-
-  <groupId>org.foo</groupId>
-  <artifactId>salesforce-upsert-contact-connector</artifactId>
-  <name>Camel :: Connectors :: Examples :: Salesforce Upsert Contact Connector</name>
-  <description>Salesforce Upsert Contact Connector</description>
-
-  <dependencies>
-
-    <!-- base component to use for this connector -->
-    <dependency>
-      <groupId>org.apache.camel</groupId>
-      <artifactId>camel-salesforce</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.camel</groupId>
-      <artifactId>camel-salesforce-starter</artifactId>
-    </dependency>
-
-    <!-- camel-connector -->
-    <dependency>
-      <groupId>org.apache.camel</groupId>
-      <artifactId>camel-connector</artifactId>
-    </dependency>
-
-    <!-- camel and spring boot compiler plugins -->
-    <dependency>
-      <groupId>org.apache.camel</groupId>
-      <artifactId>apt</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.springframework.boot</groupId>
-      <artifactId>spring-boot-configuration-processor</artifactId>
-      <version>${spring-boot-version}</version>
-    </dependency>
-  </dependencies>
-
-  <build>
-    <plugins>
-      <!-- add src/generated/java as source directory -->
-      <plugin>
-        <groupId>org.codehaus.mojo</groupId>
-        <artifactId>build-helper-maven-plugin</artifactId>
-        <executions>
-          <execution>
-            <id>add-dto-source</id>
-            <phase>generate-sources</phase>
-            <goals>
-              <goal>add-source</goal>
-            </goals>
-            <configuration>
-              <sources>
-                <source>src/generated/java</source>
-              </sources>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-
-      <!-- this is needed due Apache Camel source code uses the OSGi plugin to build JARs -->
-      <!-- for end users whom create connectors you would not have this problem -->
-      <!-- turn off jar plugin as we use connector plugin to jar instead -->
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-jar-plugin</artifactId>
-        <version>${maven-jar-plugin-version}</version>
-        <executions>
-          <execution>
-            <id>default-jar</id>
-            <phase/>
-          </execution>
-        </executions>
-      </plugin>
-
-      <!-- connector plugin will build the jar -->
-      <plugin>
-        <groupId>org.apache.camel</groupId>
-        <artifactId>camel-connector-maven-plugin</artifactId>
-        <version>${project.version}</version>
-        <executions>
-          <execution>
-            <id>boot</id>
-            <goals>
-              <goal>prepare-spring-boot-auto-configuration</goal>
-            </goals>
-          </execution>
-          <execution>
-            <id>connector</id>
-            <goals>
-              <goal>jar</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-
-    </plugins>
-  </build>
-
-  <profiles>
-    <profile>
-      <id>regenerate-dto</id>
-      <activation>
-        <file>
-          <exists>salesforce-authentication.properties</exists>
-        </file>
-      </activation>
-
-      <build>
-        <plugins>
-
-          <!-- read Salesforce authentication properties -->
-          <plugin>
-            <groupId>org.codehaus.mojo</groupId>
-            <artifactId>properties-maven-plugin</artifactId>
-            <executions>
-              <execution>
-                <id>read-salesforce-authentication-properties</id>
-                <phase>initialize</phase>
-                <goals>
-                  <goal>read-project-properties</goal>
-                </goals>
-                <configuration>
-                  <files>
-                    <file>salesforce-authentication.properties</file>
-                  </files>
-                </configuration>
-              </execution>
-            </executions>
-          </plugin>
-
-          <!-- generate Contact DTOs -->
-          <plugin>
-            <groupId>org.apache.camel.maven</groupId>
-            <artifactId>camel-salesforce-maven-plugin</artifactId>
-            <version>${project.version}</version>
-            <executions>
-              <execution>
-                <id>generate-dtos</id>
-                <goals>
-                  <goal>generate</goal>
-                </goals>
-                <configuration>
-                  <version>37.0</version>
-                  <outputDirectory>src/generated/java</outputDirectory>
-                  <packageName>org.foo.salesforce.upsert.contact</packageName>
-                  <includes>Contact</includes>
-                </configuration>
-              </execution>
-            </executions>
-          </plugin>
-
-        </plugins>
-      </build>
-    </profile>
-  </profiles>
-
-</project>
diff --git a/connectors/examples/salesforce-upsert-contact-connector/salesforce-authentication.properties.sample b/connectors/examples/salesforce-upsert-contact-connector/salesforce-authentication.properties.sample
deleted file mode 100644
index 7cca838..0000000
--- a/connectors/examples/salesforce-upsert-contact-connector/salesforce-authentication.properties.sample
+++ /dev/null
@@ -1,23 +0,0 @@
-## ---------------------------------------------------------------------------
-## 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.
-## ---------------------------------------------------------------------------
-
-## Example properties needed by the camel-salesforce-maven-plugin to generate
-## DTOs
-camelSalesforce.clientId     = 
-camelSalesforce.clientSecret =
-camelSalesforce.password     =
-camelSalesforce.userName     =
diff --git a/connectors/examples/salesforce-upsert-contact-connector/src/generated/java/org/foo/salesforce/upsert/contact/Contact.java b/connectors/examples/salesforce-upsert-contact-connector/src/generated/java/org/foo/salesforce/upsert/contact/Contact.java
deleted file mode 100644
index 55988d9..0000000
--- a/connectors/examples/salesforce-upsert-contact-connector/src/generated/java/org/foo/salesforce/upsert/contact/Contact.java
+++ /dev/null
@@ -1,3317 +0,0 @@
-/**
- * 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.
- */
-/*
- * Salesforce DTO generated by camel-salesforce-maven-plugin
- * Generated on: Thu Feb 09 14:29:57 CET 2017
- */
-package org.foo.salesforce.upsert.contact;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import com.thoughtworks.xstream.annotations.XStreamAlias;
-import com.thoughtworks.xstream.annotations.XStreamConverter;
-
-import org.apache.camel.component.salesforce.api.PicklistEnumConverter;
-import org.apache.camel.component.salesforce.api.dto.AbstractDescribedSObjectBase;
-import org.apache.camel.component.salesforce.api.dto.ChildRelationShip;
-import org.apache.camel.component.salesforce.api.dto.InfoUrls;
-import org.apache.camel.component.salesforce.api.dto.NamedLayoutInfo;
-import org.apache.camel.component.salesforce.api.dto.RecordTypeInfo;
-import org.apache.camel.component.salesforce.api.dto.SObjectDescription;
-import org.apache.camel.component.salesforce.api.dto.SObjectDescriptionUrls;
-import org.apache.camel.component.salesforce.api.dto.SObjectField;
-
-import com.fasterxml.jackson.annotation.JsonProperty;
-
-/**
- * Salesforce DTO for SObject Contact
- */
-@XStreamAlias("Contact")
-public class Contact extends AbstractDescribedSObjectBase {
-
-    private static final SObjectDescription DESCRIPTION = createSObjectDescription();
-
-    // MasterRecordId
-    private String MasterRecordId;
-
-    @JsonProperty("MasterRecordId")
-    public String getMasterRecordId() {
-        return this.MasterRecordId;
-    }
-
-    @JsonProperty("MasterRecordId")
-    public void setMasterRecordId(String MasterRecordId) {
-        this.MasterRecordId = MasterRecordId;
-    }
-
-    // AccountId
-    private String AccountId;
-
-    @JsonProperty("AccountId")
-    public String getAccountId() {
-        return this.AccountId;
-    }
-
-    @JsonProperty("AccountId")
-    public void setAccountId(String AccountId) {
-        this.AccountId = AccountId;
-    }
-
-    // LastName
-    private String LastName;
-
-    @JsonProperty("LastName")
-    public String getLastName() {
-        return this.LastName;
-    }
-
-    @JsonProperty("LastName")
-    public void setLastName(String LastName) {
-        this.LastName = LastName;
-    }
-
-    // FirstName
-    private String FirstName;
-
-    @JsonProperty("FirstName")
-    public String getFirstName() {
-        return this.FirstName;
-    }
-
-    @JsonProperty("FirstName")
-    public void setFirstName(String FirstName) {
-        this.FirstName = FirstName;
-    }
-
-    // Salutation
-    @XStreamConverter(PicklistEnumConverter.class)
-    private Contact_SalutationEnum Salutation;
-
-    @JsonProperty("Salutation")
-    public Contact_SalutationEnum getSalutation() {
-        return this.Salutation;
-    }
-
-    @JsonProperty("Salutation")
-    public void setSalutation(Contact_SalutationEnum Salutation) {
-        this.Salutation = Salutation;
-    }
-
-    // OtherStreet
-    private String OtherStreet;
-
-    @JsonProperty("OtherStreet")
-    public String getOtherStreet() {
-        return this.OtherStreet;
-    }
-
-    @JsonProperty("OtherStreet")
-    public void setOtherStreet(String OtherStreet) {
-        this.OtherStreet = OtherStreet;
-    }
-
-    // OtherCity
-    private String OtherCity;
-
-    @JsonProperty("OtherCity")
-    public String getOtherCity() {
-        return this.OtherCity;
-    }
-
-    @JsonProperty("OtherCity")
-    public void setOtherCity(String OtherCity) {
-        this.OtherCity = OtherCity;
-    }
-
-    // OtherState
-    private String OtherState;
-
-    @JsonProperty("OtherState")
-    public String getOtherState() {
-        return this.OtherState;
-    }
-
-    @JsonProperty("OtherState")
-    public void setOtherState(String OtherState) {
-        this.OtherState = OtherState;
-    }
-
-    // OtherPostalCode
-    private String OtherPostalCode;
-
-    @JsonProperty("OtherPostalCode")
-    public String getOtherPostalCode() {
-        return this.OtherPostalCode;
-    }
-
-    @JsonProperty("OtherPostalCode")
-    public void setOtherPostalCode(String OtherPostalCode) {
-        this.OtherPostalCode = OtherPostalCode;
-    }
-
-    // OtherCountry
-    private String OtherCountry;
-
-    @JsonProperty("OtherCountry")
-    public String getOtherCountry() {
-        return this.OtherCountry;
-    }
-
-    @JsonProperty("OtherCountry")
-    public void setOtherCountry(String OtherCountry) {
-        this.OtherCountry = OtherCountry;
-    }
-
-    // OtherLatitude
-    private Double OtherLatitude;
-
-    @JsonProperty("OtherLatitude")
-    public Double getOtherLatitude() {
-        return this.OtherLatitude;
-    }
-
-    @JsonProperty("OtherLatitude")
-    public void setOtherLatitude(Double OtherLatitude) {
-        this.OtherLatitude = OtherLatitude;
-    }
-
-    // OtherLongitude
-    private Double OtherLongitude;
-
-    @JsonProperty("OtherLongitude")
-    public Double getOtherLongitude() {
-        return this.OtherLongitude;
-    }
-
-    @JsonProperty("OtherLongitude")
-    public void setOtherLongitude(Double OtherLongitude) {
-        this.OtherLongitude = OtherLongitude;
-    }
-
-    // OtherGeocodeAccuracy
-    @XStreamConverter(PicklistEnumConverter.class)
-    private Contact_OtherGeocodeAccuracyEnum OtherGeocodeAccuracy;
-
-    @JsonProperty("OtherGeocodeAccuracy")
-    public Contact_OtherGeocodeAccuracyEnum getOtherGeocodeAccuracy() {
-        return this.OtherGeocodeAccuracy;
-    }
-
-    @JsonProperty("OtherGeocodeAccuracy")
-    public void setOtherGeocodeAccuracy(Contact_OtherGeocodeAccuracyEnum OtherGeocodeAccuracy) {
-        this.OtherGeocodeAccuracy = OtherGeocodeAccuracy;
-    }
-
-    // OtherAddress
-    private org.apache.camel.component.salesforce.api.dto.Address OtherAddress;
-
-    @JsonProperty("OtherAddress")
-    public org.apache.camel.component.salesforce.api.dto.Address getOtherAddress() {
-        return this.OtherAddress;
-    }
-
-    @JsonProperty("OtherAddress")
-    public void setOtherAddress(org.apache.camel.component.salesforce.api.dto.Address OtherAddress) {
-        this.OtherAddress = OtherAddress;
-    }
-
-    // MailingStreet
-    private String MailingStreet;
-
-    @JsonProperty("MailingStreet")
-    public String getMailingStreet() {
-        return this.MailingStreet;
-    }
-
-    @JsonProperty("MailingStreet")
-    public void setMailingStreet(String MailingStreet) {
-        this.MailingStreet = MailingStreet;
-    }
-
-    // MailingCity
-    private String MailingCity;
-
-    @JsonProperty("MailingCity")
-    public String getMailingCity() {
-        return this.MailingCity;
-    }
-
-    @JsonProperty("MailingCity")
-    public void setMailingCity(String MailingCity) {
-        this.MailingCity = MailingCity;
-    }
-
-    // MailingState
-    private String MailingState;
-
-    @JsonProperty("MailingState")
-    public String getMailingState() {
-        return this.MailingState;
-    }
-
-    @JsonProperty("MailingState")
-    public void setMailingState(String MailingState) {
-        this.MailingState = MailingState;
-    }
-
-    // MailingPostalCode
-    private String MailingPostalCode;
-
-    @JsonProperty("MailingPostalCode")
-    public String getMailingPostalCode() {
-        return this.MailingPostalCode;
-    }
-
-    @JsonProperty("MailingPostalCode")
-    public void setMailingPostalCode(String MailingPostalCode) {
-        this.MailingPostalCode = MailingPostalCode;
-    }
-
-    // MailingCountry
-    private String MailingCountry;
-
-    @JsonProperty("MailingCountry")
-    public String getMailingCountry() {
-        return this.MailingCountry;
-    }
-
-    @JsonProperty("MailingCountry")
-    public void setMailingCountry(String MailingCountry) {
-        this.MailingCountry = MailingCountry;
-    }
-
-    // MailingLatitude
-    private Double MailingLatitude;
-
-    @JsonProperty("MailingLatitude")
-    public Double getMailingLatitude() {
-        return this.MailingLatitude;
-    }
-
-    @JsonProperty("MailingLatitude")
-    public void setMailingLatitude(Double MailingLatitude) {
-        this.MailingLatitude = MailingLatitude;
-    }
-
-    // MailingLongitude
-    private Double MailingLongitude;
-
-    @JsonProperty("MailingLongitude")
-    public Double getMailingLongitude() {
-        return this.MailingLongitude;
-    }
-
-    @JsonProperty("MailingLongitude")
-    public void setMailingLongitude(Double MailingLongitude) {
-        this.MailingLongitude = MailingLongitude;
-    }
-
-    // MailingGeocodeAccuracy
-    @XStreamConverter(PicklistEnumConverter.class)
-    private Contact_MailingGeocodeAccuracyEnum MailingGeocodeAccuracy;
-
-    @JsonProperty("MailingGeocodeAccuracy")
-    public Contact_MailingGeocodeAccuracyEnum getMailingGeocodeAccuracy() {
-        return this.MailingGeocodeAccuracy;
-    }
-
-    @JsonProperty("MailingGeocodeAccuracy")
-    public void setMailingGeocodeAccuracy(Contact_MailingGeocodeAccuracyEnum MailingGeocodeAccuracy) {
-        this.MailingGeocodeAccuracy = MailingGeocodeAccuracy;
-    }
-
-    // MailingAddress
-    private org.apache.camel.component.salesforce.api.dto.Address MailingAddress;
-
-    @JsonProperty("MailingAddress")
-    public org.apache.camel.component.salesforce.api.dto.Address getMailingAddress() {
-        return this.MailingAddress;
-    }
-
-    @JsonProperty("MailingAddress")
-    public void setMailingAddress(org.apache.camel.component.salesforce.api.dto.Address MailingAddress) {
-        this.MailingAddress = MailingAddress;
-    }
-
-    // Phone
-    private String Phone;
-
-    @JsonProperty("Phone")
-    public String getPhone() {
-        return this.Phone;
-    }
-
-    @JsonProperty("Phone")
-    public void setPhone(String Phone) {
-        this.Phone = Phone;
-    }
-
-    // Fax
-    private String Fax;
-
-    @JsonProperty("Fax")
-    public String getFax() {
-        return this.Fax;
-    }
-
-    @JsonProperty("Fax")
-    public void setFax(String Fax) {
-        this.Fax = Fax;
-    }
-
-    // MobilePhone
-    private String MobilePhone;
-
-    @JsonProperty("MobilePhone")
-    public String getMobilePhone() {
-        return this.MobilePhone;
-    }
-
-    @JsonProperty("MobilePhone")
-    public void setMobilePhone(String MobilePhone) {
-        this.MobilePhone = MobilePhone;
-    }
-
-    // HomePhone
-    private String HomePhone;
-
-    @JsonProperty("HomePhone")
-    public String getHomePhone() {
-        return this.HomePhone;
-    }
-
-    @JsonProperty("HomePhone")
-    public void setHomePhone(String HomePhone) {
-        this.HomePhone = HomePhone;
-    }
-
-    // OtherPhone
-    private String OtherPhone;
-
-    @JsonProperty("OtherPhone")
-    public String getOtherPhone() {
-        return this.OtherPhone;
-    }
-
-    @JsonProperty("OtherPhone")
-    public void setOtherPhone(String OtherPhone) {
-        this.OtherPhone = OtherPhone;
-    }
-
-    // AssistantPhone
-    private String AssistantPhone;
-
-    @JsonProperty("AssistantPhone")
-    public String getAssistantPhone() {
-        return this.AssistantPhone;
-    }
-
-    @JsonProperty("AssistantPhone")
-    public void setAssistantPhone(String AssistantPhone) {
-        this.AssistantPhone = AssistantPhone;
-    }
-
-    // ReportsToId
-    private String ReportsToId;
-
-    @JsonProperty("ReportsToId")
-    public String getReportsToId() {
-        return this.ReportsToId;
-    }
-
-    @JsonProperty("ReportsToId")
-    public void setReportsToId(String ReportsToId) {
-        this.ReportsToId = ReportsToId;
-    }
-
-    // Email
-    private String Email;
-
-    @JsonProperty("Email")
-    public String getEmail() {
-        return this.Email;
-    }
-
-    @JsonProperty("Email")
-    public void setEmail(String Email) {
-        this.Email = Email;
-    }
-
-    // Title
-    private String Title;
-
-    @JsonProperty("Title")
-    public String getTitle() {
-        return this.Title;
-    }
-
-    @JsonProperty("Title")
-    public void setTitle(String Title) {
-        this.Title = Title;
-    }
-
-    // Department
-    private String Department;
-
-    @JsonProperty("Department")
-    public String getDepartment() {
-        return this.Department;
-    }
-
-    @JsonProperty("Department")
-    public void setDepartment(String Department) {
-        this.Department = Department;
-    }
-
-    // AssistantName
-    private String AssistantName;
-
-    @JsonProperty("AssistantName")
-    public String getAssistantName() {
-        return this.AssistantName;
-    }
-
-    @JsonProperty("AssistantName")
-    public void setAssistantName(String AssistantName) {
-        this.AssistantName = AssistantName;
-    }
-
-    // LeadSource
-    @XStreamConverter(PicklistEnumConverter.class)
-    private Contact_LeadSourceEnum LeadSource;
-
-    @JsonProperty("LeadSource")
-    public Contact_LeadSourceEnum getLeadSource() {
-        return this.LeadSource;
-    }
-
-    @JsonProperty("LeadSource")
-    public void setLeadSource(Contact_LeadSourceEnum LeadSource) {
-        this.LeadSource = LeadSource;
-    }
-
-    // Birthdate
-    private java.time.ZonedDateTime Birthdate;
-
-    @JsonProperty("Birthdate")
-    public java.time.ZonedDateTime getBirthdate() {
-        return this.Birthdate;
-    }
-
-    @JsonProperty("Birthdate")
-    public void setBirthdate(java.time.ZonedDateTime Birthdate) {
-        this.Birthdate = Birthdate;
-    }
-
-    // Description
-    private String Description;
-
-    @JsonProperty("Description")
-    public String getDescription() {
-        return this.Description;
-    }
-
-    @JsonProperty("Description")
-    public void setDescription(String Description) {
-        this.Description = Description;
-    }
-
-    // LastCURequestDate
-    private java.time.ZonedDateTime LastCURequestDate;
-
-    @JsonProperty("LastCURequestDate")
-    public java.time.ZonedDateTime getLastCURequestDate() {
-        return this.LastCURequestDate;
-    }
-
-    @JsonProperty("LastCURequestDate")
-    public void setLastCURequestDate(java.time.ZonedDateTime LastCURequestDate) {
-        this.LastCURequestDate = LastCURequestDate;
-    }
-
-    // LastCUUpdateDate
-    private java.time.ZonedDateTime LastCUUpdateDate;
-
-    @JsonProperty("LastCUUpdateDate")
-    public java.time.ZonedDateTime getLastCUUpdateDate() {
-        return this.LastCUUpdateDate;
-    }
-
-    @JsonProperty("LastCUUpdateDate")
-    public void setLastCUUpdateDate(java.time.ZonedDateTime LastCUUpdateDate) {
-        this.LastCUUpdateDate = LastCUUpdateDate;
-    }
-
-    // EmailBouncedReason
-    private String EmailBouncedReason;
-
-    @JsonProperty("EmailBouncedReason")
-    public String getEmailBouncedReason() {
-        return this.EmailBouncedReason;
-    }
-
-    @JsonProperty("EmailBouncedReason")
-    public void setEmailBouncedReason(String EmailBouncedReason) {
-        this.EmailBouncedReason = EmailBouncedReason;
-    }
-
-    // EmailBouncedDate
-    private java.time.ZonedDateTime EmailBouncedDate;
-
-    @JsonProperty("EmailBouncedDate")
-    public java.time.ZonedDateTime getEmailBouncedDate() {
-        return this.EmailBouncedDate;
-    }
-
-    @JsonProperty("EmailBouncedDate")
-    public void setEmailBouncedDate(java.time.ZonedDateTime EmailBouncedDate) {
-        this.EmailBouncedDate = EmailBouncedDate;
-    }
-
-    // IsEmailBounced
-    private Boolean IsEmailBounced;
-
-    @JsonProperty("IsEmailBounced")
-    public Boolean getIsEmailBounced() {
-        return this.IsEmailBounced;
-    }
-
-    @JsonProperty("IsEmailBounced")
-    public void setIsEmailBounced(Boolean IsEmailBounced) {
-        this.IsEmailBounced = IsEmailBounced;
-    }
-
-    // PhotoUrl
-    private String PhotoUrl;
-
-    @JsonProperty("PhotoUrl")
-    public String getPhotoUrl() {
-        return this.PhotoUrl;
-    }
-
-    @JsonProperty("PhotoUrl")
-    public void setPhotoUrl(String PhotoUrl) {
-        this.PhotoUrl = PhotoUrl;
-    }
-
-    // Jigsaw
-    private String Jigsaw;
-
-    @JsonProperty("Jigsaw")
-    public String getJigsaw() {
-        return this.Jigsaw;
-    }
-
-    @JsonProperty("Jigsaw")
-    public void setJigsaw(String Jigsaw) {
-        this.Jigsaw = Jigsaw;
-    }
-
-    // JigsawContactId
-    private String JigsawContactId;
-
-    @JsonProperty("JigsawContactId")
-    public String getJigsawContactId() {
-        return this.JigsawContactId;
-    }
-
-    @JsonProperty("JigsawContactId")
-    public void setJigsawContactId(String JigsawContactId) {
-        this.JigsawContactId = JigsawContactId;
-    }
-
-    // CleanStatus
-    @XStreamConverter(PicklistEnumConverter.class)
-    private Contact_CleanStatusEnum CleanStatus;
-
-    @JsonProperty("CleanStatus")
-    public Contact_CleanStatusEnum getCleanStatus() {
-        return this.CleanStatus;
-    }
-
-    @JsonProperty("CleanStatus")
-    public void setCleanStatus(Contact_CleanStatusEnum CleanStatus) {
-        this.CleanStatus = CleanStatus;
-    }
-
-    // Level__c
-    @XStreamConverter(PicklistEnumConverter.class)
-    private Contact_LevelEnum Level__c;
-
-    @JsonProperty("Level__c")
-    public Contact_LevelEnum getLevel__c() {
-        return this.Level__c;
-    }
-
-    @JsonProperty("Level__c")
-    public void setLevel__c(Contact_LevelEnum Level__c) {
-        this.Level__c = Level__c;
-    }
-
-    // Languages__c
-    private String Languages__c;
-
-    @JsonProperty("Languages__c")
-    public String getLanguages__c() {
-        return this.Languages__c;
-    }
-
-    @JsonProperty("Languages__c")
-    public void setLanguages__c(String Languages__c) {
-        this.Languages__c = Languages__c;
-    }
-
-    // TwitterScreenName__c
-    private String TwitterScreenName__c;
-
-    @JsonProperty("TwitterScreenName__c")
-    public String getTwitterScreenName__c() {
-        return this.TwitterScreenName__c;
-    }
-
-    @JsonProperty("TwitterScreenName__c")
-    public void setTwitterScreenName__c(String TwitterScreenName__c) {
-        this.TwitterScreenName__c = TwitterScreenName__c;
-    }
-
-
-    @Override
-    public final SObjectDescription description() {
-        return DESCRIPTION;
-    }
-
-    private static SObjectDescription createSObjectDescription() {
-        final SObjectDescription description = new SObjectDescription();
-
-
-        description.setMergeable(true);
-        description.setCreateable(true);
-        description.setQueryable(true);
-        description.setLabel("Contact");
-        description.setReplicateable(true);
-
-        final List<RecordTypeInfo> recordTypeInfos1 = new ArrayList<>();
-        description.setRecordTypeInfos(recordTypeInfos1);
-
-        final RecordTypeInfo recordTypeInfo1 = new RecordTypeInfo();
-        recordTypeInfos1.add(recordTypeInfo1);
-
-        recordTypeInfo1.setDefaultRecordTypeMapping(true);
-        recordTypeInfo1.setRecordTypeId("012000000000000AAA");
-        recordTypeInfo1.setAvailable(true);
-
-        final InfoUrls infoUrls1 = new InfoUrls();
-        infoUrls1.setLayout("/services/data/v37.0/sobjects/Contact/describe/layouts/012000000000000AAA");
-        recordTypeInfo1.setUrls(infoUrls1);
-        recordTypeInfo1.setName("Master");
-
-
-        description.setName("Contact");
-        description.setLayoutable(true);
-        description.setDeprecatedAndHidden(false);
-        description.setMruEnabled(true);
-        description.setSearchable(true);
-        description.setFeedEnabled(true);
-        description.setRetrieveable(true);
-        description.setCustomSetting(false);
-        description.setKeyPrefix("003");
-        description.setUndeletable(true);
-        description.setSearchLayoutable("true");
-        description.setTriggerable(true);
-        description.setCustom(false);
-
-        final SObjectDescriptionUrls sObjectDescriptionUrls1 = new SObjectDescriptionUrls();
-        sObjectDescriptionUrls1.setDescribe("/services/data/v37.0/sobjects/Contact/describe");
-        sObjectDescriptionUrls1.setLayouts("/services/data/v37.0/sobjects/Contact/describe/layouts");
-        sObjectDescriptionUrls1.setSobject("/services/data/v37.0/sobjects/Contact");
-        sObjectDescriptionUrls1.setQuickActions("/services/data/v37.0/sobjects/Contact/quickActions");
-        sObjectDescriptionUrls1.setUiEditTemplate("https://na35.salesforce.com/{ID}/e");
-        sObjectDescriptionUrls1.setDefaultValues("/services/data/v37.0/sobjects/Contact/defaultValues?recordTypeId&fields");
-        sObjectDescriptionUrls1.setRowTemplate("/services/data/v37.0/sobjects/Contact/{ID}");
-        sObjectDescriptionUrls1.setListviews("/services/data/v37.0/sobjects/Contact/listviews");
-        sObjectDescriptionUrls1.setCompactLayouts("/services/data/v37.0/sobjects/Contact/describe/compactLayouts");
-        sObjectDescriptionUrls1.setApprovalLayouts("/services/data/v37.0/sobjects/Contact/describe/approvalLayouts");
-        sObjectDescriptionUrls1.setUiNewRecord("https://na35.salesforce.com/003/e");
-        sObjectDescriptionUrls1.setUiDetailTemplate("https://na35.salesforce.com/{ID}");
-        description.setUrls(sObjectDescriptionUrls1);
-        description.setCompactLayoutable(true);
-
-        final List<SObjectField> fields1 = new ArrayList<>();
-        description.setFields(fields1);
-
-        final SObjectField sObjectField1 = new SObjectField();
-        fields1.add(sObjectField1);
-
-        sObjectField1.setWriteRequiresMasterRead(false);
-        sObjectField1.setNillable(false);
-        sObjectField1.setCreateable(false);
-        sObjectField1.setEncrypted(false);
-        sObjectField1.setDigits("0");
-        sObjectField1.setDependentPicklist(false);
-        sObjectField1.setLabel("Contact ID");
-        sObjectField1.setHighScaleNumber(false);
-        sObjectField1.setDisplayLocationInDecimal(false);
-        sObjectField1.setName("Id");
-        sObjectField1.setHtmlFormatted(false);
-        sObjectField1.setDeprecatedAndHidden(false);
-        sObjectField1.setRestrictedPicklist(false);
-        sObjectField1.setNameField(false);
-        sObjectField1.setCaseSensitive(false);
-        sObjectField1.setPermissionable(false);
-        sObjectField1.setCascadeDelete(false);
-        sObjectField1.setDefaultedOnCreate(true);
-        sObjectField1.setExternalId(false);
-        sObjectField1.setSoapType("tns:ID");
-        sObjectField1.setGroupable(true);
-        sObjectField1.setCustom(false);
-        sObjectField1.setScale(0);
-        sObjectField1.setCalculated(false);
-        sObjectField1.setRestrictedDelete(false);
-        sObjectField1.setNamePointing(false);
-        sObjectField1.setIdLookup(true);
-        sObjectField1.setType("id");
-        sObjectField1.setSortable(true);
-        sObjectField1.setLength(18);
-        sObjectField1.setPrecision(0);
-        sObjectField1.setByteLength(18);
-        sObjectField1.setQueryByDistance(false);
-        sObjectField1.setFilterable(true);
-        sObjectField1.setUpdateable(false);
-        sObjectField1.setUnique(false);
-        sObjectField1.setAutoNumber(false);
-
-        final SObjectField sObjectField2 = new SObjectField();
-        fields1.add(sObjectField2);
-
-        sObjectField2.setWriteRequiresMasterRead(false);
-        sObjectField2.setNillable(false);
-        sObjectField2.setCreateable(false);
-        sObjectField2.setEncrypted(false);
-        sObjectField2.setDigits("0");
-        sObjectField2.setDependentPicklist(false);
-        sObjectField2.setLabel("Deleted");
-        sObjectField2.setHighScaleNumber(false);
-        sObjectField2.setDisplayLocationInDecimal(false);
-        sObjectField2.setName("IsDeleted");
-        sObjectField2.setHtmlFormatted(false);
-        sObjectField2.setDeprecatedAndHidden(false);
-        sObjectField2.setRestrictedPicklist(false);
-        sObjectField2.setNameField(false);
-        sObjectField2.setCaseSensitive(false);
-        sObjectField2.setPermissionable(false);
-        sObjectField2.setCascadeDelete(false);
-        sObjectField2.setDefaultedOnCreate(true);
-        sObjectField2.setExternalId(false);
-        sObjectField2.setSoapType("xsd:boolean");
-        sObjectField2.setGroupable(true);
-        sObjectField2.setCustom(false);
-        sObjectField2.setScale(0);
-        sObjectField2.setCalculated(false);
-        sObjectField2.setRestrictedDelete(false);
-        sObjectField2.setNamePointing(false);
-        sObjectField2.setIdLookup(false);
-        sObjectField2.setType("boolean");
-        sObjectField2.setSortable(true);
-        sObjectField2.setLength(0);
-        sObjectField2.setPrecision(0);
-        sObjectField2.setByteLength(0);
-        sObjectField2.setQueryByDistance(false);
-        sObjectField2.setFilterable(true);
-        sObjectField2.setUpdateable(false);
-        sObjectField2.setUnique(false);
-        sObjectField2.setAutoNumber(false);
-
-        final SObjectField sObjectField3 = new SObjectField();
-        fields1.add(sObjectField3);
-
-        sObjectField3.setWriteRequiresMasterRead(false);
-        sObjectField3.setNillable(true);
-        sObjectField3.setCreateable(false);
-        sObjectField3.setEncrypted(false);
-        sObjectField3.setDigits("0");
-        sObjectField3.setDependentPicklist(false);
-        sObjectField3.setLabel("Master Record ID");
-        sObjectField3.setHighScaleNumber(false);
-        sObjectField3.setDisplayLocationInDecimal(false);
-        sObjectField3.setName("MasterRecordId");
-        sObjectField3.setHtmlFormatted(false);
-        sObjectField3.setDeprecatedAndHidden(false);
-        sObjectField3.setRestrictedPicklist(false);
-        sObjectField3.setNameField(false);
-        sObjectField3.setCaseSensitive(false);
-        sObjectField3.setPermissionable(false);
-        sObjectField3.setCascadeDelete(false);
-        sObjectField3.setDefaultedOnCreate(false);
-        sObjectField3.setExternalId(false);
-        sObjectField3.setSoapType("tns:ID");
-        sObjectField3.setGroupable(true);
-        sObjectField3.setCustom(false);
-        sObjectField3.setScale(0);
-        sObjectField3.setCalculated(false);
-        sObjectField3.setRestrictedDelete(false);
-        sObjectField3.setNamePointing(false);
-        sObjectField3.setIdLookup(false);
-        sObjectField3.setType("reference");
-
-        final List<String> referenceTo1 = new ArrayList<>();
-        sObjectField3.setReferenceTo(referenceTo1);
-
-        referenceTo1.add("Contact");
-
-        sObjectField3.setRelationshipName("MasterRecord");
-        sObjectField3.setSortable(true);
-        sObjectField3.setLength(18);
-        sObjectField3.setPrecision(0);
-        sObjectField3.setByteLength(18);
-        sObjectField3.setQueryByDistance(false);
-        sObjectField3.setFilterable(true);
-        sObjectField3.setUpdateable(false);
-        sObjectField3.setUnique(false);
-        sObjectField3.setAutoNumber(false);
-
-        final SObjectField sObjectField4 = new SObjectField();
-        fields1.add(sObjectField4);
-
-        sObjectField4.setWriteRequiresMasterRead(false);
-        sObjectField4.setNillable(true);
-        sObjectField4.setCreateable(true);
-        sObjectField4.setEncrypted(false);
-        sObjectField4.setDigits("0");
-        sObjectField4.setDependentPicklist(false);
-        sObjectField4.setLabel("Account ID");
-        sObjectField4.setHighScaleNumber(false);
-        sObjectField4.setDisplayLocationInDecimal(false);
-        sObjectField4.setName("AccountId");
-        sObjectField4.setHtmlFormatted(false);
-        sObjectField4.setDeprecatedAndHidden(false);
-        sObjectField4.setRestrictedPicklist(false);
-        sObjectField4.setNameField(false);
-        sObjectField4.setCaseSensitive(false);
-        sObjectField4.setPermissionable(true);
-        sObjectField4.setCascadeDelete(false);
-        sObjectField4.setDefaultedOnCreate(false);
-        sObjectField4.setExternalId(false);
-        sObjectField4.setSoapType("tns:ID");
-        sObjectField4.setGroupable(true);
-        sObjectField4.setCustom(false);
-        sObjectField4.setScale(0);
-        sObjectField4.setCalculated(false);
-        sObjectField4.setRestrictedDelete(false);
-        sObjectField4.setNamePointing(false);
-        sObjectField4.setIdLookup(false);
-        sObjectField4.setType("reference");
-
-        final List<String> referenceTo2 = new ArrayList<>();
-        sObjectField4.setReferenceTo(referenceTo2);
-
-        referenceTo2.add("Account");
-
-        sObjectField4.setRelationshipName("Account");
-        sObjectField4.setSortable(true);
-        sObjectField4.setLength(18);
-        sObjectField4.setPrecision(0);
-        sObjectField4.setByteLength(18);
-        sObjectField4.setQueryByDistance(false);
-        sObjectField4.setFilterable(true);
-        sObjectField4.setUpdateable(true);
-        sObjectField4.setUnique(false);
-        sObjectField4.setAutoNumber(false);
-
-        final SObjectField sObjectField5 = new SObjectField();
-        fields1.add(sObjectField5);
-
-        sObjectField5.setWriteRequiresMasterRead(false);
-        sObjectField5.setNillable(false);
-        sObjectField5.setCreateable(true);
-        sObjectField5.setEncrypted(false);
-        sObjectField5.setDigits("0");
-        sObjectField5.setExtraTypeInfo("personname");
-        sObjectField5.setDependentPicklist(false);
-        sObjectField5.setLabel("Last Name");
-        sObjectField5.setHighScaleNumber(false);
-        sObjectField5.setDisplayLocationInDecimal(false);
-        sObjectField5.setName("LastName");
-        sObjectField5.setHtmlFormatted(false);
-        sObjectField5.setDeprecatedAndHidden(false);
-        sObjectField5.setRestrictedPicklist(false);
-        sObjectField5.setNameField(false);
-        sObjectField5.setCaseSensitive(false);
-        sObjectField5.setPermissionable(false);
-        sObjectField5.setCascadeDelete(false);
-        sObjectField5.setDefaultedOnCreate(false);
-        sObjectField5.setExternalId(false);
-        sObjectField5.setSoapType("xsd:string");
-        sObjectField5.setGroupable(true);
-        sObjectField5.setCustom(false);
-        sObjectField5.setScale(0);
-        sObjectField5.setCalculated(false);
-        sObjectField5.setRestrictedDelete(false);
-        sObjectField5.setNamePointing(false);
-        sObjectField5.setIdLookup(false);
-        sObjectField5.setType("string");
-        sObjectField5.setSortable(true);
-        sObjectField5.setLength(80);
-        sObjectField5.setPrecision(0);
-        sObjectField5.setByteLength(240);
-        sObjectField5.setQueryByDistance(false);
-        sObjectField5.setFilterable(true);
-        sObjectField5.setUpdateable(true);
-        sObjectField5.setUnique(false);
-        sObjectField5.setAutoNumber(false);
-
-        final SObjectField sObjectField6 = new SObjectField();
-        fields1.add(sObjectField6);
-
-        sObjectField6.setWriteRequiresMasterRead(false);
-        sObjectField6.setNillable(true);
-        sObjectField6.setCreateable(true);
-        sObjectField6.setEncrypted(false);
-        sObjectField6.setDigits("0");
-        sObjectField6.setExtraTypeInfo("personname");
-        sObjectField6.setDependentPicklist(false);
-        sObjectField6.setLabel("First Name");
-        sObjectField6.setHighScaleNumber(false);
-        sObjectField6.setDisplayLocationInDecimal(false);
-        sObjectField6.setName("FirstName");
-        sObjectField6.setHtmlFormatted(false);
-        sObjectField6.setDeprecatedAndHidden(false);
-        sObjectField6.setRestrictedPicklist(false);
-        sObjectField6.setNameField(false);
-        sObjectField6.setCaseSensitive(false);
-        sObjectField6.setPermissionable(false);
-        sObjectField6.setCascadeDelete(false);
-        sObjectField6.setDefaultedOnCreate(false);
-        sObjectField6.setExternalId(false);
-        sObjectField6.setSoapType("xsd:string");
-        sObjectField6.setGroupable(true);
-        sObjectField6.setCustom(false);
-        sObjectField6.setScale(0);
-        sObjectField6.setCalculated(false);
-        sObjectField6.setRestrictedDelete(false);
-        sObjectField6.setNamePointing(false);
-        sObjectField6.setIdLookup(false);
-        sObjectField6.setType("string");
-        sObjectField6.setSortable(true);
-        sObjectField6.setLength(40);
-        sObjectField6.setPrecision(0);
-        sObjectField6.setByteLength(120);
-        sObjectField6.setQueryByDistance(false);
-        sObjectField6.setFilterable(true);
-        sObjectField6.setUpdateable(true);
-        sObjectField6.setUnique(false);
-        sObjectField6.setAutoNumber(false);
-
-        final SObjectField sObjectField7 = new SObjectField();
-        fields1.add(sObjectField7);
-
-        sObjectField7.setWriteRequiresMasterRead(false);
-        sObjectField7.setNillable(true);
-        sObjectField7.setCreateable(true);
-        sObjectField7.setEncrypted(false);
-        sObjectField7.setDigits("0");
-        sObjectField7.setExtraTypeInfo("personname");
-        sObjectField7.setDependentPicklist(false);
-        sObjectField7.setLabel("Salutation");
-        sObjectField7.setHighScaleNumber(false);
-        sObjectField7.setDisplayLocationInDecimal(false);
-        sObjectField7.setName("Salutation");
-        sObjectField7.setHtmlFormatted(false);
-        sObjectField7.setDeprecatedAndHidden(false);
-        sObjectField7.setRestrictedPicklist(false);
-        sObjectField7.setNameField(false);
-        sObjectField7.setCaseSensitive(false);
-        sObjectField7.setPermissionable(false);
-        sObjectField7.setCascadeDelete(false);
-        sObjectField7.setDefaultedOnCreate(false);
-        sObjectField7.setExternalId(false);
-        sObjectField7.setSoapType("xsd:string");
-        sObjectField7.setGroupable(true);
-        sObjectField7.setCustom(false);
-        sObjectField7.setScale(0);
-        sObjectField7.setCalculated(false);
-        sObjectField7.setRestrictedDelete(false);
-        sObjectField7.setNamePointing(false);
-        sObjectField7.setIdLookup(false);
-        sObjectField7.setType("picklist");
-        sObjectField7.setSortable(true);
-        sObjectField7.setLength(40);
-        sObjectField7.setPrecision(0);
-        sObjectField7.setByteLength(120);
-        sObjectField7.setQueryByDistance(false);
-        sObjectField7.setFilterable(true);
-        sObjectField7.setUpdateable(true);
-        sObjectField7.setUnique(false);
-        sObjectField7.setAutoNumber(false);
-
-        final SObjectField sObjectField8 = new SObjectField();
-        fields1.add(sObjectField8);
-
-        sObjectField8.setWriteRequiresMasterRead(false);
-        sObjectField8.setNillable(false);
-        sObjectField8.setCreateable(false);
-        sObjectField8.setEncrypted(false);
-        sObjectField8.setDigits("0");
-        sObjectField8.setExtraTypeInfo("personname");
-        sObjectField8.setDependentPicklist(false);
-        sObjectField8.setLabel("Full Name");
-        sObjectField8.setHighScaleNumber(false);
-        sObjectField8.setDisplayLocationInDecimal(false);
-        sObjectField8.setName("Name");
-        sObjectField8.setHtmlFormatted(false);
-        sObjectField8.setDeprecatedAndHidden(false);
-        sObjectField8.setRestrictedPicklist(false);
-        sObjectField8.setNameField(true);
-        sObjectField8.setCaseSensitive(false);
-        sObjectField8.setPermissionable(false);
-        sObjectField8.setCascadeDelete(false);
-        sObjectField8.setDefaultedOnCreate(false);
-        sObjectField8.setExternalId(false);
-        sObjectField8.setSoapType("xsd:string");
-        sObjectField8.setGroupable(true);
-        sObjectField8.setCustom(false);
-        sObjectField8.setScale(0);
-        sObjectField8.setCalculated(false);
-        sObjectField8.setRestrictedDelete(false);
-        sObjectField8.setNamePointing(false);
-        sObjectField8.setIdLookup(false);
-        sObjectField8.setType("string");
-        sObjectField8.setSortable(true);
-        sObjectField8.setLength(121);
-        sObjectField8.setPrecision(0);
-        sObjectField8.setByteLength(363);
-        sObjectField8.setQueryByDistance(false);
-        sObjectField8.setFilterable(true);
-        sObjectField8.setUpdateable(false);
-        sObjectField8.setUnique(false);
-        sObjectField8.setAutoNumber(false);
-
-        final SObjectField sObjectField9 = new SObjectField();
-        fields1.add(sObjectField9);
-
-        sObjectField9.setWriteRequiresMasterRead(false);
-        sObjectField9.setNillable(true);
-        sObjectField9.setCreateable(true);
-        sObjectField9.setEncrypted(false);
-        sObjectField9.setDigits("0");
-        sObjectField9.setExtraTypeInfo("plaintextarea");
-        sObjectField9.setDependentPicklist(false);
-        sObjectField9.setLabel("Other Street");
-        sObjectField9.setHighScaleNumber(false);
-        sObjectField9.setDisplayLocationInDecimal(false);
-        sObjectField9.setName("OtherStreet");
-        sObjectField9.setHtmlFormatted(false);
-        sObjectField9.setDeprecatedAndHidden(false);
-        sObjectField9.setRestrictedPicklist(false);
-        sObjectField9.setNameField(false);
-        sObjectField9.setCaseSensitive(false);
-        sObjectField9.setPermissionable(true);
-        sObjectField9.setCascadeDelete(false);
-        sObjectField9.setDefaultedOnCreate(false);
-        sObjectField9.setExternalId(false);
-        sObjectField9.setSoapType("xsd:string");
-        sObjectField9.setGroupable(true);
-        sObjectField9.setCustom(false);
-        sObjectField9.setScale(0);
-        sObjectField9.setCalculated(false);
-        sObjectField9.setRestrictedDelete(false);
-        sObjectField9.setNamePointing(false);
-        sObjectField9.setIdLookup(false);
-        sObjectField9.setType("textarea");
-        sObjectField9.setSortable(true);
-        sObjectField9.setLength(255);
-        sObjectField9.setPrecision(0);
-        sObjectField9.setByteLength(765);
-        sObjectField9.setQueryByDistance(false);
-        sObjectField9.setFilterable(true);
-        sObjectField9.setUpdateable(true);
-        sObjectField9.setUnique(false);
-        sObjectField9.setAutoNumber(false);
-
-        final SObjectField sObjectField10 = new SObjectField();
-        fields1.add(sObjectField10);
-
-        sObjectField10.setWriteRequiresMasterRead(false);
-        sObjectField10.setNillable(true);
-        sObjectField10.setCreateable(true);
-        sObjectField10.setEncrypted(false);
-        sObjectField10.setDigits("0");
-        sObjectField10.setDependentPicklist(false);
-        sObjectField10.setLabel("Other City");
-        sObjectField10.setHighScaleNumber(false);
-        sObjectField10.setDisplayLocationInDecimal(false);
-        sObjectField10.setName("OtherCity");
-        sObjectField10.setHtmlFormatted(false);
-        sObjectField10.setDeprecatedAndHidden(false);
-        sObjectField10.setRestrictedPicklist(false);
-        sObjectField10.setNameField(false);
-        sObjectField10.setCaseSensitive(false);
-        sObjectField10.setPermissionable(true);
-        sObjectField10.setCascadeDelete(false);
-        sObjectField10.setDefaultedOnCreate(false);
-        sObjectField10.setExternalId(false);
-        sObjectField10.setSoapType("xsd:string");
-        sObjectField10.setGroupable(true);
-        sObjectField10.setCustom(false);
-        sObjectField10.setScale(0);
-        sObjectField10.setCalculated(false);
-        sObjectField10.setRestrictedDelete(false);
-        sObjectField10.setNamePointing(false);
-        sObjectField10.setIdLookup(false);
-        sObjectField10.setType("string");
-        sObjectField10.setSortable(true);
-        sObjectField10.setLength(40);
-        sObjectField10.setPrecision(0);
-        sObjectField10.setByteLength(120);
-        sObjectField10.setQueryByDistance(false);
-        sObjectField10.setFilterable(true);
-        sObjectField10.setUpdateable(true);
-        sObjectField10.setUnique(false);
-        sObjectField10.setAutoNumber(false);
-
-        final SObjectField sObjectField11 = new SObjectField();
-        fields1.add(sObjectField11);
-
-        sObjectField11.setWriteRequiresMasterRead(false);
-        sObjectField11.setNillable(true);
-        sObjectField11.setCreateable(true);
-        sObjectField11.setEncrypted(false);
-        sObjectField11.setDigits("0");
-        sObjectField11.setDependentPicklist(false);
-        sObjectField11.setLabel("Other State/Province");
-        sObjectField11.setHighScaleNumber(false);
-        sObjectField11.setDisplayLocationInDecimal(false);
-        sObjectField11.setName("OtherState");
-        sObjectField11.setHtmlFormatted(false);
-        sObjectField11.setDeprecatedAndHidden(false);
-        sObjectField11.setRestrictedPicklist(false);
-        sObjectField11.setNameField(false);
-        sObjectField11.setCaseSensitive(false);
-        sObjectField11.setPermissionable(true);
-        sObjectField11.setCascadeDelete(false);
-        sObjectField11.setDefaultedOnCreate(false);
-        sObjectField11.setExternalId(false);
-        sObjectField11.setSoapType("xsd:string");
-        sObjectField11.setGroupable(true);
-        sObjectField11.setCustom(false);
-        sObjectField11.setScale(0);
-        sObjectField11.setCalculated(false);
-        sObjectField11.setRestrictedDelete(false);
-        sObjectField11.setNamePointing(false);
-        sObjectField11.setIdLookup(false);
-        sObjectField11.setType("string");
-        sObjectField11.setSortable(true);
-        sObjectField11.setLength(80);
-        sObjectField11.setPrecision(0);
-        sObjectField11.setByteLength(240);
-        sObjectField11.setQueryByDistance(false);
-        sObjectField11.setFilterable(true);
-        sObjectField11.setUpdateable(true);
-        sObjectField11.setUnique(false);
-        sObjectField11.setAutoNumber(false);
-
-        final SObjectField sObjectField12 = new SObjectField();
-        fields1.add(sObjectField12);
-
-        sObjectField12.setWriteRequiresMasterRead(false);
-        sObjectField12.setNillable(true);
-        sObjectField12.setCreateable(true);
-        sObjectField12.setEncrypted(false);
-        sObjectField12.setDigits("0");
-        sObjectField12.setDependentPicklist(false);
-        sObjectField12.setLabel("Other Zip/Postal Code");
-        sObjectField12.setHighScaleNumber(false);
-        sObjectField12.setDisplayLocationInDecimal(false);
-        sObjectField12.setName("OtherPostalCode");
-        sObjectField12.setHtmlFormatted(false);
-        sObjectField12.setDeprecatedAndHidden(false);
-        sObjectField12.setRestrictedPicklist(false);
-        sObjectField12.setNameField(false);
-        sObjectField12.setCaseSensitive(false);
-        sObjectField12.setPermissionable(true);
-        sObjectField12.setCascadeDelete(false);
-        sObjectField12.setDefaultedOnCreate(false);
-        sObjectField12.setExternalId(false);
-        sObjectField12.setSoapType("xsd:string");
-        sObjectField12.setGroupable(true);
-        sObjectField12.setCustom(false);
-        sObjectField12.setScale(0);
-        sObjectField12.setCalculated(false);
-        sObjectField12.setRestrictedDelete(false);
-        sObjectField12.setNamePointing(false);
-        sObjectField12.setIdLookup(false);
-        sObjectField12.setType("string");
-        sObjectField12.setSortable(true);
-        sObjectField12.setLength(20);
-        sObjectField12.setPrecision(0);
-        sObjectField12.setByteLength(60);
-        sObjectField12.setQueryByDistance(false);
-        sObjectField12.setFilterable(true);
-        sObjectField12.setUpdateable(true);
-        sObjectField12.setUnique(false);
-        sObjectField12.setAutoNumber(false);
-
-        final SObjectField sObjectField13 = new SObjectField();
-        fields1.add(sObjectField13);
-
-        sObjectField13.setWriteRequiresMasterRead(false);
-        sObjectField13.setNillable(true);
-        sObjectField13.setCreateable(true);
-        sObjectField13.setEncrypted(false);
-        sObjectField13.setDigits("0");
-        sObjectField13.setDependentPicklist(false);
-        sObjectField13.setLabel("Other Country");
-        sObjectField13.setHighScaleNumber(false);
-        sObjectField13.setDisplayLocationInDecimal(false);
-        sObjectField13.setName("OtherCountry");
-        sObjectField13.setHtmlFormatted(false);
-        sObjectField13.setDeprecatedAndHidden(false);
-        sObjectField13.setRestrictedPicklist(false);
-        sObjectField13.setNameField(false);
-        sObjectField13.setCaseSensitive(false);
-        sObjectField13.setPermissionable(true);
-        sObjectField13.setCascadeDelete(false);
-        sObjectField13.setDefaultedOnCreate(false);
-        sObjectField13.setExternalId(false);
-        sObjectField13.setSoapType("xsd:string");
-        sObjectField13.setGroupable(true);
-        sObjectField13.setCustom(false);
-        sObjectField13.setScale(0);
-        sObjectField13.setCalculated(false);
-        sObjectField13.setRestrictedDelete(false);
-        sObjectField13.setNamePointing(false);
-        sObjectField13.setIdLookup(false);
-        sObjectField13.setType("string");
-        sObjectField13.setSortable(true);
-        sObjectField13.setLength(80);
-        sObjectField13.setPrecision(0);
-        sObjectField13.setByteLength(240);
-        sObjectField13.setQueryByDistance(false);
-        sObjectField13.setFilterable(true);
-        sObjectField13.setUpdateable(true);
-        sObjectField13.setUnique(false);
-        sObjectField13.setAutoNumber(false);
-
-        final SObjectField sObjectField14 = new SObjectField();
-        fields1.add(sObjectField14);
-
-        sObjectField14.setWriteRequiresMasterRead(false);
-        sObjectField14.setNillable(true);
-        sObjectField14.setCreateable(true);
-        sObjectField14.setEncrypted(false);
-        sObjectField14.setDigits("0");
-        sObjectField14.setDependentPicklist(false);
-        sObjectField14.setLabel("Other Latitude");
-        sObjectField14.setHighScaleNumber(false);
-        sObjectField14.setDisplayLocationInDecimal(false);
-        sObjectField14.setName("OtherLatitude");
-        sObjectField14.setHtmlFormatted(false);
-        sObjectField14.setDeprecatedAndHidden(false);
-        sObjectField14.setRestrictedPicklist(false);
-        sObjectField14.setNameField(false);
-        sObjectField14.setCaseSensitive(false);
-        sObjectField14.setPermissionable(true);
-        sObjectField14.setCascadeDelete(false);
-        sObjectField14.setDefaultedOnCreate(false);
-        sObjectField14.setExternalId(false);
-        sObjectField14.setSoapType("xsd:double");
-        sObjectField14.setGroupable(false);
-        sObjectField14.setCustom(false);
-        sObjectField14.setScale(15);
-        sObjectField14.setCalculated(false);
-        sObjectField14.setRestrictedDelete(false);
-        sObjectField14.setNamePointing(false);
-        sObjectField14.setIdLookup(false);
-        sObjectField14.setType("double");
-        sObjectField14.setSortable(true);
-        sObjectField14.setLength(0);
-        sObjectField14.setPrecision(18);
-        sObjectField14.setByteLength(0);
-        sObjectField14.setQueryByDistance(false);
-        sObjectField14.setFilterable(true);
-        sObjectField14.setUpdateable(true);
-        sObjectField14.setUnique(false);
-        sObjectField14.setAutoNumber(false);
-
-        final SObjectField sObjectField15 = new SObjectField();
-        fields1.add(sObjectField15);
-
-        sObjectField15.setWriteRequiresMasterRead(false);
-        sObjectField15.setNillable(true);
-        sObjectField15.setCreateable(true);
-        sObjectField15.setEncrypted(false);
-        sObjectField15.setDigits("0");
-        sObjectField15.setDependentPicklist(false);
-        sObjectField15.setLabel("Other Longitude");
-        sObjectField15.setHighScaleNumber(false);
-        sObjectField15.setDisplayLocationInDecimal(false);
-        sObjectField15.setName("OtherLongitude");
-        sObjectField15.setHtmlFormatted(false);
-        sObjectField15.setDeprecatedAndHidden(false);
-        sObjectField15.setRestrictedPicklist(false);
-        sObjectField15.setNameField(false);
-        sObjectField15.setCaseSensitive(false);
-        sObjectField15.setPermissionable(true);
-        sObjectField15.setCascadeDelete(false);
-        sObjectField15.setDefaultedOnCreate(false);
-        sObjectField15.setExternalId(false);
-        sObjectField15.setSoapType("xsd:double");
-        sObjectField15.setGroupable(false);
-        sObjectField15.setCustom(false);
-        sObjectField15.setScale(15);
-        sObjectField15.setCalculated(false);
-        sObjectField15.setRestrictedDelete(false);
-        sObjectField15.setNamePointing(false);
-        sObjectField15.setIdLookup(false);
-        sObjectField15.setType("double");
-        sObjectField15.setSortable(true);
-        sObjectField15.setLength(0);
-        sObjectField15.setPrecision(18);
-        sObjectField15.setByteLength(0);
-        sObjectField15.setQueryByDistance(false);
-        sObjectField15.setFilterable(true);
-        sObjectField15.setUpdateable(true);
-        sObjectField15.setUnique(false);
-        sObjectField15.setAutoNumber(false);
-
-        final SObjectField sObjectField16 = new SObjectField();
-        fields1.add(sObjectField16);
-
-        sObjectField16.setWriteRequiresMasterRead(false);
-        sObjectField16.setNillable(true);
-        sObjectField16.setCreateable(true);
-        sObjectField16.setEncrypted(false);
-        sObjectField16.setDigits("0");
-        sObjectField16.setDependentPicklist(false);
-        sObjectField16.setLabel("Other Geocode Accuracy");
-        sObjectField16.setHighScaleNumber(false);
-        sObjectField16.setDisplayLocationInDecimal(false);
-        sObjectField16.setName("OtherGeocodeAccuracy");
-        sObjectField16.setHtmlFormatted(false);
-        sObjectField16.setDeprecatedAndHidden(false);
-        sObjectField16.setRestrictedPicklist(true);
-        sObjectField16.setNameField(false);
-        sObjectField16.setCaseSensitive(false);
-        sObjectField16.setPermissionable(true);
-        sObjectField16.setCascadeDelete(false);
-        sObjectField16.setDefaultedOnCreate(false);
-        sObjectField16.setExternalId(false);
-        sObjectField16.setSoapType("xsd:string");
-        sObjectField16.setGroupable(true);
-        sObjectField16.setCustom(false);
-        sObjectField16.setScale(0);
-        sObjectField16.setCalculated(false);
-        sObjectField16.setRestrictedDelete(false);
-        sObjectField16.setNamePointing(false);
-        sObjectField16.setIdLookup(false);
-        sObjectField16.setType("picklist");
-        sObjectField16.setSortable(true);
-        sObjectField16.setLength(40);
-        sObjectField16.setPrecision(0);
-        sObjectField16.setByteLength(120);
-        sObjectField16.setQueryByDistance(false);
-        sObjectField16.setFilterable(true);
-        sObjectField16.setUpdateable(true);
-        sObjectField16.setUnique(false);
-        sObjectField16.setAutoNumber(false);
-
-        final SObjectField sObjectField17 = new SObjectField();
-        fields1.add(sObjectField17);
-
-        sObjectField17.setWriteRequiresMasterRead(false);
-        sObjectField17.setNillable(true);
-        sObjectField17.setCreateable(false);
-        sObjectField17.setEncrypted(false);
-        sObjectField17.setDigits("0");
-        sObjectField17.setDependentPicklist(false);
-        sObjectField17.setLabel("Other Address");
-        sObjectField17.setHighScaleNumber(false);
-        sObjectField17.setDisplayLocationInDecimal(false);
-        sObjectField17.setName("OtherAddress");
-        sObjectField17.setHtmlFormatted(false);
-        sObjectField17.setDeprecatedAndHidden(false);
-        sObjectField17.setRestrictedPicklist(false);
-        sObjectField17.setNameField(false);
-        sObjectField17.setCaseSensitive(false);
-        sObjectField17.setPermissionable(true);
-        sObjectField17.setCascadeDelete(false);
-        sObjectField17.setDefaultedOnCreate(false);
-        sObjectField17.setExternalId(false);
-        sObjectField17.setSoapType("urn:address");
-        sObjectField17.setGroupable(false);
-        sObjectField17.setCustom(false);
-        sObjectField17.setScale(0);
-        sObjectField17.setCalculated(false);
-        sObjectField17.setRestrictedDelete(false);
-        sObjectField17.setNamePointing(false);
-        sObjectField17.setIdLookup(false);
-        sObjectField17.setType("address");
-        sObjectField17.setSortable(false);
-        sObjectField17.setLength(0);
-        sObjectField17.setPrecision(0);
-        sObjectField17.setByteLength(0);
-        sObjectField17.setQueryByDistance(true);
-        sObjectField17.setFilterable(true);
-        sObjectField17.setUpdateable(false);
-        sObjectField17.setUnique(false);
-        sObjectField17.setAutoNumber(false);
-
-        final SObjectField sObjectField18 = new SObjectField();
-        fields1.add(sObjectField18);
-
-        sObjectField18.setWriteRequiresMasterRead(false);
-        sObjectField18.setNillable(true);
-        sObjectField18.setCreateable(true);
-        sObjectField18.setEncrypted(false);
-        sObjectField18.setDigits("0");
-        sObjectField18.setExtraTypeInfo("plaintextarea");
-        sObjectField18.setDependentPicklist(false);
-        sObjectField18.setLabel("Mailing Street");
-        sObjectField18.setHighScaleNumber(false);
-        sObjectField18.setDisplayLocationInDecimal(false);
-        sObjectField18.setName("MailingStreet");
-        sObjectField18.setHtmlFormatted(false);
-        sObjectField18.setDeprecatedAndHidden(false);
-        sObjectField18.setRestrictedPicklist(false);
-        sObjectField18.setNameField(false);
-        sObjectField18.setCaseSensitive(false);
-        sObjectField18.setPermissionable(true);
-        sObjectField18.setCascadeDelete(false);
-        sObjectField18.setDefaultedOnCreate(false);
-        sObjectField18.setExternalId(false);
-        sObjectField18.setSoapType("xsd:string");
-        sObjectField18.setGroupable(true);
-        sObjectField18.setCustom(false);
-        sObjectField18.setScale(0);
-        sObjectField18.setCalculated(false);
-        sObjectField18.setRestrictedDelete(false);
-        sObjectField18.setNamePointing(false);
-        sObjectField18.setIdLookup(false);
-        sObjectField18.setType("textarea");
-        sObjectField18.setSortable(true);
-        sObjectField18.setLength(255);
-        sObjectField18.setPrecision(0);
-        sObjectField18.setByteLength(765);
-        sObjectField18.setQueryByDistance(false);
-        sObjectField18.setFilterable(true);
-        sObjectField18.setUpdateable(true);
-        sObjectField18.setUnique(false);
-        sObjectField18.setAutoNumber(false);
-
-        final SObjectField sObjectField19 = new SObjectField();
-        fields1.add(sObjectField19);
-
-        sObjectField19.setWriteRequiresMasterRead(false);
-        sObjectField19.setNillable(true);
-        sObjectField19.setCreateable(true);
-        sObjectField19.setEncrypted(false);
-        sObjectField19.setDigits("0");
-        sObjectField19.setDependentPicklist(false);
-        sObjectField19.setLabel("Mailing City");
-        sObjectField19.setHighScaleNumber(false);
-        sObjectField19.setDisplayLocationInDecimal(false);
-        sObjectField19.setName("MailingCity");
-        sObjectField19.setHtmlFormatted(false);
-        sObjectField19.setDeprecatedAndHidden(false);
-        sObjectField19.setRestrictedPicklist(false);
-        sObjectField19.setNameField(false);
-        sObjectField19.setCaseSensitive(false);
-        sObjectField19.setPermissionable(true);
-        sObjectField19.setCascadeDelete(false);
-        sObjectField19.setDefaultedOnCreate(false);
-        sObjectField19.setExternalId(false);
-        sObjectField19.setSoapType("xsd:string");
-        sObjectField19.setGroupable(true);
-        sObjectField19.setCustom(false);
-        sObjectField19.setScale(0);
-        sObjectField19.setCalculated(false);
-        sObjectField19.setRestrictedDelete(false);
-        sObjectField19.setNamePointing(false);
-        sObjectField19.setIdLookup(false);
-        sObjectField19.setType("string");
-        sObjectField19.setSortable(true);
-        sObjectField19.setLength(40);
-        sObjectField19.setPrecision(0);
-        sObjectField19.setByteLength(120);
-        sObjectField19.setQueryByDistance(false);
-        sObjectField19.setFilterable(true);
-        sObjectField19.setUpdateable(true);
-        sObjectField19.setUnique(false);
-        sObjectField19.setAutoNumber(false);
-
-        final SObjectField sObjectField20 = new SObjectField();
-        fields1.add(sObjectField20);
-
-        sObjectField20.setWriteRequiresMasterRead(false);
-        sObjectField20.setNillable(true);
-        sObjectField20.setCreateable(true);
-        sObjectField20.setEncrypted(false);
-        sObjectField20.setDigits("0");
-        sObjectField20.setDependentPicklist(false);
-        sObjectField20.setLabel("Mailing State/Province");
-        sObjectField20.setHighScaleNumber(false);
-        sObjectField20.setDisplayLocationInDecimal(false);
-        sObjectField20.setName("MailingState");
-        sObjectField20.setHtmlFormatted(false);
-        sObjectField20.setDeprecatedAndHidden(false);
-        sObjectField20.setRestrictedPicklist(false);
-        sObjectField20.setNameField(false);
-        sObjectField20.setCaseSensitive(false);
-        sObjectField20.setPermissionable(true);
-        sObjectField20.setCascadeDelete(false);
-        sObjectField20.setDefaultedOnCreate(false);
-        sObjectField20.setExternalId(false);
-        sObjectField20.setSoapType("xsd:string");
-        sObjectField20.setGroupable(true);
-        sObjectField20.setCustom(false);
-        sObjectField20.setScale(0);
-        sObjectField20.setCalculated(false);
-        sObjectField20.setRestrictedDelete(false);
-        sObjectField20.setNamePointing(false);
-        sObjectField20.setIdLookup(false);
-        sObjectField20.setType("string");
-        sObjectField20.setSortable(true);
-        sObjectField20.setLength(80);
-        sObjectField20.setPrecision(0);
-        sObjectField20.setByteLength(240);
-        sObjectField20.setQueryByDistance(false);
-        sObjectField20.setFilterable(true);
-        sObjectField20.setUpdateable(true);
-        sObjectField20.setUnique(false);
-        sObjectField20.setAutoNumber(false);
-
-        final SObjectField sObjectField21 = new SObjectField();
-        fields1.add(sObjectField21);
-
-        sObjectField21.setWriteRequiresMasterRead(false);
-        sObjectField21.setNillable(true);
-        sObjectField21.setCreateable(true);
-        sObjectField21.setEncrypted(false);
-        sObjectField21.setDigits("0");
-        sObjectField21.setDependentPicklist(false);
-        sObjectField21.setLabel("Mailing Zip/Postal Code");
-        sObjectField21.setHighScaleNumber(false);
-        sObjectField21.setDisplayLocationInDecimal(false);
-        sObjectField21.setName("MailingPostalCode");
-        sObjectField21.setHtmlFormatted(false);
-        sObjectField21.setDeprecatedAndHidden(false);
-        sObjectField21.setRestrictedPicklist(false);
-        sObjectField21.setNameField(false);
-        sObjectField21.setCaseSensitive(false);
-        sObjectField21.setPermissionable(true);
-        sObjectField21.setCascadeDelete(false);
-        sObjectField21.setDefaultedOnCreate(false);
-        sObjectField21.setExternalId(false);
-        sObjectField21.setSoapType("xsd:string");
-        sObjectField21.setGroupable(true);
-        sObjectField21.setCustom(false);
-        sObjectField21.setScale(0);
-        sObjectField21.setCalculated(false);
-        sObjectField21.setRestrictedDelete(false);
-        sObjectField21.setNamePointing(false);
-        sObjectField21.setIdLookup(false);
-        sObjectField21.setType("string");
-        sObjectField21.setSortable(true);
-        sObjectField21.setLength(20);
-        sObjectField21.setPrecision(0);
-        sObjectField21.setByteLength(60);
-        sObjectField21.setQueryByDistance(false);
-        sObjectField21.setFilterable(true);
-        sObjectField21.setUpdateable(true);
-        sObjectField21.setUnique(false);
-        sObjectField21.setAutoNumber(false);
-
-        final SObjectField sObjectField22 = new SObjectField();
-        fields1.add(sObjectField22);
-
-        sObjectField22.setWriteRequiresMasterRead(false);
-        sObjectField22.setNillable(true);
-        sObjectField22.setCreateable(true);
-        sObjectField22.setEncrypted(false);
-        sObjectField22.setDigits("0");
-        sObjectField22.setDependentPicklist(false);
-        sObjectField22.setLabel("Mailing Country");
-        sObjectField22.setHighScaleNumber(false);
-        sObjectField22.setDisplayLocationInDecimal(false);
-        sObjectField22.setName("MailingCountry");
-        sObjectField22.setHtmlFormatted(false);
-        sObjectField22.setDeprecatedAndHidden(false);
-        sObjectField22.setRestrictedPicklist(false);
-        sObjectField22.setNameField(false);
-        sObjectField22.setCaseSensitive(false);
-        sObjectField22.setPermissionable(true);
-        sObjectField22.setCascadeDelete(false);
-        sObjectField22.setDefaultedOnCreate(false);
-        sObjectField22.setExternalId(false);
-        sObjectField22.setSoapType("xsd:string");
-        sObjectField22.setGroupable(true);
-        sObjectField22.setCustom(false);
-        sObjectField22.setScale(0);
-        sObjectField22.setCalculated(false);
-        sObjectField22.setRestrictedDelete(false);
-        sObjectField22.setNamePointing(false);
-        sObjectField22.setIdLookup(false);
-        sObjectField22.setType("string");
-        sObjectField22.setSortable(true);
-        sObjectField22.setLength(80);
-        sObjectField22.setPrecision(0);
-        sObjectField22.setByteLength(240);
-        sObjectField22.setQueryByDistance(false);
-        sObjectField22.setFilterable(true);
-        sObjectField22.setUpdateable(true);
-        sObjectField22.setUnique(false);
-        sObjectField22.setAutoNumber(false);
-
-        final SObjectField sObjectField23 = new SObjectField();
-        fields1.add(sObjectField23);
-
-        sObjectField23.setWriteRequiresMasterRead(false);
-        sObjectField23.setNillable(true);
-        sObjectField23.setCreateable(true);
-        sObjectField23.setEncrypted(false);
-        sObjectField23.setDigits("0");
-        sObjectField23.setDependentPicklist(false);
-        sObjectField23.setLabel("Mailing Latitude");
-        sObjectField23.setHighScaleNumber(false);
-        sObjectField23.setDisplayLocationInDecimal(false);
-        sObjectField23.setName("MailingLatitude");
-        sObjectField23.setHtmlFormatted(false);
-        sObjectField23.setDeprecatedAndHidden(false);
-        sObjectField23.setRestrictedPicklist(false);
-        sObjectField23.setNameField(false);
-        sObjectField23.setCaseSensitive(false);
-        sObjectField23.setPermissionable(true);
-        sObjectField23.setCascadeDelete(false);
-        sObjectField23.setDefaultedOnCreate(false);
-        sObjectField23.setExternalId(false);
-        sObjectField23.setSoapType("xsd:double");
-        sObjectField23.setGroupable(false);
-        sObjectField23.setCustom(false);
-        sObjectField23.setScale(15);
-        sObjectField23.setCalculated(false);
-        sObjectField23.setRestrictedDelete(false);
-        sObjectField23.setNamePointing(false);
-        sObjectField23.setIdLookup(false);
-        sObjectField23.setType("double");
-        sObjectField23.setSortable(true);
-        sObjectField23.setLength(0);
-        sObjectField23.setPrecision(18);
-        sObjectField23.setByteLength(0);
-        sObjectField23.setQueryByDistance(false);
-        sObjectField23.setFilterable(true);
-        sObjectField23.setUpdateable(true);
-        sObjectField23.setUnique(false);
-        sObjectField23.setAutoNumber(false);
-
-        final SObjectField sObjectField24 = new SObjectField();
-        fields1.add(sObjectField24);
-
-        sObjectField24.setWriteRequiresMasterRead(false);
-        sObjectField24.setNillable(true);
-        sObjectField24.setCreateable(true);
-        sObjectField24.setEncrypted(false);
-        sObjectField24.setDigits("0");
-        sObjectField24.setDependentPicklist(false);
-        sObjectField24.setLabel("Mailing Longitude");
-        sObjectField24.setHighScaleNumber(false);
-        sObjectField24.setDisplayLocationInDecimal(false);
-        sObjectField24.setName("MailingLongitude");
-        sObjectField24.setHtmlFormatted(false);
-        sObjectField24.setDeprecatedAndHidden(false);
-        sObjectField24.setRestrictedPicklist(false);
-        sObjectField24.setNameField(false);
-        sObjectField24.setCaseSensitive(false);
-        sObjectField24.setPermissionable(true);
-        sObjectField24.setCascadeDelete(false);
-        sObjectField24.setDefaultedOnCreate(false);
-        sObjectField24.setExternalId(false);
-        sObjectField24.setSoapType("xsd:double");
-        sObjectField24.setGroupable(false);
-        sObjectField24.setCustom(false);
-        sObjectField24.setScale(15);
-        sObjectField24.setCalculated(false);
-        sObjectField24.setRestrictedDelete(false);
-        sObjectField24.setNamePointing(false);
-        sObjectField24.setIdLookup(false);
-        sObjectField24.setType("double");
-        sObjectField24.setSortable(true);
-        sObjectField24.setLength(0);
-        sObjectField24.setPrecision(18);
-        sObjectField24.setByteLength(0);
-        sObjectField24.setQueryByDistance(false);
-        sObjectField24.setFilterable(true);
-        sObjectField24.setUpdateable(true);
-        sObjectField24.setUnique(false);
-        sObjectField24.setAutoNumber(false);
-
-        final SObjectField sObjectField25 = new SObjectField();
-        fields1.add(sObjectField25);
-
-        sObjectField25.setWriteRequiresMasterRead(false);
-        sObjectField25.setNillable(true);
-        sObjectField25.setCreateable(true);
-        sObjectField25.setEncrypted(false);
-        sObjectField25.setDigits("0");
-        sObjectField25.setDependentPicklist(false);
-        sObjectField25.setLabel("Mailing Geocode Accuracy");
-        sObjectField25.setHighScaleNumber(false);
-        sObjectField25.setDisplayLocationInDecimal(false);
-        sObjectField25.setName("MailingGeocodeAccuracy");
-        sObjectField25.setHtmlFormatted(false);
-        sObjectField25.setDeprecatedAndHidden(false);
-        sObjectField25.setRestrictedPicklist(true);
-        sObjectField25.setNameField(false);
-        sObjectField25.setCaseSensitive(false);
... 5820 lines suppressed ...


[camel] 12/13: Remove deprecated constructors

Posted by gn...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

gnodet pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 9e1b75e8c39190d81d7c4df65be7a7467dcb0be7
Author: Guillaume Nodet <gn...@gmail.com>
AuthorDate: Fri Jan 11 21:23:00 2019 +0100

    Remove deprecated constructors
---
 .../component/ignite/cache/IgniteCacheEndpoint.java    |  8 --------
 .../ignite/compute/IgniteComputeEndpoint.java          |  7 -------
 .../component/ignite/events/IgniteEventsEndpoint.java  | 13 -------------
 .../component/ignite/idgen/IgniteIdGenEndpoint.java    | 10 ----------
 .../ignite/messaging/IgniteMessagingEndpoint.java      |  8 --------
 .../component/ignite/queue/IgniteQueueEndpoint.java    | 17 -----------------
 .../camel/component/ignite/set/IgniteSetEndpoint.java  | 18 ------------------
 7 files changed, 81 deletions(-)

diff --git a/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/cache/IgniteCacheEndpoint.java b/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/cache/IgniteCacheEndpoint.java
index e096f43..854fb9d 100644
--- a/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/cache/IgniteCacheEndpoint.java
+++ b/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/cache/IgniteCacheEndpoint.java
@@ -16,7 +16,6 @@
  */
 package org.apache.camel.component.ignite.cache;
 
-import java.net.URI;
 import java.util.Map;
 
 import javax.cache.Cache.Entry;
@@ -26,7 +25,6 @@ import org.apache.camel.Consumer;
 import org.apache.camel.Processor;
 import org.apache.camel.Producer;
 import org.apache.camel.component.ignite.AbstractIgniteEndpoint;
-import org.apache.camel.component.ignite.IgniteComponent;
 import org.apache.camel.spi.Metadata;
 import org.apache.camel.spi.UriEndpoint;
 import org.apache.camel.spi.UriParam;
@@ -80,12 +78,6 @@ public class IgniteCacheEndpoint extends AbstractIgniteEndpoint {
     @UriParam(label = "consumer", defaultValue = "0", defaultValueNote = "ContinuousQuery.DFLT_TIME_INTERVAL")
     private long timeInterval = ContinuousQuery.DFLT_TIME_INTERVAL;
 
-    @Deprecated
-    public IgniteCacheEndpoint(String endpointUri, URI remainingUri, Map<String, Object> parameters, IgniteComponent igniteComponent) {
-        super(endpointUri, igniteComponent);
-        cacheName = remainingUri.getHost();
-    }
-
     public IgniteCacheEndpoint(String endpointUri, String remaining, Map<String, Object> parameters, IgniteCacheComponent igniteComponent) {
         super(endpointUri, igniteComponent);
         cacheName = remaining;
diff --git a/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/compute/IgniteComputeEndpoint.java b/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/compute/IgniteComputeEndpoint.java
index c15f001..0bb5eb1 100644
--- a/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/compute/IgniteComputeEndpoint.java
+++ b/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/compute/IgniteComputeEndpoint.java
@@ -16,7 +16,6 @@
  */
 package org.apache.camel.component.ignite.compute;
 
-import java.net.URI;
 import java.util.Map;
 
 import org.apache.camel.Consumer;
@@ -24,7 +23,6 @@ import org.apache.camel.Processor;
 import org.apache.camel.Producer;
 import org.apache.camel.component.ignite.AbstractIgniteEndpoint;
 import org.apache.camel.component.ignite.ClusterGroupExpression;
-import org.apache.camel.component.ignite.IgniteComponent;
 import org.apache.camel.spi.Metadata;
 import org.apache.camel.spi.UriEndpoint;
 import org.apache.camel.spi.UriParam;
@@ -60,11 +58,6 @@ public class IgniteComputeEndpoint extends AbstractIgniteEndpoint {
     @UriParam(label = "producer")
     private Long timeoutMillis;
 
-    @Deprecated
-    public IgniteComputeEndpoint(String uri, URI remainingUri, Map<String, Object> parameters, IgniteComponent igniteComponent) throws ClassNotFoundException {
-        super(uri, igniteComponent);
-    }
-
     public IgniteComputeEndpoint(String uri, String remaining, Map<String, Object> parameters, IgniteComputeComponent igniteComponent) throws ClassNotFoundException {
         super(uri, igniteComponent);
     }
diff --git a/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/events/IgniteEventsEndpoint.java b/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/events/IgniteEventsEndpoint.java
index db934b1..a91810f 100644
--- a/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/events/IgniteEventsEndpoint.java
+++ b/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/events/IgniteEventsEndpoint.java
@@ -17,7 +17,6 @@
 package org.apache.camel.component.ignite.events;
 
 import java.lang.reflect.Field;
-import java.net.URI;
 import java.util.Arrays;
 import java.util.HashSet;
 import java.util.Map;
@@ -28,7 +27,6 @@ import org.apache.camel.Processor;
 import org.apache.camel.Producer;
 import org.apache.camel.component.ignite.AbstractIgniteEndpoint;
 import org.apache.camel.component.ignite.ClusterGroupExpression;
-import org.apache.camel.component.ignite.IgniteComponent;
 import org.apache.camel.spi.UriEndpoint;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriPath;
@@ -57,17 +55,6 @@ public class IgniteEventsEndpoint extends AbstractIgniteEndpoint {
     @UriParam(label = "consumer")
     private ClusterGroupExpression clusterGroupExpression;
 
-    @Deprecated
-    public IgniteEventsEndpoint(String uri, URI remainingUri, Map<String, Object> parameters, IgniteComponent igniteComponent) {
-        super(uri, igniteComponent);
-
-        // Initialize subscribed event types with ALL.
-        events = new HashSet<>();
-        for (Integer eventType : EventType.EVTS_ALL) {
-            events.add(eventType);
-        }
-    }
-
     public IgniteEventsEndpoint(String uri, String remaining, Map<String, Object> parameters, IgniteEventsComponent igniteComponent) {
         super(uri, igniteComponent);
 
diff --git a/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/idgen/IgniteIdGenEndpoint.java b/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/idgen/IgniteIdGenEndpoint.java
index 75ceb94..5986ff6 100644
--- a/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/idgen/IgniteIdGenEndpoint.java
+++ b/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/idgen/IgniteIdGenEndpoint.java
@@ -16,14 +16,12 @@
  */
 package org.apache.camel.component.ignite.idgen;
 
-import java.net.URI;
 import java.util.Map;
 
 import org.apache.camel.Consumer;
 import org.apache.camel.Processor;
 import org.apache.camel.Producer;
 import org.apache.camel.component.ignite.AbstractIgniteEndpoint;
-import org.apache.camel.component.ignite.IgniteComponent;
 import org.apache.camel.spi.Metadata;
 import org.apache.camel.spi.UriEndpoint;
 import org.apache.camel.spi.UriParam;
@@ -52,14 +50,6 @@ public class IgniteIdGenEndpoint extends AbstractIgniteEndpoint {
     @UriParam(label = "producer")
     private IgniteIdGenOperation operation;
 
-    @Deprecated
-    public IgniteIdGenEndpoint(String endpointUri, URI remainingUri, Map<String, Object> parameters, IgniteComponent igniteComponent) throws Exception {
-        super(endpointUri, igniteComponent);
-        name = remainingUri.getHost();
-
-        ObjectHelper.notNull(name, "ID Generator name");
-    }
-
     public IgniteIdGenEndpoint(String endpointUri, String remaining, Map<String, Object> parameters, IgniteIdGenComponent igniteComponent) throws Exception {
         super(endpointUri, igniteComponent);
         name = remaining;
diff --git a/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/messaging/IgniteMessagingEndpoint.java b/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/messaging/IgniteMessagingEndpoint.java
index 2bb3a72..edb737d 100644
--- a/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/messaging/IgniteMessagingEndpoint.java
+++ b/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/messaging/IgniteMessagingEndpoint.java
@@ -16,7 +16,6 @@
  */
 package org.apache.camel.component.ignite.messaging;
 
-import java.net.URI;
 import java.util.Map;
 
 import org.apache.camel.Consumer;
@@ -24,7 +23,6 @@ import org.apache.camel.Processor;
 import org.apache.camel.Producer;
 import org.apache.camel.component.ignite.AbstractIgniteEndpoint;
 import org.apache.camel.component.ignite.ClusterGroupExpression;
-import org.apache.camel.component.ignite.IgniteComponent;
 import org.apache.camel.spi.Metadata;
 import org.apache.camel.spi.UriEndpoint;
 import org.apache.camel.spi.UriParam;
@@ -54,12 +52,6 @@ public class IgniteMessagingEndpoint extends AbstractIgniteEndpoint {
     @UriParam(label = "producer")
     private Long timeout;
 
-    @Deprecated
-    public IgniteMessagingEndpoint(String endpointUri, URI remainingUri, Map<String, Object> parameters, IgniteComponent igniteComponent) {
-        super(endpointUri, igniteComponent);
-        topic = remainingUri.getHost();
-    }
-
     public IgniteMessagingEndpoint(String endpointUri, String remaining, Map<String, Object> parameters, IgniteMessagingComponent igniteComponent) {
         super(endpointUri, igniteComponent);
         topic = remaining;
diff --git a/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/queue/IgniteQueueEndpoint.java b/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/queue/IgniteQueueEndpoint.java
index 7ee18c9..cd447a4 100644
--- a/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/queue/IgniteQueueEndpoint.java
+++ b/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/queue/IgniteQueueEndpoint.java
@@ -16,14 +16,12 @@
  */
 package org.apache.camel.component.ignite.queue;
 
-import java.net.URI;
 import java.util.Map;
 
 import org.apache.camel.Consumer;
 import org.apache.camel.Processor;
 import org.apache.camel.Producer;
 import org.apache.camel.component.ignite.AbstractIgniteEndpoint;
-import org.apache.camel.component.ignite.IgniteComponent;
 import org.apache.camel.spi.Metadata;
 import org.apache.camel.spi.UriEndpoint;
 import org.apache.camel.spi.UriParam;
@@ -57,21 +55,6 @@ public class IgniteQueueEndpoint extends AbstractIgniteEndpoint {
     @UriParam(label = "producer")
     private IgniteQueueOperation operation;
 
-    @Deprecated
-    public IgniteQueueEndpoint(String endpointUri, URI remainingUri, Map<String, Object> parameters, IgniteComponent igniteComponent) throws Exception {
-        super(endpointUri, igniteComponent);
-        name = remainingUri.getHost();
-
-        ObjectHelper.notNull(name, "Queue name");
-
-        // Set the configuration values.
-        if (!parameters.containsKey("configuration")) {
-            Map<String, Object> configProps = IntrospectionSupport.extractProperties(parameters, "config.");
-            EndpointHelper.setReferenceProperties(this.getCamelContext(), configProps, parameters);
-            EndpointHelper.setProperties(this.getCamelContext(), configProps, parameters);
-        }
-    }
-
     public IgniteQueueEndpoint(String endpointUri, String remaining, Map<String, Object> parameters, IgniteQueueComponent igniteComponent) throws Exception {
         super(endpointUri, igniteComponent);
         name = remaining;
diff --git a/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/set/IgniteSetEndpoint.java b/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/set/IgniteSetEndpoint.java
index a0b4532..d5d60b5 100644
--- a/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/set/IgniteSetEndpoint.java
+++ b/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/set/IgniteSetEndpoint.java
@@ -16,14 +16,12 @@
  */
 package org.apache.camel.component.ignite.set;
 
-import java.net.URI;
 import java.util.Map;
 
 import org.apache.camel.Consumer;
 import org.apache.camel.Processor;
 import org.apache.camel.Producer;
 import org.apache.camel.component.ignite.AbstractIgniteEndpoint;
-import org.apache.camel.component.ignite.IgniteComponent;
 import org.apache.camel.spi.Metadata;
 import org.apache.camel.spi.UriEndpoint;
 import org.apache.camel.spi.UriParam;
@@ -50,22 +48,6 @@ public class IgniteSetEndpoint extends AbstractIgniteEndpoint {
     @UriParam(label = "producer")
     private IgniteSetOperation operation;
 
-    @Deprecated
-    public IgniteSetEndpoint(String endpointUri, URI remainingUri, Map<String, Object> parameters, IgniteComponent igniteComponent) throws Exception {
-        super(endpointUri, igniteComponent);
-        name = remainingUri.getHost();
-
-        ObjectHelper.notNull(name, "Set name");
-
-        // Set the configuration values.
-        if (!parameters.containsKey("configuration")) {
-            Map<String, Object> configProps = IntrospectionSupport.extractProperties(parameters, "config.");
-            EndpointHelper.setReferenceProperties(this.getCamelContext(), configProps, parameters);
-            EndpointHelper.setProperties(this.getCamelContext(), configProps, parameters);
-        }
-
-    }
-
     public IgniteSetEndpoint(String endpointUri, String remaining, Map<String, Object> parameters, IgniteSetComponent igniteComponent) throws Exception {
         super(endpointUri, igniteComponent);
         name = remaining;


[camel] 06/13: Refactor deprecationNode -> deprecationNote

Posted by gn...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

gnodet pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 780a4667f5e0beeb6e4d9d83e53b5f12c213e641
Author: Guillaume Nodet <gn...@gmail.com>
AuthorDate: Thu Jan 10 17:49:34 2019 +0100

    Refactor deprecationNode -> deprecationNote
---
 .../camel/model/language/JavaScriptExpression.java |  2 +-
 .../apt/CoreEipAnnotationProcessorHelper.java      | 42 +++++++++++-----------
 .../tools/apt/EndpointAnnotationProcessor.java     | 12 +++----
 .../tools/apt/SpringAnnotationProcessorHelper.java |  6 ++--
 .../camel/tools/apt/model/ComponentModel.java      | 10 +++---
 .../camel/tools/apt/model/ComponentOption.java     | 14 ++++----
 .../main/java/org/apache/camel/spi/Metadata.java   |  2 +-
 7 files changed, 44 insertions(+), 44 deletions(-)

diff --git a/camel-core/src/main/java/org/apache/camel/model/language/JavaScriptExpression.java b/camel-core/src/main/java/org/apache/camel/model/language/JavaScriptExpression.java
index e048c08..ecd7d3d 100644
--- a/camel-core/src/main/java/org/apache/camel/model/language/JavaScriptExpression.java
+++ b/camel-core/src/main/java/org/apache/camel/model/language/JavaScriptExpression.java
@@ -28,7 +28,7 @@ import org.apache.camel.spi.Metadata;
  * @deprecated JavaScript is deprecated in Java 11 onwards
  */
 @Metadata(firstVersion = "1.0.0", label = "language,script", title = "JavaScript",
-    deprecationNode = "JavaScript is deprecated in Java 11 onwards")
+    deprecationNote = "JavaScript is deprecated in Java 11 onwards")
 @XmlRootElement(name = "javaScript")
 @XmlAccessorType(XmlAccessType.FIELD)
 @Deprecated
diff --git a/tooling/apt/src/main/java/org/apache/camel/tools/apt/CoreEipAnnotationProcessorHelper.java b/tooling/apt/src/main/java/org/apache/camel/tools/apt/CoreEipAnnotationProcessorHelper.java
index 1219ee9..92a7a64 100644
--- a/tooling/apt/src/main/java/org/apache/camel/tools/apt/CoreEipAnnotationProcessorHelper.java
+++ b/tooling/apt/src/main/java/org/apache/camel/tools/apt/CoreEipAnnotationProcessorHelper.java
@@ -175,8 +175,8 @@ public class CoreEipAnnotationProcessorHelper {
         buffer.append("\n    \"javaType\": \"").append(eipModel.getJavaType()).append("\",");
         buffer.append("\n    \"label\": \"").append(safeNull(eipModel.getLabel())).append("\",");
         buffer.append("\n    \"deprecated\": ").append(eipModel.isDeprecated()).append(",");
-        if (eipModel.getDeprecationNode() != null) {
-            buffer.append("\n    \"deprecationNote\": \"").append(safeNull(eipModel.getDeprecationNode())).append("\",");
+        if (eipModel.getDeprecationNote() != null) {
+            buffer.append("\n    \"deprecationNote\": \"").append(safeNull(eipModel.getDeprecationNote())).append("\",");
         }
         buffer.append("\n    \"input\": ").append(eipModel.getInput()).append(",");
         buffer.append("\n    \"output\": ").append(eipModel.getOutput());
@@ -202,7 +202,7 @@ public class CoreEipAnnotationProcessorHelper {
             String doc = entry.getDocumentation();
             doc = sanitizeDescription(doc, false);
             buffer.append(JsonSchemaHelper.toJson(entry.getName(), entry.getDisplayName(), entry.getKind(), entry.isRequired(), entry.getType(), entry.getDefaultValue(), doc,
-                    entry.isDeprecated(), entry.getDeprecationNode(), false, null, null, entry.isEnumType(), entry.getEnums(), entry.isOneOf(), entry.getOneOfTypes(),
+                    entry.isDeprecated(), entry.getDeprecationNote(), false, null, null, entry.isEnumType(), entry.getEnums(), entry.isOneOf(), entry.getOneOfTypes(),
                     entry.isAsPredicate(), null, null, false));
         }
         buffer.append("\n  }");
@@ -394,7 +394,7 @@ public class CoreEipAnnotationProcessorHelper {
         boolean deprecated = fieldElement.getAnnotation(Deprecated.class) != null;
         String deprecationNote = null;
         if (metadata != null) {
-            deprecationNote = metadata.deprecationNode();
+            deprecationNote = metadata.deprecationNote();
         }
 
         EipOption ep = new EipOption(name, displayName, "attribute", fieldTypeName, required, defaultValue, docComment, deprecated, deprecationNote, isEnum, enums, false, null, false);
@@ -436,7 +436,7 @@ public class CoreEipAnnotationProcessorHelper {
         boolean deprecated = fieldElement.getAnnotation(Deprecated.class) != null;
         String deprecationNote = null;
         if (metadata != null) {
-            deprecationNote = metadata.deprecationNode();
+            deprecationNote = metadata.deprecationNote();
         }
 
         EipOption ep = new EipOption(name, displayName, "value", fieldTypeName, required, defaultValue, docComment, deprecated, deprecationNote, false, null, false, null, false);
@@ -538,7 +538,7 @@ public class CoreEipAnnotationProcessorHelper {
             boolean deprecated = fieldElement.getAnnotation(Deprecated.class) != null;
             String deprecationNote = null;
             if (metadata != null) {
-                deprecationNote = metadata.deprecationNode();
+                deprecationNote = metadata.deprecationNote();
             }
 
             EipOption ep = new EipOption(name, displayName, kind, fieldTypeName, required, defaultValue, docComment, deprecated, deprecationNote, isEnum, enums, isOneOf, oneOfTypes, asPredicate);
@@ -581,7 +581,7 @@ public class CoreEipAnnotationProcessorHelper {
             boolean deprecated = fieldElement.getAnnotation(Deprecated.class) != null;
             String deprecationNote = null;
             if (metadata != null) {
-                deprecationNote = metadata.deprecationNode();
+                deprecationNote = metadata.deprecationNote();
             }
 
             EipOption ep = new EipOption(name, displayName, kind, fieldTypeName, required, defaultValue, docComment, deprecated, deprecationNote, false, null, true, oneOfTypes, false);
@@ -819,7 +819,7 @@ public class CoreEipAnnotationProcessorHelper {
             boolean deprecated = fieldElement.getAnnotation(Deprecated.class) != null;
             String deprecationNote = null;
             if (metadata != null) {
-                deprecationNote = metadata.deprecationNode();
+                deprecationNote = metadata.deprecationNote();
             }
 
             EipOption ep = new EipOption(name, displayName, kind, fieldTypeName, true, "", "", deprecated, deprecationNote, false, null, true, oneOfTypes, false);
@@ -871,7 +871,7 @@ public class CoreEipAnnotationProcessorHelper {
             boolean deprecated = fieldElement.getAnnotation(Deprecated.class) != null;
             String deprecationNote = null;
             if (metadata != null) {
-                deprecationNote = metadata.deprecationNode();
+                deprecationNote = metadata.deprecationNote();
             }
 
             EipOption ep = new EipOption(name, displayName, kind, fieldTypeName, true, "", docComment, deprecated, deprecationNote, false, null, true, oneOfTypes, false);
@@ -934,7 +934,7 @@ public class CoreEipAnnotationProcessorHelper {
             boolean deprecated = fieldElement.getAnnotation(Deprecated.class) != null;
             String deprecationNote = null;
             if (metadata != null) {
-                deprecationNote = metadata.deprecationNode();
+                deprecationNote = metadata.deprecationNote();
             }
 
             EipOption ep = new EipOption(name, displayName, kind, fieldTypeName, true, "", docComment, deprecated, deprecationNote, false, null, true, oneOfTypes, asPredicate);
@@ -977,7 +977,7 @@ public class CoreEipAnnotationProcessorHelper {
             boolean deprecated = fieldElement.getAnnotation(Deprecated.class) != null;
             String deprecationNote = null;
             if (metadata != null) {
-                deprecationNote = metadata.deprecationNode();
+                deprecationNote = metadata.deprecationNote();
             }
 
             EipOption ep = new EipOption(name, displayName, kind, fieldTypeName, false, "", docComment, deprecated, deprecationNote, false, null, true, oneOfTypes, asPredicate);
@@ -1080,7 +1080,7 @@ public class CoreEipAnnotationProcessorHelper {
         private String label;
         private String description;
         private boolean deprecated;
-        private String deprecationNode;
+        private String deprecationNote;
         private boolean input;
         private boolean output;
         private String firstVersion;
@@ -1133,12 +1133,12 @@ public class CoreEipAnnotationProcessorHelper {
             this.deprecated = deprecated;
         }
 
-        public String getDeprecationNode() {
-            return deprecationNode;
+        public String getDeprecationNote() {
+            return deprecationNote;
         }
 
-        public void setDeprecationNode(String deprecationNode) {
-            this.deprecationNode = deprecationNode;
+        public void setDeprecationNote(String deprecationNote) {
+            this.deprecationNote = deprecationNote;
         }
 
         public boolean isInput() {
@@ -1184,7 +1184,7 @@ public class CoreEipAnnotationProcessorHelper {
         private String defaultValue;
         private String documentation;
         private boolean deprecated;
-        private String deprecationNode;
+        private String deprecationNote;
         private boolean enumType;
         private Set<String> enums;
         private boolean oneOf;
@@ -1192,7 +1192,7 @@ public class CoreEipAnnotationProcessorHelper {
         private boolean asPredicate;
 
         private EipOption(String name, String displayName, String kind, String type, boolean required, String defaultValue, String documentation,
-                          boolean deprecated, String deprecationNode, boolean enumType, Set<String> enums, boolean oneOf, Set<String> oneOfTypes, boolean asPredicate) {
+                          boolean deprecated, String deprecationNote, boolean enumType, Set<String> enums, boolean oneOf, Set<String> oneOfTypes, boolean asPredicate) {
             this.name = name;
             this.displayName = displayName;
             this.kind = kind;
@@ -1201,7 +1201,7 @@ public class CoreEipAnnotationProcessorHelper {
             this.defaultValue = defaultValue;
             this.documentation = documentation;
             this.deprecated = deprecated;
-            this.deprecationNode = deprecationNode;
+            this.deprecationNote = deprecationNote;
             this.enumType = enumType;
             this.enums = enums;
             this.oneOf = oneOf;
@@ -1241,8 +1241,8 @@ public class CoreEipAnnotationProcessorHelper {
             return deprecated;
         }
 
-        public String getDeprecationNode() {
-            return deprecationNode;
+        public String getDeprecationNote() {
+            return deprecationNote;
         }
 
         public boolean isEnumType() {
diff --git a/tooling/apt/src/main/java/org/apache/camel/tools/apt/EndpointAnnotationProcessor.java b/tooling/apt/src/main/java/org/apache/camel/tools/apt/EndpointAnnotationProcessor.java
index a1a1aba..3c4be09 100644
--- a/tooling/apt/src/main/java/org/apache/camel/tools/apt/EndpointAnnotationProcessor.java
+++ b/tooling/apt/src/main/java/org/apache/camel/tools/apt/EndpointAnnotationProcessor.java
@@ -189,7 +189,7 @@ public class EndpointAnnotationProcessor extends AbstractProcessor {
         buffer.append("\n    \"description\": \"").append(componentModel.getDescription()).append("\",");
         buffer.append("\n    \"label\": \"").append(getOrElse(componentModel.getLabel(), "")).append("\",");
         buffer.append("\n    \"deprecated\": ").append(componentModel.isDeprecated()).append(",");
-        buffer.append("\n    \"deprecationNote\": \"").append(getOrElse(componentModel.getDeprecationNode(), "")).append("\",");
+        buffer.append("\n    \"deprecationNote\": \"").append(getOrElse(componentModel.getDeprecationNote(), "")).append("\",");
         buffer.append("\n    \"async\": ").append(componentModel.isAsync()).append(",");
         buffer.append("\n    \"consumerOnly\": ").append(componentModel.isConsumerOnly()).append(",");
         buffer.append("\n    \"producerOnly\": ").append(componentModel.isProducerOnly()).append(",");
@@ -238,7 +238,7 @@ public class EndpointAnnotationProcessor extends AbstractProcessor {
             boolean asPredicate = false;
 
             buffer.append(JsonSchemaHelper.toJson(entry.getName(), entry.getDisplayName(), "property", required, entry.getType(), defaultValue, doc,
-                entry.isDeprecated(), entry.getDeprecationNode(), entry.isSecret(), entry.getGroup(), entry.getLabel(), entry.isEnumType(), entry.getEnums(),
+                entry.isDeprecated(), entry.getDeprecationNote(), entry.isSecret(), entry.getGroup(), entry.getLabel(), entry.isEnumType(), entry.getEnums(),
                 false, null, asPredicate, optionalPrefix, prefix, multiValue));
         }
         buffer.append("\n  },");
@@ -405,9 +405,9 @@ public class EndpointAnnotationProcessor extends AbstractProcessor {
 
             String deprecationNote = null;
             if (endpointClassElement.getAnnotation(Metadata.class) != null) {
-                deprecationNote = endpointClassElement.getAnnotation(Metadata.class).deprecationNode();
+                deprecationNote = endpointClassElement.getAnnotation(Metadata.class).deprecationNote();
             }
-            model.setDeprecationNode(deprecationNote);
+            model.setDeprecationNote(deprecationNote);
 
             if (map.containsKey("groupId")) {
                 model.setGroupId(map.get("groupId"));
@@ -460,7 +460,7 @@ public class EndpointAnnotationProcessor extends AbstractProcessor {
                 Metadata metadata = method.getAnnotation(Metadata.class);
                 String deprecationNote = null;
                 if (metadata != null) {
-                    deprecationNote = metadata.deprecationNode();
+                    deprecationNote = metadata.deprecationNote();
                 }
 
                 // must be the setter
@@ -584,7 +584,7 @@ public class EndpointAnnotationProcessor extends AbstractProcessor {
                 boolean deprecated = fieldElement.getAnnotation(Deprecated.class) != null;
                 String deprecationNote = null;
                 if (metadata != null) {
-                    deprecationNote = metadata.deprecationNode();
+                    deprecationNote = metadata.deprecationNote();
                 }
                 Boolean secret = metadata != null ? metadata.secret() : null;
 
diff --git a/tooling/apt/src/main/java/org/apache/camel/tools/apt/SpringAnnotationProcessorHelper.java b/tooling/apt/src/main/java/org/apache/camel/tools/apt/SpringAnnotationProcessorHelper.java
index 484be88..58c6277 100644
--- a/tooling/apt/src/main/java/org/apache/camel/tools/apt/SpringAnnotationProcessorHelper.java
+++ b/tooling/apt/src/main/java/org/apache/camel/tools/apt/SpringAnnotationProcessorHelper.java
@@ -289,7 +289,7 @@ public class SpringAnnotationProcessorHelper {
         boolean deprecated = fieldElement.getAnnotation(Deprecated.class) != null;
         String deprecationNote = null;
         if (metadata != null) {
-            deprecationNote = metadata.deprecationNode();
+            deprecationNote = metadata.deprecationNote();
         }
 
         // special for id as its inherited from camel-core
@@ -424,7 +424,7 @@ public class SpringAnnotationProcessorHelper {
             boolean deprecated = fieldElement.getAnnotation(Deprecated.class) != null;
             String deprecationNote = null;
             if (metadata != null) {
-                deprecationNote = metadata.deprecationNode();
+                deprecationNote = metadata.deprecationNote();
             }
 
             EipOption ep = new EipOption(name, displayName, kind, fieldTypeName, required, defaultValue, docComment, deprecated, deprecationNote, isEnum, enums, oneOf, oneOfTypes, asPredicate);
@@ -470,7 +470,7 @@ public class SpringAnnotationProcessorHelper {
             boolean deprecated = fieldElement.getAnnotation(Deprecated.class) != null;
             String deprecationNote = null;
             if (metadata != null) {
-                deprecationNote = metadata.deprecationNode();
+                deprecationNote = metadata.deprecationNote();
             }
 
             EipOption ep = new EipOption(name, kind, displayName, fieldTypeName, required, defaultValue, docComment, deprecated, deprecationNote, false, null, true, oneOfTypes, false);
diff --git a/tooling/apt/src/main/java/org/apache/camel/tools/apt/model/ComponentModel.java b/tooling/apt/src/main/java/org/apache/camel/tools/apt/model/ComponentModel.java
index 3c696c2..99334c7 100644
--- a/tooling/apt/src/main/java/org/apache/camel/tools/apt/model/ComponentModel.java
+++ b/tooling/apt/src/main/java/org/apache/camel/tools/apt/model/ComponentModel.java
@@ -34,7 +34,7 @@ public final class ComponentModel {
     private boolean consumerOnly;
     private boolean producerOnly;
     private boolean deprecated;
-    private String deprecationNode;
+    private String deprecationNote;
     private boolean lenientProperties;
     private boolean async;
 
@@ -166,12 +166,12 @@ public final class ComponentModel {
         this.deprecated = deprecated;
     }
 
-    public String getDeprecationNode() {
-        return deprecationNode;
+    public String getDeprecationNote() {
+        return deprecationNote;
     }
 
-    public void setDeprecationNode(String deprecationNode) {
-        this.deprecationNode = deprecationNode;
+    public void setDeprecationNote(String deprecationNote) {
+        this.deprecationNote = deprecationNote;
     }
 
     public boolean isLenientProperties() {
diff --git a/tooling/apt/src/main/java/org/apache/camel/tools/apt/model/ComponentOption.java b/tooling/apt/src/main/java/org/apache/camel/tools/apt/model/ComponentOption.java
index 07cfb28..74f13ad 100644
--- a/tooling/apt/src/main/java/org/apache/camel/tools/apt/model/ComponentOption.java
+++ b/tooling/apt/src/main/java/org/apache/camel/tools/apt/model/ComponentOption.java
@@ -30,7 +30,7 @@ public final class ComponentOption {
     private String defaultValueNote;
     private String documentation;
     private boolean deprecated;
-    private String deprecationNode;
+    private String deprecationNote;
     private boolean secret;
     private String group;
     private String label;
@@ -38,7 +38,7 @@ public final class ComponentOption {
     private Set<String> enums;
 
     public ComponentOption(String name, String displayName, String type, boolean required, String defaultValue, String defaultValueNote,
-                           String documentation, boolean deprecated, String deprecationNode, boolean secret, String group, String label,
+                           String documentation, boolean deprecated, String deprecationNote, boolean secret, String group, String label,
                            boolean enumType, Set<String> enums) {
         this.name = name;
         this.displayName = displayName;
@@ -48,7 +48,7 @@ public final class ComponentOption {
         this.defaultValueNote = defaultValueNote;
         this.documentation = documentation;
         this.deprecated = deprecated;
-        this.deprecationNode = deprecationNode;
+        this.deprecationNote = deprecationNote;
         this.secret = secret;
         this.group = group;
         this.label = label;
@@ -84,8 +84,8 @@ public final class ComponentOption {
         return deprecated;
     }
 
-    public String getDeprecationNode() {
-        return deprecationNode;
+    public String getDeprecationNote() {
+        return deprecationNote;
     }
 
     public boolean isSecret() {
@@ -100,8 +100,8 @@ public final class ComponentOption {
             sb.append(". Default value notice: ").append(defaultValueNote);
         }
 
-        if (!isNullOrEmpty(deprecationNode)) {
-            sb.append(". Deprecation note: ").append(deprecationNode);
+        if (!isNullOrEmpty(deprecationNote)) {
+            sb.append(". Deprecation note: ").append(deprecationNote);
         }
 
         return sb.toString();
diff --git a/tooling/spi-annotations/src/main/java/org/apache/camel/spi/Metadata.java b/tooling/spi-annotations/src/main/java/org/apache/camel/spi/Metadata.java
index a52e904..f5f7af6 100644
--- a/tooling/spi-annotations/src/main/java/org/apache/camel/spi/Metadata.java
+++ b/tooling/spi-annotations/src/main/java/org/apache/camel/spi/Metadata.java
@@ -98,6 +98,6 @@ public @interface Metadata {
     /**
      * Additional description that can explain the user about the deprecation and give reference to what to use instead.
      */
-    String deprecationNode() default "";
+    String deprecationNote() default "";
 
 }


[camel] 01/13: Upgrade maven plugins to maven 3.x

Posted by gn...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

gnodet pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 3e3790365d9a807eedabd81392e4a76a818723de
Author: Guillaume Nodet <gn...@gmail.com>
AuthorDate: Thu Nov 29 22:23:08 2018 +0000

    Upgrade maven plugins to maven 3.x
---
 tooling/maven/bom-generator-maven-plugin/pom.xml   | 18 +++--
 .../maven/bom/generator/BomGeneratorMojo.java      | 49 ++++---------
 .../maven/camel-api-component-maven-plugin/pom.xml |  8 +--
 .../pom.xml                                        |  8 ---
 tooling/maven/camel-maven-plugin/pom.xml           | 26 ++++++-
 .../java/org/apache/camel/maven/EmbeddedMojo.java  | 29 +++-----
 .../org/apache/camel/maven/RouteCoverageMojo.java  | 26 +++----
 .../main/java/org/apache/camel/maven/RunMojo.java  | 68 +++++++-----------
 .../java/org/apache/camel/maven/ValidateMojo.java  | 56 +++++----------
 tooling/maven/camel-package-maven-plugin/pom.xml   |  6 +-
 .../packaging/PackageArchetypeCatalogMojo.java     | 22 +++---
 .../maven/packaging/PackageComponentMojo.java      | 23 +++---
 .../maven/packaging/PackageDataFormatMojo.java     | 26 +++----
 .../camel/maven/packaging/PackageLanguageMojo.java | 26 +++----
 .../camel/maven/packaging/PackageModelMojo.java    | 26 +++----
 .../camel/maven/packaging/PackageOtherMojo.java    | 26 +++----
 .../maven/packaging/PrepareCatalogKarafMojo.java   | 37 ++++------
 .../camel/maven/packaging/PrepareCatalogMojo.java  | 60 ++++++----------
 .../packaging/PrepareCatalogSpringBootMojo.java    | 33 ++++-----
 .../maven/packaging/PrepareComponentMojo.java      | 32 ++++-----
 .../camel/maven/packaging/PrepareExampleMojo.java  | 18 ++---
 .../camel/maven/packaging/PrepareReadmeMojo.java   | 81 +++++++++-------------
 .../maven/packaging/PrepareUserGuideMojo.java      | 33 ++++-----
 .../packaging/SpringBootAutoConfigurationMojo.java | 25 +++----
 .../maven/packaging/SpringBootStarterMojo.java     | 48 ++++---------
 .../camel/maven/packaging/UpdateReadmeMojo.java    | 29 ++++----
 ...pdateSpringBootAutoConfigurationReadmeMojo.java | 26 +++----
 .../maven/packaging/ValidateComponentMojo.java     | 26 +++----
 tooling/maven/camel-restdsl-swagger-plugin/pom.xml |  4 --
 tooling/parent/pom.xml                             | 20 +++++-
 30 files changed, 355 insertions(+), 560 deletions(-)

diff --git a/tooling/maven/bom-generator-maven-plugin/pom.xml b/tooling/maven/bom-generator-maven-plugin/pom.xml
index f70e438..ea8b50a 100644
--- a/tooling/maven/bom-generator-maven-plugin/pom.xml
+++ b/tooling/maven/bom-generator-maven-plugin/pom.xml
@@ -47,6 +47,14 @@
     <dependencies>
 
         <dependency>
+            <groupId>org.apache.maven.resolver</groupId>
+            <artifactId>maven-resolver-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.maven.resolver</groupId>
+            <artifactId>maven-resolver-util</artifactId>
+        </dependency>
+        <dependency>
             <groupId>org.apache.maven</groupId>
             <artifactId>maven-core</artifactId>
         </dependency>
@@ -59,16 +67,12 @@
             <artifactId>maven-plugin-api</artifactId>
         </dependency>
         <dependency>
-            <groupId>org.apache.maven</groupId>
-            <artifactId>maven-plugin-descriptor</artifactId>
+            <groupId>org.apache.maven.plugin-tools</groupId>
+            <artifactId>maven-plugin-annotations</artifactId>
         </dependency>
         <dependency>
             <groupId>org.apache.maven</groupId>
-            <artifactId>maven-project</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.maven.shared</groupId>
-            <artifactId>maven-dependency-tree</artifactId>
+            <artifactId>maven-compat</artifactId>
         </dependency>
         <dependency>
             <groupId>org.codehaus.plexus</groupId>
diff --git a/tooling/maven/bom-generator-maven-plugin/src/main/java/org/apache/camel/maven/bom/generator/BomGeneratorMojo.java b/tooling/maven/bom-generator-maven-plugin/src/main/java/org/apache/camel/maven/bom/generator/BomGeneratorMojo.java
index c309cab..aeda649 100644
--- a/tooling/maven/bom-generator-maven-plugin/src/main/java/org/apache/camel/maven/bom/generator/BomGeneratorMojo.java
+++ b/tooling/maven/bom-generator-maven-plugin/src/main/java/org/apache/camel/maven/bom/generator/BomGeneratorMojo.java
@@ -43,7 +43,6 @@ import javax.xml.xpath.XPathExpression;
 import javax.xml.xpath.XPathExpressionException;
 import javax.xml.xpath.XPathFactory;
 
-
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
@@ -62,91 +61,71 @@ import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
 import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.MojoFailureException;
+import org.apache.maven.plugins.annotations.Component;
+import org.apache.maven.plugins.annotations.LifecyclePhase;
+import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
 import org.apache.maven.project.MavenProject;
 
 /**
  * Generate BOM by flattening the current project's dependency management section and applying exclusions.
- *
- * @goal generate
- * @phase validate
- * @threadSafe
  */
+@Mojo(name = "generate", defaultPhase = LifecyclePhase.VALIDATE, threadSafe = true)
 public class BomGeneratorMojo extends AbstractMojo {
 
     /**
      * The maven project.
-     *
-     * @parameter property="project"
-     * @required
-     * @readonly
      */
+    @Parameter(defaultValue = "${project}", readonly = true)
     protected MavenProject project;
 
     /**
      * The source pom template file.
-     *
-     * @parameter default-value="${basedir}/pom.xml"
      */
+    @Parameter(defaultValue = "${basedir}/pom.xml")
     protected File sourcePom;
 
     /**
      * The pom file.
-     *
-     * @parameter default-value="${project.build.directory}/${project.name}-pom.xml"
      */
+    @Parameter(defaultValue = "${project.build.directory}/${project.name}-pom.xml")
     protected File targetPom;
 
 
     /**
      * The user configuration
-     *
-     * @parameter
-     * @readonly
      */
+    @Parameter(readonly = true)
     protected DependencySet dependencies;
 
     /**
      * The conflict checks configured by the user
-     *
-     * @parameter
-     * @readonly
      */
+    @Parameter(readonly = true)
     protected ExternalBomConflictCheckSet checkConflicts;
 
     /**
      * Used to look up Artifacts in the remote repository.
-     *
-     * @component role="org.apache.maven.artifact.factory.ArtifactFactory"
-     * @required
-     * @readonly
      */
+    @Component
     protected ArtifactFactory artifactFactory;
 
     /**
      * Used to look up Artifacts in the remote repository.
-     *
-     * @component role="org.apache.maven.artifact.resolver.ArtifactResolver"
-     * @required
-     * @readonly
      */
+    @Component
     protected ArtifactResolver artifactResolver;
 
     /**
      * List of Remote Repositories used by the resolver
-     *
-     * @parameter property="project.remoteArtifactRepositories"
-     * @readonly
-     * @required
      */
+    @Parameter(property = "project.remoteArtifactRepositories", readonly = true, required = true)
     protected List remoteRepositories;
 
     /**
      * Location of the local repository.
-     *
-     * @parameter property="localRepository"
-     * @readonly
-     * @required
      */
+    @Parameter(property = "localRepository", readonly = true, required = true)
     protected ArtifactRepository localRepository;
 
     @Override
diff --git a/tooling/maven/camel-api-component-maven-plugin/pom.xml b/tooling/maven/camel-api-component-maven-plugin/pom.xml
index 62a28a1..9f51fe0 100644
--- a/tooling/maven/camel-api-component-maven-plugin/pom.xml
+++ b/tooling/maven/camel-api-component-maven-plugin/pom.xml
@@ -73,12 +73,8 @@
       <artifactId>maven-plugin-api</artifactId>
     </dependency>
     <dependency>
-      <groupId>org.apache.maven</groupId>
-      <artifactId>maven-plugin-descriptor</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.maven</groupId>
-      <artifactId>maven-project</artifactId>
+      <groupId>org.apache.maven.reporting</groupId>
+      <artifactId>maven-reporting-api</artifactId>
     </dependency>
     <dependency>
       <groupId>org.codehaus.plexus</groupId>
diff --git a/tooling/maven/camel-eip-documentation-enricher-maven-plugin/pom.xml b/tooling/maven/camel-eip-documentation-enricher-maven-plugin/pom.xml
index 599b383..4e34366 100644
--- a/tooling/maven/camel-eip-documentation-enricher-maven-plugin/pom.xml
+++ b/tooling/maven/camel-eip-documentation-enricher-maven-plugin/pom.xml
@@ -59,14 +59,6 @@
       <artifactId>maven-plugin-api</artifactId>
     </dependency>
     <dependency>
-      <groupId>org.apache.maven</groupId>
-      <artifactId>maven-plugin-descriptor</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.maven</groupId>
-      <artifactId>maven-project</artifactId>
-    </dependency>
-    <dependency>
       <groupId>org.codehaus.plexus</groupId>
       <artifactId>plexus-container-default</artifactId>
     </dependency>
diff --git a/tooling/maven/camel-maven-plugin/pom.xml b/tooling/maven/camel-maven-plugin/pom.xml
index 2752aae..2c8197b 100644
--- a/tooling/maven/camel-maven-plugin/pom.xml
+++ b/tooling/maven/camel-maven-plugin/pom.xml
@@ -31,8 +31,24 @@
   <name>Camel :: Maven Plugins :: Camel Maven Run</name>
   <description>Maven plugin to run Camel standalone</description>
 
+  <dependencyManagement>
+    <dependencies>
+      <dependency>
+        <groupId>org.apache.camel</groupId>
+        <artifactId>tooling-parent</artifactId>
+        <version>${project.version}</version>
+        <type>pom</type>
+        <scope>import</scope>
+      </dependency>
+    </dependencies>
+  </dependencyManagement>
+
   <dependencies>
 
+    <dependency>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-core</artifactId>
+    </dependency>
     <!-- we extend the exec-maven-plugin for this camel maven plugin -->
     <dependency>
       <groupId>org.codehaus.mojo</groupId>
@@ -44,11 +60,17 @@
         </exclusion>
       </exclusions>
     </dependency>
-    <!-- As Camel requires Maven 3.x we can depend on an updated version of the plugin API -->
     <dependency>
       <groupId>org.apache.maven</groupId>
       <artifactId>maven-plugin-api</artifactId>
-      <version>3.1.1</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-compat</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.plugin-tools</groupId>
+      <artifactId>maven-plugin-annotations</artifactId>
     </dependency>
 
     <dependency>
diff --git a/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/EmbeddedMojo.java b/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/EmbeddedMojo.java
index 3d775e1..eadd797 100644
--- a/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/EmbeddedMojo.java
+++ b/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/EmbeddedMojo.java
@@ -27,6 +27,10 @@ import java.util.Arrays;
 import java.util.List;
 
 import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.plugins.annotations.LifecyclePhase;
+import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
+import org.apache.maven.plugins.annotations.ResolutionScope;
 import org.codehaus.mojo.exec.AbstractExecMojo;
 
 /**
@@ -34,53 +38,40 @@ import org.codehaus.mojo.exec.AbstractExecMojo;
  * <code>META-INF/spring/*.xml</code> and <code>camel-*.xml</code>
  * and starting up the context; then generating
  * the DOT file before closing the context down.
- *
- * @goal embedded
- * @requiresDependencyResolution compile+runtime
- * @execute phase="prepare-package"
  */
+@Mojo(name = "embedded", defaultPhase = LifecyclePhase.PREPARE_PACKAGE, requiresDependencyResolution = ResolutionScope.COMPILE_PLUS_RUNTIME)
 public class EmbeddedMojo extends AbstractExecMojo {
 
     /**
      * The duration to run the application for which by default is in milliseconds.
      * A value <= 0 will run forever. 
      * Adding a s indicates seconds - eg "5s" means 5 seconds.
-     *
-     * @parameter property="camel.duration"
-     *            default-value="-1"
      */
+    @Parameter(property = "camel.duration", defaultValue = "-1")
     protected String duration;
     
     /**
      * The classpath based application context uri that spring wants to get.
-     *
-     * @parameter property="camel.applicationContextUri"
      */
+    @Parameter(property = "camel.applicationContextUri")
     protected String applicationContextUri;
     
     /**
      * The filesystem based application context uri that spring wants to get.
-     *
-     * @parameter property="camel.fileApplicationContextUri"
      */
+    @Parameter(property = "camel.fileApplicationContextUri")
     protected String fileApplicationContextUri;
 
     /**
      * Project classpath.
-     *
-     * @parameter property="project.testClasspathElements"
-     * @required
-     * @readonly
      */
+    @Parameter(property = "project.testClasspathElements", required = true, readonly = true)
     private List<?> classpathElements;
 
     /**
      * The main class to execute.
-     *
-     * @parameter property="camel.mainClass"
-     *            default-value="org.apache.camel.spring.Main"
-     * @required
      */
+    @Parameter(property = "camel.mainClass", defaultValue = "org.apache.camel.spring.Main", required = true)
     private String mainClass;
 
     /**
diff --git a/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/RouteCoverageMojo.java b/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/RouteCoverageMojo.java
index 0cb6c00..6899093 100644
--- a/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/RouteCoverageMojo.java
+++ b/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/RouteCoverageMojo.java
@@ -44,6 +44,8 @@ import org.apache.camel.util.FileUtil;
 import org.apache.maven.model.Resource;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.MojoFailureException;
+import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
 import org.apache.maven.project.MavenProject;
 import org.codehaus.mojo.exec.AbstractExecMojo;
 import org.jboss.forge.roaster.Roaster;
@@ -52,19 +54,14 @@ import org.jboss.forge.roaster.model.source.JavaClassSource;
 
 /**
  * Performs route coverage reports after running Camel unit tests with camel-test modules
- *
- * @goal route-coverage
- * @threadSafe
  */
+@Mojo(name = "route-coverage", threadSafe = true)
 public class RouteCoverageMojo extends AbstractExecMojo {
 
     /**
      * The maven project.
-     *
-     * @parameter property="project"
-     * @required
-     * @readonly
      */
+    @Parameter(property = "project", required = true, readonly = true)
     protected MavenProject project;
 
     /**
@@ -76,6 +73,7 @@ public class RouteCoverageMojo extends AbstractExecMojo {
      * @parameter property="camel.failOnError"
      *            default-value="false"
      */
+    @Parameter(property = "camel.failOnError", defaultValue = "false")
     private boolean failOnError;
 
     /**
@@ -88,26 +86,22 @@ public class RouteCoverageMojo extends AbstractExecMojo {
 
     /**
      * Whether to include test source code
-     *
-     * @parameter property="camel.includeTest"
-     *            default-value="false"
      */
+    @Parameter(property = "camel.includeTest", defaultValue = "false")
     private boolean includeTest;
 
     /**
      * To filter the names of java and xml files to only include files matching any of the given list of patterns (wildcard and regular expression).
      * Multiple values can be separated by comma.
-     *
-     * @parameter property="camel.includes"
      */
+    @Parameter(property = "camel.includes")
     private String includes;
 
     /**
      * To filter the names of java and xml files to exclude files matching any of the given list of patterns (wildcard and regular expression).
      * Multiple values can be separated by comma.
-     *
-     * @parameter property="camel.excludes"
      */
+    @Parameter(property = "camel.excludes")
     private String excludes;
 
     /**
@@ -115,10 +109,8 @@ public class RouteCoverageMojo extends AbstractExecMojo {
      * By using route id's then its safer to match the route cover data with the route source code.
      * Anonymous routes are less safe to use for route coverage as its harder to know
      * exactly which route that was tested corresponds to which of the routes from the source code.
-     *
-     * @parameter property="camel.anonymousRoutes"
-     *            default-value="false"
      */
+    @Parameter(property = "camel.anonymousRoutes", defaultValue = "false")
     private boolean anonymousRoutes;
 
     // CHECKSTYLE:OFF
diff --git a/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/RunMojo.java b/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/RunMojo.java
index 07126f0..e3ee3ba 100644
--- a/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/RunMojo.java
+++ b/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/RunMojo.java
@@ -37,6 +37,7 @@ import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.factory.ArtifactFactory;
 import org.apache.maven.artifact.metadata.ArtifactMetadataSource;
 import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.artifact.resolver.ArtifactResolutionRequest;
 import org.apache.maven.artifact.resolver.ArtifactResolutionResult;
 import org.apache.maven.artifact.resolver.ArtifactResolver;
 import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
@@ -50,22 +51,25 @@ import org.apache.maven.model.Resource;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.MojoFailureException;
 import org.apache.maven.plugin.descriptor.PluginDescriptor;
+import org.apache.maven.plugins.annotations.Component;
+import org.apache.maven.plugins.annotations.LifecyclePhase;
+import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
+import org.apache.maven.plugins.annotations.ResolutionScope;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.MavenProjectBuilder;
 import org.apache.maven.project.artifact.MavenMetadataSource;
 import org.codehaus.mojo.exec.AbstractExecMojo;
 import org.codehaus.mojo.exec.ExecutableDependency;
 import org.codehaus.mojo.exec.Property;
+import org.eclipse.aether.RepositorySystem;
 
 /**
  * Runs a CamelContext using any Spring or Blueprint XML configuration files found in
  * <code>META-INF/spring/*.xml</code>, and <code>OSGI-INF/blueprint/*.xml</code>,
  * and <code>camel-*.xml</code> and starting up the context.
- *
- * @goal run
- * @requiresDependencyResolution compile+runtime
- * @execute phase="prepare-package"
  */
+@Mojo(name = "run", defaultPhase = LifecyclePhase.PREPARE_PACKAGE, requiresDependencyResolution = ResolutionScope.COMPILE_PLUS_RUNTIME)
 public class RunMojo extends AbstractExecMojo {
 
     // this code is based on a copy-and-paste of maven-exec-plugin
@@ -81,87 +85,63 @@ public class RunMojo extends AbstractExecMojo {
      * @required
      * @readonly
      */
+    @Parameter(property = "project", required = true, readonly = true)
     protected MavenProject project;
 
     /**
      * Sets the time duration (seconds) that the application will run for before terminating.
      * A value <= 0 will run forever.
-     *
-     * @parameter property="camel.duration"
-     *            default-value="-1"
-     *
      */
+    @Parameter(property = "camel.duration", defaultValue = "-1")
     protected String duration;
 
     /**
      * Sets the idle time duration (seconds) duration that the application can be idle before terminating.
      * A value <= 0 will run forever.
-     *
-     * @parameter property="camel.durationIdle"
-     *            default-value="-1"
-     *
      */
+    @Parameter(property = "camel.durationIdle", defaultValue = "-1")
     protected String durationIdle;
 
     /**
      * Sets the duration of maximum number of messages that the application will process before terminating.
-     *
-     * @parameter property="camel.duration.maxMessages"
-     *            default-value="-1"
-     *
      */
+    @Parameter(property = "camel.duration.maxMessages", defaultValue = "-1")
     protected String durationMaxMessages;
 
     /**
      * Whether to log the classpath when starting
-     *
-     * @parameter property="camel.logClasspath"
-     *            default-value="false"
      */
+    @Parameter(property = "camel.logClasspath", defaultValue = "false")
     protected boolean logClasspath;
 
     /**
      * Whether to use Blueprint when running, instead of Spring
-     *
-     * @parameter property="camel.useBlueprint"
      */
+    @Parameter(property = "camel.useBlueprint")
     protected Boolean useBlueprint;
 
     /**
      * Whether to use CDI when running, instead of Spring
-     *
-     * @parameter property="camel.useCDI"
      */
+    @Parameter(property = "camel.useCDI")
     protected Boolean useCDI;
     
     protected String extendedPluginDependencyArtifactId;
 
-    /**
-     * @component
-     */
+    @Component
     private ArtifactResolver artifactResolver;
 
-    /**
-     * @component
-     */
+    @Component
     private ArtifactFactory artifactFactory;
 
-    /**
-     * @component
-     */
+    @Component
     private ArtifactMetadataSource metadataSource;
 
-    /**
-     * @parameter property="localRepository"
-     * @required
-     * @readonly
-     */
+    @Parameter(property = "localRepository")
     private ArtifactRepository localRepository;
 
-    /**
-     * @parameter property="project.remoteArtifactRepositories"
-     */
-    private List<?> remoteRepositories;
+    @Parameter(property = "project.remoteArtifactRepositories")
+    private List remoteRepositories;
 
     /**
      * @component
@@ -1058,12 +1038,12 @@ public class RunMojo extends AbstractExecMojo {
                                                                                      this.localRepository);
 
             // get all of the dependencies for the executable project
-            List<Artifact> dependencies = CastUtils.cast(executableProject.getDependencies());
+            List<Dependency> dependencies = executableProject.getDependencies();
 
             // make Artifacts of all the dependencies
             Set<Artifact> dependencyArtifacts 
-                = CastUtils.cast(MavenMetadataSource.createArtifacts(this.artifactFactory, dependencies,
-                                                                          null, null, null));
+                = MavenMetadataSource.createArtifacts(this.artifactFactory, dependencies,
+                                                                          null, null, null);
 
             // not forgetting the Artifact of the project itself
             dependencyArtifacts.add(executableProject.getArtifact());
diff --git a/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/ValidateMojo.java b/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/ValidateMojo.java
index 2115425..89024c6 100644
--- a/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/ValidateMojo.java
+++ b/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/ValidateMojo.java
@@ -42,6 +42,8 @@ import org.apache.maven.model.Dependency;
 import org.apache.maven.model.Resource;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.MojoFailureException;
+import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
 import org.apache.maven.project.MavenProject;
 import org.codehaus.mojo.exec.AbstractExecMojo;
 import org.jboss.forge.roaster.Roaster;
@@ -50,99 +52,84 @@ import org.jboss.forge.roaster.model.source.JavaClassSource;
 
 /**
  * Parses the source code and validates the Camel routes has valid endpoint uris and simple expressions.
- *
- * @goal validate
- * @threadSafe
  */
+@Mojo(name = "validate", threadSafe = true)
 public class ValidateMojo extends AbstractExecMojo {
 
     /**
      * The maven project.
-     *
-     * @parameter property="project"
-     * @required
-     * @readonly
      */
+    @Parameter(property = "project", required = true, readonly = true)
     protected MavenProject project;
 
     /**
      * Whether to fail if invalid Camel endpoints was found. By default the plugin logs the errors at WARN level
      *
-     * @parameter property="camel.failOnError"
-     *            default-value="false"
      */
+    @Parameter(property = "camel.failOnError", defaultValue = "false")
     private boolean failOnError;
 
     /**
      * Whether to log endpoint URIs which was un-parsable and therefore not possible to validate
      *
-     * @parameter property="camel.logUnparseable"
-     *            default-value="false"
      */
+    @Parameter(property = "camel.logUnparseable", defaultValue = "false")
     private boolean logUnparseable;
 
     /**
      * Whether to include Java files to be validated for invalid Camel endpoints
      *
-     * @parameter property="camel.includeJava"
-     *            default-value="true"
      */
+    @Parameter(property = "camel.includeJava", defaultValue = "true")
     private boolean includeJava;
 
     /**
      * Whether to include XML files to be validated for invalid Camel endpoints
      *
-     * @parameter property="camel.includeXml"
-     *            default-value="true"
      */
+    @Parameter(property = "camel.includeXml", defaultValue = "true")
     private boolean includeXml;
 
     /**
      * Whether to include test source code
      *
-     * @parameter property="camel.includeTest"
-     *            default-value="false"
      */
+    @Parameter(property = "camel.includeTest", defaultValue = "false")
     private boolean includeTest;
 
     /**
      * To filter the names of java and xml files to only include files matching any of the given list of patterns (wildcard and regular expression).
      * Multiple values can be separated by comma.
-     *
-     * @parameter property="camel.includes"
      */
+    @Parameter(property = "camel.includes")
     private String includes;
 
     /**
      * To filter the names of java and xml files to exclude files matching any of the given list of patterns (wildcard and regular expression).
      * Multiple values can be separated by comma.
-     *
-     * @parameter property="camel.excludes"
      */
+    @Parameter(property = "camel.excludes")
     private String excludes;
 
     /**
      * Whether to ignore unknown components
      *
-     * @parameter property="camel.ignoreUnknownComponent"
-     *            default-value="true"
      */
+    @Parameter(property = "camel.ignoreUnknownComponent", defaultValue = "true")
     private boolean ignoreUnknownComponent;
 
     /**
      * Whether to ignore incapable of parsing the endpoint uri
      *
-     * @parameter property="camel.ignoreIncapable"
-     *            default-value="true"
      */
+    @Parameter(property = "camel.ignoreIncapable", defaultValue = "true")
     private boolean ignoreIncapable;
 
     /**
      * Whether to ignore deprecated options being used in the endpoint uri
      *
-     * @parameter property="camel.ignoreDeprecated"
-     *            default-value="true"
      */
+    @Parameter(property = "camel.ignoreDeprecated", defaultValue = "true")
     private boolean ignoreDeprecated;
 
     /**
@@ -150,43 +137,38 @@ public class ValidateMojo extends AbstractExecMojo {
      * but would fail on properties that are not part of the component but in the uri because of using lenient properties.
      * For example using the HTTP components to provide query parameters in the endpoint uri.
      *
-     * @parameter property="camel.ignoreLenientProperties"
-     *            default-value="true"
      */
+    @Parameter(property = "camel.ignoreLenientProperties", defaultValue = "true")
     private boolean ignoreLenientProperties;
 
     /**
      * Whether to show all endpoints and simple expressions (both invalid and valid).
      *
-     * @parameter property="camel.showAll"
-     *            default-value="false"
      */
+    @Parameter(property = "camel.showAll", defaultValue = "false")
     private boolean showAll;
 
     /**
      * Whether to allow downloading Camel catalog version from the internet. This is needed if the project
      * uses a different Camel version than this plugin is using by default.
      *
-     * @parameter property="camel.downloadVersion"
-     *            default-value="true"
      */
+    @Parameter(property = "camel.downloadVersion", defaultValue = "true")
     private boolean downloadVersion;
 
     /**
      * Whether to validate for duplicate route ids. Route ids should be unique and if there are duplicates
      * then Camel will fail to startup.
      *
-     * @parameter property="camel.duplicateRouteId"
-     *            default-value="true"
      */
+    @Parameter(property = "camel.duplicateRouteId", defaultValue = "true")
     private boolean duplicateRouteId;
 
     /**
      * Whether to validate direct/seda endpoints sending to non existing consumers.
      *
-     * @parameter property="camel.directOrSedaPairCheck"
-     *            default-value="true"
      */
+    @Parameter(property = "camel.directOrSedaPairCheck", defaultValue = "true")
     private boolean directOrSedaPairCheck;
 
     // CHECKSTYLE:OFF
diff --git a/tooling/maven/camel-package-maven-plugin/pom.xml b/tooling/maven/camel-package-maven-plugin/pom.xml
index c8c540a..b2019a8 100644
--- a/tooling/maven/camel-package-maven-plugin/pom.xml
+++ b/tooling/maven/camel-package-maven-plugin/pom.xml
@@ -72,12 +72,12 @@
       <artifactId>maven-plugin-api</artifactId>
     </dependency>
     <dependency>
-      <groupId>org.apache.maven</groupId>
-      <artifactId>maven-plugin-descriptor</artifactId>
+      <groupId>org.apache.maven.plugin-tools</groupId>
+      <artifactId>maven-plugin-annotations</artifactId>
     </dependency>
     <dependency>
       <groupId>org.apache.maven</groupId>
-      <artifactId>maven-project</artifactId>
+      <artifactId>maven-compat</artifactId>
     </dependency>
     <dependency>
       <groupId>org.apache.maven.shared</groupId>
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageArchetypeCatalogMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageArchetypeCatalogMojo.java
index ab3c3bf..a937146 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageArchetypeCatalogMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageArchetypeCatalogMojo.java
@@ -28,6 +28,9 @@ import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.MojoFailureException;
 import org.apache.maven.plugin.logging.Log;
+import org.apache.maven.plugins.annotations.Component;
+import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.MavenProjectHelper;
 
@@ -35,41 +38,32 @@ import static org.apache.camel.maven.packaging.StringHelper.between;
 
 /**
  * Creates the Maven catalog for the Camel archetypes
- *
- * @goal generate-and-attach-archetype-catalog
- * @threadSafe
  */
+@Mojo(name = "generate-and-attach-archetype-catalog", threadSafe = true)
 public class PackageArchetypeCatalogMojo extends AbstractMojo {
 
     /**
      * The maven project.
-     *
-     * @parameter property="project"
-     * @required
-     * @readonly
      */
+    @Parameter(property = "project", required = true, readonly = true)
     protected MavenProject project;
 
     /**
      * The output directory for generated components file
-     *
-     * @parameter default-value="${project.build.directory}/classes/"
      */
+    @Parameter(defaultValue = "${project.build.directory}/classes/")
     protected File outDir;
 
     /**
      * The build directory
-     *
-     * @parameter default-value="${project.build.directory}"
      */
+    @Parameter(defaultValue = "${project.build.directory}")
     protected File projectBuildDir;
 
     /**
      * Maven ProjectHelper.
-     *
-     * @component
-     * @readonly
      */
+    @Component
     private MavenProjectHelper projectHelper;
 
     /**
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageComponentMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageComponentMojo.java
index 2282205..7cda938 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageComponentMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageComponentMojo.java
@@ -29,49 +29,42 @@ import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.MojoFailureException;
 import org.apache.maven.plugin.logging.Log;
+import org.apache.maven.plugins.annotations.Component;
+import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.MavenProjectHelper;
 import org.sonatype.plexus.build.incremental.BuildContext;
 
 /**
  * Analyses the Camel plugins in a project and generates extra descriptor information for easier auto-discovery in Camel.
- *
- * @goal generate-components-list
- * @threadSafe
  */
+@Mojo(name = "generate-components-list", threadSafe = true)
 public class PackageComponentMojo extends AbstractMojo {
 
     /**
      * The maven project.
-     *
-     * @parameter property="project"
-     * @required
-     * @readonly
      */
+    @Parameter(property = "project", required = true, readonly = true)
     protected MavenProject project;
 
     /**
      * The output directory for generated components file
-     *
-     * @parameter default-value="${project.build.directory}/generated/camel/components"
      */
+    @Parameter(defaultValue = "${project.build.directory}/generated/camel/components")
     protected File componentOutDir;
 
     /**
      * Maven ProjectHelper.
-     *
-     * @component
-     * @readonly
      */
+    @Component
     private MavenProjectHelper projectHelper;
 
     /**
      * build context to check changed files and mark them for refresh (used for
      * m2e compatibility)
-     * 
-     * @component
-     * @readonly
      */
+    @Component
     private BuildContext buildContext;
 
     /**
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageDataFormatMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageDataFormatMojo.java
index 6a2d9a8..2437834 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageDataFormatMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageDataFormatMojo.java
@@ -36,6 +36,9 @@ import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.MojoFailureException;
 import org.apache.maven.plugin.logging.Log;
+import org.apache.maven.plugins.annotations.Component;
+import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.MavenProjectHelper;
 import org.sonatype.plexus.build.incremental.BuildContext;
@@ -46,50 +49,39 @@ import static org.apache.camel.maven.packaging.PackageHelper.parseAsMap;
 
 /**
  * Analyses the Camel plugins in a project and generates extra descriptor information for easier auto-discovery in Camel.
- *
- * @goal generate-dataformats-list
- * @threadSafe
  */
+@Mojo(name = "generate-dataformats-list", threadSafe = true)
 public class PackageDataFormatMojo extends AbstractMojo {
 
     /**
      * The maven project.
-     *
-     * @parameter property="project"
-     * @required
-     * @readonly
      */
+    @Parameter(property = "project", required = true, readonly = true)
     protected MavenProject project;
 
     /**
      * The output directory for generated dataformats file
-     *
-     * @parameter default-value="${project.build.directory}/generated/camel/dataformats"
      */
+    @Parameter(defaultValue = "${project.build.directory}/generated/camel/dataformats")
     protected File dataFormatOutDir;
 
     /**
      * The output directory for generated dataformats file
-     *
-     * @parameter default-value="${project.build.directory}/classes"
      */
+    @Parameter(defaultValue = "${project.build.directory}/classes")
     protected File schemaOutDir;
 
     /**
      * Maven ProjectHelper.
-     *
-     * @component
-     * @readonly
      */
+    @Component
     private MavenProjectHelper projectHelper;
 
     /**
      * build context to check changed files and mark them for refresh (used for
      * m2e compatibility)
-     * 
-     * @component
-     * @readonly
      */
+    @Component
     private BuildContext buildContext;
 
     /**
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageLanguageMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageLanguageMojo.java
index 40ddff1..031d464 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageLanguageMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageLanguageMojo.java
@@ -36,6 +36,9 @@ import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.MojoFailureException;
 import org.apache.maven.plugin.logging.Log;
+import org.apache.maven.plugins.annotations.Component;
+import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.MavenProjectHelper;
 import org.sonatype.plexus.build.incremental.BuildContext;
@@ -46,50 +49,39 @@ import static org.apache.camel.maven.packaging.PackageHelper.parseAsMap;
 
 /**
  * Analyses the Camel plugins in a project and generates extra descriptor information for easier auto-discovery in Camel.
- *
- * @goal generate-languages-list
- * @threadSafe
  */
+@Mojo(name = "generate-languages-list", threadSafe = true)
 public class PackageLanguageMojo extends AbstractMojo {
 
     /**
      * The maven project.
-     *
-     * @parameter property="project"
-     * @required
-     * @readonly
      */
+    @Parameter(property = "project", required = true, readonly = true)
     protected MavenProject project;
 
     /**
      * The output directory for generated languages file
-     *
-     * @parameter default-value="${project.build.directory}/generated/camel/languages"
      */
+    @Parameter(defaultValue = "${project.build.directory}/generated/camel/languages")
     protected File languageOutDir;
 
     /**
      * The output directory for generated languages file
-     *
-     * @parameter default-value="${project.build.directory}/classes"
      */
+    @Parameter(defaultValue = "${project.build.directory}/classes")
     protected File schemaOutDir;
 
     /**
      * Maven ProjectHelper.
-     *
-     * @component
-     * @readonly
      */
+    @Component
     private MavenProjectHelper projectHelper;
 
     /**
      * build context to check changed files and mark them for refresh
      * (used for m2e compatibility)
-     * 
-     * @component
-     * @readonly
      */
+    @Component
     private BuildContext buildContext;
 
     /**
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageModelMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageModelMojo.java
index 909ccb4..f2d40a5 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageModelMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageModelMojo.java
@@ -32,56 +32,48 @@ import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.MojoFailureException;
 import org.apache.maven.plugin.logging.Log;
+import org.apache.maven.plugins.annotations.Component;
+import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.MavenProjectHelper;
 import org.sonatype.plexus.build.incremental.BuildContext;
 
 /**
  * Analyses the Camel EIPs in a project and generates extra descriptor information for easier auto-discovery in Camel.
- *
- * @goal generate-eips-list
- * @threadSafe
  */
+@Mojo(name = "generate-eips-list", threadSafe = true)
 public class PackageModelMojo extends AbstractMojo {
 
     /**
      * The maven project.
-     *
-     * @parameter property="project"
-     * @required
-     * @readonly
      */
+    @Parameter(property = "project", required = true, readonly = true)
     protected MavenProject project;
 
     /**
      * The camel-core directory
-     *
-     * @parameter default-value="${project.build.directory}"
      */
+    @Parameter(defaultValue = "${project.build.directory}")
     protected File buildDir;
 
     /**
      * The output directory for generated models file
-     *
-     * @parameter default-value="${project.build.directory}/generated/camel/models"
      */
+    @Parameter(defaultValue = "${project.build.directory}/generated/camel/models")
     protected File outDir;
 
     /**
      * Maven ProjectHelper.
-     *
-     * @component
-     * @readonly
      */
+    @Component
     private MavenProjectHelper projectHelper;
 
     /**
      * build context to check changed files and mark them for refresh
      * (used for m2e compatibility)
-     *
-     * @component
-     * @readonly
      */
+    @Component
     private BuildContext buildContext;
 
     /**
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageOtherMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageOtherMojo.java
index c654b51..704e013 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageOtherMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageOtherMojo.java
@@ -29,6 +29,9 @@ import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.MojoFailureException;
 import org.apache.maven.plugin.logging.Log;
+import org.apache.maven.plugins.annotations.Component;
+import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.MavenProjectHelper;
 import org.sonatype.plexus.build.incremental.BuildContext;
@@ -37,50 +40,39 @@ import static org.apache.camel.maven.packaging.StringHelper.camelDashToTitle;
 
 /**
  * Analyses the Camel plugins in a project and generates extra descriptor information for easier auto-discovery in Camel.
- *
- * @goal generate-others-list
- * @threadSafe
  */
+@Mojo(name = "generate-others-list", threadSafe = true)
 public class PackageOtherMojo extends AbstractMojo {
 
     /**
      * The maven project.
-     *
-     * @parameter property="project"
-     * @required
-     * @readonly
      */
+    @Parameter(property = "project", required = true, readonly = true)
     protected MavenProject project;
 
     /**
      * The output directory for generated components file
-     *
-     * @parameter default-value="${project.build.directory}/generated/camel/others"
      */
+    @Parameter(defaultValue = "${project.build.directory}/generated/camel/others")
     protected File otherOutDir;
 
     /**
      * The output directory for generated languages file
-     *
-     * @parameter default-value="${project.build.directory}/classes"
      */
+    @Parameter(defaultValue = "${project.build.directory}/classes")
     protected File schemaOutDir;
 
     /**
      * Maven ProjectHelper.
-     *
-     * @component
-     * @readonly
      */
+    @Component
     private MavenProjectHelper projectHelper;
 
     /**
      * build context to check changed files and mark them for refresh (used for
      * m2e compatibility)
-     * 
-     * @component
-     * @readonly
      */
+    @Component
     private BuildContext buildContext;
 
     /**
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCatalogKarafMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCatalogKarafMojo.java
index 3db3d78..e9e1e05 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCatalogKarafMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCatalogKarafMojo.java
@@ -41,6 +41,9 @@ import static org.w3c.dom.Node.ELEMENT_NODE;
 import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.MojoFailureException;
+import org.apache.maven.plugins.annotations.Component;
+import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.MavenProjectHelper;
 
@@ -48,78 +51,64 @@ import static org.apache.camel.maven.packaging.PackageHelper.loadText;
 
 /**
  * Prepares the Karaf provider camel catalog to include component it supports
- *
- * @goal prepare-catalog-karaf
- * @threadSafe
  */
+@Mojo(name = "prepare-catalog-karaf", threadSafe = true)
 public class PrepareCatalogKarafMojo extends AbstractMojo {
 
     public static final int BUFFER_SIZE = 128 * 1024;
 
     /**
      * The maven project.
-     *
-     * @parameter property="project"
-     * @required
-     * @readonly
      */
+    @Parameter(property = "project", required = true, readonly = true)
     protected MavenProject project;
 
     /**
      * The output directory for components catalog
-     *
-     * @parameter default-value="${project.build.directory}/classes/org/apache/camel/catalog/karaf/components"
      */
+    @Parameter(defaultValue = "${project.build.directory}/classes/org/apache/camel/catalog/karaf/components")
     protected File componentsOutDir;
 
     /**
      * The output directory for dataformats catalog
-     *
-     * @parameter default-value="${project.build.directory}/classes/org/apache/camel/catalog/karaf/dataformats"
      */
+    @Parameter(defaultValue = "${project.build.directory}/classes/org/apache/camel/catalog/karaf/dataformats")
     protected File dataFormatsOutDir;
 
     /**
      * The output directory for languages catalog
-     *
-     * @parameter default-value="${project.build.directory}/classes/org/apache/camel/catalog/karaf/languages"
      */
+    @Parameter(defaultValue = "${project.build.directory}/classes/org/apache/camel/catalog/karaf/languages")
     protected File languagesOutDir;
 
     /**
      * The output directory for others catalog
-     *
-     * @parameter default-value="${project.build.directory}/classes/org/apache/camel/catalog/karaf/others"
      */
+    @Parameter(defaultValue = "${project.build.directory}/classes/org/apache/camel/catalog/karaf/others")
     protected File othersOutDir;
 
     /**
      * The karaf features directory
-     *
-     * @parameter default-value="${project.build.directory}/../../../platforms/karaf/features/src/main/resources/"
      */
+    @Parameter(defaultValue = "${project.build.directory}/../../../platforms/karaf/features/src/main/resources/")
     protected File featuresDir;
 
     /**
      * The components directory where all the Apache Camel components are
-     *
-     * @parameter default-value="${project.build.directory}/../../../components"
      */
+    @Parameter(defaultValue = "${project.build.directory}/../../../components")
     protected File componentsDir;
 
     /**
      * The camel-core directory where camel-core components are
-     *
-     * @parameter default-value="${project.build.directory}/../../../camel-core"
      */
+    @Parameter(defaultValue = "${project.build.directory}/../../../camel-core")
     protected File coreDir;
 
     /**
      * Maven ProjectHelper.
-     *
-     * @component
-     * @readonly
      */
+    @Component
     private MavenProjectHelper projectHelper;
 
     /**
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCatalogMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCatalogMojo.java
index 37db597..8481e8e 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCatalogMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCatalogMojo.java
@@ -38,6 +38,9 @@ import org.apache.commons.io.FileUtils;
 import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.MojoFailureException;
+import org.apache.maven.plugins.annotations.Component;
+import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.MavenProjectHelper;
 import org.asciidoctor.Asciidoctor;
@@ -48,10 +51,8 @@ import static org.apache.camel.maven.packaging.PackageHelper.loadText;
 /**
  * Prepares the camel catalog to include component, data format, and eip descriptors,
  * and generates a report.
- *
- * @goal prepare-catalog
- * @threadSafe
  */
+@Mojo(name = "prepare-catalog", threadSafe = true)
 public class PrepareCatalogMojo extends AbstractMojo {
 
     public static final int BUFFER_SIZE = 128 * 1024;
@@ -67,124 +68,105 @@ public class PrepareCatalogMojo extends AbstractMojo {
 
     /**
      * The maven project.
-     *
-     * @parameter property="project"
-     * @required
-     * @readonly
      */
+    @Parameter(property = "project", required = true, readonly = true)
     protected MavenProject project;
 
     /**
      * Whether to validate if the components, data formats, and languages are properly documented and have all the needed details.
-     *
-     * @parameter default-value="true"
      */
+    @Parameter(defaultValue = "true")
     protected Boolean validate;
 
     /**
      * The output directory for components catalog
-     *
-     * @parameter default-value="${project.build.directory}/classes/org/apache/camel/catalog/components"
      */
+    @Parameter(defaultValue = "${project.build.directory}/classes/org/apache/camel/catalog/components")
     protected File componentsOutDir;
 
     /**
      * The output directory for dataformats catalog
-     *
-     * @parameter default-value="${project.build.directory}/classes/org/apache/camel/catalog/dataformats"
      */
+    @Parameter(defaultValue = "${project.build.directory}/classes/org/apache/camel/catalog/dataformats")
     protected File dataFormatsOutDir;
 
     /**
      * The output directory for languages catalog
-     *
-     * @parameter default-value="${project.build.directory}/classes/org/apache/camel/catalog/languages"
      */
+    @Parameter(defaultValue = "${project.build.directory}/classes/org/apache/camel/catalog/languages")
     protected File languagesOutDir;
 
     /**
      * The output directory for others catalog
      *
-     * @parameter default-value="${project.build.directory}/classes/org/apache/camel/catalog/others"
      */
+    @Parameter(defaultValue = "${project.build.directory}/classes/org/apache/camel/catalog/others")
     protected File othersOutDir;
 
     /**
      * The output directory for documents catalog
-     *
-     * @parameter default-value="${project.build.directory}/classes/org/apache/camel/catalog/docs"
      */
+    @Parameter(defaultValue = "${project.build.directory}/classes/org/apache/camel/catalog/docs")
     protected File documentsOutDir;
 
     /**
      * The output directory for models catalog
-     *
-     * @parameter default-value="${project.build.directory}/classes/org/apache/camel/catalog/models"
      */
+    @Parameter(defaultValue = "${project.build.directory}/classes/org/apache/camel/catalog/models")
     protected File modelsOutDir;
 
     /**
      * The output directory for archetypes catalog
-     *
-     * @parameter default-value="${project.build.directory}/classes/org/apache/camel/catalog/archetypes"
      */
+    @Parameter(defaultValue = "${project.build.directory}/classes/org/apache/camel/catalog/archetypes")
     protected File archetypesOutDir;
 
     /**
      * The output directory for XML schemas catalog
-     *
-     * @parameter default-value="${project.build.directory}/classes/org/apache/camel/catalog/schemas"
      */
+    @Parameter(defaultValue = "${project.build.directory}/classes/org/apache/camel/catalog/schemas")
     protected File schemasOutDir;
 
     /**
      * The components directory where all the Apache Camel components are
-     *
-     * @parameter default-value="${project.build.directory}/../../../components"
      */
+    @Parameter(defaultValue = "${project.build.directory}/../../../components")
     protected File componentsDir;
 
     /**
      * The camel-core directory where camel-core components are
-     *
-     * @parameter default-value="${project.build.directory}/../../../camel-core"
      */
+    @Parameter(defaultValue = "${project.build.directory}/../../../camel-core")
     protected File coreDir;
 
     /**
      * The directory where the camel-spring XML models are
-     *
-     * @parameter default-value="${project.build.directory}/../../../components/camel-spring"
      */
+    @Parameter(defaultValue = "${project.build.directory}/../../../components/camel-spring")
     protected File springDir;
 
     /**
      * The archetypes directory where all the Apache Camel Maven archetypes are
-     *
-     * @parameter default-value="${project.build.directory}/../../../archetypes"
      */
+    @Parameter(defaultValue = "${project.build.directory}/../../../archetypes")
     protected File archetypesDir;
 
     /**
      * The directory where the camel-spring XML schema are
-     *
-     * @parameter default-value="${project.build.directory}/../../../components/camel-spring/target/schema"
      */
+    @Parameter(defaultValue = "${project.build.directory}/../../../components/camel-spring/target/schema")
     protected File springSchemaDir;
 
     /**
      * The directory where the camel-blueprint XML schema are
-     *
-     * @parameter default-value="${project.build.directory}/../../../components/camel-blueprint/target/schema"
      */
+    @Parameter(defaultValue = "${project.build.directory}/../../../components/camel-blueprint/target/schema")
     protected File blueprintSchemaDir;
 
     /**
      * Maven ProjectHelper.
-     *
-     * @component
-     * @readonly
      */
+    @Component
     private MavenProjectHelper projectHelper;
 
     /**
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCatalogSpringBootMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCatalogSpringBootMojo.java
index afdf684..c8638db 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCatalogSpringBootMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCatalogSpringBootMojo.java
@@ -33,6 +33,9 @@ import java.util.regex.Pattern;
 import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.MojoFailureException;
+import org.apache.maven.plugins.annotations.Component;
+import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.MavenProjectHelper;
 
@@ -40,10 +43,8 @@ import static org.apache.camel.maven.packaging.PackageHelper.loadText;
 
 /**
  * Prepares the Spring Boot provider camel catalog to include component it supports
- *
- * @goal prepare-catalog-springboot
- * @threadSafe
  */
+@Mojo(name = "prepare-catalog-springboot", threadSafe = true)
 public class PrepareCatalogSpringBootMojo extends AbstractMojo {
 
     public static final int BUFFER_SIZE = 128 * 1024;
@@ -52,68 +53,60 @@ public class PrepareCatalogSpringBootMojo extends AbstractMojo {
 
     /**
      * The maven project.
-     *
-     * @parameter property="project"
-     * @required
-     * @readonly
      */
+    @Parameter(property = "project", required = true, readonly = true)
     protected MavenProject project;
 
     /**
      * The output directory for components catalog
-     *
-     * @parameter default-value="${project.build.directory}/classes/org/apache/camel/catalog/springboot/components"
      */
+    @Parameter(defaultValue = "${project.build.directory}/classes/org/apache/camel/catalog/springboot/components")
     protected File componentsOutDir;
 
     /**
      * The output directory for dataformats catalog
-     *
-     * @parameter default-value="${project.build.directory}/classes/org/apache/camel/catalog/springboot/dataformats"
      */
+    @Parameter(defaultValue = "${project.build.directory}/classes/org/apache/camel/catalog/springboot/dataformats")
     protected File dataFormatsOutDir;
 
     /**
      * The output directory for languages catalog
-     *
-     * @parameter default-value="${project.build.directory}/classes/org/apache/camel/catalog/springboot/languages"
      */
+    @Parameter(defaultValue = "${project.build.directory}/classes/org/apache/camel/catalog/springboot/languages")
     protected File languagesOutDir;
 
     /**
      * The output directory for others catalog
      *
-     * @parameter default-value="${project.build.directory}/classes/org/apache/camel/catalog/springboot/others"
      */
+    @Parameter(defaultValue = "${project.build.directory}/classes/org/apache/camel/catalog/springboot/others")
     protected File othersOutDir;
 
     /**
      * The directory where all spring-boot starters are
      *
-     * @parameter default-value="${project.build.directory}/../../../platforms/spring-boot/components-starter"
      */
+    @Parameter(defaultValue = "${project.build.directory}/../../../platforms/spring-boot/components-starter")
     protected File componentsStarterDir;
 
     /**
      * The components directory where all the Apache Camel components are
      *
-     * @parameter default-value="${project.build.directory}/../../../components"
      */
+    @Parameter(defaultValue = "${project.build.directory}/../../../components")
     protected File componentsDir;
 
     /**
      * The camel-core directory where camel-core components are
      *
-     * @parameter default-value="${project.build.directory}/../../../camel-core"
      */
+    @Parameter(defaultValue = "${project.build.directory}/../../../camel-core")
     protected File coreDir;
 
     /**
      * Maven ProjectHelper.
-     *
-     * @component
-     * @readonly
      */
+    @Component
     private MavenProjectHelper projectHelper;
 
     /**
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareComponentMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareComponentMojo.java
index b3702ea..c0454ef 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareComponentMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareComponentMojo.java
@@ -21,6 +21,9 @@ import java.io.File;
 import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.MojoFailureException;
+import org.apache.maven.plugins.annotations.Component;
+import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.MavenProjectHelper;
 import org.sonatype.plexus.build.incremental.BuildContext;
@@ -39,73 +42,64 @@ import static org.apache.camel.maven.packaging.PackageOtherMojo.prepareOthers;
  *     <li>others</li>
  * </ul>
  * And for each of those generates extra descriptors and schema files for easier auto-discovery in Camel and tooling.
- *
- * @goal prepare-components
- * @threadSafe
  */
+@Mojo(name = "prepare-components", threadSafe = true)
 public class PrepareComponentMojo extends AbstractMojo {
 
     /**
      * The maven project.
-     *
-     * @parameter property="project"
-     * @required
-     * @readonly
      */
+    @Parameter(property = "project", required = true, readonly = true)
     protected MavenProject project;
 
     /**
      * The output directory for generated components file
      *
-     * @parameter default-value="${project.build.directory}/generated/camel/components"
      */
+    @Parameter(defaultValue = "${project.build.directory}/generated/camel/components")
     protected File componentOutDir;
 
     /**
      * The output directory for generated dataformats file
      *
-     * @parameter default-value="${project.build.directory}/generated/camel/dataformats"
      */
+    @Parameter(defaultValue = "${project.build.directory}/generated/camel/dataformats")
     protected File dataFormatOutDir;
 
     /**
      * The output directory for generated languages file
      *
-     * @parameter default-value="${project.build.directory}/generated/camel/languages"
      */
+    @Parameter(defaultValue = "${project.build.directory}/generated/camel/languages")
     protected File languageOutDir;
 
     /**
      * The output directory for generated others file
      *
-     * @parameter default-value="${project.build.directory}/generated/camel/others"
      */
+    @Parameter(defaultValue = "${project.build.directory}/generated/camel/others")
     protected File otherOutDir;
 
     /**
      * The output directory for generated schema file
      *
-     * @parameter default-value="${project.build.directory}/classes"
      */
+    @Parameter(defaultValue = "${project.build.directory}/classes")
     protected File schemaOutDir;
 
     /**
      * Maven ProjectHelper.
-     *
-     * @component
-     * @readonly
      */
+    @Component
     private MavenProjectHelper projectHelper;
 
     /**
      * build context to check changed files and mark them for refresh
      * (used for m2e compatibility)
-     * 
-     * @component
-     * @readonly
      */
+    @Component
     private BuildContext buildContext;
-    
+
     /**
      * Execute goal.
      *
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareExampleMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareExampleMojo.java
index c289bec..077a7c7 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareExampleMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareExampleMojo.java
@@ -23,6 +23,7 @@ import java.nio.charset.Charset;
 import java.nio.file.Paths;
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.Comparator;
 import java.util.HashMap;
 import java.util.List;
@@ -30,12 +31,14 @@ import java.util.Map;
 import java.util.Set;
 import java.util.TreeSet;
 
-import edu.emory.mathcs.backport.java.util.Collections;
 import org.apache.camel.maven.packaging.model.ExampleModel;
 import org.apache.commons.io.FileUtils;
 import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.MojoFailureException;
+import org.apache.maven.plugins.annotations.Component;
+import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.MavenProjectHelper;
 import org.mvel2.templates.TemplateRuntime;
@@ -45,27 +48,20 @@ import static org.apache.camel.maven.packaging.PackageHelper.writeText;
 
 /**
  * Prepares the readme.md files content up to date with all the examples that Apache Camel ships.
- *
- * @goal prepare-example
- * @threadSafe
  */
+@Mojo(name = "prepare-example", threadSafe = true)
 public class PrepareExampleMojo extends AbstractMojo {
 
     /**
      * The maven project.
-     *
-     * @parameter property="project"
-     * @required
-     * @readonly
      */
+    @Parameter(property = "project", required = true, readonly = true)
     protected MavenProject project;
 
     /**
      * Maven ProjectHelper.
-     *
-     * @component
-     * @readonly
      */
+    @Component
     private MavenProjectHelper projectHelper;
 
     /**
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareReadmeMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareReadmeMojo.java
index 935c601..358d2a5 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareReadmeMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareReadmeMojo.java
@@ -21,6 +21,7 @@ import java.io.FileInputStream;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.Comparator;
 import java.util.HashMap;
 import java.util.List;
@@ -28,10 +29,6 @@ import java.util.Map;
 import java.util.Set;
 import java.util.TreeSet;
 
-import static java.util.stream.Collectors.toSet;
-
-import edu.emory.mathcs.backport.java.util.Collections;
-
 import org.apache.camel.maven.packaging.model.ComponentModel;
 import org.apache.camel.maven.packaging.model.DataFormatModel;
 import org.apache.camel.maven.packaging.model.EipModel;
@@ -40,92 +37,82 @@ import org.apache.camel.maven.packaging.model.OtherModel;
 import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.MojoFailureException;
+import org.apache.maven.plugins.annotations.Component;
+import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.MavenProjectHelper;
 import org.mvel2.templates.TemplateRuntime;
 
+import static java.util.stream.Collectors.toSet;
 import static org.apache.camel.maven.packaging.PackageHelper.loadText;
 import static org.apache.camel.maven.packaging.PackageHelper.writeText;
 
 /**
  * Prepares the readme.md files content up to date with all the artifacts that Apache Camel ships.
- *
- * @goal prepare-readme
- * @threadSafe
  */
+@Mojo(name = "prepare-readme", threadSafe = true)
 public class PrepareReadmeMojo extends AbstractMojo {
 
     /**
      * The maven project.
-     *
-     * @parameter property="project"
-     * @required
-     * @readonly
      */
+    @Parameter(property = "project", required = true, readonly = true)
     protected MavenProject project;
 
     /**
      * The directory for EIPs (model) catalog
-     *
-     * @parameter default-value="${project.build.directory}/classes/org/apache/camel/catalog/models"
      */
+    @Parameter(defaultValue = "${project.build.directory}/classes/org/apache/camel/catalog/models")
     protected File eipsDir;
 
     /**
      * The directory for components catalog
-     *
-     * @parameter default-value="${project.build.directory}/classes/org/apache/camel/catalog/components"
      */
+    @Parameter(defaultValue = "${project.build.directory}/classes/org/apache/camel/catalog/components")
     protected File componentsDir;
 
     /**
      * The directory for data formats catalog
-     *
-     * @parameter default-value="${project.build.directory}/classes/org/apache/camel/catalog/dataformats"
      */
+    @Parameter(defaultValue = "${project.build.directory}/classes/org/apache/camel/catalog/dataformats")
     protected File dataFormatsDir;
 
     /**
      * The directory for languages catalog
-     *
-     * @parameter default-value="${project.build.directory}/classes/org/apache/camel/catalog/languages"
      */
+    @Parameter(defaultValue = "${project.build.directory}/classes/org/apache/camel/catalog/languages")
     protected File languagesDir;
 
     /**
      * The directory for others catalog
-     *
-     * @parameter default-value="${project.build.directory}/classes/org/apache/camel/catalog/others"
      */
+    @Parameter(defaultValue = "${project.build.directory}/classes/org/apache/camel/catalog/others")
     protected File othersDir;
 
     /**
      * The directory for camel-core
-     *
-     * @parameter default-value="${project.directory}/../../../camel-core"
      */
+    @Parameter(defaultValue = "${project.directory}/../../../camel-core")
     protected File readmeCoreDir;
 
     /**
      * The directory for components
-     *
-     * @parameter default-value="${project.directory}/../../../components"
      */
+    @Parameter(defaultValue = "${project.directory}/../../../components")
     protected File readmeComponentsDir;
 
     /**
      * Maven ProjectHelper.
-     *
-     * @component
-     * @readonly
      */
+    @Component
     private MavenProjectHelper projectHelper;
 
     /**
      * Execute goal.
      *
      * @throws MojoExecutionException execution of the main class or one of the
-     *                                                        threads it generated failed.
+     *                                threads it generated failed.
      * @throws MojoFailureException   something bad happened...
      */
     public void execute() throws MojoExecutionException, MojoFailureException {
@@ -170,8 +157,8 @@ public class PrepareReadmeMojo extends AbstractMojo {
 
             // how many deprecated
             long deprecated = models.stream()
-                .filter(EipModel::isDeprecated)
-                .count();
+                    .filter(EipModel::isDeprecated)
+                    .count();
 
             // update the big readme file in the core dir
             File file = new File(readmeCoreDir, "readme-eip.adoc");
@@ -248,13 +235,13 @@ public class PrepareReadmeMojo extends AbstractMojo {
 
             // how many different artifacts
             int count = components.stream()
-                .map(ComponentModel::getArtifactId)
-                .collect(toSet()).size();
+                    .map(ComponentModel::getArtifactId)
+                    .collect(toSet()).size();
 
             // how many deprecated
             long deprecated = components.stream()
-                .filter(c -> "true".equals(c.getDeprecated()))
-                .count();
+                    .filter(c -> "true".equals(c.getDeprecated()))
+                    .count();
 
             // update the big readme file in the core/components dir
             File file;
@@ -305,13 +292,13 @@ public class PrepareReadmeMojo extends AbstractMojo {
 
             // how many different artifacts
             int count = others.stream()
-                .map(OtherModel::getArtifactId)
-                .collect(toSet()).size();
+                    .map(OtherModel::getArtifactId)
+                    .collect(toSet()).size();
 
             // how many deprecated
             long deprecated = others.stream()
-                .filter(o -> "true".equals(o.getDeprecated()))
-                .count();
+                    .filter(o -> "true".equals(o.getDeprecated()))
+                    .count();
 
             // update the big readme file in the components dir
             File file = new File(readmeComponentsDir, "readme.adoc");
@@ -363,13 +350,13 @@ public class PrepareReadmeMojo extends AbstractMojo {
 
             // how many different artifacts
             int count = models.stream()
-                .map(DataFormatModel::getArtifactId)
-                .collect(toSet()).size();
+                    .map(DataFormatModel::getArtifactId)
+                    .collect(toSet()).size();
 
             // how many deprecated
             long deprecated = models.stream()
-                .filter(m -> "true".equals(m.getDeprecated()))
-                .count();
+                    .filter(m -> "true".equals(m.getDeprecated()))
+                    .count();
 
             // filter out camel-core
             List<DataFormatModel> dataFormats = new ArrayList<>();
@@ -448,13 +435,13 @@ public class PrepareReadmeMojo extends AbstractMojo {
 
             // how many different artifacts
             int count = languages.stream()
-                .map(LanguageModel::getArtifactId)
-                .collect(toSet()).size();
+                    .map(LanguageModel::getArtifactId)
+                    .collect(toSet()).size();
 
             // how many deprecated
             long deprecated = languages.stream()
-                .filter(l -> "true".equals(l.getDeprecated()))
-                .count();
+                    .filter(l -> "true".equals(l.getDeprecated()))
+                    .count();
 
             // update the big readme file in the core/components dir
             File file;
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareUserGuideMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareUserGuideMojo.java
index e6fd22f..feee645 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareUserGuideMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareUserGuideMojo.java
@@ -27,7 +27,7 @@ import java.util.Map;
 import java.util.Set;
 import java.util.TreeSet;
 
-import edu.emory.mathcs.backport.java.util.Collections;
+import java.util.Collections;
 import org.apache.camel.maven.packaging.model.ComponentModel;
 import org.apache.camel.maven.packaging.model.DataFormatModel;
 import org.apache.camel.maven.packaging.model.LanguageModel;
@@ -35,6 +35,9 @@ import org.apache.camel.maven.packaging.model.OtherModel;
 import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.MojoFailureException;
+import org.apache.maven.plugins.annotations.Component;
+import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.MavenProjectHelper;
 
@@ -43,62 +46,50 @@ import static org.apache.camel.maven.packaging.PackageHelper.writeText;
 
 /**
  * Prepares the user guide to keep the table of content up to date with the components, data formats, and languages.
- *
- * @goal prepare-user-guide
- * @threadSafe
  */
+@Mojo(name = "prepare-user-guide", threadSafe = true)
 public class PrepareUserGuideMojo extends AbstractMojo {
 
     /**
      * The maven project.
-     *
-     * @parameter property="project"
-     * @required
-     * @readonly
      */
+    @Parameter(property = "project", required = true, readonly = true)
     protected MavenProject project;
 
     /**
      * The directory for components catalog
-     *
-     * @parameter default-value="${project.build.directory}/classes/org/apache/camel/catalog/components"
      */
+    @Parameter(defaultValue = "${project.build.directory}/classes/org/apache/camel/catalog/components")
     protected File componentsDir;
 
     /**
      * The directory for data formats catalog
-     *
-     * @parameter default-value="${project.build.directory}/classes/org/apache/camel/catalog/dataformats"
      */
+    @Parameter(defaultValue = "${project.build.directory}/classes/org/apache/camel/catalog/dataformats")
     protected File dataFormatsDir;
 
     /**
      * The directory for languages catalog
-     *
-     * @parameter default-value="${project.build.directory}/classes/org/apache/camel/catalog/languages"
      */
+    @Parameter(defaultValue = "${project.build.directory}/classes/org/apache/camel/catalog/languages")
     protected File languagesDir;
 
     /**
      * The directory for others catalog
-     *
-     * @parameter default-value="${project.build.directory}/classes/org/apache/camel/catalog/others"
      */
+    @Parameter(defaultValue = "${project.build.directory}/classes/org/apache/camel/catalog/others")
     protected File othersDir;
 
     /**
      * The directory for the user guide
-     *
-     * @parameter default-value="${project.directory}/../../../docs/user-manual/en"
      */
+    @Parameter(defaultValue = "${project.directory}/../../../docs/user-manual/en")
     protected File userGuideDir;
 
     /**
      * Maven ProjectHelper.
-     *
-     * @component
-     * @readonly
      */
+    @Component
     private MavenProjectHelper projectHelper;
 
     /**
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SpringBootAutoConfigurationMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SpringBootAutoConfigurationMojo.java
index a03d75d..a390ecd 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SpringBootAutoConfigurationMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SpringBootAutoConfigurationMojo.java
@@ -59,6 +59,9 @@ import org.apache.maven.model.Resource;
 import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.MojoFailureException;
+import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
+import org.apache.maven.plugins.annotations.ResolutionScope;
 import org.apache.maven.project.MavenProject;
 import org.jboss.forge.roaster.Roaster;
 import org.jboss.forge.roaster.model.JavaType;
@@ -97,11 +100,8 @@ import static org.apache.camel.maven.packaging.PackageHelper.loadText;
 
 /**
  * Generate Spring Boot auto configuration files for Camel components and data formats.
- *
- * @goal prepare-spring-boot-auto-configuration
- * @threadSafe
- * @requiresDependencyResolution compile+runtime
  */
+@Mojo(name = "prepare-spring-boot-auto-configuration", threadSafe = true, requiresDependencyResolution = ResolutionScope.COMPILE_PLUS_RUNTIME)
 public class SpringBootAutoConfigurationMojo extends AbstractMojo {
 
     /**
@@ -150,32 +150,29 @@ public class SpringBootAutoConfigurationMojo extends AbstractMojo {
     /**
      * The output directory for generated component schema file
      *
-     * @parameter default-value="${project.build.directory}/classes"
      */
-    protected File classesDir;
+     @Parameter(defaultValue="${project.build.directory}/classes")
+     protected File classesDir;
 
     /**
      * The maven project.
-     *
-     * @parameter property="project"
-     * @required
-     * @readonly
      */
+    @Parameter(property = "project", required = true, readonly = true)
     protected MavenProject project;
 
     /**
      * The project build directory
      *
-     * @parameter default-value="${project.build.directory}"
      */
-    protected File buildDir;
+     @Parameter(defaultValue="${project.build.directory}")
+     protected File buildDir;
 
     /**
      * The base directory
      *
-     * @parameter default-value="${basedir}"
      */
-    protected File baseDir;
+     @Parameter(defaultValue="${basedir}")
+     protected File baseDir;
 
     @Override
     public void execute() throws MojoExecutionException, MojoFailureException {
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SpringBootStarterMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SpringBootStarterMojo.java
index 0370475..54b8aef 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SpringBootStarterMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SpringBootStarterMojo.java
@@ -69,6 +69,9 @@ import org.apache.maven.artifact.resolver.filter.ScopeArtifactFilter;
 import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.MojoFailureException;
+import org.apache.maven.plugins.annotations.Component;
+import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.shared.dependency.tree.DependencyNode;
 import org.apache.maven.shared.dependency.tree.DependencyTreeBuilder;
@@ -77,10 +80,8 @@ import org.apache.maven.shared.dependency.tree.traversal.CollectingDependencyNod
 
 /**
  * Generate Spring Boot starter for the component
- *
- * @goal prepare-spring-boot-starter
- * @threadSafe
  */
+@Mojo(name = "prepare-spring-boot-starter", threadSafe = true)
 public class SpringBootStarterMojo extends AbstractMojo {
 
     private static final String[] IGNORE_MODULES = {
@@ -99,60 +100,35 @@ public class SpringBootStarterMojo extends AbstractMojo {
 
     /**
      * The maven project.
-     *
-     * @parameter property="project"
-     * @required
-     * @readonly
      */
+    @Parameter(property = "project", required = true, readonly = true)
     protected MavenProject project;
 
     /**
      * Allows using the existing pom.xml file if present.
-     *
-     * @parameter property="reuseExistingPom" default-value="true"
      */
+    @Parameter(property = "reuseExistingPom", defaultValue = "true")
     protected boolean reuseExistingPom;
 
     /**
      * The project directory
-     *
-     * @parameter default-value="${basedir}"
      */
+    @Parameter(defaultValue = "${basedir}")
     protected File baseDir;
 
-    /**
-     * @component
-     * @required
-     * @readonly
-     */
+    @Component
     protected ArtifactFactory artifactFactory;
 
-    /**
-     * @component
-     * @required
-     * @readonly
-     */
+    @Component
     protected ArtifactMetadataSource artifactMetadataSource;
 
-    /**
-     * @component
-     * @required
-     * @readonly
-     */
+    @Component
     protected ArtifactCollector artifactCollector;
 
-    /**
-     * @component
-     * @required
-     * @readonly
-     */
+    @Component
     protected DependencyTreeBuilder treeBuilder;
 
-    /**
-     * @parameter default-value="${localRepository}"
-     * @readonly
-     * @required
-     */
+    @Parameter(defaultValue = "${localRepository}", readonly = true, required = true)
     protected ArtifactRepository localRepository;
 
     @Override
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
index d493e1a..94f90db 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
@@ -41,67 +41,63 @@ import org.apache.maven.model.Resource;
 import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.MojoFailureException;
+import org.apache.maven.plugins.annotations.Component;
+import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
 import org.apache.maven.project.MavenProject;
 import org.mvel2.templates.TemplateRuntime;
 import org.sonatype.plexus.build.incremental.BuildContext;
 
-import static org.apache.camel.maven.packaging.JSonSchemaHelper.*;
+import static org.apache.camel.maven.packaging.JSonSchemaHelper.getSafeValue;
+import static org.apache.camel.maven.packaging.JSonSchemaHelper.parseJsonSchema;
 import static org.apache.camel.maven.packaging.PackageHelper.loadText;
 import static org.apache.camel.maven.packaging.PackageHelper.writeText;
 import static org.apache.camel.maven.packaging.StringHelper.isEmpty;
 
 /**
  * Generate or updates the component/dataformat/language/eip readme.md and .adoc files in the project root directory.
- *
- * @goal update-readme
- * @threadSafe
  */
+@Mojo(name = "update-readme", threadSafe = true)
 public class UpdateReadmeMojo extends AbstractMojo {
 
     /**
      * The maven project.
-     *
-     * @parameter property="project"
-     * @required
-     * @readonly
      */
+    @Parameter(property = "project", required = true, readonly = true)
     protected MavenProject project;
 
     /**
      * The project build directory
      *
-     * @parameter default-value="${project.build.directory}"
      */
+    @Parameter(defaultValue = "${project.build.directory}")
     protected File buildDir;
 
     /**
      * The documentation directory
      *
-     * @parameter default-value="${basedir}/src/main/docs"
      */
+    @Parameter(defaultValue = "${basedir}/src/main/docs")
     protected File docDir;
 
     /**
      * The documentation directory
      *
-     * @parameter default-value="${basedir}/src/main/docs/eips"
      */
+    @Parameter(defaultValue = "${basedir}/src/main/docs/eips")
     protected File eipDocDir;
 
     /**
      * Whether to fail the build fast if any Warnings was detected.
-     *
-     * @parameter
      */
+    @Parameter
     protected Boolean failFast;
 
     /**
      * build context to check changed files and mark them for refresh (used for
      * m2e compatibility)
-     *
-     * @component
-     * @readonly
      */
+    @Component
     private BuildContext buildContext;
 
     @Override
@@ -1219,6 +1215,7 @@ public class UpdateReadmeMojo extends AbstractMojo {
         }
         return dataFormatNames;
     }
+
     private List<String> findLanguageNames() {
         List<String> languageNames = new ArrayList<>();
         for (Resource r : project.getBuild().getResources()) {
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateSpringBootAutoConfigurationReadmeMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateSpringBootAutoConfigurationReadmeMojo.java
index db3b1ee..53716a2 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateSpringBootAutoConfigurationReadmeMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateSpringBootAutoConfigurationReadmeMojo.java
@@ -31,6 +31,9 @@ import org.apache.camel.maven.packaging.model.SpringBootAutoConfigureOptionModel
 import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.MojoFailureException;
+import org.apache.maven.plugins.annotations.Component;
+import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
 import org.apache.maven.project.MavenProject;
 import org.json.simple.DeserializationException;
 import org.json.simple.JsonArray;
@@ -45,56 +48,47 @@ import static org.apache.camel.maven.packaging.PackageHelper.writeText;
 /**
  * For all the Camel components that has Spring Boot starter JAR, their documentation
  * .adoc files in their component directory is updated to include spring boot auto configuration options.
- *
- * @goal update-spring-boot-auto-configuration-readme
- * @threadSafe
  */
+@Mojo(name = "update-spring-boot-auto-configuration-readme", threadSafe = true)
 public class UpdateSpringBootAutoConfigurationReadmeMojo extends AbstractMojo {
 
     /**
      * The maven project.
-     *
-     * @parameter property="project"
-     * @required
-     * @readonly
      */
+    @Parameter(property = "project", required = true, readonly = true)
     protected MavenProject project;
 
     /**
      * The project build directory
      *
-     * @parameter default-value="${project.build.directory}"
      */
+    @Parameter(defaultValue = "${project.build.directory}")
     protected File buildDir;
 
     /**
      * The documentation directory
      *
-     * @parameter default-value="${basedir}/../../../../components/"
      */
+    @Parameter(defaultValue = "${basedir}/../../../../components/")
     protected File componentsDir;
 
     /**
      * Whether to fail the build fast if any Warnings was detected.
-     *
-     * @parameter
      */
+    @Parameter
     protected Boolean failFast;
 
     /**
      * Whether to fail if an option has no documentation.
-     *
-     * @parameter
      */
+    @Parameter
     protected Boolean failOnMissingDescription;
 
     /**
      * build context to check changed files and mark them for refresh (used for
      * m2e compatibility)
-     *
-     * @component
-     * @readonly
      */
+    @Component
     private BuildContext buildContext;
 
     @Override
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/ValidateComponentMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/ValidateComponentMojo.java
index 8acc57a..17a1064 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/ValidateComponentMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/ValidateComponentMojo.java
@@ -26,6 +26,9 @@ import java.util.TreeSet;
 import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.MojoFailureException;
+import org.apache.maven.plugins.annotations.Component;
+import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.MavenProjectHelper;
 import org.sonatype.plexus.build.incremental.BuildContext;
@@ -43,52 +46,43 @@ import static org.apache.camel.maven.packaging.ValidateHelper.validate;
  *     <li>languages</li>
  * </ul>
  * all contains the needed meta-data such as assigned labels, documentation for each option
- *
- * @goal validate-components
- * @threadSafe
  */
+@Mojo(name = "validate-components", threadSafe = true)
 public class ValidateComponentMojo extends AbstractMojo {
 
     /**
      * The maven project.
-     *
-     * @parameter property="project"
-     * @required
-     * @readonly
      */
+    @Parameter(property = "project", required = true, readonly = true)
     protected MavenProject project;
 
     /**
      * Whether to validate if the components, data formats, and languages are properly documented and have all the needed details.
      *
-     * @parameter default-value="true"
      */
+    @Parameter(defaultValue = "true")
     protected Boolean validate;
 
     /**
      * The output directory for generated components file
      *
-     * @parameter default-value="${project.build.directory}/classes/"
      */
+    @Parameter(defaultValue = "${project.build.directory}/classes/")
     protected File outDir;
 
     /**
      * Maven ProjectHelper.
-     *
-     * @component
-     * @readonly
      */
+    @Component
     private MavenProjectHelper projectHelper;
 
     /**
      * build context to check changed files and mark them for refresh
      * (used for m2e compatibility)
-     *
-     * @component
-     * @readonly
      */
+    @Component
     private BuildContext buildContext;
-    
+
     /**
      * Execute goal.
      *
diff --git a/tooling/maven/camel-restdsl-swagger-plugin/pom.xml b/tooling/maven/camel-restdsl-swagger-plugin/pom.xml
index 423768f..97ac45f 100644
--- a/tooling/maven/camel-restdsl-swagger-plugin/pom.xml
+++ b/tooling/maven/camel-restdsl-swagger-plugin/pom.xml
@@ -99,12 +99,10 @@
     <dependency>
       <groupId>org.apache.maven</groupId>
       <artifactId>maven-core</artifactId>
-      <version>3.5.4</version>
     </dependency>
     <dependency>
       <groupId>org.apache.maven</groupId>
       <artifactId>maven-plugin-api</artifactId>
-      <version>3.5.4</version>
     </dependency>
     <dependency>
       <groupId>org.twdata.maven</groupId>
@@ -114,8 +112,6 @@
     <dependency>
       <groupId>org.apache.maven.plugin-tools</groupId>
       <artifactId>maven-plugin-annotations</artifactId>
-      <version>3.5</version>
-      <scope>provided</scope>
     </dependency>
   </dependencies>
 
diff --git a/tooling/parent/pom.xml b/tooling/parent/pom.xml
index c9031eb..cf96497 100644
--- a/tooling/parent/pom.xml
+++ b/tooling/parent/pom.xml
@@ -34,13 +34,14 @@
 
   <properties>
 
-    <maven-version>2.2.1</maven-version>
+    <maven-version>3.1.1</maven-version>
     <maven-maven-plugin-descriptor-version>2.2.1</maven-maven-plugin-descriptor-version>
     <maven-project-version>2.2.1</maven-project-version>
     <maven-dependency-tree-version>2.2</maven-dependency-tree-version>
     <maven-plugin-annotations-version>3.5</maven-plugin-annotations-version>
-    <maven-reporting-api-version>2.2.1</maven-reporting-api-version>
+    <maven-reporting-api-version>3.0</maven-reporting-api-version>
     <maven-reporting-impl-version>2.4</maven-reporting-impl-version>
+    <maven-resolver-version>1.0.3</maven-resolver-version>
     <plexus-build-api-version>0.0.7</plexus-build-api-version>
     <plexus-container-default-version>1.6</plexus-container-default-version>
     <plexus-utils-version>3.0.22</plexus-utils-version>
@@ -78,6 +79,11 @@
         <version>${maven-version}</version>
       </dependency>
       <dependency>
+        <groupId>org.apache.maven</groupId>
+        <artifactId>maven-compat</artifactId>
+        <version>${maven-version}</version>
+      </dependency>
+      <dependency>
         <groupId>org.apache.maven.plugin-tools</groupId>
         <artifactId>maven-plugin-annotations</artifactId>
         <version>${maven-plugin-annotations-version}</version>
@@ -114,6 +120,16 @@
         <version>${maven-reporting-impl-version}</version>
       </dependency>
       <dependency>
+        <groupId>org.apache.maven.resolver</groupId>
+        <artifactId>maven-resolver-api</artifactId>
+        <version>${maven-resolver-version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.maven.resolver</groupId>
+        <artifactId>maven-resolver-util</artifactId>
+        <version>${maven-resolver-version}</version>
+      </dependency>
+      <dependency>
         <groupId>org.codehaus.plexus</groupId>
         <artifactId>plexus-container-default</artifactId>
         <version>${plexus-container-default-version}</version>


[camel] 03/13: Generate jaxb.index files

Posted by gn...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

gnodet pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 0ebc2a49c74e41ff5a6fb484a4072d4b066c5537
Author: Guillaume Nodet <gn...@gmail.com>
AuthorDate: Tue Dec 11 15:21:34 2018 +0100

    Generate jaxb.index files
    
    # Conflicts:
    #	camel-core/pom.xml
---
 camel-api/pom.xml                                  |  38 ++++
 camel-core/pom.xml                                 |  27 +++
 .../src/main/resources/org/apache/camel/jaxb.index |  22 ---
 .../org/apache/camel/model/cloud/jaxb.index        |  38 ----
 .../org/apache/camel/model/config/jaxb.index       |  19 --
 .../org/apache/camel/model/dataformat/jaxb.index   |  64 -------
 .../resources/org/apache/camel/model/jaxb.index    | 106 -----------
 .../org/apache/camel/model/language/jaxb.index     |  35 ----
 .../org/apache/camel/model/loadbalancer/jaxb.index |  23 ---
 .../org/apache/camel/model/rest/jaxb.index         |  40 -----
 .../org/apache/camel/model/transformer/jaxb.index  |  21 ---
 .../org/apache/camel/model/validator/jaxb.index    |  21 ---
 .../org/apache/camel/support/dump/jaxb.index       |  19 --
 .../org/apache/camel/util/concurrent/jaxb.index    |  17 --
 parent/pom.xml                                     |   1 +
 tooling/maven/camel-package-maven-plugin/pom.xml   |   7 +
 .../camel/maven/packaging/PackageJaxbMojo.java     | 199 +++++++++++++++++++++
 17 files changed, 272 insertions(+), 425 deletions(-)

diff --git a/camel-api/pom.xml b/camel-api/pom.xml
index 6875740..4873fc9 100644
--- a/camel-api/pom.xml
+++ b/camel-api/pom.xml
@@ -69,6 +69,44 @@
 
   </dependencies>
 
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.camel</groupId>
+        <artifactId>camel-package-maven-plugin</artifactId>
+        <version>${project.version}</version>
+        <executions>
+          <execution>
+            <id>jaxb-list</id>
+            <goals>
+              <goal>generate-jaxb-list</goal>
+            </goals>
+            <phase>process-classes</phase>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <artifactId>maven-resources-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>copy-generated-resources</id>
+            <goals>
+              <goal>resources</goal>
+            </goals>
+            <phase>process-classes</phase>
+            <configuration>
+              <resources>
+                <resource>
+                  <directory>${basedir}/target/generated/camel/jaxb</directory>
+                </resource>
+              </resources>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+
   <reporting>
     <plugins>
       <plugin>
diff --git a/camel-core/pom.xml b/camel-core/pom.xml
index 6b08aaf..dfa4572 100644
--- a/camel-core/pom.xml
+++ b/camel-core/pom.xml
@@ -474,6 +474,14 @@
             </goals>
             <phase>process-classes</phase>
           </execution>
+          <!-- camel-core needs to generate jaxb.index files -->
+          <execution>
+            <id>jaxb-list</id>
+            <goals>
+              <goal>generate-jaxb-list</goal>
+            </goals>
+            <phase>process-classes</phase>
+          </execution>
           <!-- camel-core needs to validate before packaging -->
           <execution>
             <id>validate</id>
@@ -493,6 +501,25 @@
           </execution>
         </executions>
       </plugin>
+      <plugin>
+        <artifactId>maven-resources-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>copy-generated-resources</id>
+            <goals>
+              <goal>resources</goal>
+            </goals>
+            <phase>process-classes</phase>
+            <configuration>
+              <resources>
+                <resource>
+                  <directory>${basedir}/target/generated/camel/jaxb</directory>
+                </resource>
+              </resources>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
     </plugins>
   </build>
 
diff --git a/camel-core/src/main/resources/org/apache/camel/jaxb.index b/camel-core/src/main/resources/org/apache/camel/jaxb.index
deleted file mode 100644
index a589449..0000000
--- a/camel-core/src/main/resources/org/apache/camel/jaxb.index
+++ /dev/null
@@ -1,22 +0,0 @@
-## ------------------------------------------------------------------------
-## 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.
-## ------------------------------------------------------------------------
-ExchangePattern
-LoggingLevel
-ManagementStatisticsLevel
-TypeConverterExists
-ShutdownRoute
-ShutdownRunningTask
\ No newline at end of file
diff --git a/camel-core/src/main/resources/org/apache/camel/model/cloud/jaxb.index b/camel-core/src/main/resources/org/apache/camel/model/cloud/jaxb.index
deleted file mode 100644
index 4a2052b..0000000
--- a/camel-core/src/main/resources/org/apache/camel/model/cloud/jaxb.index
+++ /dev/null
@@ -1,38 +0,0 @@
-## ------------------------------------------------------------------------
-## 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.
-## ------------------------------------------------------------------------
-BlacklistServiceCallServiceFilterConfiguration
-CustomServiceCallServiceFilterConfiguration
-CombinedServiceCallServiceFilterConfiguration
-CombinedServiceCallServiceDiscoveryConfiguration
-CachingServiceCallServiceDiscoveryConfiguration
-ConsulServiceCallServiceDiscoveryConfiguration
-DefaultServiceCallServiceLoadBalancerConfiguration
-DnsServiceCallServiceDiscoveryConfiguration
-EtcdServiceCallServiceDiscoveryConfiguration
-HealthyServiceCallServiceFilterConfiguration
-KubernetesServiceCallServiceDiscoveryConfiguration
-PassThroughServiceCallServiceFilterConfiguration
-RibbonServiceCallServiceLoadBalancerConfiguration
-ServiceCallDefinition
-ServiceCallConfigurationDefinition
-ServiceCallExpressionConfiguration
-ServiceCallServiceDiscoveryConfiguration
-ServiceCallServiceFilterConfiguration
-ServiceCallServiceChooserConfiguration
-ServiceCallServiceLoadBalancerConfiguration
-StaticServiceCallServiceDiscoveryConfiguration
-ZooKeeperServiceCallServiceDiscoveryConfiguration
diff --git a/camel-core/src/main/resources/org/apache/camel/model/config/jaxb.index b/camel-core/src/main/resources/org/apache/camel/model/config/jaxb.index
deleted file mode 100644
index 8bd139d..0000000
--- a/camel-core/src/main/resources/org/apache/camel/model/config/jaxb.index
+++ /dev/null
@@ -1,19 +0,0 @@
-## ------------------------------------------------------------------------
-## 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.
-## ------------------------------------------------------------------------
-BatchResequencerConfig
-ResequencerConfig
-StreamResequencerConfig
diff --git a/camel-core/src/main/resources/org/apache/camel/model/dataformat/jaxb.index b/camel-core/src/main/resources/org/apache/camel/model/dataformat/jaxb.index
deleted file mode 100644
index d069299..0000000
--- a/camel-core/src/main/resources/org/apache/camel/model/dataformat/jaxb.index
+++ /dev/null
@@ -1,64 +0,0 @@
-## ------------------------------------------------------------------------
-## 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.
-## ------------------------------------------------------------------------
-ASN1DataFormat
-AvroDataFormat
-BarcodeDataFormat
-Base64DataFormat
-BeanioDataFormat
-BindyDataFormat
-BindyType
-BoonDataFormat
-CryptoDataFormat
-CsvDataFormat
-CustomDataFormat
-DataFormatsDefinition
-JacksonXMLDataFormat
-FhirJsonDataFormat
-FhirXmlDataFormat
-FlatpackDataFormat
-GzipDataFormat
-HL7DataFormat
-IcalDataFormat
-JaxbDataFormat
-JibxDataFormat
-JsonDataFormat
-JsonLibrary
-LZFDataFormat
-MimeMultipartDataFormat
-PGPDataFormat
-ProtobufDataFormat
-RssDataFormat
-SerializationDataFormat
-SoapJaxbDataFormat
-StringDataFormat
-SyslogDataFormat
-TarFileDataFormat
-ThriftDataFormat
-TidyMarkupDataFormat
-UniVocityCsvDataFormat
-UniVocityFixedWidthDataFormat
-UniVocityHeader
-UniVocityTsvDataFormat
-XmlRpcDataFormat
-XMLSecurityDataFormat
-XStreamDataFormat
-YAMLDataFormat
-YAMLLibrary
-YAMLTypeFilterDefinition
-YAMLTypeFilterType
-ZipDataFormat
-ZipFileDataFormat
diff --git a/camel-core/src/main/resources/org/apache/camel/model/jaxb.index b/camel-core/src/main/resources/org/apache/camel/model/jaxb.index
deleted file mode 100644
index 92f62f5..0000000
--- a/camel-core/src/main/resources/org/apache/camel/model/jaxb.index
+++ /dev/null
@@ -1,106 +0,0 @@
-## ------------------------------------------------------------------------
-## 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.
-## ------------------------------------------------------------------------
-AggregateDefinition
-BeanDefinition
-CatchDefinition
-ChoiceDefinition
-ClaimCheckDefinition
-ClaimCheckOperation
-ConvertBodyDefinition
-ContextScanDefinition
-DataFormatDefinition
-DelayDefinition
-DescriptionDefinition
-DynamicRouterDefinition
-EnrichDefinition
-ExpressionSubElementDefinition
-FilterDefinition
-FinallyDefinition
-FromDefinition
-GlobalOptionsDefinition
-GlobalOptionDefinition
-HystrixDefinition
-HystrixConfigurationDefinition
-IdempotentConsumerDefinition
-InOnlyDefinition
-InOutDefinition
-InputTypeDefinition
-InterceptDefinition
-InterceptFromDefinition
-InterceptSendToEndpointDefinition
-LoadBalanceDefinition
-LoadBalancerDefinition
-LogDefinition
-LoopDefinition
-MarshalDefinition
-MulticastDefinition
-OnCompletionDefinition
-OnCompletionMode
-OnExceptionDefinition
-OnFallbackDefinition
-OptimisticLockRetryPolicyDefinition
-OptionalIdentifiedDefinition
-OtherwiseDefinition
-OutputTypeDefinition
-PackageScanDefinition
-PipelineDefinition
-PolicyDefinition
-PollEnrichDefinition
-ProcessDefinition
-PropertyDefinition
-RecipientListDefinition
-RedeliveryPolicyDefinition
-RemoveHeaderDefinition
-RemoveHeadersDefinition
-RemovePropertyDefinition
-RemovePropertiesDefinition
-ResequenceDefinition
-RestContextRefDefinition
-RethrowDefinition
-RollbackDefinition
-RouteBuilderDefinition
-RouteDefinition
-RouteContextRefDefinition
-RoutesDefinition
-RoutingSlipDefinition
-SagaCompletionMode
-SagaDefinition
-SagaOptionDefinition
-SagaPropagation
-SamplingDefinition
-ScriptDefinition
-SetBodyDefinition
-SetExchangePatternDefinition
-SetFaultBodyDefinition
-SetHeaderDefinition
-SetPropertyDefinition
-SortDefinition
-SplitDefinition
-StopDefinition
-ThreadPoolProfileDefinition
-ThreadsDefinition
-ThrottleDefinition
-ThrowExceptionDefinition
-ToDefinition
-ToDynamicDefinition
-TransactedDefinition
-TransformDefinition
-TryDefinition
-UnmarshalDefinition
-ValidateDefinition
-WhenDefinition
-WireTapDefinition
diff --git a/camel-core/src/main/resources/org/apache/camel/model/language/jaxb.index b/camel-core/src/main/resources/org/apache/camel/model/language/jaxb.index
deleted file mode 100644
index 23148e5..0000000
--- a/camel-core/src/main/resources/org/apache/camel/model/language/jaxb.index
+++ /dev/null
@@ -1,35 +0,0 @@
-## ------------------------------------------------------------------------
-## 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.
-## ------------------------------------------------------------------------
-ConstantExpression
-ExchangePropertyExpression
-ExpressionDefinition
-GroovyExpression
-HeaderExpression
-JavaScriptExpression
-JsonPathExpression
-LanguageExpression
-MethodCallExpression
-MvelExpression
-OgnlExpression
-RefExpression
-SimpleExpression
-SpELExpression
-TerserExpression
-TokenizerExpression
-XMLTokenizerExpression
-XPathExpression
-XQueryExpression
diff --git a/camel-core/src/main/resources/org/apache/camel/model/loadbalancer/jaxb.index b/camel-core/src/main/resources/org/apache/camel/model/loadbalancer/jaxb.index
deleted file mode 100644
index 4134232..0000000
--- a/camel-core/src/main/resources/org/apache/camel/model/loadbalancer/jaxb.index
+++ /dev/null
@@ -1,23 +0,0 @@
-## ------------------------------------------------------------------------
-## 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.
-## ------------------------------------------------------------------------
-CustomLoadBalancerDefinition
-FailoverLoadBalancerDefinition
-RandomLoadBalancerDefinition
-RoundRobinLoadBalancerDefinition
-StickyLoadBalancerDefinition
-TopicLoadBalancerDefinition
-WeightedLoadBalancerDefinition
\ No newline at end of file
diff --git a/camel-core/src/main/resources/org/apache/camel/model/rest/jaxb.index b/camel-core/src/main/resources/org/apache/camel/model/rest/jaxb.index
deleted file mode 100644
index 063031d..0000000
--- a/camel-core/src/main/resources/org/apache/camel/model/rest/jaxb.index
+++ /dev/null
@@ -1,40 +0,0 @@
-## ------------------------------------------------------------------------
-## 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.
-## ------------------------------------------------------------------------
-CollectionFormat
-DeleteVerbDefinition
-GetVerbDefinition
-HeadVerbDefinition
-PostVerbDefinition
-PutVerbDefinition
-PatchVerbDefinition
-RestBindingDefinition
-RestBindingMode
-RestConfigurationDefinition
-RestDefinition
-RestHostNameResolver
-RestOperationParamDefinition
-RestOperationResponseMsgDefinition
-RestOperationResponseHeaderDefinition
-RestParamType
-RestPropertyDefinition
-RestsDefinition
-RestSecurityApiKey
-RestSecurityBasicAuth
-RestSecuritiesDefinition
-RestSecurityOAuth2
-SecurityDefinition
-VerbDefinition
diff --git a/camel-core/src/main/resources/org/apache/camel/model/transformer/jaxb.index b/camel-core/src/main/resources/org/apache/camel/model/transformer/jaxb.index
deleted file mode 100644
index 24e0f2b..0000000
--- a/camel-core/src/main/resources/org/apache/camel/model/transformer/jaxb.index
+++ /dev/null
@@ -1,21 +0,0 @@
-## ------------------------------------------------------------------------
-## 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.
-## ------------------------------------------------------------------------
-CustomTransformerDefinition
-DataFormatTransformerDefinition
-EndpointTransformerDefinition
-TransformerDefinition
-TransformersDefinition
diff --git a/camel-core/src/main/resources/org/apache/camel/model/validator/jaxb.index b/camel-core/src/main/resources/org/apache/camel/model/validator/jaxb.index
deleted file mode 100644
index 7cdaef6..0000000
--- a/camel-core/src/main/resources/org/apache/camel/model/validator/jaxb.index
+++ /dev/null
@@ -1,21 +0,0 @@
-## ------------------------------------------------------------------------
-## 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.
-## ------------------------------------------------------------------------
-CustomValidatorDefinition
-EndpointValidatorDefinition
-PredicateValidatorDefinition
-ValidatorDefinition
-ValidatorsDefinition
diff --git a/camel-core/src/main/resources/org/apache/camel/support/dump/jaxb.index b/camel-core/src/main/resources/org/apache/camel/support/dump/jaxb.index
deleted file mode 100644
index 5738681..0000000
--- a/camel-core/src/main/resources/org/apache/camel/support/dump/jaxb.index
+++ /dev/null
@@ -1,19 +0,0 @@
-## ------------------------------------------------------------------------
-## 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.
-## ------------------------------------------------------------------------
-MessageDump
-ProcessorStatDump
-RouteStatDump
diff --git a/camel-core/src/main/resources/org/apache/camel/util/concurrent/jaxb.index b/camel-core/src/main/resources/org/apache/camel/util/concurrent/jaxb.index
deleted file mode 100644
index 341b476..0000000
--- a/camel-core/src/main/resources/org/apache/camel/util/concurrent/jaxb.index
+++ /dev/null
@@ -1,17 +0,0 @@
-## ------------------------------------------------------------------------
-## 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.
-## ------------------------------------------------------------------------
-ThreadPoolRejectedPolicy
diff --git a/parent/pom.xml b/parent/pom.xml
index 3931331..6d8fcca 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -326,6 +326,7 @@
     <jackrabbit-version>2.19.0</jackrabbit-version>
     <jackrabbit-guava-version>15.0</jackrabbit-guava-version>
     <jain-sip-ri-bundle-version>1.2.154_2</jain-sip-ri-bundle-version>
+    <jandex-version>2.1.0.Final</jandex-version>
     <jasn1-version>1.10.0</jasn1-version>
     <jasper-bundle-version>6.0.44_1</jasper-bundle-version>
     <jasypt-bundle-version>1.9.2_1</jasypt-bundle-version>
diff --git a/tooling/maven/camel-package-maven-plugin/pom.xml b/tooling/maven/camel-package-maven-plugin/pom.xml
index b2019a8..4c96f50 100644
--- a/tooling/maven/camel-package-maven-plugin/pom.xml
+++ b/tooling/maven/camel-package-maven-plugin/pom.xml
@@ -143,6 +143,13 @@
       <version>${spring-boot-version}</version>
     </dependency>
 
+    <!-- jandex for annotation processing -->
+    <dependency>
+      <groupId>org.jboss</groupId>
+      <artifactId>jandex</artifactId>
+      <version>${jandex-version}</version>
+    </dependency>
+
     <!-- Freemarker for xml templating -->
     <dependency>
       <groupId>org.freemarker</groupId>
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageJaxbMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageJaxbMojo.java
new file mode 100644
index 0000000..9763467
--- /dev/null
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageJaxbMojo.java
@@ -0,0 +1,199 @@
+/**
+ * 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.maven.packaging;
+
+import java.io.File;
+import java.io.IOError;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.Writer;
+import java.net.URI;
+import java.nio.file.FileSystemAlreadyExistsException;
+import java.nio.file.FileSystems;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.nio.file.StandardOpenOption;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.TreeSet;
+import java.util.stream.Stream;
+
+import javax.tools.FileObject;
+import javax.tools.StandardLocation;
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlRootElement;
+
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.plugin.AbstractMojo;
+import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.plugin.MojoFailureException;
+import org.apache.maven.plugin.logging.Log;
+import org.apache.maven.plugins.annotations.Component;
+import org.apache.maven.plugins.annotations.LifecyclePhase;
+import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
+import org.apache.maven.project.MavenProject;
+import org.apache.maven.project.MavenProjectHelper;
+import org.jboss.jandex.AnnotationInstance;
+import org.jboss.jandex.AnnotationTarget;
+import org.jboss.jandex.ClassInfo;
+import org.jboss.jandex.DotName;
+import org.jboss.jandex.IndexView;
+import org.jboss.jandex.Indexer;
+import org.sonatype.plexus.build.incremental.BuildContext;
+
+/**
+ * Analyses the Camel plugins in a project and generates extra descriptor information for easier auto-discovery in Camel.
+ */
+@Mojo(name = "generate-jaxb-list", threadSafe = true, defaultPhase = LifecyclePhase.PROCESS_CLASSES)
+public class PackageJaxbMojo extends AbstractMojo {
+
+    /**
+     * The maven project.
+     */
+    @Parameter(property = "project", required = true, readonly = true)
+    protected MavenProject project;
+
+    /**
+     * The output directory for generated components file
+     */
+    @Parameter(defaultValue = "${project.build.directory}/generated/camel/jaxb")
+    protected File jaxbIndexOutDir;
+
+    /**
+     * Maven ProjectHelper.
+     */
+    @Component
+    private MavenProjectHelper projectHelper;
+
+    /**
+     * build context to check changed files and mark them for refresh (used for
+     * m2e compatibility)
+     */
+    @Component
+    private BuildContext buildContext;
+
+    /**
+     * Execute goal.
+     *
+     * @throws MojoExecutionException execution of the main class or one of the
+     *                 threads it generated failed.
+     * @throws MojoFailureException something bad happened...
+     */
+    public void execute() throws MojoExecutionException, MojoFailureException {
+        List<String> locations = new ArrayList<>();
+        locations.add(project.getBuild().getOutputDirectory());
+        project.getDependencyArtifacts()
+                .stream()
+                .map(Artifact::getFile)
+                .forEach(f -> locations.add(f.toString()));
+
+        processClasses(createIndex(locations));
+
+        projectHelper.addResource(project, jaxbIndexOutDir.getPath(), Collections.singletonList("**/*"), Collections.emptyList());
+    }
+
+    private void processClasses(IndexView index) {
+        Map<String, Set<String>> byPackage = new HashMap<>();
+
+        Stream.of(XmlRootElement.class, XmlEnum.class)
+                .map(Class::getName)
+                .map(DotName::createSimple)
+                .map(index::getAnnotations)
+                .flatMap(Collection::stream)
+                .map(AnnotationInstance::target)
+                .map(AnnotationTarget::asClass)
+                .map(ClassInfo::name)
+                .map(DotName::toString)
+                .forEach(name -> {
+                    int idx = name.lastIndexOf('.');
+                    String p = name.substring(0, idx);
+                    String c = name.substring(idx + 1);
+                    byPackage.computeIfAbsent(p, s -> new TreeSet<>()).add(c);
+                });
+
+        Path jaxbIndexDir = jaxbIndexOutDir.toPath();
+        try {
+            for (Map.Entry<String, Set<String>> entry : byPackage.entrySet()) {
+                Path file = jaxbIndexDir.resolve(entry.getKey().replace('.', '/')).resolve("jaxb.index");
+                Files.createDirectories(file.getParent());
+                try (Writer writer = Files.newBufferedWriter(file, StandardOpenOption.TRUNCATE_EXISTING, StandardOpenOption.CREATE)) {
+                    writer.write("# Generated by camel annotation processor\n");
+                    for (String s : entry.getValue()) {
+                        writer.write(s);
+                        writer.write("\n");
+                    }
+                }
+            }
+        } catch (IOException e) {
+            throw new IOError(e);
+        }
+    }
+
+    private IndexView createIndex(List<String> locations) throws MojoExecutionException {
+        try {
+            Indexer indexer = new Indexer();
+            locations.stream()
+                    .map(this::asFolder)
+                    .flatMap(this::walk)
+                    .filter(Files::isRegularFile)
+                    .filter(p -> p.getFileName().toString().endsWith(".class"))
+                    .forEach(p -> index(indexer, p));
+            return indexer.complete();
+        } catch (IOError e) {
+            throw new MojoExecutionException("Error", e);
+        }
+    }
+
+    private Path asFolder(String p) {
+        if (p.endsWith(".jar")) {
+            try {
+                Map<String, String> env = new HashMap<>();
+                return FileSystems.newFileSystem(URI.create("jar:file:" + p + "!/"), env).getPath("/");
+            } catch (FileSystemAlreadyExistsException e) {
+                return FileSystems.getFileSystem(URI.create("jar:file:" + p + "!/")).getPath("/");
+            } catch (IOException e) {
+                throw new IOError(e);
+            }
+        } else {
+            return Paths.get(p);
+        }
+    }
+
+    private Stream<Path> walk(Path p) {
+        try {
+            return Files.walk(p);
+        } catch (IOException e) {
+            throw new IOError(e);
+        }
+    }
+
+    private void index(Indexer indexer, Path p) {
+        try (InputStream is = Files.newInputStream(p)) {
+            indexer.index(is);
+        } catch (IOException e) {
+            throw new IOError(e);
+        }
+    }
+
+}


[camel] 10/13: Switch camel-grape to java to leverage build tools

Posted by gn...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

gnodet pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit bef5ea7486de669a373f99f31c6987b89ea24634
Author: Guillaume Nodet <gn...@gmail.com>
AuthorDate: Fri Jan 11 18:31:09 2019 +0100

    Switch camel-grape to java to leverage build tools
---
 components/camel-grape/pom.xml                     | 60 --------------
 .../camel-grape/src/main/docs/grape-component.adoc |  2 +-
 .../component/grape/FilePatchesRepository.groovy   | 60 --------------
 .../camel/component/grape/GrapeEndpoint.groovy     | 79 ------------------
 .../camel/component/grape/GrapeProducer.groovy     | 68 ----------------
 .../camel/component/grape/MavenCoordinates.groovy  | 59 --------------
 .../component/grape/FilePatchesRepository.java     | 82 +++++++++++++++++++
 .../camel/component/grape/GrapeCommand.java}       |  4 +-
 .../camel/component/grape/GrapeComponent.java}     | 39 +++++----
 .../camel/component/grape/GrapeConstants.java}     |  6 +-
 .../camel/component/grape/GrapeEndpoint.java       | 95 ++++++++++++++++++++++
 .../camel/component/grape/GrapeProducer.java       | 77 ++++++++++++++++++
 .../camel/component/grape/MavenCoordinates.java    | 70 ++++++++++++++++
 .../camel/component/grape/PatchesRepository.java}  |  6 +-
 .../org/apache/camel/component/grape/grape.json    | 29 -------
 15 files changed, 355 insertions(+), 381 deletions(-)

diff --git a/components/camel-grape/pom.xml b/components/camel-grape/pom.xml
index 7abc37a..8b6b2db 100644
--- a/components/camel-grape/pom.xml
+++ b/components/camel-grape/pom.xml
@@ -32,9 +32,6 @@
   <description>The grape component allows you to fetch, load and manage additional jars when CamelContext is running</description>
 
   <properties>
-    <groovy-eclipse-batch.version>2.4.3-01</groovy-eclipse-batch.version>
-    <groovy-eclipse-compiler.version>2.9.2-01</groovy-eclipse-compiler.version>
-    <plexus-compiler-api.version>2.8.3</plexus-compiler-api.version>
     <camel.osgi.export.pkg />
   </properties>
 
@@ -91,63 +88,6 @@
     </dependency>
   </dependencies>
 
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-compiler-plugin</artifactId>
-        <dependencies>
-          <dependency>
-            <groupId>org.codehaus.groovy</groupId>
-            <artifactId>groovy-eclipse-batch</artifactId>
-            <version>${groovy-eclipse-batch.version}</version>
-          </dependency>
-          <dependency>
-            <groupId>org.codehaus.groovy</groupId>
-            <artifactId>groovy-eclipse-compiler</artifactId>
-            <version>${groovy-eclipse-compiler.version}</version>
-          </dependency>
-          <dependency>
-            <groupId>org.codehaus.plexus</groupId>
-            <artifactId>plexus-compiler-api</artifactId>
-            <version>${plexus-compiler-api.version}</version>
-          </dependency>
-        </dependencies>
-        <configuration>
-          <compilerId>groovy-eclipse-compiler</compilerId>
-        </configuration>
-      </plugin>
-      <plugin>
-        <groupId>org.codehaus.groovy</groupId>
-        <artifactId>groovy-eclipse-compiler</artifactId>
-        <version>${groovy-eclipse-compiler.version}</version>
-        <extensions>true</extensions>
-      </plugin>
-      <plugin>
-        <groupId>com.google.code.maven-replacer-plugin</groupId>
-        <artifactId>replacer</artifactId>
-        <version>1.5.3</version>
-        <executions>
-          <execution>
-            <phase>prepare-package</phase>
-            <goals>
-              <goal>replace</goal>
-            </goals>
-          </execution>
-        </executions>
-        <configuration>
-          <file>${basedir}/target/classes/org/apache/camel/component/grape/grape.json</file>
-          <replacements>
-            <replacement>
-              <token>ARTIFACT_VERSION</token>
-              <value>${project.version}</value>
-            </replacement>
-          </replacements>
-        </configuration>
-      </plugin>
-    </plugins>
-  </build>
-
   <profiles>
     <profile>
       <id>jdk9+-build</id>
diff --git a/components/camel-grape/src/main/docs/grape-component.adoc b/components/camel-grape/src/main/docs/grape-component.adoc
index b241aba..54610d7 100644
--- a/components/camel-grape/src/main/docs/grape-component.adoc
+++ b/components/camel-grape/src/main/docs/grape-component.adoc
@@ -51,7 +51,7 @@ with the following path and query parameters:
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *synchronous* (producer) | Sets whether synchronous processing should be strictly used or Camel is allowed to use asynchronous processing (if supported). | false | boolean
+| *synchronous* (advanced) | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | boolean
 |===
 // endpoint options: END
 
diff --git a/components/camel-grape/src/main/groovy/org/apache/camel/component/grape/FilePatchesRepository.groovy b/components/camel-grape/src/main/groovy/org/apache/camel/component/grape/FilePatchesRepository.groovy
deleted file mode 100644
index 66d25b0..0000000
--- a/components/camel-grape/src/main/groovy/org/apache/camel/component/grape/FilePatchesRepository.groovy
+++ /dev/null
@@ -1,60 +0,0 @@
-/**
- * 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.grape
-
-import org.apache.commons.lang3.SystemUtils
-
-import java.nio.file.Paths
-
-import static org.apache.commons.io.FileUtils.writeStringToFile
-import static org.apache.commons.io.IOUtils.readLines
-
-class FilePatchesRepository implements PatchesRepository {
-
-    private final File repository
-
-    FilePatchesRepository() {
-        this(Paths.get(SystemUtils.userHome.absolutePath, ".camel", "patches").toFile())
-    }
-
-    FilePatchesRepository(File repository) {
-        if(!repository.exists()) {
-            if(repository.getParentFile() != null) {
-                repository.getParentFile().mkdirs()
-            }
-            repository.createNewFile()
-        }
-        this.repository = repository
-    }
-
-    @Override
-    void install(String coordinates) {
-        writeStringToFile(repository, coordinates + "\n", true);
-    }
-
-    @Override
-    List<String> listPatches() {
-        readLines(new FileReader(repository))
-    }
-
-    @Override
-    void clear() {
-        repository.delete()
-        repository.createNewFile()
-    }
-
-}
diff --git a/components/camel-grape/src/main/groovy/org/apache/camel/component/grape/GrapeEndpoint.groovy b/components/camel-grape/src/main/groovy/org/apache/camel/component/grape/GrapeEndpoint.groovy
deleted file mode 100644
index a82da51..0000000
--- a/components/camel-grape/src/main/groovy/org/apache/camel/component/grape/GrapeEndpoint.groovy
+++ /dev/null
@@ -1,79 +0,0 @@
-/**
- * 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.grape
-
-import org.apache.camel.CamelContext
-import org.apache.camel.Consumer
-import org.apache.camel.Processor
-import org.apache.camel.Producer
-import org.apache.camel.support.DefaultEndpoint
-import org.apache.camel.spi.Metadata
-import org.apache.camel.spi.UriEndpoint
-import org.apache.camel.spi.UriPath
-
-import static groovy.grape.Grape.grab
-import static org.apache.camel.component.grape.MavenCoordinates.parseMavenCoordinates
-
-/**
- * The grape component allows you to fetch, load and manage additional jars when CamelContext is running.
- */
-@UriEndpoint(firstVersion = "2.16.0", scheme = "grape", syntax = "grape:defaultCoordinates", title = "Grape", producerOnly = true, label = "management,deployment")
-class GrapeEndpoint extends DefaultEndpoint {
-
-    @UriPath(description = "Maven coordinates to use as default to grab if the message body is empty") @Metadata(required = true)
-    private final String defaultCoordinates
-
-    GrapeEndpoint(String endpointUri, String defaultCoordinates, GrapeComponent component) {
-        super(endpointUri, component)
-        this.defaultCoordinates = defaultCoordinates
-    }
-
-    static def loadPatches(CamelContext camelContext) {
-        def classLoader = camelContext.applicationContextClassLoader
-        def patchesRepository = camelContext.getComponent('grape', GrapeComponent.class).patchesRepository
-        patchesRepository.listPatches().each {
-            def coordinates = parseMavenCoordinates(it)
-            grab(classLoader: classLoader,
-                 group: coordinates.groupId, module: coordinates.artifactId, version: coordinates.version, classifier: coordinates.classifier)
-        }
-    }
-
-    @Override
-    Producer createProducer() {
-        new GrapeProducer(this)
-    }
-
-    @Override
-    Consumer createConsumer(Processor processor) {
-        throw new UnsupportedOperationException('Grape component supports only the producer side of the route.')
-    }
-
-    @Override
-    boolean isSingleton() {
-        true
-    }
-
-    String getDefaultCoordinates() {
-        defaultCoordinates
-    }
-
-    @Override
-    GrapeComponent getComponent() {
-        super.getComponent() as GrapeComponent
-    }
-
-}
\ No newline at end of file
diff --git a/components/camel-grape/src/main/groovy/org/apache/camel/component/grape/GrapeProducer.groovy b/components/camel-grape/src/main/groovy/org/apache/camel/component/grape/GrapeProducer.groovy
deleted file mode 100644
index da4838c..0000000
--- a/components/camel-grape/src/main/groovy/org/apache/camel/component/grape/GrapeProducer.groovy
+++ /dev/null
@@ -1,68 +0,0 @@
-/**
- * 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.grape
-
-import groovy.grape.Grape
-import org.apache.camel.Exchange
-import org.apache.camel.support.DefaultProducer
-
-import static GrapeCommand.clearPatches
-import static GrapeCommand.grab
-import static GrapeCommand.listPatches
-import static GrapeConstants.GRAPE_COMMAND
-
-class GrapeProducer extends DefaultProducer {
-
-    GrapeProducer(GrapeEndpoint endpoint) {
-        super(endpoint)
-    }
-
-    @Override
-    void process(Exchange exchange) {
-        def command = exchange.in.getHeader(GRAPE_COMMAND, grab, GrapeCommand.class)
-        switch(command) {
-            case grab:
-                def classLoader = exchange.context.applicationContextClassLoader
-                def rawCoordinates = exchange.in.getBody(String.class)
-                try {
-                    def coordinates = MavenCoordinates.parseMavenCoordinates(rawCoordinates)
-                    Grape.grab(classLoader: classLoader, group: coordinates.groupId, module: coordinates.artifactId, version: coordinates.version, classifier: coordinates.classifier)
-                    endpoint.component.patchesRepository.install(rawCoordinates)
-                } catch (IllegalArgumentException ex) {
-                    def coordinates = MavenCoordinates.parseMavenCoordinates(getEndpoint().defaultCoordinates)
-                    Grape.grab(classLoader: classLoader, group: coordinates.groupId, module: coordinates.artifactId, version: coordinates.version, classifier: coordinates.classifier)
-                    endpoint.component.patchesRepository.install(getEndpoint().defaultCoordinates)
-                }
-                break
-
-            case listPatches:
-                def patches = endpoint.component.patchesRepository.listPatches()
-                exchange.getIn().setBody(patches)
-                break
-
-            case clearPatches:
-                endpoint.component.patchesRepository.clear()
-                break
-        }
-    }
-
-    @Override
-    GrapeEndpoint getEndpoint() {
-        super.getEndpoint() as GrapeEndpoint
-    }
-
-}
diff --git a/components/camel-grape/src/main/groovy/org/apache/camel/component/grape/MavenCoordinates.groovy b/components/camel-grape/src/main/groovy/org/apache/camel/component/grape/MavenCoordinates.groovy
deleted file mode 100644
index cfeb2a0..0000000
--- a/components/camel-grape/src/main/groovy/org/apache/camel/component/grape/MavenCoordinates.groovy
+++ /dev/null
@@ -1,59 +0,0 @@
-/**
- * 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.grape
-
-import groovy.transform.ImmutableBase
-
-@ImmutableBase
-class MavenCoordinates {
-
-    private String groupId
-
-    private String artifactId
-
-    private String version
-
-    private String classifier
-
-    static MavenCoordinates parseMavenCoordinates(String coordinates) {
-        def coordinatesParts = coordinates.split('/')
-        def clazzifier = ''
-        if (coordinatesParts.length < 3 || coordinatesParts.length > 4) {
-            throw new IllegalArgumentException("Invalid coordinates: ${coordinates}")
-        }
-        if (coordinatesParts.length == 4) {
-            clazzifier = coordinatesParts[3]
-        }
-        new MavenCoordinates(groupId: coordinatesParts[0], artifactId: coordinatesParts[1], version: coordinatesParts[2], classifier: clazzifier)
-    }
-
-    String getGroupId() {
-        return groupId
-    }
-
-    String getArtifactId() {
-        return artifactId
-    }
-
-    String getVersion() {
-        return version
-    }
-
-    String getClassifier() {
-        return classifier
-    }
-}
diff --git a/components/camel-grape/src/main/java/org/apache/camel/component/grape/FilePatchesRepository.java b/components/camel-grape/src/main/java/org/apache/camel/component/grape/FilePatchesRepository.java
new file mode 100644
index 0000000..81ae1a2
--- /dev/null
+++ b/components/camel-grape/src/main/java/org/apache/camel/component/grape/FilePatchesRepository.java
@@ -0,0 +1,82 @@
+/**
+ * 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.grape;
+
+import java.io.File;
+import java.io.FileReader;
+import java.io.IOError;
+import java.io.IOException;
+import java.nio.file.Paths;
+import java.util.List;
+
+import org.apache.commons.io.FileUtils;
+import org.apache.commons.io.IOUtils;
+import org.apache.commons.lang3.SystemUtils;
+
+public class FilePatchesRepository implements PatchesRepository {
+
+    private final File repository;
+
+    public FilePatchesRepository() {
+        this(Paths.get(SystemUtils.getUserHome().getAbsolutePath(), ".camel", "patches").toFile());
+    }
+
+    public FilePatchesRepository(File repository) {
+        try {
+            if (!repository.exists()) {
+                if (repository.getParentFile() != null) {
+                    repository.getParentFile().mkdirs();
+                }
+
+                repository.createNewFile();
+            }
+        } catch (IOException e) {
+            throw new IOError(e);
+        }
+
+        this.repository = repository;
+    }
+
+    @Override
+    public void install(String coordinates) {
+        try {
+            FileUtils.writeStringToFile(repository, coordinates + "\n", true);
+        } catch (IOException e) {
+            throw new IOError(e);
+        }
+    }
+
+    @Override
+    public List<String> listPatches() {
+        try {
+            return IOUtils.readLines(new FileReader(repository));
+        } catch (IOException e) {
+            throw new IOError(e);
+        }
+    }
+
+    @Override
+    public void clear() {
+        try {
+            repository.delete();
+            repository.createNewFile();
+        } catch (IOException e) {
+            throw new IOError(e);
+        }
+    }
+
+}
diff --git a/components/camel-grape/src/main/groovy/org/apache/camel/component/grape/GrapeCommand.groovy b/components/camel-grape/src/main/java/org/apache/camel/component/grape/GrapeCommand.java
similarity index 92%
rename from components/camel-grape/src/main/groovy/org/apache/camel/component/grape/GrapeCommand.groovy
rename to components/camel-grape/src/main/java/org/apache/camel/component/grape/GrapeCommand.java
index 901b992..a8d5940 100644
--- a/components/camel-grape/src/main/groovy/org/apache/camel/component/grape/GrapeCommand.groovy
+++ b/components/camel-grape/src/main/java/org/apache/camel/component/grape/GrapeCommand.java
@@ -14,9 +14,9 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.component.grape
+package org.apache.camel.component.grape;
 
-enum GrapeCommand {
+public enum GrapeCommand {
 
     grab,
     listPatches,
diff --git a/components/camel-grape/src/main/groovy/org/apache/camel/component/grape/GrapeComponent.groovy b/components/camel-grape/src/main/java/org/apache/camel/component/grape/GrapeComponent.java
similarity index 54%
rename from components/camel-grape/src/main/groovy/org/apache/camel/component/grape/GrapeComponent.groovy
rename to components/camel-grape/src/main/java/org/apache/camel/component/grape/GrapeComponent.java
index b49482a..7fbcf04 100644
--- a/components/camel-grape/src/main/groovy/org/apache/camel/component/grape/GrapeComponent.groovy
+++ b/components/camel-grape/src/main/java/org/apache/camel/component/grape/GrapeComponent.java
@@ -14,38 +14,41 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.component.grape
+package org.apache.camel.component.grape;
 
-import org.apache.camel.CamelContext
-import org.apache.camel.support.DefaultComponent
-import org.apache.camel.spi.Metadata
+import java.util.Map;
 
-class GrapeComponent extends DefaultComponent {
+import groovy.lang.GroovyClassLoader;
+import org.apache.camel.CamelContext;
+import org.apache.camel.spi.Metadata;
+import org.apache.camel.support.DefaultComponent;
 
-	@Metadata(label = "advanced", description = "Implementation of org.apache.camel.component.grape.PatchesRepository, by default: FilePatchesRepository")
-    private PatchesRepository patchesRepository = new FilePatchesRepository()
+public class GrapeComponent extends DefaultComponent {
 
-    GrapeComponent() {
+    @Metadata(label = "advanced", description = "Implementation of org.apache.camel.component.grape.PatchesRepository, by default: FilePatchesRepository")
+    private PatchesRepository patchesRepository = new FilePatchesRepository();
+
+    public GrapeComponent() {
     }
 
     @Override
-    protected GrapeEndpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) {
-        GrapeEndpoint grapeEndpoint = new GrapeEndpoint(uri, remaining, this)
+    protected GrapeEndpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
+        GrapeEndpoint grapeEndpoint = new GrapeEndpoint(uri, remaining, this);
         setProperties(grapeEndpoint, parameters);
-        grapeEndpoint
+        return grapeEndpoint;
     }
 
-    PatchesRepository getPatchesRepository() {
-        return patchesRepository
+    public PatchesRepository getPatchesRepository() {
+        return patchesRepository;
     }
 
-    void setPatchesRepository(PatchesRepository patchesRepository) {
-        this.patchesRepository = patchesRepository
+    public void setPatchesRepository(PatchesRepository patchesRepository) {
+        this.patchesRepository = patchesRepository;
     }
 
-    static CamelContext grapeCamelContext(CamelContext camelContext) {
-        camelContext.setApplicationContextClassLoader(new GroovyClassLoader(GrapeComponent.class.getClassLoader()))
-        camelContext
+    public static CamelContext grapeCamelContext(CamelContext camelContext) {
+        camelContext.setApplicationContextClassLoader(new GroovyClassLoader(GrapeComponent.class.getClassLoader()));
+        return camelContext;
     }
 
 }
diff --git a/components/camel-grape/src/main/groovy/org/apache/camel/component/grape/GrapeConstants.groovy b/components/camel-grape/src/main/java/org/apache/camel/component/grape/GrapeConstants.java
similarity index 85%
rename from components/camel-grape/src/main/groovy/org/apache/camel/component/grape/GrapeConstants.groovy
rename to components/camel-grape/src/main/java/org/apache/camel/component/grape/GrapeConstants.java
index c778674..72e2e47 100644
--- a/components/camel-grape/src/main/groovy/org/apache/camel/component/grape/GrapeConstants.groovy
+++ b/components/camel-grape/src/main/java/org/apache/camel/component/grape/GrapeConstants.java
@@ -14,10 +14,10 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.component.grape
+package org.apache.camel.component.grape;
 
-class GrapeConstants {
+public class GrapeConstants {
 
-    static final String GRAPE_COMMAND = 'CamelGrapeCommand'
+    public static final String GRAPE_COMMAND = "CamelGrapeCommand";
 
 }
diff --git a/components/camel-grape/src/main/java/org/apache/camel/component/grape/GrapeEndpoint.java b/components/camel-grape/src/main/java/org/apache/camel/component/grape/GrapeEndpoint.java
new file mode 100644
index 0000000..1344bfd
--- /dev/null
+++ b/components/camel-grape/src/main/java/org/apache/camel/component/grape/GrapeEndpoint.java
@@ -0,0 +1,95 @@
+/**
+ * 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.grape;
+
+import java.util.LinkedHashMap;
+import java.util.List;
+
+import groovy.grape.Grape;
+import groovy.lang.Closure;
+import org.apache.camel.CamelContext;
+import org.apache.camel.Consumer;
+import org.apache.camel.Processor;
+import org.apache.camel.Producer;
+import org.apache.camel.spi.Metadata;
+import org.apache.camel.spi.UriEndpoint;
+import org.apache.camel.spi.UriPath;
+import org.apache.camel.support.DefaultEndpoint;
+import org.codehaus.groovy.runtime.DefaultGroovyMethods;
+
+/**
+ * The grape component allows you to fetch, load and manage additional jars when CamelContext is running.
+ */
+@UriEndpoint(firstVersion = "2.16.0", scheme = "grape", syntax = "grape:defaultCoordinates", title = "Grape", producerOnly = true, label = "management,deployment")
+public class GrapeEndpoint extends DefaultEndpoint {
+
+    @UriPath(description = "Maven coordinates to use as default to grab if the message body is empty.")
+    @Metadata(required = true)
+    private final String defaultCoordinates;
+
+    public GrapeEndpoint(String endpointUri, String defaultCoordinates, GrapeComponent component) {
+        super(endpointUri, component);
+        this.defaultCoordinates = defaultCoordinates;
+    }
+
+    public static List<String> loadPatches(CamelContext camelContext) {
+        final ClassLoader classLoader = camelContext.getApplicationContextClassLoader();
+        PatchesRepository patchesRepository = camelContext.getComponent("grape", GrapeComponent.class).getPatchesRepository();
+        return DefaultGroovyMethods.each(patchesRepository.listPatches(), new Closure<Object>(null, null) {
+            public void doCall(String it) {
+                MavenCoordinates coordinates = MavenCoordinates.parseMavenCoordinates(it);
+                LinkedHashMap<String, Object> map = new LinkedHashMap<String, Object>(5);
+                map.put("classLoader", classLoader);
+                map.put("group", coordinates.getGroupId());
+                map.put("module", coordinates.getArtifactId());
+                map.put("version", coordinates.getVersion());
+                map.put("classifier", coordinates.getClassifier());
+                Grape.grab(map);
+            }
+
+            public void doCall() {
+                doCall(null);
+            }
+
+        });
+    }
+
+    @Override
+    public Producer createProducer() {
+        return new GrapeProducer(this);
+    }
+
+    @Override
+    public Consumer createConsumer(Processor processor) {
+        throw new UnsupportedOperationException("Grape component supports only the producer side of the route.");
+    }
+
+    @Override
+    public boolean isSingleton() {
+        return true;
+    }
+
+    public String getDefaultCoordinates() {
+        return defaultCoordinates;
+    }
+
+    @Override
+    public GrapeComponent getComponent() {
+        return DefaultGroovyMethods.asType(super.getComponent(), GrapeComponent.class);
+    }
+
+}
diff --git a/components/camel-grape/src/main/java/org/apache/camel/component/grape/GrapeProducer.java b/components/camel-grape/src/main/java/org/apache/camel/component/grape/GrapeProducer.java
new file mode 100644
index 0000000..6c80e98
--- /dev/null
+++ b/components/camel-grape/src/main/java/org/apache/camel/component/grape/GrapeProducer.java
@@ -0,0 +1,77 @@
+/**
+ * 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.grape;
+
+import java.util.LinkedHashMap;
+import java.util.List;
+
+import groovy.grape.Grape;
+import org.apache.camel.Exchange;
+import org.apache.camel.support.DefaultProducer;
+
+public class GrapeProducer extends DefaultProducer {
+
+    public GrapeProducer(GrapeEndpoint endpoint) {
+        super(endpoint);
+    }
+
+    @Override
+    public void process(Exchange exchange) {
+        GrapeCommand command = exchange.getIn().getHeader(GrapeConstants.GRAPE_COMMAND, GrapeCommand.grab, GrapeCommand.class);
+        switch (command) {
+            case grab:
+                ClassLoader classLoader = exchange.getContext().getApplicationContextClassLoader();
+                String rawCoordinates = exchange.getIn().getBody(String.class);
+                LinkedHashMap<String, Object> map = new LinkedHashMap<String, Object>(5);
+                try {
+                    MavenCoordinates coordinates = MavenCoordinates.parseMavenCoordinates(rawCoordinates);
+                    map.put("classLoader", classLoader);
+                    map.put("group", coordinates.getGroupId());
+                    map.put("module", coordinates.getArtifactId());
+                    map.put("version", coordinates.getVersion());
+                    map.put("classifier", coordinates.getClassifier());
+                    Grape.grab(map);
+                    getEndpoint().getComponent().getPatchesRepository().install(rawCoordinates);
+                } catch (IllegalArgumentException ex) {
+                    MavenCoordinates coordinates = MavenCoordinates.parseMavenCoordinates(getEndpoint().getDefaultCoordinates());
+                    map.put("classLoader", classLoader);
+                    map.put("group", coordinates.getGroupId());
+                    map.put("module", coordinates.getArtifactId());
+                    map.put("version", coordinates.getVersion());
+                    map.put("classifier", coordinates.getClassifier());
+                    Grape.grab(map);
+                    getEndpoint().getComponent().getPatchesRepository().install(getEndpoint().getDefaultCoordinates());
+                }
+                break;
+
+            case listPatches:
+                List<String> patches = getEndpoint().getComponent().getPatchesRepository().listPatches();
+                exchange.getIn().setBody(patches);
+                break;
+
+            case clearPatches:
+                getEndpoint().getComponent().getPatchesRepository().clear();
+                break;
+        }
+    }
+
+    @Override
+    public GrapeEndpoint getEndpoint() {
+        return (GrapeEndpoint) super.getEndpoint();
+    }
+
+}
diff --git a/components/camel-grape/src/main/java/org/apache/camel/component/grape/MavenCoordinates.java b/components/camel-grape/src/main/java/org/apache/camel/component/grape/MavenCoordinates.java
new file mode 100644
index 0000000..3f2fe9c
--- /dev/null
+++ b/components/camel-grape/src/main/java/org/apache/camel/component/grape/MavenCoordinates.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.grape;
+
+public class MavenCoordinates {
+
+    private final String groupId;
+
+    private final String artifactId;
+
+    private final String version;
+
+    private final String classifier;
+
+    public static MavenCoordinates parseMavenCoordinates(String coordinates) {
+        String[] coordinatesParts = coordinates.split("/");
+        String clazzifier = "";
+        if (coordinatesParts.length < 3 || coordinatesParts.length > 4) {
+            throw new IllegalArgumentException("Invalid coordinates: " + coordinates);
+        }
+
+        if (coordinatesParts.length == 4) {
+            clazzifier = coordinatesParts[3];
+        }
+
+        return new MavenCoordinates(
+                coordinatesParts[0],
+                coordinatesParts[1],
+                coordinatesParts[2],
+                clazzifier);
+    }
+
+    MavenCoordinates(String groupId, String artifactId, String version, String classifier) {
+        this.groupId = groupId;
+        this.artifactId = artifactId;
+        this.version = version;
+        this.classifier = classifier;
+    }
+
+    public String getGroupId() {
+        return groupId;
+    }
+
+    public String getArtifactId() {
+        return artifactId;
+    }
+
+    public String getVersion() {
+        return version;
+    }
+
+    public String getClassifier() {
+        return classifier;
+    }
+
+}
diff --git a/components/camel-grape/src/main/groovy/org/apache/camel/component/grape/PatchesRepository.groovy b/components/camel-grape/src/main/java/org/apache/camel/component/grape/PatchesRepository.java
similarity index 89%
rename from components/camel-grape/src/main/groovy/org/apache/camel/component/grape/PatchesRepository.groovy
rename to components/camel-grape/src/main/java/org/apache/camel/component/grape/PatchesRepository.java
index e5f9ce0..09e4f53 100644
--- a/components/camel-grape/src/main/groovy/org/apache/camel/component/grape/PatchesRepository.groovy
+++ b/components/camel-grape/src/main/java/org/apache/camel/component/grape/PatchesRepository.java
@@ -14,9 +14,11 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.component.grape
+package org.apache.camel.component.grape;
 
-interface PatchesRepository {
+import java.util.List;
+
+public interface PatchesRepository {
 
     void install(String coordinates);
 
diff --git a/components/camel-grape/src/main/resources/org/apache/camel/component/grape/grape.json b/components/camel-grape/src/main/resources/org/apache/camel/component/grape/grape.json
deleted file mode 100644
index f8e36a2..0000000
--- a/components/camel-grape/src/main/resources/org/apache/camel/component/grape/grape.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{
-  "component": {
-    "kind": "component",
-    "scheme": "grape",
-    "syntax": "grape:defaultCoordinates",
-    "title": "Grape",
-    "description": "Grape component allows you to fetch, load and manage additional jars when CamelContext is running.",
-    "firstVersion": "2.16.0",
-    "label": "management,deployment",
-    "deprecated": false,
-    "deprecationNote": "",
-    "async": false,
-    "consumerOnly": false,
-    "producerOnly": true,
-    "javaType": "org.apache.camel.component.grape.GrapeEndpoint",
-    "groupId": "org.apache.camel",
-    "artifactId": "camel-grape",
-    "version": "ARTIFACT_VERSION"
-  },
-  "componentProperties": {
-    "patchesRepository": { "kind": "property", "displayName": "Patches Repository", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.grape.PatchesRepository", "deprecated": false, "secret": false, "description": "Implementation of org.apache.camel.component.grape.PatchesRepository, by default: FilePatchesRepository" },
-    "resolvePropertyPlaceholders": { "kind": "property", "displayName": "Resolve Property Placeholders", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": true, "description": "Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders." }
-  },
-  "properties": {
-    "defaultCoordinates": { "kind": "path", "displayName": "Default Coordinates", "group": "producer", "required": "true", "type": "string", "javaType": "java.lang.String", "deprecated": "false", "description": "Maven coordinates to use as default to grab if the message body is empty." },
-    "synchronous": { "kind": "parameter", "displayName": "Synchronous", "group": "producer", "type": "boolean", "javaType": "boolean", "deprecated": "false", "defaultValue": "false", "description": "Sets whether synchronous processing should be strictly used or Camel is allowed to use asynchronous processing (if supported)." }
-  }
-}
-


[camel] 11/13: Leverage @Component, @Dataformat and @Language annotations

Posted by gn...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

gnodet pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit b5621f80f6b9ea6e6728e9c3dbdaf515cdcc65ea
Author: Guillaume Nodet <gn...@gmail.com>
AuthorDate: Fri Jan 11 10:58:18 2019 +0100

    Leverage @Component, @Dataformat and @Language annotations
---
 .../apache/camel/component/bean/BeanComponent.java |   1 +
 .../camel/component/beanclass/ClassComponent.java  |   1 +
 .../camel/component/browse/BrowseComponent.java    |   1 +
 .../component/controlbus/ControlBusComponent.java  |   1 +
 .../component/dataformat/DataFormatComponent.java  |   2 +
 .../camel/component/dataset/DataSetComponent.java  |   1 +
 .../camel/component/direct/DirectComponent.java    |   2 +
 .../component/directvm/DirectVmComponent.java      |   1 +
 .../apache/camel/component/file/FileComponent.java |   4 +
 .../camel/component/file/FileProcessStrategy.java  |  19 ++
 .../component/language/LanguageComponent.java      |   1 +
 .../apache/camel/component/log/LogComponent.java   |   1 +
 .../apache/camel/component/mock/MockComponent.java |   1 +
 .../component/properties/PropertiesComponent.java  |   2 +
 .../apache/camel/component/ref/RefComponent.java   |   1 +
 .../camel/component/rest/RestApiComponent.java     |   1 +
 .../apache/camel/component/rest/RestComponent.java |   1 +
 .../apache/camel/component/saga/SagaComponent.java |   1 +
 .../component/scheduler/SchedulerComponent.java    |   1 +
 .../apache/camel/component/seda/SedaComponent.java |   1 +
 .../apache/camel/component/stub/StubComponent.java |   1 +
 .../apache/camel/component/test/TestComponent.java |   1 +
 .../camel/component/timer/TimerComponent.java      |   1 +
 .../component/validator/ValidatorComponent.java    |   1 +
 .../org/apache/camel/component/vm/VmComponent.java |   1 +
 .../apache/camel/component/xslt/XsltComponent.java |   2 +
 .../apache/camel/component/xslt/XsltHelper.java    |   4 +-
 .../java/org/apache/camel/impl/GzipDataFormat.java |   2 +
 .../apache/camel/impl/SerializationDataFormat.java |   2 +
 .../org/apache/camel/impl/StringDataFormat.java    |   2 +
 .../java/org/apache/camel/impl/ZipDataFormat.java  |   2 +
 .../converter/AnnotationTypeConverterLoader.java   |   4 +-
 .../apache/camel/language/bean/BeanLanguage.java   |   1 +
 .../camel/language/constant/ConstantLanguage.java  |   1 +
 .../camel/language/header/HeaderLanguage.java      |   1 +
 .../property/ExchangePropertyLanguage.java         |   1 +
 .../org/apache/camel/language/ref/RefLanguage.java |   1 +
 .../apache/camel/language/simple/FileLanguage.java |   3 +
 .../camel/language/simple/SimpleLanguage.java      |   2 +
 .../camel/language/tokenizer/TokenizeLanguage.java |   1 +
 .../language/tokenizer/XMLTokenizeLanguage.java    |   2 +
 .../apache/camel/language/xpath/XPathLanguage.java |   2 +
 .../services/org/apache/camel/component/bean       |  18 --
 .../services/org/apache/camel/component/browse     |  18 --
 .../services/org/apache/camel/component/class      |  18 --
 .../services/org/apache/camel/component/controlbus |  18 --
 .../services/org/apache/camel/component/dataformat |  18 --
 .../services/org/apache/camel/component/dataset    |  18 --
 .../services/org/apache/camel/component/direct     |  18 --
 .../services/org/apache/camel/component/direct-vm  |  18 --
 .../services/org/apache/camel/component/file       |  19 --
 .../services/org/apache/camel/component/language   |  18 --
 .../services/org/apache/camel/component/log        |  18 --
 .../services/org/apache/camel/component/mock       |  18 --
 .../services/org/apache/camel/component/properties |  18 --
 .../services/org/apache/camel/component/ref        |  18 --
 .../services/org/apache/camel/component/rest       |  18 --
 .../services/org/apache/camel/component/rest-api   |  18 --
 .../services/org/apache/camel/component/saga       |  18 --
 .../services/org/apache/camel/component/scheduler  |  18 --
 .../services/org/apache/camel/component/seda       |  18 --
 .../services/org/apache/camel/component/stub       |  18 --
 .../services/org/apache/camel/component/test       |  18 --
 .../services/org/apache/camel/component/timer      |  18 --
 .../services/org/apache/camel/component/validator  |  18 --
 .../services/org/apache/camel/component/vm         |  18 --
 .../services/org/apache/camel/component/xslt       |  18 --
 .../services/org/apache/camel/dataformat/gzip      |  18 --
 .../org/apache/camel/dataformat/serialization      |  18 --
 .../services/org/apache/camel/dataformat/string    |  18 --
 .../services/org/apache/camel/dataformat/zip       |  18 --
 .../services/org/apache/camel/language/bean        |  18 --
 .../services/org/apache/camel/language/constant    |  18 --
 .../org/apache/camel/language/exchangeProperty     |  18 --
 .../services/org/apache/camel/language/file        |  18 --
 .../services/org/apache/camel/language/header      |  18 --
 .../services/org/apache/camel/language/ref         |  18 --
 .../services/org/apache/camel/language/simple      |  18 --
 .../services/org/apache/camel/language/tokenize    |  18 --
 .../services/org/apache/camel/language/xpath       |  18 --
 .../services/org/apache/camel/language/xtokenize   |  18 --
 .../apache/camel/component/ahc/ws/WsComponent.java |   2 +
 .../services/org/apache/camel/component/ahc-ws     |  18 --
 .../services/org/apache/camel/component/ahc-wss    |  18 --
 .../apache/camel/component/ahc/AhcComponent.java   |   2 +
 .../services/org/apache/camel/component/ahc        |  18 --
 .../apache/camel/component/amqp/AMQPComponent.java |   2 +
 .../services/org/apache/camel/component/amqp       |  18 --
 .../apache/camel/component/apns/ApnsComponent.java |   2 +
 .../services/org/apache/camel/component/apns       |  18 --
 .../apache/camel/component/as2/AS2Component.java   |   2 +
 .../services/org/apache/camel/component/as2        |  18 --
 .../camel/dataformat/asn1/ASN1DataFormat.java      |   2 +
 .../services/org/apache/camel/dataformat/asn1      |  18 --
 .../component/asterisk/AsteriskComponent.java      |   2 +
 .../services/org/apache/camel/component/asterisk   |  17 --
 .../camel/component/atmos/AtmosComponent.java      |   2 +
 .../services/org/apache/camel/component/atmos      |  18 --
 .../atmosphere/websocket/WebsocketComponent.java   |   2 +
 .../apache/camel/component/atmosphere-websocket    |  17 --
 .../apache/camel/component/atom/AtomComponent.java |   2 +
 .../services/org/apache/camel/component/atom       |  18 --
 .../atomix/client/map/AtomixMapComponent.java      |   2 +
 .../client/messaging/AtomixMessagingComponent.java |   2 +
 .../client/multimap/AtomixMultiMapComponent.java   |   2 +
 .../atomix/client/queue/AtomixQueueComponent.java  |   2 +
 .../atomix/client/set/AtomixSetComponent.java      |   2 +
 .../atomix/client/value/AtomixValueComponent.java  |   2 +
 .../services/org/apache/camel/component/atomix-map |  18 --
 .../org/apache/camel/component/atomix-messaging    |  18 --
 .../org/apache/camel/component/atomix-multimap     |  18 --
 .../org/apache/camel/component/atomix-queue        |  18 --
 .../services/org/apache/camel/component/atomix-set |  18 --
 .../org/apache/camel/component/atomix-value        |  18 --
 .../apache/camel/component/avro/AvroComponent.java |   2 +
 .../camel/dataformat/avro/AvroDataFormat.java      |   2 +
 .../services/org/apache/camel/component/avro       |  17 --
 .../services/org/apache/camel/dataformat/avro      |  18 --
 .../apache/camel/component/aws/cw/CwComponent.java |   2 +
 .../camel/component/aws/ddb/DdbComponent.java      |   3 +
 .../aws/ddbstream/DdbStreamComponent.java          |   3 +
 .../camel/component/aws/ec2/EC2Component.java      |   3 +
 .../camel/component/aws/eks/EKSComponent.java      |   2 +
 .../aws/firehose/KinesisFirehoseComponent.java     |   3 +
 .../camel/component/aws/iam/IAMComponent.java      |   3 +
 .../component/aws/kinesis/KinesisComponent.java    |   3 +
 .../camel/component/aws/kms/KMSComponent.java      |   3 +
 .../component/aws/lambda/LambdaComponent.java      |   3 +
 .../apache/camel/component/aws/mq/MQComponent.java |   3 +
 .../apache/camel/component/aws/s3/S3Component.java |   3 +
 .../camel/component/aws/sdb/SdbComponent.java      |   2 +
 .../camel/component/aws/ses/SesComponent.java      |   3 +
 .../camel/component/aws/sns/SnsComponent.java      |   3 +
 .../camel/component/aws/sqs/SqsComponent.java      |   3 +
 .../camel/component/aws/swf/SWFComponent.java      |   3 +
 .../services/org/apache/camel/component/aws-cw     |  18 --
 .../services/org/apache/camel/component/aws-ddb    |  18 --
 .../org/apache/camel/component/aws-ddbstream       |  18 --
 .../services/org/apache/camel/component/aws-ec2    |  18 --
 .../services/org/apache/camel/component/aws-eks    |  18 --
 .../services/org/apache/camel/component/aws-iam    |  18 --
 .../org/apache/camel/component/aws-kinesis         |  18 --
 .../apache/camel/component/aws-kinesis-firehose    |  18 --
 .../services/org/apache/camel/component/aws-kms    |  18 --
 .../services/org/apache/camel/component/aws-lambda |  18 --
 .../services/org/apache/camel/component/aws-mq     |  18 --
 .../services/org/apache/camel/component/aws-s3     |  18 --
 .../services/org/apache/camel/component/aws-sdb    |  18 --
 .../services/org/apache/camel/component/aws-ses    |  18 --
 .../services/org/apache/camel/component/aws-sns    |  18 --
 .../services/org/apache/camel/component/aws-sqs    |  18 --
 .../services/org/apache/camel/component/aws-swf    |  18 --
 .../component/azure/blob/BlobServiceComponent.java |   2 +
 .../azure/queue/QueueServiceComponent.java         |   2 +
 .../services/org/apache/camel/component/azure-blob |  18 --
 .../org/apache/camel/component/azure-queue         |  18 --
 .../dataformat/barcode/BarcodeDataFormat.java      |   2 +
 .../services/org/apache/camel/dataformat/barcode   |  18 --
 .../camel/dataformat/base64/Base64DataFormat.java  |   2 +
 .../services/org/apache/camel/dataformat/base64    |  18 --
 .../bean/validator/BeanValidatorComponent.java     |   2 +
 .../org/apache/camel/component/bean-validator      |  18 --
 .../camel/dataformat/beanio/BeanIODataFormat.java  |   2 +
 .../services/org/apache/camel/dataformat/beanio    |  18 --
 .../component/beanstalk/BeanstalkComponent.java    |   2 +
 .../services/org/apache/camel/component/beanstalk  |  18 --
 .../dataformat/bindy/csv/BindyCsvDataFormat.java   |   2 +
 .../bindy/fixed/BindyFixedLengthDataFormat.java    |   2 +
 .../bindy/kvp/BindyKeyValuePairDataFormat.java     |   2 +
 .../services/org/apache/camel/dataformat/bindy-csv |  18 --
 .../org/apache/camel/dataformat/bindy-fixed        |  18 --
 .../services/org/apache/camel/dataformat/bindy-kvp |  18 --
 .../camel/component/bonita/BonitaComponent.java    |   2 +
 .../services/org/apache/camel/component/bonita     |  17 --
 .../camel/component/boon/BoonDataFormat.java       |   2 +
 .../services/org/apache/camel/dataformat/boon      |  18 --
 .../apache/camel/component/box/BoxComponent.java   |   2 +
 .../services/org/apache/camel/component/box        |  18 --
 .../component/braintree/BraintreeComponent.java    |   2 +
 .../services/org/apache/camel/component/braintree  |  18 --
 .../caffeine/cache/CaffeineCacheComponent.java     |   2 +
 .../caffeine/load/CaffeineLoadCacheComponent.java  |   2 +
 .../org/apache/camel/component/caffeine-cache      |  18 --
 .../org/apache/camel/component/caffeine-loadcache  |  18 --
 .../component/cassandra/CassandraComponent.java    |   2 +
 .../services/org/apache/camel/component/cql        |  18 --
 .../chronicle/engine/ChronicleEngineComponent.java |   2 +
 .../org/apache/camel/component/chronicle-engine    |  18 --
 .../camel/component/chunk/ChunkComponent.java      |   2 +
 .../services/org/apache/camel/component/chunk      |  18 --
 .../org/apache/camel/component/cm/CMComponent.java |   2 +
 .../services/org/apache/camel/component/cm-sms     |  18 --
 .../src/main/resources/log4j2.properties           |  28 ---
 .../apache/camel/component/cmis/CMISComponent.java |   2 +
 .../services/org/apache/camel/component/cmis       |  18 --
 .../java/org/apache/camel/coap/CoAPComponent.java  |   2 +
 .../camel-coap/src/main/resources/LICENSE.txt      | 203 ---------------------
 .../services/org/apache/camel/component/coap       |  18 --
 .../camel-coap/src/main/resources/NOTICE.txt       |  11 --
 .../camel/component/cometd/CometdComponent.java    |   2 +
 .../services/org/apache/camel/component/cometd     |  17 --
 .../services/org/apache/camel/component/cometds    |  17 --
 .../camel/component/consul/ConsulComponent.java    |   2 +
 .../services/org/apache/camel/component/consul     |  18 --
 .../camel/component/corda/CordaComponent.java      |   2 +
 .../services/org/apache/camel/component/corda      |  18 --
 .../component/couchbase/CouchbaseComponent.java    |   2 +
 .../services/org/apache/camel/component/couchbase  |  19 --
 .../camel/component/couchdb/CouchDbComponent.java  |   2 +
 .../services/org/apache/camel/component/couchdb    |  18 --
 .../component/crypto/cms/CryptoCmsComponent.java   |   2 +
 .../services/org/apache/camel/component/crypto-cms |  18 --
 .../crypto/DigitalSignatureComponent.java          |   2 +
 .../camel/converter/crypto/CryptoDataFormat.java   |   2 +
 .../converter/crypto/PGPKeyAccessDataFormat.java   |   2 +
 .../services/org/apache/camel/component/crypto     |  18 --
 .../services/org/apache/camel/dataformat/crypto    |  17 --
 .../services/org/apache/camel/dataformat/pgp       |  17 --
 .../apache/camel/dataformat/csv/CsvDataFormat.java |   2 +
 .../services/org/apache/camel/dataformat/csv       |  18 --
 .../apache/camel/component/cxf/CxfComponent.java   |   2 +
 .../camel/component/cxf/jaxrs/CxfRsComponent.java  |   2 +
 .../services/org/apache/camel/component/cxf        |  18 --
 .../services/org/apache/camel/component/cxfbean    |  18 --
 .../services/org/apache/camel/component/cxfrs      |  18 --
 .../digitalocean/DigitalOceanComponent.java        |   2 +
 .../org/apache/camel/component/digitalocean        |  18 --
 .../src/main/resources/log4j2.properties           |  22 ---
 .../component/disruptor/DisruptorComponent.java    |   2 +
 .../disruptor/vm/DisruptorVmComponent.java         |   2 +
 .../services/org/apache/camel/component/disruptor  |  18 --
 .../org/apache/camel/component/disruptor-vm        |  18 --
 .../apache/camel/component/dns/DnsComponent.java   |   2 +
 .../services/org/apache/camel/component/dns        |  19 --
 .../camel/component/docker/DockerComponent.java    |   2 +
 .../services/org/apache/camel/component/docker     |  17 --
 .../camel/component/dozer/DozerComponent.java      |   2 +
 .../services/org/apache/camel/component/dozer      |  17 --
 .../camel/component/drill/DrillComponent.java      |   2 +
 .../services/org/apache/camel/component/drill      |  17 --
 .../camel/component/dropbox/DropboxComponent.java  |   2 +
 .../services/org/apache/camel/component/dropbox    |  18 --
 .../camel/component/ehcache/EhcacheComponent.java  |   2 +
 .../services/org/apache/camel/component/ehcache    |  18 --
 .../apache/camel/component/ejb/EjbComponent.java   |   2 +
 .../services/org/apache/camel/component/ejb        |  18 --
 .../elasticsearch/ElasticsearchComponent.java      |   2 +
 .../org/apache/camel/component/elasticsearch-rest  |  18 --
 .../camel/component/elsql/ElsqlComponent.java      |   2 +
 .../services/org/apache/camel/component/elsql      |  18 --
 .../apache/camel/component/etcd/EtcdComponent.java |   2 +
 .../services/org/apache/camel/component/etcd       |  18 --
 .../component/eventadmin/EventAdminComponent.java  |   2 +
 .../services/org/apache/camel/component/eventadmin |  18 --
 .../apache/camel/component/exec/ExecComponent.java |   2 +
 .../services/org/apache/camel/component/exec       |  18 --
 .../component/facebook/FacebookComponent.java      |   2 +
 .../services/org/apache/camel/component/facebook   |  18 --
 .../component/fastjson/FastjsonDataFormat.java     |   2 +
 .../org/apache/camel/dataformat/json-fastjson      |  18 --
 .../apache/camel/component/fhir/FhirComponent.java |   2 +
 .../camel/component/fhir/FhirJsonDataFormat.java   |   2 +
 .../camel/component/fhir/FhirXmlDataFormat.java    |   2 +
 .../services/org/apache/camel/component/fhir       |  18 --
 .../services/org/apache/camel/dataformat/fhirJson  |  18 --
 .../services/org/apache/camel/dataformat/fhirXml   |  18 --
 .../component/flatpack/FlatpackComponent.java      |   2 +
 .../dataformat/flatpack/FlatpackDataFormat.java    |   2 +
 .../services/org/apache/camel/component/flatpack   |  18 --
 .../services/org/apache/camel/dataformat/flatpack  |  18 --
 .../camel/component/flink/FlinkComponent.java      |   2 +
 .../services/org/apache/camel/component/flink      |  18 --
 .../apache/camel/component/fop/FopComponent.java   |   2 +
 .../services/org/apache/camel/component/fop        |  18 --
 .../component/freemarker/FreemarkerComponent.java  |   2 +
 .../services/org/apache/camel/component/freemarker |  18 --
 .../camel/component/file/remote/FtpComponent.java  |   5 +
 .../camel/component/file/remote/FtpsComponent.java |   5 +
 .../camel/component/file/remote/SftpComponent.java |   5 +
 .../services/org/apache/camel/component/ftp        |  19 --
 .../services/org/apache/camel/component/ftps       |  19 --
 .../services/org/apache/camel/component/sftp       |  19 --
 .../camel/component/ganglia/GangliaComponent.java  |   2 +
 .../services/org/apache/camel/component/ganglia    |  17 --
 .../component/geocoder/GeoCoderComponent.java      |   2 +
 .../services/org/apache/camel/component/geocoder   |  18 --
 .../apache/camel/component/git/GitComponent.java   |   2 +
 .../services/org/apache/camel/component/git        |  18 --
 .../camel/component/github/GitHubComponent.java    |   2 +
 .../services/org/apache/camel/component/github     |  18 --
 .../google/bigquery/GoogleBigQueryComponent.java   |   2 +
 .../bigquery/sql/GoogleBigQuerySQLComponent.java   |   3 +-
 .../org/apache/camel/component/google-bigquery     |  18 --
 .../org/apache/camel/component/google-bigquery-sql |  18 --
 .../google/calendar/GoogleCalendarComponent.java   |   2 +
 .../stream/GoogleCalendarStreamComponent.java      |   2 +
 .../org/apache/camel/component/google-calendar     |  17 --
 .../apache/camel/component/google-calendar-stream  |  17 --
 .../google/drive/GoogleDriveComponent.java         |   2 +
 .../org/apache/camel/component/google-drive        |  18 --
 .../component/google/mail/GoogleMailComponent.java |   2 +
 .../mail/stream/GoogleMailStreamComponent.java     |   2 +
 .../org/apache/camel/component/google-mail         |  17 --
 .../org/apache/camel/component/google-mail-stream  |  17 --
 .../google/pubsub/GooglePubsubComponent.java       |   2 +
 .../org/apache/camel/component/google-pubsub       |  18 --
 .../google/sheets/GoogleSheetsComponent.java       |   2 +
 .../sheets/stream/GoogleSheetsStreamComponent.java |   2 +
 .../org/apache/camel/component/google-sheets       |  17 --
 .../apache/camel/component/google-sheets-stream    |  17 --
 .../apache/camel/component/gora/GoraComponent.java |   2 +
 .../services/org/apache/camel/component/gora       |  18 --
 .../camel/component/grape/GrapeComponent.java      |   2 +
 .../services/org/apache/camel/component/grape      |  17 --
 .../camel/language/groovy/GroovyLanguage.java      |   2 +
 .../services/org/apache/camel/language/groovy      |  18 --
 .../apache/camel/component/grpc/GrpcComponent.java |   2 +
 .../services/org/apache/camel/component/grpc       |  18 --
 .../camel/component/gson/GsonDataFormat.java       |   2 +
 .../services/org/apache/camel/dataformat/json-gson |  18 --
 .../guava/eventbus/GuavaEventBusComponent.java     |   2 +
 .../org/apache/camel/component/guava-eventbus      |  18 --
 .../component/hazelcast/HazelcastComponent.java    | 160 ----------------
 .../HazelcastAtomicnumberComponent.java            |   2 +
 .../instance/HazelcastInstanceComponent.java       |   2 +
 .../hazelcast/list/HazelcastListComponent.java     |   2 +
 .../hazelcast/map/HazelcastMapComponent.java       |   2 +
 .../multimap/HazelcastMultimapComponent.java       |   2 +
 .../hazelcast/queue/HazelcastQueueComponent.java   |   2 +
 .../HazelcastReplicatedmapComponent.java           |   2 +
 .../ringbuffer/HazelcastRingbufferComponent.java   |   2 +
 .../hazelcast/seda/HazelcastSedaComponent.java     |   2 +
 .../hazelcast/set/HazelcastSetComponent.java       |   2 +
 .../hazelcast/topic/HazelcastTopicComponent.java   |   2 +
 .../services/org/apache/camel/component/hazelcast  |  18 --
 .../apache/camel/component/hazelcast-atomicvalue   |  18 --
 .../org/apache/camel/component/hazelcast-instance  |  18 --
 .../org/apache/camel/component/hazelcast-list      |  18 --
 .../org/apache/camel/component/hazelcast-map       |  18 --
 .../org/apache/camel/component/hazelcast-multimap  |  18 --
 .../org/apache/camel/component/hazelcast-queue     |  18 --
 .../apache/camel/component/hazelcast-replicatedmap |  18 --
 .../apache/camel/component/hazelcast-ringbuffer    |  18 --
 .../org/apache/camel/component/hazelcast-seda      |  18 --
 .../org/apache/camel/component/hazelcast-set       |  18 --
 .../org/apache/camel/component/hazelcast-topic     |  18 --
 .../camel/component/hbase/HBaseComponent.java      |   2 +
 .../services/org/apache/camel/component/hbase      |  18 --
 .../camel/component/hdfs2/HdfsComponent.java       |   2 +
 .../services/org/apache/camel/component/hdfs       |  18 --
 .../services/org/apache/camel/component/hdfs2      |  18 --
 .../camel/component/hipchat/HipchatComponent.java  |   2 +
 .../services/org/apache/camel/component/hipchat    |  18 --
 .../apache/camel/component/hl7/HL7DataFormat.java  |   2 +
 .../apache/camel/component/hl7/TerserLanguage.java |   1 +
 .../services/org/apache/camel/dataformat/hl7       |  18 --
 .../services/org/apache/camel/language/terser      |  18 --
 .../camel/component/http4/HttpComponent.java       |   2 +
 .../services/org/apache/camel/component/http       |  18 --
 .../services/org/apache/camel/component/http4      |  18 --
 .../services/org/apache/camel/component/https      |  18 --
 .../services/org/apache/camel/component/https4     |  18 --
 .../camel/component/ical/ICalDataFormat.java       |   2 +
 .../services/org/apache/camel/dataformat/ical      |  18 --
 .../component/iec60870/client/ClientComponent.java |   2 +
 .../component/iec60870/server/ServerComponent.java |   2 +
 .../org/apache/camel/component/iec60870-client     |  18 --
 .../org/apache/camel/component/iec60870-server     |  18 --
 .../camel/component/ignite/IgniteComponent.java    | 138 --------------
 .../ignite/cache/IgniteCacheComponent.java         |   2 +
 .../ignite/compute/IgniteComputeComponent.java     |   2 +
 .../ignite/events/IgniteEventsComponent.java       |   2 +
 .../ignite/idgen/IgniteIdGenComponent.java         |   2 +
 .../ignite/messaging/IgniteMessagingComponent.java |   2 +
 .../ignite/queue/IgniteQueueComponent.java         |   2 +
 .../component/ignite/set/IgniteSetComponent.java   |   2 +
 .../services/org/apache/camel/component/ignite     |  18 --
 .../org/apache/camel/component/ignite-cache        |  18 --
 .../org/apache/camel/component/ignite-compute      |  18 --
 .../org/apache/camel/component/ignite-events       |  18 --
 .../org/apache/camel/component/ignite-idgen        |  18 --
 .../org/apache/camel/component/ignite-messaging    |  18 --
 .../org/apache/camel/component/ignite-queue        |  18 --
 .../services/org/apache/camel/component/ignite-set |  18 --
 .../component/infinispan/InfinispanComponent.java  |   2 +
 .../services/org/apache/camel/component/infinispan |  17 --
 .../component/influxdb/InfluxDbComponent.java      |   2 +
 .../services/org/apache/camel/component/influxdb   |  17 --
 .../apache/camel/component/iota/IOTAComponent.java |   2 +
 .../services/org/apache/camel/component/iota       |  18 --
 .../apache/camel/component/ipfs/IPFSComponent.java |   3 +-
 .../services/org/apache/camel/component/ipfs       |  18 --
 .../apache/camel/component/irc/IrcComponent.java   |   3 +
 .../services/org/apache/camel/component/irc        |  17 --
 .../services/org/apache/camel/component/ircs       |  17 --
 .../camel/component/ironmq/IronMQComponent.java    |   2 +
 .../services/org/apache/camel/component/ironmq     |  18 --
 .../camel/component/jackson/JacksonDataFormat.java |   2 +
 .../org/apache/camel/dataformat/json-jackson       |  18 --
 .../component/jacksonxml/JacksonXMLDataFormat.java |   2 +
 .../org/apache/camel/dataformat/jacksonxml         |  18 --
 .../camel/converter/jaxb/JaxbDataFormat.java       |   2 +
 .../services/org/apache/camel/dataformat/jaxb      |  18 --
 .../apache/camel/component/jbpm/JBPMComponent.java |   2 +
 .../services/org/apache/camel/component/jbpm       |  18 --
 .../camel/component/jcache/JCacheComponent.java    |   2 +
 .../services/org/apache/camel/component/jcache     |  18 --
 .../camel/component/jclouds/JcloudsComponent.java  |   2 +
 .../services/org/apache/camel/component/jclouds    |  18 --
 .../apache/camel/component/jcr/JcrComponent.java   |   2 +
 .../services/org/apache/camel/component/jcr        |  18 --
 .../apache/camel/component/jdbc/JdbcComponent.java |   2 +
 .../services/org/apache/camel/component/jdbc       |  18 --
 .../component/jetty9/JettyHttpComponent9.java      |   2 +
 .../services/org/apache/camel/component/jetty      |  17 --
 .../jgroups/raft/JGroupsRaftComponent.java         |   2 +
 .../org/apache/camel/component/jgroups-raft        |  18 --
 .../camel/component/jgroups/JGroupsComponent.java  |   2 +
 .../src/main/resources/META-INF}/LICENSE.txt       |   0
 .../src/main/resources/META-INF}/NOTICE.txt        |   0
 .../services/org/apache/camel/component/jgroups    |  18 --
 .../camel/dataformat/jibx/JibxDataFormat.java      |   2 +
 .../services/org/apache/camel/dataformat/jibx      |  18 --
 .../component/validator/jing/JingComponent.java    |   2 +
 .../services/org/apache/camel/component/jing       |  18 --
 .../apache/camel/component/jms/JmsComponent.java   |   2 +
 .../services/org/apache/camel/component/jms        |  18 --
 .../apache/camel/component/jmx/JMXComponent.java   |   2 +
 .../services/org/apache/camel/component/jmx        |  17 --
 .../camel/component/johnzon/JohnzonDataFormat.java |   2 +
 .../org/apache/camel/dataformat/json-johnzon       |  18 --
 .../apache/camel/component/jolt/JoltComponent.java |   2 +
 .../services/org/apache/camel/component/jolt       |  18 --
 .../apache/camel/component/jpa/JpaComponent.java   |   2 +
 .../services/org/apache/camel/component/jpa        |  18 --
 .../apache/camel/component/scp/ScpComponent.java   |   6 +
 .../services/org/apache/camel/component/scp        |  19 --
 .../jsonvalidator/JsonValidatorComponent.java      |   2 +
 .../org/apache/camel/component/json-validator      |  18 --
 .../apache/camel/jsonpath/JsonPathLanguage.java    |   2 +
 .../services/org/apache/camel/language/jsonpath    |  18 --
 .../camel/component/jt400/Jt400Component.java      |   2 +
 .../services/org/apache/camel/component/jt400      |  18 --
 .../camel/component/kafka/KafkaComponent.java      |   2 +
 .../services/org/apache/camel/component/kafka      |  18 --
 .../config_maps/KubernetesConfigMapsComponent.java |   2 +
 .../KubernetesDeploymentsComponent.java            |   2 +
 .../kubernetes/hpa/KubernetesHPAComponent.java     |   2 +
 .../kubernetes/job/KubernetesJobComponent.java     |   2 +
 .../namespaces/KubernetesNamespacesComponent.java  |   2 +
 .../kubernetes/nodes/KubernetesNodesComponent.java |   2 +
 .../KubernetesPersistentVolumesComponent.java      |   2 +
 ...KubernetesPersistentVolumesClaimsComponent.java |   2 +
 .../kubernetes/pods/KubernetesPodsComponent.java   |   2 +
 .../KubernetesReplicationControllersComponent.java |   2 +
 .../KubernetesResourcesQuotaComponent.java         |   2 +
 .../secrets/KubernetesSecretsComponent.java        |   2 +
 .../KubernetesServiceAccountsComponent.java        |   2 +
 .../services/KubernetesServicesComponent.java      |   2 +
 .../OpenshiftBuildConfigsComponent.java            |   2 +
 .../openshift/builds/OpenshiftBuildsComponent.java |   2 +
 .../apache/camel/component/kubernetes-config-maps  |  18 --
 .../apache/camel/component/kubernetes-deployments  |  18 --
 .../org/apache/camel/component/kubernetes-hpa      |  18 --
 .../org/apache/camel/component/kubernetes-job      |  18 --
 .../apache/camel/component/kubernetes-namespaces   |  18 --
 .../org/apache/camel/component/kubernetes-nodes    |  18 --
 .../camel/component/kubernetes-persistent-volumes  |  18 --
 .../component/kubernetes-persistent-volumes-claims |  18 --
 .../org/apache/camel/component/kubernetes-pods     |  18 --
 .../component/kubernetes-replication-controllers   |  18 --
 .../camel/component/kubernetes-resources-quota     |  18 --
 .../org/apache/camel/component/kubernetes-secrets  |  18 --
 .../camel/component/kubernetes-service-accounts    |  18 --
 .../org/apache/camel/component/kubernetes-services |  18 --
 .../apache/camel/component/openshift-build-configs |  18 --
 .../org/apache/camel/component/openshift-builds    |  18 --
 .../apache/camel/component/ldap/LdapComponent.java |   2 +
 .../services/org/apache/camel/component/ldap       |  18 --
 .../apache/camel/component/ldif/LdifComponent.java |   2 +
 .../services/org/apache/camel/component/ldif       |  18 --
 .../component/linkedin/LinkedInComponent.java      |   2 +
 .../services/org/apache/camel/component/linkedin   |  18 --
 .../camel/component/lucene/LuceneComponent.java    |   2 +
 .../services/org/apache/camel/component/lucene     |  17 --
 .../component/lumberjack/LumberjackComponent.java  |   2 +
 .../src/main/resources/META-INF}/LICENSE.txt       |   0
 .../src/main/resources/META-INF}/NOTICE.txt        |   0
 .../services/org/apache/camel/component/lumberjack |  17 --
 .../apache/camel/dataformat/lzf/LZFDataFormat.java |   2 +
 .../services/org/apache/camel/dataformat/lzf       |  18 --
 .../apache/camel/component/mail/MailComponent.java |   2 +
 .../mime/multipart/MimeMultipartDataFormat.java    |   2 +
 .../services/org/apache/camel/component/imap       |  18 --
 .../services/org/apache/camel/component/imaps      |  18 --
 .../services/org/apache/camel/component/pop3       |  18 --
 .../services/org/apache/camel/component/pop3s      |  18 --
 .../services/org/apache/camel/component/smtp       |  18 --
 .../services/org/apache/camel/component/smtps      |  18 --
 .../org/apache/camel/dataformat/mime-multipart     |  18 --
 .../camel/component/master/MasterComponent.java    |   2 +
 .../services/org/apache/camel/component/master     |  17 --
 .../camel/component/metrics/MetricsComponent.java  |   2 +
 .../services/org/apache/camel/component/metrics    |  18 --
 .../component/micrometer/MicrometerComponent.java  |   2 +
 .../services/org/apache/camel/component/micrometer |  18 --
 .../component/milo/client/MiloClientComponent.java |   2 +
 .../component/milo/server/MiloServerComponent.java |   2 +
 .../org/apache/camel/component/milo-client         |  18 --
 .../org/apache/camel/component/milo-server         |  18 --
 .../camel/component/mina2/Mina2Component.java      |   2 +
 .../services/org/apache/camel/component/mina       |  18 --
 .../services/org/apache/camel/component/mina2      |  18 --
 .../apache/camel/component/mllp/MllpComponent.java |   2 +
 .../services/org/apache/camel/component/mllp       |  18 --
 .../component/mongodb/gridfs/GridFsComponent.java  |   2 +
 .../org/apache/camel/component/mongodb-gridfs      |  18 --
 .../camel/component/mongodb3/MongoDbComponent.java |   2 +
 .../services/org/apache/camel/component/mongodb    |  18 --
 .../services/org/apache/camel/component/mongodb3   |  18 --
 .../apache/camel/component/mqtt/MQTTComponent.java |   3 +
 .../services/org/apache/camel/component/mqtt       |  18 --
 .../component/validator/msv/MsvComponent.java      |   2 +
 .../services/org/apache/camel/component/msv        |  18 --
 .../component/mustache/MustacheComponent.java      |   2 +
 .../services/org/apache/camel/component/mustache   |  18 --
 .../apache/camel/component/mvel/MvelComponent.java |   2 +
 .../apache/camel/language/mvel/MvelLanguage.java   |   5 +-
 .../services/org/apache/camel/component/mvel       |  18 --
 .../services/org/apache/camel/language/mvel        |  18 --
 .../component/mybatis/MyBatisBeanComponent.java    |   2 +
 .../camel/component/mybatis/MyBatisComponent.java  |   2 +
 .../services/org/apache/camel/component/mybatis    |  18 --
 .../org/apache/camel/component/mybatis-bean        |  18 --
 .../camel/component/nagios/NagiosComponent.java    |   2 +
 .../services/org/apache/camel/component/nagios     |  17 --
 .../apache/camel/component/nats/NatsComponent.java |   2 +
 .../services/org/apache/camel/component/nats       |  18 --
 .../component/netty4/http/NettyHttpComponent.java  |   2 +
 .../services/org/apache/camel/component/netty-http |  17 --
 .../org/apache/camel/component/netty4-http         |  17 --
 .../camel/component/netty4/NettyComponent.java     |   2 +
 .../services/org/apache/camel/component/netty      |  17 --
 .../services/org/apache/camel/component/netty4     |  17 --
 .../apache/camel/component/nsq/NsqComponent.java   |   2 +
 .../services/org/apache/camel/component/nsq        |  18 --
 .../apache/camel/language/ognl/OgnlLanguage.java   |   5 +-
 .../services/org/apache/camel/language/ognl        |  18 --
 .../camel/component/olingo2/Olingo2Component.java  |   2 +
 .../services/org/apache/camel/component/olingo2    |  18 --
 .../camel/component/olingo4/Olingo4Component.java  |   2 +
 .../services/org/apache/camel/component/olingo4    |  18 --
 .../openstack/cinder/CinderComponent.java          |   2 +
 .../openstack/glance/GlanceComponent.java          |   2 +
 .../openstack/keystone/KeystoneComponent.java      |   2 +
 .../openstack/neutron/NeutronComponent.java        |   2 +
 .../component/openstack/nova/NovaComponent.java    |   2 +
 .../component/openstack/swift/SwiftComponent.java  |   2 +
 .../org/apache/camel/component/openstack-cinder    |  18 --
 .../org/apache/camel/component/openstack-glance    |  18 --
 .../org/apache/camel/component/openstack-keystone  |  18 --
 .../org/apache/camel/component/openstack-neutron   |  18 --
 .../org/apache/camel/component/openstack-nova      |  18 --
 .../org/apache/camel/component/openstack-swift     |  18 --
 .../optaplanner/OptaPlannerComponent.java          |   2 +
 .../org/apache/camel/component/optaplanner         |  18 --
 .../apache/camel/component/paho/PahoComponent.java |   2 +
 .../services/org/apache/camel/component/paho       |  18 --
 .../component/paxlogging/PaxLoggingComponent.java  |   2 +
 .../services/org/apache/camel/component/paxlogging |  18 --
 .../apache/camel/component/pdf/PdfComponent.java   |   2 +
 .../services/org/apache/camel/component/pdf        |  17 --
 .../camel/component/pgevent/PgEventComponent.java  |   2 +
 .../services/org/apache/camel/component/pgevent    |  18 --
 .../camel/component/printer/PrinterComponent.java  |   2 +
 .../services/org/apache/camel/component/lpr        |  17 --
 .../dataformat/protobuf/ProtobufDataFormat.java    |   2 +
 .../services/org/apache/camel/dataformat/protobuf  |  18 --
 .../camel/component/pubnub/PubNubComponent.java    |   2 +
 .../services/org/apache/camel/component/pubnub     |  18 --
 .../camel/component/quartz2/QuartzComponent.java   |   2 +
 .../services/org/apache/camel/component/quartz     |  18 --
 .../services/org/apache/camel/component/quartz2    |  18 --
 .../component/quickfixj/QuickfixjComponent.java    |   2 +
 .../services/org/apache/camel/component/quickfix   |  18 --
 .../component/rabbitmq/RabbitMQComponent.java      |   2 +
 .../services/org/apache/camel/component/rabbitmq   |  17 --
 .../reactive/streams/ReactiveStreamsComponent.java |   2 +
 .../org/apache/camel/component/reactive-streams    |  18 --
 .../rest/swagger/RestSwaggerComponent.java         |   2 +
 .../org/apache/camel/component/rest-swagger        |  17 --
 .../camel/component/restlet/RestletComponent.java  |   1 +
 .../services/org/apache/camel/component/restlet    |  18 --
 .../apache/camel/component/rmi/RmiComponent.java   |   2 +
 .../services/org/apache/camel/component/rmi        |  18 --
 .../apache/camel/component/rss/RssComponent.java   |   2 +
 .../apache/camel/dataformat/rss/RssDataFormat.java |   2 +
 .../services/org/apache/camel/component/rss        |  18 --
 .../services/org/apache/camel/dataformat/rss       |  18 --
 .../component/salesforce/SalesforceComponent.java  |   2 +
 .../services/org/apache/camel/component/salesforce |  18 --
 .../sap/netweaver/NetWeaverComponent.java          |   2 +
 .../org/apache/camel/component/sap-netweaver       |  18 --
 .../camel/component/xquery/XQueryComponent.java    |   2 +
 .../camel/language/xquery/XQueryLanguage.java      |   2 +
 .../services/org/apache/camel/component/xquery     |  18 --
 .../services/org/apache/camel/language/xquery      |  18 --
 .../component/schematron/SchematronComponent.java  |   2 +
 .../services/org/apache/camel/component/schematron |  18 --
 .../camel/builder/script/JavaScriptLanguage.java   |   1 +
 .../services/org/apache/camel/language/javaScript  |  18 --
 .../camel/component/service/ServiceComponent.java  |   2 +
 .../services/org/apache/camel/component/service    |  17 --
 .../component/servicenow/ServiceNowComponent.java  |   2 +
 .../services/org/apache/camel/component/servicenow |  18 --
 .../camel/component/servlet/ServletComponent.java  |   2 +
 .../services/org/apache/camel/component/servlet    |  18 --
 .../apache/camel/component/sip/SipComponent.java   |   2 +
 .../services/org/apache/camel/component/sip        |  18 --
 .../services/org/apache/camel/component/sips       |  18 --
 .../apache/camel/component/sjms/SjmsComponent.java |   2 +
 .../component/sjms/batch/SjmsBatchComponent.java   |   2 +
 .../services/org/apache/camel/component/sjms       |  18 --
 .../services/org/apache/camel/component/sjms-batch |  18 --
 .../camel/component/sjms2/Sjms2Component.java      |   2 +
 .../services/org/apache/camel/component/sjms2      |  18 --
 .../camel/component/slack/SlackComponent.java      |   2 +
 .../services/org/apache/camel/component/slack      |  18 --
 .../apache/camel/component/smpp/SmppComponent.java |   2 +
 .../services/org/apache/camel/component/smpp       |  18 --
 .../services/org/apache/camel/component/smpps      |  18 --
 .../component/snakeyaml/SnakeYAMLDataFormat.java   |   2 +
 .../org/apache/camel/dataformat/yaml-snakeyaml     |  18 --
 .../apache/camel/component/snmp/SnmpComponent.java |   2 +
 .../services/org/apache/camel/component/snmp       |  17 --
 .../camel/dataformat/soap/SoapJaxbDataFormat.java  |   2 +
 .../services/org/apache/camel/dataformat/soapjaxb  |  18 --
 .../apache/camel/component/solr/SolrComponent.java |   2 +
 .../services/org/apache/camel/component/solr       |  18 --
 .../services/org/apache/camel/component/solrCloud  |  18 --
 .../services/org/apache/camel/component/solrs      |  18 --
 .../camel/component/sparkrest/SparkComponent.java  |   2 +
 .../services/org/apache/camel/component/spark-rest |  17 --
 .../camel/component/spark/SparkComponent.java      |   2 +
 .../services/org/apache/camel/component/spark      |  18 --
 .../camel/component/splunk/SplunkComponent.java    |   2 +
 .../services/org/apache/camel/component/splunk     |  17 --
 .../spring/batch/SpringBatchComponent.java         |   2 +
 .../org/apache/camel/component/spring-batch        |  18 --
 .../integration/SpringIntegrationComponent.java    |   2 +
 .../org/apache/camel/component/spring-integration  |  18 --
 .../component/springldap/SpringLdapComponent.java  |   2 +
 .../org/apache/camel/component/spring-ldap         |  18 --
 .../camel/component/redis/RedisComponent.java      |   2 +
 .../org/apache/camel/component/spring-redis        |  18 --
 .../spring/ws/SpringWebserviceComponent.java       |   2 +
 .../services/org/apache/camel/component/spring-ws  |  18 --
 .../camel/component/event/EventComponent.java      |   2 +
 .../apache/camel/language/spel/SpelLanguage.java   |   5 +-
 .../org/apache/camel/component/spring-event        |  18 --
 .../services/org/apache/camel/language/spel        |  18 --
 .../apache/camel/component/sql/SqlComponent.java   |   2 +
 .../component/sql/stored/SqlStoredComponent.java   |   2 +
 .../services/org/apache/camel/component/sql        |  18 --
 .../services/org/apache/camel/component/sql-stored |  18 --
 .../apache/camel/component/ssh/SshComponent.java   |   2 +
 .../services/org/apache/camel/component/ssh        |  18 --
 .../apache/camel/component/stax/StAXComponent.java |   2 +
 .../services/org/apache/camel/component/stax       |  17 --
 .../camel/component/stomp/StompComponent.java      |   2 +
 .../services/org/apache/camel/component/stomp      |  18 --
 .../camel/component/stream/StreamComponent.java    |   2 +
 .../services/org/apache/camel/component/stream     |  18 --
 .../stringtemplate/StringTemplateComponent.java    |   2 +
 .../org/apache/camel/component/string-template     |  18 --
 .../camel/component/syslog/SyslogDataFormat.java   |   2 +
 .../services/org/apache/camel/dataformat/syslog    |  18 --
 .../dataformat/tagsoup/TidyMarkupDataFormat.java   |   2 +
 .../org/apache/camel/dataformat/tidyMarkup         |  18 --
 .../dataformat/tarfile/TarFileDataFormat.java      |   2 +
 .../services/org/apache/camel/dataformat/tarfile   |  18 --
 .../component/telegram/TelegramComponent.java      |   3 +
 .../services/org/apache/camel/component/telegram   |  17 --
 .../camel/component/thrift/ThriftComponent.java    |   2 +
 .../camel/dataformat/thrift/ThriftDataFormat.java  |   2 +
 .../services/org/apache/camel/component/thrift     |  18 --
 .../services/org/apache/camel/dataformat/thrift    |  18 --
 .../apache/camel/component/tika/TikaComponent.java |   2 +
 .../services/org/apache/camel/component/tika       |  17 --
 .../camel/component/twilio/TwilioComponent.java    |   2 +
 .../services/org/apache/camel/component/twilio     |  18 --
 .../TwitterDirectMessageComponent.java             |   2 +
 .../twitter/search/TwitterSearchComponent.java     |   2 +
 .../streaming/TwitterStreamingComponent.java       |   2 +
 .../twitter/timeline/TwitterTimelineComponent.java |   2 +
 .../apache/camel/component/twitter-directmessage   |  18 --
 .../org/apache/camel/component/twitter-search      |  18 --
 .../org/apache/camel/component/twitter-streaming   |  18 --
 .../org/apache/camel/component/twitter-timeline    |  18 --
 .../component/undertow/UndertowComponent.java      |   2 +
 .../services/org/apache/camel/component/undertow   |  18 --
 .../univocity/UniVocityCsvDataFormat.java          |   2 +
 .../univocity/UniVocityFixedWidthDataFormat.java   |   2 +
 .../univocity/UniVocityTsvDataFormat.java          |   2 +
 .../org/apache/camel/dataformat/univocity-csv      |  18 --
 .../org/apache/camel/dataformat/univocity-fixed    |  18 --
 .../org/apache/camel/dataformat/univocity-tsv      |  18 --
 .../component/velocity/VelocityComponent.java      |   2 +
 .../services/org/apache/camel/component/velocity   |  18 --
 .../camel/component/vertx/VertxComponent.java      |   2 +
 .../services/org/apache/camel/component/vertx      |  17 --
 .../camel/component/weather/WeatherComponent.java  |   2 +
 .../services/org/apache/camel/component/weather    |  18 --
 .../camel/component/web3j/Web3jComponent.java      |   2 +
 .../services/org/apache/camel/component/web3j      |  18 --
 .../websocket/jsr356/JSR356WebSocketComponent.java |   2 +
 .../org/apache/camel/component/websocket-jsr356    |  17 --
 .../component/websocket/WebsocketComponent.java    |   2 +
 .../services/org/apache/camel/component/websocket  |  17 --
 .../component/wordpress/WordpressComponent.java    |   2 +
 .../services/org/apache/camel/component/wordpress  |  18 --
 .../camel/component/xchange/XChangeComponent.java  |   2 +
 .../services/org/apache/camel/component/xchange    |  18 --
 .../xmlsecurity/XmlSignatureComponent.java         |   2 +
 .../xmlsecurity/XMLSecurityDataFormat.java         |   4 +-
 .../org/apache/camel/component/xmlsecurity         |  18 --
 .../services/org/apache/camel/dataformat/secureXML |  18 --
 .../apache/camel/component/xmpp/XmppComponent.java |   2 +
 .../services/org/apache/camel/component/xmpp       |  18 --
 .../camel/dataformat/xstream/JsonDataFormat.java   |   2 +
 .../dataformat/xstream/XStreamDataFormat.java      |   2 +
 .../org/apache/camel/dataformat/json-xstream       |  18 --
 .../services/org/apache/camel/dataformat/xstream   |  18 --
 .../camel/component/yammer/YammerComponent.java    |   2 +
 .../services/org/apache/camel/component/yammer     |  17 --
 .../camel/component/zendesk/ZendeskComponent.java  |   2 +
 .../services/org/apache/camel/component/zendesk    |  18 --
 .../dataformat/zipfile/ZipFileDataFormat.java      |   2 +
 .../services/org/apache/camel/dataformat/zipfile   |  18 --
 .../component/zookeepermaster/MasterComponent.java |   2 +
 .../org/apache/camel/component/zookeeper-master    |  17 --
 .../component/zookeeper/ZooKeeperComponent.java    |   2 +
 .../services/org/apache/camel/component/zookeeper  |  17 --
 .../org/apache/camel/tools/apt/SpiProcessor.java   | 117 ++++++++++++
 .../services/javax.annotation.processing.Processor |   1 +
 .../apache/camel/spi/annotations/Component.java    |  21 ++-
 .../apache/camel/spi/annotations/Dataformat.java   |  21 ++-
 .../org/apache/camel/spi/annotations/Factory.java  |  21 ++-
 .../org/apache/camel/spi/annotations/Language.java |  21 ++-
 749 files changed, 903 insertions(+), 7354 deletions(-)

diff --git a/camel-core/src/main/java/org/apache/camel/component/bean/BeanComponent.java b/camel-core/src/main/java/org/apache/camel/component/bean/BeanComponent.java
index 2766af8..416952c 100644
--- a/camel-core/src/main/java/org/apache/camel/component/bean/BeanComponent.java
+++ b/camel-core/src/main/java/org/apache/camel/component/bean/BeanComponent.java
@@ -28,6 +28,7 @@ import org.apache.camel.support.LRUCacheFactory;
 /**
  * The <a href="http://camel.apache.org/bean.html">Bean Component</a> is for invoking Java beans from Camel.
  */
+@org.apache.camel.spi.annotations.Component("bean")
 public class BeanComponent extends DefaultComponent {
 
     // use an internal soft cache for BeanInfo as they are costly to introspect
diff --git a/camel-core/src/main/java/org/apache/camel/component/beanclass/ClassComponent.java b/camel-core/src/main/java/org/apache/camel/component/beanclass/ClassComponent.java
index ed3b2f0..2bdd39c 100644
--- a/camel-core/src/main/java/org/apache/camel/component/beanclass/ClassComponent.java
+++ b/camel-core/src/main/java/org/apache/camel/component/beanclass/ClassComponent.java
@@ -30,6 +30,7 @@ import org.apache.camel.support.IntrospectionSupport;
  * <p/>
  * This component is an extension to the {@link org.apache.camel.component.bean.BeanComponent}.
  */
+@org.apache.camel.spi.annotations.Component("class")
 public class ClassComponent extends BeanComponent {
 
     public ClassComponent() {
diff --git a/camel-core/src/main/java/org/apache/camel/component/browse/BrowseComponent.java b/camel-core/src/main/java/org/apache/camel/component/browse/BrowseComponent.java
index 1fe4ab2..bff785c 100644
--- a/camel-core/src/main/java/org/apache/camel/component/browse/BrowseComponent.java
+++ b/camel-core/src/main/java/org/apache/camel/component/browse/BrowseComponent.java
@@ -25,6 +25,7 @@ import org.apache.camel.support.DefaultComponent;
  * The <a href="http://camel.apache.org/browse.html">Browse Component</a> provides a simple
  * <a href="http://camel.apache.org/browsableendpoint.html">BrowsableEndpoint</a> for testing visualization or debugging.
  */
+@org.apache.camel.spi.annotations.Component("browse")
 public class BrowseComponent extends DefaultComponent {
 
     public BrowseComponent() {
diff --git a/camel-core/src/main/java/org/apache/camel/component/controlbus/ControlBusComponent.java b/camel-core/src/main/java/org/apache/camel/component/controlbus/ControlBusComponent.java
index 71f4f0a..539adbd 100644
--- a/camel-core/src/main/java/org/apache/camel/component/controlbus/ControlBusComponent.java
+++ b/camel-core/src/main/java/org/apache/camel/component/controlbus/ControlBusComponent.java
@@ -25,6 +25,7 @@ import org.apache.camel.support.DefaultComponent;
 /**
  * The <a href="http://camel.apache.org/controlbus.html">Control Bus component</a> allows sending messages to a control-bus endpoint to control the lifecycle of routes.
  */
+@org.apache.camel.spi.annotations.Component("controlbus")
 public class ControlBusComponent extends DefaultComponent {
 
     private ExecutorService executorService;
diff --git a/camel-core/src/main/java/org/apache/camel/component/dataformat/DataFormatComponent.java b/camel-core/src/main/java/org/apache/camel/component/dataformat/DataFormatComponent.java
index 797fa6f..22f054c 100644
--- a/camel-core/src/main/java/org/apache/camel/component/dataformat/DataFormatComponent.java
+++ b/camel-core/src/main/java/org/apache/camel/component/dataformat/DataFormatComponent.java
@@ -20,6 +20,7 @@ import java.util.Map;
 
 import org.apache.camel.Endpoint;
 import org.apache.camel.spi.DataFormat;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.DefaultComponent;
 import org.apache.camel.support.EndpointHelper;
 import org.apache.camel.util.StringHelper;
@@ -27,6 +28,7 @@ import org.apache.camel.util.StringHelper;
 /**
  * The <a href="http://camel.apache.org/dataformat-component.html">Data Format Component</a> enables using <a href="https://camel.apache.org/data-format.html">Data Format</a> as a component.
  */
+@Component("dataformat")
 public class DataFormatComponent extends DefaultComponent {
 
     public DataFormatComponent() {
diff --git a/camel-core/src/main/java/org/apache/camel/component/dataset/DataSetComponent.java b/camel-core/src/main/java/org/apache/camel/component/dataset/DataSetComponent.java
index 457ae5d..07d314f 100644
--- a/camel-core/src/main/java/org/apache/camel/component/dataset/DataSetComponent.java
+++ b/camel-core/src/main/java/org/apache/camel/component/dataset/DataSetComponent.java
@@ -25,6 +25,7 @@ import org.apache.camel.support.DefaultComponent;
 /**
  * Component for <a href="http://camel.apache.org/dataset.html">DataSet</a>.
  */
+@org.apache.camel.spi.annotations.Component("dataset")
 public class DataSetComponent extends DefaultComponent {
 
     public DataSetComponent() {
diff --git a/camel-core/src/main/java/org/apache/camel/component/direct/DirectComponent.java b/camel-core/src/main/java/org/apache/camel/component/direct/DirectComponent.java
index 34eb0e1..feca46f 100644
--- a/camel-core/src/main/java/org/apache/camel/component/direct/DirectComponent.java
+++ b/camel-core/src/main/java/org/apache/camel/component/direct/DirectComponent.java
@@ -21,12 +21,14 @@ import java.util.Map;
 
 import org.apache.camel.Endpoint;
 import org.apache.camel.spi.Metadata;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.DefaultComponent;
 import org.apache.camel.support.ServiceHelper;
 
 /**
  * The <a href="http://camel.apache.org/direct.html">Direct Component</a> manages {@link DirectEndpoint} and holds the list of named direct endpoints.
  */
+@Component("direct")
 public class DirectComponent extends DefaultComponent {
 
     // must keep a map of consumers on the component to ensure endpoints can lookup old consumers
diff --git a/camel-core/src/main/java/org/apache/camel/component/directvm/DirectVmComponent.java b/camel-core/src/main/java/org/apache/camel/component/directvm/DirectVmComponent.java
index a4beb8a..50eb0ad 100644
--- a/camel-core/src/main/java/org/apache/camel/component/directvm/DirectVmComponent.java
+++ b/camel-core/src/main/java/org/apache/camel/component/directvm/DirectVmComponent.java
@@ -31,6 +31,7 @@ import org.apache.camel.support.DefaultComponent;
 /**
  * The <a href="http://camel.apache.org/direct-vm.html">Direct VM Component</a> manages {@link DirectVmEndpoint} and holds the list of named direct-vm endpoints.
  */
+@org.apache.camel.spi.annotations.Component("direct-vm")
 public class DirectVmComponent extends DefaultComponent {
 
     private static final AtomicInteger START_COUNTER = new AtomicInteger();
diff --git a/camel-core/src/main/java/org/apache/camel/component/file/FileComponent.java b/camel-core/src/main/java/org/apache/camel/component/file/FileComponent.java
index 1bd1b6a..3df7bd1 100644
--- a/camel-core/src/main/java/org/apache/camel/component/file/FileComponent.java
+++ b/camel-core/src/main/java/org/apache/camel/component/file/FileComponent.java
@@ -20,12 +20,16 @@ import java.io.File;
 import java.util.Map;
 
 import org.apache.camel.CamelContext;
+import org.apache.camel.component.file.strategy.FileProcessStrategyFactory;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.util.FileUtil;
 import org.apache.camel.util.StringHelper;
 
 /**
  *  * The <a href="http://camel.apache.org/file.html">File Component</a> provides access to file systems.
  */
+@Component("file")
+@FileProcessStrategy(FileProcessStrategyFactory.class)
 public class FileComponent extends GenericFileComponent<File> {
     /**
      * GenericFile property on Camel Exchanges.
diff --git a/camel-core/src/main/java/org/apache/camel/component/file/FileProcessStrategy.java b/camel-core/src/main/java/org/apache/camel/component/file/FileProcessStrategy.java
new file mode 100644
index 0000000..48a5682
--- /dev/null
+++ b/camel-core/src/main/java/org/apache/camel/component/file/FileProcessStrategy.java
@@ -0,0 +1,19 @@
+package org.apache.camel.component.file;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+import org.apache.camel.spi.annotations.Factory;
+
+@Retention(RetentionPolicy.RUNTIME)
+@Documented
+@Target({ElementType.TYPE })
+@Factory("strategy.factory")
+public @interface FileProcessStrategy {
+
+    Class value();
+
+}
diff --git a/camel-core/src/main/java/org/apache/camel/component/language/LanguageComponent.java b/camel-core/src/main/java/org/apache/camel/component/language/LanguageComponent.java
index 69abdae..8e27f98 100644
--- a/camel-core/src/main/java/org/apache/camel/component/language/LanguageComponent.java
+++ b/camel-core/src/main/java/org/apache/camel/component/language/LanguageComponent.java
@@ -30,6 +30,7 @@ import org.apache.camel.util.StringHelper;
  * The <a href="http://camel.apache.org/language-component.html">Language component</a> enables sending
  * {@link org.apache.camel.Exchange}s to a given language in order to have a script executed.
  */
+@org.apache.camel.spi.annotations.Component("language")
 public class LanguageComponent extends DefaultComponent {
 
     public static final String RESOURCE = "resource:";
diff --git a/camel-core/src/main/java/org/apache/camel/component/log/LogComponent.java b/camel-core/src/main/java/org/apache/camel/component/log/LogComponent.java
index 1164e37..21fce8d 100644
--- a/camel-core/src/main/java/org/apache/camel/component/log/LogComponent.java
+++ b/camel-core/src/main/java/org/apache/camel/component/log/LogComponent.java
@@ -32,6 +32,7 @@ import org.slf4j.Logger;
  * The <a href="http://camel.apache.org/log.html">Log Component</a>
  * is for logging message exchanges via the underlying logging mechanism.
  */
+@org.apache.camel.spi.annotations.Component("log")
 public class LogComponent extends DefaultComponent {
 
     @Metadata(label = "advanced")
diff --git a/camel-core/src/main/java/org/apache/camel/component/mock/MockComponent.java b/camel-core/src/main/java/org/apache/camel/component/mock/MockComponent.java
index aa146e1..6711113 100644
--- a/camel-core/src/main/java/org/apache/camel/component/mock/MockComponent.java
+++ b/camel-core/src/main/java/org/apache/camel/component/mock/MockComponent.java
@@ -28,6 +28,7 @@ import org.apache.camel.support.DefaultComponent;
 /**
  * The <a href="http://camel.apache.org/mock.html">Mock Component</a> provides mock endpoints for testing.
  */
+@org.apache.camel.spi.annotations.Component("mock")
 public class MockComponent extends DefaultComponent {
 
     public MockComponent() {
diff --git a/camel-core/src/main/java/org/apache/camel/component/properties/PropertiesComponent.java b/camel-core/src/main/java/org/apache/camel/component/properties/PropertiesComponent.java
index 64c3398..d4f32ac 100644
--- a/camel-core/src/main/java/org/apache/camel/component/properties/PropertiesComponent.java
+++ b/camel-core/src/main/java/org/apache/camel/component/properties/PropertiesComponent.java
@@ -29,6 +29,7 @@ import java.util.stream.Collectors;
 
 import org.apache.camel.Endpoint;
 import org.apache.camel.spi.Metadata;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.DefaultComponent;
 import org.apache.camel.support.LRUCacheFactory;
 import org.apache.camel.util.FilePathResolver;
@@ -37,6 +38,7 @@ import org.apache.camel.util.ObjectHelper;
 /**
  * The <a href="http://camel.apache.org/properties">Properties Component</a> allows you to use property placeholders when defining Endpoint URIs
  */
+@Component("properties")
 public class PropertiesComponent extends DefaultComponent {
 
     /**
diff --git a/camel-core/src/main/java/org/apache/camel/component/ref/RefComponent.java b/camel-core/src/main/java/org/apache/camel/component/ref/RefComponent.java
index 92b605f..c4f3013 100644
--- a/camel-core/src/main/java/org/apache/camel/component/ref/RefComponent.java
+++ b/camel-core/src/main/java/org/apache/camel/component/ref/RefComponent.java
@@ -26,6 +26,7 @@ import org.apache.camel.support.DefaultComponent;
  * <p/>
  * This component uses the <tt>ref:</tt> notation instead of the mostly common <tt>uri:</tt> notation. 
  */
+@org.apache.camel.spi.annotations.Component("ref")
 public class RefComponent extends DefaultComponent {
 
     public RefComponent() {
diff --git a/camel-core/src/main/java/org/apache/camel/component/rest/RestApiComponent.java b/camel-core/src/main/java/org/apache/camel/component/rest/RestApiComponent.java
index beef49e..65cd5d5 100644
--- a/camel-core/src/main/java/org/apache/camel/component/rest/RestApiComponent.java
+++ b/camel-core/src/main/java/org/apache/camel/component/rest/RestApiComponent.java
@@ -24,6 +24,7 @@ import org.apache.camel.support.DefaultComponent;
 /**
  * Rest API component.
  */
+@org.apache.camel.spi.annotations.Component("rest-api")
 public class RestApiComponent extends DefaultComponent {
 
     public RestApiComponent() {
diff --git a/camel-core/src/main/java/org/apache/camel/component/rest/RestComponent.java b/camel-core/src/main/java/org/apache/camel/component/rest/RestComponent.java
index 4909959..ce7f1fb 100644
--- a/camel-core/src/main/java/org/apache/camel/component/rest/RestComponent.java
+++ b/camel-core/src/main/java/org/apache/camel/component/rest/RestComponent.java
@@ -39,6 +39,7 @@ import org.apache.camel.util.URISupport;
 /**
  * Rest component.
  */
+@org.apache.camel.spi.annotations.Component("rest")
 @Metadata(label = "verifiers", enums = "parameters,connectivity")
 public class RestComponent extends DefaultComponent {
 
diff --git a/camel-core/src/main/java/org/apache/camel/component/saga/SagaComponent.java b/camel-core/src/main/java/org/apache/camel/component/saga/SagaComponent.java
index 0067ebc..ec5a538 100644
--- a/camel-core/src/main/java/org/apache/camel/component/saga/SagaComponent.java
+++ b/camel-core/src/main/java/org/apache/camel/component/saga/SagaComponent.java
@@ -27,6 +27,7 @@ import org.slf4j.LoggerFactory;
 /**
  * The saga component for interacting with the saga processing framework.
  */
+@org.apache.camel.spi.annotations.Component("saga")
 public class SagaComponent extends DefaultComponent {
 
     protected final Logger log = LoggerFactory.getLogger(getClass());
diff --git a/camel-core/src/main/java/org/apache/camel/component/scheduler/SchedulerComponent.java b/camel-core/src/main/java/org/apache/camel/component/scheduler/SchedulerComponent.java
index 5504677..2bd3c12 100644
--- a/camel-core/src/main/java/org/apache/camel/component/scheduler/SchedulerComponent.java
+++ b/camel-core/src/main/java/org/apache/camel/component/scheduler/SchedulerComponent.java
@@ -26,6 +26,7 @@ import org.apache.camel.Endpoint;
 import org.apache.camel.spi.Metadata;
 import org.apache.camel.support.DefaultComponent;
 
+@org.apache.camel.spi.annotations.Component("scheduler")
 public class SchedulerComponent extends DefaultComponent {
 
     private final Map<String, ScheduledExecutorService> executors = new HashMap<>();
diff --git a/camel-core/src/main/java/org/apache/camel/component/seda/SedaComponent.java b/camel-core/src/main/java/org/apache/camel/component/seda/SedaComponent.java
index 6fe75e6..ff1147c 100644
--- a/camel-core/src/main/java/org/apache/camel/component/seda/SedaComponent.java
+++ b/camel-core/src/main/java/org/apache/camel/component/seda/SedaComponent.java
@@ -32,6 +32,7 @@ import org.slf4j.LoggerFactory;
 /**
  * The <a href="http://camel.apache.org/seda.html">SEDA Component</a> is for asynchronous SEDA exchanges on a {@link BlockingQueue} within a CamelContext
  */
+@org.apache.camel.spi.annotations.Component("seda")
 public class SedaComponent extends DefaultComponent {
     protected final Logger log = LoggerFactory.getLogger(getClass());
     protected final int maxConcurrentConsumers = SedaConstants.MAX_CONCURRENT_CONSUMERS;
diff --git a/camel-core/src/main/java/org/apache/camel/component/stub/StubComponent.java b/camel-core/src/main/java/org/apache/camel/component/stub/StubComponent.java
index 05d2d68..a251a5b 100644
--- a/camel-core/src/main/java/org/apache/camel/component/stub/StubComponent.java
+++ b/camel-core/src/main/java/org/apache/camel/component/stub/StubComponent.java
@@ -30,6 +30,7 @@ import org.apache.camel.component.vm.VmComponent;
  * Allows you to easily stub out a middleware transport by prefixing the URI with "stub:" which is
  * handy for testing out routes, or isolating bits of middleware.
  */
+@org.apache.camel.spi.annotations.Component("stub")
 public class StubComponent extends VmComponent {
 
     public StubComponent() {
diff --git a/camel-core/src/main/java/org/apache/camel/component/test/TestComponent.java b/camel-core/src/main/java/org/apache/camel/component/test/TestComponent.java
index 81dcef0..bc89ee8 100644
--- a/camel-core/src/main/java/org/apache/camel/component/test/TestComponent.java
+++ b/camel-core/src/main/java/org/apache/camel/component/test/TestComponent.java
@@ -29,6 +29,7 @@ import org.apache.camel.util.URISupport;
  * Component for testing by polling test messages from another endpoint on startup as the expected message bodies to
  * receive during testing.
  */
+@org.apache.camel.spi.annotations.Component("test")
 public class TestComponent extends DefaultComponent {
 
     public TestComponent() {
diff --git a/camel-core/src/main/java/org/apache/camel/component/timer/TimerComponent.java b/camel-core/src/main/java/org/apache/camel/component/timer/TimerComponent.java
index 8a70211..53657c9 100644
--- a/camel-core/src/main/java/org/apache/camel/component/timer/TimerComponent.java
+++ b/camel-core/src/main/java/org/apache/camel/component/timer/TimerComponent.java
@@ -33,6 +33,7 @@ import org.apache.camel.support.DefaultComponent;
  * Represents the component that manages {@link TimerEndpoint}.  It holds the
  * list of {@link TimerConsumer} objects that are started.
  */
+@org.apache.camel.spi.annotations.Component("timer")
 public class TimerComponent extends DefaultComponent {
     private final Map<String, Timer> timers = new HashMap<>();
     private final Map<String, AtomicInteger> refCounts = new HashMap<>();
diff --git a/camel-core/src/main/java/org/apache/camel/component/validator/ValidatorComponent.java b/camel-core/src/main/java/org/apache/camel/component/validator/ValidatorComponent.java
index e226cb8..3144a13 100644
--- a/camel-core/src/main/java/org/apache/camel/component/validator/ValidatorComponent.java
+++ b/camel-core/src/main/java/org/apache/camel/component/validator/ValidatorComponent.java
@@ -25,6 +25,7 @@ import org.apache.camel.support.DefaultComponent;
 /**
  * The <a href="http://camel.apache.org/validation.html">Validator Component</a> is for validating XML against a schema
  */
+@org.apache.camel.spi.annotations.Component("validator")
 public class ValidatorComponent extends DefaultComponent {
 
     @Metadata(label = "advanced", description = "To use a custom LSResourceResolver which depends on a dynamic endpoint resource URI")
diff --git a/camel-core/src/main/java/org/apache/camel/component/vm/VmComponent.java b/camel-core/src/main/java/org/apache/camel/component/vm/VmComponent.java
index dee1049..2cde188 100644
--- a/camel-core/src/main/java/org/apache/camel/component/vm/VmComponent.java
+++ b/camel-core/src/main/java/org/apache/camel/component/vm/VmComponent.java
@@ -34,6 +34,7 @@ import org.apache.camel.component.seda.SedaComponent;
  *
  * i.e. to handle communicating across CamelContext instances and possibly across web application contexts, providing that camel-core.jar is on the system classpath.
  */
+@org.apache.camel.spi.annotations.Component("vm")
 public class VmComponent extends SedaComponent {
     protected static final Map<String, QueueReference> QUEUES = new HashMap<>();
     protected static final Map<String, VmEndpoint> ENDPOINTS = new HashMap<>();
diff --git a/camel-core/src/main/java/org/apache/camel/component/xslt/XsltComponent.java b/camel-core/src/main/java/org/apache/camel/component/xslt/XsltComponent.java
index 00241a3..e02d073 100644
--- a/camel-core/src/main/java/org/apache/camel/component/xslt/XsltComponent.java
+++ b/camel-core/src/main/java/org/apache/camel/component/xslt/XsltComponent.java
@@ -25,6 +25,7 @@ import javax.xml.transform.URIResolver;
 import org.apache.camel.Endpoint;
 import org.apache.camel.converter.jaxp.XmlConverter;
 import org.apache.camel.spi.Metadata;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.DefaultComponent;
 import org.apache.camel.support.EndpointHelper;
 import org.apache.camel.support.ResourceHelper;
@@ -32,6 +33,7 @@ import org.apache.camel.support.ResourceHelper;
 /**
  * The <a href="http://camel.apache.org/xslt.html">XSLT Component</a> is for performing XSLT transformations of messages
  */
+@Component("xslt")
 public class XsltComponent extends DefaultComponent {
 
     @Metadata(label = "advanced")
diff --git a/camel-core/src/main/java/org/apache/camel/component/xslt/XsltHelper.java b/camel-core/src/main/java/org/apache/camel/component/xslt/XsltHelper.java
index a4096d2..936a2d4 100644
--- a/camel-core/src/main/java/org/apache/camel/component/xslt/XsltHelper.java
+++ b/camel-core/src/main/java/org/apache/camel/component/xslt/XsltHelper.java
@@ -56,7 +56,7 @@ final class XsltHelper {
         if (saxonConfigurationProperties != null && !saxonConfigurationProperties.isEmpty()) {
             Method method = factoryClass.getMethod("getConfiguration");
             if (method != null) {
-                Object configuration = method.invoke(factory, null);
+                Object configuration = method.invoke(factory);
                 if (configuration != null) {
                     method = configuration.getClass().getMethod("setConfigurationProperty", String.class, Object.class);
                     for (Map.Entry<String, Object> entry : saxonConfigurationProperties.entrySet()) {
@@ -73,7 +73,7 @@ final class XsltHelper {
         if (saxonExtensionFunctions != null && !saxonExtensionFunctions.isEmpty()) {
             Method method = factoryClass.getMethod("getConfiguration");
             if (method != null) {
-                Object configuration = method.invoke(factory, null);
+                Object configuration = method.invoke(factory);
                 if (configuration != null) {
                     Class<?> extensionClass = camelContext.getClassResolver().resolveMandatoryClass(
                         SAXON_EXTENDED_FUNCTION_DEFINITION_CLASS_NAME, XsltComponent.class.getClassLoader()
diff --git a/camel-core/src/main/java/org/apache/camel/impl/GzipDataFormat.java b/camel-core/src/main/java/org/apache/camel/impl/GzipDataFormat.java
index 0647c36..2441442 100644
--- a/camel-core/src/main/java/org/apache/camel/impl/GzipDataFormat.java
+++ b/camel-core/src/main/java/org/apache/camel/impl/GzipDataFormat.java
@@ -25,11 +25,13 @@ import org.apache.camel.Exchange;
 import org.apache.camel.converter.stream.OutputStreamBuilder;
 import org.apache.camel.spi.DataFormat;
 import org.apache.camel.spi.DataFormatName;
+import org.apache.camel.spi.annotations.Dataformat;
 import org.apache.camel.util.IOHelper;
 
 /**
  * GZip {@link org.apache.camel.spi.DataFormat} for reading/writing data using gzip.
  */
+@Dataformat("gzip")
 public class GzipDataFormat extends org.apache.camel.support.ServiceSupport implements DataFormat, DataFormatName {
 
     @Override
diff --git a/camel-core/src/main/java/org/apache/camel/impl/SerializationDataFormat.java b/camel-core/src/main/java/org/apache/camel/impl/SerializationDataFormat.java
index 11622fb..65449b3 100644
--- a/camel-core/src/main/java/org/apache/camel/impl/SerializationDataFormat.java
+++ b/camel-core/src/main/java/org/apache/camel/impl/SerializationDataFormat.java
@@ -25,12 +25,14 @@ import java.io.OutputStream;
 import org.apache.camel.Exchange;
 import org.apache.camel.spi.DataFormat;
 import org.apache.camel.spi.DataFormatName;
+import org.apache.camel.spi.annotations.Dataformat;
 import org.apache.camel.support.ExchangeHelper;
 
 /**
  * The <a href="http://camel.apache.org/data-format.html">data format</a>
  * using Java Serialization.
  */
+@Dataformat("serialization")
 public class SerializationDataFormat extends org.apache.camel.support.ServiceSupport implements DataFormat, DataFormatName {
 
     @Override
diff --git a/camel-core/src/main/java/org/apache/camel/impl/StringDataFormat.java b/camel-core/src/main/java/org/apache/camel/impl/StringDataFormat.java
index 42982e9..01019b3 100644
--- a/camel-core/src/main/java/org/apache/camel/impl/StringDataFormat.java
+++ b/camel-core/src/main/java/org/apache/camel/impl/StringDataFormat.java
@@ -23,12 +23,14 @@ import java.io.OutputStream;
 import org.apache.camel.Exchange;
 import org.apache.camel.spi.DataFormat;
 import org.apache.camel.spi.DataFormatName;
+import org.apache.camel.spi.annotations.Dataformat;
 import org.apache.camel.support.ExchangeHelper;
 
 /**
  * The text based <a href="http://camel.apache.org/data-format.html">data format</a> supporting
  * charset encoding.
  */
+@Dataformat("string")
 public class StringDataFormat extends org.apache.camel.support.ServiceSupport implements DataFormat, DataFormatName {
 
     private String charset;
diff --git a/camel-core/src/main/java/org/apache/camel/impl/ZipDataFormat.java b/camel-core/src/main/java/org/apache/camel/impl/ZipDataFormat.java
index be61e43..bb42b55 100644
--- a/camel-core/src/main/java/org/apache/camel/impl/ZipDataFormat.java
+++ b/camel-core/src/main/java/org/apache/camel/impl/ZipDataFormat.java
@@ -26,12 +26,14 @@ import org.apache.camel.Exchange;
 import org.apache.camel.converter.stream.OutputStreamBuilder;
 import org.apache.camel.spi.DataFormat;
 import org.apache.camel.spi.DataFormatName;
+import org.apache.camel.spi.annotations.Dataformat;
 import org.apache.camel.util.IOHelper;
 
 /**
  * "Deflate" compression data format.
  * See {@link org.apache.camel.model.dataformat.ZipFileDataFormat} for Zip file compression.
  */
+@Dataformat("zip")
 public class ZipDataFormat extends org.apache.camel.support.ServiceSupport implements DataFormat, DataFormatName {
 
     private int compressionLevel;
diff --git a/camel-core/src/main/java/org/apache/camel/impl/converter/AnnotationTypeConverterLoader.java b/camel-core/src/main/java/org/apache/camel/impl/converter/AnnotationTypeConverterLoader.java
index 6e16e4f..87d5f02 100644
--- a/camel-core/src/main/java/org/apache/camel/impl/converter/AnnotationTypeConverterLoader.java
+++ b/camel-core/src/main/java/org/apache/camel/impl/converter/AnnotationTypeConverterLoader.java
@@ -112,7 +112,9 @@ public class AnnotationTypeConverterLoader implements TypeConverterLoader {
 
         // if there is any packages to scan and load @Converter classes, then do it
         if (packageNames != null && packageNames.length > 0) {
-            LOG.trace("Found converter packages to scan: {}", packageNames);
+            if (LOG.isTraceEnabled()) {
+                LOG.trace("Found converter packages to scan: {}", String.join(", ", packageNames));
+            }
             Set<Class<?>> scannedClasses = resolver.findAnnotated(Converter.class, packageNames);
             if (scannedClasses.isEmpty()) {
                 throw new TypeConverterLoaderException("Cannot find any type converter classes from the following packages: " + Arrays.asList(packageNames));
diff --git a/camel-core/src/main/java/org/apache/camel/language/bean/BeanLanguage.java b/camel-core/src/main/java/org/apache/camel/language/bean/BeanLanguage.java
index c43b88d..609e245 100644
--- a/camel-core/src/main/java/org/apache/camel/language/bean/BeanLanguage.java
+++ b/camel-core/src/main/java/org/apache/camel/language/bean/BeanLanguage.java
@@ -37,6 +37,7 @@ import org.apache.camel.util.StringHelper;
  * As of Camel 1.5 the bean language also supports invoking a provided bean by
  * its classname or the bean itself.
  */
+@org.apache.camel.spi.annotations.Language("bean")
 public class BeanLanguage implements Language, IsSingleton {
 
     /**
diff --git a/camel-core/src/main/java/org/apache/camel/language/constant/ConstantLanguage.java b/camel-core/src/main/java/org/apache/camel/language/constant/ConstantLanguage.java
index 0d0a876..61002d9 100644
--- a/camel-core/src/main/java/org/apache/camel/language/constant/ConstantLanguage.java
+++ b/camel-core/src/main/java/org/apache/camel/language/constant/ConstantLanguage.java
@@ -26,6 +26,7 @@ import org.apache.camel.support.ExpressionToPredicateAdapter;
 /**
  * A language for constant expressions.
  */
+@org.apache.camel.spi.annotations.Language("constant")
 public class ConstantLanguage implements Language, IsSingleton {
 
     public static Expression constant(Object value) {        
diff --git a/camel-core/src/main/java/org/apache/camel/language/header/HeaderLanguage.java b/camel-core/src/main/java/org/apache/camel/language/header/HeaderLanguage.java
index 45b47dd..0073ec1 100644
--- a/camel-core/src/main/java/org/apache/camel/language/header/HeaderLanguage.java
+++ b/camel-core/src/main/java/org/apache/camel/language/header/HeaderLanguage.java
@@ -26,6 +26,7 @@ import org.apache.camel.support.ExpressionToPredicateAdapter;
 /**
  * A language for header expressions.
  */
+@org.apache.camel.spi.annotations.Language("header")
 public class HeaderLanguage implements Language, IsSingleton {
 
     public static Expression header(String headerName) {        
diff --git a/camel-core/src/main/java/org/apache/camel/language/property/ExchangePropertyLanguage.java b/camel-core/src/main/java/org/apache/camel/language/property/ExchangePropertyLanguage.java
index 36caece..a3a1bf0 100644
--- a/camel-core/src/main/java/org/apache/camel/language/property/ExchangePropertyLanguage.java
+++ b/camel-core/src/main/java/org/apache/camel/language/property/ExchangePropertyLanguage.java
@@ -26,6 +26,7 @@ import org.apache.camel.support.ExpressionToPredicateAdapter;
 /**
  * A language for exchange property expressions.
  */
+@org.apache.camel.spi.annotations.Language("exchangeProperty")
 public class ExchangePropertyLanguage implements Language, IsSingleton {
 
     public static Expression exchangeProperty(String propertyName) {
diff --git a/camel-core/src/main/java/org/apache/camel/language/ref/RefLanguage.java b/camel-core/src/main/java/org/apache/camel/language/ref/RefLanguage.java
index 315cb6f..2f6e57f 100644
--- a/camel-core/src/main/java/org/apache/camel/language/ref/RefLanguage.java
+++ b/camel-core/src/main/java/org/apache/camel/language/ref/RefLanguage.java
@@ -29,6 +29,7 @@ import org.apache.camel.support.PredicateToExpressionAdapter;
 /**
  * A language for referred expressions or predicates.
  */
+@org.apache.camel.spi.annotations.Language("ref")
 public class RefLanguage implements Language, IsSingleton {
 
     public static Expression ref(Object value) {
diff --git a/camel-core/src/main/java/org/apache/camel/language/simple/FileLanguage.java b/camel-core/src/main/java/org/apache/camel/language/simple/FileLanguage.java
index ff58663..58ebc07 100644
--- a/camel-core/src/main/java/org/apache/camel/language/simple/FileLanguage.java
+++ b/camel-core/src/main/java/org/apache/camel/language/simple/FileLanguage.java
@@ -16,9 +16,12 @@
  */
 package org.apache.camel.language.simple;
 
+import org.apache.camel.spi.annotations.Language;
+
 /**
  *
  */
+@Language("file")
 public class FileLanguage extends SimpleLanguage {
 
     public FileLanguage() {
diff --git a/camel-core/src/main/java/org/apache/camel/language/simple/SimpleLanguage.java b/camel-core/src/main/java/org/apache/camel/language/simple/SimpleLanguage.java
index e1099c4..9e174d0 100644
--- a/camel-core/src/main/java/org/apache/camel/language/simple/SimpleLanguage.java
+++ b/camel-core/src/main/java/org/apache/camel/language/simple/SimpleLanguage.java
@@ -22,6 +22,7 @@ import org.apache.camel.Expression;
 import org.apache.camel.Predicate;
 import org.apache.camel.StaticService;
 import org.apache.camel.builder.ExpressionBuilder;
+import org.apache.camel.spi.annotations.Language;
 import org.apache.camel.support.CamelContextHelper;
 import org.apache.camel.support.LRUCache;
 import org.apache.camel.support.LRUCacheFactory;
@@ -96,6 +97,7 @@ import org.slf4j.LoggerFactory;
  * <br/>
  * The <b>only</b> file is the filename only with all paths clipped.
  */
+@Language("simple")
 public class SimpleLanguage extends LanguageSupport implements StaticService {
 
     private static final Logger LOG = LoggerFactory.getLogger(SimpleLanguage.class);
diff --git a/camel-core/src/main/java/org/apache/camel/language/tokenizer/TokenizeLanguage.java b/camel-core/src/main/java/org/apache/camel/language/tokenizer/TokenizeLanguage.java
index f5f5276..097d2f4 100644
--- a/camel-core/src/main/java/org/apache/camel/language/tokenizer/TokenizeLanguage.java
+++ b/camel-core/src/main/java/org/apache/camel/language/tokenizer/TokenizeLanguage.java
@@ -37,6 +37,7 @@ import org.apache.camel.util.ObjectHelper;
  * Where as the pair mode only supports <tt>token</tt> and <tt>endToken</tt>.
  * And the <tt>xml</tt> mode supports the <tt>inheritNamespaceTagName</tt> option.
  */
+@org.apache.camel.spi.annotations.Language("tokenize")
 public class TokenizeLanguage implements Language, IsSingleton {
 
     private String token;
diff --git a/camel-core/src/main/java/org/apache/camel/language/tokenizer/XMLTokenizeLanguage.java b/camel-core/src/main/java/org/apache/camel/language/tokenizer/XMLTokenizeLanguage.java
index 9f91afe..43b964e 100644
--- a/camel-core/src/main/java/org/apache/camel/language/tokenizer/XMLTokenizeLanguage.java
+++ b/camel-core/src/main/java/org/apache/camel/language/tokenizer/XMLTokenizeLanguage.java
@@ -19,6 +19,7 @@ package org.apache.camel.language.tokenizer;
 import org.apache.camel.Expression;
 import org.apache.camel.Predicate;
 import org.apache.camel.builder.ExpressionBuilder;
+import org.apache.camel.spi.annotations.Language;
 import org.apache.camel.support.ExpressionToPredicateAdapter;
 import org.apache.camel.support.LanguageSupport;
 import org.apache.camel.util.ObjectHelper;
@@ -33,6 +34,7 @@ import org.apache.camel.util.ObjectHelper;
  *     <li>unwrap - unwrapping the extracted token to its child content</li>
  * </ul>
  */
+@Language("xtokenize")
 public class XMLTokenizeLanguage extends LanguageSupport {
 
     private String path;
diff --git a/camel-core/src/main/java/org/apache/camel/language/xpath/XPathLanguage.java b/camel-core/src/main/java/org/apache/camel/language/xpath/XPathLanguage.java
index 8db476d..a94de53 100644
--- a/camel-core/src/main/java/org/apache/camel/language/xpath/XPathLanguage.java
+++ b/camel-core/src/main/java/org/apache/camel/language/xpath/XPathLanguage.java
@@ -22,11 +22,13 @@ import javax.xml.xpath.XPathFactory;
 import org.apache.camel.Expression;
 import org.apache.camel.Predicate;
 import org.apache.camel.builder.xml.XPathBuilder;
+import org.apache.camel.spi.annotations.Language;
 import org.apache.camel.support.LanguageSupport;
 
 /**
  * XPath language.
  */
+@Language("xpath")
 public class XPathLanguage extends LanguageSupport {
     private QName resultType;
     private XPathFactory xpathFactory;
diff --git a/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/bean b/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/bean
deleted file mode 100644
index af3425f..0000000
--- a/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/bean
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.bean.BeanComponent
\ No newline at end of file
diff --git a/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/browse b/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/browse
deleted file mode 100644
index 9dca222..0000000
--- a/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/browse
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.browse.BrowseComponent
diff --git a/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/class b/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/class
deleted file mode 100644
index 4a47193..0000000
--- a/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/class
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.beanclass.ClassComponent
\ No newline at end of file
diff --git a/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/controlbus b/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/controlbus
deleted file mode 100644
index d0f4af6..0000000
--- a/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/controlbus
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.controlbus.ControlBusComponent
\ No newline at end of file
diff --git a/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/dataformat b/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/dataformat
deleted file mode 100644
index 4f29da3..0000000
--- a/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/dataformat
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.dataformat.DataFormatComponent
\ No newline at end of file
diff --git a/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/dataset b/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/dataset
deleted file mode 100644
index 46ad0a4..0000000
--- a/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/dataset
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.dataset.DataSetComponent
\ No newline at end of file
diff --git a/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/direct b/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/direct
deleted file mode 100644
index 6bef78d..0000000
--- a/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/direct
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.direct.DirectComponent
diff --git a/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/direct-vm b/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/direct-vm
deleted file mode 100644
index 1771c72..0000000
--- a/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/direct-vm
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.directvm.DirectVmComponent
diff --git a/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/file b/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/file
deleted file mode 100644
index 2172240..0000000
--- a/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/file
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.file.FileComponent
-strategy.factory.class=org.apache.camel.component.file.strategy.FileProcessStrategyFactory
\ No newline at end of file
diff --git a/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/language b/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/language
deleted file mode 100644
index 0e089a4..0000000
--- a/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/language
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.language.LanguageComponent
\ No newline at end of file
diff --git a/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/log b/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/log
deleted file mode 100644
index e988625..0000000
--- a/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/log
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.log.LogComponent
diff --git a/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/mock b/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/mock
deleted file mode 100644
index c44289d..0000000
--- a/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/mock
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.mock.MockComponent
\ No newline at end of file
diff --git a/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/properties b/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/properties
deleted file mode 100644
index 0caaa3d..0000000
--- a/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/properties
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.properties.PropertiesComponent
\ No newline at end of file
diff --git a/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/ref b/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/ref
deleted file mode 100644
index 0a12761..0000000
--- a/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/ref
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.ref.RefComponent
\ No newline at end of file
diff --git a/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/rest b/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/rest
deleted file mode 100644
index 40c85ca5..0000000
--- a/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/rest
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.rest.RestComponent
\ No newline at end of file
diff --git a/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/rest-api b/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/rest-api
deleted file mode 100644
index 385496b..0000000
--- a/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/rest-api
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.rest.RestApiComponent
\ No newline at end of file
diff --git a/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/saga b/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/saga
deleted file mode 100644
index 0a4dd38..0000000
--- a/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/saga
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.saga.SagaComponent
diff --git a/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/scheduler b/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/scheduler
deleted file mode 100644
index 0805ee2..0000000
--- a/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/scheduler
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.scheduler.SchedulerComponent
diff --git a/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/seda b/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/seda
deleted file mode 100644
index c16229e..0000000
--- a/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/seda
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.seda.SedaComponent
diff --git a/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/stub b/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/stub
deleted file mode 100644
index 7b3d574..0000000
--- a/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/stub
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.stub.StubComponent
\ No newline at end of file
diff --git a/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/test b/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/test
deleted file mode 100644
index e017afc..0000000
--- a/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/test
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.test.TestComponent
\ No newline at end of file
diff --git a/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/timer b/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/timer
deleted file mode 100644
index 87adb9a..0000000
--- a/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/timer
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.timer.TimerComponent
diff --git a/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/validator b/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/validator
deleted file mode 100644
index ac863b9..0000000
--- a/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/validator
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.validator.ValidatorComponent
\ No newline at end of file
diff --git a/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/vm b/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/vm
deleted file mode 100644
index 2ec95e1..0000000
--- a/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/vm
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.vm.VmComponent
diff --git a/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/xslt b/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/xslt
deleted file mode 100644
index 7b29611..0000000
--- a/camel-core/src/main/resources/META-INF/services/org/apache/camel/component/xslt
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.xslt.XsltComponent
\ No newline at end of file
diff --git a/camel-core/src/main/resources/META-INF/services/org/apache/camel/dataformat/gzip b/camel-core/src/main/resources/META-INF/services/org/apache/camel/dataformat/gzip
deleted file mode 100644
index 08cefe5..0000000
--- a/camel-core/src/main/resources/META-INF/services/org/apache/camel/dataformat/gzip
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.impl.GzipDataFormat
diff --git a/camel-core/src/main/resources/META-INF/services/org/apache/camel/dataformat/serialization b/camel-core/src/main/resources/META-INF/services/org/apache/camel/dataformat/serialization
deleted file mode 100644
index fb6899a..0000000
--- a/camel-core/src/main/resources/META-INF/services/org/apache/camel/dataformat/serialization
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.impl.SerializationDataFormat
diff --git a/camel-core/src/main/resources/META-INF/services/org/apache/camel/dataformat/string b/camel-core/src/main/resources/META-INF/services/org/apache/camel/dataformat/string
deleted file mode 100644
index 757b501..0000000
--- a/camel-core/src/main/resources/META-INF/services/org/apache/camel/dataformat/string
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.impl.StringDataFormat
diff --git a/camel-core/src/main/resources/META-INF/services/org/apache/camel/dataformat/zip b/camel-core/src/main/resources/META-INF/services/org/apache/camel/dataformat/zip
deleted file mode 100644
index 526007c..0000000
--- a/camel-core/src/main/resources/META-INF/services/org/apache/camel/dataformat/zip
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.impl.ZipDataFormat
diff --git a/camel-core/src/main/resources/META-INF/services/org/apache/camel/language/bean b/camel-core/src/main/resources/META-INF/services/org/apache/camel/language/bean
deleted file mode 100644
index 028e2cb..0000000
--- a/camel-core/src/main/resources/META-INF/services/org/apache/camel/language/bean
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.language.bean.BeanLanguage
diff --git a/camel-core/src/main/resources/META-INF/services/org/apache/camel/language/constant b/camel-core/src/main/resources/META-INF/services/org/apache/camel/language/constant
deleted file mode 100644
index e06b330..0000000
--- a/camel-core/src/main/resources/META-INF/services/org/apache/camel/language/constant
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.language.constant.ConstantLanguage
diff --git a/camel-core/src/main/resources/META-INF/services/org/apache/camel/language/exchangeProperty b/camel-core/src/main/resources/META-INF/services/org/apache/camel/language/exchangeProperty
deleted file mode 100644
index 27c64b2..0000000
--- a/camel-core/src/main/resources/META-INF/services/org/apache/camel/language/exchangeProperty
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.language.property.ExchangePropertyLanguage
diff --git a/camel-core/src/main/resources/META-INF/services/org/apache/camel/language/file b/camel-core/src/main/resources/META-INF/services/org/apache/camel/language/file
deleted file mode 100644
index c907df9..0000000
--- a/camel-core/src/main/resources/META-INF/services/org/apache/camel/language/file
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.language.simple.FileLanguage
\ No newline at end of file
diff --git a/camel-core/src/main/resources/META-INF/services/org/apache/camel/language/header b/camel-core/src/main/resources/META-INF/services/org/apache/camel/language/header
deleted file mode 100644
index d761389..0000000
--- a/camel-core/src/main/resources/META-INF/services/org/apache/camel/language/header
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.language.header.HeaderLanguage
diff --git a/camel-core/src/main/resources/META-INF/services/org/apache/camel/language/ref b/camel-core/src/main/resources/META-INF/services/org/apache/camel/language/ref
deleted file mode 100644
index da58bfe..0000000
--- a/camel-core/src/main/resources/META-INF/services/org/apache/camel/language/ref
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.language.ref.RefLanguage
diff --git a/camel-core/src/main/resources/META-INF/services/org/apache/camel/language/simple b/camel-core/src/main/resources/META-INF/services/org/apache/camel/language/simple
deleted file mode 100644
index e133fe5..0000000
--- a/camel-core/src/main/resources/META-INF/services/org/apache/camel/language/simple
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.language.simple.SimpleLanguage
diff --git a/camel-core/src/main/resources/META-INF/services/org/apache/camel/language/tokenize b/camel-core/src/main/resources/META-INF/services/org/apache/camel/language/tokenize
deleted file mode 100644
index 9f1eb15..0000000
--- a/camel-core/src/main/resources/META-INF/services/org/apache/camel/language/tokenize
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.language.tokenizer.TokenizeLanguage
diff --git a/camel-core/src/main/resources/META-INF/services/org/apache/camel/language/xpath b/camel-core/src/main/resources/META-INF/services/org/apache/camel/language/xpath
deleted file mode 100644
index d43786b..0000000
--- a/camel-core/src/main/resources/META-INF/services/org/apache/camel/language/xpath
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.language.xpath.XPathLanguage
diff --git a/camel-core/src/main/resources/META-INF/services/org/apache/camel/language/xtokenize b/camel-core/src/main/resources/META-INF/services/org/apache/camel/language/xtokenize
deleted file mode 100644
index e9a9898..0000000
--- a/camel-core/src/main/resources/META-INF/services/org/apache/camel/language/xtokenize
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.language.tokenizer.XMLTokenizeLanguage
diff --git a/components/camel-ahc-ws/src/main/java/org/apache/camel/component/ahc/ws/WsComponent.java b/components/camel-ahc-ws/src/main/java/org/apache/camel/component/ahc/ws/WsComponent.java
index 6fe85b9..771d490 100644
--- a/components/camel-ahc-ws/src/main/java/org/apache/camel/component/ahc/ws/WsComponent.java
+++ b/components/camel-ahc-ws/src/main/java/org/apache/camel/component/ahc/ws/WsComponent.java
@@ -20,10 +20,12 @@ import java.net.URI;
 
 import org.apache.camel.component.ahc.AhcComponent;
 import org.apache.camel.component.ahc.AhcEndpoint;
+import org.apache.camel.spi.annotations.Component;
 
 /**
  * To exchange data with external Websocket servers using <a href="http://github.com/sonatype/async-http-client">Async Http Client</a>
  */
+@Component("ahc-ws,ahc-wss")
 public class WsComponent extends AhcComponent {
     
     @Override
diff --git a/components/camel-ahc-ws/src/main/resources/META-INF/services/org/apache/camel/component/ahc-ws b/components/camel-ahc-ws/src/main/resources/META-INF/services/org/apache/camel/component/ahc-ws
deleted file mode 100644
index 60c0ec7..0000000
--- a/components/camel-ahc-ws/src/main/resources/META-INF/services/org/apache/camel/component/ahc-ws
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.ahc.ws.WsComponent
diff --git a/components/camel-ahc-ws/src/main/resources/META-INF/services/org/apache/camel/component/ahc-wss b/components/camel-ahc-ws/src/main/resources/META-INF/services/org/apache/camel/component/ahc-wss
deleted file mode 100644
index 60c0ec7..0000000
--- a/components/camel-ahc-ws/src/main/resources/META-INF/services/org/apache/camel/component/ahc-wss
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.ahc.ws.WsComponent
diff --git a/components/camel-ahc/src/main/java/org/apache/camel/component/ahc/AhcComponent.java b/components/camel-ahc/src/main/java/org/apache/camel/component/ahc/AhcComponent.java
index 61419a3..42b61eb 100644
--- a/components/camel-ahc/src/main/java/org/apache/camel/component/ahc/AhcComponent.java
+++ b/components/camel-ahc/src/main/java/org/apache/camel/component/ahc/AhcComponent.java
@@ -24,6 +24,7 @@ import org.apache.camel.Endpoint;
 import org.apache.camel.SSLContextParametersAware;
 import org.apache.camel.impl.HeaderFilterStrategyComponent;
 import org.apache.camel.spi.Metadata;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.IntrospectionSupport;
 import org.apache.camel.support.jsse.SSLContextParameters;
 import org.apache.camel.util.ObjectHelper;
@@ -38,6 +39,7 @@ import org.asynchttpclient.Realm.Builder;
 /**
  *  To call external HTTP services using <a href="http://github.com/sonatype/async-http-client">Async Http Client</a>
  */
+@Component("ahc")
 public class AhcComponent extends HeaderFilterStrategyComponent implements SSLContextParametersAware {
     
     private static final String CLIENT_CONFIG_PREFIX = "clientConfig.";
diff --git a/components/camel-ahc/src/main/resources/META-INF/services/org/apache/camel/component/ahc b/components/camel-ahc/src/main/resources/META-INF/services/org/apache/camel/component/ahc
deleted file mode 100644
index 5b3e2b3..0000000
--- a/components/camel-ahc/src/main/resources/META-INF/services/org/apache/camel/component/ahc
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.ahc.AhcComponent
diff --git a/components/camel-amqp/src/main/java/org/apache/camel/component/amqp/AMQPComponent.java b/components/camel-amqp/src/main/java/org/apache/camel/component/amqp/AMQPComponent.java
index ae8bfa0..6f93b28 100644
--- a/components/camel-amqp/src/main/java/org/apache/camel/component/amqp/AMQPComponent.java
+++ b/components/camel-amqp/src/main/java/org/apache/camel/component/amqp/AMQPComponent.java
@@ -23,11 +23,13 @@ import javax.jms.ConnectionFactory;
 import org.apache.camel.CamelContext;
 import org.apache.camel.component.jms.JmsComponent;
 import org.apache.camel.component.jms.JmsConfiguration;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.qpid.jms.JmsConnectionFactory;
 
 /**
  * Messaging with AMQP protocol using Apache QPid Client.
  */
+@Component("amqp")
 public class AMQPComponent extends JmsComponent {
 
     // Constructors
diff --git a/components/camel-amqp/src/main/resources/META-INF/services/org/apache/camel/component/amqp b/components/camel-amqp/src/main/resources/META-INF/services/org/apache/camel/component/amqp
deleted file mode 100644
index 7590efa..0000000
--- a/components/camel-amqp/src/main/resources/META-INF/services/org/apache/camel/component/amqp
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.amqp.AMQPComponent
diff --git a/components/camel-apns/src/main/java/org/apache/camel/component/apns/ApnsComponent.java b/components/camel-apns/src/main/java/org/apache/camel/component/apns/ApnsComponent.java
index c29de3e..3725ae0 100644
--- a/components/camel-apns/src/main/java/org/apache/camel/component/apns/ApnsComponent.java
+++ b/components/camel-apns/src/main/java/org/apache/camel/component/apns/ApnsComponent.java
@@ -21,11 +21,13 @@ import java.util.Map;
 import com.notnoop.apns.ApnsService;
 import org.apache.camel.Endpoint;
 import org.apache.camel.spi.Metadata;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.DefaultComponent;
 
 /**
  * For sending notifications to Apple iOS devices
  */
+@Component("apns")
 public class ApnsComponent extends DefaultComponent {
 
     @Metadata(required = true)
diff --git a/components/camel-apns/src/main/resources/META-INF/services/org/apache/camel/component/apns b/components/camel-apns/src/main/resources/META-INF/services/org/apache/camel/component/apns
deleted file mode 100644
index 1426cf4..0000000
--- a/components/camel-apns/src/main/resources/META-INF/services/org/apache/camel/component/apns
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.apns.ApnsComponent
diff --git a/components/camel-as2/camel-as2-component/src/main/java/org/apache/camel/component/as2/AS2Component.java b/components/camel-as2/camel-as2-component/src/main/java/org/apache/camel/component/as2/AS2Component.java
index 1a74b82..d6c369b 100644
--- a/components/camel-as2/camel-as2-component/src/main/java/org/apache/camel/component/as2/AS2Component.java
+++ b/components/camel-as2/camel-as2-component/src/main/java/org/apache/camel/component/as2/AS2Component.java
@@ -22,6 +22,7 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
 import org.apache.camel.component.as2.internal.AS2ApiCollection;
 import org.apache.camel.component.as2.internal.AS2ApiName;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.component.AbstractApiComponent;
 import org.bouncycastle.jce.provider.BouncyCastleProvider;
 import org.slf4j.Logger;
@@ -30,6 +31,7 @@ import org.slf4j.LoggerFactory;
 /**
  * Represents the component that manages {@link AS2Endpoint}.
  */
+@Component("as2")
 public class AS2Component extends AbstractApiComponent<AS2ApiName, AS2Configuration, AS2ApiCollection> {
     
     public AS2Component() {
diff --git a/components/camel-as2/camel-as2-component/src/main/resources/META-INF/services/org/apache/camel/component/as2 b/components/camel-as2/camel-as2-component/src/main/resources/META-INF/services/org/apache/camel/component/as2
deleted file mode 100644
index ebe24f8..0000000
--- a/components/camel-as2/camel-as2-component/src/main/resources/META-INF/services/org/apache/camel/component/as2
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.as2.AS2Component
diff --git a/components/camel-asn1/src/main/java/org/apache/camel/dataformat/asn1/ASN1DataFormat.java b/components/camel-asn1/src/main/java/org/apache/camel/dataformat/asn1/ASN1DataFormat.java
index 5b2d270..6e70ce8 100644
--- a/components/camel-asn1/src/main/java/org/apache/camel/dataformat/asn1/ASN1DataFormat.java
+++ b/components/camel-asn1/src/main/java/org/apache/camel/dataformat/asn1/ASN1DataFormat.java
@@ -27,6 +27,7 @@ import java.lang.reflect.Method;
 import org.apache.camel.Exchange;
 import org.apache.camel.spi.DataFormat;
 import org.apache.camel.spi.DataFormatName;
+import org.apache.camel.spi.annotations.Dataformat;
 import org.apache.camel.support.ServiceSupport;
 import org.apache.camel.util.IOHelper;
 import org.apache.camel.util.ObjectHelper;
@@ -34,6 +35,7 @@ import org.bouncycastle.asn1.ASN1InputStream;
 import org.bouncycastle.asn1.ASN1Primitive;
 import org.openmuc.jasn1.ber.ReverseByteArrayOutputStream;
 
+@Dataformat("asn1")
 public class ASN1DataFormat extends ServiceSupport implements DataFormat, DataFormatName {
     private boolean usingIterator;
     private String clazzName;
diff --git a/components/camel-asn1/src/main/resources/META-INF/services/org/apache/camel/dataformat/asn1 b/components/camel-asn1/src/main/resources/META-INF/services/org/apache/camel/dataformat/asn1
deleted file mode 100644
index e2890a5..0000000
--- a/components/camel-asn1/src/main/resources/META-INF/services/org/apache/camel/dataformat/asn1
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.dataformat.asn1.ASN1DataFormat
diff --git a/components/camel-asterisk/src/main/java/org/apache/camel/component/asterisk/AsteriskComponent.java b/components/camel-asterisk/src/main/java/org/apache/camel/component/asterisk/AsteriskComponent.java
index 747f0622..84d1e46 100644
--- a/components/camel-asterisk/src/main/java/org/apache/camel/component/asterisk/AsteriskComponent.java
+++ b/components/camel-asterisk/src/main/java/org/apache/camel/component/asterisk/AsteriskComponent.java
@@ -20,11 +20,13 @@ import java.util.Map;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.DefaultComponent;
 
 /**
  * Represents the component that manages {@link AsteriskEndpoint}.
  */
+@Component("asterisk")
 public class AsteriskComponent extends DefaultComponent {
 
     public AsteriskComponent() {
diff --git a/components/camel-asterisk/src/main/resources/META-INF/services/org/apache/camel/component/asterisk b/components/camel-asterisk/src/main/resources/META-INF/services/org/apache/camel/component/asterisk
deleted file mode 100644
index 4923c0b..0000000
--- a/components/camel-asterisk/src/main/resources/META-INF/services/org/apache/camel/component/asterisk
+++ /dev/null
@@ -1,17 +0,0 @@
-#
-# 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.
-#
-class=org.apache.camel.component.asterisk.AsteriskComponent
diff --git a/components/camel-atmos/src/main/java/org/apache/camel/component/atmos/AtmosComponent.java b/components/camel-atmos/src/main/java/org/apache/camel/component/atmos/AtmosComponent.java
index 653c8db..565be92 100644
--- a/components/camel-atmos/src/main/java/org/apache/camel/component/atmos/AtmosComponent.java
+++ b/components/camel-atmos/src/main/java/org/apache/camel/component/atmos/AtmosComponent.java
@@ -21,9 +21,11 @@ import java.util.Map;
 import org.apache.camel.CamelContext;
 import org.apache.camel.component.atmos.util.AtmosOperation;
 import org.apache.camel.component.atmos.validator.AtmosConfigurationValidator;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.DefaultComponent;
 import org.apache.camel.spi.Metadata;
 
+@Component("atmos")
 public class AtmosComponent extends DefaultComponent {
 
     @Metadata(label = "security")
diff --git a/components/camel-atmos/src/main/resources/META-INF/services/org/apache/camel/component/atmos b/components/camel-atmos/src/main/resources/META-INF/services/org/apache/camel/component/atmos
deleted file mode 100644
index 8a22a6a..0000000
--- a/components/camel-atmos/src/main/resources/META-INF/services/org/apache/camel/component/atmos
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.atmos.AtmosComponent
diff --git a/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/WebsocketComponent.java b/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/WebsocketComponent.java
index 82b0bca..033b0b3 100644
--- a/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/WebsocketComponent.java
+++ b/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/WebsocketComponent.java
@@ -22,10 +22,12 @@ import java.util.Map;
 
 import org.apache.camel.component.servlet.ServletComponent;
 import org.apache.camel.component.servlet.ServletEndpoint;
+import org.apache.camel.spi.annotations.Component;
 
 /**
  * To exchange data with external Websocket clients using Atmosphere
  */
+@Component("atmosphere-websocket")
 public class WebsocketComponent extends ServletComponent {
     private Map<String, WebSocketStore> stores;
     
diff --git a/components/camel-atmosphere-websocket/src/main/resources/META-INF/services/org/apache/camel/component/atmosphere-websocket b/components/camel-atmosphere-websocket/src/main/resources/META-INF/services/org/apache/camel/component/atmosphere-websocket
deleted file mode 100755
index 3ca5b7d..0000000
--- a/components/camel-atmosphere-websocket/src/main/resources/META-INF/services/org/apache/camel/component/atmosphere-websocket
+++ /dev/null
@@ -1,17 +0,0 @@
-#
-# 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.
-#
-class=org.apache.camel.component.atmosphere.websocket.WebsocketComponent
diff --git a/components/camel-atom/src/main/java/org/apache/camel/component/atom/AtomComponent.java b/components/camel-atom/src/main/java/org/apache/camel/component/atom/AtomComponent.java
index b74706d..16d1956 100644
--- a/components/camel-atom/src/main/java/org/apache/camel/component/atom/AtomComponent.java
+++ b/components/camel-atom/src/main/java/org/apache/camel/component/atom/AtomComponent.java
@@ -22,11 +22,13 @@ import java.util.Map;
 import org.apache.camel.Endpoint;
 import org.apache.camel.component.feed.FeedComponent;
 import org.apache.camel.component.feed.FeedEndpoint;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.util.URISupport;
 
 /**
  * To consume Atom RSS feeds.
  */
+@Component("atom")
 public class AtomComponent extends FeedComponent {
 
     public AtomComponent() {
diff --git a/components/camel-atom/src/main/resources/META-INF/services/org/apache/camel/component/atom b/components/camel-atom/src/main/resources/META-INF/services/org/apache/camel/component/atom
deleted file mode 100755
index 4ec8df0..0000000
--- a/components/camel-atom/src/main/resources/META-INF/services/org/apache/camel/component/atom
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.atom.AtomComponent
diff --git a/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/map/AtomixMapComponent.java b/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/map/AtomixMapComponent.java
index ede1408..9623b01 100644
--- a/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/map/AtomixMapComponent.java
+++ b/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/map/AtomixMapComponent.java
@@ -21,7 +21,9 @@ import java.util.Map;
 import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
 import org.apache.camel.component.atomix.client.AbstractAtomixClientComponent;
+import org.apache.camel.spi.annotations.Component;
 
+@Component("atomix-map")
 public final class AtomixMapComponent extends AbstractAtomixClientComponent<AtomixMapConfiguration> {
     private AtomixMapConfiguration configuration = new AtomixMapConfiguration();
 
diff --git a/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/messaging/AtomixMessagingComponent.java b/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/messaging/AtomixMessagingComponent.java
index efd2454..53e0f3f 100644
--- a/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/messaging/AtomixMessagingComponent.java
+++ b/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/messaging/AtomixMessagingComponent.java
@@ -21,7 +21,9 @@ import java.util.Map;
 import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
 import org.apache.camel.component.atomix.client.AbstractAtomixClientComponent;
+import org.apache.camel.spi.annotations.Component;
 
+@Component("atomix-messaging")
 public final class AtomixMessagingComponent extends AbstractAtomixClientComponent<AtomixMessagingConfiguration> {
     private AtomixMessagingConfiguration configuration = new AtomixMessagingConfiguration();
 
diff --git a/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/multimap/AtomixMultiMapComponent.java b/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/multimap/AtomixMultiMapComponent.java
index a6f8cde..bde6737 100644
--- a/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/multimap/AtomixMultiMapComponent.java
+++ b/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/multimap/AtomixMultiMapComponent.java
@@ -21,7 +21,9 @@ import java.util.Map;
 import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
 import org.apache.camel.component.atomix.client.AbstractAtomixClientComponent;
+import org.apache.camel.spi.annotations.Component;
 
+@Component("atomix-multimap")
 public final class AtomixMultiMapComponent extends AbstractAtomixClientComponent<AtomixMultiMapConfiguration> {
     private AtomixMultiMapConfiguration configuration = new AtomixMultiMapConfiguration();
 
diff --git a/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/queue/AtomixQueueComponent.java b/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/queue/AtomixQueueComponent.java
index 5383f73..2e6dd15 100644
--- a/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/queue/AtomixQueueComponent.java
+++ b/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/queue/AtomixQueueComponent.java
@@ -21,7 +21,9 @@ import java.util.Map;
 import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
 import org.apache.camel.component.atomix.client.AbstractAtomixClientComponent;
+import org.apache.camel.spi.annotations.Component;
 
+@Component("atomix-queue")
 public final class AtomixQueueComponent extends AbstractAtomixClientComponent<AtomixQueueConfiguration> {
     private AtomixQueueConfiguration configuration = new AtomixQueueConfiguration();
 
diff --git a/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/set/AtomixSetComponent.java b/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/set/AtomixSetComponent.java
index 7eb90a0..99f6dc4 100644
--- a/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/set/AtomixSetComponent.java
+++ b/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/set/AtomixSetComponent.java
@@ -21,7 +21,9 @@ import java.util.Map;
 import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
 import org.apache.camel.component.atomix.client.AbstractAtomixClientComponent;
+import org.apache.camel.spi.annotations.Component;
 
+@Component("atomix-set")
 public final class AtomixSetComponent extends AbstractAtomixClientComponent<AtomixSetConfiguration> {
     private AtomixSetConfiguration configuration = new AtomixSetConfiguration();
 
diff --git a/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/value/AtomixValueComponent.java b/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/value/AtomixValueComponent.java
index ffef6dc..66c2ec1 100644
--- a/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/value/AtomixValueComponent.java
+++ b/components/camel-atomix/src/main/java/org/apache/camel/component/atomix/client/value/AtomixValueComponent.java
@@ -21,7 +21,9 @@ import java.util.Map;
 import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
 import org.apache.camel.component.atomix.client.AbstractAtomixClientComponent;
+import org.apache.camel.spi.annotations.Component;
 
+@Component("atomix-value")
 public final class AtomixValueComponent extends AbstractAtomixClientComponent<AtomixValueConfiguration> {
     private AtomixValueConfiguration configuration = new AtomixValueConfiguration();
 
diff --git a/components/camel-atomix/src/main/resources/META-INF/services/org/apache/camel/component/atomix-map b/components/camel-atomix/src/main/resources/META-INF/services/org/apache/camel/component/atomix-map
deleted file mode 100644
index 316fc30..0000000
--- a/components/camel-atomix/src/main/resources/META-INF/services/org/apache/camel/component/atomix-map
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.atomix.client.map.AtomixMapComponent
diff --git a/components/camel-atomix/src/main/resources/META-INF/services/org/apache/camel/component/atomix-messaging b/components/camel-atomix/src/main/resources/META-INF/services/org/apache/camel/component/atomix-messaging
deleted file mode 100644
index bc99c91..0000000
--- a/components/camel-atomix/src/main/resources/META-INF/services/org/apache/camel/component/atomix-messaging
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.atomix.client.messaging.AtomixMessagingComponent
diff --git a/components/camel-atomix/src/main/resources/META-INF/services/org/apache/camel/component/atomix-multimap b/components/camel-atomix/src/main/resources/META-INF/services/org/apache/camel/component/atomix-multimap
deleted file mode 100644
index 66ddf18..0000000
--- a/components/camel-atomix/src/main/resources/META-INF/services/org/apache/camel/component/atomix-multimap
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.atomix.client.multimap.AtomixMultiMapComponent
diff --git a/components/camel-atomix/src/main/resources/META-INF/services/org/apache/camel/component/atomix-queue b/components/camel-atomix/src/main/resources/META-INF/services/org/apache/camel/component/atomix-queue
deleted file mode 100644
index 5f3dab1..0000000
--- a/components/camel-atomix/src/main/resources/META-INF/services/org/apache/camel/component/atomix-queue
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.atomix.client.queue.AtomixQueueComponent
diff --git a/components/camel-atomix/src/main/resources/META-INF/services/org/apache/camel/component/atomix-set b/components/camel-atomix/src/main/resources/META-INF/services/org/apache/camel/component/atomix-set
deleted file mode 100644
index c784eca..0000000
--- a/components/camel-atomix/src/main/resources/META-INF/services/org/apache/camel/component/atomix-set
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.atomix.client.set.AtomixSetComponent
diff --git a/components/camel-atomix/src/main/resources/META-INF/services/org/apache/camel/component/atomix-value b/components/camel-atomix/src/main/resources/META-INF/services/org/apache/camel/component/atomix-value
deleted file mode 100644
index b24b0fe..0000000
--- a/components/camel-atomix/src/main/resources/META-INF/services/org/apache/camel/component/atomix-value
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.atomix.client.value.AtomixValueComponent
diff --git a/components/camel-avro/src/main/java/org/apache/camel/component/avro/AvroComponent.java b/components/camel-avro/src/main/java/org/apache/camel/component/avro/AvroComponent.java
index 2ac54a1..6c27bc3 100644
--- a/components/camel-avro/src/main/java/org/apache/camel/component/avro/AvroComponent.java
+++ b/components/camel-avro/src/main/java/org/apache/camel/component/avro/AvroComponent.java
@@ -27,10 +27,12 @@ import org.apache.avro.Protocol;
 import org.apache.avro.reflect.ReflectData;
 import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.DefaultComponent;
 import org.apache.camel.spi.Metadata;
 import org.apache.camel.util.URISupport;
 
+@Component("avro")
 public class AvroComponent extends DefaultComponent {
 
     private ConcurrentMap<String, AvroListener> listenerRegistry = new ConcurrentHashMap<>();
diff --git a/components/camel-avro/src/main/java/org/apache/camel/dataformat/avro/AvroDataFormat.java b/components/camel-avro/src/main/java/org/apache/camel/dataformat/avro/AvroDataFormat.java
index 03e449b..5a5f4fd 100644
--- a/components/camel-avro/src/main/java/org/apache/camel/dataformat/avro/AvroDataFormat.java
+++ b/components/camel-avro/src/main/java/org/apache/camel/dataformat/avro/AvroDataFormat.java
@@ -38,9 +38,11 @@ import org.apache.camel.CamelException;
 import org.apache.camel.Exchange;
 import org.apache.camel.spi.DataFormat;
 import org.apache.camel.spi.DataFormatName;
+import org.apache.camel.spi.annotations.Dataformat;
 import org.apache.camel.support.ServiceSupport;
 import org.apache.camel.util.ObjectHelper;
 
+@Dataformat("avro")
 public class AvroDataFormat extends ServiceSupport implements DataFormat, DataFormatName, CamelContextAware {
 
     private static final String GENERIC_CONTAINER_CLASSNAME = GenericContainer.class.getName();
diff --git a/components/camel-avro/src/main/resources/META-INF/services/org/apache/camel/component/avro b/components/camel-avro/src/main/resources/META-INF/services/org/apache/camel/component/avro
deleted file mode 100644
index b4e1935..0000000
--- a/components/camel-avro/src/main/resources/META-INF/services/org/apache/camel/component/avro
+++ /dev/null
@@ -1,17 +0,0 @@
-#
-# 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.
-#
-class=org.apache.camel.component.avro.AvroComponent
diff --git a/components/camel-avro/src/main/resources/META-INF/services/org/apache/camel/dataformat/avro b/components/camel-avro/src/main/resources/META-INF/services/org/apache/camel/dataformat/avro
deleted file mode 100644
index 7b19e8d..0000000
--- a/components/camel-avro/src/main/resources/META-INF/services/org/apache/camel/dataformat/avro
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.dataformat.avro.AvroDataFormat
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/cw/CwComponent.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/cw/CwComponent.java
index 276f034..89c2bad 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/cw/CwComponent.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/cw/CwComponent.java
@@ -20,10 +20,12 @@ import java.util.Map;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.spi.Metadata;
 import org.apache.camel.support.DefaultComponent;
 import org.apache.camel.util.ObjectHelper;
 
+@Component("aws-cw")
 public class CwComponent extends DefaultComponent {
 
     @Metadata
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/ddb/DdbComponent.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/ddb/DdbComponent.java
index 38a7b72..5fcd1bc 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/ddb/DdbComponent.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/ddb/DdbComponent.java
@@ -20,10 +20,13 @@ import java.util.Map;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
+
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.spi.Metadata;
 import org.apache.camel.support.DefaultComponent;
 import org.apache.camel.util.ObjectHelper;
 
+@Component("aws-ddb")
 public class DdbComponent extends DefaultComponent {
 
     @Metadata
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/ddbstream/DdbStreamComponent.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/ddbstream/DdbStreamComponent.java
index 765a4ad..43a2b6a 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/ddbstream/DdbStreamComponent.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/ddbstream/DdbStreamComponent.java
@@ -19,10 +19,13 @@ package org.apache.camel.component.aws.ddbstream;
 import java.util.Map;
 import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
+
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.spi.Metadata;
 import org.apache.camel.support.DefaultComponent;
 import org.apache.camel.util.ObjectHelper;
 
+@Component("aws-ddbstream")
 public class DdbStreamComponent extends DefaultComponent {
     
     @Metadata
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/ec2/EC2Component.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/ec2/EC2Component.java
index 752e615..e562c4b 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/ec2/EC2Component.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/ec2/EC2Component.java
@@ -20,6 +20,8 @@ import java.util.Map;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
+
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.spi.Metadata;
 import org.apache.camel.support.DefaultComponent;
 import org.apache.camel.util.ObjectHelper;
@@ -27,6 +29,7 @@ import org.apache.camel.util.ObjectHelper;
 /**
  * For working with Amazon's Elastic Compute Cloud (EC2).
  */
+@Component("aws-ec2")
 public class EC2Component extends DefaultComponent {
 
     @Metadata
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/eks/EKSComponent.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/eks/EKSComponent.java
index bc5e461..033db3d 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/eks/EKSComponent.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/eks/EKSComponent.java
@@ -21,12 +21,14 @@ import java.util.Map;
 import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
 import org.apache.camel.spi.Metadata;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.DefaultComponent;
 import org.apache.camel.util.ObjectHelper;
 
 /**
  * For working with Amazon EKS.
  */
+@Component("aws-eks")
 public class EKSComponent extends DefaultComponent {
 
     @Metadata
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/firehose/KinesisFirehoseComponent.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/firehose/KinesisFirehoseComponent.java
index e7c6dc6..33e0120 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/firehose/KinesisFirehoseComponent.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/firehose/KinesisFirehoseComponent.java
@@ -20,10 +20,13 @@ import java.util.Map;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
+
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.spi.Metadata;
 import org.apache.camel.support.DefaultComponent;
 import org.apache.camel.util.ObjectHelper;
 
+@Component("aws-kinesis-firehose")
 public class KinesisFirehoseComponent extends DefaultComponent {
 
     @Metadata
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/iam/IAMComponent.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/iam/IAMComponent.java
index 83f572a..7064113 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/iam/IAMComponent.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/iam/IAMComponent.java
@@ -20,6 +20,8 @@ import java.util.Map;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
+
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.spi.Metadata;
 import org.apache.camel.support.DefaultComponent;
 import org.apache.camel.util.ObjectHelper;
@@ -27,6 +29,7 @@ import org.apache.camel.util.ObjectHelper;
 /**
  * For working with Amazon KMS.
  */
+@Component("aws-iam")
 public class IAMComponent extends DefaultComponent {
 
     @Metadata
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/kinesis/KinesisComponent.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/kinesis/KinesisComponent.java
index 6fa668b..7dbd5ab 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/kinesis/KinesisComponent.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/kinesis/KinesisComponent.java
@@ -20,10 +20,13 @@ import java.util.Map;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
+
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.spi.Metadata;
 import org.apache.camel.support.DefaultComponent;
 import org.apache.camel.util.ObjectHelper;
 
+@Component("aws-kinesis")
 public class KinesisComponent extends DefaultComponent {
 
     @Metadata
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/kms/KMSComponent.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/kms/KMSComponent.java
index d547e9c..361b205 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/kms/KMSComponent.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/kms/KMSComponent.java
@@ -20,6 +20,8 @@ import java.util.Map;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
+
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.spi.Metadata;
 import org.apache.camel.support.DefaultComponent;
 import org.apache.camel.util.ObjectHelper;
@@ -27,6 +29,7 @@ import org.apache.camel.util.ObjectHelper;
 /**
  * For working with Amazon KMS.
  */
+@Component("aws-kms")
 public class KMSComponent extends DefaultComponent {
 
     @Metadata
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/lambda/LambdaComponent.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/lambda/LambdaComponent.java
index 4975223..bac35af 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/lambda/LambdaComponent.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/lambda/LambdaComponent.java
@@ -20,10 +20,13 @@ import java.util.Map;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
+
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.spi.Metadata;
 import org.apache.camel.support.DefaultComponent;
 import org.apache.camel.util.ObjectHelper;
 
+@Component("aws-lambda")
 public class LambdaComponent extends DefaultComponent {
 
     @Metadata
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/mq/MQComponent.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/mq/MQComponent.java
index 2eecc0d..c7f7b43 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/mq/MQComponent.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/mq/MQComponent.java
@@ -20,6 +20,8 @@ import java.util.Map;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
+
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.spi.Metadata;
 import org.apache.camel.support.DefaultComponent;
 import org.apache.camel.util.ObjectHelper;
@@ -27,6 +29,7 @@ import org.apache.camel.util.ObjectHelper;
 /**
  * For working with Amazon MQ.
  */
+@Component("aws-mq")
 public class MQComponent extends DefaultComponent {
 
     @Metadata
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Component.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Component.java
index b9812e0..4e0bf49 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Component.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Component.java
@@ -21,10 +21,13 @@ import java.util.Map;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
+
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.spi.Metadata;
 import org.apache.camel.support.DefaultComponent;
 import org.apache.camel.util.ObjectHelper;
 
+@Component("aws-s3")
 public class S3Component extends DefaultComponent {
 
     @Metadata
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/sdb/SdbComponent.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/sdb/SdbComponent.java
index 19b5d5f..a203284 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/sdb/SdbComponent.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/sdb/SdbComponent.java
@@ -20,8 +20,10 @@ import java.util.Map;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.DefaultComponent;
 
+@Component("aws-sdb")
 public class SdbComponent extends DefaultComponent {
 
     public SdbComponent() {
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/ses/SesComponent.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/ses/SesComponent.java
index 837c23a..5824871 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/ses/SesComponent.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/ses/SesComponent.java
@@ -20,10 +20,13 @@ import java.util.Map;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
+
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.spi.Metadata;
 import org.apache.camel.support.DefaultComponent;
 import org.apache.camel.util.ObjectHelper;
 
+@Component("aws-ses")
 public class SesComponent extends DefaultComponent {
 
     @Metadata
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/sns/SnsComponent.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/sns/SnsComponent.java
index 61b6eb0..ab69650 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/sns/SnsComponent.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/sns/SnsComponent.java
@@ -21,10 +21,13 @@ import java.util.Map;
 import com.amazonaws.regions.Regions;
 import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
+
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.spi.Metadata;
 import org.apache.camel.support.DefaultComponent;
 import org.apache.camel.util.ObjectHelper;
 
+@Component("aws-sns")
 public class SnsComponent extends DefaultComponent {
     
     @Metadata
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsComponent.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsComponent.java
index a4e883e..73766b1 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsComponent.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsComponent.java
@@ -21,10 +21,13 @@ import java.util.Map;
 import com.amazonaws.regions.Regions;
 import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
+
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.spi.Metadata;
 import org.apache.camel.support.DefaultComponent;
 import org.apache.camel.util.ObjectHelper;
 
+@Component("aws-sqs")
 public class SqsComponent extends DefaultComponent {
     
     @Metadata
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/swf/SWFComponent.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/swf/SWFComponent.java
index 3fc06f3..74a33ac 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/swf/SWFComponent.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/swf/SWFComponent.java
@@ -20,11 +20,14 @@ import java.util.Map;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
+
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.spi.Metadata;
 import org.apache.camel.support.DefaultComponent;
 import org.apache.camel.support.IntrospectionSupport;
 import org.apache.camel.util.ObjectHelper;
 
+@Component("aws-swf")
 public class SWFComponent extends DefaultComponent {
 
     @Metadata
diff --git a/components/camel-aws/src/main/resources/META-INF/services/org/apache/camel/component/aws-cw b/components/camel-aws/src/main/resources/META-INF/services/org/apache/camel/component/aws-cw
deleted file mode 100644
index f9a22cc..0000000
--- a/components/camel-aws/src/main/resources/META-INF/services/org/apache/camel/component/aws-cw
+++ /dev/null
@@ -1,18 +0,0 @@
-## ---------------------------------------------------------------------------
-## 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.
-## ---------------------------------------------------------------------------
-
-class=org.apache.camel.component.aws.cw.CwComponent
diff --git a/components/camel-aws/src/main/resources/META-INF/services/org/apache/camel/component/aws-ddb b/components/camel-aws/src/main/resources/META-INF/services/org/apache/camel/component/aws-ddb
deleted file mode 100644
index 487ac86..0000000
--- a/components/camel-aws/src/main/resources/META-INF/services/org/apache/camel/component/aws-ddb
+++ /dev/null
@@ -1,18 +0,0 @@
-## ---------------------------------------------------------------------------
-## 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.
-## ---------------------------------------------------------------------------
-
-class=org.apache.camel.component.aws.ddb.DdbComponent
diff --git a/components/camel-aws/src/main/resources/META-INF/services/org/apache/camel/component/aws-ddbstream b/components/camel-aws/src/main/resources/META-INF/services/org/apache/camel/component/aws-ddbstream
deleted file mode 100644
index 48a8509..0000000
--- a/components/camel-aws/src/main/resources/META-INF/services/org/apache/camel/component/aws-ddbstream
+++ /dev/null
@@ -1,18 +0,0 @@
-## ---------------------------------------------------------------------------
-## 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.
-## ---------------------------------------------------------------------------
-
-class=org.apache.camel.component.aws.ddbstream.DdbStreamComponent
diff --git a/components/camel-aws/src/main/resources/META-INF/services/org/apache/camel/component/aws-ec2 b/components/camel-aws/src/main/resources/META-INF/services/org/apache/camel/component/aws-ec2
deleted file mode 100644
index 9a2bcfa..0000000
--- a/components/camel-aws/src/main/resources/META-INF/services/org/apache/camel/component/aws-ec2
+++ /dev/null
@@ -1,18 +0,0 @@
-## ---------------------------------------------------------------------------
-## 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.
-## ---------------------------------------------------------------------------
-
-class=org.apache.camel.component.aws.ec2.EC2Component
diff --git a/components/camel-aws/src/main/resources/META-INF/services/org/apache/camel/component/aws-eks b/components/camel-aws/src/main/resources/META-INF/services/org/apache/camel/component/aws-eks
deleted file mode 100644
index 8622df4..0000000
--- a/components/camel-aws/src/main/resources/META-INF/services/org/apache/camel/component/aws-eks
+++ /dev/null
@@ -1,18 +0,0 @@
-## ---------------------------------------------------------------------------
-## 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.
-## ---------------------------------------------------------------------------
-
-class=org.apache.camel.component.aws.eks.EKSComponent
diff --git a/components/camel-aws/src/main/resources/META-INF/services/org/apache/camel/component/aws-iam b/components/camel-aws/src/main/resources/META-INF/services/org/apache/camel/component/aws-iam
deleted file mode 100644
index ab88eb6..0000000
--- a/components/camel-aws/src/main/resources/META-INF/services/org/apache/camel/component/aws-iam
+++ /dev/null
@@ -1,18 +0,0 @@
-## ---------------------------------------------------------------------------
-## 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.
-## ---------------------------------------------------------------------------
-
-class=org.apache.camel.component.aws.iam.IAMComponent
diff --git a/components/camel-aws/src/main/resources/META-INF/services/org/apache/camel/component/aws-kinesis b/components/camel-aws/src/main/resources/META-INF/services/org/apache/camel/component/aws-kinesis
deleted file mode 100644
index 2329cbf..0000000
--- a/components/camel-aws/src/main/resources/META-INF/services/org/apache/camel/component/aws-kinesis
+++ /dev/null
@@ -1,18 +0,0 @@
-## ---------------------------------------------------------------------------
-## 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.
-## ---------------------------------------------------------------------------
-
-class=org.apache.camel.component.aws.kinesis.KinesisComponent
diff --git a/components/camel-aws/src/main/resources/META-INF/services/org/apache/camel/component/aws-kinesis-firehose b/components/camel-aws/src/main/resources/META-INF/services/org/apache/camel/component/aws-kinesis-firehose
deleted file mode 100644
index 2f91974..0000000
--- a/components/camel-aws/src/main/resources/META-INF/services/org/apache/camel/component/aws-kinesis-firehose
+++ /dev/null
@@ -1,18 +0,0 @@
-## ---------------------------------------------------------------------------
-## 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.
-## ---------------------------------------------------------------------------
-
-class=org.apache.camel.component.aws.firehose.KinesisFirehoseComponent
diff --git a/components/camel-aws/src/main/resources/META-INF/services/org/apache/camel/component/aws-kms b/components/camel-aws/src/main/resources/META-INF/services/org/apache/camel/component/aws-kms
deleted file mode 100644
index 3a89cd7..0000000
--- a/components/camel-aws/src/main/resources/META-INF/services/org/apache/camel/component/aws-kms
+++ /dev/null
@@ -1,18 +0,0 @@
-## ---------------------------------------------------------------------------
-## 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.
-## ---------------------------------------------------------------------------
-
-class=org.apache.camel.component.aws.kms.KMSComponent
diff --git a/components/camel-aws/src/main/resources/META-INF/services/org/apache/camel/component/aws-lambda b/components/camel-aws/src/main/resources/META-INF/services/org/apache/camel/component/aws-lambda
deleted file mode 100644
index 51364f7..0000000
--- a/components/camel-aws/src/main/resources/META-INF/services/org/apache/camel/component/aws-lambda
+++ /dev/null
@@ -1,18 +0,0 @@
-## ---------------------------------------------------------------------------
-## 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.
-## ---------------------------------------------------------------------------
-
-class=org.apache.camel.component.aws.lambda.LambdaComponent
diff --git a/components/camel-aws/src/main/resources/META-INF/services/org/apache/camel/component/aws-mq b/components/camel-aws/src/main/resources/META-INF/services/org/apache/camel/component/aws-mq
deleted file mode 100644
index c1a05f1..0000000
--- a/components/camel-aws/src/main/resources/META-INF/services/org/apache/camel/component/aws-mq
+++ /dev/null
@@ -1,18 +0,0 @@
-## ---------------------------------------------------------------------------
-## 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.
-## ---------------------------------------------------------------------------
-
-class=org.apache.camel.component.aws.mq.MQComponent
diff --git a/components/camel-aws/src/main/resources/META-INF/services/org/apache/camel/component/aws-s3 b/components/camel-aws/src/main/resources/META-INF/services/org/apache/camel/component/aws-s3
deleted file mode 100644
index 5e00f0d..0000000
--- a/components/camel-aws/src/main/resources/META-INF/services/org/apache/camel/component/aws-s3
+++ /dev/null
@@ -1,18 +0,0 @@
-## ---------------------------------------------------------------------------
-## 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.
-## ---------------------------------------------------------------------------
-
-class=org.apache.camel.component.aws.s3.S3Component
diff --git a/components/camel-aws/src/main/resources/META-INF/services/org/apache/camel/component/aws-sdb b/components/camel-aws/src/main/resources/META-INF/services/org/apache/camel/component/aws-sdb
deleted file mode 100644
index 5ee7373..0000000
--- a/components/camel-aws/src/main/resources/META-INF/services/org/apache/camel/component/aws-sdb
+++ /dev/null
@@ -1,18 +0,0 @@
-## ---------------------------------------------------------------------------
-## 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.
-## ---------------------------------------------------------------------------
-
-class=org.apache.camel.component.aws.sdb.SdbComponent
diff --git a/components/camel-aws/src/main/resources/META-INF/services/org/apache/camel/component/aws-ses b/components/camel-aws/src/main/resources/META-INF/services/org/apache/camel/component/aws-ses
deleted file mode 100644
index 2598cc5..0000000
--- a/components/camel-aws/src/main/resources/META-INF/services/org/apache/camel/component/aws-ses
+++ /dev/null
@@ -1,18 +0,0 @@
-## ---------------------------------------------------------------------------
-## 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.
-## ---------------------------------------------------------------------------
-
-class=org.apache.camel.component.aws.ses.SesComponent
diff --git a/components/camel-aws/src/main/resources/META-INF/services/org/apache/camel/component/aws-sns b/components/camel-aws/src/main/resources/META-INF/services/org/apache/camel/component/aws-sns
deleted file mode 100644
index c8ca845..0000000
--- a/components/camel-aws/src/main/resources/META-INF/services/org/apache/camel/component/aws-sns
+++ /dev/null
@@ -1,18 +0,0 @@
-## ---------------------------------------------------------------------------
-## 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.
-## ---------------------------------------------------------------------------
-
-class=org.apache.camel.component.aws.sns.SnsComponent
diff --git a/components/camel-aws/src/main/resources/META-INF/services/org/apache/camel/component/aws-sqs b/components/camel-aws/src/main/resources/META-INF/services/org/apache/camel/component/aws-sqs
deleted file mode 100644
index 0055799..0000000
--- a/components/camel-aws/src/main/resources/META-INF/services/org/apache/camel/component/aws-sqs
+++ /dev/null
@@ -1,18 +0,0 @@
-## ---------------------------------------------------------------------------
-## 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.
-## ---------------------------------------------------------------------------
-
-class=org.apache.camel.component.aws.sqs.SqsComponent
diff --git a/components/camel-aws/src/main/resources/META-INF/services/org/apache/camel/component/aws-swf b/components/camel-aws/src/main/resources/META-INF/services/org/apache/camel/component/aws-swf
deleted file mode 100644
index 3d10c74..0000000
--- a/components/camel-aws/src/main/resources/META-INF/services/org/apache/camel/component/aws-swf
+++ /dev/null
@@ -1,18 +0,0 @@
-## ---------------------------------------------------------------------------
-## 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.
-## ---------------------------------------------------------------------------
-
-class=org.apache.camel.component.aws.swf.SWFComponent
diff --git a/components/camel-azure/src/main/java/org/apache/camel/component/azure/blob/BlobServiceComponent.java b/components/camel-azure/src/main/java/org/apache/camel/component/azure/blob/BlobServiceComponent.java
index 7f4fb15..02d015e 100644
--- a/components/camel-azure/src/main/java/org/apache/camel/component/azure/blob/BlobServiceComponent.java
+++ b/components/camel-azure/src/main/java/org/apache/camel/component/azure/blob/BlobServiceComponent.java
@@ -23,8 +23,10 @@ import com.microsoft.azure.storage.StorageCredentialsAnonymous;
 import com.microsoft.azure.storage.blob.CloudBlob;
 import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.DefaultComponent;
 
+@Component("azure-blob")
 public class BlobServiceComponent extends DefaultComponent {
     
     public BlobServiceComponent() {
diff --git a/components/camel-azure/src/main/java/org/apache/camel/component/azure/queue/QueueServiceComponent.java b/components/camel-azure/src/main/java/org/apache/camel/component/azure/queue/QueueServiceComponent.java
index 6889411..9b48919 100644
--- a/components/camel-azure/src/main/java/org/apache/camel/component/azure/queue/QueueServiceComponent.java
+++ b/components/camel-azure/src/main/java/org/apache/camel/component/azure/queue/QueueServiceComponent.java
@@ -23,8 +23,10 @@ import com.microsoft.azure.storage.queue.CloudQueue;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.DefaultComponent;
 
+@Component("azure-queue")
 public class QueueServiceComponent extends DefaultComponent {
 
     public QueueServiceComponent() {
diff --git a/components/camel-azure/src/main/resources/META-INF/services/org/apache/camel/component/azure-blob b/components/camel-azure/src/main/resources/META-INF/services/org/apache/camel/component/azure-blob
deleted file mode 100644
index 285f97d..0000000
--- a/components/camel-azure/src/main/resources/META-INF/services/org/apache/camel/component/azure-blob
+++ /dev/null
@@ -1,18 +0,0 @@
-## ---------------------------------------------------------------------------
-## 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.
-## ---------------------------------------------------------------------------
-
-class=org.apache.camel.component.azure.blob.BlobServiceComponent
diff --git a/components/camel-azure/src/main/resources/META-INF/services/org/apache/camel/component/azure-queue b/components/camel-azure/src/main/resources/META-INF/services/org/apache/camel/component/azure-queue
deleted file mode 100644
index debd117..0000000
--- a/components/camel-azure/src/main/resources/META-INF/services/org/apache/camel/component/azure-queue
+++ /dev/null
@@ -1,18 +0,0 @@
-## ---------------------------------------------------------------------------
-## 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.
-## ---------------------------------------------------------------------------
-
-class=org.apache.camel.component.azure.queue.QueueServiceComponent
diff --git a/components/camel-barcode/src/main/java/org/apache/camel/dataformat/barcode/BarcodeDataFormat.java b/components/camel-barcode/src/main/java/org/apache/camel/dataformat/barcode/BarcodeDataFormat.java
index 68791f5..8695e78 100644
--- a/components/camel-barcode/src/main/java/org/apache/camel/dataformat/barcode/BarcodeDataFormat.java
+++ b/components/camel-barcode/src/main/java/org/apache/camel/dataformat/barcode/BarcodeDataFormat.java
@@ -39,6 +39,7 @@ import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;
 import org.apache.camel.Exchange;
 import org.apache.camel.spi.DataFormat;
 import org.apache.camel.spi.DataFormatName;
+import org.apache.camel.spi.annotations.Dataformat;
 import org.apache.camel.support.ServiceSupport;
 import org.apache.camel.support.ExchangeHelper;
 
@@ -49,6 +50,7 @@ import org.apache.camel.support.ExchangeHelper;
  * <p/>
  * https://github.com/zxing/zxing
  */
+@Dataformat("barcode")
 public class BarcodeDataFormat extends ServiceSupport implements DataFormat, DataFormatName {
 
     /**
diff --git a/components/camel-barcode/src/main/resources/META-INF/services/org/apache/camel/dataformat/barcode b/components/camel-barcode/src/main/resources/META-INF/services/org/apache/camel/dataformat/barcode
deleted file mode 100644
index bd5d1c1..0000000
--- a/components/camel-barcode/src/main/resources/META-INF/services/org/apache/camel/dataformat/barcode
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.dataformat.barcode.BarcodeDataFormat
diff --git a/components/camel-base64/src/main/java/org/apache/camel/dataformat/base64/Base64DataFormat.java b/components/camel-base64/src/main/java/org/apache/camel/dataformat/base64/Base64DataFormat.java
index c77cb16..5441651 100644
--- a/components/camel-base64/src/main/java/org/apache/camel/dataformat/base64/Base64DataFormat.java
+++ b/components/camel-base64/src/main/java/org/apache/camel/dataformat/base64/Base64DataFormat.java
@@ -22,6 +22,7 @@ import java.io.OutputStream;
 import org.apache.camel.Exchange;
 import org.apache.camel.spi.DataFormat;
 import org.apache.camel.spi.DataFormatName;
+import org.apache.camel.spi.annotations.Dataformat;
 import org.apache.camel.support.ServiceSupport;
 import org.apache.camel.support.ExchangeHelper;
 import org.apache.camel.util.IOHelper;
@@ -29,6 +30,7 @@ import org.apache.commons.codec.binary.Base64;
 import org.apache.commons.codec.binary.Base64InputStream;
 import org.apache.commons.codec.binary.Base64OutputStream;
 
+@Dataformat("base64")
 public class Base64DataFormat extends ServiceSupport implements DataFormat, DataFormatName {
 
     private int lineLength = Base64.MIME_CHUNK_SIZE;
diff --git a/components/camel-base64/src/main/resources/META-INF/services/org/apache/camel/dataformat/base64 b/components/camel-base64/src/main/resources/META-INF/services/org/apache/camel/dataformat/base64
deleted file mode 100644
index 4ceb836..0000000
--- a/components/camel-base64/src/main/resources/META-INF/services/org/apache/camel/dataformat/base64
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.dataformat.base64.Base64DataFormat
diff --git a/components/camel-bean-validator/src/main/java/org/apache/camel/component/bean/validator/BeanValidatorComponent.java b/components/camel-bean-validator/src/main/java/org/apache/camel/component/bean/validator/BeanValidatorComponent.java
index 7a1a3b9..5e400ca 100644
--- a/components/camel-bean-validator/src/main/java/org/apache/camel/component/bean/validator/BeanValidatorComponent.java
+++ b/components/camel-bean-validator/src/main/java/org/apache/camel/component/bean/validator/BeanValidatorComponent.java
@@ -19,12 +19,14 @@ package org.apache.camel.component.bean.validator;
 import java.util.Map;
 
 import org.apache.camel.Endpoint;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.DefaultComponent;
 
 /**
  * Bean Validator Component for validating Java beans against reference implementation of JSR 303 Validator (Hibernate
  * Validator).
  */
+@Component("bean-validator")
 public class BeanValidatorComponent extends DefaultComponent {
 
     public BeanValidatorComponent() {
diff --git a/components/camel-bean-validator/src/main/resources/META-INF/services/org/apache/camel/component/bean-validator b/components/camel-bean-validator/src/main/resources/META-INF/services/org/apache/camel/component/bean-validator
deleted file mode 100644
index e073334..0000000
--- a/components/camel-bean-validator/src/main/resources/META-INF/services/org/apache/camel/component/bean-validator
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.bean.validator.BeanValidatorComponent
diff --git a/components/camel-beanio/src/main/java/org/apache/camel/dataformat/beanio/BeanIODataFormat.java b/components/camel-beanio/src/main/java/org/apache/camel/dataformat/beanio/BeanIODataFormat.java
index c1d1621..cf10fe0 100644
--- a/components/camel-beanio/src/main/java/org/apache/camel/dataformat/beanio/BeanIODataFormat.java
+++ b/components/camel-beanio/src/main/java/org/apache/camel/dataformat/beanio/BeanIODataFormat.java
@@ -33,6 +33,7 @@ import org.apache.camel.Exchange;
 import org.apache.camel.NoTypeConversionAvailableException;
 import org.apache.camel.spi.DataFormat;
 import org.apache.camel.spi.DataFormatName;
+import org.apache.camel.spi.annotations.Dataformat;
 import org.apache.camel.support.ServiceSupport;
 import org.apache.camel.util.IOHelper;
 import org.apache.camel.support.ResourceHelper;
@@ -49,6 +50,7 @@ import static org.apache.camel.dataformat.beanio.BeanIOHelper.getOrCreateBeanRea
  * A <a href="http://camel.apache.org/data-format.html">data format</a> (
  * {@link DataFormat}) for beanio data.
  */
+@Dataformat("beanio")
 public class BeanIODataFormat extends ServiceSupport implements DataFormat, DataFormatName, CamelContextAware {
 
     private transient CamelContext camelContext;
diff --git a/components/camel-beanio/src/main/resources/META-INF/services/org/apache/camel/dataformat/beanio b/components/camel-beanio/src/main/resources/META-INF/services/org/apache/camel/dataformat/beanio
deleted file mode 100644
index f5f1bf8..0000000
--- a/components/camel-beanio/src/main/resources/META-INF/services/org/apache/camel/dataformat/beanio
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.dataformat.beanio.BeanIODataFormat
diff --git a/components/camel-beanstalk/src/main/java/org/apache/camel/component/beanstalk/BeanstalkComponent.java b/components/camel-beanstalk/src/main/java/org/apache/camel/component/beanstalk/BeanstalkComponent.java
index d4cf8e2..9dfa081 100644
--- a/components/camel-beanstalk/src/main/java/org/apache/camel/component/beanstalk/BeanstalkComponent.java
+++ b/components/camel-beanstalk/src/main/java/org/apache/camel/component/beanstalk/BeanstalkComponent.java
@@ -19,6 +19,7 @@ package org.apache.camel.component.beanstalk;
 import java.util.Map;
 
 import org.apache.camel.Endpoint;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.DefaultComponent;
 
 /**
@@ -39,6 +40,7 @@ import org.apache.camel.support.DefaultComponent;
  * @see BeanstalkEndpoint
  * @see ConnectionSettingsFactory
  */
+@Component("beanstalk")
 public class BeanstalkComponent extends DefaultComponent {
     public static final String DEFAULT_TUBE = "default";
 
diff --git a/components/camel-beanstalk/src/main/resources/META-INF/services/org/apache/camel/component/beanstalk b/components/camel-beanstalk/src/main/resources/META-INF/services/org/apache/camel/component/beanstalk
deleted file mode 100644
index c290f54..0000000
--- a/components/camel-beanstalk/src/main/resources/META-INF/services/org/apache/camel/component/beanstalk
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.beanstalk.BeanstalkComponent
diff --git a/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/csv/BindyCsvDataFormat.java b/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/csv/BindyCsvDataFormat.java
index e09e6c2..4d918b0 100644
--- a/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/csv/BindyCsvDataFormat.java
+++ b/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/csv/BindyCsvDataFormat.java
@@ -42,6 +42,7 @@ import org.apache.camel.dataformat.bindy.FormatFactory;
 import org.apache.camel.dataformat.bindy.WrappedException;
 import org.apache.camel.dataformat.bindy.util.ConverterUtils;
 import org.apache.camel.spi.DataFormat;
+import org.apache.camel.spi.annotations.Dataformat;
 import org.apache.camel.support.ExchangeHelper;
 import org.apache.camel.util.IOHelper;
 import org.apache.camel.support.ObjectHelper;
@@ -52,6 +53,7 @@ import org.slf4j.LoggerFactory;
  * A <a href="http://camel.apache.org/data-format.html">data format</a> (
  * {@link DataFormat}) using Bindy to marshal to and from CSV files
  */
+@Dataformat("bindy-csv")
 public class BindyCsvDataFormat extends BindyAbstractDataFormat {
     private static final Logger LOG = LoggerFactory.getLogger(BindyCsvDataFormat.class);
 
diff --git a/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/fixed/BindyFixedLengthDataFormat.java b/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/fixed/BindyFixedLengthDataFormat.java
index 2a13c83..717dc97 100644
--- a/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/fixed/BindyFixedLengthDataFormat.java
+++ b/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/fixed/BindyFixedLengthDataFormat.java
@@ -34,6 +34,7 @@ import org.apache.camel.dataformat.bindy.BindyFixedLengthFactory;
 import org.apache.camel.dataformat.bindy.FormatFactory;
 import org.apache.camel.dataformat.bindy.util.ConverterUtils;
 import org.apache.camel.spi.DataFormat;
+import org.apache.camel.spi.annotations.Dataformat;
 import org.apache.camel.support.ExchangeHelper;
 import org.apache.camel.util.IOHelper;
 import org.apache.camel.support.ObjectHelper;
@@ -44,6 +45,7 @@ import org.slf4j.LoggerFactory;
  * A <a href="http://camel.apache.org/data-format.html">data format</a> (
  * {@link DataFormat}) using Bindy to marshal to and from Fixed Length
  */
+@Dataformat("bindy-fixed")
 public class BindyFixedLengthDataFormat extends BindyAbstractDataFormat {
 
     public static final String CAMEL_BINDY_FIXED_LENGTH_HEADER = "CamelBindyFixedLengthHeader";
diff --git a/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/kvp/BindyKeyValuePairDataFormat.java b/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/kvp/BindyKeyValuePairDataFormat.java
index a45820a..ac1ba47 100644
--- a/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/kvp/BindyKeyValuePairDataFormat.java
+++ b/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/kvp/BindyKeyValuePairDataFormat.java
@@ -39,6 +39,7 @@ import org.apache.camel.dataformat.bindy.FormatFactory;
 import org.apache.camel.dataformat.bindy.WrappedException;
 import org.apache.camel.dataformat.bindy.util.ConverterUtils;
 import org.apache.camel.spi.DataFormat;
+import org.apache.camel.spi.annotations.Dataformat;
 import org.apache.camel.support.ExchangeHelper;
 import org.apache.camel.util.IOHelper;
 import org.apache.camel.support.ObjectHelper;
@@ -49,6 +50,7 @@ import org.slf4j.LoggerFactory;
  * A <a href="http://camel.apache.org/data-format.html">data format</a> (
  * {@link DataFormat}) using Bindy to marshal to and from CSV files
  */
+@Dataformat("bindy-kvp")
 public class BindyKeyValuePairDataFormat extends BindyAbstractDataFormat {
 
     private static final Logger LOG = LoggerFactory.getLogger(BindyKeyValuePairDataFormat.class);
diff --git a/components/camel-bindy/src/main/resources/META-INF/services/org/apache/camel/dataformat/bindy-csv b/components/camel-bindy/src/main/resources/META-INF/services/org/apache/camel/dataformat/bindy-csv
deleted file mode 100644
index 8ccd523..0000000
--- a/components/camel-bindy/src/main/resources/META-INF/services/org/apache/camel/dataformat/bindy-csv
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.dataformat.bindy.csv.BindyCsvDataFormat
diff --git a/components/camel-bindy/src/main/resources/META-INF/services/org/apache/camel/dataformat/bindy-fixed b/components/camel-bindy/src/main/resources/META-INF/services/org/apache/camel/dataformat/bindy-fixed
deleted file mode 100644
index 7654200..0000000
--- a/components/camel-bindy/src/main/resources/META-INF/services/org/apache/camel/dataformat/bindy-fixed
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.dataformat.bindy.fixed.BindyFixedLengthDataFormat
diff --git a/components/camel-bindy/src/main/resources/META-INF/services/org/apache/camel/dataformat/bindy-kvp b/components/camel-bindy/src/main/resources/META-INF/services/org/apache/camel/dataformat/bindy-kvp
deleted file mode 100644
index 1a9cb8b..0000000
--- a/components/camel-bindy/src/main/resources/META-INF/services/org/apache/camel/dataformat/bindy-kvp
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.dataformat.bindy.kvp.BindyKeyValuePairDataFormat
diff --git a/components/camel-bonita/src/main/java/org/apache/camel/component/bonita/BonitaComponent.java b/components/camel-bonita/src/main/java/org/apache/camel/component/bonita/BonitaComponent.java
index 72c3c7d..6480fcd 100644
--- a/components/camel-bonita/src/main/java/org/apache/camel/component/bonita/BonitaComponent.java
+++ b/components/camel-bonita/src/main/java/org/apache/camel/component/bonita/BonitaComponent.java
@@ -21,8 +21,10 @@ import java.util.Map;
 import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
 import org.apache.camel.component.bonita.util.BonitaOperation;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.DefaultComponent;
 
+@Component("bonita")
 public class BonitaComponent extends DefaultComponent {
 
     public BonitaComponent() {
diff --git a/components/camel-bonita/src/main/resources/META-INF/services/org/apache/camel/component/bonita b/components/camel-bonita/src/main/resources/META-INF/services/org/apache/camel/component/bonita
deleted file mode 100644
index 0017801..0000000
--- a/components/camel-bonita/src/main/resources/META-INF/services/org/apache/camel/component/bonita
+++ /dev/null
@@ -1,17 +0,0 @@
-#
-# 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.
-#
-class=org.apache.camel.component.bonita.BonitaComponent
diff --git a/components/camel-boon/src/main/java/org/apache/camel/component/boon/BoonDataFormat.java b/components/camel-boon/src/main/java/org/apache/camel/component/boon/BoonDataFormat.java
index 3b6ad8a..e6edc41 100644
--- a/components/camel-boon/src/main/java/org/apache/camel/component/boon/BoonDataFormat.java
+++ b/components/camel-boon/src/main/java/org/apache/camel/component/boon/BoonDataFormat.java
@@ -28,6 +28,7 @@ import org.apache.camel.Exchange;
 import org.apache.camel.NonManagedService;
 import org.apache.camel.spi.DataFormat;
 import org.apache.camel.spi.DataFormatName;
+import org.apache.camel.spi.annotations.Dataformat;
 import org.apache.camel.support.ExchangeHelper;
 import org.apache.camel.support.ServiceSupport;
 import org.apache.camel.util.IOHelper;
@@ -40,6 +41,7 @@ import org.boon.json.ObjectMapper;
  * href="http://richardhightower.github.io/site/Boon/">Boon</a> to marshal to
  * and from JSON.
  */
+@Dataformat("boon")
 public class BoonDataFormat extends ServiceSupport implements DataFormat, DataFormatName, NonManagedService {
 
     private final ObjectMapper objectMapper;
diff --git a/components/camel-boon/src/main/resources/META-INF/services/org/apache/camel/dataformat/boon b/components/camel-boon/src/main/resources/META-INF/services/org/apache/camel/dataformat/boon
deleted file mode 100644
index 328f3d1..0000000
--- a/components/camel-boon/src/main/resources/META-INF/services/org/apache/camel/dataformat/boon
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.boon.BoonDataFormat
diff --git a/components/camel-box/camel-box-component/src/main/java/org/apache/camel/component/box/BoxComponent.java b/components/camel-box/camel-box-component/src/main/java/org/apache/camel/component/box/BoxComponent.java
index 23a3d62..785045a 100644
--- a/components/camel-box/camel-box-component/src/main/java/org/apache/camel/component/box/BoxComponent.java
+++ b/components/camel-box/camel-box-component/src/main/java/org/apache/camel/component/box/BoxComponent.java
@@ -23,8 +23,10 @@ import org.apache.camel.component.box.internal.BoxApiCollection;
 import org.apache.camel.component.box.internal.BoxApiName;
 import org.apache.camel.component.box.internal.BoxConnectionHelper;
 import org.apache.camel.spi.Metadata;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.component.AbstractApiComponent;
 
+@Component("box")
 public class BoxComponent extends AbstractApiComponent<BoxApiName, BoxConfiguration, BoxApiCollection> {
 
     @Metadata(label = "advanced")
diff --git a/components/camel-box/camel-box-component/src/main/resources/META-INF/services/org/apache/camel/component/box b/components/camel-box/camel-box-component/src/main/resources/META-INF/services/org/apache/camel/component/box
deleted file mode 100644
index 43c4063..0000000
--- a/components/camel-box/camel-box-component/src/main/resources/META-INF/services/org/apache/camel/component/box
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.box.BoxComponent
diff --git a/components/camel-braintree/src/main/java/org/apache/camel/component/braintree/BraintreeComponent.java b/components/camel-braintree/src/main/java/org/apache/camel/component/braintree/BraintreeComponent.java
index 858e078..0765fad 100644
--- a/components/camel-braintree/src/main/java/org/apache/camel/component/braintree/BraintreeComponent.java
+++ b/components/camel-braintree/src/main/java/org/apache/camel/component/braintree/BraintreeComponent.java
@@ -24,11 +24,13 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
 import org.apache.camel.component.braintree.internal.BraintreeApiCollection;
 import org.apache.camel.component.braintree.internal.BraintreeApiName;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.component.AbstractApiComponent;
 
 /**
  * Represents the component that manages {@link BraintreeEndpoint}.
  */
+@Component("braintree")
 public class BraintreeComponent extends AbstractApiComponent<BraintreeApiName, BraintreeConfiguration, BraintreeApiCollection> {
     private final Map<String, BraintreeGateway> gateways;
 
diff --git a/components/camel-braintree/src/main/resources/META-INF/services/org/apache/camel/component/braintree b/components/camel-braintree/src/main/resources/META-INF/services/org/apache/camel/component/braintree
deleted file mode 100644
index cb28621..0000000
--- a/components/camel-braintree/src/main/resources/META-INF/services/org/apache/camel/component/braintree
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.braintree.BraintreeComponent
diff --git a/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/cache/CaffeineCacheComponent.java b/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/cache/CaffeineCacheComponent.java
index f283fe4..05fee02 100644
--- a/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/cache/CaffeineCacheComponent.java
+++ b/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/cache/CaffeineCacheComponent.java
@@ -21,6 +21,7 @@ import java.util.Map;
 import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
 import org.apache.camel.component.caffeine.CaffeineConfiguration;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.DefaultComponent;
 import org.apache.camel.spi.Metadata;
 import org.apache.camel.util.ObjectHelper;
@@ -30,6 +31,7 @@ import org.slf4j.LoggerFactory;
 /**
  * Represents the component that manages {@link DefaultComponent}.
  */
+@Component("caffeine-cache")
 public class CaffeineCacheComponent extends DefaultComponent {
     private static final Logger LOGGER = LoggerFactory.getLogger(CaffeineCacheComponent.class);
 
diff --git a/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/load/CaffeineLoadCacheComponent.java b/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/load/CaffeineLoadCacheComponent.java
index 46671fb..8009a34 100644
--- a/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/load/CaffeineLoadCacheComponent.java
+++ b/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/load/CaffeineLoadCacheComponent.java
@@ -22,6 +22,7 @@ import com.github.benmanes.caffeine.cache.LoadingCache;
 import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
 import org.apache.camel.component.caffeine.CaffeineConfiguration;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.DefaultComponent;
 import org.apache.camel.spi.Metadata;
 import org.apache.camel.util.ObjectHelper;
@@ -31,6 +32,7 @@ import org.slf4j.LoggerFactory;
 /**
  * Represents the component that manages {@link DefaultComponent}.
  */
+@Component("caffeine-loadcache")
 public class CaffeineLoadCacheComponent extends DefaultComponent {
     private static final Logger LOGGER = LoggerFactory.getLogger(CaffeineLoadCacheComponent.class);
 
diff --git a/components/camel-caffeine/src/main/resources/META-INF/services/org/apache/camel/component/caffeine-cache b/components/camel-caffeine/src/main/resources/META-INF/services/org/apache/camel/component/caffeine-cache
deleted file mode 100644
index dbc98eb..0000000
--- a/components/camel-caffeine/src/main/resources/META-INF/services/org/apache/camel/component/caffeine-cache
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.caffeine.cache.CaffeineCacheComponent
diff --git a/components/camel-caffeine/src/main/resources/META-INF/services/org/apache/camel/component/caffeine-loadcache b/components/camel-caffeine/src/main/resources/META-INF/services/org/apache/camel/component/caffeine-loadcache
deleted file mode 100644
index fdd2a65..0000000
--- a/components/camel-caffeine/src/main/resources/META-INF/services/org/apache/camel/component/caffeine-loadcache
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.caffeine.load.CaffeineLoadCacheComponent
diff --git a/components/camel-cassandraql/src/main/java/org/apache/camel/component/cassandra/CassandraComponent.java b/components/camel-cassandraql/src/main/java/org/apache/camel/component/cassandra/CassandraComponent.java
index 9d030af..57a3e15 100644
--- a/components/camel-cassandraql/src/main/java/org/apache/camel/component/cassandra/CassandraComponent.java
+++ b/components/camel-cassandraql/src/main/java/org/apache/camel/component/cassandra/CassandraComponent.java
@@ -20,6 +20,7 @@ import java.util.Map;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.DefaultComponent;
 import org.apache.camel.support.CamelContextHelper;
 import org.apache.camel.util.StringHelper;
@@ -38,6 +39,7 @@ import org.apache.camel.util.StringHelper;
  * <li>cql:bean:clusterRef/keyspace</li>
  * </ul>
  */
+@Component("cql")
 public class CassandraComponent extends DefaultComponent {
 
     public CassandraComponent() {
diff --git a/components/camel-cassandraql/src/main/resources/META-INF/services/org/apache/camel/component/cql b/components/camel-cassandraql/src/main/resources/META-INF/services/org/apache/camel/component/cql
deleted file mode 100644
index 66c5093..0000000
--- a/components/camel-cassandraql/src/main/resources/META-INF/services/org/apache/camel/component/cql
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.cassandra.CassandraComponent
diff --git a/components/camel-chronicle/src/main/java/org/apache/camel/component/chronicle/engine/ChronicleEngineComponent.java b/components/camel-chronicle/src/main/java/org/apache/camel/component/chronicle/engine/ChronicleEngineComponent.java
index 33e55da..0fdcbca 100644
--- a/components/camel-chronicle/src/main/java/org/apache/camel/component/chronicle/engine/ChronicleEngineComponent.java
+++ b/components/camel-chronicle/src/main/java/org/apache/camel/component/chronicle/engine/ChronicleEngineComponent.java
@@ -20,12 +20,14 @@ import java.util.Map;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.DefaultComponent;
 import org.apache.camel.util.StringHelper;
 
 /**
  * Represents the component that manages {@link ChronicleEngineEndpoint}.
  */
+@Component("chronicle-engine")
 public class ChronicleEngineComponent extends DefaultComponent {
     
     public ChronicleEngineComponent() {
diff --git a/components/camel-chronicle/src/main/resources/META-INF/services/org/apache/camel/component/chronicle-engine b/components/camel-chronicle/src/main/resources/META-INF/services/org/apache/camel/component/chronicle-engine
deleted file mode 100644
index 09777f5..0000000
--- a/components/camel-chronicle/src/main/resources/META-INF/services/org/apache/camel/component/chronicle-engine
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.chronicle.engine.ChronicleEngineComponent
diff --git a/components/camel-chunk/src/main/java/org/apache/camel/component/chunk/ChunkComponent.java b/components/camel-chunk/src/main/java/org/apache/camel/component/chunk/ChunkComponent.java
index 53d1857..2375794 100644
--- a/components/camel-chunk/src/main/java/org/apache/camel/component/chunk/ChunkComponent.java
+++ b/components/camel-chunk/src/main/java/org/apache/camel/component/chunk/ChunkComponent.java
@@ -19,8 +19,10 @@ package org.apache.camel.component.chunk;
 import java.util.Map;
 
 import org.apache.camel.Endpoint;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.DefaultComponent;
 
+@Component("chunk")
 public class ChunkComponent extends DefaultComponent {
 
     public ChunkComponent() {
diff --git a/components/camel-chunk/src/main/resources/META-INF/services/org/apache/camel/component/chunk b/components/camel-chunk/src/main/resources/META-INF/services/org/apache/camel/component/chunk
deleted file mode 100644
index a07813d..0000000
--- a/components/camel-chunk/src/main/resources/META-INF/services/org/apache/camel/component/chunk
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.chunk.ChunkComponent
diff --git a/components/camel-cm-sms/src/main/java/org/apache/camel/component/cm/CMComponent.java b/components/camel-cm-sms/src/main/java/org/apache/camel/component/cm/CMComponent.java
index 4e4a3be..49f41ef 100644
--- a/components/camel-cm-sms/src/main/java/org/apache/camel/component/cm/CMComponent.java
+++ b/components/camel-cm-sms/src/main/java/org/apache/camel/component/cm/CMComponent.java
@@ -26,11 +26,13 @@ import javax.validation.ValidatorFactory;
 import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
 import org.apache.camel.ResolveEndpointFailedException;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.DefaultComponent;
 
 /**
  * Represents the component that manages {@link CMEndpoint}s.
  */
+@Component("cm-sms")
 public class CMComponent extends DefaultComponent {
 
     private Validator validator;
diff --git a/components/camel-cm-sms/src/main/resources/META-INF/services/org/apache/camel/component/cm-sms b/components/camel-cm-sms/src/main/resources/META-INF/services/org/apache/camel/component/cm-sms
deleted file mode 100644
index bf9d84b..0000000
--- a/components/camel-cm-sms/src/main/resources/META-INF/services/org/apache/camel/component/cm-sms
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.cm.CMComponent
diff --git a/components/camel-cm-sms/src/main/resources/log4j2.properties b/components/camel-cm-sms/src/main/resources/log4j2.properties
deleted file mode 100644
index 12311f1..0000000
--- a/components/camel-cm-sms/src/main/resources/log4j2.properties
+++ /dev/null
@@ -1,28 +0,0 @@
-## ---------------------------------------------------------------------------
-## 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.
-## ---------------------------------------------------------------------------
-
-appender.file.type = File
-appender.file.name = file
-appender.file.fileName = target/camel-cm-sms-test.log
-appender.file.layout.type = PatternLayout
-appender.file.layout.pattern = %d [%-15.15t] %-5p %-30.30c{1} - %m%n
-appender.out.type = Console
-appender.out.name = out
-appender.out.layout.type = PatternLayout
-appender.out.layout.pattern = %d [%-15.15t] %-5p %-30.30c{1} - %m%n
-rootLogger.level = INFO
-rootLogger.appenderRef.file.ref = file
diff --git a/components/camel-cmis/src/main/java/org/apache/camel/component/cmis/CMISComponent.java b/components/camel-cmis/src/main/java/org/apache/camel/component/cmis/CMISComponent.java
index b23997c..346a81c 100644
--- a/components/camel-cmis/src/main/java/org/apache/camel/component/cmis/CMISComponent.java
+++ b/components/camel-cmis/src/main/java/org/apache/camel/component/cmis/CMISComponent.java
@@ -20,11 +20,13 @@ import java.util.HashMap;
 import java.util.Map;
 
 import org.apache.camel.Endpoint;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.DefaultComponent;
 
 /**
  * Represents the component that manages {@link CMISComponent}.
  */
+@Component("cmis")
 public class CMISComponent extends DefaultComponent {
 
     private CMISSessionFacadeFactory sessionFacadeFactory;
diff --git a/components/camel-cmis/src/main/resources/META-INF/services/org/apache/camel/component/cmis b/components/camel-cmis/src/main/resources/META-INF/services/org/apache/camel/component/cmis
deleted file mode 100644
index 45144a3..0000000
--- a/components/camel-cmis/src/main/resources/META-INF/services/org/apache/camel/component/cmis
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.cmis.CMISComponent
diff --git a/components/camel-coap/src/main/java/org/apache/camel/coap/CoAPComponent.java b/components/camel-coap/src/main/java/org/apache/camel/coap/CoAPComponent.java
index d8d6b88..4282f9b 100644
--- a/components/camel-coap/src/main/java/org/apache/camel/coap/CoAPComponent.java
+++ b/components/camel-coap/src/main/java/org/apache/camel/coap/CoAPComponent.java
@@ -25,6 +25,7 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.Consumer;
 import org.apache.camel.Endpoint;
 import org.apache.camel.Processor;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.DefaultComponent;
 import org.apache.camel.spi.RestConfiguration;
 import org.apache.camel.spi.RestConsumerFactory;
@@ -40,6 +41,7 @@ import org.slf4j.LoggerFactory;
 /**
  * Represents the component that manages {@link CoAPEndpoint}.
  */
+@Component("coap")
 public class CoAPComponent extends DefaultComponent implements RestConsumerFactory {
     static final int DEFAULT_PORT = 5684;
     private static final Logger LOG = LoggerFactory.getLogger(CoAPComponent.class);
diff --git a/components/camel-coap/src/main/resources/LICENSE.txt b/components/camel-coap/src/main/resources/LICENSE.txt
deleted file mode 100644
index 6b0b127..0000000
--- a/components/camel-coap/src/main/resources/LICENSE.txt
+++ /dev/null
@@ -1,203 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.
-
diff --git a/components/camel-coap/src/main/resources/META-INF/services/org/apache/camel/component/coap b/components/camel-coap/src/main/resources/META-INF/services/org/apache/camel/component/coap
deleted file mode 100644
index e0129bc..0000000
--- a/components/camel-coap/src/main/resources/META-INF/services/org/apache/camel/component/coap
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.coap.CoAPComponent
diff --git a/components/camel-coap/src/main/resources/NOTICE.txt b/components/camel-coap/src/main/resources/NOTICE.txt
deleted file mode 100644
index 2e215bf..0000000
--- a/components/camel-coap/src/main/resources/NOTICE.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-   =========================================================================
-   ==  NOTICE file corresponding to the section 4 d of                    ==
-   ==  the Apache License, Version 2.0,                                   ==
-   ==  in this case for the Apache Camel distribution.                    ==
-   =========================================================================
-
-   This product includes software developed by
-   The Apache Software Foundation (http://www.apache.org/).
-
-   Please read the different LICENSE files present in the licenses directory of
-   this distribution.
diff --git a/components/camel-cometd/src/main/java/org/apache/camel/component/cometd/CometdComponent.java b/components/camel-cometd/src/main/java/org/apache/camel/component/cometd/CometdComponent.java
index c0ab11a..a5d2a01 100644
--- a/components/camel-cometd/src/main/java/org/apache/camel/component/cometd/CometdComponent.java
+++ b/components/camel-cometd/src/main/java/org/apache/camel/component/cometd/CometdComponent.java
@@ -27,6 +27,7 @@ import javax.servlet.DispatcherType;
 
 import org.apache.camel.Endpoint;
 import org.apache.camel.SSLContextParametersAware;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.DefaultComponent;
 import org.apache.camel.spi.Metadata;
 import org.apache.camel.support.jsse.SSLContextParameters;
@@ -51,6 +52,7 @@ import org.slf4j.LoggerFactory;
 /**
  * Component for Jetty Cometd
  */
+@Component("cometd,cometds")
 public class CometdComponent extends DefaultComponent implements SSLContextParametersAware {
     private static final Logger LOG = LoggerFactory.getLogger(CometdComponent.class);
 
diff --git a/components/camel-cometd/src/main/resources/META-INF/services/org/apache/camel/component/cometd b/components/camel-cometd/src/main/resources/META-INF/services/org/apache/camel/component/cometd
deleted file mode 100644
index 13c22a7..0000000
--- a/components/camel-cometd/src/main/resources/META-INF/services/org/apache/camel/component/cometd
+++ /dev/null
@@ -1,17 +0,0 @@
-#
-# 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.
-#
-class=org.apache.camel.component.cometd.CometdComponent
diff --git a/components/camel-cometd/src/main/resources/META-INF/services/org/apache/camel/component/cometds b/components/camel-cometd/src/main/resources/META-INF/services/org/apache/camel/component/cometds
deleted file mode 100644
index 13c22a7..0000000
--- a/components/camel-cometd/src/main/resources/META-INF/services/org/apache/camel/component/cometds
+++ /dev/null
@@ -1,17 +0,0 @@
-#
-# 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.
-#
-class=org.apache.camel.component.cometd.CometdComponent
diff --git a/components/camel-consul/src/main/java/org/apache/camel/component/consul/ConsulComponent.java b/components/camel-consul/src/main/java/org/apache/camel/component/consul/ConsulComponent.java
index 04b2879..3c6476d 100644
--- a/components/camel-consul/src/main/java/org/apache/camel/component/consul/ConsulComponent.java
+++ b/components/camel-consul/src/main/java/org/apache/camel/component/consul/ConsulComponent.java
@@ -33,6 +33,7 @@ import org.apache.camel.component.consul.endpoint.ConsulKeyValueProducer;
 import org.apache.camel.component.consul.endpoint.ConsulPreparedQueryProducer;
 import org.apache.camel.component.consul.endpoint.ConsulSessionProducer;
 import org.apache.camel.component.consul.endpoint.ConsulStatusProducer;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.DefaultComponent;
 import org.apache.camel.spi.Metadata;
 import org.apache.camel.support.jsse.SSLContextParameters;
@@ -40,6 +41,7 @@ import org.apache.camel.support.jsse.SSLContextParameters;
 /**
  * Represents the component that manages {@link ConsulEndpoint}.
  */
+@Component("consul")
 public class ConsulComponent extends DefaultComponent implements SSLContextParametersAware {
 
     @Metadata(label = "advanced")
diff --git a/components/camel-consul/src/main/resources/META-INF/services/org/apache/camel/component/consul b/components/camel-consul/src/main/resources/META-INF/services/org/apache/camel/component/consul
deleted file mode 100644
index da084e1..0000000
--- a/components/camel-consul/src/main/resources/META-INF/services/org/apache/camel/component/consul
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.consul.ConsulComponent
diff --git a/components/camel-corda/src/main/java/org/apache/camel/component/corda/CordaComponent.java b/components/camel-corda/src/main/java/org/apache/camel/component/corda/CordaComponent.java
index 13d3fa4..6d977bc 100644
--- a/components/camel-corda/src/main/java/org/apache/camel/component/corda/CordaComponent.java
+++ b/components/camel-corda/src/main/java/org/apache/camel/component/corda/CordaComponent.java
@@ -21,11 +21,13 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
 
 import org.apache.camel.spi.Metadata;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.DefaultComponent;
 
 /**
  * Represents the component that manages {@link CordaComponent}.
  */
+@Component("corda")
 public class CordaComponent extends DefaultComponent {
 
     @Metadata(description = "Default configuration")
diff --git a/components/camel-corda/src/main/resources/META-INF/services/org/apache/camel/component/corda b/components/camel-corda/src/main/resources/META-INF/services/org/apache/camel/component/corda
deleted file mode 100755
index b7423d9..0000000
--- a/components/camel-corda/src/main/resources/META-INF/services/org/apache/camel/component/corda
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.corda.CordaComponent
diff --git a/components/camel-couchbase/src/main/java/org/apache/camel/component/couchbase/CouchbaseComponent.java b/components/camel-couchbase/src/main/java/org/apache/camel/component/couchbase/CouchbaseComponent.java
index 1bd6c2b..1cbac3b 100644
--- a/components/camel-couchbase/src/main/java/org/apache/camel/component/couchbase/CouchbaseComponent.java
+++ b/components/camel-couchbase/src/main/java/org/apache/camel/component/couchbase/CouchbaseComponent.java
@@ -19,11 +19,13 @@ package org.apache.camel.component.couchbase;
 import java.util.Map;
 
 import org.apache.camel.CamelContext;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.DefaultComponent;
 
 /**
  * Couchbase component.
  */
+@Component("couchbase")
 public class CouchbaseComponent extends DefaultComponent {
 
     public CouchbaseComponent() {
diff --git a/components/camel-couchbase/src/main/resources/META-INF/services/org/apache/camel/component/couchbase b/components/camel-couchbase/src/main/resources/META-INF/services/org/apache/camel/component/couchbase
deleted file mode 100644
index c580c63..0000000
--- a/components/camel-couchbase/src/main/resources/META-INF/services/org/apache/camel/component/couchbase
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.couchbase.CouchbaseComponent
-
diff --git a/components/camel-couchdb/src/main/java/org/apache/camel/component/couchdb/CouchDbComponent.java b/components/camel-couchdb/src/main/java/org/apache/camel/component/couchdb/CouchDbComponent.java
index 9f7aedc..9b9f613 100644
--- a/components/camel-couchdb/src/main/java/org/apache/camel/component/couchdb/CouchDbComponent.java
+++ b/components/camel-couchdb/src/main/java/org/apache/camel/component/couchdb/CouchDbComponent.java
@@ -19,8 +19,10 @@ package org.apache.camel.component.couchdb;
 import java.util.Map;
 
 import org.apache.camel.CamelContext;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.DefaultComponent;
 
+@Component("couchdb")
 public class CouchDbComponent extends DefaultComponent {
 
     public CouchDbComponent() {
diff --git a/components/camel-couchdb/src/main/resources/META-INF/services/org/apache/camel/component/couchdb b/components/camel-couchdb/src/main/resources/META-INF/services/org/apache/camel/component/couchdb
deleted file mode 100644
index 1dede52..0000000
--- a/components/camel-couchdb/src/main/resources/META-INF/services/org/apache/camel/component/couchdb
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.couchdb.CouchDbComponent
\ No newline at end of file
diff --git a/components/camel-crypto-cms/src/main/java/org/apache/camel/component/crypto/cms/CryptoCmsComponent.java b/components/camel-crypto-cms/src/main/java/org/apache/camel/component/crypto/cms/CryptoCmsComponent.java
index 90db00d..209211d 100644
--- a/components/camel-crypto-cms/src/main/java/org/apache/camel/component/crypto/cms/CryptoCmsComponent.java
+++ b/components/camel-crypto-cms/src/main/java/org/apache/camel/component/crypto/cms/CryptoCmsComponent.java
@@ -34,11 +34,13 @@ import org.apache.camel.component.crypto.cms.sig.SignedDataCreator;
 import org.apache.camel.component.crypto.cms.sig.SignedDataCreatorConfiguration;
 import org.apache.camel.component.crypto.cms.sig.SignedDataVerifierConfiguration;
 import org.apache.camel.component.crypto.cms.sig.SignedDataVerifierFromHeader;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.DefaultComponent;
 import org.apache.camel.spi.Metadata;
 import org.apache.camel.util.ObjectHelper;
 import org.bouncycastle.jce.provider.BouncyCastleProvider;
 
+@Component("crypto-cms")
 public class CryptoCmsComponent extends DefaultComponent {
 
     @Metadata(label = "advanced")
diff --git a/components/camel-crypto-cms/src/main/resources/META-INF/services/org/apache/camel/component/crypto-cms b/components/camel-crypto-cms/src/main/resources/META-INF/services/org/apache/camel/component/crypto-cms
deleted file mode 100644
index 542d209..0000000
--- a/components/camel-crypto-cms/src/main/resources/META-INF/services/org/apache/camel/component/crypto-cms
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.crypto.cms.CryptoCmsComponent
diff --git a/components/camel-crypto/src/main/java/org/apache/camel/component/crypto/DigitalSignatureComponent.java b/components/camel-crypto/src/main/java/org/apache/camel/component/crypto/DigitalSignatureComponent.java
index 8ec0835..63cdb02 100644
--- a/components/camel-crypto/src/main/java/org/apache/camel/component/crypto/DigitalSignatureComponent.java
+++ b/components/camel-crypto/src/main/java/org/apache/camel/component/crypto/DigitalSignatureComponent.java
@@ -22,10 +22,12 @@ import java.util.Map;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.DefaultComponent;
 import org.apache.camel.spi.Metadata;
 import org.apache.camel.util.ObjectHelper;
 
+@Component("crypto")
 public class DigitalSignatureComponent extends DefaultComponent {
 
     @Metadata(label = "advanced")
diff --git a/components/camel-crypto/src/main/java/org/apache/camel/converter/crypto/CryptoDataFormat.java b/components/camel-crypto/src/main/java/org/apache/camel/converter/crypto/CryptoDataFormat.java
index dc6c830..88202e3 100644
--- a/components/camel-crypto/src/main/java/org/apache/camel/converter/crypto/CryptoDataFormat.java
+++ b/components/camel-crypto/src/main/java/org/apache/camel/converter/crypto/CryptoDataFormat.java
@@ -36,6 +36,7 @@ import org.apache.camel.Exchange;
 import org.apache.camel.converter.stream.OutputStreamBuilder;
 import org.apache.camel.spi.DataFormat;
 import org.apache.camel.spi.DataFormatName;
+import org.apache.camel.spi.annotations.Dataformat;
 import org.apache.camel.support.ServiceSupport;
 import org.apache.camel.support.ExchangeHelper;
 import org.apache.camel.util.IOHelper;
@@ -69,6 +70,7 @@ import org.slf4j.LoggerFactory;
  * <li>http://en.wikipedia.org/wiki/HMAC</li>
  * </ul>
  */
+@Dataformat("crypto")
 public class CryptoDataFormat extends ServiceSupport implements DataFormat, DataFormatName {
 
     public static final String KEY = "CamelCryptoKey";
diff --git a/components/camel-crypto/src/main/java/org/apache/camel/converter/crypto/PGPKeyAccessDataFormat.java b/components/camel-crypto/src/main/java/org/apache/camel/converter/crypto/PGPKeyAccessDataFormat.java
index 50b9f47..e2d81e3 100644
--- a/components/camel-crypto/src/main/java/org/apache/camel/converter/crypto/PGPKeyAccessDataFormat.java
+++ b/components/camel-crypto/src/main/java/org/apache/camel/converter/crypto/PGPKeyAccessDataFormat.java
@@ -33,6 +33,7 @@ import org.apache.camel.Exchange;
 import org.apache.camel.converter.stream.OutputStreamBuilder;
 import org.apache.camel.spi.DataFormat;
 import org.apache.camel.spi.DataFormatName;
+import org.apache.camel.spi.annotations.Dataformat;
 import org.apache.camel.support.ServiceSupport;
 import org.apache.camel.support.ExchangeHelper;
 import org.apache.camel.util.IOHelper;
@@ -77,6 +78,7 @@ import org.slf4j.LoggerFactory;
  * If you want to provide the key access via keyrings in the format of a byte
  * array or file, then you should use the class {@link PGPDataFormat}.
  */
+@Dataformat("pgp")
 public class PGPKeyAccessDataFormat extends ServiceSupport implements DataFormat, DataFormatName {
 
     public static final String KEY_USERID = "CamelPGPDataFormatKeyUserid";
diff --git a/components/camel-crypto/src/main/resources/META-INF/services/org/apache/camel/component/crypto b/components/camel-crypto/src/main/resources/META-INF/services/org/apache/camel/component/crypto
deleted file mode 100644
index 9131405..0000000
--- a/components/camel-crypto/src/main/resources/META-INF/services/org/apache/camel/component/crypto
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.crypto.DigitalSignatureComponent
diff --git a/components/camel-crypto/src/main/resources/META-INF/services/org/apache/camel/dataformat/crypto b/components/camel-crypto/src/main/resources/META-INF/services/org/apache/camel/dataformat/crypto
deleted file mode 100644
index faa4b58..0000000
--- a/components/camel-crypto/src/main/resources/META-INF/services/org/apache/camel/dataformat/crypto
+++ /dev/null
@@ -1,17 +0,0 @@
-#
-# 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.
-#
-class=org.apache.camel.converter.crypto.CryptoDataFormat
diff --git a/components/camel-crypto/src/main/resources/META-INF/services/org/apache/camel/dataformat/pgp b/components/camel-crypto/src/main/resources/META-INF/services/org/apache/camel/dataformat/pgp
deleted file mode 100644
index 38dc61b..0000000
--- a/components/camel-crypto/src/main/resources/META-INF/services/org/apache/camel/dataformat/pgp
+++ /dev/null
@@ -1,17 +0,0 @@
-#
-# 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.
-#
-class=org.apache.camel.converter.crypto.PGPDataFormat
diff --git a/components/camel-csv/src/main/java/org/apache/camel/dataformat/csv/CsvDataFormat.java b/components/camel-csv/src/main/java/org/apache/camel/dataformat/csv/CsvDataFormat.java
index c6f1e1a..e9bee40 100644
--- a/components/camel-csv/src/main/java/org/apache/camel/dataformat/csv/CsvDataFormat.java
+++ b/components/camel-csv/src/main/java/org/apache/camel/dataformat/csv/CsvDataFormat.java
@@ -23,6 +23,7 @@ import java.util.Arrays;
 import org.apache.camel.Exchange;
 import org.apache.camel.spi.DataFormat;
 import org.apache.camel.spi.DataFormatName;
+import org.apache.camel.spi.annotations.Dataformat;
 import org.apache.camel.support.ServiceSupport;
 import org.apache.commons.csv.CSVFormat;
 import org.apache.commons.csv.QuoteMode;
@@ -36,6 +37,7 @@ import org.apache.commons.csv.QuoteMode;
  * Autogeneration can be disabled. In this case, only the fields defined in
  * csvConfig are written on the output.
  */
+@Dataformat("csv")
 public class CsvDataFormat extends ServiceSupport implements DataFormat, DataFormatName {
     // CSV format options
     private CSVFormat format = CSVFormat.DEFAULT;
diff --git a/components/camel-csv/src/main/resources/META-INF/services/org/apache/camel/dataformat/csv b/components/camel-csv/src/main/resources/META-INF/services/org/apache/camel/dataformat/csv
deleted file mode 100644
index acd7044..0000000
--- a/components/camel-csv/src/main/resources/META-INF/services/org/apache/camel/dataformat/csv
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.dataformat.csv.CsvDataFormat
diff --git a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfComponent.java b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfComponent.java
index c0f79c9..d5a7ed6 100644
--- a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfComponent.java
+++ b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfComponent.java
@@ -24,6 +24,7 @@ import org.apache.camel.SSLContextParametersAware;
 import org.apache.camel.component.cxf.common.message.CxfConstants;
 import org.apache.camel.impl.HeaderFilterStrategyComponent;
 import org.apache.camel.spi.Metadata;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.CamelContextHelper;
 import org.apache.camel.support.IntrospectionSupport;
 import org.apache.cxf.message.Message;
@@ -31,6 +32,7 @@ import org.apache.cxf.message.Message;
 /**
  * Defines the <a href="http://camel.apache.org/cxf.html">CXF Component</a>
  */
+@Component("cxf")
 public class CxfComponent extends HeaderFilterStrategyComponent implements SSLContextParametersAware {
 
     @Metadata(label = "advanced")
diff --git a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsComponent.java b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsComponent.java
index 200f8db..7bedb0e 100644
--- a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsComponent.java
+++ b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsComponent.java
@@ -27,6 +27,7 @@ import org.apache.camel.component.cxf.blueprint.BlueprintSupport;
 import org.apache.camel.component.cxf.common.message.CxfConstants;
 import org.apache.camel.impl.HeaderFilterStrategyComponent;
 import org.apache.camel.spi.Metadata;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.CamelContextHelper;
 import org.apache.camel.util.CastUtils;
 import org.apache.camel.support.ObjectHelper;
@@ -37,6 +38,7 @@ import org.slf4j.LoggerFactory;
 /**
  * Defines the <a href="http://camel.apache.org/cxfrs.html">CXF RS Component</a> 
  */
+@Component("cxfrs")
 public class CxfRsComponent extends HeaderFilterStrategyComponent implements SSLContextParametersAware {
 
     private static final Logger LOG = LoggerFactory.getLogger(CxfRsComponent.class);
diff --git a/components/camel-cxf/src/main/resources/META-INF/services/org/apache/camel/component/cxf b/components/camel-cxf/src/main/resources/META-INF/services/org/apache/camel/component/cxf
deleted file mode 100644
index 3ac6def..0000000
--- a/components/camel-cxf/src/main/resources/META-INF/services/org/apache/camel/component/cxf
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.cxf.CxfComponent
diff --git a/components/camel-cxf/src/main/resources/META-INF/services/org/apache/camel/component/cxfbean b/components/camel-cxf/src/main/resources/META-INF/services/org/apache/camel/component/cxfbean
deleted file mode 100644
index ffed023..0000000
--- a/components/camel-cxf/src/main/resources/META-INF/services/org/apache/camel/component/cxfbean
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.cxf.cxfbean.CxfBeanComponent
diff --git a/components/camel-cxf/src/main/resources/META-INF/services/org/apache/camel/component/cxfrs b/components/camel-cxf/src/main/resources/META-INF/services/org/apache/camel/component/cxfrs
deleted file mode 100644
index 3cddd7d..0000000
--- a/components/camel-cxf/src/main/resources/META-INF/services/org/apache/camel/component/cxfrs
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.cxf.jaxrs.CxfRsComponent
diff --git a/components/camel-digitalocean/src/main/java/org/apache/camel/component/digitalocean/DigitalOceanComponent.java b/components/camel-digitalocean/src/main/java/org/apache/camel/component/digitalocean/DigitalOceanComponent.java
index 56ac1e7..a09f42c 100644
--- a/components/camel-digitalocean/src/main/java/org/apache/camel/component/digitalocean/DigitalOceanComponent.java
+++ b/components/camel-digitalocean/src/main/java/org/apache/camel/component/digitalocean/DigitalOceanComponent.java
@@ -20,6 +20,7 @@ import java.util.Map;
 
 import org.apache.camel.Endpoint;
 import org.apache.camel.component.digitalocean.constants.DigitalOceanResources;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.DefaultComponent;
 import org.apache.camel.util.ObjectHelper;
 import org.slf4j.Logger;
@@ -28,6 +29,7 @@ import org.slf4j.LoggerFactory;
 /**
  * Represents the component that manages {@link DigitalOceanEndpoint}.
  */
+@Component("digitalocean")
 public class DigitalOceanComponent extends DefaultComponent {
 
     private static final transient Logger LOG = LoggerFactory.getLogger(DigitalOceanComponent.class);
diff --git a/components/camel-digitalocean/src/main/resources/META-INF/services/org/apache/camel/component/digitalocean b/components/camel-digitalocean/src/main/resources/META-INF/services/org/apache/camel/component/digitalocean
deleted file mode 100644
index 05cf444..0000000
--- a/components/camel-digitalocean/src/main/resources/META-INF/services/org/apache/camel/component/digitalocean
+++ /dev/null
@@ -1,18 +0,0 @@
-## ---------------------------------------------------------------------------
-## 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.
-## ---------------------------------------------------------------------------
-
-class=org.apache.camel.component.digitalocean.DigitalOceanComponent
diff --git a/components/camel-digitalocean/src/main/resources/log4j2.properties b/components/camel-digitalocean/src/main/resources/log4j2.properties
deleted file mode 100644
index a7687ab..0000000
--- a/components/camel-digitalocean/src/main/resources/log4j2.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-## ---------------------------------------------------------------------------
-## 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.
-## ---------------------------------------------------------------------------
-appender.out.type=Console
-appender.out.name=out
-appender.out.layout.type=PatternLayout
-appender.out.layout.pattern=[%30.30t] %-30.30c{1} %-5p %m%n
-rootLogger.level=DEBUG
-rootLogger.appenderRef.out.ref=out
diff --git a/components/camel-disruptor/src/main/java/org/apache/camel/component/disruptor/DisruptorComponent.java b/components/camel-disruptor/src/main/java/org/apache/camel/component/disruptor/DisruptorComponent.java
index d034bd2..4bf4445 100644
--- a/components/camel-disruptor/src/main/java/org/apache/camel/component/disruptor/DisruptorComponent.java
+++ b/components/camel-disruptor/src/main/java/org/apache/camel/component/disruptor/DisruptorComponent.java
@@ -20,6 +20,7 @@ import java.util.HashMap;
 import java.util.Map;
 
 import org.apache.camel.Endpoint;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.DefaultComponent;
 import org.apache.camel.spi.Metadata;
 import org.slf4j.Logger;
@@ -30,6 +31,7 @@ import org.slf4j.LoggerFactory;
  * for asynchronous SEDA exchanges on an
  * <a href="https://github.com/LMAX-Exchange/disruptor">LMAX Disruptor</a> within a CamelContext
  */
+@Component("disruptor")
 public class DisruptorComponent extends DefaultComponent {
     
     public static final int DEFAULT_BUFFER_SIZE = 1024;
diff --git a/components/camel-disruptor/src/main/java/org/apache/camel/component/disruptor/vm/DisruptorVmComponent.java b/components/camel-disruptor/src/main/java/org/apache/camel/component/disruptor/vm/DisruptorVmComponent.java
index 7a8ce62..a77b021 100644
--- a/components/camel-disruptor/src/main/java/org/apache/camel/component/disruptor/vm/DisruptorVmComponent.java
+++ b/components/camel-disruptor/src/main/java/org/apache/camel/component/disruptor/vm/DisruptorVmComponent.java
@@ -22,6 +22,7 @@ import java.util.concurrent.atomic.AtomicInteger;
 
 import org.apache.camel.component.disruptor.DisruptorComponent;
 import org.apache.camel.component.disruptor.DisruptorReference;
+import org.apache.camel.spi.annotations.Component;
 
 /**
  * An implementation of the <a href="http://camel.apache.org/vm.html">VM components</a>
@@ -30,6 +31,7 @@ import org.apache.camel.component.disruptor.DisruptorReference;
  * the camel-disruptor.jar. i.e. to handle communicating across CamelContext instances and possibly across
  * web application contexts, providing that camel-disruptor.jar is on the system classpath.
  */
+@Component("disruptor-vm")
 public class DisruptorVmComponent extends DisruptorComponent {
     protected static final Map<String, DisruptorReference> DISRUPTORS = new HashMap<>();
     private static final AtomicInteger START_COUNTER = new AtomicInteger();
diff --git a/components/camel-disruptor/src/main/resources/META-INF/services/org/apache/camel/component/disruptor b/components/camel-disruptor/src/main/resources/META-INF/services/org/apache/camel/component/disruptor
deleted file mode 100644
index bf2d43a..0000000
--- a/components/camel-disruptor/src/main/resources/META-INF/services/org/apache/camel/component/disruptor
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.disruptor.DisruptorComponent
diff --git a/components/camel-disruptor/src/main/resources/META-INF/services/org/apache/camel/component/disruptor-vm b/components/camel-disruptor/src/main/resources/META-INF/services/org/apache/camel/component/disruptor-vm
deleted file mode 100644
index 3f7666f..0000000
--- a/components/camel-disruptor/src/main/resources/META-INF/services/org/apache/camel/component/disruptor-vm
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.disruptor.vm.DisruptorVmComponent
diff --git a/components/camel-dns/src/main/java/org/apache/camel/component/dns/DnsComponent.java b/components/camel-dns/src/main/java/org/apache/camel/component/dns/DnsComponent.java
index e7f371f..6120fca 100644
--- a/components/camel-dns/src/main/java/org/apache/camel/component/dns/DnsComponent.java
+++ b/components/camel-dns/src/main/java/org/apache/camel/component/dns/DnsComponent.java
@@ -19,6 +19,7 @@ package org.apache.camel.component.dns;
 import java.util.Map;
 
 import org.apache.camel.Endpoint;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.DefaultComponent;
 
 /**
@@ -67,6 +68,7 @@ import org.apache.camel.support.DefaultComponent;
  * <p/>
  * </p>
  */
+@Component("dns")
 public class DnsComponent extends DefaultComponent {
 
     public DnsComponent() {
diff --git a/components/camel-dns/src/main/resources/META-INF/services/org/apache/camel/component/dns b/components/camel-dns/src/main/resources/META-INF/services/org/apache/camel/component/dns
deleted file mode 100644
index 2f22a1b..0000000
--- a/components/camel-dns/src/main/resources/META-INF/services/org/apache/camel/component/dns
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# 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.
-#
-class=org.apache.camel.component.dns.DnsComponent
\ No newline at end of file
diff --git a/components/camel-docker/src/main/java/org/apache/camel/component/docker/DockerComponent.java b/components/camel-docker/src/main/java/org/apache/camel/component/docker/DockerComponent.java
index 71b0fa4..b7eef6a 100644
--- a/components/camel-docker/src/main/java/org/apache/camel/component/docker/DockerComponent.java
+++ b/components/camel-docker/src/main/java/org/apache/camel/component/docker/DockerComponent.java
@@ -22,12 +22,14 @@ import java.util.Map;
 import com.github.dockerjava.api.DockerClient;
 import org.apache.camel.Endpoint;
 import org.apache.camel.component.docker.exception.DockerException;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.DefaultComponent;
 import org.apache.camel.spi.Metadata;
 
 /**
  * Represents the component that manages {@link DockerEndpoint}.
  */
+@Component("docker")
 public class DockerComponent extends DefaultComponent {
 
     @Metadata(label = "advanced")
diff --git a/components/camel-docker/src/main/resources/META-INF/services/org/apache/camel/component/docker b/components/camel-docker/src/main/resources/META-INF/services/org/apache/camel/component/docker
deleted file mode 100644
index 32402d0..0000000
--- a/components/camel-docker/src/main/resources/META-INF/services/org/apache/camel/component/docker
+++ /dev/null
@@ -1,17 +0,0 @@
-#
-# 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.
-#
-class=org.apache.camel.component.docker.DockerComponent
diff --git a/components/camel-dozer/src/main/java/org/apache/camel/component/dozer/DozerComponent.java b/components/camel-dozer/src/main/java/org/apache/camel/component/dozer/DozerComponent.java
index 880d239..a81c900 100644
--- a/components/camel-dozer/src/main/java/org/apache/camel/component/dozer/DozerComponent.java
+++ b/components/camel-dozer/src/main/java/org/apache/camel/component/dozer/DozerComponent.java
@@ -21,8 +21,10 @@ import java.util.Map;
 import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
 import org.apache.camel.converter.dozer.DozerBeanMapperConfiguration;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.DefaultComponent;
 
+@Component("dozer")
 public class DozerComponent extends DefaultComponent {
 
     public DozerComponent() {
diff --git a/components/camel-dozer/src/main/resources/META-INF/services/org/apache/camel/component/dozer b/components/camel-dozer/src/main/resources/META-INF/services/org/apache/camel/component/dozer
deleted file mode 100644
index 22afe69..0000000
--- a/components/camel-dozer/src/main/resources/META-INF/services/org/apache/camel/component/dozer
+++ /dev/null
@@ -1,17 +0,0 @@
-#
-# 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.
-#
-class=org.apache.camel.component.dozer.DozerComponent
\ No newline at end of file
diff --git a/components/camel-drill/src/main/java/org/apache/camel/component/drill/DrillComponent.java b/components/camel-drill/src/main/java/org/apache/camel/component/drill/DrillComponent.java
index 8bb7445..15dea49 100644
--- a/components/camel-drill/src/main/java/org/apache/camel/component/drill/DrillComponent.java
+++ b/components/camel-drill/src/main/java/org/apache/camel/component/drill/DrillComponent.java
@@ -20,12 +20,14 @@ import java.util.Map;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.DefaultComponent;
 
 /**
  * Represents the component that manages {@link DrillEndpoint}. It holds the
  * list of named direct endpoints.
  */
+@Component("drill")
 public class DrillComponent extends DefaultComponent {
 
     public DrillComponent() {
diff --git a/components/camel-drill/src/main/resources/META-INF/services/org/apache/camel/component/drill b/components/camel-drill/src/main/resources/META-INF/services/org/apache/camel/component/drill
deleted file mode 100644
index 5104ea3..0000000
--- a/components/camel-drill/src/main/resources/META-INF/services/org/apache/camel/component/drill
+++ /dev/null
@@ -1,17 +0,0 @@
-#
-# 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.
-#
-class=org.apache.camel.component.drill.DrillComponent
diff --git a/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/DropboxComponent.java b/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/DropboxComponent.java
index 26d0ca1..3051e34 100644
--- a/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/DropboxComponent.java
+++ b/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/DropboxComponent.java
@@ -24,10 +24,12 @@ import org.apache.camel.component.dropbox.util.DropboxOperation;
 import org.apache.camel.component.dropbox.util.DropboxPropertyManager;
 import org.apache.camel.component.dropbox.util.DropboxUploadMode;
 import org.apache.camel.component.dropbox.validator.DropboxConfigurationValidator;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.DefaultComponent;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+@Component("dropbox")
 public class DropboxComponent extends DefaultComponent {
 
     private static final transient Logger LOG = LoggerFactory.getLogger(DropboxComponent.class);
diff --git a/components/camel-dropbox/src/main/resources/META-INF/services/org/apache/camel/component/dropbox b/components/camel-dropbox/src/main/resources/META-INF/services/org/apache/camel/component/dropbox
deleted file mode 100755
index 1ed5712..0000000
--- a/components/camel-dropbox/src/main/resources/META-INF/services/org/apache/camel/component/dropbox
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.dropbox.DropboxComponent
diff --git a/components/camel-ehcache/src/main/java/org/apache/camel/component/ehcache/EhcacheComponent.java b/components/camel-ehcache/src/main/java/org/apache/camel/component/ehcache/EhcacheComponent.java
index 0f9a801..289ec2e 100644
--- a/components/camel-ehcache/src/main/java/org/apache/camel/component/ehcache/EhcacheComponent.java
+++ b/components/camel-ehcache/src/main/java/org/apache/camel/component/ehcache/EhcacheComponent.java
@@ -24,6 +24,7 @@ import java.util.concurrent.ConcurrentMap;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.DefaultComponent;
 import org.apache.camel.spi.ClassResolver;
 import org.apache.camel.spi.Metadata;
@@ -40,6 +41,7 @@ import org.slf4j.LoggerFactory;
 /**
  * Represents the component that manages {@link DefaultComponent}.
  */
+@Component("ehcache")
 public class EhcacheComponent extends DefaultComponent {
     private static final Logger LOGGER = LoggerFactory.getLogger(EhcacheComponent.class);
 
diff --git a/components/camel-ehcache/src/main/resources/META-INF/services/org/apache/camel/component/ehcache b/components/camel-ehcache/src/main/resources/META-INF/services/org/apache/camel/component/ehcache
deleted file mode 100644
index 9b3dafd..0000000
--- a/components/camel-ehcache/src/main/resources/META-INF/services/org/apache/camel/component/ehcache
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.ehcache.EhcacheComponent
diff --git a/components/camel-ejb/src/main/java/org/apache/camel/component/ejb/EjbComponent.java b/components/camel-ejb/src/main/java/org/apache/camel/component/ejb/EjbComponent.java
index 6682d18..af57778 100644
--- a/components/camel-ejb/src/main/java/org/apache/camel/component/ejb/EjbComponent.java
+++ b/components/camel-ejb/src/main/java/org/apache/camel/component/ejb/EjbComponent.java
@@ -28,10 +28,12 @@ import org.apache.camel.component.bean.BeanComponent;
 import org.apache.camel.component.bean.BeanHolder;
 import org.apache.camel.impl.JndiRegistry;
 import org.apache.camel.spi.Registry;
+import org.apache.camel.spi.annotations.Component;
 
 /**
  * EJB component to invoke EJBs like the {@link org.apache.camel.component.bean.BeanComponent}.
  */
+@Component("ejb")
 public class EjbComponent extends BeanComponent {
 
     private Context context;
diff --git a/components/camel-ejb/src/main/resources/META-INF/services/org/apache/camel/component/ejb b/components/camel-ejb/src/main/resources/META-INF/services/org/apache/camel/component/ejb
deleted file mode 100644
index 3c04121..0000000
--- a/components/camel-ejb/src/main/resources/META-INF/services/org/apache/camel/component/ejb
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.ejb.EjbComponent
\ No newline at end of file
diff --git a/components/camel-elasticsearch-rest/src/main/java/org/apache/camel/component/elasticsearch/ElasticsearchComponent.java b/components/camel-elasticsearch-rest/src/main/java/org/apache/camel/component/elasticsearch/ElasticsearchComponent.java
index 657913d..e26f2cf 100644
--- a/components/camel-elasticsearch-rest/src/main/java/org/apache/camel/component/elasticsearch/ElasticsearchComponent.java
+++ b/components/camel-elasticsearch-rest/src/main/java/org/apache/camel/component/elasticsearch/ElasticsearchComponent.java
@@ -24,6 +24,7 @@ import java.util.Map;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.DefaultComponent;
 import org.apache.camel.spi.Metadata;
 import org.apache.http.HttpHost;
@@ -32,6 +33,7 @@ import org.elasticsearch.client.RestClient;
 /**
  * Represents the component that manages {@link ElasticsearchEndpoint}.
  */
+@Component("elasticsearch-rest")
 public class ElasticsearchComponent extends DefaultComponent {
 
     @Metadata(label = "advanced")
diff --git a/components/camel-elasticsearch-rest/src/main/resources/META-INF/services/org/apache/camel/component/elasticsearch-rest b/components/camel-elasticsearch-rest/src/main/resources/META-INF/services/org/apache/camel/component/elasticsearch-rest
deleted file mode 100644
index af7e7da..0000000
--- a/components/camel-elasticsearch-rest/src/main/resources/META-INF/services/org/apache/camel/component/elasticsearch-rest
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.elasticsearch.ElasticsearchComponent
\ No newline at end of file
diff --git a/components/camel-elsql/src/main/java/org/apache/camel/component/elsql/ElsqlComponent.java b/components/camel-elsql/src/main/java/org/apache/camel/component/elsql/ElsqlComponent.java
index 744a890..1c636d5 100644
--- a/components/camel-elsql/src/main/java/org/apache/camel/component/elsql/ElsqlComponent.java
+++ b/components/camel-elsql/src/main/java/org/apache/camel/component/elsql/ElsqlComponent.java
@@ -21,12 +21,14 @@ import javax.sql.DataSource;
 
 import com.opengamma.elsql.ElSqlConfig;
 import org.apache.camel.Endpoint;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.CamelContextHelper;
 import org.apache.camel.support.DefaultComponent;
 import org.apache.camel.spi.Metadata;
 import org.apache.camel.support.IntrospectionSupport;
 import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate;
 
+@Component("elsql")
 public class ElsqlComponent extends DefaultComponent {
 
     private ElSqlDatabaseVendor databaseVendor;
diff --git a/components/camel-elsql/src/main/resources/META-INF/services/org/apache/camel/component/elsql b/components/camel-elsql/src/main/resources/META-INF/services/org/apache/camel/component/elsql
deleted file mode 100644
index d27a646..0000000
--- a/components/camel-elsql/src/main/resources/META-INF/services/org/apache/camel/component/elsql
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.elsql.ElsqlComponent
diff --git a/components/camel-etcd/src/main/java/org/apache/camel/component/etcd/EtcdComponent.java b/components/camel-etcd/src/main/java/org/apache/camel/component/etcd/EtcdComponent.java
index 1472b16..21ffffd 100644
--- a/components/camel-etcd/src/main/java/org/apache/camel/component/etcd/EtcdComponent.java
+++ b/components/camel-etcd/src/main/java/org/apache/camel/component/etcd/EtcdComponent.java
@@ -22,6 +22,7 @@ import java.util.Optional;
 import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
 import org.apache.camel.SSLContextParametersAware;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.DefaultComponent;
 import org.apache.camel.spi.Metadata;
 import org.apache.camel.util.StringHelper;
@@ -30,6 +31,7 @@ import org.apache.camel.support.jsse.SSLContextParameters;
 /**
  * Represents the component that manages {@link AbstractEtcdEndpoint}.
  */
+@Component("etcd")
 public class EtcdComponent extends DefaultComponent implements SSLContextParametersAware {
 
     @Metadata(label = "advanced")
diff --git a/components/camel-etcd/src/main/resources/META-INF/services/org/apache/camel/component/etcd b/components/camel-etcd/src/main/resources/META-INF/services/org/apache/camel/component/etcd
deleted file mode 100644
index 5d21d89..0000000
--- a/components/camel-etcd/src/main/resources/META-INF/services/org/apache/camel/component/etcd
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.etcd.EtcdComponent
diff --git a/components/camel-eventadmin/src/main/java/org/apache/camel/component/eventadmin/EventAdminComponent.java b/components/camel-eventadmin/src/main/java/org/apache/camel/component/eventadmin/EventAdminComponent.java
index 3235625..ee30f84 100644
--- a/components/camel-eventadmin/src/main/java/org/apache/camel/component/eventadmin/EventAdminComponent.java
+++ b/components/camel-eventadmin/src/main/java/org/apache/camel/component/eventadmin/EventAdminComponent.java
@@ -19,6 +19,7 @@ package org.apache.camel.component.eventadmin;
 import java.util.Map;
 
 import org.apache.camel.Endpoint;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.DefaultComponent;
 import org.apache.camel.util.ObjectHelper;
 import org.osgi.framework.BundleContext;
@@ -26,6 +27,7 @@ import org.osgi.framework.BundleContext;
 /**
  * OSGi EventAdmin component.
  */
+@Component("eventadmin")
 public class EventAdminComponent extends DefaultComponent {
 
     private BundleContext bundleContext;
diff --git a/components/camel-eventadmin/src/main/resources/META-INF/services/org/apache/camel/component/eventadmin b/components/camel-eventadmin/src/main/resources/META-INF/services/org/apache/camel/component/eventadmin
deleted file mode 100644
index dfb7aa2..0000000
--- a/components/camel-eventadmin/src/main/resources/META-INF/services/org/apache/camel/component/eventadmin
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.eventadmin.EventAdminComponent
diff --git a/components/camel-exec/src/main/java/org/apache/camel/component/exec/ExecComponent.java b/components/camel-exec/src/main/java/org/apache/camel/component/exec/ExecComponent.java
index 55e1862..879af39 100644
--- a/components/camel-exec/src/main/java/org/apache/camel/component/exec/ExecComponent.java
+++ b/components/camel-exec/src/main/java/org/apache/camel/component/exec/ExecComponent.java
@@ -20,12 +20,14 @@ import java.net.URLDecoder;
 import java.util.Map;
 
 import org.apache.camel.Endpoint;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.DefaultComponent;
 
 /**
  * Represents the component that manages {@link ExecEndpoint}. With the
  * component it is possible to execute system commands.
  */
+@Component("exec")
 public class ExecComponent extends DefaultComponent {
 
     public ExecComponent() {
diff --git a/components/camel-exec/src/main/resources/META-INF/services/org/apache/camel/component/exec b/components/camel-exec/src/main/resources/META-INF/services/org/apache/camel/component/exec
deleted file mode 100644
index 302a7d4..0000000
--- a/components/camel-exec/src/main/resources/META-INF/services/org/apache/camel/component/exec
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.exec.ExecComponent
diff --git a/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/FacebookComponent.java b/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/FacebookComponent.java
index 5448dda..0397a7c 100644
--- a/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/FacebookComponent.java
+++ b/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/FacebookComponent.java
@@ -23,6 +23,7 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
 import org.apache.camel.component.facebook.config.FacebookConfiguration;
 import org.apache.camel.component.facebook.config.FacebookEndpointConfiguration;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.DefaultComponent;
 import org.apache.camel.spi.Metadata;
 import org.apache.camel.support.IntrospectionSupport;
@@ -30,6 +31,7 @@ import org.apache.camel.support.IntrospectionSupport;
 /**
  * Represents the component that manages {@link FacebookEndpoint}.
  */
+@Component("facebook")
 public class FacebookComponent extends DefaultComponent {
 
     @Metadata(label = "advanced")
diff --git a/components/camel-facebook/src/main/resources/META-INF/services/org/apache/camel/component/facebook b/components/camel-facebook/src/main/resources/META-INF/services/org/apache/camel/component/facebook
deleted file mode 100644
index 0ee7e12..0000000
--- a/components/camel-facebook/src/main/resources/META-INF/services/org/apache/camel/component/facebook
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.facebook.FacebookComponent
diff --git a/components/camel-fastjson/src/main/java/org/apache/camel/component/fastjson/FastjsonDataFormat.java b/components/camel-fastjson/src/main/java/org/apache/camel/component/fastjson/FastjsonDataFormat.java
index 61c935e..29c4372 100644
--- a/components/camel-fastjson/src/main/java/org/apache/camel/component/fastjson/FastjsonDataFormat.java
+++ b/components/camel-fastjson/src/main/java/org/apache/camel/component/fastjson/FastjsonDataFormat.java
@@ -28,12 +28,14 @@ import org.apache.camel.Exchange;
 import org.apache.camel.Message;
 import org.apache.camel.spi.DataFormat;
 import org.apache.camel.spi.DataFormatName;
+import org.apache.camel.spi.annotations.Dataformat;
 import org.apache.camel.support.ServiceSupport;
 
 /**
  * A <a href="http://camel.apache.org/data-format.html">data format</a> ({@link DataFormat})
  * using <a href="https://github.com/alibaba/fastjson">Fastjson</a> to marshal to and from JSON.
  */
+@Dataformat("json-fastjson")
 public class FastjsonDataFormat extends ServiceSupport implements DataFormat, DataFormatName {
 
     private FastJsonConfig config;
diff --git a/components/camel-fastjson/src/main/resources/META-INF/services/org/apache/camel/dataformat/json-fastjson b/components/camel-fastjson/src/main/resources/META-INF/services/org/apache/camel/dataformat/json-fastjson
deleted file mode 100644
index 7fcdaff..0000000
--- a/components/camel-fastjson/src/main/resources/META-INF/services/org/apache/camel/dataformat/json-fastjson
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.fastjson.FastjsonDataFormat
diff --git a/components/camel-fhir/camel-fhir-component/src/main/java/org/apache/camel/component/fhir/FhirComponent.java b/components/camel-fhir/camel-fhir-component/src/main/java/org/apache/camel/component/fhir/FhirComponent.java
index 2e85c3d..2dd8591 100644
--- a/components/camel-fhir/camel-fhir-component/src/main/java/org/apache/camel/component/fhir/FhirComponent.java
+++ b/components/camel-fhir/camel-fhir-component/src/main/java/org/apache/camel/component/fhir/FhirComponent.java
@@ -23,11 +23,13 @@ import org.apache.camel.component.fhir.internal.FhirApiCollection;
 import org.apache.camel.component.fhir.internal.FhirApiName;
 import org.apache.camel.component.fhir.internal.FhirHelper;
 import org.apache.camel.spi.Metadata;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.component.AbstractApiComponent;
 
 /**
  * Represents the component that manages {@link FhirEndpoint}.
  */
+@Component("fhir")
 public class FhirComponent extends AbstractApiComponent<FhirApiName, FhirConfiguration, FhirApiCollection> {
 
     @Metadata(label = "advanced")
diff --git a/components/camel-fhir/camel-fhir-component/src/main/java/org/apache/camel/component/fhir/FhirJsonDataFormat.java b/components/camel-fhir/camel-fhir-component/src/main/java/org/apache/camel/component/fhir/FhirJsonDataFormat.java
index d384b54..01b22ce 100644
--- a/components/camel-fhir/camel-fhir-component/src/main/java/org/apache/camel/component/fhir/FhirJsonDataFormat.java
+++ b/components/camel-fhir/camel-fhir-component/src/main/java/org/apache/camel/component/fhir/FhirJsonDataFormat.java
@@ -22,8 +22,10 @@ import java.io.OutputStream;
 import java.io.OutputStreamWriter;
 import ca.uhn.fhir.parser.IParser;
 import org.apache.camel.Exchange;
+import org.apache.camel.spi.annotations.Dataformat;
 import org.hl7.fhir.instance.model.api.IBaseResource;
 
+@Dataformat("fhirJson")
 public class FhirJsonDataFormat extends FhirDataFormat {
 
     @Override
diff --git a/components/camel-fhir/camel-fhir-component/src/main/java/org/apache/camel/component/fhir/FhirXmlDataFormat.java b/components/camel-fhir/camel-fhir-component/src/main/java/org/apache/camel/component/fhir/FhirXmlDataFormat.java
index 844ff96..b2e5ca3 100644
--- a/components/camel-fhir/camel-fhir-component/src/main/java/org/apache/camel/component/fhir/FhirXmlDataFormat.java
+++ b/components/camel-fhir/camel-fhir-component/src/main/java/org/apache/camel/component/fhir/FhirXmlDataFormat.java
@@ -22,8 +22,10 @@ import java.io.OutputStream;
 import java.io.OutputStreamWriter;
 import ca.uhn.fhir.parser.IParser;
 import org.apache.camel.Exchange;
+import org.apache.camel.spi.annotations.Dataformat;
 import org.hl7.fhir.instance.model.api.IBaseResource;
 
+@Dataformat("fhirXml")
 public class FhirXmlDataFormat extends FhirDataFormat {
     
 
diff --git a/components/camel-fhir/camel-fhir-component/src/main/resources/META-INF/services/org/apache/camel/component/fhir b/components/camel-fhir/camel-fhir-component/src/main/resources/META-INF/services/org/apache/camel/component/fhir
deleted file mode 100644
index da70c09..0000000
--- a/components/camel-fhir/camel-fhir-component/src/main/resources/META-INF/services/org/apache/camel/component/fhir
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.fhir.FhirComponent
diff --git a/components/camel-fhir/camel-fhir-component/src/main/resources/META-INF/services/org/apache/camel/dataformat/fhirJson b/components/camel-fhir/camel-fhir-component/src/main/resources/META-INF/services/org/apache/camel/dataformat/fhirJson
deleted file mode 100644
index 7783571..0000000
--- a/components/camel-fhir/camel-fhir-component/src/main/resources/META-INF/services/org/apache/camel/dataformat/fhirJson
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.fhir.FhirJsonDataFormat
diff --git a/components/camel-fhir/camel-fhir-component/src/main/resources/META-INF/services/org/apache/camel/dataformat/fhirXml b/components/camel-fhir/camel-fhir-component/src/main/resources/META-INF/services/org/apache/camel/dataformat/fhirXml
deleted file mode 100644
index dc4d791..0000000
--- a/components/camel-fhir/camel-fhir-component/src/main/resources/META-INF/services/org/apache/camel/dataformat/fhirXml
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.fhir.FhirXmlDataFormat
diff --git a/components/camel-flatpack/src/main/java/org/apache/camel/component/flatpack/FlatpackComponent.java b/components/camel-flatpack/src/main/java/org/apache/camel/component/flatpack/FlatpackComponent.java
index 03049df..ed200bb 100644
--- a/components/camel-flatpack/src/main/java/org/apache/camel/component/flatpack/FlatpackComponent.java
+++ b/components/camel-flatpack/src/main/java/org/apache/camel/component/flatpack/FlatpackComponent.java
@@ -19,12 +19,14 @@ package org.apache.camel.component.flatpack;
 import java.util.Map;
 
 import org.apache.camel.Endpoint;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.DefaultComponent;
 
 /**
  * A <a href="http://flatpack.sourceforge.net/">Flatpack Component</a>
  * for working with fixed width and delimited files
  */
+@Component("flatpack")
 public class FlatpackComponent extends DefaultComponent {
 
     public static final String HEADER_ID = "header";
diff --git a/components/camel-flatpack/src/main/java/org/apache/camel/dataformat/flatpack/FlatpackDataFormat.java b/components/camel-flatpack/src/main/java/org/apache/camel/dataformat/flatpack/FlatpackDataFormat.java
index 4bf0596..d2dd89b 100644
--- a/components/camel-flatpack/src/main/java/org/apache/camel/dataformat/flatpack/FlatpackDataFormat.java
+++ b/components/camel-flatpack/src/main/java/org/apache/camel/dataformat/flatpack/FlatpackDataFormat.java
@@ -37,6 +37,7 @@ import org.apache.camel.Exchange;
 import org.apache.camel.component.flatpack.DataSetList;
 import org.apache.camel.spi.DataFormat;
 import org.apache.camel.spi.DataFormatName;
+import org.apache.camel.spi.annotations.Dataformat;
 import org.apache.camel.support.ExchangeHelper;
 import org.apache.camel.support.ServiceSupport;
 import org.apache.camel.util.ObjectHelper;
@@ -55,6 +56,7 @@ import org.slf4j.LoggerFactory;
  * </ul>
  * <b>Notice:</b> The Flatpack library does currently not support header and trailers for the marshal operation.
  */
+@Dataformat("flatpack")
 public class FlatpackDataFormat extends ServiceSupport implements DataFormat, DataFormatName {
     private static final Logger LOG = LoggerFactory.getLogger(FlatpackDataFormat.class);
     private ParserFactory parserFactory = DefaultParserFactory.getInstance();
diff --git a/components/camel-flatpack/src/main/resources/META-INF/services/org/apache/camel/component/flatpack b/components/camel-flatpack/src/main/resources/META-INF/services/org/apache/camel/component/flatpack
deleted file mode 100644
index 8da424f..0000000
--- a/components/camel-flatpack/src/main/resources/META-INF/services/org/apache/camel/component/flatpack
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.flatpack.FlatpackComponent
\ No newline at end of file
diff --git a/components/camel-flatpack/src/main/resources/META-INF/services/org/apache/camel/dataformat/flatpack b/components/camel-flatpack/src/main/resources/META-INF/services/org/apache/camel/dataformat/flatpack
deleted file mode 100644
index 6731ece..0000000
--- a/components/camel-flatpack/src/main/resources/META-INF/services/org/apache/camel/dataformat/flatpack
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.dataformat.flatpack.FlatpackDataFormat
diff --git a/components/camel-flink/src/main/java/org/apache/camel/component/flink/FlinkComponent.java b/components/camel-flink/src/main/java/org/apache/camel/component/flink/FlinkComponent.java
index 6fa0b95..533385c 100644
--- a/components/camel-flink/src/main/java/org/apache/camel/component/flink/FlinkComponent.java
+++ b/components/camel-flink/src/main/java/org/apache/camel/component/flink/FlinkComponent.java
@@ -19,6 +19,7 @@ package org.apache.camel.component.flink;
 import java.util.Map;
 
 import org.apache.camel.Endpoint;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.DefaultComponent;
 import org.apache.flink.api.java.DataSet;
 import org.apache.flink.streaming.api.datastream.DataStream;
@@ -26,6 +27,7 @@ import org.apache.flink.streaming.api.datastream.DataStream;
 /**
  * The flink component can be used to send DataSet or DataStream jobs to Apache Flink cluster.
  */
+@Component("flink")
 public class FlinkComponent extends DefaultComponent {
 
     private DataSet ds;
diff --git a/components/camel-flink/src/main/resources/META-INF/services/org/apache/camel/component/flink b/components/camel-flink/src/main/resources/META-INF/services/org/apache/camel/component/flink
deleted file mode 100644
index 3c36c74..0000000
--- a/components/camel-flink/src/main/resources/META-INF/services/org/apache/camel/component/flink
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.flink.FlinkComponent
diff --git a/components/camel-fop/src/main/java/org/apache/camel/component/fop/FopComponent.java b/components/camel-fop/src/main/java/org/apache/camel/component/fop/FopComponent.java
index e3ab62a..a843993 100644
--- a/components/camel-fop/src/main/java/org/apache/camel/component/fop/FopComponent.java
+++ b/components/camel-fop/src/main/java/org/apache/camel/component/fop/FopComponent.java
@@ -19,11 +19,13 @@ package org.apache.camel.component.fop;
 import java.util.Map;
 
 import org.apache.camel.Endpoint;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.DefaultComponent;
 
 /**
  * Represents the component that manages {@link FopEndpoint}.
  */
+@Component("fop")
 public class FopComponent extends DefaultComponent {
 
     public FopComponent() {
diff --git a/components/camel-fop/src/main/resources/META-INF/services/org/apache/camel/component/fop b/components/camel-fop/src/main/resources/META-INF/services/org/apache/camel/component/fop
deleted file mode 100644
index 96cdc01..0000000
--- a/components/camel-fop/src/main/resources/META-INF/services/org/apache/camel/component/fop
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.fop.FopComponent
diff --git a/components/camel-freemarker/src/main/java/org/apache/camel/component/freemarker/FreemarkerComponent.java b/components/camel-freemarker/src/main/java/org/apache/camel/component/freemarker/FreemarkerComponent.java
index 7e3ba75..99355c9 100644
--- a/components/camel-freemarker/src/main/java/org/apache/camel/component/freemarker/FreemarkerComponent.java
+++ b/components/camel-freemarker/src/main/java/org/apache/camel/component/freemarker/FreemarkerComponent.java
@@ -23,6 +23,7 @@ import freemarker.cache.NullCacheStorage;
 import freemarker.cache.URLTemplateLoader;
 import freemarker.template.Configuration;
 import org.apache.camel.Endpoint;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.DefaultComponent;
 import org.apache.camel.spi.Metadata;
 import org.apache.camel.util.ObjectHelper;
@@ -31,6 +32,7 @@ import org.apache.camel.support.ResourceHelper;
 /**
  * Freemarker component.
  */
+@Component("freemarker")
 public class FreemarkerComponent extends DefaultComponent {
 
     @Metadata(label = "advanced")
diff --git a/components/camel-freemarker/src/main/resources/META-INF/services/org/apache/camel/component/freemarker b/components/camel-freemarker/src/main/resources/META-INF/services/org/apache/camel/component/freemarker
deleted file mode 100644
index 05bf487..0000000
--- a/components/camel-freemarker/src/main/resources/META-INF/services/org/apache/camel/component/freemarker
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.freemarker.FreemarkerComponent
diff --git a/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpComponent.java b/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpComponent.java
index ebaab57..f737f9a 100644
--- a/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpComponent.java
+++ b/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpComponent.java
@@ -20,13 +20,18 @@ import java.net.URI;
 import java.util.Map;
 
 import org.apache.camel.CamelContext;
+import org.apache.camel.component.file.FileProcessStrategy;
 import org.apache.camel.component.file.GenericFileEndpoint;
+import org.apache.camel.component.file.remote.strategy.FtpProcessStrategyFactory;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.IntrospectionSupport;
 import org.apache.commons.net.ftp.FTPFile;
 
 /**
  * FTP Component
  */
+@Component("ftp")
+@FileProcessStrategy(FtpProcessStrategyFactory.class)
 public class FtpComponent extends RemoteFileComponent<FTPFile> {
 
     public FtpComponent() {
diff --git a/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpsComponent.java b/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpsComponent.java
index e5d2310..58e3280 100644
--- a/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpsComponent.java
+++ b/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpsComponent.java
@@ -21,8 +21,11 @@ import java.util.Map;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.SSLContextParametersAware;
+import org.apache.camel.component.file.FileProcessStrategy;
 import org.apache.camel.component.file.GenericFileEndpoint;
+import org.apache.camel.component.file.remote.strategy.FtpProcessStrategyFactory;
 import org.apache.camel.spi.Metadata;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.IntrospectionSupport;
 import org.apache.commons.net.ftp.FTPFile;
 
@@ -31,6 +34,8 @@ import org.apache.commons.net.ftp.FTPFile;
  * <p/>
  * If desired, the JVM property <tt>-Djavax.net.debug=all</tt> can be used to see wire-level SSL details.
  */
+@Component("ftps")
+@FileProcessStrategy(FtpProcessStrategyFactory.class)
 public class FtpsComponent extends FtpComponent implements SSLContextParametersAware {
 
     @Metadata(label = "security", defaultValue = "false")
diff --git a/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpComponent.java b/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpComponent.java
index 359d7cc..bf35c2e 100644
--- a/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpComponent.java
+++ b/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpComponent.java
@@ -20,11 +20,16 @@ import java.net.URI;
 import java.util.Map;
 
 import org.apache.camel.CamelContext;
+import org.apache.camel.component.file.FileProcessStrategy;
 import org.apache.camel.component.file.GenericFileEndpoint;
+import org.apache.camel.component.file.remote.strategy.FtpProcessStrategyFactory;
+import org.apache.camel.spi.annotations.Component;
 
 /**
  * Secure FTP Component
  */
+@Component("sftp")
+@FileProcessStrategy(FtpProcessStrategyFactory.class)
 public class SftpComponent extends RemoteFileComponent<SftpRemoteFile> {
 
     public SftpComponent() {
diff --git a/components/camel-ftp/src/main/resources/META-INF/services/org/apache/camel/component/ftp b/components/camel-ftp/src/main/resources/META-INF/services/org/apache/camel/component/ftp
deleted file mode 100644
index c7d4466..0000000
--- a/components/camel-ftp/src/main/resources/META-INF/services/org/apache/camel/component/ftp
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.file.remote.FtpComponent
-strategy.factory.class=org.apache.camel.component.file.remote.strategy.FtpProcessStrategyFactory
diff --git a/components/camel-ftp/src/main/resources/META-INF/services/org/apache/camel/component/ftps b/components/camel-ftp/src/main/resources/META-INF/services/org/apache/camel/component/ftps
deleted file mode 100644
index 4957ada..0000000
--- a/components/camel-ftp/src/main/resources/META-INF/services/org/apache/camel/component/ftps
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.file.remote.FtpsComponent
-strategy.factory.class=org.apache.camel.component.file.remote.strategy.FtpProcessStrategyFactory
diff --git a/components/camel-ftp/src/main/resources/META-INF/services/org/apache/camel/component/sftp b/components/camel-ftp/src/main/resources/META-INF/services/org/apache/camel/component/sftp
deleted file mode 100644
index 87a617e..0000000
--- a/components/camel-ftp/src/main/resources/META-INF/services/org/apache/camel/component/sftp
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.file.remote.SftpComponent
-strategy.factory.class=org.apache.camel.component.file.remote.strategy.SftpProcessStrategyFactory
diff --git a/components/camel-ganglia/src/main/java/org/apache/camel/component/ganglia/GangliaComponent.java b/components/camel-ganglia/src/main/java/org/apache/camel/component/ganglia/GangliaComponent.java
index 980c74e..0658622 100644
--- a/components/camel-ganglia/src/main/java/org/apache/camel/component/ganglia/GangliaComponent.java
+++ b/components/camel-ganglia/src/main/java/org/apache/camel/component/ganglia/GangliaComponent.java
@@ -20,10 +20,12 @@ import java.net.URI;
 import java.util.Map;
 
 import org.apache.camel.Endpoint;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.DefaultComponent;
 import org.apache.camel.spi.Metadata;
 import org.apache.camel.util.ObjectHelper;
 
+@Component("ganglia")
 public class GangliaComponent extends DefaultComponent {
 
     @Metadata(label = "advanced")
diff --git a/components/camel-ganglia/src/main/resources/META-INF/services/org/apache/camel/component/ganglia b/components/camel-ganglia/src/main/resources/META-INF/services/org/apache/camel/component/ganglia
deleted file mode 100644
index 19d4014..0000000
--- a/components/camel-ganglia/src/main/resources/META-INF/services/org/apache/camel/component/ganglia
+++ /dev/null
@@ -1,17 +0,0 @@
-#
-# 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.
-#
-class=org.apache.camel.component.ganglia.GangliaComponent
diff --git a/components/camel-geocoder/src/main/java/org/apache/camel/component/geocoder/GeoCoderComponent.java b/components/camel-geocoder/src/main/java/org/apache/camel/component/geocoder/GeoCoderComponent.java
index 37ef840..bf529a7 100644
--- a/components/camel-geocoder/src/main/java/org/apache/camel/component/geocoder/GeoCoderComponent.java
+++ b/components/camel-geocoder/src/main/java/org/apache/camel/component/geocoder/GeoCoderComponent.java
@@ -19,11 +19,13 @@ package org.apache.camel.component.geocoder;
 import java.util.Map;
 
 import org.apache.camel.Endpoint;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.DefaultComponent;
 
 /**
  * Represents the component that manages {@link GeoCoderEndpoint}.
  */
+@Component("geocoder")
 public class GeoCoderComponent extends DefaultComponent {
 
     public GeoCoderComponent() {
diff --git a/components/camel-geocoder/src/main/resources/META-INF/services/org/apache/camel/component/geocoder b/components/camel-geocoder/src/main/resources/META-INF/services/org/apache/camel/component/geocoder
deleted file mode 100644
index c0ad9a3..0000000
--- a/components/camel-geocoder/src/main/resources/META-INF/services/org/apache/camel/component/geocoder
+++ /dev/null
@@ -1,18 +0,0 @@
-## ------------------------------------------------------------------------
-## 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.
-## ------------------------------------------------------------------------
-
-class=org.apache.camel.component.geocoder.GeoCoderComponent
diff --git a/components/camel-git/src/main/java/org/apache/camel/component/git/GitComponent.java b/components/camel-git/src/main/java/org/apache/camel/component/git/GitComponent.java
index 6de32fd..84fed45 100644
--- a/components/camel-git/src/main/java/org/apache/camel/component/git/GitComponent.java
+++ b/components/camel-git/src/main/java/org/apache/camel/component/git/GitComponent.java
@@ -19,11 +19,13 @@ package org.apache.camel.component.git;
 import java.util.Map;
 
 import org.apache.camel.Endpoint;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.DefaultComponent;
 
 /**
  * Represents the component that manages {@link GitEndpoint}.
  */
+@Component("git")
 public class GitComponent extends DefaultComponent {
 
     protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
diff --git a/components/camel-git/src/main/resources/META-INF/services/org/apache/camel/component/git b/components/camel-git/src/main/resources/META-INF/services/org/apache/camel/component/git
deleted file mode 100644
index 05f799b..0000000
--- a/components/camel-git/src/main/resources/META-INF/services/org/apache/camel/component/git
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.git.GitComponent
diff --git a/components/camel-github/src/main/java/org/apache/camel/component/github/GitHubComponent.java b/components/camel-github/src/main/java/org/apache/camel/component/github/GitHubComponent.java
index 7d07230..f99bc29 100644
--- a/components/camel-github/src/main/java/org/apache/camel/component/github/GitHubComponent.java
+++ b/components/camel-github/src/main/java/org/apache/camel/component/github/GitHubComponent.java
@@ -19,11 +19,13 @@ package org.apache.camel.component.github;
 import java.util.Map;
 
 import org.apache.camel.Endpoint;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.DefaultComponent;
 
 /**
  * Represents the component that manages {@link GitHubEndpoint}.
  */
+@Component("github")
 public class GitHubComponent extends DefaultComponent {
 
     protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
diff --git a/components/camel-github/src/main/resources/META-INF/services/org/apache/camel/component/github b/components/camel-github/src/main/resources/META-INF/services/org/apache/camel/component/github
deleted file mode 100644
index 5e25a16..0000000
--- a/components/camel-github/src/main/resources/META-INF/services/org/apache/camel/component/github
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.github.GitHubComponent
diff --git a/components/camel-google-bigquery/src/main/java/org/apache/camel/component/google/bigquery/GoogleBigQueryComponent.java b/components/camel-google-bigquery/src/main/java/org/apache/camel/component/google/bigquery/GoogleBigQueryComponent.java
index bd54817..ff6515c 100644
--- a/components/camel-google-bigquery/src/main/java/org/apache/camel/component/google/bigquery/GoogleBigQueryComponent.java
+++ b/components/camel-google-bigquery/src/main/java/org/apache/camel/component/google/bigquery/GoogleBigQueryComponent.java
@@ -20,8 +20,10 @@ import java.util.Map;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.DefaultComponent;
 
+@Component("google-bigquery")
 public class GoogleBigQueryComponent extends DefaultComponent {
     private String projectId;
     private String datasetId;
diff --git a/components/camel-google-bigquery/src/main/java/org/apache/camel/component/google/bigquery/sql/GoogleBigQuerySQLComponent.java b/components/camel-google-bigquery/src/main/java/org/apache/camel/component/google/bigquery/sql/GoogleBigQuerySQLComponent.java
index 00ce426..9196af6 100644
--- a/components/camel-google-bigquery/src/main/java/org/apache/camel/component/google/bigquery/sql/GoogleBigQuerySQLComponent.java
+++ b/components/camel-google-bigquery/src/main/java/org/apache/camel/component/google/bigquery/sql/GoogleBigQuerySQLComponent.java
@@ -20,9 +20,10 @@ import java.util.Map;
 import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
 import org.apache.camel.component.google.bigquery.GoogleBigQueryConnectionFactory;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.DefaultComponent;
 
-
+@Component("google-bigquery-sql")
 public class GoogleBigQuerySQLComponent extends DefaultComponent {
     private String projectId;
     private GoogleBigQueryConnectionFactory connectionFactory;
diff --git a/components/camel-google-bigquery/src/main/resources/META-INF/services/org/apache/camel/component/google-bigquery b/components/camel-google-bigquery/src/main/resources/META-INF/services/org/apache/camel/component/google-bigquery
deleted file mode 100644
index 07053a6..0000000
--- a/components/camel-google-bigquery/src/main/resources/META-INF/services/org/apache/camel/component/google-bigquery
+++ /dev/null
@@ -1,18 +0,0 @@
-## ------------------------------------------------------------------------
-## 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.
-## ------------------------------------------------------------------------
-
-class=org.apache.camel.component.google.bigquery.GoogleBigQueryComponent
diff --git a/components/camel-google-bigquery/src/main/resources/META-INF/services/org/apache/camel/component/google-bigquery-sql b/components/camel-google-bigquery/src/main/resources/META-INF/services/org/apache/camel/component/google-bigquery-sql
deleted file mode 100644
index 1bf97f0..0000000
--- a/components/camel-google-bigquery/src/main/resources/META-INF/services/org/apache/camel/component/google-bigquery-sql
+++ /dev/null
@@ -1,18 +0,0 @@
-## ------------------------------------------------------------------------
-## 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.
-## ------------------------------------------------------------------------
-
-class=org.apache.camel.component.google.bigquery.sql.GoogleBigQuerySQLComponent
diff --git a/components/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/GoogleCalendarComponent.java b/components/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/GoogleCalendarComponent.java
index a4ab889..787aa54 100644
--- a/components/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/GoogleCalendarComponent.java
+++ b/components/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/GoogleCalendarComponent.java
@@ -25,11 +25,13 @@ import org.apache.camel.Endpoint;
 import org.apache.camel.component.google.calendar.internal.GoogleCalendarApiCollection;
 import org.apache.camel.component.google.calendar.internal.GoogleCalendarApiName;
 import org.apache.camel.spi.Metadata;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.component.AbstractApiComponent;
 
 /**
  * Represents the component that manages {@link GoogleCalendarEndpoint}.
  */
+@Component("google-calendar")
 public class GoogleCalendarComponent extends AbstractApiComponent<GoogleCalendarApiName, GoogleCalendarConfiguration, GoogleCalendarApiCollection> {
 
     @Metadata(label = "advanced")
diff --git a/components/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/stream/GoogleCalendarStreamComponent.java b/components/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/stream/GoogleCalendarStreamComponent.java
index de0a404..d1c5c85 100644
--- a/components/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/stream/GoogleCalendarStreamComponent.java
+++ b/components/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/stream/GoogleCalendarStreamComponent.java
@@ -23,12 +23,14 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
 import org.apache.camel.component.google.calendar.BatchGoogleCalendarClientFactory;
 import org.apache.camel.component.google.calendar.GoogleCalendarClientFactory;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.DefaultComponent;
 import org.apache.camel.spi.Metadata;
 
 /**
  * Represents the component that manages {@link GoogleCalendarStreamEndpoint}.
  */
+@Component("google-calendar-stream")
 public class GoogleCalendarStreamComponent extends DefaultComponent {
 
     @Metadata(label = "advanced")
diff --git a/components/camel-google-calendar/src/main/resources/META-INF/services/org/apache/camel/component/google-calendar b/components/camel-google-calendar/src/main/resources/META-INF/services/org/apache/camel/component/google-calendar
deleted file mode 100644
index e177eac..0000000
--- a/components/camel-google-calendar/src/main/resources/META-INF/services/org/apache/camel/component/google-calendar
+++ /dev/null
@@ -1,17 +0,0 @@
-#
-# 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.
-#
-class=org.apache.camel.component.google.calendar.GoogleCalendarComponent
diff --git a/components/camel-google-calendar/src/main/resources/META-INF/services/org/apache/camel/component/google-calendar-stream b/components/camel-google-calendar/src/main/resources/META-INF/services/org/apache/camel/component/google-calendar-stream
deleted file mode 100644
index 1e548d6..0000000
--- a/components/camel-google-calendar/src/main/resources/META-INF/services/org/apache/camel/component/google-calendar-stream
+++ /dev/null
@@ -1,17 +0,0 @@
-#
-# 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.
-#
-class=org.apache.camel.component.google.calendar.stream.GoogleCalendarStreamComponent
diff --git a/components/camel-google-drive/src/main/java/org/apache/camel/component/google/drive/GoogleDriveComponent.java b/components/camel-google-drive/src/main/java/org/apache/camel/component/google/drive/GoogleDriveComponent.java
index 2fd04ad..2f8a98c 100644
--- a/components/camel-google-drive/src/main/java/org/apache/camel/component/google/drive/GoogleDriveComponent.java
+++ b/components/camel-google-drive/src/main/java/org/apache/camel/component/google/drive/GoogleDriveComponent.java
@@ -22,12 +22,14 @@ import org.apache.camel.Endpoint;
 import org.apache.camel.component.google.drive.internal.GoogleDriveApiCollection;
 import org.apache.camel.component.google.drive.internal.GoogleDriveApiName;
 import org.apache.camel.spi.Metadata;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.util.ObjectHelper;
 import org.apache.camel.support.component.AbstractApiComponent;
 
 /**
  * Represents the component that manages {@link GoogleDriveEndpoint}.
  */
+@Component("google-drive")
 public class GoogleDriveComponent extends AbstractApiComponent<GoogleDriveApiName, GoogleDriveConfiguration, GoogleDriveApiCollection> {
 
     @Metadata(label = "advanced")
diff --git a/components/camel-google-drive/src/main/resources/META-INF/services/org/apache/camel/component/google-drive b/components/camel-google-drive/src/main/resources/META-INF/services/org/apache/camel/component/google-drive
deleted file mode 100644
index e06f16f..0000000
--- a/components/camel-google-drive/src/main/resources/META-INF/services/org/apache/camel/component/google-drive
+++ /dev/null
@@ -1,18 +0,0 @@
-## ------------------------------------------------------------------------
-## 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.
-## ------------------------------------------------------------------------
-
-class=org.apache.camel.component.google.drive.GoogleDriveComponent
diff --git a/components/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/GoogleMailComponent.java b/components/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/GoogleMailComponent.java
index 31958da..3c7a6cc 100644
--- a/components/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/GoogleMailComponent.java
+++ b/components/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/GoogleMailComponent.java
@@ -23,11 +23,13 @@ import org.apache.camel.Endpoint;
 import org.apache.camel.component.google.mail.internal.GoogleMailApiCollection;
 import org.apache.camel.component.google.mail.internal.GoogleMailApiName;
 import org.apache.camel.spi.Metadata;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.component.AbstractApiComponent;
 
 /**
  * Represents the component that manages {@link GoogleMailEndpoint}.
  */
+@Component("google-mail")
 public class GoogleMailComponent extends AbstractApiComponent<GoogleMailApiName, GoogleMailConfiguration, GoogleMailApiCollection> {
 
     @Metadata(label = "advanced")
diff --git a/components/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/stream/GoogleMailStreamComponent.java b/components/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/stream/GoogleMailStreamComponent.java
index a8895cb..94938d3 100644
--- a/components/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/stream/GoogleMailStreamComponent.java
+++ b/components/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/stream/GoogleMailStreamComponent.java
@@ -24,12 +24,14 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
 import org.apache.camel.component.google.mail.BatchGoogleMailClientFactory;
 import org.apache.camel.component.google.mail.GoogleMailClientFactory;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.DefaultComponent;
 import org.apache.camel.spi.Metadata;
 
 /**
  * Represents the component that manages {@link GoogleMailStreamEndpoint}.
  */
+@Component("google-mail-stream")
 public class GoogleMailStreamComponent extends DefaultComponent {
 
     @Metadata(label = "advanced")
diff --git a/components/camel-google-mail/src/main/resources/META-INF/services/org/apache/camel/component/google-mail b/components/camel-google-mail/src/main/resources/META-INF/services/org/apache/camel/component/google-mail
deleted file mode 100644
index bf88e1b..0000000
--- a/components/camel-google-mail/src/main/resources/META-INF/services/org/apache/camel/component/google-mail
+++ /dev/null
@@ -1,17 +0,0 @@
-#
-# 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.
-#
-class=org.apache.camel.component.google.mail.GoogleMailComponent
diff --git a/components/camel-google-mail/src/main/resources/META-INF/services/org/apache/camel/component/google-mail-stream b/components/camel-google-mail/src/main/resources/META-INF/services/org/apache/camel/component/google-mail-stream
deleted file mode 100644
index a57907f..0000000
--- a/components/camel-google-mail/src/main/resources/META-INF/services/org/apache/camel/component/google-mail-stream
+++ /dev/null
@@ -1,17 +0,0 @@
-#
-# 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.
-#
-class=org.apache.camel.component.google.mail.stream.GoogleMailStreamComponent
diff --git a/components/camel-google-pubsub/src/main/java/org/apache/camel/component/google/pubsub/GooglePubsubComponent.java b/components/camel-google-pubsub/src/main/java/org/apache/camel/component/google/pubsub/GooglePubsubComponent.java
index 99efc1c..9b0259e 100644
--- a/components/camel-google-pubsub/src/main/java/org/apache/camel/component/google/pubsub/GooglePubsubComponent.java
+++ b/components/camel-google-pubsub/src/main/java/org/apache/camel/component/google/pubsub/GooglePubsubComponent.java
@@ -19,11 +19,13 @@ package org.apache.camel.component.google.pubsub;
 import java.util.Map;
 
 import org.apache.camel.Endpoint;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.DefaultComponent;
 
 /**
  * Represents the component that manages {@link GooglePubsubEndpoint}.
  */
+@Component("google-pubsub")
 public class GooglePubsubComponent extends DefaultComponent {
 
     private GooglePubsubConnectionFactory connectionFactory;
diff --git a/components/camel-google-pubsub/src/main/resources/META-INF/services/org/apache/camel/component/google-pubsub b/components/camel-google-pubsub/src/main/resources/META-INF/services/org/apache/camel/component/google-pubsub
deleted file mode 100644
index ae01293..0000000
--- a/components/camel-google-pubsub/src/main/resources/META-INF/services/org/apache/camel/component/google-pubsub
+++ /dev/null
@@ -1,18 +0,0 @@
-## ------------------------------------------------------------------------
-## 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.
-## ------------------------------------------------------------------------
-
-class=org.apache.camel.component.google.pubsub.GooglePubsubComponent
diff --git a/components/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/GoogleSheetsComponent.java b/components/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/GoogleSheetsComponent.java
index bc4d568..08cdf20 100644
--- a/components/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/GoogleSheetsComponent.java
+++ b/components/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/GoogleSheetsComponent.java
@@ -22,6 +22,7 @@ import org.apache.camel.Endpoint;
 import org.apache.camel.component.google.sheets.internal.GoogleSheetsApiCollection;
 import org.apache.camel.component.google.sheets.internal.GoogleSheetsApiName;
 import org.apache.camel.spi.Metadata;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.component.AbstractApiComponent;
 
 
@@ -29,6 +30,7 @@ import org.apache.camel.support.component.AbstractApiComponent;
  * Represents the component that manages {@link GoogleSheetsEndpoint}.
  */
 @Metadata(label = "verifiers", enums = "parameters,connectivity")
+@Component("google-sheets")
 public class GoogleSheetsComponent extends AbstractApiComponent<GoogleSheetsApiName, GoogleSheetsConfiguration, GoogleSheetsApiCollection> {
 
     @Metadata(label = "advanced")
diff --git a/components/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/stream/GoogleSheetsStreamComponent.java b/components/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/stream/GoogleSheetsStreamComponent.java
index 3eeb3fe..9329db5 100644
--- a/components/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/stream/GoogleSheetsStreamComponent.java
+++ b/components/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/stream/GoogleSheetsStreamComponent.java
@@ -25,12 +25,14 @@ import org.apache.camel.component.google.sheets.BatchGoogleSheetsClientFactory;
 import org.apache.camel.component.google.sheets.GoogleSheetsClientFactory;
 import org.apache.camel.component.google.sheets.GoogleSheetsVerifierExtension;
 import org.apache.camel.spi.Metadata;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.DefaultComponent;
 
 /**
  * Represents the component that manages {@link GoogleSheetsStreamEndpoint}.
  */
 @Metadata(label = "verifiers", enums = "parameters,connectivity")
+@Component("google-sheets-stream")
 public class GoogleSheetsStreamComponent extends DefaultComponent {
 
     @Metadata(label = "advanced")
diff --git a/components/camel-google-sheets/src/main/resources/META-INF/services/org/apache/camel/component/google-sheets b/components/camel-google-sheets/src/main/resources/META-INF/services/org/apache/camel/component/google-sheets
deleted file mode 100644
index a3e7e26..0000000
--- a/components/camel-google-sheets/src/main/resources/META-INF/services/org/apache/camel/component/google-sheets
+++ /dev/null
@@ -1,17 +0,0 @@
-#
-# 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.
-#
-class=org.apache.camel.component.google.sheets.GoogleSheetsComponent
diff --git a/components/camel-google-sheets/src/main/resources/META-INF/services/org/apache/camel/component/google-sheets-stream b/components/camel-google-sheets/src/main/resources/META-INF/services/org/apache/camel/component/google-sheets-stream
deleted file mode 100644
index 0ac2679..0000000
--- a/components/camel-google-sheets/src/main/resources/META-INF/services/org/apache/camel/component/google-sheets-stream
+++ /dev/null
@@ -1,17 +0,0 @@
-#
-# 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.
-#
-class=org.apache.camel.component.google.sheets.stream.GoogleSheetsStreamComponent
diff --git a/components/camel-gora/src/main/java/org/apache/camel/component/gora/GoraComponent.java b/components/camel-gora/src/main/java/org/apache/camel/component/gora/GoraComponent.java
index 8cbb728..fa10ce1 100644
--- a/components/camel-gora/src/main/java/org/apache/camel/component/gora/GoraComponent.java
+++ b/components/camel-gora/src/main/java/org/apache/camel/component/gora/GoraComponent.java
@@ -21,6 +21,7 @@ import java.util.Map;
 import java.util.Properties;
 
 import org.apache.camel.Endpoint;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.DefaultComponent;
 import org.apache.gora.persistency.Persistent;
 import org.apache.gora.store.DataStore;
@@ -29,6 +30,7 @@ import org.apache.hadoop.conf.Configuration;
 
 import static org.apache.camel.component.gora.GoraConstants.GORA_DEFAULT_DATASTORE_KEY;
 
+@Component("gora")
 public class GoraComponent extends DefaultComponent {
 
     /**
diff --git a/components/camel-gora/src/main/resources/META-INF/services/org/apache/camel/component/gora b/components/camel-gora/src/main/resources/META-INF/services/org/apache/camel/component/gora
deleted file mode 100644
index 4cb9abb..0000000
--- a/components/camel-gora/src/main/resources/META-INF/services/org/apache/camel/component/gora
+++ /dev/null
@@ -1,18 +0,0 @@
-## ------------------------------------------------------------------------
-## 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.
-## ------------------------------------------------------------------------
-
-class=org.apache.camel.component.gora.GoraComponent
diff --git a/components/camel-grape/src/main/java/org/apache/camel/component/grape/GrapeComponent.java b/components/camel-grape/src/main/java/org/apache/camel/component/grape/GrapeComponent.java
index 7fbcf04..d5d99dc 100644
--- a/components/camel-grape/src/main/java/org/apache/camel/component/grape/GrapeComponent.java
+++ b/components/camel-grape/src/main/java/org/apache/camel/component/grape/GrapeComponent.java
@@ -21,8 +21,10 @@ import java.util.Map;
 import groovy.lang.GroovyClassLoader;
 import org.apache.camel.CamelContext;
 import org.apache.camel.spi.Metadata;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.DefaultComponent;
 
+@Component("grape")
 public class GrapeComponent extends DefaultComponent {
 
     @Metadata(label = "advanced", description = "Implementation of org.apache.camel.component.grape.PatchesRepository, by default: FilePatchesRepository")
diff --git a/components/camel-grape/src/main/resources/META-INF/services/org/apache/camel/component/grape b/components/camel-grape/src/main/resources/META-INF/services/org/apache/camel/component/grape
deleted file mode 100644
index 747706a..0000000
--- a/components/camel-grape/src/main/resources/META-INF/services/org/apache/camel/component/grape
+++ /dev/null
@@ -1,17 +0,0 @@
-#
-# 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.
-
-class=org.apache.camel.component.grape.GrapeComponent
\ No newline at end of file
diff --git a/components/camel-groovy/src/main/java/org/apache/camel/language/groovy/GroovyLanguage.java b/components/camel-groovy/src/main/java/org/apache/camel/language/groovy/GroovyLanguage.java
index 4eadc43..14c0099 100644
--- a/components/camel-groovy/src/main/java/org/apache/camel/language/groovy/GroovyLanguage.java
+++ b/components/camel-groovy/src/main/java/org/apache/camel/language/groovy/GroovyLanguage.java
@@ -18,10 +18,12 @@ package org.apache.camel.language.groovy;
 
 import groovy.lang.Script;
 import org.apache.camel.Service;
+import org.apache.camel.spi.annotations.Language;
 import org.apache.camel.support.LanguageSupport;
 import org.apache.camel.support.LRUSoftCache;
 import org.codehaus.groovy.runtime.InvokerHelper;
 
+@Language("groovy")
 public class GroovyLanguage extends LanguageSupport {
 
     // Cache used to stores the compiled scripts (aka their classes)
diff --git a/components/camel-groovy/src/main/resources/META-INF/services/org/apache/camel/language/groovy b/components/camel-groovy/src/main/resources/META-INF/services/org/apache/camel/language/groovy
deleted file mode 100644
index 7e073d3..0000000
--- a/components/camel-groovy/src/main/resources/META-INF/services/org/apache/camel/language/groovy
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.language.groovy.GroovyLanguage
\ No newline at end of file
diff --git a/components/camel-grpc/src/main/java/org/apache/camel/component/grpc/GrpcComponent.java b/components/camel-grpc/src/main/java/org/apache/camel/component/grpc/GrpcComponent.java
index 675b40f..235c648 100644
--- a/components/camel-grpc/src/main/java/org/apache/camel/component/grpc/GrpcComponent.java
+++ b/components/camel-grpc/src/main/java/org/apache/camel/component/grpc/GrpcComponent.java
@@ -20,11 +20,13 @@ import java.net.URI;
 import java.util.Map;
 
 import org.apache.camel.Endpoint;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.DefaultComponent;
 
 /**
  * Represents the component that manages {@link GrpcEndpoint}.
  */
+@Component("grpc")
 public class GrpcComponent extends DefaultComponent {
 
     protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
diff --git a/components/camel-grpc/src/main/resources/META-INF/services/org/apache/camel/component/grpc b/components/camel-grpc/src/main/resources/META-INF/services/org/apache/camel/component/grpc
deleted file mode 100644
index 0605143..0000000
--- a/components/camel-grpc/src/main/resources/META-INF/services/org/apache/camel/component/grpc
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.grpc.GrpcComponent
diff --git a/components/camel-gson/src/main/java/org/apache/camel/component/gson/GsonDataFormat.java b/components/camel-gson/src/main/java/org/apache/camel/component/gson/GsonDataFormat.java
index 81f953f..17e41ad 100644
--- a/components/camel-gson/src/main/java/org/apache/camel/component/gson/GsonDataFormat.java
+++ b/components/camel-gson/src/main/java/org/apache/camel/component/gson/GsonDataFormat.java
@@ -35,6 +35,7 @@ import com.google.gson.LongSerializationPolicy;
 import org.apache.camel.Exchange;
 import org.apache.camel.spi.DataFormat;
 import org.apache.camel.spi.DataFormatName;
+import org.apache.camel.spi.annotations.Dataformat;
 import org.apache.camel.support.ExchangeHelper;
 import org.apache.camel.support.ServiceSupport;
 import org.apache.camel.util.IOHelper;
@@ -43,6 +44,7 @@ import org.apache.camel.util.IOHelper;
  * A <a href="http://camel.apache.org/data-format.html">data format</a> ({@link DataFormat})
  * using <a href="http://code.google.com/p/google-gson/">Gson</a> to marshal to and from JSON.
  */
+@Dataformat("json-gson")
 public class GsonDataFormat extends ServiceSupport implements DataFormat, DataFormatName {
 
     private Gson gson;
diff --git a/components/camel-gson/src/main/resources/META-INF/services/org/apache/camel/dataformat/json-gson b/components/camel-gson/src/main/resources/META-INF/services/org/apache/camel/dataformat/json-gson
deleted file mode 100644
index 5256011..0000000
--- a/components/camel-gson/src/main/resources/META-INF/services/org/apache/camel/dataformat/json-gson
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.gson.GsonDataFormat
diff --git a/components/camel-guava-eventbus/src/main/java/org/apache/camel/component/guava/eventbus/GuavaEventBusComponent.java b/components/camel-guava-eventbus/src/main/java/org/apache/camel/component/guava/eventbus/GuavaEventBusComponent.java
index dae8cdc..c8e7567 100644
--- a/components/camel-guava-eventbus/src/main/java/org/apache/camel/component/guava/eventbus/GuavaEventBusComponent.java
+++ b/components/camel-guava-eventbus/src/main/java/org/apache/camel/component/guava/eventbus/GuavaEventBusComponent.java
@@ -20,6 +20,7 @@ import java.util.Map;
 
 import com.google.common.eventbus.EventBus;
 import org.apache.camel.Endpoint;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.DefaultComponent;
 
 /**
@@ -27,6 +28,7 @@ import org.apache.camel.support.DefaultComponent;
  * (http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/eventbus/EventBus.html). Supports both
  * producer and consumer endpoints.
  */
+@Component("guava-eventbus")
 public class GuavaEventBusComponent extends DefaultComponent {
 
     private EventBus eventBus;
diff --git a/components/camel-guava-eventbus/src/main/resources/META-INF/services/org/apache/camel/component/guava-eventbus b/components/camel-guava-eventbus/src/main/resources/META-INF/services/org/apache/camel/component/guava-eventbus
deleted file mode 100644
index 2700f9b..0000000
--- a/components/camel-guava-eventbus/src/main/resources/META-INF/services/org/apache/camel/component/guava-eventbus
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.guava.eventbus.GuavaEventBusComponent
diff --git a/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/HazelcastComponent.java b/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/HazelcastComponent.java
deleted file mode 100644
index fc1e75f..0000000
--- a/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/HazelcastComponent.java
+++ /dev/null
@@ -1,160 +0,0 @@
-/**
- * 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.hazelcast;
-
-import java.util.Map;
-
-import com.hazelcast.core.HazelcastInstance;
-import org.apache.camel.CamelContext;
-import org.apache.camel.component.hazelcast.atomicnumber.HazelcastAtomicnumberEndpoint;
-import org.apache.camel.component.hazelcast.instance.HazelcastInstanceEndpoint;
-import org.apache.camel.component.hazelcast.list.HazelcastListEndpoint;
-import org.apache.camel.component.hazelcast.map.HazelcastMapEndpoint;
-import org.apache.camel.component.hazelcast.multimap.HazelcastMultimapEndpoint;
-import org.apache.camel.component.hazelcast.queue.HazelcastQueueConfiguration;
-import org.apache.camel.component.hazelcast.queue.HazelcastQueueEndpoint;
-import org.apache.camel.component.hazelcast.replicatedmap.HazelcastReplicatedmapEndpoint;
-import org.apache.camel.component.hazelcast.ringbuffer.HazelcastRingbufferEndpoint;
-import org.apache.camel.component.hazelcast.seda.HazelcastSedaConfiguration;
-import org.apache.camel.component.hazelcast.seda.HazelcastSedaEndpoint;
-import org.apache.camel.component.hazelcast.set.HazelcastSetEndpoint;
-import org.apache.camel.component.hazelcast.topic.HazelcastTopicConfiguration;
-import org.apache.camel.component.hazelcast.topic.HazelcastTopicEndpoint;
-import org.apache.camel.util.StringHelper;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * @deprecated
- * 
- */
-@Deprecated
-public class HazelcastComponent extends HazelcastDefaultComponent {
-
-    private static final Logger LOG = LoggerFactory.getLogger(HazelcastComponent.class);
-
-    public HazelcastComponent() {
-    }
-
-    public HazelcastComponent(final CamelContext context) {
-        super(context);
-    }
-
-    @Override
-    protected HazelcastDefaultEndpoint doCreateEndpoint(String uri, String remaining, Map<String, Object> parameters, HazelcastInstance hzInstance) throws Exception {
-
-        HazelcastDefaultEndpoint endpoint = null;
-
-        LOG.warn("The scheme syntax 'hazelcast:{}' has been deprecated. Use 'hazelcast-{}' instead.", remaining, remaining);
-
-        // check type of endpoint
-        if (remaining.startsWith(HazelcastConstants.MAP_PREFIX)) {
-            // remaining is the cache name
-            remaining = StringHelper.removeStartingCharacters(remaining.substring(HazelcastConstants.MAP_PREFIX.length()), '/');
-            endpoint = new HazelcastMapEndpoint(hzInstance, uri, remaining, this);
-            endpoint.setCommand(HazelcastCommand.map);
-        }
-
-        if (remaining.startsWith(HazelcastConstants.MULTIMAP_PREFIX)) {
-            // remaining is the cache name
-            remaining = StringHelper.removeStartingCharacters(remaining.substring(HazelcastConstants.MULTIMAP_PREFIX.length()), '/');
-            endpoint = new HazelcastMultimapEndpoint(hzInstance, uri, remaining, this);
-            endpoint.setCommand(HazelcastCommand.multimap);
-        }
-
-        if (remaining.startsWith(HazelcastConstants.ATOMICNUMBER_PREFIX)) {
-            // remaining is the name of the atomic value
-            remaining = StringHelper.removeStartingCharacters(remaining.substring(HazelcastConstants.ATOMICNUMBER_PREFIX.length()), '/');
-            endpoint = new HazelcastAtomicnumberEndpoint(hzInstance, uri, this, remaining);
-            endpoint.setCommand(HazelcastCommand.atomicvalue);
-        }
-
-        if (remaining.startsWith(HazelcastConstants.INSTANCE_PREFIX)) {
-            // remaining is anything (name it foo ;)
-            remaining = StringHelper.removeStartingCharacters(remaining.substring(HazelcastConstants.INSTANCE_PREFIX.length()), '/');
-            endpoint = new HazelcastInstanceEndpoint(hzInstance, uri, this);
-            endpoint.setCommand(HazelcastCommand.instance);
-        }
-
-        if (remaining.startsWith(HazelcastConstants.QUEUE_PREFIX)) {
-            // remaining is anything (name it foo ;)
-            remaining = StringHelper.removeStartingCharacters(remaining.substring(HazelcastConstants.QUEUE_PREFIX.length()), '/');
-            final HazelcastQueueConfiguration config = new HazelcastQueueConfiguration();
-            setProperties(config, parameters);
-            endpoint = new HazelcastQueueEndpoint(hzInstance, uri, this, remaining, config);
-            endpoint.setCommand(HazelcastCommand.queue);
-        }
-
-        if (remaining.startsWith(HazelcastConstants.TOPIC_PREFIX)) {
-            // remaining is anything (name it foo ;)
-            remaining = StringHelper.removeStartingCharacters(remaining.substring(HazelcastConstants.TOPIC_PREFIX.length()), '/');
-            final HazelcastTopicConfiguration config = new HazelcastTopicConfiguration();
-            setProperties(config, parameters);
-            endpoint = new HazelcastTopicEndpoint(hzInstance, uri, this, remaining, config);
-            endpoint.setCommand(HazelcastCommand.topic);
-        }
-
-        if (remaining.startsWith(HazelcastConstants.SEDA_PREFIX)) {
-            // remaining is anything (name it foo ;)
-            remaining = StringHelper.removeStartingCharacters(remaining.substring(HazelcastConstants.SEDA_PREFIX.length()), '/');
-            final HazelcastSedaConfiguration config = new HazelcastSedaConfiguration();
-            setProperties(config, parameters);
-            config.setQueueName(remaining);
-            endpoint = new HazelcastSedaEndpoint(hzInstance, uri, this, config);
-            endpoint.setCacheName(remaining);
-            endpoint.setCommand(HazelcastCommand.seda);
-        }
-
-        if (remaining.startsWith(HazelcastConstants.LIST_PREFIX)) {
-            // remaining is anything (name it foo ;)
-            remaining = StringHelper.removeStartingCharacters(remaining.substring(HazelcastConstants.LIST_PREFIX.length()), '/');
-            endpoint = new HazelcastListEndpoint(hzInstance, uri, this, remaining);
-            endpoint.setCommand(HazelcastCommand.list);
-        }
-
-        if (remaining.startsWith(HazelcastConstants.REPLICATEDMAP_PREFIX)) {
-            // remaining is anything (name it foo ;)
-            remaining = StringHelper.removeStartingCharacters(remaining.substring(HazelcastConstants.REPLICATEDMAP_PREFIX.length()), '/');
-            endpoint = new HazelcastReplicatedmapEndpoint(hzInstance, uri, remaining, this);
-            endpoint.setCommand(HazelcastCommand.replicatedmap);
-        } 
-        
-        if (remaining.startsWith(HazelcastConstants.SET_PREFIX)) {
-            // remaining is anything (name it foo ;)
-            remaining = StringHelper.removeStartingCharacters(remaining.substring(HazelcastConstants.SET_PREFIX.length()), '/');
-            endpoint = new HazelcastSetEndpoint(hzInstance, uri, this, remaining);
-            endpoint.setCommand(HazelcastCommand.set);
-        } 
-        
-        
-        if (remaining.startsWith(HazelcastConstants.RINGBUFFER_PREFIX)) {
-            // remaining is anything (name it foo ;)
-            remaining = StringHelper.removeStartingCharacters(remaining.substring(HazelcastConstants.RINGBUFFER_PREFIX.length()), '/');
-            endpoint = new HazelcastRingbufferEndpoint(hzInstance, uri, this, remaining);
-            endpoint.setCommand(HazelcastCommand.ringbuffer);
-        } 
-        
-        if (endpoint == null) {
-            throw new IllegalArgumentException(String.format("Your URI does not provide a correct 'type' prefix. It should be anything like " 
-                    + "'hazelcast:[%s|%s|%s|%s|%s|%s|%s|%s|%s|%s]name' but is '%s'.",
-                    HazelcastConstants.MAP_PREFIX, HazelcastConstants.MULTIMAP_PREFIX, HazelcastConstants.ATOMICNUMBER_PREFIX, HazelcastConstants.INSTANCE_PREFIX, HazelcastConstants.QUEUE_PREFIX,
-                    HazelcastConstants.SEDA_PREFIX, HazelcastConstants.LIST_PREFIX, HazelcastConstants.REPLICATEDMAP_PREFIX, HazelcastConstants.SET_PREFIX, HazelcastConstants.RINGBUFFER_PREFIX, uri));
-        }
-        return endpoint;
-    }
-
-}
diff --git a/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/atomicnumber/HazelcastAtomicnumberComponent.java b/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/atomicnumber/HazelcastAtomicnumberComponent.java
index 821b6b7..21b6526 100644
--- a/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/atomicnumber/HazelcastAtomicnumberComponent.java
+++ b/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/atomicnumber/HazelcastAtomicnumberComponent.java
@@ -23,7 +23,9 @@ import com.hazelcast.core.HazelcastInstance;
 import org.apache.camel.CamelContext;
 import org.apache.camel.component.hazelcast.HazelcastDefaultComponent;
 import org.apache.camel.component.hazelcast.HazelcastDefaultEndpoint;
+import org.apache.camel.spi.annotations.Component;
 
+@Component("hazelcast-atomicvalue")
 public class HazelcastAtomicnumberComponent extends HazelcastDefaultComponent {
 
     public HazelcastAtomicnumberComponent() {
diff --git a/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/instance/HazelcastInstanceComponent.java b/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/instance/HazelcastInstanceComponent.java
index 6554815..55cabcb 100644
--- a/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/instance/HazelcastInstanceComponent.java
+++ b/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/instance/HazelcastInstanceComponent.java
@@ -23,7 +23,9 @@ import com.hazelcast.core.HazelcastInstance;
 import org.apache.camel.CamelContext;
 import org.apache.camel.component.hazelcast.HazelcastDefaultComponent;
 import org.apache.camel.component.hazelcast.HazelcastDefaultEndpoint;
+import org.apache.camel.spi.annotations.Component;
 
+@Component("hazelcast-instance")
 public class HazelcastInstanceComponent extends HazelcastDefaultComponent {
 
     public HazelcastInstanceComponent() {
diff --git a/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/list/HazelcastListComponent.java b/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/list/HazelcastListComponent.java
index 230b14c..054f119 100644
--- a/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/list/HazelcastListComponent.java
+++ b/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/list/HazelcastListComponent.java
@@ -23,7 +23,9 @@ import com.hazelcast.core.HazelcastInstance;
 import org.apache.camel.CamelContext;
 import org.apache.camel.component.hazelcast.HazelcastDefaultComponent;
 import org.apache.camel.component.hazelcast.HazelcastDefaultEndpoint;
+import org.apache.camel.spi.annotations.Component;
 
+@Component("hazelcast-list")
 public class HazelcastListComponent extends HazelcastDefaultComponent {
 
     public HazelcastListComponent() {
diff --git a/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/map/HazelcastMapComponent.java b/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/map/HazelcastMapComponent.java
index f1f23f3..76604fd 100644
--- a/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/map/HazelcastMapComponent.java
+++ b/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/map/HazelcastMapComponent.java
@@ -23,7 +23,9 @@ import com.hazelcast.core.HazelcastInstance;
 import org.apache.camel.CamelContext;
 import org.apache.camel.component.hazelcast.HazelcastDefaultComponent;
 import org.apache.camel.component.hazelcast.HazelcastDefaultEndpoint;
+import org.apache.camel.spi.annotations.Component;
 
+@Component("hazelcast-map")
 public class HazelcastMapComponent extends HazelcastDefaultComponent {
 
     public HazelcastMapComponent() {
diff --git a/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/multimap/HazelcastMultimapComponent.java b/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/multimap/HazelcastMultimapComponent.java
index deba8a0..49eee6b 100644
--- a/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/multimap/HazelcastMultimapComponent.java
+++ b/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/multimap/HazelcastMultimapComponent.java
@@ -23,7 +23,9 @@ import com.hazelcast.core.HazelcastInstance;
 import org.apache.camel.CamelContext;
 import org.apache.camel.component.hazelcast.HazelcastDefaultComponent;
 import org.apache.camel.component.hazelcast.HazelcastDefaultEndpoint;
+import org.apache.camel.spi.annotations.Component;
 
+@Component("hazelcast-multimap")
 public class HazelcastMultimapComponent extends HazelcastDefaultComponent {
 
     public HazelcastMultimapComponent() {
diff --git a/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/queue/HazelcastQueueComponent.java b/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/queue/HazelcastQueueComponent.java
index 7262c72..4c80db3 100644
--- a/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/queue/HazelcastQueueComponent.java
+++ b/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/queue/HazelcastQueueComponent.java
@@ -23,7 +23,9 @@ import com.hazelcast.core.HazelcastInstance;
 import org.apache.camel.CamelContext;
 import org.apache.camel.component.hazelcast.HazelcastDefaultComponent;
 import org.apache.camel.component.hazelcast.HazelcastDefaultEndpoint;
+import org.apache.camel.spi.annotations.Component;
 
+@Component("hazelcast-queue")
 public class HazelcastQueueComponent extends HazelcastDefaultComponent {
 
     public HazelcastQueueComponent() {
diff --git a/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/replicatedmap/HazelcastReplicatedmapComponent.java b/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/replicatedmap/HazelcastReplicatedmapComponent.java
index 424bdd7..2391365 100644
--- a/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/replicatedmap/HazelcastReplicatedmapComponent.java
+++ b/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/replicatedmap/HazelcastReplicatedmapComponent.java
@@ -23,7 +23,9 @@ import com.hazelcast.core.HazelcastInstance;
 import org.apache.camel.CamelContext;
 import org.apache.camel.component.hazelcast.HazelcastDefaultComponent;
 import org.apache.camel.component.hazelcast.HazelcastDefaultEndpoint;
+import org.apache.camel.spi.annotations.Component;
 
+@Component("hazelcast-replicatedmap")
 public class HazelcastReplicatedmapComponent extends HazelcastDefaultComponent {
 
     public HazelcastReplicatedmapComponent() {
diff --git a/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/ringbuffer/HazelcastRingbufferComponent.java b/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/ringbuffer/HazelcastRingbufferComponent.java
index 6248281..ba17a5d 100644
--- a/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/ringbuffer/HazelcastRingbufferComponent.java
+++ b/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/ringbuffer/HazelcastRingbufferComponent.java
@@ -23,7 +23,9 @@ import com.hazelcast.core.HazelcastInstance;
 import org.apache.camel.CamelContext;
 import org.apache.camel.component.hazelcast.HazelcastDefaultComponent;
 import org.apache.camel.component.hazelcast.HazelcastDefaultEndpoint;
+import org.apache.camel.spi.annotations.Component;
 
+@Component("hazelcast-ringbuffer")
 public class HazelcastRingbufferComponent extends HazelcastDefaultComponent {
 
     public HazelcastRingbufferComponent() {
diff --git a/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/seda/HazelcastSedaComponent.java b/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/seda/HazelcastSedaComponent.java
index 972e0c9..7db9ffb 100644
--- a/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/seda/HazelcastSedaComponent.java
+++ b/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/seda/HazelcastSedaComponent.java
@@ -23,7 +23,9 @@ import com.hazelcast.core.HazelcastInstance;
 import org.apache.camel.CamelContext;
 import org.apache.camel.component.hazelcast.HazelcastDefaultComponent;
 import org.apache.camel.component.hazelcast.HazelcastDefaultEndpoint;
+import org.apache.camel.spi.annotations.Component;
 
+@Component("hazelcast-seda")
 public class HazelcastSedaComponent extends HazelcastDefaultComponent {
 
     public HazelcastSedaComponent() {
diff --git a/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/set/HazelcastSetComponent.java b/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/set/HazelcastSetComponent.java
index b566cca..653baa1 100644
--- a/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/set/HazelcastSetComponent.java
+++ b/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/set/HazelcastSetComponent.java
@@ -23,7 +23,9 @@ import com.hazelcast.core.HazelcastInstance;
 import org.apache.camel.CamelContext;
 import org.apache.camel.component.hazelcast.HazelcastDefaultComponent;
 import org.apache.camel.component.hazelcast.HazelcastDefaultEndpoint;
+import org.apache.camel.spi.annotations.Component;
 
+@Component("hazelcast-set")
 public class HazelcastSetComponent extends HazelcastDefaultComponent {
 
     public HazelcastSetComponent() {
diff --git a/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/topic/HazelcastTopicComponent.java b/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/topic/HazelcastTopicComponent.java
index df5445d..d092749 100644
--- a/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/topic/HazelcastTopicComponent.java
+++ b/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/topic/HazelcastTopicComponent.java
@@ -23,7 +23,9 @@ import com.hazelcast.core.HazelcastInstance;
 import org.apache.camel.CamelContext;
 import org.apache.camel.component.hazelcast.HazelcastDefaultComponent;
 import org.apache.camel.component.hazelcast.HazelcastDefaultEndpoint;
+import org.apache.camel.spi.annotations.Component;
 
+@Component("hazelcast-topic")
 public class HazelcastTopicComponent extends HazelcastDefaultComponent {
 
     public HazelcastTopicComponent() {
diff --git a/components/camel-hazelcast/src/main/resources/META-INF/services/org/apache/camel/component/hazelcast b/components/camel-hazelcast/src/main/resources/META-INF/services/org/apache/camel/component/hazelcast
deleted file mode 100644
index cfc340a..0000000
--- a/components/camel-hazelcast/src/main/resources/META-INF/services/org/apache/camel/component/hazelcast
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.hazelcast.HazelcastComponent
diff --git a/components/camel-hazelcast/src/main/resources/META-INF/services/org/apache/camel/component/hazelcast-atomicvalue b/components/camel-hazelcast/src/main/resources/META-INF/services/org/apache/camel/component/hazelcast-atomicvalue
deleted file mode 100644
index 583616a..0000000
--- a/components/camel-hazelcast/src/main/resources/META-INF/services/org/apache/camel/component/hazelcast-atomicvalue
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.hazelcast.atomicnumber.HazelcastAtomicnumberComponent
diff --git a/components/camel-hazelcast/src/main/resources/META-INF/services/org/apache/camel/component/hazelcast-instance b/components/camel-hazelcast/src/main/resources/META-INF/services/org/apache/camel/component/hazelcast-instance
deleted file mode 100644
index 4d47929..0000000
--- a/components/camel-hazelcast/src/main/resources/META-INF/services/org/apache/camel/component/hazelcast-instance
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.hazelcast.instance.HazelcastInstanceComponent
diff --git a/components/camel-hazelcast/src/main/resources/META-INF/services/org/apache/camel/component/hazelcast-list b/components/camel-hazelcast/src/main/resources/META-INF/services/org/apache/camel/component/hazelcast-list
deleted file mode 100644
index 97c33f9..0000000
--- a/components/camel-hazelcast/src/main/resources/META-INF/services/org/apache/camel/component/hazelcast-list
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.hazelcast.list.HazelcastListComponent
diff --git a/components/camel-hazelcast/src/main/resources/META-INF/services/org/apache/camel/component/hazelcast-map b/components/camel-hazelcast/src/main/resources/META-INF/services/org/apache/camel/component/hazelcast-map
deleted file mode 100644
index 24adef8..0000000
--- a/components/camel-hazelcast/src/main/resources/META-INF/services/org/apache/camel/component/hazelcast-map
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.hazelcast.map.HazelcastMapComponent
diff --git a/components/camel-hazelcast/src/main/resources/META-INF/services/org/apache/camel/component/hazelcast-multimap b/components/camel-hazelcast/src/main/resources/META-INF/services/org/apache/camel/component/hazelcast-multimap
deleted file mode 100644
index 62f82a0..0000000
--- a/components/camel-hazelcast/src/main/resources/META-INF/services/org/apache/camel/component/hazelcast-multimap
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.hazelcast.multimap.HazelcastMultimapComponent
diff --git a/components/camel-hazelcast/src/main/resources/META-INF/services/org/apache/camel/component/hazelcast-queue b/components/camel-hazelcast/src/main/resources/META-INF/services/org/apache/camel/component/hazelcast-queue
deleted file mode 100644
index cc350f2..0000000
--- a/components/camel-hazelcast/src/main/resources/META-INF/services/org/apache/camel/component/hazelcast-queue
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.hazelcast.queue.HazelcastQueueComponent
diff --git a/components/camel-hazelcast/src/main/resources/META-INF/services/org/apache/camel/component/hazelcast-replicatedmap b/components/camel-hazelcast/src/main/resources/META-INF/services/org/apache/camel/component/hazelcast-replicatedmap
deleted file mode 100644
index 5c1fbc6..0000000
--- a/components/camel-hazelcast/src/main/resources/META-INF/services/org/apache/camel/component/hazelcast-replicatedmap
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.hazelcast.replicatedmap.HazelcastReplicatedmapComponent
diff --git a/components/camel-hazelcast/src/main/resources/META-INF/services/org/apache/camel/component/hazelcast-ringbuffer b/components/camel-hazelcast/src/main/resources/META-INF/services/org/apache/camel/component/hazelcast-ringbuffer
deleted file mode 100644
index f2e3e65..0000000
--- a/components/camel-hazelcast/src/main/resources/META-INF/services/org/apache/camel/component/hazelcast-ringbuffer
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.hazelcast.ringbuffer.HazelcastRingbufferComponent
diff --git a/components/camel-hazelcast/src/main/resources/META-INF/services/org/apache/camel/component/hazelcast-seda b/components/camel-hazelcast/src/main/resources/META-INF/services/org/apache/camel/component/hazelcast-seda
deleted file mode 100644
index 4d96a59..0000000
--- a/components/camel-hazelcast/src/main/resources/META-INF/services/org/apache/camel/component/hazelcast-seda
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.hazelcast.seda.HazelcastSedaComponent
diff --git a/components/camel-hazelcast/src/main/resources/META-INF/services/org/apache/camel/component/hazelcast-set b/components/camel-hazelcast/src/main/resources/META-INF/services/org/apache/camel/component/hazelcast-set
deleted file mode 100644
index 313d664..0000000
--- a/components/camel-hazelcast/src/main/resources/META-INF/services/org/apache/camel/component/hazelcast-set
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.hazelcast.set.HazelcastSetComponent
diff --git a/components/camel-hazelcast/src/main/resources/META-INF/services/org/apache/camel/component/hazelcast-topic b/components/camel-hazelcast/src/main/resources/META-INF/services/org/apache/camel/component/hazelcast-topic
deleted file mode 100644
index 407d64f..0000000
--- a/components/camel-hazelcast/src/main/resources/META-INF/services/org/apache/camel/component/hazelcast-topic
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.hazelcast.topic.HazelcastTopicComponent
diff --git a/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/HBaseComponent.java b/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/HBaseComponent.java
index 7e2cb39..300211bf 100644
--- a/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/HBaseComponent.java
+++ b/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/HBaseComponent.java
@@ -21,6 +21,7 @@ import java.util.concurrent.Executors;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.DefaultComponent;
 import org.apache.camel.spi.Metadata;
 import org.apache.camel.support.IntrospectionSupport;
@@ -32,6 +33,7 @@ import org.apache.hadoop.hbase.client.ConnectionFactory;
 /**
  * Represents the component that manages {@link HBaseEndpoint}.
  */
+@Component("hbase")
 public class HBaseComponent extends DefaultComponent {
 
     private Connection connection;
diff --git a/components/camel-hbase/src/main/resources/META-INF/services/org/apache/camel/component/hbase b/components/camel-hbase/src/main/resources/META-INF/services/org/apache/camel/component/hbase
deleted file mode 100644
index 4aa75c3..0000000
--- a/components/camel-hbase/src/main/resources/META-INF/services/org/apache/camel/component/hbase
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.hbase.HBaseComponent
diff --git a/components/camel-hdfs2/src/main/java/org/apache/camel/component/hdfs2/HdfsComponent.java b/components/camel-hdfs2/src/main/java/org/apache/camel/component/hdfs2/HdfsComponent.java
index 763b989..e04940f 100644
--- a/components/camel-hdfs2/src/main/java/org/apache/camel/component/hdfs2/HdfsComponent.java
+++ b/components/camel-hdfs2/src/main/java/org/apache/camel/component/hdfs2/HdfsComponent.java
@@ -22,11 +22,13 @@ import java.util.Map;
 import javax.security.auth.login.Configuration;
 
 import org.apache.camel.Endpoint;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.DefaultComponent;
 import org.apache.hadoop.fs.FsUrlStreamHandlerFactory;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+@Component("hdfs,hdfs2")
 public class HdfsComponent extends DefaultComponent {
 
     private static final Logger LOG = LoggerFactory.getLogger(HdfsComponent.class);
diff --git a/components/camel-hdfs2/src/main/resources/META-INF/services/org/apache/camel/component/hdfs b/components/camel-hdfs2/src/main/resources/META-INF/services/org/apache/camel/component/hdfs
deleted file mode 100644
index acde85a..0000000
--- a/components/camel-hdfs2/src/main/resources/META-INF/services/org/apache/camel/component/hdfs
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.hdfs2.HdfsComponent
diff --git a/components/camel-hdfs2/src/main/resources/META-INF/services/org/apache/camel/component/hdfs2 b/components/camel-hdfs2/src/main/resources/META-INF/services/org/apache/camel/component/hdfs2
deleted file mode 100644
index acde85a..0000000
--- a/components/camel-hdfs2/src/main/resources/META-INF/services/org/apache/camel/component/hdfs2
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.hdfs2.HdfsComponent
diff --git a/components/camel-hipchat/src/main/java/org/apache/camel/component/hipchat/HipchatComponent.java b/components/camel-hipchat/src/main/java/org/apache/camel/component/hipchat/HipchatComponent.java
index 6ee3151..eef7daf 100644
--- a/components/camel-hipchat/src/main/java/org/apache/camel/component/hipchat/HipchatComponent.java
+++ b/components/camel-hipchat/src/main/java/org/apache/camel/component/hipchat/HipchatComponent.java
@@ -21,6 +21,7 @@ import java.util.Map;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.DefaultComponent;
 import org.apache.camel.util.URISupport;
 
@@ -32,6 +33,7 @@ import org.apache.camel.util.URISupport;
  * at @see <a href="https://www.hipchat.com/account/api">Hipchat Auth Token</a>. The messages produced and consumed
  * would be from/to owner of the provided auth token.
  */
+@Component("hipchat")
 public class HipchatComponent extends DefaultComponent {
 
     public HipchatComponent() {
diff --git a/components/camel-hipchat/src/main/resources/META-INF/services/org/apache/camel/component/hipchat b/components/camel-hipchat/src/main/resources/META-INF/services/org/apache/camel/component/hipchat
deleted file mode 100644
index a1b35c5..0000000
--- a/components/camel-hipchat/src/main/resources/META-INF/services/org/apache/camel/component/hipchat
+++ /dev/null
@@ -1,18 +0,0 @@
-## ---------------------------------------------------------------------------
-## 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.
-## ---------------------------------------------------------------------------
-
-class=org.apache.camel.component.hipchat.HipchatComponent
diff --git a/components/camel-hl7/src/main/java/org/apache/camel/component/hl7/HL7DataFormat.java b/components/camel-hl7/src/main/java/org/apache/camel/component/hl7/HL7DataFormat.java
index 3b145a2..da3b741 100644
--- a/components/camel-hl7/src/main/java/org/apache/camel/component/hl7/HL7DataFormat.java
+++ b/components/camel-hl7/src/main/java/org/apache/camel/component/hl7/HL7DataFormat.java
@@ -34,6 +34,7 @@ import ca.uhn.hl7v2.validation.impl.ValidationContextFactory;
 import org.apache.camel.Exchange;
 import org.apache.camel.spi.DataFormat;
 import org.apache.camel.spi.DataFormatName;
+import org.apache.camel.spi.annotations.Dataformat;
 import org.apache.camel.support.ServiceSupport;
 import org.apache.camel.support.ExchangeHelper;
 
@@ -86,6 +87,7 @@ import static org.apache.camel.component.hl7.HL7Constants.HL7_VERSION_ID;
  *
  * @see org.apache.camel.component.hl7.HL7MLLPCodec
  */
+@Dataformat("hl7")
 public class HL7DataFormat extends ServiceSupport implements DataFormat, DataFormatName {
 
     private static final Map<String, String> HEADER_MAP = new HashMap<>();
diff --git a/components/camel-hl7/src/main/java/org/apache/camel/component/hl7/TerserLanguage.java b/components/camel-hl7/src/main/java/org/apache/camel/component/hl7/TerserLanguage.java
index b19133a..ea64858 100644
--- a/components/camel-hl7/src/main/java/org/apache/camel/component/hl7/TerserLanguage.java
+++ b/components/camel-hl7/src/main/java/org/apache/camel/component/hl7/TerserLanguage.java
@@ -29,6 +29,7 @@ import org.apache.camel.support.ExpressionToPredicateAdapter;
 import org.apache.camel.util.ObjectHelper;
 
 
+@org.apache.camel.spi.annotations.Language("terser")
 public class TerserLanguage implements Language {
 
     public static Expression terser(final String expression) {
diff --git a/components/camel-hl7/src/main/resources/META-INF/services/org/apache/camel/dataformat/hl7 b/components/camel-hl7/src/main/resources/META-INF/services/org/apache/camel/dataformat/hl7
deleted file mode 100644
index 5875ceb..0000000
--- a/components/camel-hl7/src/main/resources/META-INF/services/org/apache/camel/dataformat/hl7
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.hl7.HL7DataFormat
diff --git a/components/camel-hl7/src/main/resources/META-INF/services/org/apache/camel/language/terser b/components/camel-hl7/src/main/resources/META-INF/services/org/apache/camel/language/terser
deleted file mode 100644
index be2d04e..0000000
--- a/components/camel-hl7/src/main/resources/META-INF/services/org/apache/camel/language/terser
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.hl7.TerserLanguage
\ No newline at end of file
diff --git a/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpComponent.java b/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpComponent.java
index cfbf6ca..afee58d 100644
--- a/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpComponent.java
+++ b/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpComponent.java
@@ -41,6 +41,7 @@ import org.apache.camel.spi.HeaderFilterStrategy;
 import org.apache.camel.spi.Metadata;
 import org.apache.camel.spi.RestConfiguration;
 import org.apache.camel.spi.RestProducerFactory;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.IntrospectionSupport;
 import org.apache.camel.support.RestProducerFactoryHelper;
 import org.apache.camel.support.ServiceHelper;
@@ -69,6 +70,7 @@ import org.apache.http.ssl.SSLContexts;
  * Component</a>
  */
 @Metadata(label = "verifiers", enums = "parameters,connectivity")
+@Component("http,http4,https,https4")
 public class HttpComponent extends HttpCommonComponent implements RestProducerFactory, SSLContextParametersAware {
 
     @Metadata(label = "advanced", description = "To use the custom HttpClientConfigurer to perform configuration of the HttpClient that will be used.")
diff --git a/components/camel-http4/src/main/resources/META-INF/services/org/apache/camel/component/http b/components/camel-http4/src/main/resources/META-INF/services/org/apache/camel/component/http
deleted file mode 100644
index 12005c6..0000000
--- a/components/camel-http4/src/main/resources/META-INF/services/org/apache/camel/component/http
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.http4.HttpComponent
diff --git a/components/camel-http4/src/main/resources/META-INF/services/org/apache/camel/component/http4 b/components/camel-http4/src/main/resources/META-INF/services/org/apache/camel/component/http4
deleted file mode 100644
index 12005c6..0000000
--- a/components/camel-http4/src/main/resources/META-INF/services/org/apache/camel/component/http4
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.http4.HttpComponent
diff --git a/components/camel-http4/src/main/resources/META-INF/services/org/apache/camel/component/https b/components/camel-http4/src/main/resources/META-INF/services/org/apache/camel/component/https
deleted file mode 100644
index 12005c6..0000000
--- a/components/camel-http4/src/main/resources/META-INF/services/org/apache/camel/component/https
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.http4.HttpComponent
diff --git a/components/camel-http4/src/main/resources/META-INF/services/org/apache/camel/component/https4 b/components/camel-http4/src/main/resources/META-INF/services/org/apache/camel/component/https4
deleted file mode 100644
index 12005c6..0000000
--- a/components/camel-http4/src/main/resources/META-INF/services/org/apache/camel/component/https4
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.http4.HttpComponent
diff --git a/components/camel-ical/src/main/java/org/apache/camel/component/ical/ICalDataFormat.java b/components/camel-ical/src/main/java/org/apache/camel/component/ical/ICalDataFormat.java
index eae6ff8..31b4577 100644
--- a/components/camel-ical/src/main/java/org/apache/camel/component/ical/ICalDataFormat.java
+++ b/components/camel-ical/src/main/java/org/apache/camel/component/ical/ICalDataFormat.java
@@ -26,11 +26,13 @@ import net.fortuna.ical4j.model.Calendar;
 import org.apache.camel.Exchange;
 import org.apache.camel.spi.DataFormat;
 import org.apache.camel.spi.DataFormatName;
+import org.apache.camel.spi.annotations.Dataformat;
 import org.apache.camel.support.ServiceSupport;
 
 /**
  * Bridge ICal data format to camel world.
  */
+@Dataformat("ical")
 public class ICalDataFormat extends ServiceSupport implements DataFormat, DataFormatName {
 
     private CalendarOutputter outputer = new CalendarOutputter();
diff --git a/components/camel-ical/src/main/resources/META-INF/services/org/apache/camel/dataformat/ical b/components/camel-ical/src/main/resources/META-INF/services/org/apache/camel/dataformat/ical
deleted file mode 100644
index 1e0e773..0000000
--- a/components/camel-ical/src/main/resources/META-INF/services/org/apache/camel/dataformat/ical
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.ical.ICalDataFormat
\ No newline at end of file
diff --git a/components/camel-iec60870/src/main/java/org/apache/camel/component/iec60870/client/ClientComponent.java b/components/camel-iec60870/src/main/java/org/apache/camel/component/iec60870/client/ClientComponent.java
index 24190f7..096a880 100644
--- a/components/camel-iec60870/src/main/java/org/apache/camel/component/iec60870/client/ClientComponent.java
+++ b/components/camel-iec60870/src/main/java/org/apache/camel/component/iec60870/client/ClientComponent.java
@@ -24,8 +24,10 @@ import org.apache.camel.component.iec60870.AbstractIecComponent;
 import org.apache.camel.component.iec60870.ConnectionId;
 import org.apache.camel.component.iec60870.Constants;
 import org.apache.camel.component.iec60870.ObjectAddress;
+import org.apache.camel.spi.annotations.Component;
 import org.eclipse.neoscada.protocol.iec60870.client.data.DataModuleOptions;
 
+@Component("iec60870-client")
 public class ClientComponent extends AbstractIecComponent<ClientConnectionMultiplexor, ClientOptions> {
 
     public ClientComponent(final CamelContext context) {
diff --git a/components/camel-iec60870/src/main/java/org/apache/camel/component/iec60870/server/ServerComponent.java b/components/camel-iec60870/src/main/java/org/apache/camel/component/iec60870/server/ServerComponent.java
index aa8b1f1..a4ead01 100644
--- a/components/camel-iec60870/src/main/java/org/apache/camel/component/iec60870/server/ServerComponent.java
+++ b/components/camel-iec60870/src/main/java/org/apache/camel/component/iec60870/server/ServerComponent.java
@@ -25,8 +25,10 @@ import org.apache.camel.component.iec60870.AbstractIecComponent;
 import org.apache.camel.component.iec60870.ConnectionId;
 import org.apache.camel.component.iec60870.Constants;
 import org.apache.camel.component.iec60870.ObjectAddress;
+import org.apache.camel.spi.annotations.Component;
 import org.eclipse.neoscada.protocol.iec60870.server.data.DataModuleOptions;
 
+@Component("iec60870-server")
 public class ServerComponent extends AbstractIecComponent<ServerConnectionMultiplexor, ServerOptions> {
 
     public ServerComponent(final CamelContext context) {
diff --git a/components/camel-iec60870/src/main/resources/META-INF/services/org/apache/camel/component/iec60870-client b/components/camel-iec60870/src/main/resources/META-INF/services/org/apache/camel/component/iec60870-client
deleted file mode 100644
index 4194ef0..0000000
--- a/components/camel-iec60870/src/main/resources/META-INF/services/org/apache/camel/component/iec60870-client
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.iec60870.client.ClientComponent
\ No newline at end of file
diff --git a/components/camel-iec60870/src/main/resources/META-INF/services/org/apache/camel/component/iec60870-server b/components/camel-iec60870/src/main/resources/META-INF/services/org/apache/camel/component/iec60870-server
deleted file mode 100644
index 25afe0d..0000000
--- a/components/camel-iec60870/src/main/resources/META-INF/services/org/apache/camel/component/iec60870-server
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.iec60870.server.ServerComponent
\ No newline at end of file
diff --git a/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/IgniteComponent.java b/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/IgniteComponent.java
deleted file mode 100644
index 04546a9..0000000
--- a/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/IgniteComponent.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/**
- * 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.ignite;
-
-import java.io.InputStream;
-import java.net.MalformedURLException;
-import java.net.URI;
-import java.net.URL;
-import java.util.Map;
-
-import org.apache.camel.Endpoint;
-import org.apache.camel.component.ignite.cache.IgniteCacheEndpoint;
-import org.apache.camel.component.ignite.compute.IgniteComputeEndpoint;
-import org.apache.camel.component.ignite.events.IgniteEventsEndpoint;
-import org.apache.camel.component.ignite.idgen.IgniteIdGenEndpoint;
-import org.apache.camel.component.ignite.messaging.IgniteMessagingEndpoint;
-import org.apache.camel.component.ignite.queue.IgniteQueueEndpoint;
-import org.apache.camel.component.ignite.set.IgniteSetEndpoint;
-import org.apache.camel.util.ObjectHelper;
-import org.apache.camel.util.URISupport;
-import org.apache.ignite.Ignite;
-import org.apache.ignite.configuration.IgniteConfiguration;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * The Ignite Component integrates Apache Camel with Apache Ignite, providing endpoints for the following functions:
- * <ul>
- * <li>Cache operations.</li>
- * <li>Cluster computation.</li>
- * <li>Messaging.</li>
- * <li>Eventing.</li>
- * <li>Id Generation.</li>
- * <li>Set operations.</li>
- * <li>Queue operations.</li>
- * </ul>
- * @deprecated Use 
- * {@link org.apache.camel.component.ignite.cache.IgniteCacheComponent},
- * {@link org.apache.camel.component.ignite.compute.IgniteComputeComponent},
- * {@link org.apache.camel.component.ignite.events.IgniteEventsComponent},
- * {@link org.apache.camel.component.ignite.idgen.IgniteIdGenComponent},
- * {@link org.apache.camel.component.ignite.messaging.IgniteMessagingComponent},
- * {@link org.apache.camel.component.ignite.queue.IgniteQueueComponent} and
- * {@link org.apache.camel.component.ignite.set.IgniteSetComponent}
- */
-@Deprecated
-public class IgniteComponent extends AbstractIgniteComponent {
-
-    private static final Logger LOG = LoggerFactory.getLogger(IgniteComponent.class);
-
-    public static IgniteComponent fromIgnite(Ignite ignite) {
-        IgniteComponent answer = new IgniteComponent();
-        answer.setIgnite(ignite);
-        return answer;
-    }
-
-    public static IgniteComponent fromConfiguration(IgniteConfiguration configuration) {
-        IgniteComponent answer = new IgniteComponent();
-        answer.setIgniteConfiguration(configuration);
-        return answer;
-    }
-
-    public static IgniteComponent fromInputStream(InputStream inputStream) {
-        IgniteComponent answer = new IgniteComponent();
-        answer.setConfigurationResource(inputStream);
-        return answer;
-    }
-
-    public static IgniteComponent fromUrl(URL url) {
-        IgniteComponent answer = new IgniteComponent();
-        answer.setConfigurationResource(url);
-        return answer;
-    }
-
-    public static IgniteComponent fromLocation(String location) {
-        IgniteComponent answer = new IgniteComponent();
-        answer.setConfigurationResource(location);
-        return answer;
-    }
-
-    @Override
-    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
-        ObjectHelper.notNull(getCamelContext(), "Camel Context");
-
-        AbstractIgniteEndpoint answer = null;
-        URI remainingUri = new URI(URISupport.normalizeUri(remaining));
-        String scheme = remainingUri.getScheme();
-
-        LOG.warn("The scheme syntax 'ignite:{}' has been deprecated. Use 'ignite-{}' instead.", scheme, scheme);
-
-        switch (scheme) {
-        case "cache":
-            answer = new IgniteCacheEndpoint(uri, remainingUri, parameters, this);
-            break;
-        case "compute":
-            answer = new IgniteComputeEndpoint(uri, remainingUri, parameters, this);
-            break;
-        case "messaging":
-            answer = new IgniteMessagingEndpoint(uri, remainingUri, parameters, this);
-            break;
-        case "events":
-            answer = new IgniteEventsEndpoint(uri, remainingUri, parameters, this);
-            break;
-        case "set":
-            answer = new IgniteSetEndpoint(uri, remainingUri, parameters, this);
-            break;
-        case "idgen":
-            answer = new IgniteIdGenEndpoint(uri, remainingUri, parameters, this);
-            break;
-        case "queue":
-            answer = new IgniteQueueEndpoint(uri, remainingUri, parameters, this);
-            break;
-            
-        default:
-            throw new MalformedURLException("An invalid Ignite endpoint URI was provided. Please check that "
-                    + "it starts with:" + " ignite:[cache/compute/messaging/...]:...");
-        }
-
-        setProperties(answer, parameters);
-
-        return answer;
-    }
-
-}
diff --git a/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/cache/IgniteCacheComponent.java b/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/cache/IgniteCacheComponent.java
index 2fc12fa..e1a2fad 100644
--- a/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/cache/IgniteCacheComponent.java
+++ b/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/cache/IgniteCacheComponent.java
@@ -22,6 +22,7 @@ import java.util.Map;
 
 import org.apache.camel.Endpoint;
 import org.apache.camel.component.ignite.AbstractIgniteComponent;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.util.ObjectHelper;
 import org.apache.ignite.Ignite;
 import org.apache.ignite.configuration.IgniteConfiguration;
@@ -29,6 +30,7 @@ import org.apache.ignite.configuration.IgniteConfiguration;
 /**
  * The Ignite Cache Component.
  */
+@Component("ignite-cache")
 public class IgniteCacheComponent extends AbstractIgniteComponent {
 
     public static IgniteCacheComponent fromIgnite(Ignite ignite) {
diff --git a/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/compute/IgniteComputeComponent.java b/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/compute/IgniteComputeComponent.java
index ae442eb..97d564f 100644
--- a/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/compute/IgniteComputeComponent.java
+++ b/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/compute/IgniteComputeComponent.java
@@ -22,6 +22,7 @@ import java.util.Map;
 
 import org.apache.camel.Endpoint;
 import org.apache.camel.component.ignite.AbstractIgniteComponent;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.util.ObjectHelper;
 import org.apache.ignite.Ignite;
 import org.apache.ignite.configuration.IgniteConfiguration;
@@ -29,6 +30,7 @@ import org.apache.ignite.configuration.IgniteConfiguration;
 /**
  * The Ignite Compute Component.
  */
+@Component("ignite-compute")
 public class IgniteComputeComponent extends AbstractIgniteComponent {
 
     public static IgniteComputeComponent fromIgnite(Ignite ignite) {
diff --git a/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/events/IgniteEventsComponent.java b/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/events/IgniteEventsComponent.java
index 6b0c30e..bdcf847 100644
--- a/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/events/IgniteEventsComponent.java
+++ b/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/events/IgniteEventsComponent.java
@@ -22,6 +22,7 @@ import java.util.Map;
 
 import org.apache.camel.Endpoint;
 import org.apache.camel.component.ignite.AbstractIgniteComponent;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.util.ObjectHelper;
 import org.apache.ignite.Ignite;
 import org.apache.ignite.configuration.IgniteConfiguration;
@@ -29,6 +30,7 @@ import org.apache.ignite.configuration.IgniteConfiguration;
 /**
  * The Ignite Events Component.
  */
+@Component("ignite-events")
 public class IgniteEventsComponent extends AbstractIgniteComponent {
 
     public static IgniteEventsComponent fromIgnite(Ignite ignite) {
diff --git a/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/idgen/IgniteIdGenComponent.java b/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/idgen/IgniteIdGenComponent.java
index cf61479..964ed3b 100644
--- a/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/idgen/IgniteIdGenComponent.java
+++ b/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/idgen/IgniteIdGenComponent.java
@@ -22,6 +22,7 @@ import java.util.Map;
 
 import org.apache.camel.Endpoint;
 import org.apache.camel.component.ignite.AbstractIgniteComponent;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.util.ObjectHelper;
 import org.apache.ignite.Ignite;
 import org.apache.ignite.configuration.IgniteConfiguration;
@@ -29,6 +30,7 @@ import org.apache.ignite.configuration.IgniteConfiguration;
 /**
  * The Ignite ID Generator Component.
  */
+@Component("ignite-idgen")
 public class IgniteIdGenComponent extends AbstractIgniteComponent {
 
     public static IgniteIdGenComponent fromIgnite(Ignite ignite) {
diff --git a/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/messaging/IgniteMessagingComponent.java b/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/messaging/IgniteMessagingComponent.java
index 95409e5..51ffb2a 100644
--- a/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/messaging/IgniteMessagingComponent.java
+++ b/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/messaging/IgniteMessagingComponent.java
@@ -22,6 +22,7 @@ import java.util.Map;
 
 import org.apache.camel.Endpoint;
 import org.apache.camel.component.ignite.AbstractIgniteComponent;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.util.ObjectHelper;
 import org.apache.ignite.Ignite;
 import org.apache.ignite.configuration.IgniteConfiguration;
@@ -29,6 +30,7 @@ import org.apache.ignite.configuration.IgniteConfiguration;
 /**
  * The Ignite Messaging Component.
  */
+@Component("ignite-messaging")
 public class IgniteMessagingComponent extends AbstractIgniteComponent {
 
     public static IgniteMessagingComponent fromIgnite(Ignite ignite) {
diff --git a/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/queue/IgniteQueueComponent.java b/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/queue/IgniteQueueComponent.java
index fb59524..671310e 100644
--- a/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/queue/IgniteQueueComponent.java
+++ b/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/queue/IgniteQueueComponent.java
@@ -22,6 +22,7 @@ import java.util.Map;
 
 import org.apache.camel.Endpoint;
 import org.apache.camel.component.ignite.AbstractIgniteComponent;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.util.ObjectHelper;
 import org.apache.ignite.Ignite;
 import org.apache.ignite.configuration.IgniteConfiguration;
@@ -29,6 +30,7 @@ import org.apache.ignite.configuration.IgniteConfiguration;
 /**
  * The Ignite Queue Component.
  */
+@Component("ignite-queue")
 public class IgniteQueueComponent extends AbstractIgniteComponent {
 
     public static IgniteQueueComponent fromIgnite(Ignite ignite) {
diff --git a/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/set/IgniteSetComponent.java b/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/set/IgniteSetComponent.java
index d38b128..5d247ef 100644
--- a/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/set/IgniteSetComponent.java
+++ b/components/camel-ignite/src/main/java/org/apache/camel/component/ignite/set/IgniteSetComponent.java
@@ -22,6 +22,7 @@ import java.util.Map;
 
 import org.apache.camel.Endpoint;
 import org.apache.camel.component.ignite.AbstractIgniteComponent;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.util.ObjectHelper;
 import org.apache.ignite.Ignite;
 import org.apache.ignite.configuration.IgniteConfiguration;
@@ -29,6 +30,7 @@ import org.apache.ignite.configuration.IgniteConfiguration;
 /**
  * The Ignite Set Component.
  */
+@Component("ignite-set")
 public class IgniteSetComponent extends AbstractIgniteComponent {
 
     public static IgniteSetComponent fromIgnite(Ignite ignite) {
diff --git a/components/camel-ignite/src/main/resources/META-INF/services/org/apache/camel/component/ignite b/components/camel-ignite/src/main/resources/META-INF/services/org/apache/camel/component/ignite
deleted file mode 100644
index fca42c6..0000000
--- a/components/camel-ignite/src/main/resources/META-INF/services/org/apache/camel/component/ignite
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.ignite.IgniteComponent
diff --git a/components/camel-ignite/src/main/resources/META-INF/services/org/apache/camel/component/ignite-cache b/components/camel-ignite/src/main/resources/META-INF/services/org/apache/camel/component/ignite-cache
deleted file mode 100644
index 495652e..0000000
--- a/components/camel-ignite/src/main/resources/META-INF/services/org/apache/camel/component/ignite-cache
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.ignite.cache.IgniteCacheComponent
diff --git a/components/camel-ignite/src/main/resources/META-INF/services/org/apache/camel/component/ignite-compute b/components/camel-ignite/src/main/resources/META-INF/services/org/apache/camel/component/ignite-compute
deleted file mode 100644
index aa87994..0000000
--- a/components/camel-ignite/src/main/resources/META-INF/services/org/apache/camel/component/ignite-compute
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.ignite.compute.IgniteComputeComponent
diff --git a/components/camel-ignite/src/main/resources/META-INF/services/org/apache/camel/component/ignite-events b/components/camel-ignite/src/main/resources/META-INF/services/org/apache/camel/component/ignite-events
deleted file mode 100644
index 299d7ba..0000000
--- a/components/camel-ignite/src/main/resources/META-INF/services/org/apache/camel/component/ignite-events
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.ignite.events.IgniteEventsComponent
diff --git a/components/camel-ignite/src/main/resources/META-INF/services/org/apache/camel/component/ignite-idgen b/components/camel-ignite/src/main/resources/META-INF/services/org/apache/camel/component/ignite-idgen
deleted file mode 100644
index c13c027..0000000
--- a/components/camel-ignite/src/main/resources/META-INF/services/org/apache/camel/component/ignite-idgen
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.ignite.idgen.IgniteIdGenComponent
diff --git a/components/camel-ignite/src/main/resources/META-INF/services/org/apache/camel/component/ignite-messaging b/components/camel-ignite/src/main/resources/META-INF/services/org/apache/camel/component/ignite-messaging
deleted file mode 100644
index 28dbd84..0000000
--- a/components/camel-ignite/src/main/resources/META-INF/services/org/apache/camel/component/ignite-messaging
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.ignite.messaging.IgniteMessagingComponent
diff --git a/components/camel-ignite/src/main/resources/META-INF/services/org/apache/camel/component/ignite-queue b/components/camel-ignite/src/main/resources/META-INF/services/org/apache/camel/component/ignite-queue
deleted file mode 100644
index ec3a5e8..0000000
--- a/components/camel-ignite/src/main/resources/META-INF/services/org/apache/camel/component/ignite-queue
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.ignite.queue.IgniteQueueComponent
diff --git a/components/camel-ignite/src/main/resources/META-INF/services/org/apache/camel/component/ignite-set b/components/camel-ignite/src/main/resources/META-INF/services/org/apache/camel/component/ignite-set
deleted file mode 100644
index 4cef5c3..0000000
--- a/components/camel-ignite/src/main/resources/META-INF/services/org/apache/camel/component/ignite-set
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.ignite.set.IgniteSetComponent
diff --git a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanComponent.java b/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanComponent.java
index afd45db..50d5f3c 100644
--- a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanComponent.java
+++ b/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanComponent.java
@@ -20,10 +20,12 @@ import java.util.Map;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.DefaultComponent;
 import org.apache.camel.spi.Metadata;
 import org.infinispan.commons.api.BasicCacheContainer;
 
+@Component("infinispan")
 public class InfinispanComponent extends DefaultComponent {
     @Metadata(description = "Default configuration")
     private InfinispanConfiguration configuration;
diff --git a/components/camel-infinispan/src/main/resources/META-INF/services/org/apache/camel/component/infinispan b/components/camel-infinispan/src/main/resources/META-INF/services/org/apache/camel/component/infinispan
deleted file mode 100644
index 6d25b96..0000000
--- a/components/camel-infinispan/src/main/resources/META-INF/services/org/apache/camel/component/infinispan
+++ /dev/null
@@ -1,17 +0,0 @@
-# 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.
-#
-
-class=org.apache.camel.component.infinispan.InfinispanComponent
diff --git a/components/camel-influxdb/src/main/java/org/apache/camel/component/influxdb/InfluxDbComponent.java b/components/camel-influxdb/src/main/java/org/apache/camel/component/influxdb/InfluxDbComponent.java
index 8beb7b6..59848ac 100644
--- a/components/camel-influxdb/src/main/java/org/apache/camel/component/influxdb/InfluxDbComponent.java
+++ b/components/camel-influxdb/src/main/java/org/apache/camel/component/influxdb/InfluxDbComponent.java
@@ -19,8 +19,10 @@ package org.apache.camel.component.influxdb;
 import java.util.Map;
 
 import org.apache.camel.Endpoint;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.DefaultComponent;
 
+@Component("influxdb")
 public class InfluxDbComponent extends DefaultComponent {
 
     public InfluxDbComponent() {
diff --git a/components/camel-influxdb/src/main/resources/META-INF/services/org/apache/camel/component/influxdb b/components/camel-influxdb/src/main/resources/META-INF/services/org/apache/camel/component/influxdb
deleted file mode 100644
index cdb708d..0000000
--- a/components/camel-influxdb/src/main/resources/META-INF/services/org/apache/camel/component/influxdb
+++ /dev/null
@@ -1,17 +0,0 @@
-#
-# 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.
-#
-class=org.apache.camel.component.influxdb.InfluxDbComponent
diff --git a/components/camel-iota/src/main/java/org/apache/camel/component/iota/IOTAComponent.java b/components/camel-iota/src/main/java/org/apache/camel/component/iota/IOTAComponent.java
index 89d12a4..131b9a3 100644
--- a/components/camel-iota/src/main/java/org/apache/camel/component/iota/IOTAComponent.java
+++ b/components/camel-iota/src/main/java/org/apache/camel/component/iota/IOTAComponent.java
@@ -20,11 +20,13 @@ import java.util.Map;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.DefaultComponent;
 
 /**
  * Represents the component that manages {@link IOTAEndpoint}.
  */
+@Component("iota")
 public class IOTAComponent extends DefaultComponent {
 
     public IOTAComponent() {
diff --git a/components/camel-iota/src/main/resources/META-INF/services/org/apache/camel/component/iota b/components/camel-iota/src/main/resources/META-INF/services/org/apache/camel/component/iota
deleted file mode 100644
index 6469445..0000000
--- a/components/camel-iota/src/main/resources/META-INF/services/org/apache/camel/component/iota
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.iota.IOTAComponent
diff --git a/components/camel-ipfs/src/main/java/org/apache/camel/component/ipfs/IPFSComponent.java b/components/camel-ipfs/src/main/java/org/apache/camel/component/ipfs/IPFSComponent.java
index fb645fe..50a0ea9 100644
--- a/components/camel-ipfs/src/main/java/org/apache/camel/component/ipfs/IPFSComponent.java
+++ b/components/camel-ipfs/src/main/java/org/apache/camel/component/ipfs/IPFSComponent.java
@@ -24,8 +24,9 @@ import io.nessus.ipfs.impl.DefaultIPFSClient;
 
 import org.apache.camel.Endpoint;
 import org.apache.camel.support.DefaultComponent;
+import org.apache.camel.spi.annotations.Component;
 
-
+@Component("ipfs")
 public class IPFSComponent extends DefaultComponent {
 
     private IPFSClient client;
diff --git a/components/camel-ipfs/src/main/resources/META-INF/services/org/apache/camel/component/ipfs b/components/camel-ipfs/src/main/resources/META-INF/services/org/apache/camel/component/ipfs
deleted file mode 100644
index 179ce43..0000000
--- a/components/camel-ipfs/src/main/resources/META-INF/services/org/apache/camel/component/ipfs
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.ipfs.IPFSComponent
diff --git a/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcComponent.java b/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcComponent.java
index c78cc27..d08a7dd 100644
--- a/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcComponent.java
+++ b/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcComponent.java
@@ -21,6 +21,8 @@ import java.util.Map;
 
 import org.apache.camel.RuntimeCamelException;
 import org.apache.camel.SSLContextParametersAware;
+
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.spi.Metadata;
 import org.apache.camel.support.DefaultComponent;
 import org.apache.camel.support.jsse.SSLContextParameters;
@@ -31,6 +33,7 @@ import org.schwering.irc.lib.ssl.SSLIRCConnection;
 /**
  * Defines the <a href="http://camel.apache.org/irc.html">IRC Component</a>
  */
+@Component("irc,ircs")
 public class IrcComponent extends DefaultComponent implements SSLContextParametersAware {
 
     private final transient Map<String, IRCConnection> connectionCache = new HashMap<>();
diff --git a/components/camel-irc/src/main/resources/META-INF/services/org/apache/camel/component/irc b/components/camel-irc/src/main/resources/META-INF/services/org/apache/camel/component/irc
deleted file mode 100644
index c03d54e..0000000
--- a/components/camel-irc/src/main/resources/META-INF/services/org/apache/camel/component/irc
+++ /dev/null
@@ -1,17 +0,0 @@
-# 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.
-#
-
-class=org.apache.camel.component.irc.IrcComponent
diff --git a/components/camel-irc/src/main/resources/META-INF/services/org/apache/camel/component/ircs b/components/camel-irc/src/main/resources/META-INF/services/org/apache/camel/component/ircs
deleted file mode 100644
index c03d54e..0000000
--- a/components/camel-irc/src/main/resources/META-INF/services/org/apache/camel/component/ircs
+++ /dev/null
@@ -1,17 +0,0 @@
-# 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.
-#
-
-class=org.apache.camel.component.irc.IrcComponent
diff --git a/components/camel-ironmq/src/main/java/org/apache/camel/component/ironmq/IronMQComponent.java b/components/camel-ironmq/src/main/java/org/apache/camel/component/ironmq/IronMQComponent.java
index aa3209b..37318f5 100644
--- a/components/camel-ironmq/src/main/java/org/apache/camel/component/ironmq/IronMQComponent.java
+++ b/components/camel-ironmq/src/main/java/org/apache/camel/component/ironmq/IronMQComponent.java
@@ -20,12 +20,14 @@ import java.util.Map;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.ScheduledPollEndpoint;
 import org.apache.camel.support.DefaultComponent;
 
 /**
  * Represents the component that manages {@link IronMQEndpoint}.
  */
+@Component("ironmq")
 public class IronMQComponent extends DefaultComponent {
 
     public IronMQComponent(CamelContext context) {
diff --git a/components/camel-ironmq/src/main/resources/META-INF/services/org/apache/camel/component/ironmq b/components/camel-ironmq/src/main/resources/META-INF/services/org/apache/camel/component/ironmq
deleted file mode 100644
index 8f703b2..0000000
--- a/components/camel-ironmq/src/main/resources/META-INF/services/org/apache/camel/component/ironmq
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.ironmq.IronMQComponent
diff --git a/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/JacksonDataFormat.java b/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/JacksonDataFormat.java
index 6dee7dd..14a0fca 100644
--- a/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/JacksonDataFormat.java
+++ b/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/JacksonDataFormat.java
@@ -40,6 +40,7 @@ import org.apache.camel.CamelContextAware;
 import org.apache.camel.Exchange;
 import org.apache.camel.spi.DataFormat;
 import org.apache.camel.spi.DataFormatName;
+import org.apache.camel.spi.annotations.Dataformat;
 import org.apache.camel.support.ServiceSupport;
 import org.apache.camel.support.CamelContextHelper;
 import org.apache.camel.support.ObjectHelper;
@@ -49,6 +50,7 @@ import org.apache.camel.support.ObjectHelper;
  * ({@link DataFormat}) using <a href="http://jackson.codehaus.org/">Jackson</a>
  * to marshal to and from JSON.
  */
+@Dataformat("json-jackson")
 public class JacksonDataFormat extends ServiceSupport implements DataFormat, DataFormatName, CamelContextAware {
 
     private CamelContext camelContext;
diff --git a/components/camel-jackson/src/main/resources/META-INF/services/org/apache/camel/dataformat/json-jackson b/components/camel-jackson/src/main/resources/META-INF/services/org/apache/camel/dataformat/json-jackson
deleted file mode 100644
index 85ad9c9..0000000
--- a/components/camel-jackson/src/main/resources/META-INF/services/org/apache/camel/dataformat/json-jackson
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.jackson.JacksonDataFormat
diff --git a/components/camel-jacksonxml/src/main/java/org/apache/camel/component/jacksonxml/JacksonXMLDataFormat.java b/components/camel-jacksonxml/src/main/java/org/apache/camel/component/jacksonxml/JacksonXMLDataFormat.java
index 6ee4b61..e2dad46 100644
--- a/components/camel-jacksonxml/src/main/java/org/apache/camel/component/jacksonxml/JacksonXMLDataFormat.java
+++ b/components/camel-jacksonxml/src/main/java/org/apache/camel/component/jacksonxml/JacksonXMLDataFormat.java
@@ -40,6 +40,7 @@ import org.apache.camel.CamelContextAware;
 import org.apache.camel.Exchange;
 import org.apache.camel.spi.DataFormat;
 import org.apache.camel.spi.DataFormatName;
+import org.apache.camel.spi.annotations.Dataformat;
 import org.apache.camel.support.ServiceSupport;
 import org.apache.camel.support.CamelContextHelper;
 import org.apache.camel.support.ObjectHelper;
@@ -49,6 +50,7 @@ import org.apache.camel.support.ObjectHelper;
  * ({@link DataFormat}) using <a href="http://jackson.codehaus.org/">Jackson</a>
  * to marshal to and from XML.
  */
+@Dataformat("jacksonxml")
 public class JacksonXMLDataFormat extends ServiceSupport implements DataFormat, DataFormatName, CamelContextAware {
 
     private CamelContext camelContext;
diff --git a/components/camel-jacksonxml/src/main/resources/META-INF/services/org/apache/camel/dataformat/jacksonxml b/components/camel-jacksonxml/src/main/resources/META-INF/services/org/apache/camel/dataformat/jacksonxml
deleted file mode 100644
index 08249cd..0000000
--- a/components/camel-jacksonxml/src/main/resources/META-INF/services/org/apache/camel/dataformat/jacksonxml
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.jacksonxml.JacksonXMLDataFormat
diff --git a/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/JaxbDataFormat.java b/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/JaxbDataFormat.java
index 83d5f0e..8e686ce 100644
--- a/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/JaxbDataFormat.java
+++ b/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/JaxbDataFormat.java
@@ -56,6 +56,7 @@ import org.apache.camel.InvalidPayloadException;
 import org.apache.camel.TypeConverter;
 import org.apache.camel.spi.DataFormat;
 import org.apache.camel.spi.DataFormatName;
+import org.apache.camel.spi.annotations.Dataformat;
 import org.apache.camel.support.ExchangeHelper;
 import org.apache.camel.support.ServiceSupport;
 import org.apache.camel.support.CamelContextHelper;
@@ -68,6 +69,7 @@ import org.apache.camel.support.ResourceHelper;
  * A <a href="http://camel.apache.org/data-format.html">data format</a> ({@link DataFormat})
  * using JAXB2 to marshal to and from XML
  */
+@Dataformat("jaxb")
 public class JaxbDataFormat extends ServiceSupport implements DataFormat, DataFormatName, CamelContextAware {
 
     private static final BlockingQueue<SchemaFactory> SCHEMA_FACTORY_POOL = new LinkedBlockingQueue<>();
diff --git a/components/camel-jaxb/src/main/resources/META-INF/services/org/apache/camel/dataformat/jaxb b/components/camel-jaxb/src/main/resources/META-INF/services/org/apache/camel/dataformat/jaxb
deleted file mode 100644
index b1636e6..0000000
--- a/components/camel-jaxb/src/main/resources/META-INF/services/org/apache/camel/dataformat/jaxb
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.converter.jaxb.JaxbDataFormat
diff --git a/components/camel-jbpm/src/main/java/org/apache/camel/component/jbpm/JBPMComponent.java b/components/camel-jbpm/src/main/java/org/apache/camel/component/jbpm/JBPMComponent.java
index 2db6797..3308d71 100644
--- a/components/camel-jbpm/src/main/java/org/apache/camel/component/jbpm/JBPMComponent.java
+++ b/components/camel-jbpm/src/main/java/org/apache/camel/component/jbpm/JBPMComponent.java
@@ -20,8 +20,10 @@ import java.net.URL;
 import java.util.Map;
 
 import org.apache.camel.Endpoint;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.DefaultComponent;
 
+@Component("jbpm")
 public class JBPMComponent extends DefaultComponent {
 
     protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
diff --git a/components/camel-jbpm/src/main/resources/META-INF/services/org/apache/camel/component/jbpm b/components/camel-jbpm/src/main/resources/META-INF/services/org/apache/camel/component/jbpm
deleted file mode 100644
index a574bbf..0000000
--- a/components/camel-jbpm/src/main/resources/META-INF/services/org/apache/camel/component/jbpm
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.jbpm.JBPMComponent
diff --git a/components/camel-jcache/src/main/java/org/apache/camel/component/jcache/JCacheComponent.java b/components/camel-jcache/src/main/java/org/apache/camel/component/jcache/JCacheComponent.java
index 0632554..6fa95ae 100644
--- a/components/camel-jcache/src/main/java/org/apache/camel/component/jcache/JCacheComponent.java
+++ b/components/camel-jcache/src/main/java/org/apache/camel/component/jcache/JCacheComponent.java
@@ -25,11 +25,13 @@ import javax.cache.configuration.Configuration;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.DefaultComponent;
 
 /**
  * Represents the component that manages {@link JCacheEndpoint}.
  */
+@Component("jcache")
 public class JCacheComponent extends DefaultComponent {
 
     private String cachingProvider;
diff --git a/components/camel-jcache/src/main/resources/META-INF/services/org/apache/camel/component/jcache b/components/camel-jcache/src/main/resources/META-INF/services/org/apache/camel/component/jcache
deleted file mode 100644
index 4ebc5df..0000000
--- a/components/camel-jcache/src/main/resources/META-INF/services/org/apache/camel/component/jcache
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.jcache.JCacheComponent
diff --git a/components/camel-jclouds/src/main/java/org/apache/camel/component/jclouds/JcloudsComponent.java b/components/camel-jclouds/src/main/java/org/apache/camel/component/jclouds/JcloudsComponent.java
index 03d24ee..691941d 100644
--- a/components/camel-jclouds/src/main/java/org/apache/camel/component/jclouds/JcloudsComponent.java
+++ b/components/camel-jclouds/src/main/java/org/apache/camel/component/jclouds/JcloudsComponent.java
@@ -20,6 +20,7 @@ import java.util.List;
 import java.util.Map;
 
 import org.apache.camel.Endpoint;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.DefaultComponent;
 import org.jclouds.Context;
 import org.jclouds.blobstore.BlobStore;
@@ -28,6 +29,7 @@ import org.jclouds.compute.ComputeService;
 /**
  * Represents the component that manages {@link JcloudsEndpoint}.
  */
+@Component("jclouds")
 public class JcloudsComponent extends DefaultComponent {
 
     private List<BlobStore> blobStores;
diff --git a/components/camel-jclouds/src/main/resources/META-INF/services/org/apache/camel/component/jclouds b/components/camel-jclouds/src/main/resources/META-INF/services/org/apache/camel/component/jclouds
deleted file mode 100644
index 88096d8..0000000
--- a/components/camel-jclouds/src/main/resources/META-INF/services/org/apache/camel/component/jclouds
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.jclouds.JcloudsComponent
diff --git a/components/camel-jcr/src/main/java/org/apache/camel/component/jcr/JcrComponent.java b/components/camel-jcr/src/main/java/org/apache/camel/component/jcr/JcrComponent.java
index 870c188..d043eae 100644
--- a/components/camel-jcr/src/main/java/org/apache/camel/component/jcr/JcrComponent.java
+++ b/components/camel-jcr/src/main/java/org/apache/camel/component/jcr/JcrComponent.java
@@ -20,11 +20,13 @@ import java.util.Map;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.DefaultComponent;
 
 /**
  * A component for integrating with JSR-170 (JCR) compliant content repositories
  */
+@Component("jcr")
 public class JcrComponent extends DefaultComponent {
 
     public JcrComponent() {
diff --git a/components/camel-jcr/src/main/resources/META-INF/services/org/apache/camel/component/jcr b/components/camel-jcr/src/main/resources/META-INF/services/org/apache/camel/component/jcr
deleted file mode 100644
index 8433269..0000000
--- a/components/camel-jcr/src/main/resources/META-INF/services/org/apache/camel/component/jcr
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.jcr.JcrComponent
\ No newline at end of file
diff --git a/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/JdbcComponent.java b/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/JdbcComponent.java
index 927d47a..001c40b 100644
--- a/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/JdbcComponent.java
+++ b/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/JdbcComponent.java
@@ -22,10 +22,12 @@ import javax.sql.DataSource;
 
 import org.apache.camel.Endpoint;
 import org.apache.camel.NoSuchBeanException;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.DefaultComponent;
 import org.apache.camel.support.CamelContextHelper;
 import org.apache.camel.support.IntrospectionSupport;
 
+@Component("jdbc")
 public class JdbcComponent extends DefaultComponent {
 
     private DataSource dataSource;
diff --git a/components/camel-jdbc/src/main/resources/META-INF/services/org/apache/camel/component/jdbc b/components/camel-jdbc/src/main/resources/META-INF/services/org/apache/camel/component/jdbc
deleted file mode 100755
index b98866c..0000000
--- a/components/camel-jdbc/src/main/resources/META-INF/services/org/apache/camel/component/jdbc
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.component.jdbc.JdbcComponent
diff --git a/components/camel-jetty9/src/main/java/org/apache/camel/component/jetty9/JettyHttpComponent9.java b/components/camel-jetty9/src/main/java/org/apache/camel/component/jetty9/JettyHttpComponent9.java
index 0e6ada2..b5c2f7f 100644
--- a/components/camel-jetty9/src/main/java/org/apache/camel/component/jetty9/JettyHttpComponent9.java
+++ b/components/camel-jetty9/src/main/java/org/apache/camel/component/jetty9/JettyHttpComponent9.java
@@ -26,6 +26,7 @@ import org.apache.camel.RuntimeCamelException;
 import org.apache.camel.component.jetty.CamelHttpClient;
 import org.apache.camel.component.jetty.JettyHttpComponent;
 import org.apache.camel.component.jetty.JettyHttpEndpoint;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.IntrospectionSupport;
 import org.eclipse.jetty.client.HttpClientTransport;
 import org.eclipse.jetty.server.AbstractConnector;
@@ -39,6 +40,7 @@ import org.eclipse.jetty.util.ssl.SslContextFactory;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+@Component("jetty")
 public class JettyHttpComponent9 extends JettyHttpComponent {
 
     private static final Logger LOG = LoggerFactory.getLogger(JettyHttpComponent9.class);
diff --git a/components/camel-jetty9/src/main/resources/META-INF/services/org/apache/camel/component/jetty b/components/camel-jetty9/src/main/resources/META-INF/services/org/apache/camel/component/jetty
deleted file mode 100644
index ee67054..0000000
--- a/components/camel-jetty9/src/main/resources/META-INF/services/org/apache/camel/component/jetty
+++ /dev/null
@@ -1,17 +0,0 @@
-#
-# 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.
-#
-class=org.apache.camel.component.jetty9.JettyHttpComponent9
diff --git a/components/camel-jgroups-raft/src/main/java/org/apache/camel/component/jgroups/raft/JGroupsRaftComponent.java b/components/camel-jgroups-raft/src/main/java/org/apache/camel/component/jgroups/raft/JGroupsRaftComponent.java
index da4619d..698c800 100644
--- a/components/camel-jgroups-raft/src/main/java/org/apache/camel/component/jgroups/raft/JGroupsRaftComponent.java
+++ b/components/camel-jgroups-raft/src/main/java/org/apache/camel/component/jgroups/raft/JGroupsRaftComponent.java
@@ -23,6 +23,7 @@ import org.apache.camel.component.jgroups.raft.utils.NopStateMachine;
 
 import org.apache.camel.spi.Metadata;
 import org.apache.camel.spi.UriParam;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.DefaultComponent;
 import org.jgroups.protocols.raft.StateMachine;
 import org.jgroups.raft.RaftHandle;
@@ -32,6 +33,7 @@ import org.slf4j.LoggerFactory;
 /**
  * Component providing support for JGroups-raft leader election and shared state machine implementation ({@code org.jgroups.raft.RaftHandle}).
  */
+@Component("jgroups-raft")
 public class JGroupsRaftComponent extends DefaultComponent {
     private static final Logger LOG = LoggerFactory.getLogger(JGroupsRaftComponent.class);
 
diff --git a/components/camel-jgroups-raft/src/main/resources/META-INF/services/org/apache/camel/component/jgroups-raft b/components/camel-jgroups-raft/src/main/resources/META-INF/services/org/apache/camel/component/jgroups-raft
deleted file mode 100644
index 14ba9e2..0000000
--- a/components/camel-jgroups-raft/src/main/resources/META-INF/services/org/apache/camel/component/jgroups-raft
+++ /dev/null
@@ -1,18 +0,0 @@
-## ------------------------------------------------------------------------
-## 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.
-## ------------------------------------------------------------------------
-
-class=org.apache.camel.component.jgroups.raft.JGroupsRaftComponent
\ No newline at end of file
diff --git a/components/camel-jgroups/src/main/java/org/apache/camel/component/jgroups/JGroupsComponent.java b/components/camel-jgroups/src/main/java/org/apache/camel/component/jgroups/JGroupsComponent.java
index d7c6b5c..e8c1e3f 100644
--- a/components/camel-jgroups/src/main/java/org/apache/camel/component/jgroups/JGroupsComponent.java
+++ b/components/camel-jgroups/src/main/java/org/apache/camel/component/jgroups/JGroupsComponent.java
@@ -19,6 +19,7 @@ package org.apache.camel.component.jgroups;
 import java.util.Map;
 
 import org.apache.camel.Endpoint;
+import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.DefaultComponent;
 import org.apache.camel.spi.Metadata;
 import org.jgroups.JChannel;
@@ -26,6 +27,7 @@ import org.jgroups.JChannel;
 /**
  * Component providing support for messages multicasted from- or to JGroups channels ({@code org.jgroups.Channel}).
  */
+@Component("jgroups")
 public class JGroupsComponent extends DefaultComponent {
 
     private JChannel channel;
diff --git a/components/camel-lumberjack/src/main/resources/LICENSE.txt b/components/camel-jgroups/src/main/resources/META-INF/LICENSE.txt
similarity index 100%
rename from components/camel-lumberjack/src/main/resources/LICENSE.txt
rename to components/camel-jgroups/src/main/resources/META-INF/LICENSE.txt
diff --git a/components/camel-lumberjack/src/main/resources/NOTICE.txt b/components/camel-jgroups/src/main/resources/META-INF/NOTICE.txt
similarity index 100%
rename from components/camel-lumberjack/src/main/resources/NOTICE.txt
rename to components/camel-jgroups/src/main/resources/META-INF/NOTICE.txt
diff --git a/components/camel-jgroups/src/main/resources/META-INF/services/org/apache/camel/component/jgroups b/components/camel-jgroups/src/main/resources/META-INF/services/org/apache/camel/component/jgroups
deleted file mode 100644
index 38e8cfb..0000000
--- a/components/camel-jgroups/src/main/resources/META-INF/services/org/apache/camel/component/jgroups
+++ /dev/null
@@ -1,18 +0,0 @@
-## ------------------------------------------------------------------------
-## 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.
-## ------------------------------------------------------------------------
-
-class=org.apache.camel.component.jgroups.JGroupsComponent
\ No newline at end of file
diff --git a/components/camel-jibx/src/main/java/org/apache/camel/dataformat/jibx/JibxDataFormat.java b/components/camel-jibx/src/main/java/org/apache/camel/dataformat/jibx/JibxDataFormat.java
index 9628c59..454103f 100644
--- a/components/camel-jibx/src/main/java/org/apache/camel/dataformat/jibx/JibxDataFormat.java
+++ b/components/camel-jibx/src/main/java/org/apache/camel/dataformat/jibx/JibxDataFormat.java
@@ -22,6 +22,7 @@ import java.io.OutputStream;
 import org.apache.camel.Exchange;
 import org.apache.camel.spi.DataFormat;
 import org.apache.camel.spi.DataFormatName;
+import org.apache.camel.spi.annotations.Dataformat;
 import org.apache.camel.support.ServiceSupport;
 import org.apache.camel.util.ObjectHelper;
 import org.jibx.runtime.BindingDirectory;
@@ -30,6 +31,7 @@ import org.jibx.runtime.IMarshallingContext;
 import org.jibx.runtime.IUnmarshallingContext;
 import org.jibx.runtime.JiBXException;
 
+@Dataformat("jibx")
 public class JibxDataFormat extends ServiceSupport implements DataFormat, DataFormatName {
     public static final String UNMARSHALL_CLASS = "CamelJibxUnmarshallClass";
 
diff --git a/components/camel-jibx/src/main/resources/META-INF/services/org/apache/camel/dataformat/jibx b/components/camel-jibx/src/main/resources/META-INF/services/org/apache/camel/dataformat/jibx
deleted file mode 100644
index 4f96404..0000000
--- a/components/camel-jibx/src/main/resources/META-INF/services/org/apache/camel/dataformat/jibx
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-class=org.apache.camel.dataformat.jibx.JibxDataFormat
diff --git a/components/camel-jing/src/main/java/org/apache/camel/component/validator/jing/JingComponent.java b/components/camel-jing/src/main/java/org/apache/camel/component/validator/jing/JingComponent.java
index 388ca3b..d3db8bb 100644
... 6977 lines suppressed ...


[camel] 13/13: Regen

Posted by gn...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

gnodet pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 92c90bc34e066cd83e657fcb59316173b85bc574
Author: Guillaume Nodet <gn...@gmail.com>
AuthorDate: Fri Jan 11 21:23:06 2019 +0100

    Regen
---
 camel-core/readme.adoc                             |  119 ---
 components/readme.adoc                             | 1044 +++++++++++++-------
 .../modules/ROOT/pages/grape-component.adoc        |    2 +-
 3 files changed, 666 insertions(+), 499 deletions(-)

diff --git a/camel-core/readme.adoc b/camel-core/readme.adoc
index 409ba95..f6bd11d 100644
--- a/camel-core/readme.adoc
+++ b/camel-core/readme.adoc
@@ -6,88 +6,7 @@ Components
 
 
 // components: START
-Number of Components: 25 in 1 JAR artifacts (0 deprecated)
 
-[width="100%",cols="4,1,5",options="header"]
-|===
-| Component | Available From | Description
-
-| link:src/main/docs/bean-component.adoc[Bean] (camel-core) +
-`bean:beanName` | 1.0 | The bean component is for invoking Java beans from Camel.
-
-| link:src/main/docs/browse-component.adoc[Browse] (camel-core) +
-`browse:name` | 1.3 | The browse component is used for viewing the messages received on endpoints that supports BrowsableEndpoint.
-
-| link:src/main/docs/class-component.adoc[Class] (camel-core) +
-`class:beanName` | 2.4 | The Class Component is for invoking Java Classes (Java beans) from Camel.
-
-| link:src/main/docs/controlbus-component.adoc[Control Bus] (camel-core) +
-`controlbus:command:language` | 2.11 | The controlbus component provides easy management of Camel applications based on the Control Bus EIP pattern.
-
-| link:src/main/docs/dataformat-component.adoc[Data Format] (camel-core) +
-`dataformat:name:operation` | 2.12 | The dataformat component is used for working with Data Formats as if it was a regular Component supporting Endpoints and URIs.
-
-| link:src/main/docs/dataset-component.adoc[Dataset] (camel-core) +
-`dataset:name` | 1.3 | The dataset component provides a mechanism to easily perform load & soak testing of your system.
-
-| link:src/main/docs/direct-component.adoc[Direct] (camel-core) +
-`direct:name` | 1.0 | The direct component provides direct, synchronous call to another endpoint from the same CamelContext.
-
-| link:src/main/docs/direct-vm-component.adoc[Direct VM] (camel-core) +
-`direct-vm:name` | 2.10 | The direct-vm component provides direct, synchronous call to another endpoint from any CamelContext in the same JVM.
-
-| link:src/main/docs/file-component.adoc[File] (camel-core) +
-`file:directoryName` | 1.0 | The file component is used for reading or writing files.
-
-| link:src/main/docs/language-component.adoc[Language] (camel-core) +
-`language:languageName:resourceUri` | 2.5 | The language component allows you to send a message to an endpoint which executes a script by any of the supported Languages in Camel.
-
-| link:src/main/docs/log-component.adoc[Log] (camel-core) +
-`log:loggerName` | 1.1 | The log component logs message exchanges to the underlying logging mechanism.
-
-| link:src/main/docs/mock-component.adoc[Mock] (camel-core) +
-`mock:name` | 1.0 | The mock component is used for testing routes and mediation rules using mocks.
-
-| link:src/main/docs/properties-component.adoc[Properties] (camel-core) +
-`properties:key` | 2.3 | The properties component is used for using property placeholders in endpoint uris.
-
-| link:src/main/docs/ref-component.adoc[Ref] (camel-core) +
-`ref:name` | 1.2 | The ref component is used for lookup of existing endpoints bound in the Registry.
-
-| link:src/main/docs/rest-component.adoc[REST] (camel-core) +
-`rest:method:path:uriTemplate` | 2.14 | The rest component is used for either hosting REST services (consumer) or calling external REST services (producer).
-
-| link:src/main/docs/rest-api-component.adoc[REST API] (camel-core) +
-`rest-api:path/contextIdPattern` | 2.16 | The rest-api component is used for providing Swagger API of the REST services which has been defined using the rest-dsl in Camel.
-
-| link:src/main/docs/saga-component.adoc[Saga] (camel-core) +
-`saga:action` | 2.21 | The saga component provides access to advanced options for managing the flow in the Saga EIP.
-
-| link:src/main/docs/scheduler-component.adoc[Scheduler] (camel-core) +
-`scheduler:name` | 2.15 | The scheduler component is used for generating message exchanges when a scheduler fires.
-
-| link:src/main/docs/seda-component.adoc[SEDA] (camel-core) +
-`seda:name` | 1.1 | The seda component provides asynchronous call to another endpoint from any CamelContext in the same JVM.
-
-| link:src/main/docs/stub-component.adoc[Stub] (camel-core) +
-`stub:name` | 2.10 | The stub component provides a simple way to stub out any physical endpoints while in development or testing.
-
-| link:src/main/docs/test-component.adoc[Test] (camel-core) +
-`test:name` | 1.3 | The test component extends the mock component by on startup to pull messages from another endpoint to set the expected message bodies.
-
-| link:src/main/docs/timer-component.adoc[Timer] (camel-core) +
-`timer:timerName` | 1.0 | The timer component is used for generating message exchanges when a timer fires.
-
-| link:src/main/docs/validator-component.adoc[Validator] (camel-core) +
-`validator:resourceUri` | 1.1 | Validates the payload of a message using XML Schema and JAXP Validation.
-
-| link:src/main/docs/vm-component.adoc[VM] (camel-core) +
-`vm:name` | 1.1 | The vm component provides asynchronous call to another endpoint from the same CamelContext.
-
-| link:src/main/docs/xslt-component.adoc[XSLT] (camel-core) +
-`xslt:resourceUri` | 1.3 | Transforms the message using a XSLT template.
-
-|===
 // components: END
 
 
@@ -103,20 +22,7 @@ Data Formats
 
 
 // dataformats: START
-Number of Data Formats: 4 in 35 JAR artifacts (0 deprecated)
-
-[width="100%",cols="4,1,5",options="header"]
-|===
-| Data Format | Available From | Description
-
-| link:src/main/docs/gzip-dataformat.adoc[GZip] (camel-core) | 2.0 | The GZip data format is a message compression and de-compression format (which works with the popular gzip/gunzip tools).
-
-| link:src/main/docs/serialization-dataformat.adoc[Java Object Serialization] (camel-core) | 2.12 | Serialization is a data format which uses the standard Java Serialization mechanism to unmarshal a binary payload into Java objects or to marshal Java objects into a binary blob.
-
-| link:src/main/docs/string-dataformat.adoc[String Encoding] (camel-core) | 2.12 | String data format is a textual based format that supports character encoding.
 
-| link:src/main/docs/zip-dataformat.adoc[Zip Deflate Compression] (camel-core) | 2.12 | Zip Deflate Compression data format is a message compression and de-compression format (not zip files).
-|===
 // dataformats: END
 
 
@@ -133,32 +39,7 @@ Expression Languages
 
 
 // languages: START
-Number of Languages: 10 in 1 JAR artifacts (0 deprecated)
-
-[width="100%",cols="4,1,5",options="header"]
-|===
-| Language | Available From | Description
-
-| link:src/main/docs/bean-language.adoc[Bean method] (camel-core) | 1.3 | To use a Java bean (aka method call) in Camel expressions or predicates.
-
-| link:src/main/docs/constant-language.adoc[Constant] (camel-core) | 1.5 | To use a constant value in Camel expressions or predicates.
-
-| link:src/main/docs/exchangeProperty-language.adoc[ExchangeProperty] (camel-core) | 2.0 | To use a Camel Exchange property in expressions or predicates.
-
-| link:src/main/docs/file-language.adoc[File] (camel-core) | 1.1 | For expressions and predicates using the file/simple language
-
-| link:src/main/docs/header-language.adoc[Header] (camel-core) | 1.5 | To use a Camel Message header in expressions or predicates.
-
-| link:src/main/docs/ref-language.adoc[Ref] (camel-core) | 2.8 | Reference to an existing Camel expression or predicate, which is looked up from the Camel registry.
-
-| link:src/main/docs/simple-language.adoc[Simple] (camel-core) | 1.1 | To use Camels built-in Simple language in Camel expressions or predicates.
-
-| link:src/main/docs/tokenize-language.adoc[Tokenize] (camel-core) | 2.0 | To use Camel message body or header with a tokenizer in Camel expressions or predicates.
-
-| link:src/main/docs/xtokenize-language.adoc[XML Tokenize] (camel-core) | 2.14 | To use Camel message body or header with a XML tokenizer in Camel expressions or predicates.
 
-| link:src/main/docs/xpath-language.adoc[XPath] (camel-core) | 1.1 | To use XPath (XML) in Camel expressions or predicates.
-|===
 // languages: END
 
 
diff --git a/components/readme.adoc b/components/readme.adoc
index 4d34507..861d04f 100644
--- a/components/readme.adoc
+++ b/components/readme.adoc
@@ -2,877 +2,877 @@ Components
 ^^^^^^^^^^
 
 // components: START
-Number of Components: 289 in 191 JAR artifacts (0 deprecated)
+Number of Components: 289 in 1 JAR artifacts (0 deprecated)
 
 [width="100%",cols="4,1,5",options="header"]
 |===
 | Component | Available From | Description
 
-| link:camel-ahc/src/main/docs/ahc-component.adoc[AHC] (camel-ahc) +
+| link:null/src/main/docs/ahc-component.adoc[AHC] (null) +
 `ahc:httpUri` | 2.8 | To call external HTTP services using Async Http Client.
 
-| link:camel-ahc-ws/src/main/docs/ahc-ws-component.adoc[AHC Websocket] (camel-ahc-ws) +
+| link:null/src/main/docs/ahc-ws-component.adoc[AHC Websocket] (null) +
 `ahc-ws:httpUri` | 2.14 | To exchange data with external Websocket servers using Async Http Client.
 
-| link:camel-amqp/src/main/docs/amqp-component.adoc[AMQP] (camel-amqp) +
+| link:null/src/main/docs/amqp-component.adoc[AMQP] (null) +
 `amqp:destinationType:destinationName` | 1.2 | Messaging with AMQP protocol using Apache QPid Client.
 
-| link:camel-flink/src/main/docs/flink-component.adoc[Apache Flink] (camel-flink) +
+| link:null/src/main/docs/flink-component.adoc[Apache Flink] (null) +
 `flink:endpointType` | 2.18 | The flink component can be used to send DataSet jobs to Apache Flink cluster.
 
-| link:camel-spark/src/main/docs/spark-component.adoc[Apache Spark] (camel-spark) +
+| link:null/src/main/docs/spark-component.adoc[Apache Spark] (null) +
 `spark:endpointType` | 2.17 | The spark component can be used to send RDD or DataFrame jobs to Apache Spark cluster.
 
-| link:camel-apns/src/main/docs/apns-component.adoc[APNS] (camel-apns) +
+| link:null/src/main/docs/apns-component.adoc[APNS] (null) +
 `apns:name` | 2.8 | For sending notifications to Apple iOS devices.
 
-| link:camel-as2/camel-as2-component/src/main/docs/as2-component.adoc[AS2] (camel-as2) +
+| link:null/src/main/docs/as2-component.adoc[AS2] (null) +
 `as2:apiName` | 2.22 | Component used for transferring data secure and reliable over the internet using the AS2 protocol.
 
-| link:camel-asterisk/src/main/docs/asterisk-component.adoc[Asterisk] (camel-asterisk) +
+| link:null/src/main/docs/asterisk-component.adoc[Asterisk] (null) +
 `asterisk:name` | 2.18 | The asterisk component is used to interact with Asterisk PBX Server.
 
-| link:camel-atmos/src/main/docs/atmos-component.adoc[Atmos] (camel-atmos) +
+| link:null/src/main/docs/atmos-component.adoc[Atmos] (null) +
 `atmos:name/operation` | 2.15 | The atmos component is used for integrating with EMC's Atomos Storage.
 
-| link:camel-atmosphere-websocket/src/main/docs/atmosphere-websocket-component.adoc[Atmosphere Websocket] (camel-atmosphere-websocket) +
+| link:null/src/main/docs/atmosphere-websocket-component.adoc[Atmosphere Websocket] (null) +
 `atmosphere-websocket:servicePath` | 2.14 | To exchange data with external Websocket clients using Atmosphere.
 
-| link:camel-atom/src/main/docs/atom-component.adoc[Atom] (camel-atom) +
+| link:null/src/main/docs/atom-component.adoc[Atom] (null) +
 `atom:feedUri` | 1.2 | The atom component is used for consuming Atom RSS feeds.
 
-| link:camel-atomix/src/main/docs/atomix-map-component.adoc[Atomix Map] (camel-atomix) +
+| link:null/src/main/docs/atomix-map-component.adoc[Atomix Map] (null) +
 `atomix-map:resourceName` | 2.20 | The atomix-map component is used to access Atomix's distributed map.
 
-| link:camel-atomix/src/main/docs/atomix-messaging-component.adoc[Atomix Messaging] (camel-atomix) +
+| link:null/src/main/docs/atomix-messaging-component.adoc[Atomix Messaging] (null) +
 `atomix-messaging:resourceName` | 2.20 | The atomix-messaging component is used to access Atomix's group messaging.
 
-| link:camel-atomix/src/main/docs/atomix-multimap-component.adoc[Atomix MultiMap] (camel-atomix) +
+| link:null/src/main/docs/atomix-multimap-component.adoc[Atomix MultiMap] (null) +
 `atomix-multimap:resourceName` | 2.20 | The atomix-multimap component is used to access Atomix's distributed multi map.
 
-| link:camel-atomix/src/main/docs/atomix-queue-component.adoc[Atomix Queue] (camel-atomix) +
+| link:null/src/main/docs/atomix-queue-component.adoc[Atomix Queue] (null) +
 `atomix-queue:resourceName` | 2.20 | The atomix-queue component is used to access Atomix's distributed queue.
 
-| link:camel-atomix/src/main/docs/atomix-set-component.adoc[Atomix Set] (camel-atomix) +
+| link:null/src/main/docs/atomix-set-component.adoc[Atomix Set] (null) +
 `atomix-set:resourceName` | 2.20 | The atomix-set component is used to access Atomix's distributed set.
 
-| link:camel-atomix/src/main/docs/atomix-value-component.adoc[Atomix Value] (camel-atomix) +
+| link:null/src/main/docs/atomix-value-component.adoc[Atomix Value] (null) +
 `atomix-value:resourceName` | 2.20 | The atomix-value component is used to access Atomix's distributed value.
 
-| link:camel-avro/src/main/docs/avro-component.adoc[Avro] (camel-avro) +
+| link:null/src/main/docs/avro-component.adoc[Avro] (null) +
 `avro:transport:host:port/messageName` | 2.10 | Working with Apache Avro for data serialization.
 
-| link:camel-aws/src/main/docs/aws-cw-component.adoc[AWS CloudWatch] (camel-aws) +
+| link:null/src/main/docs/aws-cw-component.adoc[AWS CloudWatch] (null) +
 `aws-cw:namespace` | 2.11 | The aws-cw component is used for sending metrics to an Amazon CloudWatch.
 
-| link:camel-aws/src/main/docs/aws-ddb-component.adoc[AWS DynamoDB] (camel-aws) +
+| link:null/src/main/docs/aws-ddb-component.adoc[AWS DynamoDB] (null) +
 `aws-ddb:tableName` | 2.10 | The aws-ddb component is used for storing and retrieving data from Amazon's DynamoDB service.
 
-| link:camel-aws/src/main/docs/aws-ddbstream-component.adoc[AWS DynamoDB Streams] (camel-aws) +
+| link:null/src/main/docs/aws-ddbstream-component.adoc[AWS DynamoDB Streams] (null) +
 `aws-ddbstream:tableName` | 2.17 | The aws-ddbstream component is used for working with Amazon DynamoDB Streams.
 
-| link:camel-aws/src/main/docs/aws-ec2-component.adoc[AWS EC2] (camel-aws) +
+| link:null/src/main/docs/aws-ec2-component.adoc[AWS EC2] (null) +
 `aws-ec2:label` | 2.16 | The aws-ec2 is used for managing Amazon EC2 instances.
 
-| link:camel-aws/src/main/docs/aws-eks-component.adoc[AWS EKS] (camel-aws) +
+| link:null/src/main/docs/aws-eks-component.adoc[AWS EKS] (null) +
 `aws-eks:label` | 3.0 | The aws-kms is used for managing Amazon EKS
 
-| link:camel-aws/src/main/docs/aws-iam-component.adoc[AWS IAM] (camel-aws) +
+| link:null/src/main/docs/aws-iam-component.adoc[AWS IAM] (null) +
 `aws-iam:label` | 2.23 | The aws-iam is used for managing Amazon IAM
 
-| link:camel-aws/src/main/docs/aws-kinesis-component.adoc[AWS Kinesis] (camel-aws) +
+| link:null/src/main/docs/aws-kinesis-component.adoc[AWS Kinesis] (null) +
 `aws-kinesis:streamName` | 2.17 | The aws-kinesis component is for consuming and producing records from Amazon Kinesis Streams.
 
-| link:camel-aws/src/main/docs/aws-kinesis-firehose-component.adoc[AWS Kinesis Firehose] (camel-aws) +
+| link:null/src/main/docs/aws-kinesis-firehose-component.adoc[AWS Kinesis Firehose] (null) +
 `aws-kinesis-firehose:streamName` | 2.19 | The aws-kinesis-firehose component is used for producing Amazon's Kinesis Firehose streams.
 
-| link:camel-aws/src/main/docs/aws-kms-component.adoc[AWS KMS] (camel-aws) +
+| link:null/src/main/docs/aws-kms-component.adoc[AWS KMS] (null) +
 `aws-kms:label` | 2.21 | The aws-kms is used for managing Amazon KMS
 
-| link:camel-aws/src/main/docs/aws-lambda-component.adoc[AWS Lambda] (camel-aws) +
+| link:null/src/main/docs/aws-lambda-component.adoc[AWS Lambda] (null) +
 `aws-lambda:function` | 2.20 | The aws-lambda is used for managing and invoking functions from Amazon Lambda.
 
-| link:camel-aws/src/main/docs/aws-mq-component.adoc[AWS MQ] (camel-aws) +
+| link:null/src/main/docs/aws-mq-component.adoc[AWS MQ] (null) +
 `aws-mq:label` | 2.21 | The aws-mq is used for managing Amazon MQ instances.
 
-| link:camel-aws/src/main/docs/aws-s3-component.adoc[AWS S3 Storage Service] (camel-aws) +
+| link:null/src/main/docs/aws-s3-component.adoc[AWS S3 Storage Service] (null) +
 `aws-s3:bucketNameOrArn` | 2.8 | The aws-s3 component is used for storing and retrieving objecct from Amazon S3 Storage Service.
 
-| link:camel-aws/src/main/docs/aws-ses-component.adoc[AWS Simple Email Service] (camel-aws) +
+| link:null/src/main/docs/aws-ses-component.adoc[AWS Simple Email Service] (null) +
 `aws-ses:from` | 2.9 | The aws-ses component is used for sending emails with Amazon's SES service.
 
-| link:camel-aws/src/main/docs/aws-sns-component.adoc[AWS Simple Notification System] (camel-aws) +
+| link:null/src/main/docs/aws-sns-component.adoc[AWS Simple Notification System] (null) +
 `aws-sns:topicNameOrArn` | 2.8 | The aws-sns component is used for sending messages to an Amazon Simple Notification Topic.
 
-| link:camel-aws/src/main/docs/aws-sqs-component.adoc[AWS Simple Queue Service] (camel-aws) +
+| link:null/src/main/docs/aws-sqs-component.adoc[AWS Simple Queue Service] (null) +
 `aws-sqs:queueNameOrArn` | 2.6 | The aws-sqs component is used for sending and receiving messages to Amazon's SQS service.
 
-| link:camel-aws/src/main/docs/aws-swf-component.adoc[AWS Simple Workflow] (camel-aws) +
+| link:null/src/main/docs/aws-swf-component.adoc[AWS Simple Workflow] (null) +
 `aws-swf:type` | 2.13 | The aws-swf component is used for managing workflows from Amazon Simple Workflow.
 
-| link:camel-aws/src/main/docs/aws-sdb-component.adoc[AWS SimpleDB] (camel-aws) +
+| link:null/src/main/docs/aws-sdb-component.adoc[AWS SimpleDB] (null) +
 `aws-sdb:domainName` | 2.9 | The aws-sdb component is for storing and retrieving data from/to Amazon's SDB service.
 
-| link:camel-azure/src/main/docs/azure-blob-component.adoc[Azure Storage Blob Service] (camel-azure) +
+| link:null/src/main/docs/azure-blob-component.adoc[Azure Storage Blob Service] (null) +
 `azure-blob:containerOrBlobUri` | 2.19 | The azure-blob component is used for storing and retrieving blobs from Azure Storage Blob Service.
 
-| link:camel-azure/src/main/docs/azure-queue-component.adoc[Azure Storage Queue Service] (camel-azure) +
+| link:null/src/main/docs/azure-queue-component.adoc[Azure Storage Queue Service] (null) +
 `azure-queue:containerAndQueueUri` | 2.19 | The azure-queue component is used for storing and retrieving messages from Azure Storage Queue Service.
 
-| link:../camel-core/src/main/docs/bean-component.adoc[Bean] (camel-core) +
+| link:null/src/main/docs/bean-component.adoc[Bean] (null) +
 `bean:beanName` | 1.0 | The bean component is for invoking Java beans from Camel.
 
-| link:camel-bean-validator/src/main/docs/bean-validator-component.adoc[Bean Validator] (camel-bean-validator) +
+| link:null/src/main/docs/bean-validator-component.adoc[Bean Validator] (null) +
 `bean-validator:label` | 2.3 | The Validator component performs bean validation of the message body using the Java Bean Validation API.
 
-| link:camel-beanstalk/src/main/docs/beanstalk-component.adoc[Beanstalk] (camel-beanstalk) +
+| link:null/src/main/docs/beanstalk-component.adoc[Beanstalk] (null) +
 `beanstalk:connectionSettings` | 2.15 | The beanstalk component is used for job retrieval and post-processing of Beanstalk jobs.
 
-| link:camel-bonita/src/main/docs/bonita-component.adoc[Bonita] (camel-bonita) +
+| link:null/src/main/docs/bonita-component.adoc[Bonita] (null) +
 `bonita:operation` | 2.19 | Used for communicating with a remote Bonita BPM process engine.
 
-| link:camel-box/camel-box-component/src/main/docs/box-component.adoc[Box] (camel-box) +
+| link:null/src/main/docs/box-component.adoc[Box] (null) +
 `box:apiName/methodName` | 2.14 | For uploading downloading and managing files folders groups collaborations etc on box DOT com.
 
-| link:camel-braintree/src/main/docs/braintree-component.adoc[Braintree] (camel-braintree) +
+| link:null/src/main/docs/braintree-component.adoc[Braintree] (null) +
 `braintree:apiName/methodName` | 2.17 | The braintree component is used for integrating with the Braintree Payment System.
 
-| link:../camel-core/src/main/docs/browse-component.adoc[Browse] (camel-core) +
+| link:null/src/main/docs/browse-component.adoc[Browse] (null) +
 `browse:name` | 1.3 | The browse component is used for viewing the messages received on endpoints that supports BrowsableEndpoint.
 
-| link:camel-caffeine/src/main/docs/caffeine-cache-component.adoc[Caffeine Cache] (camel-caffeine) +
+| link:null/src/main/docs/caffeine-cache-component.adoc[Caffeine Cache] (null) +
 `caffeine-cache:cacheName` | 2.20 | The caffeine-cache component is used for integration with Caffeine Cache.
 
-| link:camel-caffeine/src/main/docs/caffeine-loadcache-component.adoc[Caffeine LoadCache] (camel-caffeine) +
+| link:null/src/main/docs/caffeine-loadcache-component.adoc[Caffeine LoadCache] (null) +
 `caffeine-loadcache:cacheName` | 2.20 | The caffeine-loadcache component is used for integration with Caffeine Load Cache.
 
-| link:camel-cassandraql/src/main/docs/cql-component.adoc[Cassandra CQL] (camel-cassandraql) +
+| link:null/src/main/docs/cql-component.adoc[Cassandra CQL] (null) +
 `cql:beanRef:hosts:port/keyspace` | 2.15 | The cql component aims at integrating Cassandra 2.0 using the CQL3 API (not the Thrift API).
 
-| link:camel-chronicle/src/main/docs/chronicle-engine-component.adoc[Chronicle Engine] (camel-chronicle) +
+| link:null/src/main/docs/chronicle-engine-component.adoc[Chronicle Engine] (null) +
 `chronicle-engine:addresses/path` | 2.18 | The camel chronicle-engine component let you leverage the power of OpenHFT's Chronicle-Engine.
 
-| link:camel-chunk/src/main/docs/chunk-component.adoc[Chunk] (camel-chunk) +
+| link:null/src/main/docs/chunk-component.adoc[Chunk] (null) +
 `chunk:resourceUri` | 2.15 | Transforms the message using a Chunk template.
 
-| link:../camel-core/src/main/docs/class-component.adoc[Class] (camel-core) +
+| link:null/src/main/docs/class-component.adoc[Class] (null) +
 `class:beanName` | 2.4 | The Class Component is for invoking Java Classes (Java beans) from Camel.
 
-| link:camel-cm-sms/src/main/docs/cm-sms-component.adoc[CM SMS Gateway] (camel-cm-sms) +
+| link:null/src/main/docs/cm-sms-component.adoc[CM SMS Gateway] (null) +
 `cm-sms:host` | 2.18 | The cm-sms component allows to integrate with CM SMS Gateway.
 
-| link:camel-cmis/src/main/docs/cmis-component.adoc[CMIS] (camel-cmis) +
+| link:null/src/main/docs/cmis-component.adoc[CMIS] (null) +
 `cmis:cmsUrl` | 2.11 | The cmis component uses the Apache Chemistry client API and allows you to add/read nodes to/from a CMIS compliant content repositories.
 
-| link:camel-coap/src/main/docs/coap-component.adoc[CoAP] (camel-coap) +
+| link:null/src/main/docs/coap-component.adoc[CoAP] (null) +
 `coap:uri` | 2.16 | The coap component is used for sending and receiving messages from COAP capable devices.
 
-| link:camel-cometd/src/main/docs/cometd-component.adoc[CometD] (camel-cometd) +
+| link:null/src/main/docs/cometd-component.adoc[CometD] (null) +
 `cometd:host:port/channelName` | 2.0 | The cometd component is a transport for working with the Jetty implementation of the cometd/bayeux protocol.
 
-| link:camel-consul/src/main/docs/consul-component.adoc[Consul] (camel-consul) +
+| link:null/src/main/docs/consul-component.adoc[Consul] (null) +
 `consul:apiEndpoint` | 2.18 | The camel consul component allows you to work with Consul, a distributed, highly available, datacenter-aware, service discovery and configuration system.
 
-| link:../camel-core/src/main/docs/controlbus-component.adoc[Control Bus] (camel-core) +
+| link:null/src/main/docs/controlbus-component.adoc[Control Bus] (null) +
 `controlbus:command:language` | 2.11 | The controlbus component provides easy management of Camel applications based on the Control Bus EIP pattern.
 
-| link:camel-corda/src/main/docs/corda-component.adoc[corda] (camel-corda) +
+| link:null/src/main/docs/corda-component.adoc[corda] (null) +
 `corda:url` | 2.23 | The corda component uses the corda-rpc to interact with corda nodes.
 
-| link:camel-couchbase/src/main/docs/couchbase-component.adoc[Couchbase] (camel-couchbase) +
+| link:null/src/main/docs/couchbase-component.adoc[Couchbase] (null) +
 `couchbase:protocol:hostname:port` | 2.19 | Represents a Couchbase endpoint that can query Views with a Poll strategy and/or produce various type of operations.
 
-| link:camel-couchdb/src/main/docs/couchdb-component.adoc[CouchDB] (camel-couchdb) +
+| link:null/src/main/docs/couchdb-component.adoc[CouchDB] (null) +
 `couchdb:protocol:hostname:port/database` | 2.11 | The couchdb component is used for integrate with CouchDB databases.
 
-| link:camel-crypto/src/main/docs/crypto-component.adoc[Crypto (JCE)] (camel-crypto) +
+| link:null/src/main/docs/crypto-component.adoc[Crypto (JCE)] (null) +
 `crypto:cryptoOperation:name` | 2.3 | The crypto component is used for signing and verifying exchanges using the Signature Service of the Java Cryptographic Extension (JCE).
 
-| link:camel-crypto-cms/src/main/docs/crypto-cms-component.adoc[Crypto CMS] (camel-crypto-cms) +
+| link:null/src/main/docs/crypto-cms-component.adoc[Crypto CMS] (null) +
 `crypto-cms:cryptoOperation:name` | 2.20 | The crypto cms component is used for encrypting data in CMS Enveloped Data format, decrypting CMS Enveloped Data, signing data in CMS Signed Data format, and verifying CMS Signed Data.
 
-| link:camel-cxf/src/main/docs/cxf-component.adoc[CXF] (camel-cxf) +
+| link:null/src/main/docs/cxf-component.adoc[CXF] (null) +
 `cxf:beanId:address` | 1.0 | The cxf component is used for SOAP WebServices using Apache CXF.
 
-| link:camel-cxf/src/main/docs/cxfrs-component.adoc[CXF-RS] (camel-cxf) +
+| link:null/src/main/docs/cxfrs-component.adoc[CXF-RS] (null) +
 `cxfrs:beanId:address` | 2.0 | The cxfrs component is used for JAX-RS REST services using Apache CXF.
 
-| link:../camel-core/src/main/docs/dataformat-component.adoc[Data Format] (camel-core) +
+| link:null/src/main/docs/dataformat-component.adoc[Data Format] (null) +
 `dataformat:name:operation` | 2.12 | The dataformat component is used for working with Data Formats as if it was a regular Component supporting Endpoints and URIs.
 
-| link:../camel-core/src/main/docs/dataset-component.adoc[Dataset] (camel-core) +
+| link:null/src/main/docs/dataset-component.adoc[Dataset] (null) +
 `dataset:name` | 1.3 | The dataset component provides a mechanism to easily perform load & soak testing of your system.
 
-| link:camel-digitalocean/src/main/docs/digitalocean-component.adoc[DigitalOcean] (camel-digitalocean) +
+| link:null/src/main/docs/digitalocean-component.adoc[DigitalOcean] (null) +
 `digitalocean:operation` | 2.19 | The DigitalOcean component allows you to manage Droplets and resources within the DigitalOcean cloud.
 
-| link:../camel-core/src/main/docs/direct-component.adoc[Direct] (camel-core) +
+| link:null/src/main/docs/direct-component.adoc[Direct] (null) +
 `direct:name` | 1.0 | The direct component provides direct, synchronous call to another endpoint from the same CamelContext.
 
-| link:../camel-core/src/main/docs/direct-vm-component.adoc[Direct VM] (camel-core) +
+| link:null/src/main/docs/direct-vm-component.adoc[Direct VM] (null) +
 `direct-vm:name` | 2.10 | The direct-vm component provides direct, synchronous call to another endpoint from any CamelContext in the same JVM.
 
-| link:camel-disruptor/src/main/docs/disruptor-component.adoc[Disruptor] (camel-disruptor) +
+| link:null/src/main/docs/disruptor-component.adoc[Disruptor] (null) +
 `disruptor:name` | 2.12 | The disruptor component provides asynchronous SEDA behavior using LMAX Disruptor.
 
-| link:camel-dns/src/main/docs/dns-component.adoc[DNS] (camel-dns) +
+| link:null/src/main/docs/dns-component.adoc[DNS] (null) +
 `dns:dnsType` | 2.7 | To lookup domain information and run DNS queries using DNSJava.
 
-| link:camel-docker/src/main/docs/docker-component.adoc[Docker] (camel-docker) +
+| link:null/src/main/docs/docker-component.adoc[Docker] (null) +
 `docker:operation` | 2.15 | The docker component is used for managing Docker containers.
 
-| link:camel-dozer/src/main/docs/dozer-component.adoc[Dozer] (camel-dozer) +
+| link:null/src/main/docs/dozer-component.adoc[Dozer] (null) +
 `dozer:name` | 2.15 | The dozer component provides the ability to map between Java beans using the Dozer mapping library.
 
-| link:camel-drill/src/main/docs/drill-component.adoc[Drill] (camel-drill) +
+| link:null/src/main/docs/drill-component.adoc[Drill] (null) +
 `drill:host` | 2.19 | The drill component gives you the ability to quering into apache drill cluster.
 
-| link:camel-dropbox/src/main/docs/dropbox-component.adoc[Dropbox] (camel-dropbox) +
+| link:null/src/main/docs/dropbox-component.adoc[Dropbox] (null) +
 `dropbox:operation` | 2.14 | For uploading, downloading and managing files, folders, groups, collaborations, etc on dropbox DOT com.
 
-| link:camel-ehcache/src/main/docs/ehcache-component.adoc[Ehcache] (camel-ehcache) +
+| link:null/src/main/docs/ehcache-component.adoc[Ehcache] (null) +
 `ehcache:cacheName` | 2.18 | The ehcache component enables you to perform caching operations using Ehcache as cache implementation.
 
-| link:camel-ejb/src/main/docs/ejb-component.adoc[EJB] (camel-ejb) +
+| link:null/src/main/docs/ejb-component.adoc[EJB] (null) +
 `ejb:beanName` | 2.4 | The ejb component is for invoking EJB Java beans from Camel.
 
-| link:camel-elasticsearch-rest/src/main/docs/elasticsearch-rest-component.adoc[Elastichsearch Rest] (camel-elasticsearch-rest) +
+| link:null/src/main/docs/elasticsearch-rest-component.adoc[Elastichsearch Rest] (null) +
 `elasticsearch-rest:clusterName` | 2.21 | The elasticsearch component is used for interfacing with ElasticSearch server using REST API.
 
-| link:camel-elsql/src/main/docs/elsql-component.adoc[ElSQL] (camel-elsql) +
+| link:null/src/main/docs/elsql-component.adoc[ElSQL] (null) +
 `elsql:elsqlName:resourceUri` | 2.16 | The elsql component is an extension to the existing SQL Component that uses ElSql to define the SQL queries.
 
-| link:camel-etcd/src/main/docs/etcd-component.adoc[etcd] (camel-etcd) +
+| link:null/src/main/docs/etcd-component.adoc[etcd] (null) +
 `etcd:namespace/path` | 2.18 | The camel etcd component allows you to work with Etcd, a distributed reliable key-value store.
 
-| link:camel-exec/src/main/docs/exec-component.adoc[Exec] (camel-exec) +
+| link:null/src/main/docs/exec-component.adoc[Exec] (null) +
 `exec:executable` | 2.3 | The exec component can be used to execute OS system commands.
 
-| link:camel-facebook/src/main/docs/facebook-component.adoc[Facebook] (camel-facebook) +
+| link:null/src/main/docs/facebook-component.adoc[Facebook] (null) +
 `facebook:methodName` | 2.14 | The Facebook component provides access to all of the Facebook APIs accessible using Facebook4J.
 
-| link:camel-fhir/camel-fhir-component/src/main/docs/fhir-component.adoc[FHIR] (camel-fhir) +
+| link:null/src/main/docs/fhir-component.adoc[FHIR] (null) +
 `fhir:apiName/methodName` | 2.23 | The fhir component is used for working with the FHIR protocol (health care).
 
-| link:../camel-core/src/main/docs/file-component.adoc[File] (camel-core) +
+| link:null/src/main/docs/file-component.adoc[File] (null) +
 `file:directoryName` | 1.0 | The file component is used for reading or writing files.
 
-| link:camel-flatpack/src/main/docs/flatpack-component.adoc[Flatpack] (camel-flatpack) +
+| link:null/src/main/docs/flatpack-component.adoc[Flatpack] (null) +
 `flatpack:type:resourceUri` | 1.4 | The flatpack component supports fixed width and delimited file parsing via the FlatPack library.
 
-| link:camel-fop/src/main/docs/fop-component.adoc[FOP] (camel-fop) +
+| link:null/src/main/docs/fop-component.adoc[FOP] (null) +
 `fop:outputType` | 2.10 | The fop component allows you to render a message into different output formats using Apache FOP.
 
-| link:camel-freemarker/src/main/docs/freemarker-component.adoc[Freemarker] (camel-freemarker) +
+| link:null/src/main/docs/freemarker-component.adoc[Freemarker] (null) +
 `freemarker:resourceUri` | 2.10 | Transforms the message using a FreeMarker template.
 
-| link:camel-ftp/src/main/docs/ftp-component.adoc[FTP] (camel-ftp) +
+| link:null/src/main/docs/ftp-component.adoc[FTP] (null) +
 `ftp:host:port/directoryName` | 1.1 | The ftp component is used for uploading or downloading files from FTP servers.
 
-| link:camel-ftp/src/main/docs/ftps-component.adoc[FTPS] (camel-ftp) +
+| link:null/src/main/docs/ftps-component.adoc[FTPS] (null) +
 `ftps:host:port/directoryName` | 2.2 | The ftps (FTP secure SSL/TLS) component is used for uploading or downloading files from FTP servers.
 
-| link:camel-ganglia/src/main/docs/ganglia-component.adoc[Ganglia] (camel-ganglia) +
+| link:null/src/main/docs/ganglia-component.adoc[Ganglia] (null) +
 `ganglia:host:port` | 2.15 | The ganglia component is used for sending metrics to the Ganglia monitoring system.
 
-| link:camel-geocoder/src/main/docs/geocoder-component.adoc[Geocoder] (camel-geocoder) +
+| link:null/src/main/docs/geocoder-component.adoc[Geocoder] (null) +
 `geocoder:address:latlng` | 2.12 | The geocoder component is used for looking up geocodes (latitude and longitude) for a given address, or reverse lookup.
 
-| link:camel-git/src/main/docs/git-component.adoc[Git] (camel-git) +
+| link:null/src/main/docs/git-component.adoc[Git] (null) +
 `git:localPath` | 2.16 | The git component is used for working with git repositories.
 
-| link:camel-github/src/main/docs/github-component.adoc[GitHub] (camel-github) +
+| link:null/src/main/docs/github-component.adoc[GitHub] (null) +
 `github:type/branchName` | 2.15 | The github component is used for integrating Camel with github.
 
-| link:camel-google-bigquery/src/main/docs/google-bigquery-component.adoc[Google BigQuery] (camel-google-bigquery) +
+| link:null/src/main/docs/google-bigquery-component.adoc[Google BigQuery] (null) +
 `google-bigquery:projectId:datasetId:tableName` | 2.20 | Google BigQuery data warehouse for analytics.
 
-| link:camel-google-bigquery/src/main/docs/google-bigquery-sql-component.adoc[Google BigQuery Standard SQL] (camel-google-bigquery) +
+| link:null/src/main/docs/google-bigquery-sql-component.adoc[Google BigQuery Standard SQL] (null) +
 `google-bigquery-sql:query` | 2.23 | Google BigQuery data warehouse for analytics (using SQL queries).
 
-| link:camel-google-calendar/src/main/docs/google-calendar-component.adoc[Google Calendar] (camel-google-calendar) +
+| link:null/src/main/docs/google-calendar-component.adoc[Google Calendar] (null) +
 `google-calendar:apiName/methodName` | 2.15 | The google-calendar component provides access to Google Calendar.
 
-| link:camel-google-calendar/src/main/docs/google-calendar-stream-component.adoc[Google Calendar Stream] (camel-google-calendar) +
+| link:null/src/main/docs/google-calendar-stream-component.adoc[Google Calendar Stream] (null) +
 `google-calendar-stream:index` | 2.23 | The google-calendar component provides access to Google Calendar in a streaming mode.
 
-| link:camel-google-drive/src/main/docs/google-drive-component.adoc[Google Drive] (camel-google-drive) +
+| link:null/src/main/docs/google-drive-component.adoc[Google Drive] (null) +
 `google-drive:apiName/methodName` | 2.14 | The google-drive component provides access to Google Drive file storage service.
 
-| link:camel-google-mail/src/main/docs/google-mail-component.adoc[Google Mail] (camel-google-mail) +
+| link:null/src/main/docs/google-mail-component.adoc[Google Mail] (null) +
 `google-mail:apiName/methodName` | 2.15 | The google-mail component provides access to Google Mail.
 
-| link:camel-google-mail/src/main/docs/google-mail-stream-component.adoc[Google Mail Stream] (camel-google-mail) +
+| link:null/src/main/docs/google-mail-stream-component.adoc[Google Mail Stream] (null) +
 `google-mail-stream:index` | 2.22 | The google-mail component provides access to Google Mail.
 
-| link:camel-google-pubsub/src/main/docs/google-pubsub-component.adoc[Google Pubsub] (camel-google-pubsub) +
+| link:null/src/main/docs/google-pubsub-component.adoc[Google Pubsub] (null) +
 `google-pubsub:projectId:destinationName` | 2.19 | Messaging client for Google Cloud Platform PubSub Service
 
-| link:camel-google-sheets/src/main/docs/google-sheets-component.adoc[Google Sheets] (camel-google-sheets) +
+| link:null/src/main/docs/google-sheets-component.adoc[Google Sheets] (null) +
 `google-sheets:apiName/methodName` | 2.23 | The google-sheets component provides access to Google Sheets.
 
-| link:camel-google-sheets/src/main/docs/google-sheets-stream-component.adoc[Google Sheets Stream] (camel-google-sheets) +
+| link:null/src/main/docs/google-sheets-stream-component.adoc[Google Sheets Stream] (null) +
 `google-sheets-stream:apiName` | 2.23 | The google-sheets component provides access to Google Sheets.
 
-| link:camel-gora/src/main/docs/gora-component.adoc[Gora] (camel-gora) +
+| link:null/src/main/docs/gora-component.adoc[Gora] (null) +
 `gora:name` | 2.14 | The gora component allows you to work with NoSQL databases using the Apache Gora framework.
 
-| link:camel-grape/src/main/docs/grape-component.adoc[Grape] (camel-grape) +
-`grape:defaultCoordinates` | 2.16 | Grape component allows you to fetch, load and manage additional jars when CamelContext is running.
+| link:null/src/main/docs/grape-component.adoc[Grape] (null) +
+`grape:defaultCoordinates` | 2.16 | The grape component allows you to fetch, load and manage additional jars when CamelContext is running.
 
-| link:camel-grpc/src/main/docs/grpc-component.adoc[gRPC] (camel-grpc) +
+| link:null/src/main/docs/grpc-component.adoc[gRPC] (null) +
 `grpc:host:port/service` | 2.19 | The gRPC component allows to call and expose remote procedures via HTTP/2 with protobuf dataformat
 
-| link:camel-guava-eventbus/src/main/docs/guava-eventbus-component.adoc[Guava EventBus] (camel-guava-eventbus) +
+| link:null/src/main/docs/guava-eventbus-component.adoc[Guava EventBus] (null) +
 `guava-eventbus:eventBusRef` | 2.10 | The guava-eventbus component provides integration bridge between Camel and Google Guava EventBus.
 
-| link:camel-hazelcast/src/main/docs/hazelcast-atomicvalue-component.adoc[Hazelcast Atomic Number] (camel-hazelcast) +
+| link:null/src/main/docs/hazelcast-atomicvalue-component.adoc[Hazelcast Atomic Number] (null) +
 `hazelcast-atomicvalue:cacheName` | 2.7 | The hazelcast-atomicvalue component is used to access Hazelcast atomic number, which is an object that simply provides a grid wide number (long).
 
-| link:camel-hazelcast/src/main/docs/hazelcast-instance-component.adoc[Hazelcast Instance] (camel-hazelcast) +
+| link:null/src/main/docs/hazelcast-instance-component.adoc[Hazelcast Instance] (null) +
 `hazelcast-instance:cacheName` | 2.7 | The hazelcast-instance component is used to consume join/leave events of the cache instance in the cluster.
 
-| link:camel-hazelcast/src/main/docs/hazelcast-list-component.adoc[Hazelcast List] (camel-hazelcast) +
+| link:null/src/main/docs/hazelcast-list-component.adoc[Hazelcast List] (null) +
 `hazelcast-list:cacheName` | 2.7 | The hazelcast-list component is used to access Hazelcast distributed list.
 
-| link:camel-hazelcast/src/main/docs/hazelcast-map-component.adoc[Hazelcast Map] (camel-hazelcast) +
+| link:null/src/main/docs/hazelcast-map-component.adoc[Hazelcast Map] (null) +
 `hazelcast-map:cacheName` | 2.7 | The hazelcast-map component is used to access Hazelcast distributed map.
 
-| link:camel-hazelcast/src/main/docs/hazelcast-multimap-component.adoc[Hazelcast Multimap] (camel-hazelcast) +
+| link:null/src/main/docs/hazelcast-multimap-component.adoc[Hazelcast Multimap] (null) +
 `hazelcast-multimap:cacheName` | 2.7 | The hazelcast-multimap component is used to to access Hazelcast distributed multimap.
 
-| link:camel-hazelcast/src/main/docs/hazelcast-queue-component.adoc[Hazelcast Queue] (camel-hazelcast) +
+| link:null/src/main/docs/hazelcast-queue-component.adoc[Hazelcast Queue] (null) +
 `hazelcast-queue:cacheName` | 2.7 | The hazelcast-queue component is used to access Hazelcast distributed queue.
 
-| link:camel-hazelcast/src/main/docs/hazelcast-replicatedmap-component.adoc[Hazelcast Replicated Map] (camel-hazelcast) +
+| link:null/src/main/docs/hazelcast-replicatedmap-component.adoc[Hazelcast Replicated Map] (null) +
 `hazelcast-replicatedmap:cacheName` | 2.16 | The hazelcast-replicatedmap component is used to access Hazelcast replicated map.
 
-| link:camel-hazelcast/src/main/docs/hazelcast-ringbuffer-component.adoc[Hazelcast Ringbuffer] (camel-hazelcast) +
+| link:null/src/main/docs/hazelcast-ringbuffer-component.adoc[Hazelcast Ringbuffer] (null) +
 `hazelcast-ringbuffer:cacheName` | 2.16 | The hazelcast-ringbuffer component is used to access Hazelcast distributed ringbuffer.
 
-| link:camel-hazelcast/src/main/docs/hazelcast-seda-component.adoc[Hazelcast SEDA] (camel-hazelcast) +
+| link:null/src/main/docs/hazelcast-seda-component.adoc[Hazelcast SEDA] (null) +
 `hazelcast-seda:cacheName` | 2.7 | The hazelcast-seda component is used to access Hazelcast BlockingQueue.
 
-| link:camel-hazelcast/src/main/docs/hazelcast-set-component.adoc[Hazelcast Set] (camel-hazelcast) +
+| link:null/src/main/docs/hazelcast-set-component.adoc[Hazelcast Set] (null) +
 `hazelcast-set:cacheName` | 2.7 | The camel Endpoint to access Hazelcast distributed set.
 
-| link:camel-hazelcast/src/main/docs/hazelcast-topic-component.adoc[Hazelcast Topic] (camel-hazelcast) +
+| link:null/src/main/docs/hazelcast-topic-component.adoc[Hazelcast Topic] (null) +
 `hazelcast-topic:cacheName` | 2.15 | The hazelcast-topic component is used to access Hazelcast distributed topic.
 
-| link:camel-hbase/src/main/docs/hbase-component.adoc[HBase] (camel-hbase) +
+| link:null/src/main/docs/hbase-component.adoc[HBase] (null) +
 `hbase:tableName` | 2.10 | For reading/writing from/to an HBase store (Hadoop database).
 
-| link:camel-hdfs2/src/main/docs/hdfs2-component.adoc[HDFS2] (camel-hdfs2) +
+| link:null/src/main/docs/hdfs2-component.adoc[HDFS2] (null) +
 `hdfs2:hostName:port/path` | 2.14 | For reading/writing from/to an HDFS filesystem using Hadoop 2.x.
 
-| link:camel-hipchat/src/main/docs/hipchat-component.adoc[Hipchat] (camel-hipchat) +
+| link:null/src/main/docs/hipchat-component.adoc[Hipchat] (null) +
 `hipchat:protocol:host:port` | 2.15 | The hipchat component supports producing and consuming messages from/to Hipchat service.
 
-| link:camel-http4/src/main/docs/http4-component.adoc[HTTP4] (camel-http4) +
+| link:null/src/main/docs/http4-component.adoc[HTTP4] (null) +
 `http4:httpUri` | 2.3 | For calling out to external HTTP servers using Apache HTTP Client 4.x.
 
-| link:camel-iec60870/src/main/docs/iec60870-client-component.adoc[IEC 60870 Client] (camel-iec60870) +
+| link:null/src/main/docs/iec60870-client-component.adoc[IEC 60870 Client] (null) +
 `iec60870-client:uriPath` | 2.20 | IEC 60870 component used for telecontrol (supervisory control and data acquisition) such as controlling electric power transmission grids and other geographically widespread control systems.
 
-| link:camel-iec60870/src/main/docs/iec60870-server-component.adoc[IEC 60870 Server] (camel-iec60870) +
+| link:null/src/main/docs/iec60870-server-component.adoc[IEC 60870 Server] (null) +
 `iec60870-server:uriPath` | 2.20 | IEC 60870 component used for telecontrol (supervisory control and data acquisition) such as controlling electric power transmission grids and other geographically widespread control systems.
 
-| link:camel-ignite/src/main/docs/ignite-cache-component.adoc[Ignite Cache] (camel-ignite) +
+| link:null/src/main/docs/ignite-cache-component.adoc[Ignite Cache] (null) +
 `ignite-cache:cacheName` | 2.17 | The Ignite Cache endpoint is one of camel-ignite endpoints which allows you to interact with an Ignite Cache.
 
-| link:camel-ignite/src/main/docs/ignite-compute-component.adoc[Ignite Compute] (camel-ignite) +
+| link:null/src/main/docs/ignite-compute-component.adoc[Ignite Compute] (null) +
 `ignite-compute:endpointId` | 2.17 | The Ignite Compute endpoint is one of camel-ignite endpoints which allows you to run compute operations on the cluster by passing in an IgniteCallable, an IgniteRunnable, an IgniteClosure, or collections of them, along with their parameters if necessary.
 
-| link:camel-ignite/src/main/docs/ignite-events-component.adoc[Ignite Events] (camel-ignite) +
+| link:null/src/main/docs/ignite-events-component.adoc[Ignite Events] (null) +
 `ignite-events:endpointId` | 2.17 | The Ignite Events endpoint is one of camel-ignite endpoints which allows you to receive events from the Ignite cluster by creating a local event listener.
 
-| link:camel-ignite/src/main/docs/ignite-idgen-component.adoc[Ignite ID Generator] (camel-ignite) +
+| link:null/src/main/docs/ignite-idgen-component.adoc[Ignite ID Generator] (null) +
 `ignite-idgen:name` | 2.17 | The Ignite ID Generator endpoint is one of camel-ignite endpoints which allows you to interact with Ignite Atomic Sequences and ID Generators.
 
-| link:camel-ignite/src/main/docs/ignite-messaging-component.adoc[Ignite Messaging] (camel-ignite) +
+| link:null/src/main/docs/ignite-messaging-component.adoc[Ignite Messaging] (null) +
 `ignite-messaging:topic` | 2.17 | The Ignite Messaging endpoint is one of camel-ignite endpoints which allows you to send and consume messages from an Ignite topic.
 
-| link:camel-ignite/src/main/docs/ignite-queue-component.adoc[Ignite Queues] (camel-ignite) +
+| link:null/src/main/docs/ignite-queue-component.adoc[Ignite Queues] (null) +
 `ignite-queue:name` | 2.17 | The Ignite Queue endpoint is one of camel-ignite endpoints which allows you to interact with Ignite Queue data structures.
 
-| link:camel-ignite/src/main/docs/ignite-set-component.adoc[Ignite Sets] (camel-ignite) +
+| link:null/src/main/docs/ignite-set-component.adoc[Ignite Sets] (null) +
 `ignite-set:name` | 2.17 | The Ignite Sets endpoint is one of camel-ignite endpoints which allows you to interact with Ignite Set data structures.
 
-| link:camel-infinispan/src/main/docs/infinispan-component.adoc[Infinispan] (camel-infinispan) +
+| link:null/src/main/docs/infinispan-component.adoc[Infinispan] (null) +
 `infinispan:cacheName` | 2.13 | For reading/writing from/to Infinispan distributed key/value store and data grid.
 
-| link:camel-influxdb/src/main/docs/influxdb-component.adoc[InfluxDB] (camel-influxdb) +
+| link:null/src/main/docs/influxdb-component.adoc[InfluxDB] (null) +
 `influxdb:connectionBean` | 2.18 | The influxdb component allows you to interact with InfluxDB, a time series database.
 
-| link:camel-iota/src/main/docs/iota-component.adoc[IOTA] (camel-iota) +
+| link:null/src/main/docs/iota-component.adoc[IOTA] (null) +
 `iota:name` | 2.23 | Component for integrate IOTA DLT
 
-| link:camel-ipfs/src/main/docs/ipfs-component.adoc[IPFS] (camel-ipfs) +
+| link:null/src/main/docs/ipfs-component.adoc[IPFS] (null) +
 `ipfs:host:port/cmd` | 2.23 | The camel-ipfs component provides access to the Interplanetary File System (IPFS).
 
-| link:camel-irc/src/main/docs/irc-component.adoc[IRC] (camel-irc) +
+| link:null/src/main/docs/irc-component.adoc[IRC] (null) +
 `irc:hostname:port` | 1.1 | The irc component implements an IRC (Internet Relay Chat) transport.
 
-| link:camel-ironmq/src/main/docs/ironmq-component.adoc[IronMQ] (camel-ironmq) +
+| link:null/src/main/docs/ironmq-component.adoc[IronMQ] (null) +
 `ironmq:queueName` | 2.17 | The ironmq provides integration with IronMQ an elastic and durable hosted message queue as a service.
 
-| link:camel-websocket-jsr356/src/main/docs/websocket-jsr356-component.adoc[Javax Websocket] (camel-websocket-jsr356) +
-`websocket-jsr356:/resourceUri` | 2.23 | Camel WebSocket using JSR356 (javax)
+| link:null/src/main/docs/websocket-jsr356-component.adoc[Javax Websocket] (null) +
+`websocket-jsr356:/resourceUri` | 2.23 | null
 
-| link:camel-jbpm/src/main/docs/jbpm-component.adoc[JBPM] (camel-jbpm) +
+| link:null/src/main/docs/jbpm-component.adoc[JBPM] (null) +
 `jbpm:connectionURL` | 2.6 | The jbpm component provides integration with jBPM (Business Process Management).
 
-| link:camel-jcache/src/main/docs/jcache-component.adoc[JCache] (camel-jcache) +
+| link:null/src/main/docs/jcache-component.adoc[JCache] (null) +
 `jcache:cacheName` | 2.17 | The jcache component enables you to perform caching operations using JSR107/JCache as cache implementation.
 
-| link:camel-jclouds/src/main/docs/jclouds-component.adoc[JClouds] (camel-jclouds) +
+| link:null/src/main/docs/jclouds-component.adoc[JClouds] (null) +
 `jclouds:command:providerId` | 2.9 | For interacting with cloud compute & blobstore service via jclouds.
 
-| link:camel-jcr/src/main/docs/jcr-component.adoc[JCR] (camel-jcr) +
+| link:null/src/main/docs/jcr-component.adoc[JCR] (null) +
 `jcr:host/base` | 1.3 | The jcr component allows you to add/read nodes to/from a JCR compliant content repository.
 
-| link:camel-jdbc/src/main/docs/jdbc-component.adoc[JDBC] (camel-jdbc) +
+| link:null/src/main/docs/jdbc-component.adoc[JDBC] (null) +
 `jdbc:dataSourceName` | 1.2 | The jdbc component enables you to access databases through JDBC, where SQL queries are sent in the message body.
 
-| link:camel-jetty9/src/main/docs/jetty-component.adoc[Jetty 9] (camel-jetty9) +
+| link:null/src/main/docs/jetty-component.adoc[Jetty 9] (null) +
 `jetty:httpUri` | 1.2 | The jetty component provides HTTP-based endpoints for consuming and producing HTTP requests.
 
-| link:camel-websocket/src/main/docs/websocket-component.adoc[Jetty Websocket] (camel-websocket) +
+| link:null/src/main/docs/websocket-component.adoc[Jetty Websocket] (null) +
 `websocket:host:port/resourceUri` | 2.10 | The websocket component provides websocket endpoints with Jetty for communicating with clients using websocket.
 
-| link:camel-jgroups/src/main/docs/jgroups-component.adoc[JGroups] (camel-jgroups) +
+| link:null/src/main/docs/jgroups-component.adoc[JGroups] (null) +
 `jgroups:clusterName` | 2.13 | The jgroups component provides exchange of messages between Camel and JGroups clusters.
 
-| link:camel-jgroups-raft/src/main/docs/jgroups-raft-component.adoc[JGroups raft] (camel-jgroups-raft) +
+| link:null/src/main/docs/jgroups-raft-component.adoc[JGroups raft] (null) +
 `jgroups-raft:clusterName` | 2.24 | The jgroups component provides exchange of messages between Camel and JGroups clusters.
 
-| link:camel-jing/src/main/docs/jing-component.adoc[Jing] (camel-jing) +
+| link:null/src/main/docs/jing-component.adoc[Jing] (null) +
 `jing:resourceUri` | 1.1 | Validates the payload of a message using RelaxNG Syntax using Jing library.
 
-| link:camel-jms/src/main/docs/jms-component.adoc[JMS] (camel-jms) +
+| link:null/src/main/docs/jms-component.adoc[JMS] (null) +
 `jms:destinationType:destinationName` | 1.0 | The jms component allows messages to be sent to (or consumed from) a JMS Queue or Topic.
 
-| link:camel-jmx/src/main/docs/jmx-component.adoc[JMX] (camel-jmx) +
+| link:null/src/main/docs/jmx-component.adoc[JMX] (null) +
 `jmx:serverURL` | 2.6 | The jmx component allows to receive JMX notifications.
 
-| link:camel-jolt/src/main/docs/jolt-component.adoc[JOLT] (camel-jolt) +
+| link:null/src/main/docs/jolt-component.adoc[JOLT] (null) +
 `jolt:resourceUri` | 2.16 | The jolt component allows you to process a JSON messages using an JOLT specification (such as JSON-JSON transformation).
 
-| link:camel-jpa/src/main/docs/jpa-component.adoc[JPA] (camel-jpa) +
+| link:null/src/main/docs/jpa-component.adoc[JPA] (null) +
 `jpa:entityType` | 1.0 | The jpa component enables you to store and retrieve Java objects from databases using JPA.
 
-| link:camel-json-validator/src/main/docs/json-validator-component.adoc[JSON Schema Validator] (camel-json-validator) +
+| link:null/src/main/docs/json-validator-component.adoc[JSON Schema Validator] (null) +
 `json-validator:resourceUri` | 2.20 | Validates the payload of a message using NetworkNT JSON Schema library.
 
-| link:camel-jt400/src/main/docs/jt400-component.adoc[JT400] (camel-jt400) +
+| link:null/src/main/docs/jt400-component.adoc[JT400] (null) +
 `jt400:userID:password/systemName/objectPath.type` | 1.5 | The jt400 component allows you to exchanges messages with an AS/400 system using data queues or program call.
 
-| link:camel-kafka/src/main/docs/kafka-component.adoc[Kafka] (camel-kafka) +
+| link:null/src/main/docs/kafka-component.adoc[Kafka] (null) +
 `kafka:topic` | 2.13 | The kafka component allows messages to be sent to (or consumed from) Apache Kafka brokers.
 
-| link:camel-kubernetes/src/main/docs/kubernetes-config-maps-component.adoc[Kubernetes ConfigMap] (camel-kubernetes) +
+| link:null/src/main/docs/kubernetes-config-maps-component.adoc[Kubernetes ConfigMap] (null) +
 `kubernetes-config-maps:masterUrl` | 2.17 | The Kubernetes Configmaps component provides a producer to execute kubernetes configmap operations.
 
-| link:camel-kubernetes/src/main/docs/kubernetes-deployments-component.adoc[Kubernetes Deployments] (camel-kubernetes) +
+| link:null/src/main/docs/kubernetes-deployments-component.adoc[Kubernetes Deployments] (null) +
 `kubernetes-deployments:masterUrl` | 2.20 | The Kubernetes Nodes component provides a producer to execute kubernetes node operations and a consumer to consume node events.
 
-| link:camel-kubernetes/src/main/docs/kubernetes-hpa-component.adoc[Kubernetes HPA] (camel-kubernetes) +
+| link:null/src/main/docs/kubernetes-hpa-component.adoc[Kubernetes HPA] (null) +
 `kubernetes-hpa:masterUrl` | 2.23 | The Kubernetes HPA component provides a producer to execute kubernetes hpa operations and a consumer to consume HPA events.
 
-| link:camel-kubernetes/src/main/docs/kubernetes-job-component.adoc[Kubernetes Job] (camel-kubernetes) +
+| link:null/src/main/docs/kubernetes-job-component.adoc[Kubernetes Job] (null) +
 `kubernetes-job:masterUrl` | 2.23 | The Kubernetes Jobs component provides a producer to execute kubernetes job operations
 
-| link:camel-kubernetes/src/main/docs/kubernetes-namespaces-component.adoc[Kubernetes Namespaces] (camel-kubernetes) +
+| link:null/src/main/docs/kubernetes-namespaces-component.adoc[Kubernetes Namespaces] (null) +
 `kubernetes-namespaces:masterUrl` | 2.17 | The Kubernetes Namespaces component provides a producer to execute kubernetes namespace operations and a consumer to consume namespace events.
 
-| link:camel-kubernetes/src/main/docs/kubernetes-nodes-component.adoc[Kubernetes Nodes] (camel-kubernetes) +
+| link:null/src/main/docs/kubernetes-nodes-component.adoc[Kubernetes Nodes] (null) +
 `kubernetes-nodes:masterUrl` | 2.17 | The Kubernetes Nodes component provides a producer to execute kubernetes node operations and a consumer to consume node events.
 
-| link:camel-kubernetes/src/main/docs/kubernetes-persistent-volumes-component.adoc[Kubernetes Persistent Volume] (camel-kubernetes) +
+| link:null/src/main/docs/kubernetes-persistent-volumes-component.adoc[Kubernetes Persistent Volume] (null) +
 `kubernetes-persistent-volumes:masterUrl` | 2.17 | The Kubernetes Persistent Volumes component provides a producer to execute kubernetes persistent volume operations.
 
-| link:camel-kubernetes/src/main/docs/kubernetes-persistent-volumes-claims-component.adoc[Kubernetes Persistent Volume Claim] (camel-kubernetes) +
+| link:null/src/main/docs/kubernetes-persistent-volumes-claims-component.adoc[Kubernetes Persistent Volume Claim] (null) +
 `kubernetes-persistent-volumes-claims:masterUrl` | 2.17 | The Kubernetes Persistent Volumes Claims component provides a producer to execute kubernetes persistent volume claim operations.
 
-| link:camel-kubernetes/src/main/docs/kubernetes-pods-component.adoc[Kubernetes Pods] (camel-kubernetes) +
+| link:null/src/main/docs/kubernetes-pods-component.adoc[Kubernetes Pods] (null) +
 `kubernetes-pods:masterUrl` | 2.17 | The Kubernetes Pods component provides a producer to execute kubernetes pod operations and a consumer to consume pod events.
 
-| link:camel-kubernetes/src/main/docs/kubernetes-replication-controllers-component.adoc[Kubernetes Replication Controller] (camel-kubernetes) +
+| link:null/src/main/docs/kubernetes-replication-controllers-component.adoc[Kubernetes Replication Controller] (null) +
 `kubernetes-replication-controllers:masterUrl` | 2.17 | The Kubernetes Replication Controllers component provides a producer to execute kubernetes replication controller operations and a consumer to consume replication controller events.
 
-| link:camel-kubernetes/src/main/docs/kubernetes-resources-quota-component.adoc[Kubernetes Resources Quota] (camel-kubernetes) +
+| link:null/src/main/docs/kubernetes-resources-quota-component.adoc[Kubernetes Resources Quota] (null) +
 `kubernetes-resources-quota:masterUrl` | 2.17 | The Kubernetes Resources Quota component provides a producer to execute kubernetes resources quota operations.
 
-| link:camel-kubernetes/src/main/docs/kubernetes-secrets-component.adoc[Kubernetes Secrets] (camel-kubernetes) +
+| link:null/src/main/docs/kubernetes-secrets-component.adoc[Kubernetes Secrets] (null) +
 `kubernetes-secrets:masterUrl` | 2.17 | The Kubernetes Secrets component provides a producer to execute kubernetes secret operations.
 
-| link:camel-kubernetes/src/main/docs/kubernetes-service-accounts-component.adoc[Kubernetes Service Account] (camel-kubernetes) +
+| link:null/src/main/docs/kubernetes-service-accounts-component.adoc[Kubernetes Service Account] (null) +
 `kubernetes-service-accounts:masterUrl` | 2.17 | The Kubernetes Service Accounts component provides a producer to execute service account operations.
 
-| link:camel-kubernetes/src/main/docs/kubernetes-services-component.adoc[Kubernetes Services] (camel-kubernetes) +
+| link:null/src/main/docs/kubernetes-services-component.adoc[Kubernetes Services] (null) +
 `kubernetes-services:masterUrl` | 2.17 | The Kubernetes Service Accounts component provides a producer to execute service operations and a consumer to consume service events.
 
-| link:../camel-core/src/main/docs/language-component.adoc[Language] (camel-core) +
+| link:null/src/main/docs/language-component.adoc[Language] (null) +
 `language:languageName:resourceUri` | 2.5 | The language component allows you to send a message to an endpoint which executes a script by any of the supported Languages in Camel.
 
-| link:camel-ldap/src/main/docs/ldap-component.adoc[LDAP] (camel-ldap) +
+| link:null/src/main/docs/ldap-component.adoc[LDAP] (null) +
 `ldap:dirContextName` | 1.5 | The ldap component allows you to perform searches in LDAP servers using filters as the message payload.
 
-| link:camel-ldif/src/main/docs/ldif-component.adoc[LDIF] (camel-ldif) +
+| link:null/src/main/docs/ldif-component.adoc[LDIF] (null) +
 `ldif:ldapConnectionName` | 2.20 | The ldif component allows you to do updates on an LDAP server from a LDIF body content.
 
-| link:camel-linkedin/camel-linkedin-component/src/main/docs/linkedin-component.adoc[Linkedin] (camel-linkedin) +
+| link:null/src/main/docs/linkedin-component.adoc[Linkedin] (null) +
 `linkedin:apiName/methodName` | 2.14 | The linkedin component is used for retrieving LinkedIn user profiles, connections, companies, groups, posts, etc.
 
-| link:../camel-core/src/main/docs/log-component.adoc[Log] (camel-core) +
+| link:null/src/main/docs/log-component.adoc[Log] (null) +
 `log:loggerName` | 1.1 | The log component logs message exchanges to the underlying logging mechanism.
 
-| link:camel-lucene/src/main/docs/lucene-component.adoc[Lucene] (camel-lucene) +
+| link:null/src/main/docs/lucene-component.adoc[Lucene] (null) +
 `lucene:host:operation` | 2.2 | To insert or query from Apache Lucene databases.
 
-| link:camel-lumberjack/src/main/docs/lumberjack-component.adoc[Lumberjack] (camel-lumberjack) +
+| link:null/src/main/docs/lumberjack-component.adoc[Lumberjack] (null) +
 `lumberjack:host:port` | 2.18 | The lumberjack retrieves logs sent over the network using the Lumberjack protocol.
 
-| link:camel-mail/src/main/docs/mail-component.adoc[Mail] (camel-mail) +
+| link:null/src/main/docs/mail-component.adoc[Mail] (null) +
 `imap:host:port` | 1.0 | To send or receive emails using imap/pop3 or smtp protocols.
 
-| link:camel-master/src/main/docs/master-component.adoc[Master] (camel-master) +
+| link:null/src/main/docs/master-component.adoc[Master] (null) +
 `master:namespace:delegateUri` | 2.20 | Represents an endpoint which only becomes active when the CamelClusterView has the leadership.
 
-| link:camel-metrics/src/main/docs/metrics-component.adoc[Metrics] (camel-metrics) +
+| link:null/src/main/docs/metrics-component.adoc[Metrics] (null) +
 `metrics:metricsType:metricsName` | 2.14 | To collect various metrics directly from Camel routes using the DropWizard metrics library.
 
-| link:camel-micrometer/src/main/docs/micrometer-component.adoc[Micrometer] (camel-micrometer) +
+| link:null/src/main/docs/micrometer-component.adoc[Micrometer] (null) +
 `micrometer:metricsType:metricsName` | 2.22 | To collect various metrics directly from Camel routes using the Micrometer library.
 
-| link:camel-mina2/src/main/docs/mina2-component.adoc[Mina2] (camel-mina2) +
+| link:null/src/main/docs/mina2-component.adoc[Mina2] (null) +
 `mina2:protocol:host:port` | 2.10 | Socket level networking using TCP or UDP with the Apache Mina 2.x library.
 
-| link:camel-mllp/src/main/docs/mllp-component.adoc[MLLP] (camel-mllp) +
+| link:null/src/main/docs/mllp-component.adoc[MLLP] (null) +
 `mllp:hostname:port` | 2.17 | Provides functionality required by Healthcare providers to communicate with other systems using the MLLP protocol.
 
-| link:../camel-core/src/main/docs/mock-component.adoc[Mock] (camel-core) +
+| link:null/src/main/docs/mock-component.adoc[Mock] (null) +
 `mock:name` | 1.0 | The mock component is used for testing routes and mediation rules using mocks.
 
-| link:camel-mongodb3/src/main/docs/mongodb3-component.adoc[MongoDB] (camel-mongodb3) +
+| link:null/src/main/docs/mongodb3-component.adoc[MongoDB] (null) +
 `mongodb3:connectionBean` | 2.19 | Component for working with documents stored in MongoDB database.
 
-| link:camel-mongodb-gridfs/src/main/docs/mongodb-gridfs-component.adoc[MongoDB GridFS] (camel-mongodb-gridfs) +
+| link:null/src/main/docs/mongodb-gridfs-component.adoc[MongoDB GridFS] (null) +
 `mongodb-gridfs:connectionBean` | 2.18 | Component for working with MongoDB GridFS.
 
-| link:camel-mqtt/src/main/docs/mqtt-component.adoc[MQTT] (camel-mqtt) +
+| link:null/src/main/docs/mqtt-component.adoc[MQTT] (null) +
 `mqtt:name` | 2.10 | Component for communicating with MQTT M2M message brokers using FuseSource MQTT Client.
 
-| link:camel-msv/src/main/docs/msv-component.adoc[MSV] (camel-msv) +
+| link:null/src/main/docs/msv-component.adoc[MSV] (null) +
 `msv:resourceUri` | 1.1 | Validates the payload of a message using the MSV Library.
 
-| link:camel-mustache/src/main/docs/mustache-component.adoc[Mustache] (camel-mustache) +
+| link:null/src/main/docs/mustache-component.adoc[Mustache] (null) +
 `mustache:resourceUri` | 2.12 | Transforms the message using a Mustache template.
 
-| link:camel-mvel/src/main/docs/mvel-component.adoc[MVEL] (camel-mvel) +
+| link:null/src/main/docs/mvel-component.adoc[MVEL] (null) +
 `mvel:resourceUri` | 2.12 | Transforms the message using a MVEL template.
 
-| link:camel-mybatis/src/main/docs/mybatis-component.adoc[MyBatis] (camel-mybatis) +
+| link:null/src/main/docs/mybatis-component.adoc[MyBatis] (null) +
 `mybatis:statement` | 2.7 | Performs a query, poll, insert, update or delete in a relational database using MyBatis.
 
-| link:camel-mybatis/src/main/docs/mybatis-bean-component.adoc[MyBatis Bean] (camel-mybatis) +
+| link:null/src/main/docs/mybatis-bean-component.adoc[MyBatis Bean] (null) +
 `mybatis-bean:beanName:methodName` | 2.22 | Performs a query, insert, update or delete in a relational database using MyBatis.
 
-| link:camel-nagios/src/main/docs/nagios-component.adoc[Nagios] (camel-nagios) +
+| link:null/src/main/docs/nagios-component.adoc[Nagios] (null) +
 `nagios:host:port` | 2.3 | To send passive checks to Nagios using JSendNSCA.
 
-| link:camel-nats/src/main/docs/nats-component.adoc[Nats] (camel-nats) +
+| link:null/src/main/docs/nats-component.adoc[Nats] (null) +
 `nats:servers` | 2.17 | The nats component allows you produce and consume messages from NATS.
 
-| link:camel-netty4/src/main/docs/netty4-component.adoc[Netty4] (camel-netty4) +
+| link:null/src/main/docs/netty4-component.adoc[Netty4] (null) +
 `netty4:protocol:host:port` | 2.14 | Socket level networking using TCP or UDP with the Netty 4.x library.
 
-| link:camel-netty4-http/src/main/docs/netty4-http-component.adoc[Netty4 HTTP] (camel-netty4-http) +
+| link:null/src/main/docs/netty4-http-component.adoc[Netty4 HTTP] (null) +
 `netty4-http:protocol:host:port/path` | 2.14 | Netty HTTP server and client using the Netty 4.x library.
 
-| link:camel-nsq/src/main/docs/nsq-component.adoc[NSQ] (camel-nsq) +
+| link:null/src/main/docs/nsq-component.adoc[NSQ] (null) +
 `nsq:lookupServer` | 2.23 | Represents a nsq endpoint.
 
-| link:camel-olingo2/camel-olingo2-component/src/main/docs/olingo2-component.adoc[Olingo2] (camel-olingo2) +
+| link:null/src/main/docs/olingo2-component.adoc[Olingo2] (null) +
 `olingo2:apiName/methodName` | 2.14 | Communicates with OData 2.0 services using Apache Olingo.
 
-| link:camel-olingo4/camel-olingo4-component/src/main/docs/olingo4-component.adoc[Olingo4] (camel-olingo4) +
+| link:null/src/main/docs/olingo4-component.adoc[Olingo4] (null) +
 `olingo4:apiName/methodName` | 2.19 | Communicates with OData 4.0 services using Apache Olingo OData API.
 
-| link:camel-milo/src/main/docs/milo-client-component.adoc[OPC UA Client] (camel-milo) +
+| link:null/src/main/docs/milo-client-component.adoc[OPC UA Client] (null) +
 `milo-client:endpointUri` | 2.19 | Connect to OPC UA servers using the binary protocol for acquiring telemetry data
 
-| link:camel-milo/src/main/docs/milo-server-component.adoc[OPC UA Server] (camel-milo) +
+| link:null/src/main/docs/milo-server-component.adoc[OPC UA Server] (null) +
 `milo-server:itemId` | 2.19 | Make telemetry data available as an OPC UA server
 
-| link:camel-kubernetes/src/main/docs/openshift-build-configs-component.adoc[Openshift Build Config] (camel-kubernetes) +
+| link:null/src/main/docs/openshift-build-configs-component.adoc[Openshift Build Config] (null) +
 `openshift-build-configs:masterUrl` | 2.17 | The Kubernetes Build Config component provides a producer to execute kubernetes build config operations.
 
-| link:camel-kubernetes/src/main/docs/openshift-builds-component.adoc[Openshift Builds] (camel-kubernetes) +
+| link:null/src/main/docs/openshift-builds-component.adoc[Openshift Builds] (null) +
 `openshift-builds:masterUrl` | 2.17 | The Openshift Builds component provides a producer to execute openshift build operations.
 
-| link:camel-openstack/src/main/docs/openstack-cinder-component.adoc[OpenStack Cinder] (camel-openstack) +
+| link:null/src/main/docs/openstack-cinder-component.adoc[OpenStack Cinder] (null) +
 `openstack-cinder:host` | 2.19 | The openstack-cinder component allows messages to be sent to an OpenStack block storage services.
 
-| link:camel-openstack/src/main/docs/openstack-glance-component.adoc[OpenStack Glance] (camel-openstack) +
+| link:null/src/main/docs/openstack-glance-component.adoc[OpenStack Glance] (null) +
 `openstack-glance:host` | 2.19 | The openstack-glance component allows messages to be sent to an OpenStack image services.
 
-| link:camel-openstack/src/main/docs/openstack-keystone-component.adoc[OpenStack Keystone] (camel-openstack) +
+| link:null/src/main/docs/openstack-keystone-component.adoc[OpenStack Keystone] (null) +
 `openstack-keystone:host` | 2.19 | The openstack-keystone component allows messages to be sent to an OpenStack identity services.
 
-| link:camel-openstack/src/main/docs/openstack-neutron-component.adoc[OpenStack Neutron] (camel-openstack) +
+| link:null/src/main/docs/openstack-neutron-component.adoc[OpenStack Neutron] (null) +
 `openstack-neutron:host` | 2.19 | The openstack-neutron component allows messages to be sent to an OpenStack network services.
 
-| link:camel-openstack/src/main/docs/openstack-nova-component.adoc[OpenStack Nova] (camel-openstack) +
+| link:null/src/main/docs/openstack-nova-component.adoc[OpenStack Nova] (null) +
 `openstack-nova:host` | 2.19 | The openstack-nova component allows messages to be sent to an OpenStack compute services.
 
-| link:camel-openstack/src/main/docs/openstack-swift-component.adoc[OpenStack Swift] (camel-openstack) +
+| link:null/src/main/docs/openstack-swift-component.adoc[OpenStack Swift] (null) +
 `openstack-swift:host` | 2.19 | The openstack-swift component allows messages to be sent to an OpenStack object storage services.
 
-| link:camel-optaplanner/src/main/docs/optaplanner-component.adoc[OptaPlanner] (camel-optaplanner) +
+| link:null/src/main/docs/optaplanner-component.adoc[OptaPlanner] (null) +
 `optaplanner:configFile` | 2.13 | Solves the planning problem contained in a message with OptaPlanner.
 
-| link:camel-eventadmin/src/main/docs/eventadmin-component.adoc[OSGi EventAdmin] (camel-eventadmin) +
+| link:null/src/main/docs/eventadmin-component.adoc[OSGi EventAdmin] (null) +
 `eventadmin:topic` | 2.6 | The eventadmin component can be used in an OSGi environment to receive OSGi EventAdmin events and process them.
 
-| link:camel-paxlogging/src/main/docs/paxlogging-component.adoc[OSGi PAX Logging] (camel-paxlogging) +
+| link:null/src/main/docs/paxlogging-component.adoc[OSGi PAX Logging] (null) +
 `paxlogging:appender` | 2.6 | The paxlogging component can be used in an OSGi environment to receive PaxLogging events and process them.
 
-| link:camel-paho/src/main/docs/paho-component.adoc[Paho] (camel-paho) +
+| link:null/src/main/docs/paho-component.adoc[Paho] (null) +
 `paho:topic` | 2.16 | Component for communicating with MQTT M2M message brokers using Eclipse Paho MQTT Client.
 
-| link:camel-pdf/src/main/docs/pdf-component.adoc[PDF] (camel-pdf) +
+| link:null/src/main/docs/pdf-component.adoc[PDF] (null) +
 `pdf:operation` | 2.16 | The pdf components provides the ability to create, modify or extract content from PDF documents.
 
-| link:camel-pgevent/src/main/docs/pgevent-component.adoc[PostgresSQL Event] (camel-pgevent) +
+| link:null/src/main/docs/pgevent-component.adoc[PostgresSQL Event] (null) +
 `pgevent:host:port/database/channel` | 2.15 | The pgevent component allows for producing/consuming PostgreSQL events related to the listen/notify commands.
 
-| link:camel-printer/src/main/docs/lpr-component.adoc[Printer] (camel-printer) +
+| link:null/src/main/docs/lpr-component.adoc[Printer] (null) +
 `lpr:hostname:port/printername` | 2.1 | The printer component is used for sending messages to printers as print jobs.
 
-| link:../camel-core/src/main/docs/properties-component.adoc[Properties] (camel-core) +
+| link:null/src/main/docs/properties-component.adoc[Properties] (null) +
 `properties:key` | 2.3 | The properties component is used for using property placeholders in endpoint uris.
 
-| link:camel-pubnub/src/main/docs/pubnub-component.adoc[PubNub] (camel-pubnub) +
+| link:null/src/main/docs/pubnub-component.adoc[PubNub] (null) +
 `pubnub:channel` | 2.19 | To send and receive messages to PubNub data stream network for connected devices.
 
-| link:camel-quartz2/src/main/docs/quartz2-component.adoc[Quartz2] (camel-quartz2) +
+| link:null/src/main/docs/quartz2-component.adoc[Quartz2] (null) +
 `quartz2:groupName/triggerName` | 2.12 | Provides a scheduled delivery of messages using the Quartz 2.x scheduler.
 
-| link:camel-quickfix/src/main/docs/quickfix-component.adoc[QuickFix] (camel-quickfix) +
+| link:null/src/main/docs/quickfix-component.adoc[QuickFix] (null) +
 `quickfix:configurationName` | 2.1 | The quickfix component allows to send Financial Interchange (FIX) messages to the QuickFix engine.
 
-| link:camel-rabbitmq/src/main/docs/rabbitmq-component.adoc[RabbitMQ] (camel-rabbitmq) +
+| link:null/src/main/docs/rabbitmq-component.adoc[RabbitMQ] (null) +
 `rabbitmq:exchangeName` | 2.12 | The rabbitmq component allows you produce and consume messages from RabbitMQ instances.
 
-| link:camel-reactive-streams/src/main/docs/reactive-streams-component.adoc[Reactive Streams] (camel-reactive-streams) +
+| link:null/src/main/docs/reactive-streams-component.adoc[Reactive Streams] (null) +
 `reactive-streams:stream` | 2.19 | Reactive Camel using reactive streams
 
-| link:../camel-core/src/main/docs/ref-component.adoc[Ref] (camel-core) +
+| link:null/src/main/docs/ref-component.adoc[Ref] (null) +
 `ref:name` | 1.2 | The ref component is used for lookup of existing endpoints bound in the Registry.
 
-| link:../camel-core/src/main/docs/rest-component.adoc[REST] (camel-core) +
+| link:null/src/main/docs/rest-component.adoc[REST] (null) +
 `rest:method:path:uriTemplate` | 2.14 | The rest component is used for either hosting REST services (consumer) or calling external REST services (producer).
 
-| link:../camel-core/src/main/docs/rest-api-component.adoc[REST API] (camel-core) +
+| link:null/src/main/docs/rest-api-component.adoc[REST API] (null) +
 `rest-api:path/contextIdPattern` | 2.16 | The rest-api component is used for providing Swagger API of the REST services which has been defined using the rest-dsl in Camel.
 
-| link:camel-rest-swagger/src/main/docs/rest-swagger-component.adoc[REST Swagger] (camel-rest-swagger) +
+| link:null/src/main/docs/rest-swagger-component.adoc[REST Swagger] (null) +
 `rest-swagger:specificationUri#operationId` | 2.19 | An awesome REST endpoint backed by Swagger specifications.
 
-| link:camel-restlet/src/main/docs/restlet-component.adoc[Restlet] (camel-restlet) +
+| link:null/src/main/docs/restlet-component.adoc[Restlet] (null) +
 `restlet:protocol:host:port/uriPattern` | 2.0 | Component for consuming and producing Restful resources using Restlet.
 
-| link:camel-rmi/src/main/docs/rmi-component.adoc[RMI] (camel-rmi) +
+| link:null/src/main/docs/rmi-component.adoc[RMI] (null) +
 `rmi:hostname:port/name` | 1.0 | The rmi component is for invoking Java RMI beans from Camel.
 
-| link:camel-rss/src/main/docs/rss-component.adoc[RSS] (camel-rss) +
+| link:null/src/main/docs/rss-component.adoc[RSS] (null) +
 `rss:feedUri` | 2.0 | The rss component is used for consuming RSS feeds.
 
-| link:../camel-core/src/main/docs/saga-component.adoc[Saga] (camel-core) +
+| link:null/src/main/docs/saga-component.adoc[Saga] (null) +
 `saga:action` | 2.21 | The saga component provides access to advanced options for managing the flow in the Saga EIP.
 
-| link:camel-salesforce/camel-salesforce-component/src/main/docs/salesforce-component.adoc[Salesforce] (camel-salesforce) +
+| link:null/src/main/docs/salesforce-component.adoc[Salesforce] (null) +
 `salesforce:operationName:topicName` | 2.12 | The salesforce component is used for integrating Camel with the massive Salesforce API.
 
-| link:camel-sap-netweaver/src/main/docs/sap-netweaver-component.adoc[SAP NetWeaver] (camel-sap-netweaver) +
+| link:null/src/main/docs/sap-netweaver-component.adoc[SAP NetWeaver] (null) +
 `sap-netweaver:url` | 2.12 | The sap-netweaver component integrates with the SAP NetWeaver Gateway using HTTP transports.
 
-| link:../camel-core/src/main/docs/scheduler-component.adoc[Scheduler] (camel-core) +
+| link:null/src/main/docs/scheduler-component.adoc[Scheduler] (null) +
 `scheduler:name` | 2.15 | The scheduler component is used for generating message exchanges when a scheduler fires.
 
-| link:camel-schematron/src/main/docs/schematron-component.adoc[Schematron] (camel-schematron) +
+| link:null/src/main/docs/schematron-component.adoc[Schematron] (null) +
 `schematron:path` | 2.15 | Validates the payload of a message using the Schematron Library.
 
-| link:camel-jsch/src/main/docs/scp-component.adoc[SCP] (camel-jsch) +
+| link:null/src/main/docs/scp-component.adoc[SCP] (null) +
 `scp:host:port/directoryName` | 2.10 | To copy files using the secure copy protocol (SCP).
 
-| link:../camel-core/src/main/docs/seda-component.adoc[SEDA] (camel-core) +
+| link:null/src/main/docs/seda-component.adoc[SEDA] (null) +
 `seda:name` | 1.1 | The seda component provides asynchronous call to another endpoint from any CamelContext in the same JVM.
 
-| link:camel-service/src/main/docs/service-component.adoc[Service] (camel-service) +
+| link:null/src/main/docs/service-component.adoc[Service] (null) +
 `service:serviceName:delegateUri` | 2.22 | Represents an endpoint which is registered to a Service Registry such as Consul, Etcd.
 
-| link:camel-servicenow/camel-servicenow-component/src/main/docs/servicenow-component.adoc[ServiceNow] (camel-servicenow) +
+| link:null/src/main/docs/servicenow-component.adoc[ServiceNow] (null) +
 `servicenow:instanceName` | 2.18 | The servicenow component is used to integrate Camel with ServiceNow cloud services.
 
-| link:camel-servlet/src/main/docs/servlet-component.adoc[Servlet] (camel-servlet) +
+| link:null/src/main/docs/servlet-component.adoc[Servlet] (null) +
 `servlet:contextPath` | 2.0 | To use a HTTP Servlet as entry for Camel routes when running in a servlet container.
 
-| link:camel-ftp/src/main/docs/sftp-component.adoc[SFTP] (camel-ftp) +
+| link:null/src/main/docs/sftp-component.adoc[SFTP] (null) +
 `sftp:host:port/directoryName` | 1.1 | The sftp (FTP over SSH) component is used for uploading or downloading files from SFTP servers.
 
-| link:camel-sjms/src/main/docs/sjms-component.adoc[Simple JMS] (camel-sjms) +
+| link:null/src/main/docs/sjms-component.adoc[Simple JMS] (null) +
 `sjms:destinationType:destinationName` | 2.11 | The sjms component (simple jms) allows messages to be sent to (or consumed from) a JMS Queue or Topic (uses JMS 1.x API).
 
-| link:camel-sjms/src/main/docs/sjms-batch-component.adoc[Simple JMS Batch] (camel-sjms) +
+| link:null/src/main/docs/sjms-batch-component.adoc[Simple JMS Batch] (null) +
 `sjms-batch:destinationName` | 2.16 | The sjms-batch component is a specialized for highly performant, transactional batch consumption from a JMS queue.
 
-| link:camel-sjms2/src/main/docs/sjms2-component.adoc[Simple JMS2] (camel-sjms2) +
+| link:null/src/main/docs/sjms2-component.adoc[Simple JMS2] (null) +
 `sjms2:destinationType:destinationName` | 2.19 | The sjms2 component (simple jms) allows messages to be sent to (or consumed from) a JMS Queue or Topic (uses JMS 2.x API).
 
-| link:camel-sip/src/main/docs/sip-component.adoc[SIP] (camel-sip) +
+| link:null/src/main/docs/sip-component.adoc[SIP] (null) +
 `sip:uri` | 2.5 | To send and receive messages using the SIP protocol (used in telco and mobile).
 
-| link:camel-slack/src/main/docs/slack-component.adoc[Slack] (camel-slack) +
+| link:null/src/main/docs/slack-component.adoc[Slack] (null) +
 `slack:channel` | 2.16 | The slack component allows you to send messages to Slack.
 
-| link:camel-smpp/src/main/docs/smpp-component.adoc[SMPP] (camel-smpp) +
+| link:null/src/main/docs/smpp-component.adoc[SMPP] (null) +
 `smpp:host:port` | 2.2 | To send and receive SMS using a SMSC (Short Message Service Center).
 
-| link:camel-snmp/src/main/docs/snmp-component.adoc[SNMP] (camel-snmp) +
+| link:null/src/main/docs/snmp-component.adoc[SNMP] (null) +
 `snmp:host:port` | 2.1 | The snmp component gives you the ability to poll SNMP capable devices or receiving traps.
 
-| link:camel-solr/src/main/docs/solr-component.adoc[Solr] (camel-solr) +
+| link:null/src/main/docs/solr-component.adoc[Solr] (null) +
 `solr:url` | 2.9 | The solr component allows you to interface with an Apache Lucene Solr server.
 
-| link:camel-spark-rest/src/main/docs/spark-rest-component.adoc[Spark Rest] (camel-spark-rest) +
+| link:null/src/main/docs/spark-rest-component.adoc[Spark Rest] (null) +
 `spark-rest:verb:path` | 2.14 | The spark-rest component is used for hosting REST services which has been defined using Camel rest-dsl.
 
-| link:camel-splunk/src/main/docs/splunk-component.adoc[Splunk] (camel-splunk) +
+| link:null/src/main/docs/splunk-component.adoc[Splunk] (null) +
 `splunk:name` | 2.13 | The splunk component allows to publish or search for events in Splunk.
 
-| link:camel-spring-batch/src/main/docs/spring-batch-component.adoc[Spring Batch] (camel-spring-batch) +
+| link:null/src/main/docs/spring-batch-component.adoc[Spring Batch] (null) +
 `spring-batch:jobName` | 2.10 | The spring-batch component allows to send messages to Spring Batch for further processing.
 
-| link:camel-spring/src/main/docs/spring-event-component.adoc[Spring Event] (camel-spring) +
+| link:null/src/main/docs/spring-event-component.adoc[Spring Event] (null) +
 `spring-event:name` | 1.4 | The spring-event component allows to listen for Spring Application Events.
 
-| link:camel-spring-integration/src/main/docs/spring-integration-component.adoc[Spring Integration] (camel-spring-integration) +
+| link:null/src/main/docs/spring-integration-component.adoc[Spring Integration] (null) +
 `spring-integration:defaultChannel` | 1.4 | Bridges Camel with Spring Integration.
 
-| link:camel-spring-ldap/src/main/docs/spring-ldap-component.adoc[Spring LDAP] (camel-spring-ldap) +
+| link:null/src/main/docs/spring-ldap-component.adoc[Spring LDAP] (null) +
 `spring-ldap:templateName` | 2.11 | The spring-ldap component allows you to perform searches in LDAP servers using filters as the message payload.
 
-| link:camel-spring-redis/src/main/docs/spring-redis-component.adoc[Spring Redis] (camel-spring-redis) +
+| link:null/src/main/docs/spring-redis-component.adoc[Spring Redis] (null) +
 `spring-redis:host:port` | 2.11 | The spring-redis component allows sending and receiving messages from Redis.
 
-| link:camel-spring-ws/src/main/docs/spring-ws-component.adoc[Spring WebService] (camel-spring-ws) +
+| link:null/src/main/docs/spring-ws-component.adoc[Spring WebService] (null) +
 `spring-ws:type:lookupKey:webServiceEndpointUri` | 2.6 | The spring-ws component is used for SOAP WebServices using Spring WebServices.
 
-| link:camel-sql/src/main/docs/sql-component.adoc[SQL] (camel-sql) +
+| link:null/src/main/docs/sql-component.adoc[SQL] (null) +
 `sql:query` | 1.4 | The sql component allows you to work with databases using JDBC SQL queries.
 
-| link:camel-sql/src/main/docs/sql-stored-component.adoc[SQL Stored Procedure] (camel-sql) +
+| link:null/src/main/docs/sql-stored-component.adoc[SQL Stored Procedure] (null) +
 `sql-stored:template` | 2.17 | The sql component allows you to work with databases using JDBC Stored Procedure queries.
 
-| link:camel-ssh/src/main/docs/ssh-component.adoc[SSH] (camel-ssh) +
+| link:null/src/main/docs/ssh-component.adoc[SSH] (null) +
 `ssh:host:port` | 2.10 | The ssh component enables access to SSH servers such that you can send an SSH command, and process the response.
 
-| link:camel-stax/src/main/docs/stax-component.adoc[StAX] (camel-stax) +
+| link:null/src/main/docs/stax-component.adoc[StAX] (null) +
 `stax:contentHandlerClass` | 2.9 | The stax component allows messages to be process through a SAX ContentHandler.
 
-| link:camel-stomp/src/main/docs/stomp-component.adoc[Stomp] (camel-stomp) +
+| link:null/src/main/docs/stomp-component.adoc[Stomp] (null) +
 `stomp:destination` | 2.12 | The stomp component is used for communicating with Stomp compliant message brokers.
 
-| link:camel-stream/src/main/docs/stream-component.adoc[Stream] (camel-stream) +
+| link:null/src/main/docs/stream-component.adoc[Stream] (null) +
 `stream:kind` | 1.3 | The stream: component provides access to the system-in, system-out and system-err streams as well as allowing streaming of file and URL.
 
-| link:camel-stringtemplate/src/main/docs/string-template-component.adoc[String Template] (camel-stringtemplate) +
+| link:null/src/main/docs/string-template-component.adoc[String Template] (null) +
 `string-template:resourceUri` | 1.2 | Transforms the message using a String template.
 
-| link:../camel-core/src/main/docs/stub-component.adoc[Stub] (camel-core) +
+| link:null/src/main/docs/stub-component.adoc[Stub] (null) +
 `stub:name` | 2.10 | The stub component provides a simple way to stub out any physical endpoints while in development or testing.
 
-| link:camel-telegram/src/main/docs/telegram-component.adoc[Telegram] (camel-telegram) +
+| link:null/src/main/docs/telegram-component.adoc[Telegram] (null) +
 `telegram:type/authorizationToken` | 2.18 | The telegram component provides access to the Telegram Bot API.
 
-| link:../camel-core/src/main/docs/test-component.adoc[Test] (camel-core) +
+| link:null/src/main/docs/test-component.adoc[Test] (null) +
 `test:name` | 1.3 | The test component extends the mock component by on startup to pull messages from another endpoint to set the expected message bodies.
 
-| link:camel-thrift/src/main/docs/thrift-component.adoc[Thrift] (camel-thrift) +
+| link:null/src/main/docs/thrift-component.adoc[Thrift] (null) +
 `thrift:host:port/service` | 2.20 | The Thrift component allows to call and expose remote procedures (RPC) with Apache Thrift data format and serialization mechanism
 
-| link:camel-tika/src/main/docs/tika-component.adoc[Tika] (camel-tika) +
-`tika:operation` | 2.19 | This component integrates with Apache Tika to extract content and metadata from thousands of file types.
+| link:null/src/main/docs/tika-component.adoc[Tika] (null) +
+`tika:operation` | 2.19 | null
 
-| link:../camel-core/src/main/docs/timer-component.adoc[Timer] (camel-core) +
+| link:null/src/main/docs/timer-component.adoc[Timer] (null) +
 `timer:timerName` | 1.0 | The timer component is used for generating message exchanges when a timer fires.
 
-| link:camel-twilio/src/main/docs/twilio-component.adoc[Twilio] (camel-twilio) +
+| link:null/src/main/docs/twilio-component.adoc[Twilio] (null) +
 `twilio:apiName/methodName` | 2.20 | The Twilio component allows you to interact with the Twilio REST APIs using Twilio Java SDK.
 
-| link:camel-twitter/src/main/docs/twitter-directmessage-component.adoc[Twitter Direct Message] (camel-twitter) +
+| link:null/src/main/docs/twitter-directmessage-component.adoc[Twitter Direct Message] (null) +
 `twitter-directmessage:user` | 2.10 | The Twitter Direct Message Component consumes/produces user's direct messages.
 
-| link:camel-twitter/src/main/docs/twitter-search-component.adoc[Twitter Search] (camel-twitter) +
+| link:null/src/main/docs/twitter-search-component.adoc[Twitter Search] (null) +
 `twitter-search:keywords` | 2.10 | The Twitter Search component consumes search results.
 
-| link:camel-twitter/src/main/docs/twitter-streaming-component.adoc[Twitter Streaming] (camel-twitter) +
+| link:null/src/main/docs/twitter-streaming-component.adoc[Twitter Streaming] (null) +
 `twitter-streaming:streamingType` | 2.10 | The Twitter Streaming component consumes twitter statuses using Streaming API.
 
-| link:camel-twitter/src/main/docs/twitter-timeline-component.adoc[Twitter Timeline] (camel-twitter) +
+| link:null/src/main/docs/twitter-timeline-component.adoc[Twitter Timeline] (null) +
 `twitter-timeline:timelineType` | 2.10 | The Twitter Timeline component consumes twitter timeline or update the status of specific user.
 
-| link:camel-undertow/src/main/docs/undertow-component.adoc[Undertow] (camel-undertow) +
+| link:null/src/main/docs/undertow-component.adoc[Undertow] (null) +
 `undertow:httpURI` | 2.16 | The undertow component provides HTTP and WebSocket based endpoints for consuming and producing HTTP/WebSocket requests.
 
-| link:../camel-core/src/main/docs/validator-component.adoc[Validator] (camel-core) +
+| link:null/src/main/docs/validator-component.adoc[Validator] (null) +
 `validator:resourceUri` | 1.1 | Validates the payload of a message using XML Schema and JAXP Validation.
 
-| link:camel-velocity/src/main/docs/velocity-component.adoc[Velocity] (camel-velocity) +
+| link:null/src/main/docs/velocity-component.adoc[Velocity] (null) +
 `velocity:resourceUri` | 1.2 | Transforms the message using a Velocity template.
 
-| link:camel-vertx/src/main/docs/vertx-component.adoc[Vert.x] (camel-vertx) +
+| link:null/src/main/docs/vertx-component.adoc[Vert.x] (null) +
 `vertx:address` | 2.12 | The vertx component is used for sending and receive messages from a vertx event bus.
 
-| link:../camel-core/src/main/docs/vm-component.adoc[VM] (camel-core) +
+| link:null/src/main/docs/vm-component.adoc[VM] (null) +
 `vm:name` | 1.1 | The vm component provides asynchronous call to another endpoint from the same CamelContext.
 
-| link:camel-weather/src/main/docs/weather-component.adoc[Weather] (camel-weather) +
+| link:null/src/main/docs/weather-component.adoc[Weather] (null) +
 `weather:name` | 2.12 | Polls the weather information from Open Weather Map.
 
-| link:camel-web3j/src/main/docs/web3j-component.adoc[Web3j Ethereum Blockchain] (camel-web3j) +
+| link:null/src/main/docs/web3j-component.adoc[Web3j Ethereum Blockchain] (null) +
 `web3j:nodeAddress` | 2.22 | The web3j component uses the Web3j client API and allows you to add/read nodes to/from a web3j compliant content repositories.
 
-| link:camel-wordpress/src/main/docs/wordpress-component.adoc[Wordpress] (camel-wordpress) +
+| link:null/src/main/docs/wordpress-component.adoc[Wordpress] (null) +
 `wordpress:operationDetail` | 2.21 | Integrates Camel with Wordpress.
 
-| link:camel-xchange/src/main/docs/xchange-component.adoc[XChange] (camel-xchange) +
+| link:null/src/main/docs/xchange-component.adoc[XChange] (null) +
 `xchange:name` | 2.21 | The camel-xchange component provide access to many bitcoin and altcoin exchanges for trading and accessing market data.
 
-| link:camel-xmlsecurity/src/main/docs/xmlsecurity-component.adoc[XML Security] (camel-xmlsecurity) +
+| link:null/src/main/docs/xmlsecurity-component.adoc[XML Security] (null) +
 `xmlsecurity:command:name` | 2.12 | Used to sign and verify exchanges using the XML signature specification.
 
-| link:camel-xmpp/src/main/docs/xmpp-component.adoc[XMPP] (camel-xmpp) +
+| link:null/src/main/docs/xmpp-component.adoc[XMPP] (null) +
 `xmpp:host:port/participant` | 1.0 | To send and receive messages from a XMPP (chat) server.
 
-| link:camel-saxon/src/main/docs/xquery-component.adoc[XQuery] (camel-saxon) +
+| link:null/src/main/docs/xquery-component.adoc[XQuery] (null) +
 `xquery:resourceUri` | 1.0 | Transforms the message using a XQuery template using Saxon.
 
-| link:../camel-core/src/main/docs/xslt-component.adoc[XSLT] (camel-core) +
+| link:null/src/main/docs/xslt-component.adoc[XSLT] (null) +
 `xslt:resourceUri` | 1.3 | Transforms the message using a XSLT template.
 
-| link:camel-yammer/src/main/docs/yammer-component.adoc[Yammer] (camel-yammer) +
+| link:null/src/main/docs/yammer-component.adoc[Yammer] (null) +
 `yammer:function` | 2.12 | The yammer component allows you to interact with the Yammer enterprise social network.
 
-| link:camel-zendesk/src/main/docs/zendesk-component.adoc[Zendesk] (camel-zendesk) +
+| link:null/src/main/docs/zendesk-component.adoc[Zendesk] (null) +
 `zendesk:methodName` | 2.19 | Allows producing messages to manage Zendesk ticket, user, organization, etc.
 
-| link:camel-zookeeper/src/main/docs/zookeeper-component.adoc[ZooKeeper] (camel-zookeeper) +
+| link:null/src/main/docs/zookeeper-component.adoc[ZooKeeper] (null) +
 `zookeeper:serverUrls/path` | 2.9 | The zookeeper component allows interaction with a ZooKeeper cluster.
 
-| link:camel-zookeeper-master/src/main/docs/zookeeper-master-component.adoc[ZooKeeper Master] (camel-zookeeper-master) +
+| link:null/src/main/docs/zookeeper-master-component.adoc[ZooKeeper Master] (null) +
 `zookeeper-master:groupName:consumerEndpointUri` | 2.19 | Represents an endpoint which only becomes active when it obtains the master lock
 
 |===
@@ -883,192 +883,406 @@ Data Formats
 ^^^^^^^^^^^^
 
 // dataformats: START
-Number of Data Formats: 45 in 35 JAR artifacts (0 deprecated)
+
+// dataformats: END
+
+
+Expression Languages
+^^^^^^^^^^^^^^^^^^^^
+
+// languages: START
+
+// languages: END
+
+
+Miscellaneous Components
+^^^^^^^^^^^^^^^^^^^^^^^^
+
+// others: START
+Number of Miscellaneous Components: 242 in 242 JAR artifacts (0 deprecated)
 
 [width="100%",cols="4,1,5",options="header"]
 |===
-| Data Format | Available From | Description
+| Component | Available From | Description
 
-| link:camel-asn1/src/main/docs/asn1-dataformat.adoc[ASN.1 File] (camel-asn1) | 2.20 | The ASN.1 data format is used for file transfer with telecommunications protocols.
+| link:camel-ahc/src/main/docs/ahc.adoc[Ahc] (camel-ahc) |  | Camel Async Http Client support
 
-| link:camel-avro/src/main/docs/avro-dataformat.adoc[Avro] (camel-avro) | 2.14 | The Avro data format is used for serialization and deserialization of messages using Apache Avro binary dataformat.
+| link:camel-ahc-ws/src/main/docs/ahc-ws.adoc[Ahc Ws] (camel-ahc-ws) |  | Camel Websocket Client support
 
-| link:camel-barcode/src/main/docs/barcode-dataformat.adoc[Barcode] (camel-barcode) | 2.14 | The Barcode data format is used for creating barccode images (such as QR-Code)
+| link:camel-amqp/src/main/docs/amqp.adoc[Amqp] (camel-amqp) |  | Camel AMQP component which is based on the Apache Qpid project
 
-| link:camel-base64/src/main/docs/base64-dataformat.adoc[Base64] (camel-base64) | 2.11 | The Base64 data format is used for base64 encoding and decoding.
+| link:camel-apns/src/main/docs/apns.adoc[Apns] (camel-apns) |  | A Camel Apple Push Notification Server Component
 
-| link:camel-beanio/src/main/docs/beanio-dataformat.adoc[BeanIO] (camel-beanio) | 2.10 | The BeanIO data format is used for working with flat payloads (such as CSV, delimited, or fixed length formats).
+| link:camel-asn1/src/main/docs/asn1.adoc[Asn1] (camel-asn1) |  | Camel ASN.1 support
 
-| link:camel-bindy/src/main/docs/bindy-dataformat.adoc[Bindy CSV] (camel-bindy) | 2.0 | The Bindy data format is used for working with flat payloads (such as CSV, delimited, fixed length formats, or FIX messages).
+| link:camel-asterisk/src/main/docs/asterisk.adoc[Asterisk] (camel-asterisk) |  | Camel Asterisk to interact with an Asterisk PBX Server
 
-| link:camel-bindy/src/main/docs/bindy-dataformat.adoc[Bindy Fixed Length] (camel-bindy) | 2.0 | The Bindy data format is used for working with flat payloads (such as CSV, delimited, fixed length formats, or FIX messages).
+| link:camel-atmos/src/main/docs/atmos.adoc[Atmos] (camel-atmos) |  | Camel Atmos support
 
-| link:camel-bindy/src/main/docs/bindy-dataformat.adoc[Bindy Key Value Pair] (camel-bindy) | 2.0 | The Bindy data format is used for working with flat payloads (such as CSV, delimited, fixed length formats, or FIX messages).
+| link:camel-atmosphere-websocket/src/main/docs/atmosphere-websocket.adoc[Atmosphere Websocket] (camel-atmosphere-websocket) |  | Camel Atmosphere WebSocket Servlet
 
-| link:camel-boon/src/main/docs/boon-dataformat.adoc[Boon] (camel-boon) | 2.16 | Boon data format is used for unmarshal a JSon payload to POJO or to marshal POJO back to JSon payload.
+| link:camel-atom/src/main/docs/atom.adoc[Atom] (camel-atom) |  | Camel Atom support
 
-| link:camel-crypto/src/main/docs/crypto-dataformat.adoc[Crypto (Java Cryptographic Extension)] (camel-crypto) | 2.3 | Crypto data format is used for encrypting and decrypting of messages using Java Cryptographic Extension.
+| link:camel-atomix/src/main/docs/atomix.adoc[Atomix] (camel-atomix) |  | Camel Atomix support
 
-| link:camel-csv/src/main/docs/csv-dataformat.adoc[CSV] (camel-csv) | 1.3 | The CSV data format is used for handling CSV payloads.
+| link:camel-avro/src/main/docs/avro.adoc[Avro] (camel-avro) |  | Camel Avro data format
 
-| link:camel-fhir/camel-fhir-component/src/main/docs/fhirJson-dataformat.adoc[FHIR JSon] (camel-fhir) | 2.21 | The FHIR JSon data format is used to marshall/unmarshall to/from FHIR objects to/from JSON.
+| link:camel-aws/src/main/docs/aws.adoc[Aws] (camel-aws) |  | A Camel Amazon Web Services Components
 
-| link:camel-fhir/camel-fhir-component/src/main/docs/fhirXml-dataformat.adoc[FHIR XML] (camel-fhir) | 2.21 | The FHIR XML data format is used to marshall/unmarshall from/to FHIR objects to/from XML.
+| link:camel-azure/src/main/docs/azure.adoc[Azure] (camel-azure) |  | Camel Microsoft Azure Components
 
-| link:camel-flatpack/src/main/docs/flatpack-dataformat.adoc[Flatpack] (camel-flatpack) | 2.1 | The Flatpack data format is used for working with flat payloads (such as CSV, delimited, or fixed length formats).
+| link:camel-barcode/src/main/docs/barcode.adoc[Barcode] (camel-barcode) |  | Camel Barcode (e.g. QRcode, PDF417, DataMatrix) support
 
-| link:../camel-core/src/main/docs/gzip-dataformat.adoc[GZip] (camel-core) | 2.0 | The GZip data format is a message compression and de-compression format (which works with the popular gzip/gunzip tools).
+| link:camel-base64/src/main/docs/base64.adoc[Base64] (camel-base64) |  | Camel Base64 data format support
 
-| link:camel-hl7/src/main/docs/hl7-dataformat.adoc[HL7] (camel-hl7) | 2.0 | The HL7 data format can be used to marshal or unmarshal HL7 (Health Care) model objects.
+| link:camel-bean-validator/src/main/docs/bean-validator.adoc[Bean Validator] (camel-bean-validator) |  | Camel bean validation support (JSR 303)
 
-| link:camel-ical/src/main/docs/ical-dataformat.adoc[iCal] (camel-ical) | 2.12 | The iCal dataformat is used for working with iCalendar messages.
+| link:camel-beanio/src/main/docs/beanio.adoc[Beanio] (camel-beanio) |  | Camel BeanIO data format support
 
-| link:camel-jacksonxml/src/main/docs/jacksonxml-dataformat.adoc[JacksonXML] (camel-jacksonxml) | 2.16 | JacksonXML data format is used for unmarshal a XML payload to POJO or to marshal POJO back to XML payload.
+| link:camel-beanstalk/src/main/docs/beanstalk.adoc[Beanstalk] (camel-beanstalk) |  | Camel Beanstalk component
 
-| link:../camel-core/src/main/docs/serialization-dataformat.adoc[Java Object Serialization] (camel-core) | 2.12 | Serialization is a data format which uses the standard Java Serialization mechanism to unmarshal a binary payload into Java objects or to marshal Java objects into a binary blob.
+| link:camel-bindy/src/main/docs/bindy.adoc[Bindy] (camel-bindy) |  | Camel Bindy data format support
 
-| link:camel-jaxb/src/main/docs/jaxb-dataformat.adoc[JAXB] (camel-jaxb) | 1.0 | JAXB data format uses the JAXB2 XML marshalling standard to unmarshal an XML payload into Java objects or to marshal Java objects into an XML payload.
+| link:camel-blueprint/src/main/docs/blueprint.adoc[Blueprint] (camel-blueprint) | 2.4 | Using Camel with OSGi Blueprint
 
-| link:camel-jibx/src/main/docs/jibx-dataformat.adoc[JiBX] (camel-jibx) | 2.6 | JiBX data format is used for unmarshal a XML payload to POJO or to marshal POJO back to XML payload.
+| link:camel-bonita/src/main/docs/bonita.adoc[Bonita] (camel-bonita) |  | Camel Bonita support
 
-| link:camel-fastjson/src/main/docs/json-fastjson-dataformat.adoc[JSon Fastjson] (camel-fastjson) | 2.20 | JSon data format is used for unmarshal a JSon payload to POJO or to marshal POJO back to JSon payload.
+| link:camel-boon/src/main/docs/boon.adoc[Boon] (camel-boon) |  | Camel Boon support
 
-| link:camel-gson/src/main/docs/json-gson-dataformat.adoc[JSon GSon] (camel-gson) | 2.10 | JSon data format is used for unmarshal a JSon payload to POJO or to marshal POJO back to JSon payload.
+| link:camel-braintree/src/main/docs/braintree.adoc[Braintree] (camel-braintree) |  | Camel Braintree support
 
-| link:camel-jackson/src/main/docs/json-jackson-dataformat.adoc[JSon Jackson] (camel-jackson) | 2.0 | JSon data format is used for unmarshal a JSon payload to POJO or to marshal POJO back to JSon payload.
+| link:camel-caffeine/src/main/docs/caffeine.adoc[Caffeine] (camel-caffeine) |  | Camel Caffeine support
 
-| link:camel-johnzon/src/main/docs/json-johnzon-dataformat.adoc[JSon Johnzon] (camel-johnzon) | 2.18 | JSon data format is used for unmarshal a JSon payload to POJO or to marshal POJO back to JSon payload.
+| link:camel-cassandraql/src/main/docs/cassandraql.adoc[Cassandraql] (camel-cassandraql) |  | Cassandra CQL3 support
 
-| link:camel-xstream/src/main/docs/json-xstream-dataformat.adoc[JSon XStream] (camel-xstream) | 2.0 | JSon data format is used for unmarshal a JSon payload to POJO or to marshal POJO back to JSon payload.
+| link:camel-cdi/src/main/docs/cdi.adoc[CDI] (camel-cdi) | 2.10 | Using Camel with CDI
 
-| link:camel-lzf/src/main/docs/lzf-dataformat.adoc[LZF Deflate Compression] (camel-lzf) | 2.17 | The LZF data format is a message compression and de-compression format (uses the LZF deflate algorithm).
+| link:camel-chronicle/src/main/docs/chronicle.adoc[Chronicle] (camel-chronicle) |  | Camel Chronicle support
 
-| link:camel-mail/src/main/docs/mime-multipart-dataformat.adoc[MIME Multipart] (camel-mail) | 2.17 | The MIME Multipart data format can marshal a Camel message with attachments into a Camel message having a MIME-Multipart message as message body (and no attachments), and vise-versa when unmarshalling.
+| link:camel-chunk/src/main/docs/chunk.adoc[Chunk] (camel-chunk) |  | Camel Chunk support
 
-| link:camel-crypto/src/main/docs/pgp-dataformat.adoc[PGP] (camel-crypto) | 2.9 | PGP data format is used for encrypting and decrypting of messages using Java Cryptographic Extension and PGP.
+| link:camel-cm-sms/src/main/docs/cm-sms.adoc[Cm Sms] (camel-cm-sms) |  | Camel CM SMS Gateway Component
 
-| link:camel-protobuf/src/main/docs/protobuf-dataformat.adoc[Protobuf] (camel-protobuf) | 2.2 | The Protobuf data format is used for serializing between Java objects and the Google Protobuf protocol.
+| link:camel-cmis/src/main/docs/cmis.adoc[Cmis] (camel-cmis) |  | Camel CMIS which is based on Apache Chemistry support
 
-| link:camel-rss/src/main/docs/rss-dataformat.adoc[RSS] (camel-rss) | 2.1 | RSS data format is used for working with RSS sync feed Java Objects and transforming to XML and vice-versa.
+| link:camel-coap/src/main/docs/coap.adoc[Coap] (camel-coap) |  | Camel CoAP support
 
-| link:camel-soap/src/main/docs/soapjaxb-dataformat.adoc[SOAP] (camel-soap) | 2.3 | SOAP is a data format which uses JAXB2 and JAX-WS annotations to marshal and unmarshal SOAP payloads.
+| link:camel-cometd/src/main/docs/cometd.adoc[Cometd] (camel-cometd) |  | Camel Cometd support based on Jetty
 
-| link:../camel-core/src/main/docs/string-dataformat.adoc[String Encoding] (camel-core) | 2.12 | String data format is a textual based format that supports character encoding.
+| link:camel-consul/src/main/docs/consul.adoc[Consul] (camel-consul) |  | Camel Consul support
 
-| link:camel-syslog/src/main/docs/syslog-dataformat.adoc[Syslog] (camel-syslog) | 2.6 | The Syslog dataformat is used for working with RFC3164 and RFC5424 messages (logging and monitoring).
+| link:camel-corda/src/main/docs/corda.adoc[Corda] (camel-corda) |  | Camel Corda which is based on corda-rpc support
 
-| link:camel-tarfile/src/main/docs/tarfile-dataformat.adoc[Tar File] (camel-tarfile) | 2.16 | The Tar File data format is a message compression and de-compression format of tar files.
+| link:camel-couchbase/src/main/docs/couchbase.adoc[Couchbase] (camel-couchbase) |  | Camel Couchbase component
 
-| link:camel-thrift/src/main/docs/thrift-dataformat.adoc[Thrift] (camel-thrift) | 2.20 | The Thrift data format is used for serialization and deserialization of messages using Apache Thrift binary dataformat.
+| link:camel-couchdb/src/main/docs/couchdb.adoc[Couchdb] (camel-couchdb) |  | Camel CouchDB component
 
-| link:camel-tagsoup/src/main/docs/tidyMarkup-dataformat.adoc[TidyMarkup] (camel-tagsoup) | 2.0 | TidyMarkup data format is used for parsing HTML and return it as pretty well-formed HTML.
+| link:camel-crypto/src/main/docs/crypto.adoc[Crypto] (camel-crypto) |  | Camel Cryptographic Support
 
-| link:camel-univocity-parsers/src/main/docs/univocity-csv-dataformat.adoc[uniVocity CSV] (camel-univocity-parsers) | 2.15 | The uniVocity CSV data format is used for working with CSV (Comma Separated Values) flat payloads.
+| link:camel-crypto-cms/src/main/docs/crypto-cms.adoc[Crypto Cms] (camel-crypto-cms) |  | Camel Cryptographic Message Syntax Support
 
-| link:camel-univocity-parsers/src/main/docs/univocity-fixed-dataformat.adoc[uniVocity Fixed Length] (camel-univocity-parsers) | 2.15 | The uniVocity Fixed Length data format is used for working with fixed length flat payloads.
+| link:camel-csv/src/main/docs/csv.adoc[Csv] (camel-csv) |  | Camel CSV data format support
 
-| link:camel-univocity-parsers/src/main/docs/univocity-tsv-dataformat.adoc[uniVocity TSV] (camel-univocity-parsers) | 2.15 | The uniVocity TSV data format is used for working with TSV (Tabular Separated Values) flat payloads.
+| link:camel-cxf/src/main/docs/cxf.adoc[Cxf] (camel-cxf) |  | Camel CXF support
 
-| link:camel-xmlsecurity/src/main/docs/secureXML-dataformat.adoc[XML Security] (camel-xmlsecurity) | 2.0 | The XML Security data format facilitates encryption and decryption of XML payloads.
+| link:camel-cxf-transport/src/main/docs/cxf-transport.adoc[CXF Transport] (camel-cxf-transport) | 2.8 | Camel Transport for Apache CXF
 
-| link:camel-xstream/src/main/docs/xstream-dataformat.adoc[XStream] (camel-xstream) | 1.3 | XSTream data format is used for unmarshal a XML payload to POJO or to marshal POJO back to XML payload.
+| link:camel-digitalocean/src/main/docs/digitalocean.adoc[Digitalocean] (camel-digitalocean) |  | Camel DigitalOcean support
 
-| link:camel-snakeyaml/src/main/docs/yaml-snakeyaml-dataformat.adoc[YAML SnakeYAML] (camel-snakeyaml) | 2.17 | YAML is a data format to marshal and unmarshal Java objects to and from YAML.
+| link:camel-disruptor/src/main/docs/disruptor.adoc[Disruptor] (camel-disruptor) |  | Camel :: Disruptor component
 
-| link:../camel-core/src/main/docs/zip-dataformat.adoc[Zip Deflate Compression] (camel-core) | 2.12 | Zip Deflate Compression data format is a message compression and de-compression format (not zip files).
+| link:camel-dns/src/main/docs/dns.adoc[Dns] (camel-dns) |  | Camel DNS support
 
-| link:camel-zipfile/src/main/docs/zipfile-dataformat.adoc[Zip File] (camel-zipfile) | 2.11 | The Zip File data format is a message compression and de-compression format of zip files.
-|===
-// dataformats: END
+| link:camel-docker/src/main/docs/docker.adoc[Docker] (camel-docker) |  | Camel Docker Support
 
+| link:camel-dozer/src/main/docs/dozer.adoc[Dozer] (camel-dozer) |  | Camel Support for the Dozer type conversion framework
 
-Expression Languages
-^^^^^^^^^^^^^^^^^^^^
+| link:camel-drill/src/main/docs/drill.adoc[Drill] (camel-drill) |  | Camel Apache Drill support
 
-// languages: START
-Number of Languages: 18 in 9 JAR artifacts (1 deprecated)
+| link:camel-dropbox/src/main/docs/dropbox.adoc[Dropbox] (camel-dropbox) |  | Camel Dropbox support
 
-[width="100%",cols="4,1,5",options="header"]
-|===
-| Language | Available From | Description
+| link:camel-ehcache/src/main/docs/ehcache.adoc[Ehcache] (camel-ehcache) |  | Camel Ehcache support
 
-| link:../camel-core/src/main/docs/bean-language.adoc[Bean method] (camel-core) | 1.3 | To use a Java bean (aka method call) in Camel expressions or predicates.
+| link:camel-ejb/src/main/docs/ejb.adoc[Ejb] (camel-ejb) |  | Camel EJB support
 
-| link:../camel-core/src/main/docs/constant-language.adoc[Constant] (camel-core) | 1.5 | To use a constant value in Camel expressions or predicates.
+| link:camel-elasticsearch-rest/src/main/docs/elasticsearch-rest.adoc[Elasticsearch Rest] (camel-elasticsearch-rest) |  | Camel ElasticSearch REST support
 
-| link:../camel-core/src/main/docs/exchangeProperty-language.adoc[ExchangeProperty] (camel-core) | 2.0 | To use a Camel Exchange property in expressions or predicates.
+| link:camel-elsql/src/main/docs/elsql.adoc[Elsql] (camel-elsql) |  | Camel ElSql support
 
-| link:../camel-core/src/main/docs/file-language.adoc[File] (camel-core) | 1.1 | For expressions and predicates using the file/simple language
+| link:camel-etcd/src/main/docs/etcd.adoc[Etcd] (camel-etcd) |  | Camel Etcd support
 
-| link:camel-groovy/src/main/docs/groovy-language.adoc[Groovy] (camel-groovy) | 1.3 | To use Groovy scripts in Camel expressions or predicates.
+| link:camel-eventadmin/src/main/docs/eventadmin.adoc[Eventadmin] (camel-eventadmin) |  | Camel OSGi Event Admin support
 
-| link:../camel-core/src/main/docs/header-language.adoc[Header] (camel-core) | 1.5 | To use a Camel Message header in expressions or predicates.
+| link:camel-exec/src/main/docs/exec.adoc[Exec] (camel-exec) |  | Camel support for system command execution
 
-| link:camel-hl7/src/main/docs/terser-language.adoc[HL7 Terser] (camel-hl7) | 2.11 | To use HL7 terser scripts in Camel expressions or predicates.
+| link:camel-facebook/src/main/docs/facebook.adoc[Facebook] (camel-facebook) |  | Camel Facebook Support
 
-| link:camel-script/src/main/docs/javaScript-language.adoc[JavaScript] (camel-script) | 1.0 | *deprecated* To use JavaScript in Camel expressions or predicates.
+| link:camel-fastjson/src/main/docs/fastjson.adoc[Fastjson] (camel-fastjson) |  | Camel Fastjson support
 
-| link:camel-jsonpath/src/main/docs/jsonpath-language.adoc[JsonPath] (camel-jsonpath) | 2.13 | To use JsonPath in Camel expressions or predicates.
+| link:camel-flatpack/src/main/docs/flatpack.adoc[Flatpack] (camel-flatpack) |  | Camel FlatPack support
 
-| link:camel-mvel/src/main/docs/mvel-language.adoc[MVEL] (camel-mvel) | 2.0 | To use MVEL scripts in Camel expressions or predicates.
+| link:camel-flink/src/main/docs/flink.adoc[Flink] (camel-flink) |  | Camel Apache Flink support
 
-| link:camel-ognl/src/main/docs/ognl-language.adoc[OGNL] (camel-ognl) | 1.1 | To use OGNL scripts in Camel expressions or predicates.
+| link:camel-fop/src/main/docs/fop.adoc[Fop] (camel-fop) |  | Camel FOP support
 
-| link:../camel-core/src/main/docs/ref-language.adoc[Ref] (camel-core) | 2.8 | Reference to an existing Camel expression or predicate, which is looked up from the Camel registry.
+| link:camel-freemarker/src/main/docs/freemarker.adoc[Freemarker] (camel-freemarker) |  | Camel Freemarker support
 
-| link:../camel-core/src/main/docs/simple-language.adoc[Simple] (camel-core) | 1.1 | To use Camels built-in Simple language in Camel expressions or predicates.
+| link:camel-ftp/src/main/docs/ftp.adoc[Ftp] (camel-ftp) |  | Camel FTP support
 
-| link:camel-spring/src/main/docs/spel-language.adoc[SpEL] (camel-spring) | 2.7 | To use Spring Expression Language (SpEL) in Camel expressions or predicates.
+| link:camel-ganglia/src/main/docs/ganglia.adoc[Ganglia] (camel-ganglia) |  | Camel Ganglia support
 
-| link:../camel-core/src/main/docs/tokenize-language.adoc[Tokenize] (camel-core) | 2.0 | To use Camel message body or header with a tokenizer in Camel expressions or predicates.
+| link:camel-geocoder/src/main/docs/geocoder.adoc[Geocoder] (camel-geocoder) |  | Camel GeoCoder support
 
-| link:../camel-core/src/main/docs/xtokenize-language.adoc[XML Tokenize] (camel-core) | 2.14 | To use Camel message body or header with a XML tokenizer in Camel expressions or predicates.
+| link:camel-git/src/main/docs/git.adoc[Git] (camel-git) |  | Camel Components
 
-| link:../camel-core/src/main/docs/xpath-language.adoc[XPath] (camel-core) | 1.1 | To use XPath (XML) in Camel expressions or predicates.
+| link:camel-github/src/main/docs/github.adoc[Github] (camel-github) |  | Camel Components
 
-| link:camel-saxon/src/main/docs/xquery-language.adoc[XQuery] (camel-saxon) | 1.0 | To use XQuery (XML) in Camel expressions or predicates.
-|===
-// languages: END
+| link:camel-google-bigquery/src/main/docs/google-bigquery.adoc[Google Bigquery] (camel-google-bigquery) |  | Camel Component for Google Cloud Platform BigQuery
 
+| link:camel-google-calendar/src/main/docs/google-calendar.adoc[Google Calendar] (camel-google-calendar) |  | Camel Component for GoogleCalendar
 
-Miscellaneous Components
-^^^^^^^^^^^^^^^^^^^^^^^^
+| link:camel-google-drive/src/main/docs/google-drive.adoc[Google Drive] (camel-google-drive) |  | Camel Component for GoogleDrive
 
-// others: START
-Number of Miscellaneous Components: 31 in 31 JAR artifacts (0 deprecated)
+| link:camel-google-mail/src/main/docs/google-mail.adoc[Google Mail] (camel-google-mail) |  | Camel Component for GoogleMail
 
-[width="100%",cols="4,1,5",options="header"]
-|===
-| Component | Available From | Description
+| link:camel-google-pubsub/src/main/docs/google-pubsub.adoc[Google Pubsub] (camel-google-pubsub) |  | Camel Component for Google Cloud Platform Pubsub
 
-| link:camel-blueprint/src/main/docs/blueprint.adoc[Blueprint] (camel-blueprint) | 2.4 | Using Camel with OSGi Blueprint
+| link:camel-google-sheets/src/main/docs/google-sheets.adoc[Google Sheets] (camel-google-sheets) |  | Camel Component for GoogleSheets
 
-| link:camel-cdi/src/main/docs/cdi.adoc[CDI] (camel-cdi) | 2.10 | Using Camel with CDI
+| link:camel-gora/src/main/docs/gora.adoc[Gora] (camel-gora) |  | Gora Component for Apache Camel.
 
-| link:camel-cxf-transport/src/main/docs/cxf-transport.adoc[CXF Transport] (camel-cxf-transport) | 2.8 | Camel Transport for Apache CXF
+| link:camel-grape/src/main/docs/grape.adoc[Grape] (camel-grape) |  | The grape component allows you to fetch, load and manage additional jars when CamelContext is running
+
+| link:camel-groovy/src/main/docs/groovy.adoc[Groovy] (camel-groovy) |  | Camel Groovy support
+
+| link:camel-grpc/src/main/docs/grpc.adoc[Grpc] (camel-grpc) |  | Camel component for gRPC (Remote Procedure Call) support
+
+| link:camel-gson/src/main/docs/gson.adoc[Gson] (camel-gson) |  | Camel Gson support
+
+| link:camel-guava-eventbus/src/main/docs/guava-eventbus.adoc[Guava Eventbus] (camel-guava-eventbus) |  | Camel Guava EventBus support
+
+| link:camel-hazelcast/src/main/docs/hazelcast.adoc[Hazelcast] (camel-hazelcast) |  | Camel HazelCast based work queue implementation
+
+| link:camel-hbase/src/main/docs/hbase.adoc[Hbase] (camel-hbase) |  | Camel HBase component
+
+| link:camel-hdfs2/src/main/docs/hdfs2.adoc[Hdfs2] (camel-hdfs2) |  | Camel HDFS support with Hadoop 2.x libraries
 
 | link:camel-headersmap/src/main/docs/headersmap.adoc[Headersmap] (camel-headersmap) | 2.20 | Fast case-insensitive headers map implementation
 
+| link:camel-hipchat/src/main/docs/hipchat.adoc[Hipchat] (camel-hipchat) |  | Camel Hipchat Component
+
+| link:camel-hl7/src/main/docs/hl7.adoc[Hl7] (camel-hl7) |  | Camel HL7 support
+
+| link:camel-http4/src/main/docs/http4.adoc[Http4] (camel-http4) |  | Camel HTTP (Apache HttpClient 4.x) support
+
 | link:camel-hystrix/src/main/docs/hystrix.adoc[Hystrix] (camel-hystrix) | 2.18 | Circuit Breaker EIP using Netflix Hystrix
 
+| link:camel-ical/src/main/docs/ical.adoc[Ical] (camel-ical) |  | Camel iCal component
+
+| link:camel-iec60870/src/main/docs/iec60870.adoc[Iec60870] (camel-iec60870) |  | Camel IEC 60870-5-104 support
+
+| link:camel-ignite/src/main/docs/ignite.adoc[Ignite] (camel-ignite) |  | Camel Ignite component
+
+| link:camel-infinispan/src/main/docs/infinispan.adoc[Infinispan] (camel-infinispan) |  | Camel Infinispan support
+
+| link:camel-influxdb/src/main/docs/influxdb.adoc[Influxdb] (camel-influxdb) |  | Camel InfluxDB component
+
+| link:camel-iota/src/main/docs/iota.adoc[Iota] (camel-iota) |  | Camel IOTA component
+
+| link:camel-ipfs/src/main/docs/ipfs.adoc[Ipfs] (camel-ipfs) |  | Camel IPFS support
+
+| link:camel-irc/src/main/docs/irc.adoc[Irc] (camel-irc) |  | Camel IRC support
+
+| link:camel-ironmq/src/main/docs/ironmq.adoc[Ironmq] (camel-ironmq) |  | Camel IronMQ component
+
+| link:camel-jackson/src/main/docs/jackson.adoc[Jackson] (camel-jackson) |  | Camel Jackson support
+
+| link:camel-jacksonxml/src/main/docs/jacksonxml.adoc[Jacksonxml] (camel-jacksonxml) |  | Camel Jackson XML support
+
 | link:camel-jasypt/src/main/docs/jasypt.adoc[Jasypt] (camel-jasypt) | 2.5 | Security using Jasypt
 
+| link:camel-jaxb/src/main/docs/jaxb.adoc[Jaxb] (camel-jaxb) |  | Camel JAXB support
+
+| link:camel-jbpm/src/main/docs/jbpm.adoc[Jbpm] (camel-jbpm) |  | Camel JBPM support
+
+| link:camel-jcache/src/main/docs/jcache.adoc[Jcache] (camel-jcache) |  | Camel JCache support
+
+| link:camel-jclouds/src/main/docs/jclouds.adoc[Jclouds] (camel-jclouds) |  | Camel JClouds support
+
+| link:camel-jcr/src/main/docs/jcr.adoc[Jcr] (camel-jcr) |  | Camel JCR support
+
+| link:camel-jdbc/src/main/docs/jdbc.adoc[Jdbc] (camel-jdbc) |  | Camel JDBC support
+
+| link:camel-jetty9/src/main/docs/jetty9.adoc[Jetty9] (camel-jetty9) |  | Camel Jetty9 support
+
+| link:camel-jgroups/src/main/docs/jgroups.adoc[Jgroups] (camel-jgroups) |  | Camel JGroups support
+
+| link:camel-jgroups-raft/src/main/docs/jgroups-raft.adoc[Jgroups Raft] (camel-jgroups-raft) |  | Camel jgroups-raft support
+
+| link:camel-jibx/src/main/docs/jibx.adoc[Jibx] (camel-jibx) |  | Camel Jibx support
+
+| link:camel-jing/src/main/docs/jing.adoc[Jing] (camel-jing) |  | Camel Jing support
+
+| link:camel-jms/src/main/docs/jms.adoc[Jms] (camel-jms) |  | Camel JMS support
+
+| link:camel-jmx/src/main/docs/jmx.adoc[Jmx] (camel-jmx) |  | Camel JMX support
+
+| link:camel-johnzon/src/main/docs/johnzon.adoc[Johnzon] (camel-johnzon) |  | Camel Johnzon support
+
+| link:camel-jolt/src/main/docs/jolt.adoc[Jolt] (camel-jolt) |  | Camel Jolt Support
+
+| link:camel-jpa/src/main/docs/jpa.adoc[Jpa] (camel-jpa) |  | Camel JPA support
+
+| link:camel-jsch/src/main/docs/jsch.adoc[Jsch] (camel-jsch) |  | Camel SCP Support
+
+| link:camel-json-validator/src/main/docs/json-validator.adoc[Json Validator] (camel-json-validator) |  | Camel JSON Schema validation based on NetworkNT SON-schema library
+
+| link:camel-jsonpath/src/main/docs/jsonpath.adoc[Jsonpath] (camel-jsonpath) |  | Camel JSON Path Language
+
+| link:camel-jt400/src/main/docs/jt400.adoc[Jt400] (camel-jt400) |  | Camel AS/400 support
+
+| link:camel-kafka/src/main/docs/kafka.adoc[Kafka] (camel-kafka) |  | Camel Kafka support
+
+| link:camel-kubernetes/src/main/docs/kubernetes.adoc[Kubernetes] (camel-kubernetes) |  | Camel Components
+
 | link:camel-kura/src/main/docs/kura.adoc[Kura] (camel-kura) | 2.15 | Using Camel with Eclipse Kura (OSGi)
 
+| link:camel-ldap/src/main/docs/ldap.adoc[Ldap] (camel-ldap) |  | Camel LDAP support
+
+| link:camel-ldif/src/main/docs/ldif.adoc[Ldif] (camel-ldif) |  | Camel LDIF support
+
 | link:camel-leveldb/src/main/docs/leveldb.adoc[LevelDB] (camel-leveldb) | 2.10 | Using LevelDB as persistent EIP store
 
 | link:camel-lra/src/main/docs/lra.adoc[Lra] (camel-lra) | 2.21 | Camel saga binding for Long-Running-Action framework
 
+| link:camel-lucene/src/main/docs/lucene.adoc[Lucene] (camel-lucene) |  | Camel Lucene based search component
+
+| link:camel-lumberjack/src/main/docs/lumberjack.adoc[Lumberjack] (camel-lumberjack) |  | Camel Lumberjack log streaming component
+
+| link:camel-lzf/src/main/docs/lzf.adoc[Lzf] (camel-lzf) |  | Camel LZF support
+
+| link:camel-mail/src/main/docs/mail.adoc[Mail] (camel-mail) |  | Camel Mail support
+
+| link:camel-master/src/main/docs/master.adoc[Master] (camel-master) |  | Camel Master Support
+
+| link:camel-metrics/src/main/docs/metrics.adoc[Metrics] (camel-metrics) |  | Camel Metrics based monitoring component
+
+| link:camel-micrometer/src/main/docs/micrometer.adoc[Micrometer] (camel-micrometer) |  | Camel Micrometer based monitoring component
+
+| link:camel-milo/src/main/docs/milo.adoc[Milo] (camel-milo) |  | Camel OPC UA support
+
+| link:camel-mina2/src/main/docs/mina2.adoc[Mina2] (camel-mina2) |  | Camel MINA 2.x support
+
+| link:camel-mllp/src/main/docs/mllp.adoc[Mllp] (camel-mllp) |  | Camel MLLP Component
+
+| link:camel-mongodb-gridfs/src/main/docs/mongodb-gridfs.adoc[Mongodb Gridfs] (camel-mongodb-gridfs) |  | Camel MongoDB GridFS component
+
+| link:camel-mongodb3/src/main/docs/mongodb3.adoc[Mongodb3] (camel-mongodb3) |  | Camel MongoDB (Java Driver 3) component
+
+| link:camel-mqtt/src/main/docs/mqtt.adoc[Mqtt] (camel-mqtt) |  | Camel MQTT client
+
+| link:camel-msv/src/main/docs/msv.adoc[Msv] (camel-msv) |  | Camel MSV support
+
+| link:camel-mustache/src/main/docs/mustache.adoc[Mustache] (camel-mustache) |  | Camel Mustache support
+
+| link:camel-mvel/src/main/docs/mvel.adoc[Mvel] (camel-mvel) |  | Camel MVEL support
+
+| link:camel-mybatis/src/main/docs/mybatis.adoc[Mybatis] (camel-mybatis) |  | Camel MyBatis support
+
+| link:camel-nagios/src/main/docs/nagios.adoc[Nagios] (camel-nagios) |  | Camel Nagios support
+
+| link:camel-nats/src/main/docs/nats.adoc[Nats] (camel-nats) |  | Camel Components
+
+| link:camel-netty4/src/main/docs/netty4.adoc[Netty4] (camel-netty4) |  | Camel Netty NIO based socket communication component
+
+| link:camel-netty4-http/src/main/docs/netty4-http.adoc[Netty4 Http] (camel-netty4-http) |  | Camel Netty4 HTTP support
+
+| link:camel-nsq/src/main/docs/nsq.adoc[Nsq] (camel-nsq) |  | Camel Components
+
+| link:camel-ognl/src/main/docs/ognl.adoc[Ognl] (camel-ognl) |  | Camel OGNL support
+
+| link:camel-openstack/src/main/docs/openstack.adoc[Openstack] (camel-openstack) |  | Camel OpenStack support
+
 | link:camel-opentracing/src/main/docs/opentracing.adoc[OpenTracing] (camel-opentracing) | 2.19 | Distributed tracing using OpenTracing
 
+| link:camel-optaplanner/src/main/docs/optaplanner.adoc[Optaplanner] (camel-optaplanner) |  | Camel OptaPlanner support
+
+| link:camel-paho/src/main/docs/paho.adoc[Paho] (camel-paho) |  | Camel Eclipse Paho support
+
+| link:camel-paxlogging/src/main/docs/paxlogging.adoc[Paxlogging] (camel-paxlogging) |  | Camel OSGi PaxLogging support
+
+| link:camel-pdf/src/main/docs/pdf.adoc[Pdf] (camel-pdf) |  | Camel PDF support
+
+| link:camel-pgevent/src/main/docs/pgevent.adoc[Pgevent] (camel-pgevent) |  | Component for sending/receiving notifications in PostgreSQL
+
+| link:camel-printer/src/main/docs/printer.adoc[Printer] (camel-printer) |  | Camel Printer support
+
+| link:camel-protobuf/src/main/docs/protobuf.adoc[Protobuf] (camel-protobuf) |  | Camel Google Protobuf data format support
+
+| link:camel-pubnub/src/main/docs/pubnub.adoc[Pubnub] (camel-pubnub) |  | Camel PubNub Support
+
+| link:camel-quartz2/src/main/docs/quartz2.adoc[Quartz2] (camel-quartz2) |  | Camel Quartz2 support
+
+| link:camel-quickfix/src/main/docs/quickfix.adoc[Quickfix] (camel-quickfix) |  | Camel QuickFIX/J support
+
+| link:camel-rabbitmq/src/main/docs/rabbitmq.adoc[Rabbitmq] (camel-rabbitmq) |  | Camel RabbitMQ Component
+
+| link:camel-reactive-streams/src/main/docs/reactive-streams.adoc[Reactive Streams] (camel-reactive-streams) |  | Camel Reactive Streams Component
+
 | link:camel-reactor/src/main/docs/reactor.adoc[Reactor] (camel-reactor) | 2.20 | Reactor based back-end for Camel's reactive streams component
 
+| link:camel-rest-swagger/src/main/docs/rest-swagger.adoc[Rest Swagger] (camel-rest-swagger) | 2.19 | Camel REST support using Swagger
+
+| link:camel-restlet/src/main/docs/restlet.adoc[Restlet] (camel-restlet) |  | Camel REST (Restlet based) Component
+
 | link:camel-ribbon/src/main/docs/ribbon.adoc[Ribbon] (camel-ribbon) | 2.18 | Using Netflix Ribbon for client side load balancing
 
+| link:camel-rmi/src/main/docs/rmi.adoc[Rmi] (camel-rmi) |  | Camel RMI support
+
+| link:camel-rss/src/main/docs/rss.adoc[Rss] (camel-rss) |  | Camel RSS support
+
 | link:camel-rxjava2/src/main/docs/rxjava2.adoc[Rxjava2] (camel-rxjava2) | 2.22 | RxJava2 based back-end for Camel's reactive streams component
 
+| link:camel-sap-netweaver/src/main/docs/sap-netweaver.adoc[Sap Netweaver] (camel-sap-netweaver) |  | Camel SAP NetWeaver support
+
+| link:camel-saxon/src/main/docs/saxon.adoc[Saxon] (camel-saxon) |  | Camel Saxon (XQuery/XPath) support
+
+| link:camel-schematron/src/main/docs/schematron.adoc[Schematron] (camel-schematron) |  | Camel Schematron support
+
+| link:camel-service/src/main/docs/service.adoc[Service] (camel-service) |  | Camel service Support
+
+| link:camel-servlet/src/main/docs/servlet.adoc[Servlet] (camel-servlet) |  | Camel servlet transport support
+
 | link:camel-shiro/src/main/docs/shiro.adoc[Shiro] (camel-shiro) | 2.5 | Security using Shiro
 
+| link:camel-sip/src/main/docs/sip.adoc[Sip] (camel-sip) |  | Camel SIP protocol based communication component
+
+| link:camel-sjms/src/main/docs/sjms.adoc[Sjms] (camel-sjms) |  | A pure Java JMS Camel Component
+
+| link:camel-sjms2/src/main/docs/sjms2.adoc[Sjms2] (camel-sjms2) |  | A pure Java JMS 2.0 Camel Component
+
+| link:camel-slack/src/main/docs/slack.adoc[Slack] (camel-slack) |  | Camel Slack Support
+
+| link:camel-smpp/src/main/docs/smpp.adoc[Smpp] (camel-smpp) |  | Camel SMPP support
+
+| link:camel-snakeyaml/src/main/docs/snakeyaml.adoc[Snakeyaml] (camel-snakeyaml) |  | Camel SnakeYAML support
+
+| link:camel-snmp/src/main/docs/snmp.adoc[Snmp] (camel-snmp) |  | Camel SNMP support
+
+| link:camel-soap/src/main/docs/soap.adoc[Soap] (camel-soap) |  | Camel SOAP support
+
+| link:camel-solr/src/main/docs/solr.adoc[Solr] (camel-solr) |  | Camel Solr Support
+
+| link:camel-spark/src/main/docs/spark.adoc[Spark] (camel-spark) |  | Camel Apache Spark Support
+
+| link:camel-spark-rest/src/main/docs/spark-rest.adoc[Spark Rest] (camel-spark-rest) |  | Camel Spark (REST DSL) support
+
+| link:camel-splunk/src/main/docs/splunk.adoc[Splunk] (camel-splunk) |  | Camel :: Splunk component
+
+| link:camel-spring/src/main/docs/spring.adoc[Spring] (camel-spring) |  | Camel Spring with XML DSL
+
+| link:camel-spring-batch/src/main/docs/spring-batch.adoc[Spring Batch] (camel-spring-batch) |  | Camel Spring Batch support
+
 | link:camel-spring-boot/src/main/docs/spring-boot.adoc[Spring Boot] (camel-spring-boot) | 2.15 | Using Camel with Spring Boot
 
 | link:camel-spring-cloud/src/main/docs/spring-cloud.adoc[Spring Cloud] (camel-spring-cloud) | 2.19 | Camel Cloud integration with Spring Cloud
@@ -1079,12 +1293,40 @@ Number of Miscellaneous Components: 31 in 31 JAR artifacts (0 deprecated)
 
 | link:camel-spring-cloud-zookeeper/src/main/docs/spring-cloud-zookeeper.adoc[Spring Cloud Zookeeper] (camel-spring-cloud-zookeeper) | 2.19 | Camel Cloud integration with Spring Cloud Zookeeper
 
+| link:camel-spring-integration/src/main/docs/spring-integration.adoc[Spring Integration] (camel-spring-integration) |  | Camel Spring Integration support
+
 | link:camel-spring-javaconfig/src/main/docs/spring-javaconfig.adoc[Spring Java Configuration] (camel-spring-javaconfig) | 2.0 | Using Camel with Spring Java Configuration
 
+| link:camel-spring-ldap/src/main/docs/spring-ldap.adoc[Spring Ldap] (camel-spring-ldap) |  | Camel support for Spring LDAP
+
+| link:camel-spring-redis/src/main/docs/spring-redis.adoc[Spring Redis] (camel-spring-redis) |  | Camel Spring Redis Component
+
 | link:camel-spring-security/src/main/docs/spring-security.adoc[Spring Security] (camel-spring-security) | 2.3 | Security using Spring Security
 
+| link:camel-spring-ws/src/main/docs/spring-ws.adoc[Spring Ws] (camel-spring-ws) |  | Camel support for Spring Web Services
+
+| link:camel-sql/src/main/docs/sql.adoc[Sql] (camel-sql) |  | Camel SQL support
+
+| link:camel-ssh/src/main/docs/ssh.adoc[Ssh] (camel-ssh) |  | Camel SSH support
+
+| link:camel-stax/src/main/docs/stax.adoc[Stax] (camel-stax) |  | Camel StAX support
+
+| link:camel-stomp/src/main/docs/stomp.adoc[Stomp] (camel-stomp) |  | Camel Stomp client
+
+| link:camel-stream/src/main/docs/stream.adoc[Stream] (camel-stream) |  | Camel Stream (System.in, System.out, System.err) support
+
+| link:camel-stringtemplate/src/main/docs/stringtemplate.adoc[Stringtemplate] (camel-stringtemplate) |  | Camel StringTemplate support
+
 | link:camel-swagger-java/src/main/docs/swagger-java.adoc[Swagger Java] (camel-swagger-java) | 2.16 | Rest-dsl support for using swagger api-doc
 
+| link:camel-syslog/src/main/docs/syslog.adoc[Syslog] (camel-syslog) |  | Camel Syslog support
+
+| link:camel-tagsoup/src/main/docs/tagsoup.adoc[Tagsoup] (camel-tagsoup) |  | Camel TagSoup support
+
+| link:camel-tarfile/src/main/docs/tarfile.adoc[Tarfile] (camel-tarfile) |  | Camel Tar file support
+
+| link:camel-telegram/src/main/docs/telegram.adoc[Telegram] (camel-telegram) |  | Camel Telegram support
+
 | link:camel-test/src/main/docs/test.adoc[Test] (camel-test) | 2.9 | Camel unit testing
 
 | link:camel-test-blueprint/src/main/docs/test-blueprint.adoc[Test Blueprint] (camel-test-blueprint) | 2.10 | Camel unit testing with OSGi Blueprint
@@ -1099,9 +1341,53 @@ Number of Miscellaneous Components: 31 in 31 JAR artifacts (0 deprecated)
 
 | link:camel-testcontainers-spring/src/main/docs/testcontainers-spring.adoc[Testcontainers Spring] (camel-testcontainers-spring) | 2.22 | Camel unit testing with Spring and testcontainers
 
+| link:camel-thrift/src/main/docs/thrift.adoc[Thrift] (camel-thrift) |  | Camel Apache Thrift data format and RPC support
+
+| link:camel-tika/src/main/docs/tika.adoc[Tika] (camel-tika) |  | This component integrates with Apache Tika to extract content and metadata from thousands of file types.
+
+| link:camel-twilio/src/main/docs/twilio.adoc[Twilio] (camel-twilio) |  | Camel Component for Twilio
+
+| link:camel-twitter/src/main/docs/twitter.adoc[Twitter] (camel-twitter) |  | Camel Twitter support
+
+| link:camel-undertow/src/main/docs/undertow.adoc[Undertow] (camel-undertow) |  | Camel Components
+
+| link:camel-univocity-parsers/src/main/docs/univocity-parsers.adoc[Univocity Parsers] (camel-univocity-parsers) |  | Camel UniVocity parsers data format support
+
+| link:camel-velocity/src/main/docs/velocity.adoc[Velocity] (camel-velocity) |  | Camel Velocity support
+
+| link:camel-vertx/src/main/docs/vertx.adoc[Vertx] (camel-vertx) |  | Camel Vertx support
+
+| link:camel-weather/src/main/docs/weather.adoc[Weather] (camel-weather) |  | Camel Weather support
+
+| link:camel-web3j/src/main/docs/web3j.adoc[Web3j] (camel-web3j) |  | Camel Ethereum support through Web3j
+
+| link:camel-websocket/src/main/docs/websocket.adoc[Websocket] (camel-websocket) |  | Camel WebSocket using Jetty
+
+| link:camel-websocket-jsr356/src/main/docs/websocket-jsr356.adoc[Websocket Jsr356] (camel-websocket-jsr356) |  | Camel WebSocket using JSR356 (javax)
+
+| link:camel-wordpress/src/main/docs/wordpress.adoc[Wordpress] (camel-wordpress) |  | Wordpress REST API support
+
+| link:camel-xchange/src/main/docs/xchange.adoc[Xchange] (camel-xchange) |  | Camel XChange support
+
+| link:camel-xmlsecurity/src/main/docs/xmlsecurity.adoc[Xmlsecurity] (camel-xmlsecurity) |  | Camel Partial XML Encryption/Decryption and XML Signature support
+
+| link:camel-xmpp/src/main/docs/xmpp.adoc[Xmpp] (camel-xmpp) |  | Camel XMPP support
+
 | link:camel-aws-xray/src/main/docs/aws-xray.adoc[XRay] (camel-aws-xray) | 2.21 | Distributed tracing using AWS XRay
 
+| link:camel-xstream/src/main/docs/xstream.adoc[Xstream] (camel-xstream) |  | Camel XStream support
+
+| link:camel-yammer/src/main/docs/yammer.adoc[Yammer] (camel-yammer) |  | Camel Yammer Component
+
+| link:camel-zendesk/src/main/docs/zendesk.adoc[Zendesk] (camel-zendesk) |  | Camel Zendesk Component
+
+| link:camel-zipfile/src/main/docs/zipfile.adoc[Zipfile] (camel-zipfile) |  | Camel Zip file support
+
 | link:camel-zipkin/src/main/docs/zipkin.adoc[Zipkin] (camel-zipkin) | 2.18 | Distributed message tracing using Zipkin
+
+| link:camel-zookeeper/src/main/docs/zookeeper.adoc[Zookeeper] (camel-zookeeper) |  | Camel Zookeeper Support
+
+| link:camel-zookeeper-master/src/main/docs/zookeeper-master.adoc[Zookeeper Master] (camel-zookeeper-master) |  | Camel Zookeeper Master Support
 |===
 // others: END
 
diff --git a/docs/components/modules/ROOT/pages/grape-component.adoc b/docs/components/modules/ROOT/pages/grape-component.adoc
index b241aba..54610d7 100644
--- a/docs/components/modules/ROOT/pages/grape-component.adoc
+++ b/docs/components/modules/ROOT/pages/grape-component.adoc
@@ -51,7 +51,7 @@ with the following path and query parameters:
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *synchronous* (producer) | Sets whether synchronous processing should be strictly used or Camel is allowed to use asynchronous processing (if supported). | false | boolean
+| *synchronous* (advanced) | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | boolean
 |===
 // endpoint options: END
 


[camel] 08/13: Generate TypeConverter files

Posted by gn...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

gnodet pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 7492f139bde029fdf0bfe5800e9ecce52887036c
Author: Guillaume Nodet <gn...@gmail.com>
AuthorDate: Mon Dec 17 16:20:08 2018 +0100

    Generate TypeConverter files
    
    # Conflicts:
    #	tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareComponentMojo.java
    #	tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/tooling/Project.java
---
 .../services/org/apache/camel/TypeConverter        | 18 -----
 .../services/org/apache/camel/TypeConverter        | 18 -----
 .../services/org/apache/camel/TypeConverter        | 19 -----
 .../services/org/apache/camel/TypeConverter        | 19 -----
 .../services/org/apache/camel/TypeConverter        | 19 -----
 .../services/org/apache/camel/TypeConverter        | 17 ----
 .../services/org/apache/camel/TypeConverter        | 18 -----
 .../services/org/apache/camel/TypeConverter        | 18 -----
 .../services/org/apache/camel/TypeConverter        | 17 ----
 .../services/org/apache/camel/TypeConverter        | 18 -----
 .../services/org/apache/camel/TypeConverter        | 26 ------
 .../services/org/apache/camel/TypeConverter        | 18 -----
 .../services/org/apache/camel/TypeConverter        | 19 -----
 .../services/org/apache/camel/TypeConverter        | 18 -----
 .../services/org/apache/camel/TypeConverter        | 18 -----
 .../jackson/converter/JacksonTypeConverters.java   |  2 +
 .../services/org/apache/camel/TypeConverter        | 17 ----
 .../converter/JacksonXMLTypeConverters.java        |  2 +
 .../services/org/apache/camel/TypeConverter        | 17 ----
 .../services/org/apache/camel/TypeConverter        | 17 ----
 .../services/org/apache/camel/TypeConverter        | 18 -----
 .../services/org/apache/camel/TypeConverter        | 18 -----
 .../services/org/apache/camel/TypeConverter        | 18 -----
 .../services/org/apache/camel/TypeConverter        | 18 -----
 .../services/org/apache/camel/TypeConverter        | 18 -----
 .../services/org/apache/camel/TypeConverter        | 19 -----
 .../services/org/apache/camel/TypeConverter        | 18 -----
 .../services/org/apache/camel/TypeConverter        | 18 -----
 .../services/org/apache/camel/TypeConverter        | 18 -----
 .../services/org/apache/camel/TypeConverter        | 18 -----
 .../services/org/apache/camel/TypeConverter        | 18 -----
 .../services/org/apache/camel/TypeConverter        | 18 -----
 .../services/org/apache/camel/TypeConverter        | 18 -----
 .../services/org/apache/camel/TypeConverter        | 18 -----
 .../services/org/apache/camel/TypeConverter        | 18 -----
 .../services/org/apache/camel/TypeConverter        | 18 -----
 .../services/org/apache/camel/TypeConverter        | 18 -----
 .../services/org/apache/camel/TypeConverter        | 18 -----
 .../services/org/apache/camel/TypeConverter        | 18 -----
 .../services/org/apache/camel/TypeConverter        | 18 -----
 .../services/org/apache/camel/TypeConverter        | 18 -----
 .../services/org/apache/camel/TypeConverter        | 18 -----
 .../services/org/apache/camel/TypeConverter        | 18 -----
 .../camel/tools/apt/TypeConverterProcessor.java    | 92 ++++++++++++++++++++++
 .../services/javax.annotation.processing.Processor |  1 +
 45 files changed, 97 insertions(+), 746 deletions(-)

diff --git a/components/camel-atom/src/main/resources/META-INF/services/org/apache/camel/TypeConverter b/components/camel-atom/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
deleted file mode 100644
index 954ab54..0000000
--- a/components/camel-atom/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-org.apache.camel.component.atom.AtomConverter
\ No newline at end of file
diff --git a/components/camel-atomix/src/main/resources/META-INF/services/org/apache/camel/TypeConverter b/components/camel-atomix/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
deleted file mode 100644
index 5992355..0000000
--- a/components/camel-atomix/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-org.apache.camel.component.atomix.AtomixTypeConverter
\ No newline at end of file
diff --git a/components/camel-aws/src/main/resources/META-INF/services/org/apache/camel/TypeConverter b/components/camel-aws/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
deleted file mode 100644
index 4472b59..0000000
--- a/components/camel-aws/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
+++ /dev/null
@@ -1,19 +0,0 @@
-## ---------------------------------------------------------------------------
-## 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.
-## ---------------------------------------------------------------------------
-
-org.apache.camel.component.aws.kinesis.RecordStringConverter
-org.apache.camel.component.aws.ddbstream.StringSequenceNumberConverter
diff --git a/components/camel-cxf/src/main/resources/META-INF/services/org/apache/camel/TypeConverter b/components/camel-cxf/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
deleted file mode 100644
index a703961..0000000
--- a/components/camel-cxf/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# 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.
-#
-
-org.apache.camel.component.cxf.converter.CxfConverter
-org.apache.camel.component.cxf.converter.CxfPayloadConverter
diff --git a/components/camel-dns/src/main/resources/META-INF/services/org/apache/camel/TypeConverter b/components/camel-dns/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
deleted file mode 100644
index 7253ef2..0000000
--- a/components/camel-dns/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# 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.
-#
-
-org.apache.camel.component.dns.types.DnsConverter
-org.apache.camel.component.dns.types.DnsRecordConverter
\ No newline at end of file
diff --git a/components/camel-elasticsearch-rest/src/main/resources/META-INF/services/org/apache/camel/TypeConverter b/components/camel-elasticsearch-rest/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
deleted file mode 100644
index 9febef8..0000000
--- a/components/camel-elasticsearch-rest/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
+++ /dev/null
@@ -1,17 +0,0 @@
-#
-# 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.
-#
-org.apache.camel.component.elasticsearch.converter.ElasticsearchActionRequestConverter
diff --git a/components/camel-exec/src/main/resources/META-INF/services/org/apache/camel/TypeConverter b/components/camel-exec/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
deleted file mode 100644
index a943e8d..0000000
--- a/components/camel-exec/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-org.apache.camel.component.exec.ExecResultConverter
diff --git a/components/camel-flatpack/src/main/resources/META-INF/services/org/apache/camel/TypeConverter b/components/camel-flatpack/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
deleted file mode 100644
index f9a244f..0000000
--- a/components/camel-flatpack/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-org.apache.camel.component.flatpack.FlatpackConverter
\ No newline at end of file
diff --git a/components/camel-google-drive/src/main/resources/META-INF/services/org/apache/camel/TypeConverter b/components/camel-google-drive/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
deleted file mode 100644
index ec2888d..0000000
--- a/components/camel-google-drive/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
+++ /dev/null
@@ -1,17 +0,0 @@
-#
-# 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.
-#
-org.apache.camel.component.google.drive.GoogleDriveFilesConverter
diff --git a/components/camel-hbase/src/main/resources/META-INF/services/org/apache/camel/TypeConverter b/components/camel-hbase/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
deleted file mode 100644
index b15e9d1..0000000
--- a/components/camel-hbase/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-org.apache.camel.component.hbase.converter.HBaseModelConverter
\ No newline at end of file
diff --git a/components/camel-hl7/src/main/resources/META-INF/services/org/apache/camel/TypeConverter b/components/camel-hl7/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
deleted file mode 100644
index b8c410a..0000000
--- a/components/camel-hl7/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
+++ /dev/null
@@ -1,26 +0,0 @@
-#
-# 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.
-#
-
-org.apache.camel.component.hl7.HL7Converter
-org.apache.camel.component.hl7.HL721Converter
-org.apache.camel.component.hl7.HL722Converter
-org.apache.camel.component.hl7.HL723Converter
-org.apache.camel.component.hl7.HL7231Converter
-org.apache.camel.component.hl7.HL724Converter
-org.apache.camel.component.hl7.HL725Converter
-org.apache.camel.component.hl7.HL7251Converter
-org.apache.camel.component.hl7.HL726Converter
\ No newline at end of file
diff --git a/components/camel-http-common/src/main/resources/META-INF/services/org/apache/camel/TypeConverter b/components/camel-http-common/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
deleted file mode 100644
index adacd8d..0000000
--- a/components/camel-http-common/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-org.apache.camel.http.common.HttpConverter
diff --git a/components/camel-http4/src/main/resources/META-INF/services/org/apache/camel/TypeConverter b/components/camel-http4/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
deleted file mode 100644
index 244025a..0000000
--- a/components/camel-http4/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# 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.
-#
-
-org.apache.camel.component.http4.HttpEntityConverter
-org.apache.camel.component.http4.HttpMethodsConverter
diff --git a/components/camel-ical/src/main/resources/META-INF/services/org/apache/camel/TypeConverter b/components/camel-ical/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
deleted file mode 100644
index a673889..0000000
--- a/components/camel-ical/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-org.apache.camel.component.ical.ICalConverter
\ No newline at end of file
diff --git a/components/camel-influxdb/src/main/resources/META-INF/services/org/apache/camel/TypeConverter b/components/camel-influxdb/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
deleted file mode 100644
index 31a3bb9..0000000
--- a/components/camel-influxdb/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-org.apache.camel.component.influxdb.converters.CamelInfluxDbConverters
diff --git a/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/converter/JacksonTypeConverters.java b/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/converter/JacksonTypeConverters.java
index 4568177..fdb3ce8 100644
--- a/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/converter/JacksonTypeConverters.java
+++ b/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/converter/JacksonTypeConverters.java
@@ -24,6 +24,7 @@ import java.util.Set;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.module.jaxb.JaxbAnnotationModule;
 import org.apache.camel.CamelContext;
+import org.apache.camel.Converter;
 import org.apache.camel.Exchange;
 import org.apache.camel.FallbackConverter;
 import org.apache.camel.component.jackson.JacksonConstants;
@@ -42,6 +43,7 @@ import org.apache.camel.spi.TypeConverterRegistry;
  * default the converter only attempts to convert to primitive types such as String and numbers. To convert to any kind, then
  * enable this by setting {@link JacksonConstants#TYPE_CONVERTER_TO_POJO} to <tt>true</tt> on {@link CamelContext#getGlobalOptions()}.
  */
+@Converter
 public final class JacksonTypeConverters {
 
     private final ObjectMapper defaultMapper;
diff --git a/components/camel-jackson/src/main/resources/META-INF/services/org/apache/camel/TypeConverter b/components/camel-jackson/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
deleted file mode 100644
index 6ad0528..0000000
--- a/components/camel-jackson/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
+++ /dev/null
@@ -1,17 +0,0 @@
-#
-# 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.
-#
-org.apache.camel.component.jackson.converter.JacksonTypeConverters
\ No newline at end of file
diff --git a/components/camel-jacksonxml/src/main/java/org/apache/camel/component/jacksonxml/converter/JacksonXMLTypeConverters.java b/components/camel-jacksonxml/src/main/java/org/apache/camel/component/jacksonxml/converter/JacksonXMLTypeConverters.java
index 720d6b8..fd5035b 100644
--- a/components/camel-jacksonxml/src/main/java/org/apache/camel/component/jacksonxml/converter/JacksonXMLTypeConverters.java
+++ b/components/camel-jacksonxml/src/main/java/org/apache/camel/component/jacksonxml/converter/JacksonXMLTypeConverters.java
@@ -21,12 +21,14 @@ import java.util.Set;
 
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.dataformat.xml.XmlMapper;
+import org.apache.camel.Converter;
 import org.apache.camel.Exchange;
 import org.apache.camel.FallbackConverter;
 import org.apache.camel.component.jacksonxml.JacksonXMLConstants;
 import org.apache.camel.spi.Registry;
 import org.apache.camel.spi.TypeConverterRegistry;
 
+@Converter
 public final class JacksonXMLTypeConverters {
 
     private final XmlMapper defaultMapper = new XmlMapper();
diff --git a/components/camel-jacksonxml/src/main/resources/META-INF/services/org/apache/camel/TypeConverter b/components/camel-jacksonxml/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
deleted file mode 100644
index 227d9c3..0000000
--- a/components/camel-jacksonxml/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
+++ /dev/null
@@ -1,17 +0,0 @@
-#
-# 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.
-#
-org.apache.camel.component.jacksonxml.converter.JacksonXMLTypeConverters
\ No newline at end of file
diff --git a/components/camel-jclouds/src/main/resources/META-INF/services/org/apache/camel/TypeConverter b/components/camel-jclouds/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
deleted file mode 100644
index 315fdbb..0000000
--- a/components/camel-jclouds/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
+++ /dev/null
@@ -1,17 +0,0 @@
-#
-# 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.
-#
-org.apache.camel.component.jclouds.JcloudsPayloadConverter
\ No newline at end of file
diff --git a/components/camel-jcr/src/main/resources/META-INF/services/org/apache/camel/TypeConverter b/components/camel-jcr/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
deleted file mode 100644
index 4e8487a..0000000
--- a/components/camel-jcr/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-org.apache.camel.component.jcr.JcrConverter
\ No newline at end of file
diff --git a/components/camel-jetty-common/src/main/resources/META-INF/services/org/apache/camel/TypeConverter b/components/camel-jetty-common/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
deleted file mode 100644
index aa69a0f..0000000
--- a/components/camel-jetty-common/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-org.apache.camel.component.jetty.JettyConverter
diff --git a/components/camel-mail/src/main/resources/META-INF/services/org/apache/camel/TypeConverter b/components/camel-mail/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
deleted file mode 100644
index 93462ce..0000000
--- a/components/camel-mail/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-org.apache.camel.component.mail.MailConverters
\ No newline at end of file
diff --git a/components/camel-milo/src/main/resources/META-INF/services/org/apache/camel/TypeConverter b/components/camel-milo/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
deleted file mode 100644
index b024623..0000000
--- a/components/camel-milo/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-org.apache.camel.component.milo.converter.ValueConverter
\ No newline at end of file
diff --git a/components/camel-mina2/src/main/resources/META-INF/services/org/apache/camel/TypeConverter b/components/camel-mina2/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
deleted file mode 100644
index eee76bd..0000000
--- a/components/camel-mina2/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-org.apache.camel.component.mina2.Mina2Converter
\ No newline at end of file
diff --git a/components/camel-mongodb3/src/main/resources/META-INF/services/org/apache/camel/TypeConverter b/components/camel-mongodb3/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
deleted file mode 100644
index 794bb11..0000000
--- a/components/camel-mongodb3/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# 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.
-#
-
-org.apache.camel.component.mongodb3.converters.MongoDbBasicConverters
-org.apache.camel.component.mongodb3.converters.MongoDbFallbackConverter
\ No newline at end of file
diff --git a/components/camel-netty4-http/src/main/resources/META-INF/services/org/apache/camel/TypeConverter b/components/camel-netty4-http/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
deleted file mode 100644
index b9e3cc7..0000000
--- a/components/camel-netty4-http/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-org.apache.camel.component.netty4.http.NettyHttpConverter
\ No newline at end of file
diff --git a/components/camel-netty4/src/main/resources/META-INF/services/org/apache/camel/TypeConverter b/components/camel-netty4/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
deleted file mode 100644
index 33f2e2f..0000000
--- a/components/camel-netty4/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-org.apache.camel.component.netty4.NettyConverter
\ No newline at end of file
diff --git a/components/camel-quickfix/src/main/resources/META-INF/services/org/apache/camel/TypeConverter b/components/camel-quickfix/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
deleted file mode 100644
index d06dcfd..0000000
--- a/components/camel-quickfix/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-org.apache.camel.component.quickfixj.converter.QuickfixjConverters
\ No newline at end of file
diff --git a/components/camel-reactive-streams/src/main/resources/META-INF/services/org/apache/camel/TypeConverter b/components/camel-reactive-streams/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
deleted file mode 100644
index 1167eeb..0000000
--- a/components/camel-reactive-streams/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-org.apache.camel.component.reactive.streams.ReactiveStreamsConverter
\ No newline at end of file
diff --git a/components/camel-restlet/src/main/resources/META-INF/services/org/apache/camel/TypeConverter b/components/camel-restlet/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
deleted file mode 100644
index ea807d4..0000000
--- a/components/camel-restlet/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-org.apache.camel.component.restlet.converter.RestletConverter
\ No newline at end of file
diff --git a/components/camel-rss/src/main/resources/META-INF/services/org/apache/camel/TypeConverter b/components/camel-rss/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
deleted file mode 100644
index c0909db..0000000
--- a/components/camel-rss/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-org.apache.camel.dataformat.rss.RssConverter
\ No newline at end of file
diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/resources/META-INF/services/org/apache/camel/TypeConverter b/components/camel-salesforce/camel-salesforce-component/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
deleted file mode 100644
index 4488642..0000000
--- a/components/camel-salesforce/camel-salesforce-component/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-org.apache.camel.component.salesforce.api.SalesforceReportResultsToListConverter
diff --git a/components/camel-saxon/src/main/resources/META-INF/services/org/apache/camel/TypeConverter b/components/camel-saxon/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
deleted file mode 100644
index b666928..0000000
--- a/components/camel-saxon/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-org.apache.camel.converter.saxon.SaxonConverter
\ No newline at end of file
diff --git a/components/camel-snmp/src/main/resources/META-INF/services/org/apache/camel/TypeConverter b/components/camel-snmp/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
deleted file mode 100644
index 4753aac..0000000
--- a/components/camel-snmp/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-org.apache.camel.component.snmp.SnmpConverters
\ No newline at end of file
diff --git a/components/camel-spark-rest/src/main/resources/META-INF/services/org/apache/camel/TypeConverter b/components/camel-spark-rest/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
deleted file mode 100644
index e22750f..0000000
--- a/components/camel-spark-rest/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-org.apache.camel.component.sparkrest.SparkConverter
\ No newline at end of file
diff --git a/components/camel-spring-integration/src/main/resources/META-INF/services/org/apache/camel/TypeConverter b/components/camel-spring-integration/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
deleted file mode 100644
index 71cc9d8..0000000
--- a/components/camel-spring-integration/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-org.apache.camel.component.spring.integration.converter.SpringIntegrationConverter
\ No newline at end of file
diff --git a/components/camel-spring-ws/src/main/resources/META-INF/services/org/apache/camel/TypeConverter b/components/camel-spring-ws/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
deleted file mode 100644
index 8a32c5f..0000000
--- a/components/camel-spring-ws/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-org.apache.camel.component.spring.ws.converter.StringSourceConverter
\ No newline at end of file
diff --git a/components/camel-spring/src/main/resources/META-INF/services/org/apache/camel/TypeConverter b/components/camel-spring/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
deleted file mode 100644
index 29ca6ef..0000000
--- a/components/camel-spring/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-org.apache.camel.spring.converter.ResourceConverter
\ No newline at end of file
diff --git a/components/camel-syslog/src/main/resources/META-INF/services/org/apache/camel/TypeConverter b/components/camel-syslog/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
deleted file mode 100644
index 6b23066..0000000
--- a/components/camel-syslog/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-org.apache.camel.component.syslog.SyslogConverter
\ No newline at end of file
diff --git a/components/camel-telegram/src/main/resources/META-INF/services/org/apache/camel/TypeConverter b/components/camel-telegram/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
deleted file mode 100644
index dc95ea9..0000000
--- a/components/camel-telegram/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-org.apache.camel.component.telegram.util.TelegramConverter
\ No newline at end of file
diff --git a/components/camel-twilio/src/main/resources/META-INF/services/org/apache/camel/TypeConverter b/components/camel-twilio/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
deleted file mode 100644
index d2c344e..0000000
--- a/components/camel-twilio/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-org.apache.camel.component.twilio.TwilioConverter
diff --git a/components/camel-twitter/src/main/resources/META-INF/services/org/apache/camel/TypeConverter b/components/camel-twitter/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
deleted file mode 100644
index 1a70579..0000000
--- a/components/camel-twitter/src/main/resources/META-INF/services/org/apache/camel/TypeConverter
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.
-#
-
-org.apache.camel.component.twitter.util.TwitterConverter
\ No newline at end of file
diff --git a/tooling/apt/src/main/java/org/apache/camel/tools/apt/TypeConverterProcessor.java b/tooling/apt/src/main/java/org/apache/camel/tools/apt/TypeConverterProcessor.java
new file mode 100644
index 0000000..966c0a5
--- /dev/null
+++ b/tooling/apt/src/main/java/org/apache/camel/tools/apt/TypeConverterProcessor.java
@@ -0,0 +1,92 @@
+/**
+ * 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.tools.apt;
+
+import java.io.IOException;
+import java.io.Writer;
+import java.util.Map;
+import java.util.Set;
+import java.util.TreeMap;
+import java.util.TreeSet;
+
+import javax.annotation.processing.AbstractProcessor;
+import javax.annotation.processing.Filer;
+import javax.annotation.processing.RoundEnvironment;
+import javax.annotation.processing.SupportedAnnotationTypes;
+import javax.annotation.processing.SupportedSourceVersion;
+import javax.lang.model.SourceVersion;
+import javax.lang.model.element.Element;
+import javax.lang.model.element.TypeElement;
+import javax.tools.Diagnostic.Kind;
+import javax.tools.FileObject;
+import javax.tools.StandardLocation;
+import javax.xml.bind.annotation.XmlRootElement;
+
+import static org.apache.camel.tools.apt.AnnotationProcessorHelper.dumpExceptionToErrorFile;
+import static org.apache.camel.tools.apt.helper.Strings.canonicalClassName;
+
+/**
+ * APT compiler plugin to generate JSon Schema for all EIP models and camel-spring's <camelContext> types.
+ */
+@SupportedAnnotationTypes({"org.apache.camel.Converter"})
+@SupportedSourceVersion(SourceVersion.RELEASE_8)
+public class TypeConverterProcessor extends AbstractProcessor {
+
+    @Override
+    public boolean process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) {
+        try {
+            if (roundEnv.processingOver()) {
+                return false;
+            }
+
+            TypeElement converterAnnotationType = this.processingEnv.getElementUtils().getTypeElement("org.apache.camel.Converter");
+            Set<? extends Element> elements = roundEnv.getElementsAnnotatedWith(converterAnnotationType);
+            Map<String, Element> converterClasses = new TreeMap<>();
+            for (Element element : elements) {
+                if (element instanceof TypeElement) {
+                    TypeElement classElement = (TypeElement) element;
+
+                    final String javaTypeName = canonicalClassName(classElement.getQualifiedName().toString());
+                    converterClasses.put(javaTypeName, element);
+                }
+            }
+            if (!converterClasses.isEmpty()
+                    && !converterClasses.containsKey("org.apache.camel.converter.IOConverter")) {
+                Filer filer = processingEnv.getFiler();
+                FileObject resource = filer.createResource(StandardLocation.CLASS_OUTPUT,
+                        "", "META-INF/services/org/apache/camel/TypeConverter",
+                        converterClasses.values().toArray(new Element[0]));
+                try (Writer w = resource.openWriter()) {
+                    w.append("# Generated by camel annotation processor\n");
+                    for (String s : converterClasses.keySet()) {
+                        w.append(s).append("\n");
+                    }
+                }
+            }
+        } catch (Throwable e) {
+            processingEnv.getMessager().printMessage(Kind.ERROR, "Unable to process elements annotated with @Converter: " + e.getMessage());
+            dumpExceptionToErrorFile("camel-apt-error.log", "Error processing", e);
+        }
+
+        return false;
+    }
+
+    @Override
+    public SourceVersion getSupportedSourceVersion() {
+        return SourceVersion.latest();
+    }
+}
\ No newline at end of file
diff --git a/tooling/apt/src/main/resources/META-INF/services/javax.annotation.processing.Processor b/tooling/apt/src/main/resources/META-INF/services/javax.annotation.processing.Processor
index 85b35af..48750ff 100644
--- a/tooling/apt/src/main/resources/META-INF/services/javax.annotation.processing.Processor
+++ b/tooling/apt/src/main/resources/META-INF/services/javax.annotation.processing.Processor
@@ -19,3 +19,4 @@
 org.apache.camel.tools.apt.ModelAnnotationProcessor
 org.apache.camel.tools.apt.EndpointAnnotationProcessor
 org.apache.camel.tools.apt.ConverterProcessor
+org.apache.camel.tools.apt.TypeConverterProcessor


[camel] 07/13: Remove files related to the removed HazelcastComponent

Posted by gn...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

gnodet pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 481197d30ac30d7b091ddc6611702b038ce2a48f
Author: Guillaume Nodet <gn...@gmail.com>
AuthorDate: Tue Dec 18 11:25:42 2018 +0100

    Remove files related to the removed HazelcastComponent
---
 .../hazelcast/HazelcastCamelTestHelper.java        |   3 -
 .../HazelcastComponentAutoConfiguration.java       | 114 ---------------------
 .../HazelcastComponentConfiguration.java           |  77 --------------
 .../HazelcastInstanceCustomizerTest.java           |  91 ----------------
 .../src/test/resources/application.properties      |  18 ----
 .../src/test/resources/logback.xml                 |  52 ----------
 6 files changed, 355 deletions(-)

diff --git a/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastCamelTestHelper.java b/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastCamelTestHelper.java
index 425eb5a..348fa95 100644
--- a/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastCamelTestHelper.java
+++ b/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastCamelTestHelper.java
@@ -70,9 +70,6 @@ public final class HazelcastCamelTestHelper {
         HazelcastTopicComponent topic = new HazelcastTopicComponent(context);
         topic.setHazelcastInstance(hazelcastInstance);
         context.addComponent("hazelcast-topic", topic);
-        HazelcastComponent old = new HazelcastComponent(context);
-        old.setHazelcastInstance(hazelcastInstance);
-        context.addComponent("hazelcast", old);
     }
 
 }
diff --git a/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/springboot/HazelcastComponentAutoConfiguration.java b/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/springboot/HazelcastComponentAutoConfiguration.java
deleted file mode 100644
index 2a0c13a..0000000
--- a/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/springboot/HazelcastComponentAutoConfiguration.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/**
- * 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.hazelcast.springboot;
-
-import java.util.HashMap;
-import java.util.Map;
-import javax.annotation.Generated;
-import org.apache.camel.CamelContext;
-import org.apache.camel.component.hazelcast.HazelcastComponent;
-import org.apache.camel.support.IntrospectionSupport;
-import org.springframework.boot.autoconfigure.AutoConfigureAfter;
-import org.springframework.boot.autoconfigure.condition.ConditionMessage;
-import org.springframework.boot.autoconfigure.condition.ConditionOutcome;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
-import org.springframework.boot.autoconfigure.condition.SpringBootCondition;
-import org.springframework.boot.context.properties.EnableConfigurationProperties;
-import org.springframework.boot.context.properties.bind.Bindable;
-import org.springframework.boot.context.properties.bind.Binder;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.ConditionContext;
-import org.springframework.context.annotation.Conditional;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.Lazy;
-import org.springframework.core.type.AnnotatedTypeMetadata;
-
-/**
- * Generated by camel-package-maven-plugin - do not edit this file!
- */
-@Generated("org.apache.camel.maven.packaging.SpringBootAutoConfigurationMojo")
-@Configuration
-@ConditionalOnBean(type = "org.apache.camel.spring.boot.CamelAutoConfiguration")
-@Conditional(HazelcastComponentAutoConfiguration.Condition.class)
-@AutoConfigureAfter(name = "org.apache.camel.spring.boot.CamelAutoConfiguration")
-@EnableConfigurationProperties(HazelcastComponentConfiguration.class)
-public class HazelcastComponentAutoConfiguration {
-
-    @Lazy
-    @Bean(name = "hazelcast-component")
-    @ConditionalOnClass(CamelContext.class)
-    @ConditionalOnMissingBean(HazelcastComponent.class)
-    public HazelcastComponent configureHazelcastComponent(
-            CamelContext camelContext,
-            HazelcastComponentConfiguration configuration) throws Exception {
-        HazelcastComponent component = new HazelcastComponent();
-        component.setCamelContext(camelContext);
-        Map<String, Object> parameters = new HashMap<>();
-        IntrospectionSupport.getProperties(configuration, parameters, null,
-                false);
-        for (Map.Entry<String, Object> entry : parameters.entrySet()) {
-            Object value = entry.getValue();
-            Class<?> paramClass = value.getClass();
-            if (paramClass.getName().endsWith("NestedConfiguration")) {
-                Class nestedClass = null;
-                try {
-                    nestedClass = (Class) paramClass.getDeclaredField(
-                            "CAMEL_NESTED_CLASS").get(null);
-                    HashMap<String, Object> nestedParameters = new HashMap<>();
-                    IntrospectionSupport.getProperties(value, nestedParameters,
-                            null, false);
-                    Object nestedProperty = nestedClass.newInstance();
-                    IntrospectionSupport.setProperties(camelContext,
-                            camelContext.getTypeConverter(), nestedProperty,
-                            nestedParameters);
-                    entry.setValue(nestedProperty);
-                } catch (NoSuchFieldException e) {
-                }
-            }
-        }
-        IntrospectionSupport.setProperties(camelContext,
-                camelContext.getTypeConverter(), component, parameters);
-        return component;
-    }
-
-    @Generated("org.apache.camel.maven.packaging.SpringBootAutoConfigurationMojo")
-    public static class Condition extends SpringBootCondition {
-        @Override
-        public ConditionOutcome getMatchOutcome(
-                ConditionContext conditionContext,
-                AnnotatedTypeMetadata annotatedTypeMetadata) {
-            boolean groupEnabled = isEnabled(conditionContext,
-                    "camel.component.", true);
-            ConditionMessage.Builder message = ConditionMessage
-                    .forCondition("camel.component.hazelcast");
-            if (isEnabled(conditionContext, "camel.component.hazelcast.",
-                    groupEnabled)) {
-                return ConditionOutcome.match(message.because("enabled"));
-            }
-            return ConditionOutcome.noMatch(message.because("not enabled"));
-        }
-
-        private boolean isEnabled(
-                org.springframework.context.annotation.ConditionContext context,
-                java.lang.String prefix, boolean defaultValue) {
-            String property = prefix.endsWith(".") ? prefix + "enabled" : prefix + ".enabled";
-            return Binder.get(context.getEnvironment()).bind(property, Bindable.of(Boolean.class)).orElse(defaultValue);
-        }
-    }
-}
\ No newline at end of file
diff --git a/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/springboot/HazelcastComponentConfiguration.java b/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/springboot/HazelcastComponentConfiguration.java
deleted file mode 100644
index abda166..0000000
--- a/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/main/java/org/apache/camel/component/hazelcast/springboot/HazelcastComponentConfiguration.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/**
- * 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.hazelcast.springboot;
-
-import javax.annotation.Generated;
-import com.hazelcast.core.HazelcastInstance;
-import org.springframework.boot.context.properties.ConfigurationProperties;
-import org.springframework.boot.context.properties.NestedConfigurationProperty;
-
-/**
- * The hazelcast component allows you to work with the Hazelcast distributed
- * data grid / cache.
- * 
- * Generated by camel-package-maven-plugin - do not edit this file!
- */
-@Generated("org.apache.camel.maven.packaging.SpringBootAutoConfigurationMojo")
-@ConfigurationProperties(prefix = "camel.component.hazelcast")
-public class HazelcastComponentConfiguration {
-
-    /**
-     * The hazelcast instance reference which can be used for hazelcast
-     * endpoint. If you don't specify the instance reference camel use the
-     * default hazelcast instance from the camel-hazelcast instance.
-     */
-    @NestedConfigurationProperty
-    private HazelcastInstance hazelcastInstance;
-    /**
-     * The hazelcast mode reference which kind of instance should be used. If
-     * you don't specify the mode then the node mode will be the default.
-     */
-    private String hazelcastMode = "node";
-    /**
-     * Whether the component should resolve property placeholders on itself when
-     * starting. Only properties which are of String type can use property
-     * placeholders.
-     */
-    private Boolean resolvePropertyPlaceholders = true;
-
-    public HazelcastInstance getHazelcastInstance() {
-        return hazelcastInstance;
-    }
-
-    public void setHazelcastInstance(HazelcastInstance hazelcastInstance) {
-        this.hazelcastInstance = hazelcastInstance;
-    }
-
-    public String getHazelcastMode() {
-        return hazelcastMode;
-    }
-
-    public void setHazelcastMode(String hazelcastMode) {
-        this.hazelcastMode = hazelcastMode;
-    }
-
-    public Boolean getResolvePropertyPlaceholders() {
-        return resolvePropertyPlaceholders;
-    }
-
-    public void setResolvePropertyPlaceholders(
-            Boolean resolvePropertyPlaceholders) {
-        this.resolvePropertyPlaceholders = resolvePropertyPlaceholders;
-    }
-}
\ No newline at end of file
diff --git a/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/test/java/org/apache/camel/component/hazelcast/springboot/customizer/HazelcastInstanceCustomizerTest.java b/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/test/java/org/apache/camel/component/hazelcast/springboot/customizer/HazelcastInstanceCustomizerTest.java
deleted file mode 100644
index 8bc3e93..0000000
--- a/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/test/java/org/apache/camel/component/hazelcast/springboot/customizer/HazelcastInstanceCustomizerTest.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/**
- * 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.hazelcast.springboot.customizer;
-
-
-import java.util.List;
-
-import com.hazelcast.core.Hazelcast;
-import com.hazelcast.core.HazelcastInstance;
-import org.apache.camel.component.hazelcast.HazelcastComponent;
-import org.apache.camel.component.hazelcast.list.HazelcastListComponent;
-import org.apache.camel.component.hazelcast.set.HazelcastSetComponent;
-import org.apache.camel.component.hazelcast.topic.HazelcastTopicComponent;
-import org.apache.camel.spi.ComponentCustomizer;
-import org.junit.Assert;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.test.annotation.DirtiesContext;
-import org.springframework.test.context.junit4.SpringRunner;
-
-@RunWith(SpringRunner.class)
-@DirtiesContext
-@SpringBootApplication
-@SpringBootTest(
-    classes = {
-        HazelcastInstanceCustomizerTest.TestConfiguration.class
-    },
-    properties = {
-        "debug=false",
-        "camel.component.customizer.enabled=false",
-        "camel.component.hazelcast.customizer.enabled=true",
-        "camel.component.hazelcast-set.customizer.enabled=true",
-        "camel.component.hazelcast-topic.customizer.enabled=true"
-    })
-public class HazelcastInstanceCustomizerTest {
-    @Autowired
-    HazelcastInstance instance;
-    @Autowired
-    HazelcastTopicComponent topicComponent;
-    @Autowired
-    List<ComponentCustomizer<HazelcastTopicComponent>> topicCustomizers;
-    @Autowired
-    HazelcastSetComponent setComponent;
-    @Autowired
-    List<ComponentCustomizer<HazelcastSetComponent>> setCustomizers;
-    @Autowired
-    HazelcastListComponent listComponent;
-
-    @Test
-    public void testInstanceCustomizer() throws Exception {
-        Assert.assertNotNull(instance);
-
-        Assert.assertNotNull(topicComponent);
-        Assert.assertEquals(1, topicCustomizers.size());
-        Assert.assertEquals(instance, topicComponent.getHazelcastInstance());
-
-        Assert.assertNotNull(setComponent);
-        Assert.assertEquals(1, setCustomizers.size());
-        Assert.assertEquals(instance, setComponent.getHazelcastInstance());
-
-        Assert.assertNotNull(listComponent);
-        Assert.assertNull(listComponent.getHazelcastInstance());
-    }
-
-    @Configuration
-    public static class TestConfiguration {
-        @Bean(destroyMethod = "shutdown")
-        public HazelcastInstance hazelcastInstance() {
-            return Hazelcast.newHazelcastInstance();
-        }
-    }
-}
diff --git a/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/test/resources/application.properties b/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/test/resources/application.properties
deleted file mode 100644
index 8d7f9c8..0000000
--- a/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/test/resources/application.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-## ---------------------------------------------------------------------------
-## 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.
-## ---------------------------------------------------------------------------
-
-spring.main.banner-mode = off
diff --git a/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/test/resources/logback.xml b/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/test/resources/logback.xml
deleted file mode 100644
index 41d68d9..0000000
--- a/platforms/spring-boot/components-starter/camel-hazelcast-starter/src/test/resources/logback.xml
+++ /dev/null
@@ -1,52 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    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.
-
--->
-<configuration>
-
-  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
-    <encoder>
-      <pattern>%d{HH:mm:ss.SSS} [%-15.15thread] %-5level %-30.30logger - %msg%n</pattern>
-    </encoder>
-  </appender>
-
-  <appender name="FILE" class="ch.qos.logback.core.FileAppender">
-    <encoder>
-      <pattern>%d{HH:mm:ss.SSS} [%-15.15thread] %-5level %-30.30logger - %msg%n</pattern>
-    </encoder>
-    <file>target/camel-hazelcast-starter-test.log</file>
-  </appender>
-
-  <logger name="org.apache.camel.component.hazelcast.atomicnumber.springboot" level="DEBUG"/>
-  <logger name="org.apache.camel.component.hazelcast.instance.springboot" level="DEBUG"/>
-  <logger name="org.apache.camel.component.hazelcast.list.springboot" level="DEBUG"/>
-  <logger name="org.apache.camel.component.hazelcast.map.springboot" level="DEBUG"/>
-  <logger name="org.apache.camel.component.hazelcast.multimap.springboot" level="DEBUG"/>
-  <logger name="org.apache.camel.component.hazelcast.queue.springboot" level="DEBUG"/>
-  <logger name="org.apache.camel.component.hazelcast.replicatedmap.springboot" level="DEBUG"/>
-  <logger name="org.apache.camel.component.hazelcast.ringbuffer.springboot" level="DEBUG"/>
-  <logger name="org.apache.camel.component.hazelcast.seda.springboot" level="DEBUG"/>
-  <logger name="org.apache.camel.component.hazelcast.set.springboot" level="DEBUG"/>
-  <logger name="org.apache.camel.component.hazelcast.springboot" level="DEBUG"/>
-  <logger name="org.apache.camel.component.hazelcast.topic.springboot" level="DEBUG"/>
-
-  <root level="INFO">
-    <appender-ref ref="FILE"/>
-  </root>
-
-</configuration>
\ No newline at end of file