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() {