This is an automated email from the ASF dual-hosted git repository. oalsafi pushed a commit to branch camel-3.0.x in repository https://gitbox.apache.org/repos/asf/camel.git
commit 9b764e21e51f65306a02af1f0b641aa8a9d15bbf Author: Omar Al-Safi <omars...@gmail.com> AuthorDate: Thu Nov 28 17:25:58 2019 +0100 CAMEL-14223: Fix EndpointBuilderFactory is not updated in endpointdsl --- .../builder/endpoint/EndpointBuilderFactory.java | 596 +++++++++++---------- .../camel/maven/packaging/EndpointDslMojo.java | 54 ++ 2 files changed, 360 insertions(+), 290 deletions(-) diff --git a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/EndpointBuilderFactory.java b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/EndpointBuilderFactory.java index 4d10888..2d3ea84 100644 --- a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/EndpointBuilderFactory.java +++ b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/EndpointBuilderFactory.java @@ -29,296 +29,312 @@ import org.apache.camel.builder.endpoint.dsl.*; import org.apache.camel.support.ExpressionAdapter; public interface EndpointBuilderFactory extends - AMQPEndpointBuilderFactory, - AS2EndpointBuilderFactory, - ActiveMQEndpointBuilderFactory, - AhcEndpointBuilderFactory, - ApnsEndpointBuilderFactory, - AsteriskEndpointBuilderFactory, - AtmosEndpointBuilderFactory, - AtmosphereWebsocketEndpointBuilderFactory, - AtomEndpointBuilderFactory, - AtomixMapEndpointBuilderFactory, - AtomixMessagingEndpointBuilderFactory, - AtomixMultiMapEndpointBuilderFactory, - AtomixQueueEndpointBuilderFactory, - AtomixSetEndpointBuilderFactory, - AtomixValueEndpointBuilderFactory, - AvroEndpointBuilderFactory, - BeanEndpointBuilderFactory, - BeanValidatorEndpointBuilderFactory, - BeanstalkEndpointBuilderFactory, - BlobServiceEndpointBuilderFactory, - BonitaEndpointBuilderFactory, - BoxEndpointBuilderFactory, - BraintreeEndpointBuilderFactory, - BrowseEndpointBuilderFactory, - CMEndpointBuilderFactory, - CMISEndpointBuilderFactory, - CaffeineCacheEndpointBuilderFactory, - CaffeineLoadCacheEndpointBuilderFactory, - CassandraEndpointBuilderFactory, - ChatScriptEndpointBuilderFactory, - ChunkEndpointBuilderFactory, - CinderEndpointBuilderFactory, - ClassEndpointBuilderFactory, - ClientEndpointBuilderFactory, - CoAPEndpointBuilderFactory, - CometdEndpointBuilderFactory, - ConsulEndpointBuilderFactory, - ControlBusEndpointBuilderFactory, - CordaEndpointBuilderFactory, - CouchDbEndpointBuilderFactory, - CouchbaseEndpointBuilderFactory, - CryptoCmsEndpointBuilderFactory, - CwEndpointBuilderFactory, - CxfEndpointBuilderFactory, - CxfRsEndpointBuilderFactory, - DataFormatEndpointBuilderFactory, - DataSetEndpointBuilderFactory, - DataSetTestEndpointBuilderFactory, - DdbEndpointBuilderFactory, - DdbStreamEndpointBuilderFactory, - DigitalOceanEndpointBuilderFactory, - DigitalSignatureEndpointBuilderFactory, - DirectEndpointBuilderFactory, - DirectVmEndpointBuilderFactory, - DisruptorEndpointBuilderFactory, - DisruptorVmEndpointBuilderFactory, - DnsEndpointBuilderFactory, - DockerEndpointBuilderFactory, - DozerEndpointBuilderFactory, - DrillEndpointBuilderFactory, - DropboxEndpointBuilderFactory, - EC2EndpointBuilderFactory, - ECSEndpointBuilderFactory, - EKSEndpointBuilderFactory, - EhcacheEndpointBuilderFactory, - ElasticsearchEndpointBuilderFactory, - ElsqlEndpointBuilderFactory, - EtcdEndpointBuilderFactory, - EventAdminEndpointBuilderFactory, - EventEndpointBuilderFactory, - ExecEndpointBuilderFactory, - FacebookEndpointBuilderFactory, - FhirEndpointBuilderFactory, - FileEndpointBuilderFactory, - FlatpackEndpointBuilderFactory, - FlinkEndpointBuilderFactory, - FopEndpointBuilderFactory, - FreemarkerEndpointBuilderFactory, - FtpEndpointBuilderFactory, - FtpsEndpointBuilderFactory, - GangliaEndpointBuilderFactory, - GeoCoderEndpointBuilderFactory, - GitEndpointBuilderFactory, - GitHubEndpointBuilderFactory, - GlanceEndpointBuilderFactory, - GoogleBigQueryEndpointBuilderFactory, - GoogleBigQuerySQLEndpointBuilderFactory, - GoogleCalendarEndpointBuilderFactory, - GoogleCalendarStreamEndpointBuilderFactory, - GoogleDriveEndpointBuilderFactory, - GoogleMailEndpointBuilderFactory, - GoogleMailStreamEndpointBuilderFactory, - GooglePubsubEndpointBuilderFactory, - GoogleSheetsEndpointBuilderFactory, - GoogleSheetsStreamEndpointBuilderFactory, - GoraEndpointBuilderFactory, - GrapeEndpointBuilderFactory, - GridFsEndpointBuilderFactory, - GrpcEndpointBuilderFactory, - GuavaEventBusEndpointBuilderFactory, - HBaseEndpointBuilderFactory, - HazelcastAtomicnumberEndpointBuilderFactory, - HazelcastInstanceEndpointBuilderFactory, - HazelcastListEndpointBuilderFactory, - HazelcastMapEndpointBuilderFactory, - HazelcastMultimapEndpointBuilderFactory, - HazelcastQueueEndpointBuilderFactory, - HazelcastReplicatedmapEndpointBuilderFactory, - HazelcastRingbufferEndpointBuilderFactory, - HazelcastSedaEndpointBuilderFactory, - HazelcastSetEndpointBuilderFactory, - HazelcastTopicEndpointBuilderFactory, - HdfsEndpointBuilderFactory, - HipchatEndpointBuilderFactory, - HttpEndpointBuilderFactory, - IAMEndpointBuilderFactory, - IOTAEndpointBuilderFactory, - IPFSEndpointBuilderFactory, - IgniteCacheEndpointBuilderFactory, - IgniteComputeEndpointBuilderFactory, - IgniteEventsEndpointBuilderFactory, - IgniteIdGenEndpointBuilderFactory, - IgniteMessagingEndpointBuilderFactory, - IgniteQueueEndpointBuilderFactory, - IgniteSetEndpointBuilderFactory, - InfinispanEndpointBuilderFactory, - InfluxDbEndpointBuilderFactory, - IrcEndpointBuilderFactory, - IronMQEndpointBuilderFactory, - JBPMEndpointBuilderFactory, - JCacheEndpointBuilderFactory, - JGroupsEndpointBuilderFactory, - JGroupsRaftEndpointBuilderFactory, - JMXEndpointBuilderFactory, - JSR356WebSocketEndpointBuilderFactory, - JcloudsEndpointBuilderFactory, - JcrEndpointBuilderFactory, - JdbcEndpointBuilderFactory, - JettyHttpEndpointBuilder9Factory, - JingEndpointBuilderFactory, - JiraEndpointBuilderFactory, - JmsEndpointBuilderFactory, - JoltEndpointBuilderFactory, - JooqEndpointBuilderFactory, - JpaEndpointBuilderFactory, - JsonValidatorEndpointBuilderFactory, - Jt400EndpointBuilderFactory, - KMSEndpointBuilderFactory, - KafkaEndpointBuilderFactory, - KeystoneEndpointBuilderFactory, - KinesisEndpointBuilderFactory, - KinesisFirehoseEndpointBuilderFactory, - KubernetesConfigMapsEndpointBuilderFactory, - KubernetesDeploymentsEndpointBuilderFactory, - KubernetesHPAEndpointBuilderFactory, - KubernetesJobEndpointBuilderFactory, - KubernetesNamespacesEndpointBuilderFactory, - KubernetesNodesEndpointBuilderFactory, - KubernetesPersistentVolumesClaimsEndpointBuilderFactory, - KubernetesPersistentVolumesEndpointBuilderFactory, - KubernetesPodsEndpointBuilderFactory, - KubernetesReplicationControllersEndpointBuilderFactory, - KubernetesResourcesQuotaEndpointBuilderFactory, - KubernetesSecretsEndpointBuilderFactory, - KubernetesServiceAccountsEndpointBuilderFactory, - KubernetesServicesEndpointBuilderFactory, - LambdaEndpointBuilderFactory, - LanguageEndpointBuilderFactory, - LdapEndpointBuilderFactory, - LdifEndpointBuilderFactory, - LogEndpointBuilderFactory, - LuceneEndpointBuilderFactory, - LumberjackEndpointBuilderFactory, - MQEndpointBuilderFactory, - MSKEndpointBuilderFactory, - MailEndpointBuilderFactory, - MasterEndpointBuilderFactory, - MetricsEndpointBuilderFactory, - MicrometerEndpointBuilderFactory, - MiloClientEndpointBuilderFactory, - MiloServerEndpointBuilderFactory, - MinaEndpointBuilderFactory, - MllpEndpointBuilderFactory, - MockEndpointBuilderFactory, - MongoDbEndpointBuilderFactory, - MsvEndpointBuilderFactory, - MustacheEndpointBuilderFactory, - MvelEndpointBuilderFactory, - MyBatisBeanEndpointBuilderFactory, - MyBatisEndpointBuilderFactory, - NagiosEndpointBuilderFactory, - NatsEndpointBuilderFactory, - NetWeaverEndpointBuilderFactory, - NettyEndpointBuilderFactory, - NettyHttpEndpointBuilderFactory, - NeutronEndpointBuilderFactory, - NovaEndpointBuilderFactory, - NsqEndpointBuilderFactory, - Olingo2EndpointBuilderFactory, - Olingo4EndpointBuilderFactory, - OpenshiftBuildConfigsEndpointBuilderFactory, - OpenshiftBuildsEndpointBuilderFactory, - OptaPlannerEndpointBuilderFactory, - PahoEndpointBuilderFactory, - PaxLoggingEndpointBuilderFactory, - PdfEndpointBuilderFactory, - PgEventEndpointBuilderFactory, - PrinterEndpointBuilderFactory, - PubNubEndpointBuilderFactory, - PulsarEndpointBuilderFactory, - QuartzEndpointBuilderFactory, - QueueServiceEndpointBuilderFactory, - QuickfixjEndpointBuilderFactory, - RabbitMQEndpointBuilderFactory, - ReactiveStreamsEndpointBuilderFactory, - RedisEndpointBuilderFactory, - RefEndpointBuilderFactory, - RestApiEndpointBuilderFactory, - RestEndpointBuilderFactory, - RestSwaggerEndpointBuilderFactory, - RssEndpointBuilderFactory, - S3EndpointBuilderFactory, - SWFEndpointBuilderFactory, - SagaEndpointBuilderFactory, - SalesforceEndpointBuilderFactory, - SchedulerEndpointBuilderFactory, - SchematronEndpointBuilderFactory, - ScpEndpointBuilderFactory, - SdbEndpointBuilderFactory, - SedaEndpointBuilderFactory, - ServerEndpointBuilderFactory, - ServiceEndpointBuilderFactory, - ServiceNowEndpointBuilderFactory, - ServletEndpointBuilderFactory, - SesEndpointBuilderFactory, - SftpEndpointBuilderFactory, - SipEndpointBuilderFactory, - Sjms2EndpointBuilderFactory, - SjmsBatchEndpointBuilderFactory, - SjmsEndpointBuilderFactory, - SlackEndpointBuilderFactory, - SmppEndpointBuilderFactory, - SnmpEndpointBuilderFactory, - SnsEndpointBuilderFactory, - SolrEndpointBuilderFactory, - SoroushBotEndpointBuilderFactory, - SparkEndpointBuilderFactory, - SplunkEndpointBuilderFactory, - SpringBatchEndpointBuilderFactory, - SpringIntegrationEndpointBuilderFactory, - SpringLdapEndpointBuilderFactory, - SpringWebserviceEndpointBuilderFactory, - SqlEndpointBuilderFactory, - SqlStoredEndpointBuilderFactory, - SqsEndpointBuilderFactory, - SshEndpointBuilderFactory, - StAXEndpointBuilderFactory, - StompEndpointBuilderFactory, - StreamEndpointBuilderFactory, - StringTemplateEndpointBuilderFactory, - StubEndpointBuilderFactory, - SwiftEndpointBuilderFactory, - TelegramEndpointBuilderFactory, - ThriftEndpointBuilderFactory, - TikaEndpointBuilderFactory, - TimerEndpointBuilderFactory, - TwilioEndpointBuilderFactory, - TwitterDirectMessageEndpointBuilderFactory, - TwitterSearchEndpointBuilderFactory, - TwitterTimelineEndpointBuilderFactory, - UndertowEndpointBuilderFactory, - ValidatorEndpointBuilderFactory, - VelocityEndpointBuilderFactory, - VertxEndpointBuilderFactory, - VmEndpointBuilderFactory, - WeatherEndpointBuilderFactory, - Web3jEndpointBuilderFactory, - WebhookEndpointBuilderFactory, - WebsocketEndpointBuilderFactory, - WordpressEndpointBuilderFactory, - WsEndpointBuilderFactory, - XChangeEndpointBuilderFactory, - XQueryEndpointBuilderFactory, - XmlSignatureEndpointBuilderFactory, - XmppEndpointBuilderFactory, - XsltEndpointBuilderFactory, - YammerEndpointBuilderFactory, - ZendeskEndpointBuilderFactory, - ZooKeeperEndpointBuilderFactory, - ZooKeeperMasterEndpointBuilderFactory +// FACTORY INTERFACE UPDATE START + AMQPEndpointBuilderFactory, + AS2EndpointBuilderFactory, + ActiveMQEndpointBuilderFactory, + AhcEndpointBuilderFactory, + ApnsEndpointBuilderFactory, + AsteriskEndpointBuilderFactory, + AtmosEndpointBuilderFactory, + AtmosphereWebsocketEndpointBuilderFactory, + AtomEndpointBuilderFactory, + AtomixMapEndpointBuilderFactory, + AtomixMessagingEndpointBuilderFactory, + AtomixMultiMapEndpointBuilderFactory, + AtomixQueueEndpointBuilderFactory, + AtomixSetEndpointBuilderFactory, + AtomixValueEndpointBuilderFactory, + AvroEndpointBuilderFactory, + BeanEndpointBuilderFactory, + BeanValidatorEndpointBuilderFactory, + BeanstalkEndpointBuilderFactory, + BlobServiceEndpointBuilderFactory, + BonitaEndpointBuilderFactory, + BoxEndpointBuilderFactory, + BraintreeEndpointBuilderFactory, + BrowseEndpointBuilderFactory, + CMEndpointBuilderFactory, + CMISEndpointBuilderFactory, + CaffeineCacheEndpointBuilderFactory, + CaffeineLoadCacheEndpointBuilderFactory, + CassandraEndpointBuilderFactory, + ChatScriptEndpointBuilderFactory, + ChunkEndpointBuilderFactory, + CinderEndpointBuilderFactory, + ClassEndpointBuilderFactory, + ClientEndpointBuilderFactory, + CoAPEndpointBuilderFactory, + CometdEndpointBuilderFactory, + ConsulEndpointBuilderFactory, + ControlBusEndpointBuilderFactory, + CordaEndpointBuilderFactory, + CouchDbEndpointBuilderFactory, + CouchbaseEndpointBuilderFactory, + CryptoCmsEndpointBuilderFactory, + CwEndpointBuilderFactory, + CxfEndpointBuilderFactory, + CxfRsEndpointBuilderFactory, + DataFormatEndpointBuilderFactory, + DataSetEndpointBuilderFactory, + DataSetTestEndpointBuilderFactory, + DdbEndpointBuilderFactory, + DdbStreamEndpointBuilderFactory, + DebeziumMongodbEndpointBuilderFactory, + DebeziumMySqlEndpointBuilderFactory, + DebeziumPostgresEndpointBuilderFactory, + DebeziumSqlserverEndpointBuilderFactory, + DigitalOceanEndpointBuilderFactory, + DigitalSignatureEndpointBuilderFactory, + DirectEndpointBuilderFactory, + DirectVmEndpointBuilderFactory, + DisruptorEndpointBuilderFactory, + DisruptorVmEndpointBuilderFactory, + DnsEndpointBuilderFactory, + DockerEndpointBuilderFactory, + DozerEndpointBuilderFactory, + DrillEndpointBuilderFactory, + DropboxEndpointBuilderFactory, + EC2EndpointBuilderFactory, + ECSEndpointBuilderFactory, + EKSEndpointBuilderFactory, + EhcacheEndpointBuilderFactory, + ElasticsearchEndpointBuilderFactory, + ElsqlEndpointBuilderFactory, + EtcdEndpointBuilderFactory, + EventAdminEndpointBuilderFactory, + EventEndpointBuilderFactory, + ExecEndpointBuilderFactory, + FacebookEndpointBuilderFactory, + FhirEndpointBuilderFactory, + FileEndpointBuilderFactory, + FileWatchEndpointBuilderFactory, + FlatpackEndpointBuilderFactory, + FlinkEndpointBuilderFactory, + FopEndpointBuilderFactory, + FreemarkerEndpointBuilderFactory, + FtpEndpointBuilderFactory, + FtpsEndpointBuilderFactory, + GangliaEndpointBuilderFactory, + GeoCoderEndpointBuilderFactory, + GitEndpointBuilderFactory, + GitHubEndpointBuilderFactory, + GlanceEndpointBuilderFactory, + GoogleBigQueryEndpointBuilderFactory, + GoogleBigQuerySQLEndpointBuilderFactory, + GoogleCalendarEndpointBuilderFactory, + GoogleCalendarStreamEndpointBuilderFactory, + GoogleDriveEndpointBuilderFactory, + GoogleMailEndpointBuilderFactory, + GoogleMailStreamEndpointBuilderFactory, + GooglePubsubEndpointBuilderFactory, + GoogleSheetsEndpointBuilderFactory, + GoogleSheetsStreamEndpointBuilderFactory, + GoraEndpointBuilderFactory, + GrapeEndpointBuilderFactory, + GraphqlEndpointBuilderFactory, + GridFsEndpointBuilderFactory, + GrpcEndpointBuilderFactory, + GuavaEventBusEndpointBuilderFactory, + HBaseEndpointBuilderFactory, + HazelcastAtomicnumberEndpointBuilderFactory, + HazelcastInstanceEndpointBuilderFactory, + HazelcastListEndpointBuilderFactory, + HazelcastMapEndpointBuilderFactory, + HazelcastMultimapEndpointBuilderFactory, + HazelcastQueueEndpointBuilderFactory, + HazelcastReplicatedmapEndpointBuilderFactory, + HazelcastRingbufferEndpointBuilderFactory, + HazelcastSedaEndpointBuilderFactory, + HazelcastSetEndpointBuilderFactory, + HazelcastTopicEndpointBuilderFactory, + HdfsEndpointBuilderFactory, + HipchatEndpointBuilderFactory, + HttpEndpointBuilderFactory, + IAMEndpointBuilderFactory, + IOTAEndpointBuilderFactory, + IPFSEndpointBuilderFactory, + IgniteCacheEndpointBuilderFactory, + IgniteComputeEndpointBuilderFactory, + IgniteEventsEndpointBuilderFactory, + IgniteIdGenEndpointBuilderFactory, + IgniteMessagingEndpointBuilderFactory, + IgniteQueueEndpointBuilderFactory, + IgniteSetEndpointBuilderFactory, + InfinispanEndpointBuilderFactory, + InfluxDbEndpointBuilderFactory, + IrcEndpointBuilderFactory, + IronMQEndpointBuilderFactory, + JBPMEndpointBuilderFactory, + JCacheEndpointBuilderFactory, + JGroupsEndpointBuilderFactory, + JGroupsRaftEndpointBuilderFactory, + JMXEndpointBuilderFactory, + JSR356WebSocketEndpointBuilderFactory, + JcloudsEndpointBuilderFactory, + JcrEndpointBuilderFactory, + JdbcEndpointBuilderFactory, + JingEndpointBuilderFactory, + JiraEndpointBuilderFactory, + JmsEndpointBuilderFactory, + JoltEndpointBuilderFactory, + JooqEndpointBuilderFactory, + JpaEndpointBuilderFactory, + JsonValidatorEndpointBuilderFactory, + Jt400EndpointBuilderFactory, + KMSEndpointBuilderFactory, + KafkaEndpointBuilderFactory, + KeystoneEndpointBuilderFactory, + KinesisEndpointBuilderFactory, + KinesisFirehoseEndpointBuilderFactory, + KubernetesConfigMapsEndpointBuilderFactory, + KubernetesDeploymentsEndpointBuilderFactory, + KubernetesHPAEndpointBuilderFactory, + KubernetesJobEndpointBuilderFactory, + KubernetesNamespacesEndpointBuilderFactory, + KubernetesNodesEndpointBuilderFactory, + KubernetesPersistentVolumesClaimsEndpointBuilderFactory, + KubernetesPersistentVolumesEndpointBuilderFactory, + KubernetesPodsEndpointBuilderFactory, + KubernetesReplicationControllersEndpointBuilderFactory, + KubernetesResourcesQuotaEndpointBuilderFactory, + KubernetesSecretsEndpointBuilderFactory, + KubernetesServiceAccountsEndpointBuilderFactory, + KubernetesServicesEndpointBuilderFactory, + KuduEndpointBuilderFactory, + LambdaEndpointBuilderFactory, + LanguageEndpointBuilderFactory, + LdapEndpointBuilderFactory, + LdifEndpointBuilderFactory, + LogEndpointBuilderFactory, + LuceneEndpointBuilderFactory, + LumberjackEndpointBuilderFactory, + MQEndpointBuilderFactory, + MSKEndpointBuilderFactory, + MailEndpointBuilderFactory, + MasterEndpointBuilderFactory, + MetricsEndpointBuilderFactory, + MicroProfileMetricsEndpointBuilderFactory, + MicrometerEndpointBuilderFactory, + MiloClientEndpointBuilderFactory, + MiloServerEndpointBuilderFactory, + MinaEndpointBuilderFactory, + MllpEndpointBuilderFactory, + MockEndpointBuilderFactory, + MongoDbEndpointBuilderFactory, + MsvEndpointBuilderFactory, + MustacheEndpointBuilderFactory, + MvelEndpointBuilderFactory, + MyBatisBeanEndpointBuilderFactory, + MyBatisEndpointBuilderFactory, + NagiosEndpointBuilderFactory, + NatsEndpointBuilderFactory, + NetWeaverEndpointBuilderFactory, + NettyEndpointBuilderFactory, + NettyHttpEndpointBuilderFactory, + NeutronEndpointBuilderFactory, + NitriteEndpointBuilderFactory, + NovaEndpointBuilderFactory, + NsqEndpointBuilderFactory, + Olingo2EndpointBuilderFactory, + Olingo4EndpointBuilderFactory, + OpenshiftBuildConfigsEndpointBuilderFactory, + OpenshiftBuildsEndpointBuilderFactory, + OptaPlannerEndpointBuilderFactory, + PahoEndpointBuilderFactory, + PaxLoggingEndpointBuilderFactory, + PdfEndpointBuilderFactory, + PgEventEndpointBuilderFactory, + PgReplicationSlotEndpointBuilderFactory, + PlatformHttpEndpointBuilderFactory, + PrinterEndpointBuilderFactory, + PubNubEndpointBuilderFactory, + PulsarEndpointBuilderFactory, + QuartzEndpointBuilderFactory, + QueueServiceEndpointBuilderFactory, + QuickfixjEndpointBuilderFactory, + RabbitMQEndpointBuilderFactory, + ReactiveStreamsEndpointBuilderFactory, + RedisEndpointBuilderFactory, + RefEndpointBuilderFactory, + RestApiEndpointBuilderFactory, + RestEndpointBuilderFactory, + RestSwaggerEndpointBuilderFactory, + RobotFrameworkEndpointBuilderFactory, + RssEndpointBuilderFactory, + S3EndpointBuilderFactory, + SWFEndpointBuilderFactory, + SagaEndpointBuilderFactory, + SalesforceEndpointBuilderFactory, + SchedulerEndpointBuilderFactory, + SchematronEndpointBuilderFactory, + ScpEndpointBuilderFactory, + SdbEndpointBuilderFactory, + SedaEndpointBuilderFactory, + ServerEndpointBuilderFactory, + ServiceEndpointBuilderFactory, + ServiceNowEndpointBuilderFactory, + ServletEndpointBuilderFactory, + SesEndpointBuilderFactory, + SftpEndpointBuilderFactory, + SipEndpointBuilderFactory, + Sjms2EndpointBuilderFactory, + SjmsBatchEndpointBuilderFactory, + SjmsEndpointBuilderFactory, + SlackEndpointBuilderFactory, + SmppEndpointBuilderFactory, + SnmpEndpointBuilderFactory, + SnsEndpointBuilderFactory, + SolrEndpointBuilderFactory, + SoroushBotEndpointBuilderFactory, + SparkEndpointBuilderFactory, + SplunkEndpointBuilderFactory, + SpringBatchEndpointBuilderFactory, + SpringIntegrationEndpointBuilderFactory, + SpringLdapEndpointBuilderFactory, + SpringWebserviceEndpointBuilderFactory, + SqlEndpointBuilderFactory, + SqlStoredEndpointBuilderFactory, + SqsEndpointBuilderFactory, + SshEndpointBuilderFactory, + StAXEndpointBuilderFactory, + StompEndpointBuilderFactory, + StreamEndpointBuilderFactory, + StringTemplateEndpointBuilderFactory, + StubEndpointBuilderFactory, + SwiftEndpointBuilderFactory, + TelegramEndpointBuilderFactory, + ThriftEndpointBuilderFactory, + TikaEndpointBuilderFactory, + TimerEndpointBuilderFactory, + TranslateEndpointBuilderFactory, + TwilioEndpointBuilderFactory, + TwitterDirectMessageEndpointBuilderFactory, + TwitterSearchEndpointBuilderFactory, + TwitterTimelineEndpointBuilderFactory, + UndertowEndpointBuilderFactory, + ValidatorEndpointBuilderFactory, + VelocityEndpointBuilderFactory, + VertxEndpointBuilderFactory, + VmEndpointBuilderFactory, + WeatherEndpointBuilderFactory, + Web3jEndpointBuilderFactory, + WebhookEndpointBuilderFactory, + WebsocketEndpointBuilderFactory, + WordpressEndpointBuilderFactory, + WsEndpointBuilderFactory, + XChangeEndpointBuilderFactory, + XJEndpointBuilderFactory, + XQueryEndpointBuilderFactory, + XmlSignatureEndpointBuilderFactory, + XmppEndpointBuilderFactory, + XsltEndpointBuilderFactory, + XsltSaxonEndpointBuilderFactory, + YammerEndpointBuilderFactory, + ZendeskEndpointBuilderFactory, + ZooKeeperEndpointBuilderFactory, + ZooKeeperMasterEndpointBuilderFactory +// FACTORY INTERFACE UPDATE END { default Expression endpoints(EndpointProducerBuilder... endpoints) { diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointDslMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointDslMojo.java index ade4996..90a854c 100644 --- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointDslMojo.java +++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointDslMojo.java @@ -18,12 +18,14 @@ package org.apache.camel.maven.packaging; import java.io.File; import java.io.FileInputStream; +import java.io.FileNotFoundException; import java.io.IOError; import java.io.IOException; import java.io.InputStream; import java.lang.reflect.Array; import java.lang.reflect.Field; import java.util.ArrayList; +import java.util.Arrays; import java.util.HashMap; import java.util.LinkedList; import java.util.List; @@ -71,6 +73,8 @@ public class EndpointDslMojo extends AbstractMojo { private static final Map<String, Class<?>> PRIMITIVEMAP; + private static final String SUFFIX = "EndpointBuilderFactory"; + static { PRIMITIVEMAP = new HashMap<>(); PRIMITIVEMAP.put("boolean", java.lang.Boolean.class); @@ -188,6 +192,8 @@ public class EndpointDslMojo extends AbstractMojo { } createEndpointDsl(packageName, model, compModels, overrideComponentName); + + synchronizeEndpointBuilderFactoryInterface(); } } } @@ -454,6 +460,54 @@ public class EndpointDslMojo extends AbstractMojo { writeSourceIfChanged(javaClass, fileName, false); } + private void synchronizeEndpointBuilderFactoryInterface() throws MojoExecutionException { + // load components with indent + final List<String> allComponentsDslEndpointFactories = loadAllComponentsDslEndpointFactoriesAsString() + .stream() + .map(file -> "\t\t" + file) + .collect(Collectors.toList()); + + + // load EndpointBuilderFactory interface + final String interfaceFactoryPath = packageName.replaceAll("\\.", "\\/").replace("dsl", "") + "EndpointBuilderFactory.java"; + + final File interfaceFactoryPathFile = new File(outputDir, interfaceFactoryPath); + + final String markerStart = "// FACTORY INTERFACE UPDATE START"; + final String markerEnd = "// FACTORY INTERFACE UPDATE END"; + + try(final InputStream stream = new FileInputStream(interfaceFactoryPathFile)) { + final String loadedText = loadText(stream); + + final String before = StringHelper.before(loadedText, markerStart); + final String after = StringHelper.after(loadedText, markerEnd); + + // we make sure these markers exists + if (before == null || after == null) { + throw new MojoExecutionException(String.format("Markers '%s' and '%s' don't exist, make sure they exist.", markerStart, markerEnd)); + } + + // we build our new updated class + final String updatedInterfaceAsText = before + markerStart + "\n" + String.join(",\n", allComponentsDslEndpointFactories) + "\n" + markerEnd + after; + + // write our file back + updateResource(null, interfaceFactoryPathFile.toPath(), updatedInterfaceAsText); + } catch (IOException e) { + throw new MojoExecutionException("Error reading file " + interfaceFactoryPathFile + " Reason: " + e, e); + } + } + + private List<String> loadAllComponentsDslEndpointFactoriesAsString() { + final File allComponentsDslEndpointFactory = new File(outputDir, packageName.replaceAll("\\.", "\\/")); + + // load components + return Arrays.asList(allComponentsDslEndpointFactory.listFiles()).stream() + .filter(file -> file.isFile() && file.getName().contains(SUFFIX) && file.exists()) + .map(file -> file.getName().replace(".java" , "")) + .sorted() + .collect(Collectors.toList()); + } + private static String camelCaseLower(String s) { int i; while (s != null && (i = s.indexOf('-')) > 0) {