Avoid NPE in AnnotationsPropertySource if getAnnotations returns null

Closes gh-9914
This commit is contained in:
Andy Wilkinson 2017-08-09 11:42:38 +01:00
parent 25d0cc167e
commit 7967c64d65
1 changed files with 8 additions and 5 deletions

View File

@ -1,5 +1,5 @@
/* /*
* Copyright 2012-2016 the original author or authors. * Copyright 2012-2017 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -85,10 +85,13 @@ public class AnnotationsPropertySource extends EnumerablePropertySource<Class<?>
private List<Annotation> getMergedAnnotations(Class<?> root, Class<?> source) { private List<Annotation> getMergedAnnotations(Class<?> root, Class<?> source) {
List<Annotation> mergedAnnotations = new ArrayList<Annotation>(); List<Annotation> mergedAnnotations = new ArrayList<Annotation>();
for (Annotation annotation : AnnotationUtils.getAnnotations(source)) { Annotation[] annotations = AnnotationUtils.getAnnotations(source);
if (!AnnotationUtils.isInJavaLangAnnotationPackage(annotation)) { if (annotations != null) {
mergedAnnotations for (Annotation annotation : annotations) {
.add(findMergedAnnotation(root, annotation.annotationType())); if (!AnnotationUtils.isInJavaLangAnnotationPackage(annotation)) {
mergedAnnotations
.add(findMergedAnnotation(root, annotation.annotationType()));
}
} }
} }
return mergedAnnotations; return mergedAnnotations;