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 2014/06/16 20:39:20 UTC

[2/3] git commit: CAMEL-7513: Fixed POJO aggregating when the parameter type was referring to a type that was class annotated.

CAMEL-7513: Fixed POJO aggregating when the parameter type was referring to a type that was class annotated.


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/6dcb9459
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/6dcb9459
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/6dcb9459

Branch: refs/heads/camel-2.13.x
Commit: 6dcb9459f4661fb4ee13ebce7bd040564d48e2ce
Parents: e72ea35
Author: Claus Ibsen <da...@apache.org>
Authored: Mon Jun 16 20:36:27 2014 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Mon Jun 16 20:36:44 2014 +0200

----------------------------------------------------------------------
 .../processor/aggregate/AggregationStrategyBeanInfo.java  | 10 ++++++----
 .../AggregationStrategyBeanAdapterAllowNullTest.java      |  5 +++++
 2 files changed, 11 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/6dcb9459/camel-core/src/main/java/org/apache/camel/processor/aggregate/AggregationStrategyBeanInfo.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/processor/aggregate/AggregationStrategyBeanInfo.java b/camel-core/src/main/java/org/apache/camel/processor/aggregate/AggregationStrategyBeanInfo.java
index f898be7..ed93a96e 100644
--- a/camel-core/src/main/java/org/apache/camel/processor/aggregate/AggregationStrategyBeanInfo.java
+++ b/camel-core/src/main/java/org/apache/camel/processor/aggregate/AggregationStrategyBeanInfo.java
@@ -16,6 +16,7 @@
  */
 package org.apache.camel.processor.aggregate;
 
+import java.lang.annotation.Annotation;
 import java.lang.reflect.Method;
 import java.util.ArrayList;
 import java.util.List;
@@ -62,10 +63,11 @@ public class AggregationStrategyBeanInfo {
         }
 
         // must not have annotations as they are not supported (yet)
-        for (int i = 0; i < size; i++) {
-            Class<?> type = parameterTypes[i];
-            if (type.getAnnotations().length > 0) {
-                throw new IllegalArgumentException("Parameter annotations at index " + i + " is not supported on method: " + method);
+        Annotation[][] parameterAnnotations = method.getParameterAnnotations();
+        for (int i = 0; i < parameterAnnotations.length; i++) {
+            Annotation[] annotations = parameterAnnotations[i];
+            if (annotations.length > 0) {
+                throw new IllegalArgumentException("Method parameter annotation: " + annotations[0] + " at index: " + i + " is not supported on method: " + method);
             }
         }
 

http://git-wip-us.apache.org/repos/asf/camel/blob/6dcb9459/camel-core/src/test/java/org/apache/camel/processor/aggregator/AggregationStrategyBeanAdapterAllowNullTest.java
----------------------------------------------------------------------
diff --git a/camel-core/src/test/java/org/apache/camel/processor/aggregator/AggregationStrategyBeanAdapterAllowNullTest.java b/camel-core/src/test/java/org/apache/camel/processor/aggregator/AggregationStrategyBeanAdapterAllowNullTest.java
index 525c04d..d164d2e 100644
--- a/camel-core/src/test/java/org/apache/camel/processor/aggregator/AggregationStrategyBeanAdapterAllowNullTest.java
+++ b/camel-core/src/test/java/org/apache/camel/processor/aggregator/AggregationStrategyBeanAdapterAllowNullTest.java
@@ -18,6 +18,7 @@ package org.apache.camel.processor.aggregator;
 
 import java.util.ArrayList;
 import java.util.List;
+import javax.xml.bind.annotation.XmlRootElement;
 
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
@@ -66,6 +67,10 @@ public class AggregationStrategyBeanAdapterAllowNullTest extends ContextTestSupp
         }
     }
 
+    /**
+     * We support annotations on the types.
+     */
+    @XmlRootElement(name = "user")
     public static final class User {
         private String name;