Camel eip model for rests should include that it has an array of rest elements
Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/32b1b826 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/32b1b826 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/32b1b826 Branch: refs/heads/camel-2.15.x Commit: 32b1b8263457868f131fb49575ccfcb3065a990a Parents: c7ae2a5 Author: Claus Ibsen <davscl...@apache.org> Authored: Tue Sep 29 14:22:27 2015 +0200 Committer: Claus Ibsen <davscl...@apache.org> Committed: Tue Sep 29 14:22:48 2015 +0200 ---------------------------------------------------------------------- .../camel/tools/apt/EipAnnotationProcessor.java | 21 ++++++++++++++++++++ 1 file changed, 21 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/32b1b826/tooling/apt/src/main/java/org/apache/camel/tools/apt/EipAnnotationProcessor.java ---------------------------------------------------------------------- diff --git a/tooling/apt/src/main/java/org/apache/camel/tools/apt/EipAnnotationProcessor.java b/tooling/apt/src/main/java/org/apache/camel/tools/apt/EipAnnotationProcessor.java index 1262842..c02c7c5 100644 --- a/tooling/apt/src/main/java/org/apache/camel/tools/apt/EipAnnotationProcessor.java +++ b/tooling/apt/src/main/java/org/apache/camel/tools/apt/EipAnnotationProcessor.java @@ -274,6 +274,9 @@ public class EipAnnotationProcessor extends AbstractAnnotationProcessor { // special for routes processRoutes(roundEnv, originalClassType, elementRef, fieldElement, fieldName, eipOptions, prefix); + // special for rests + processRests(roundEnv, originalClassType, elementRef, fieldElement, fieldName, eipOptions, prefix); + // special for outputs processOutputs(roundEnv, originalClassType, elementRef, fieldElement, fieldName, eipOptions, prefix); @@ -633,6 +636,24 @@ public class EipAnnotationProcessor extends AbstractAnnotationProcessor { } /** + * Special for processing an @XmlElementRef rests field + */ + private void processRests(RoundEnvironment roundEnv, TypeElement originalClassType, XmlElementRef elementRef, + VariableElement fieldElement, String fieldName, Set<EipOption> eipOptions, String prefix) { + if ("rests".equals(fieldName)) { + + TypeMirror fieldType = fieldElement.asType(); + String fieldTypeName = fieldType.toString(); + + Set<String> oneOfTypes = new TreeSet<String>(); + oneOfTypes.add("rest"); + + EipOption ep = new EipOption("rests", "element", fieldTypeName, false, "", "Contains the rest services defined using the rest-dsl", false, false, null, true, oneOfTypes); + eipOptions.add(ep); + } + } + + /** * Special for processing an @XmlElementRef outputs field */ private void processOutputs(RoundEnvironment roundEnv, TypeElement originalClassType, XmlElementRef elementRef,