You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@bval.apache.org by rm...@apache.org on 2014/08/10 22:46:57 UTC

svn commit: r1617155 - in /bval/branches/bval-11: bval-jsr/src/main/java/org/apache/bval/cdi/BValExtension.java bval-tck11/pom.xml

Author: rmannibucau
Date: Sun Aug 10 20:46:57 2014
New Revision: 1617155

URL: http://svn.apache.org/r1617155
Log:
missing API + skipping known classes for cdi integration

Modified:
    bval/branches/bval-11/bval-jsr/src/main/java/org/apache/bval/cdi/BValExtension.java
    bval/branches/bval-11/bval-tck11/pom.xml

Modified: bval/branches/bval-11/bval-jsr/src/main/java/org/apache/bval/cdi/BValExtension.java
URL: http://svn.apache.org/viewvc/bval/branches/bval-11/bval-jsr/src/main/java/org/apache/bval/cdi/BValExtension.java?rev=1617155&r1=1617154&r2=1617155&view=diff
==============================================================================
--- bval/branches/bval-11/bval-jsr/src/main/java/org/apache/bval/cdi/BValExtension.java (original)
+++ bval/branches/bval-11/bval-jsr/src/main/java/org/apache/bval/cdi/BValExtension.java Sun Aug 10 20:46:57 2014
@@ -48,6 +48,7 @@ import java.lang.reflect.Modifier;
 import java.lang.reflect.Type;
 import java.util.Collection;
 import java.util.Collections;
+import java.util.HashSet;
 import java.util.Map;
 import java.util.Set;
 import java.util.concurrent.ConcurrentHashMap;
@@ -61,6 +62,17 @@ import java.util.logging.Logger;
 public class BValExtension implements Extension {
     private static final Logger LOGGER = Logger.getLogger(BValExtension.class.getName());
 
+    // extension point, we can add a SPI if needed, today mainly a fallback "API" for TomEE if we encounter an issue
+    public static Collection<String> SKIPPED_PREFIXES = new HashSet<String>();
+    static {
+        SKIPPED_PREFIXES.add("java.");
+        SKIPPED_PREFIXES.add("javax.");
+        SKIPPED_PREFIXES.add("org.apache.bval.");
+        SKIPPED_PREFIXES.add("org.apache.openejb.");
+        SKIPPED_PREFIXES.add("org.apache.deltaspike."); // should be checked when upgrading
+        SKIPPED_PREFIXES.add("org.apache.myfaces."); // should be checked when upgrading
+    }
+
     private static BValExtension bmpSingleton = null;
     private volatile Map<ClassLoader, BeanManagerInfo> bmInfos = new ConcurrentHashMap<ClassLoader, BeanManagerInfo>();
 
@@ -139,6 +151,15 @@ public class BValExtension implements Ex
         beforeBeanDiscovery.addAnnotatedType(beanManager.createAnnotatedType(BValInterceptor.class));
     }
 
+    protected boolean skip(final String name) {
+        for (final String p : SKIPPED_PREFIXES) {
+            if (name.startsWith(p)) {
+                return true;
+            }
+        }
+        return false;
+    }
+
     public <A> void processAnnotatedType(final @Observes ProcessAnnotatedType<A> pat) {
         if (!isExecutableValidationEnabled) {
             return;
@@ -147,8 +168,12 @@ public class BValExtension implements Ex
         final AnnotatedType<A> annotatedType = pat.getAnnotatedType();
         final Class<A> javaClass = annotatedType.getJavaClass();
         final int modifiers = javaClass.getModifiers();
-        if (!javaClass.getName().startsWith("javax.") && !javaClass.getName().startsWith("org.apache.bval")
-                && !javaClass.isInterface() && !Modifier.isFinal(modifiers) && !Modifier.isAbstract(modifiers)) {
+        final String name = javaClass.getName();
+        if (skip(name)) {
+            return;
+        }
+
+        if (!javaClass.isInterface() && !Modifier.isFinal(modifiers) && !Modifier.isAbstract(modifiers)) {
             try {
                 ensureFactoryValidator();
                 final BeanDescriptor classConstraints = validator.getConstraintsForClass(javaClass);

Modified: bval/branches/bval-11/bval-tck11/pom.xml
URL: http://svn.apache.org/viewvc/bval/branches/bval-11/bval-tck11/pom.xml?rev=1617155&r1=1617154&r2=1617155&view=diff
==============================================================================
--- bval/branches/bval-11/bval-tck11/pom.xml (original)
+++ bval/branches/bval-11/bval-tck11/pom.xml Sun Aug 10 20:46:57 2014
@@ -61,6 +61,12 @@ under the License.
         </dependency>
         <dependency>
             <groupId>org.apache.geronimo.specs</groupId>
+            <artifactId>geronimo-annotation_1.2_spec</artifactId>
+            <version>1.0.MR2-SNAPSHOT</version>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.geronimo.specs</groupId>
             <artifactId>geronimo-interceptor_1.2_spec</artifactId>
             <version>1.0-SNAPSHOT</version>
             <scope>provided</scope>