Author: mbenson
Date: Wed Oct 19 21:05:56 2016
New Revision: 1765721

URL: http://svn.apache.org/viewvc?rev=1765721&view=rev
Log:
refactor

Modified:
    bval/trunk/bval-jsr/src/main/java/org/apache/bval/jsr/util/Proxies.java

Modified: 
bval/trunk/bval-jsr/src/main/java/org/apache/bval/jsr/util/Proxies.java
URL: 
http://svn.apache.org/viewvc/bval/trunk/bval-jsr/src/main/java/org/apache/bval/jsr/util/Proxies.java?rev=1765721&r1=1765720&r2=1765721&view=diff
==============================================================================
--- bval/trunk/bval-jsr/src/main/java/org/apache/bval/jsr/util/Proxies.java 
(original)
+++ bval/trunk/bval-jsr/src/main/java/org/apache/bval/jsr/util/Proxies.java Wed 
Oct 19 21:05:56 2016
@@ -21,10 +21,17 @@ package org.apache.bval.jsr.util;
 public final class Proxies {
     // get rid of proxies which probably contains wrong annotation metamodel
     public static <T> Class<?> classFor(final Class<?> clazz) { // TODO: do we 
want a SPI with impl for guice, owb, openejb, ...?
-        if (!clazz.getSimpleName().contains("$$")) { // a lot of proxies use 
this convention to avoid conflicts with inner/anonymous classes
-            return clazz;
+        if (isProxyClass(clazz)) {
+            final Class<?> parent = clazz.getSuperclass();
+            if (parent != null) {
+                return classFor(clazz.getSuperclass());
+            }
         }
-        return classFor(clazz.getSuperclass());
+        return clazz;
+    }
+
+    private static boolean isProxyClass(Class<?> clazz) {
+        return clazz.getSimpleName().contains("$$");// a lot of proxies use 
this convention to avoid conflicts with inner/anonymous classes
     }
 
     private Proxies() {


Reply via email to