You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2015/09/29 14:12:35 UTC

camel git commit: Camel eip model for routes should include that it has an array of route elements

Repository: camel
Updated Branches:
  refs/heads/master 3e66099a3 -> a4b3ef7d7


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/a4b3ef7d
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/a4b3ef7d
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/a4b3ef7d

Branch: refs/heads/master
Commit: a4b3ef7d7bfd00e04cf05ce6be7091dd8e386555
Parents: 3e66099
Author: Claus Ibsen <da...@apache.org>
Authored: Tue Sep 29 14:14:19 2015 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Tue Sep 29 14:14:19 2015 +0200

----------------------------------------------------------------------
 .../camel/tools/apt/EipAnnotationProcessor.java | 21 ++++++++++++++++++++
 1 file changed, 21 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/a4b3ef7d/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,