Repository: camel Updated Branches: refs/heads/camel-2.15.x 22b555852 -> c7ae2a545
Camel eip model for routes should include that it has an array of route elements Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/c7ae2a54 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/c7ae2a54 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/c7ae2a54 Branch: refs/heads/camel-2.15.x Commit: c7ae2a5458c91e5bde1db47915875c3e48ea4115 Parents: 22b5558 Author: Claus Ibsen <davscl...@apache.org> Authored: Tue Sep 29 14:14:19 2015 +0200 Committer: Claus Ibsen <davscl...@apache.org> Committed: Tue Sep 29 14:15:37 2015 +0200 ---------------------------------------------------------------------- .../camel/tools/apt/EipAnnotationProcessor.java | 21 ++++++++++++++++++++ 1 file changed, 21 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/c7ae2a54/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 c51c6ea..1262842 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 @@ -271,6 +271,9 @@ public class EipAnnotationProcessor extends AbstractAnnotationProcessor { XmlElementRef elementRef = fieldElement.getAnnotation(XmlElementRef.class); if (elementRef != null) { + // special for routes + processRoutes(roundEnv, originalClassType, elementRef, fieldElement, fieldName, eipOptions, prefix); + // special for outputs processOutputs(roundEnv, originalClassType, elementRef, fieldElement, fieldName, eipOptions, prefix); @@ -612,6 +615,24 @@ public class EipAnnotationProcessor extends AbstractAnnotationProcessor { } /** + * Special for processing an @XmlElementRef routes field + */ + private void processRoutes(RoundEnvironment roundEnv, TypeElement originalClassType, XmlElementRef elementRef, + VariableElement fieldElement, String fieldName, Set<EipOption> eipOptions, String prefix) { + if ("routes".equals(fieldName)) { + + TypeMirror fieldType = fieldElement.asType(); + String fieldTypeName = fieldType.toString(); + + Set<String> oneOfTypes = new TreeSet<String>(); + oneOfTypes.add("route"); + + EipOption ep = new EipOption("routes", "element", fieldTypeName, false, "", "Contains the Camel routes", false, false, null, true, oneOfTypes); + eipOptions.add(ep); + } + } + + /** * Special for processing an @XmlElementRef outputs field */ private void processOutputs(RoundEnvironment roundEnv, TypeElement originalClassType, XmlElementRef elementRef,