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:21:35 UTC

[2/2] camel git commit: Camel eip model for rests should include that it has an array of rest elements

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 <da...@apache.org>
Authored: Tue Sep 29 14:22:27 2015 +0200
Committer: Claus Ibsen <da...@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,