diff --git a/spring-core/src/main/java/org/springframework/core/annotation/AnnotationAttributes.java b/spring-core/src/main/java/org/springframework/core/annotation/AnnotationAttributes.java index 9fc70e72a88..577a17e3491 100644 --- a/spring-core/src/main/java/org/springframework/core/annotation/AnnotationAttributes.java +++ b/spring-core/src/main/java/org/springframework/core/annotation/AnnotationAttributes.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2017 the original author or authors. + * Copyright 2002-2019 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -363,7 +363,7 @@ public class AnnotationAttributes extends LinkedHashMap { private void assertAttributeType(String attributeName, Object attributeValue, Class expectedType) { if (!expectedType.isInstance(attributeValue)) { throw new IllegalArgumentException(String.format( - "Attribute '%s' is of type [%s], but [%s] was expected in attributes for annotation [%s]", + "Attribute '%s' is of type %s, but %s was expected in attributes for annotation [%s]", attributeName, attributeValue.getClass().getSimpleName(), expectedType.getSimpleName(), this.displayName)); } diff --git a/spring-core/src/main/java/org/springframework/core/type/classreading/AnnotationReadingVisitorUtils.java b/spring-core/src/main/java/org/springframework/core/type/classreading/AnnotationReadingVisitorUtils.java index f4084cd8182..7ecf7d80fae 100644 --- a/spring-core/src/main/java/org/springframework/core/type/classreading/AnnotationReadingVisitorUtils.java +++ b/spring-core/src/main/java/org/springframework/core/type/classreading/AnnotationReadingVisitorUtils.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2017 the original author or authors. + * Copyright 2002-2019 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -28,6 +28,7 @@ import org.springframework.core.annotation.AnnotationAttributes; import org.springframework.core.annotation.AnnotationUtils; import org.springframework.lang.Nullable; import org.springframework.util.ClassUtils; +import org.springframework.util.CollectionUtils; import org.springframework.util.LinkedMultiValueMap; import org.springframework.util.ObjectUtils; @@ -124,7 +125,7 @@ abstract class AnnotationReadingVisitorUtils { // Get the unmerged list of attributes for the target annotation. List attributesList = attributesMap.get(annotationName); - if (attributesList == null || attributesList.isEmpty()) { + if (CollectionUtils.isEmpty(attributesList)) { return null; } diff --git a/spring-core/src/test/java/org/springframework/core/annotation/AnnotationAttributesTests.java b/spring-core/src/test/java/org/springframework/core/annotation/AnnotationAttributesTests.java index 5908bf3693d..8baea8d2e96 100644 --- a/spring-core/src/test/java/org/springframework/core/annotation/AnnotationAttributesTests.java +++ b/spring-core/src/test/java/org/springframework/core/annotation/AnnotationAttributesTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2016 the original author or authors. + * Copyright 2002-2019 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -154,7 +154,7 @@ public class AnnotationAttributesTests { public void getEnumWithTypeMismatch() { attributes.put("color", "RED"); exception.expect(IllegalArgumentException.class); - exception.expectMessage(containsString("Attribute 'color' is of type [String], but [Enum] was expected")); + exception.expectMessage(containsString("Attribute 'color' is of type String, but Enum was expected")); attributes.getEnum("color"); }