diff options
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.java | 4 |
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"))); } |
