commons-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From mben...@apache.org
Subject svn commit: r1073995 - /commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/AnnotationUtils.java
Date Thu, 24 Feb 2011 00:05:02 GMT
Author: mbenson
Date: Thu Feb 24 00:05:02 2011
New Revision: 1073995

URL: http://svn.apache.org/viewvc?rev=1073995&view=rev
Log:
address the invalidity of null annotation members

Modified:
    commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/AnnotationUtils.java

Modified: commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/AnnotationUtils.java
URL: http://svn.apache.org/viewvc/commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/AnnotationUtils.java?rev=1073995&r1=1073994&r2=1073995&view=diff
==============================================================================
--- commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/AnnotationUtils.java
(original)
+++ commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/AnnotationUtils.java
Thu Feb 24 00:05:02 2011
@@ -148,7 +148,12 @@ public class AnnotationUtils {
         int result = 0;
         Class<? extends Annotation> type = a.annotationType();
         for (Method m : type.getDeclaredMethods()) {
-            result += hashMember(m.getName(), m.invoke(a));
+            Object value = m.invoke(a);
+            if (value == null) {
+                throw new IllegalStateException(String.format("Annotation method %s returned
null",
+                        m));
+            }
+            result += hashMember(m.getName(), value);
         }
         return result;
     }
@@ -198,9 +203,6 @@ public class AnnotationUtils {
     private static int hashMember(String name, Object value) throws IllegalArgumentException,
             IllegalAccessException, InvocationTargetException {
         int part1 = name.hashCode() * 127;
-        if (value == null) {
-            return part1;
-        }
         if (value.getClass().isArray()) {
             return part1 ^ arrayMemberHash(value.getClass().getComponentType(), value);
         }



Mime
View raw message