This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/camel.git
commit 7301503f4fa2e94a7f983e24626c78bdf1b0130d Author: Claus Ibsen <claus.ib...@gmail.com> AuthorDate: Tue Sep 1 11:07:23 2020 +0200 CAMEL-15478: API components tooling that generates configuration classes should add apiName to @UriParams so we would know which api method the configuration belongs to. --- .../camel-api/src/generated/java/org/apache/camel/spi/UriParams.java | 5 +++++ .../java/org/apache/camel/maven/AbstractApiMethodGeneratorMojo.java | 4 ++++ .../main/java/org/apache/camel/maven/ApiComponentGeneratorMojo.java | 1 + .../src/main/resources/api-endpoint-config.vm | 2 +- .../src/main/java/org/apache/camel/spi/UriParams.java | 5 +++++ 5 files changed, 16 insertions(+), 1 deletion(-) diff --git a/core/camel-api/src/generated/java/org/apache/camel/spi/UriParams.java b/core/camel-api/src/generated/java/org/apache/camel/spi/UriParams.java index 0ffadd2..d3dc5af 100644 --- a/core/camel-api/src/generated/java/org/apache/camel/spi/UriParams.java +++ b/core/camel-api/src/generated/java/org/apache/camel/spi/UriParams.java @@ -36,4 +36,9 @@ public @interface UriParams { */ String prefix() default ""; + /** + * The API name for API based components where configurations are separated by API names (grouping). + */ + String apiName() default ""; + } diff --git a/tooling/maven/camel-api-component-maven-plugin/src/main/java/org/apache/camel/maven/AbstractApiMethodGeneratorMojo.java b/tooling/maven/camel-api-component-maven-plugin/src/main/java/org/apache/camel/maven/AbstractApiMethodGeneratorMojo.java index 0fd0974..9aa035d 100644 --- a/tooling/maven/camel-api-component-maven-plugin/src/main/java/org/apache/camel/maven/AbstractApiMethodGeneratorMojo.java +++ b/tooling/maven/camel-api-component-maven-plugin/src/main/java/org/apache/camel/maven/AbstractApiMethodGeneratorMojo.java @@ -47,6 +47,9 @@ public abstract class AbstractApiMethodGeneratorMojo extends AbstractApiMethodBa @Parameter protected String classPrefix; + @Parameter + protected String apiName; + // cached fields private Class<?> proxyType; @@ -172,6 +175,7 @@ public abstract class AbstractApiMethodGeneratorMojo extends AbstractApiMethodBa private VelocityContext getEndpointContext(List<ApiMethodParser.ApiMethodModel> models) throws MojoExecutionException { VelocityContext context = getCommonContext(models); + context.put("apiName", apiName); context.put("configName", getConfigName()); context.put("componentName", componentName); context.put("componentPackage", componentPackage); diff --git a/tooling/maven/camel-api-component-maven-plugin/src/main/java/org/apache/camel/maven/ApiComponentGeneratorMojo.java b/tooling/maven/camel-api-component-maven-plugin/src/main/java/org/apache/camel/maven/ApiComponentGeneratorMojo.java index ad4f1f4..df3160c 100644 --- a/tooling/maven/camel-api-component-maven-plugin/src/main/java/org/apache/camel/maven/ApiComponentGeneratorMojo.java +++ b/tooling/maven/camel-api-component-maven-plugin/src/main/java/org/apache/camel/maven/ApiComponentGeneratorMojo.java @@ -151,6 +151,7 @@ public class ApiComponentGeneratorMojo extends AbstractApiMethodBaseMojo { // set AbstractAPIMethodGeneratorMojo properties mojo.proxyClass = apiProxy.getProxyClass(); mojo.classPrefix = apiProxy.getClassPrefix(); + mojo.apiName = apiProxy.getApiName(); } private AbstractApiMethodGeneratorMojo getApiMethodGenerator(ApiProxy api) { diff --git a/tooling/maven/camel-api-component-maven-plugin/src/main/resources/api-endpoint-config.vm b/tooling/maven/camel-api-component-maven-plugin/src/main/resources/api-endpoint-config.vm index d0f6403..47acf03 100644 --- a/tooling/maven/camel-api-component-maven-plugin/src/main/resources/api-endpoint-config.vm +++ b/tooling/maven/camel-api-component-maven-plugin/src/main/resources/api-endpoint-config.vm @@ -43,7 +43,7 @@ import org.apache.camel.spi.UriParams; /** * Camel EndpointConfiguration for $proxyType.Name */ -@UriParams +@UriParams(apiName = "$apiName") @Configurer public final class $configName extends ${componentName}Configuration { #foreach( $parameter in $parameters.entrySet() ) diff --git a/tooling/spi-annotations/src/main/java/org/apache/camel/spi/UriParams.java b/tooling/spi-annotations/src/main/java/org/apache/camel/spi/UriParams.java index 0ffadd2..d3dc5af 100644 --- a/tooling/spi-annotations/src/main/java/org/apache/camel/spi/UriParams.java +++ b/tooling/spi-annotations/src/main/java/org/apache/camel/spi/UriParams.java @@ -36,4 +36,9 @@ public @interface UriParams { */ String prefix() default ""; + /** + * The API name for API based components where configurations are separated by API names (grouping). + */ + String apiName() default ""; + }