summaryrefslogtreecommitdiff
path: root/qpid/java/broker-codegen/src
diff options
context:
space:
mode:
Diffstat (limited to 'qpid/java/broker-codegen/src')
-rw-r--r--qpid/java/broker-codegen/src/main/java/org/apache/qpid/server/model/validation/AttributeAnnotationValidator.java4
1 files changed, 4 insertions, 0 deletions
diff --git a/qpid/java/broker-codegen/src/main/java/org/apache/qpid/server/model/validation/AttributeAnnotationValidator.java b/qpid/java/broker-codegen/src/main/java/org/apache/qpid/server/model/validation/AttributeAnnotationValidator.java
index 1422a52449..a831e1ebd9 100644
--- a/qpid/java/broker-codegen/src/main/java/org/apache/qpid/server/model/validation/AttributeAnnotationValidator.java
+++ b/qpid/java/broker-codegen/src/main/java/org/apache/qpid/server/model/validation/AttributeAnnotationValidator.java
@@ -310,6 +310,10 @@ public class AttributeAnnotationValidator extends AbstractProcessor
if(typeUtils.isSameType(erasedType, getErasure("java.util.Map")))
{
List<? extends TypeMirror> args = ((DeclaredType) type).getTypeArguments();
+ if (args.size() != 2)
+ {
+ throw new IllegalArgumentException("Map types " + type + " must have exactly two type arguments");
+ }
return isValidType(args.get(0)) && (isValidType(args.get(1)) || typeUtils.isSameType(args.get(1), getErasure("java.lang.Object")));
}