This is an automated email from the ASF dual-hosted git repository. gnodet pushed a commit to branch endpoint-dsl in repository https://gitbox.apache.org/repos/asf/camel.git
commit 66a9c7c74095a3fcb875f9437897673826c0d7af Author: Guillaume Nodet <gno...@gmail.com> AuthorDate: Thu Jun 6 08:32:27 2019 +0200 Use fluent builder syntax and move the javadoc on the fluent method --- .../apache/camel/maven/packaging/EndpointDslMojo.java | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) 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 11155cb..14adb80 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 @@ -48,6 +48,7 @@ import org.apache.camel.maven.packaging.model.EndpointOptionModel; import org.apache.camel.maven.packaging.srcgen.GenericType; import org.apache.camel.maven.packaging.srcgen.GenericType.BoundType; import org.apache.camel.maven.packaging.srcgen.JavaClass; +import org.apache.camel.maven.packaging.srcgen.Method; import org.apache.camel.maven.packaging.srcgen.Property; import org.apache.camel.spi.UriParam; import org.apache.camel.spi.UriParams; @@ -211,14 +212,17 @@ public class EndpointDslMojo extends AbstractMojo { JavaClass commonClass = javaClass.addNestedType().setPublic().setStatic(true); commonClass.setName(name.replace("Endpoint", "Common")); commonClass.extendSuperType("EndpointConfiguration"); + generateDummyClass(commonClass.getCanonicalName()); JavaClass consumerClass = javaClass.addNestedType().setPublic().setStatic(true); consumerClass.setName(name.replace("Endpoint", "Consumer")); consumerClass.extendSuperType(name.replace("Endpoint", "Common")); + generateDummyClass(consumerClass.getCanonicalName()); JavaClass producerClass = javaClass.addNestedType().setPublic().setStatic(true); producerClass.setName(name.replace("Endpoint", "Producer")); producerClass.extendSuperType(name.replace("Endpoint", "Common")); + generateDummyClass(producerClass.getCanonicalName()); String doc = "Generated by camel-package-maven-plugin - do not edit this file!"; if (!Strings.isBlank(model.getDescription())) { @@ -240,21 +244,28 @@ public class EndpointDslMojo extends AbstractMojo { } } + GenericType ogtype; GenericType gtype; try { Field field = findField(realComponentClass, realEndpointClass, option); - gtype = new GenericType(GenericsUtil.resolveType(realEndpointClass, field)); - gtype = getType(javaClass, enumClasses, option.getEnums(), gtype.toString()); + ogtype = new GenericType(GenericsUtil.resolveType(realEndpointClass, field)); + gtype = getType(javaClass, enumClasses, option.getEnums(), ogtype.toString()); } catch (Exception e) { throw new RuntimeException(e); } Property prop = target.addProperty(gtype, option.getName()); + Method fluent = target.addMethod().setPublic().setName(option.getName()) + .setReturnType(new GenericType(loadClass(target.getCanonicalName()))) + .addParameter(PRIMITIVEMAP.containsKey(ogtype.toString()) ? ogtype : gtype, option.getName()) + .setBody("this." + option.getName() + " = " + option.getName() + ";\n" + + "return (" + target.getName() + ") this;\n"); if ("true".equals(option.getDeprecated())) { prop.getField().addAnnotation(Deprecated.class); prop.getAccessor().addAnnotation(Deprecated.class); prop.getMutator().addAnnotation(Deprecated.class); + fluent.addAnnotation(Deprecated.class); } if (!Strings.isBlank(option.getDescription())) { String desc = option.getDescription(); @@ -262,7 +273,7 @@ public class EndpointDslMojo extends AbstractMojo { desc = desc + "."; } desc = desc + " The option is a " + option.getJavaType() + " type."; - prop.getField().getJavaDoc().setFullText(desc); + fluent.getJavaDoc().setFullText(desc); } }