You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@bval.apache.org by mb...@apache.org on 2018/02/28 17:30:10 UTC

[1/3] bval git commit: unnecessary warning suppression

Repository: bval
Updated Branches:
  refs/heads/bv2 0486d282e -> c7477ed0a


unnecessary warning suppression


Project: http://git-wip-us.apache.org/repos/asf/bval/repo
Commit: http://git-wip-us.apache.org/repos/asf/bval/commit/97778e43
Tree: http://git-wip-us.apache.org/repos/asf/bval/tree/97778e43
Diff: http://git-wip-us.apache.org/repos/asf/bval/diff/97778e43

Branch: refs/heads/bv2
Commit: 97778e4339939fc4e0c7701056fdb62a470c7207
Parents: 0486d28
Author: Matt Benson <mb...@apache.org>
Authored: Wed Feb 28 11:28:18 2018 -0600
Committer: Matt Benson <mb...@apache.org>
Committed: Wed Feb 28 11:28:18 2018 -0600

----------------------------------------------------------------------
 bval-jsr/src/main/java/org/apache/bval/jsr/descriptor/BeanD.java | 1 -
 1 file changed, 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/bval/blob/97778e43/bval-jsr/src/main/java/org/apache/bval/jsr/descriptor/BeanD.java
----------------------------------------------------------------------
diff --git a/bval-jsr/src/main/java/org/apache/bval/jsr/descriptor/BeanD.java b/bval-jsr/src/main/java/org/apache/bval/jsr/descriptor/BeanD.java
index b6e7e2e..0fa44f1 100644
--- a/bval-jsr/src/main/java/org/apache/bval/jsr/descriptor/BeanD.java
+++ b/bval-jsr/src/main/java/org/apache/bval/jsr/descriptor/BeanD.java
@@ -82,7 +82,6 @@ public class BeanD extends ElementD<Class<?>, MetadataReader.ForBean> implements
         return methods.get(key);
     }
 
-    @SuppressWarnings("unlikely-arg-type")
     @Override
     public Set<MethodDescriptor> getConstrainedMethods(MethodType methodType, MethodType... methodTypes) {
         final EnumSet<MethodType> filter = EnumSet.of(methodType, methodTypes);


[3/3] bval git commit: remove obsolete code

Posted by mb...@apache.org.
remove obsolete code


Project: http://git-wip-us.apache.org/repos/asf/bval/repo
Commit: http://git-wip-us.apache.org/repos/asf/bval/commit/c7477ed0
Tree: http://git-wip-us.apache.org/repos/asf/bval/tree/c7477ed0
Diff: http://git-wip-us.apache.org/repos/asf/bval/diff/c7477ed0

Branch: refs/heads/bv2
Commit: c7477ed0a95717783605f816d769ff8047b58dcb
Parents: 142776c
Author: Matt Benson <mb...@apache.org>
Authored: Wed Feb 28 11:29:57 2018 -0600
Committer: Matt Benson <mb...@apache.org>
Committed: Wed Feb 28 11:29:57 2018 -0600

----------------------------------------------------------------------
 .../apache/bval/jsr/ApacheFactoryContext.java   | 14 ------
 .../bval/jsr/ApacheValidatorConfiguration.java  | 47 --------------------
 2 files changed, 61 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/bval/blob/c7477ed0/bval-jsr/src/main/java/org/apache/bval/jsr/ApacheFactoryContext.java
----------------------------------------------------------------------
diff --git a/bval-jsr/src/main/java/org/apache/bval/jsr/ApacheFactoryContext.java b/bval-jsr/src/main/java/org/apache/bval/jsr/ApacheFactoryContext.java
index 2feab79..c470e36 100644
--- a/bval-jsr/src/main/java/org/apache/bval/jsr/ApacheFactoryContext.java
+++ b/bval-jsr/src/main/java/org/apache/bval/jsr/ApacheFactoryContext.java
@@ -64,15 +64,6 @@ public class ApacheFactoryContext implements ValidatorContext {
     }
 
     /**
-     * Get the {@link ApacheValidatorFactory} used by this {@link ApacheFactoryContext}.
-     * 
-     * @return {@link ApacheValidatorFactory}
-     */
-    public ApacheValidatorFactory getFactory() {
-        return factory;
-    }
-
-    /**
      * Discard cached metadata. Calling this method unnecessarily has the effect of severly limiting performance,
      * therefore only do so when changes have been made that affect validation metadata, i.e. particularly NOT in
      * response to:
@@ -188,9 +179,4 @@ public class ApacheFactoryContext implements ValidatorContext {
     public GroupsComputer getGroupsComputer() {
         return groupsComputer.get();
     }
-
-    boolean isTreatMapsLikeBeans() {
-        return Boolean
-            .parseBoolean(factory.getProperties().get(ApacheValidatorConfiguration.Properties.TREAT_MAPS_LIKE_BEANS));
-    }
 }

http://git-wip-us.apache.org/repos/asf/bval/blob/c7477ed0/bval-jsr/src/main/java/org/apache/bval/jsr/ApacheValidatorConfiguration.java
----------------------------------------------------------------------
diff --git a/bval-jsr/src/main/java/org/apache/bval/jsr/ApacheValidatorConfiguration.java b/bval-jsr/src/main/java/org/apache/bval/jsr/ApacheValidatorConfiguration.java
index 81187f3..ce68d30 100644
--- a/bval-jsr/src/main/java/org/apache/bval/jsr/ApacheValidatorConfiguration.java
+++ b/bval-jsr/src/main/java/org/apache/bval/jsr/ApacheValidatorConfiguration.java
@@ -19,7 +19,6 @@
 package org.apache.bval.jsr;
 
 import javax.validation.Configuration;
-import javax.validation.ValidatorContext;
 import javax.validation.ValidatorFactory;
 import javax.validation.spi.ConfigurationState;
 
@@ -40,38 +39,6 @@ public interface ApacheValidatorConfiguration extends Configuration<ApacheValida
         String VALIDATION_XML_PATH = "apache.bval.validation-xml-path";
 
         /**
-         * true/false. use Introspector (java beans) metadata additionally
-         * to build metadata with JSR303.<br>
-         * This means that all properties exist that are java-bean properties and
-         * and that some features (Hidden, Readonly) are taken from Introspector
-         * to create the meta data.<br>
-         * default: false
-         */
-        String ENABLE_INTROSPECTOR = "apache.bval.enable-introspector";
-
-        /**
-         * true/false. use Apache metaBeans xml format additionally to
-         * build metadata with JSR303.
-         * default: false
-         *
-         * @deprecated we could decide to drop this feature in the future.
-         * we keep it as long as we support both: jsr and xstream-xml meta data at
-         * the same time (and potentially for the same domain classes)
-         */
-        @Deprecated
-        String ENABLE_METABEANS_XML = "apache.bval.enable-metabeans-xml";
-
-        /**
-         * - true (validate maps like beans, so that
-         *     you can use Maps to validate dynamic classes or
-         *     beans for which you have the MetaBean but no instances)
-         * - false (default), validate maps like collections
-         *     (validating the values only)
-         * default: false
-         */
-        String TREAT_MAPS_LIKE_BEANS = "apache.bval.treat-maps-like-beans";
-
-        /**
          * Specifies the classname of the {@link ValidatorFactory} to use: this
          * class is presumed have a constructor that accepts a single
          * {@link ConfigurationState} argument.
@@ -79,20 +46,6 @@ public interface ApacheValidatorConfiguration extends Configuration<ApacheValida
         String VALIDATOR_FACTORY_CLASSNAME = "apache.bval.validator-factory-classname";
 
         /**
-         * Specifies the names, delimited by whitespace, of
-         * {@link MetaBeanFactory} classes that should be added to collaborate
-         * with an {@link ApacheFactoryContext}'s {@link MetaBeanFinder}. These
-         * are instantiated per {@link ValidatorContext}, attempting to use
-         * constructor arguments of decreasing specificity:
-         * <ol>
-         * <li>assignable from the creating {@link ApacheFactoryContext}</li>
-         * <li>assignable from the associated {@link ApacheValidatorFactory}</li>
-         * <li>default (no-args) constructor</li>
-         * </ol>
-         */
-        String METABEAN_FACTORY_CLASSNAMES = "apache.bval.metabean-factory-classnames";
-
-        /**
          * Size to use for caching of constraint-related information. Default is {@code 50}.
          */
         String CONSTRAINTS_CACHE_SIZE = "apache.bval.constraints-cache-size";


[2/3] bval git commit: skip proxy classes when computing descriptors

Posted by mb...@apache.org.
skip proxy classes when computing descriptors


Project: http://git-wip-us.apache.org/repos/asf/bval/repo
Commit: http://git-wip-us.apache.org/repos/asf/bval/commit/142776cb
Tree: http://git-wip-us.apache.org/repos/asf/bval/tree/142776cb
Diff: http://git-wip-us.apache.org/repos/asf/bval/diff/142776cb

Branch: refs/heads/bv2
Commit: 142776cbe8b19d0bcba0d2d5ddd9a8669741ef54
Parents: 97778e4
Author: Matt Benson <mb...@apache.org>
Authored: Wed Feb 28 11:29:33 2018 -0600
Committer: Matt Benson <mb...@apache.org>
Committed: Wed Feb 28 11:29:33 2018 -0600

----------------------------------------------------------------------
 .../main/java/org/apache/bval/jsr/job/ValidationJob.java |  5 +++--
 .../org/apache/bval/jsr/metadata/HierarchyBuilder.java   | 11 ++++++++---
 .../src/main/java/org/apache/bval/jsr/util/Proxies.java  |  2 +-
 3 files changed, 12 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/bval/blob/142776cb/bval-jsr/src/main/java/org/apache/bval/jsr/job/ValidationJob.java
----------------------------------------------------------------------
diff --git a/bval-jsr/src/main/java/org/apache/bval/jsr/job/ValidationJob.java b/bval-jsr/src/main/java/org/apache/bval/jsr/job/ValidationJob.java
index c97cbfd..dbcdc1c 100644
--- a/bval-jsr/src/main/java/org/apache/bval/jsr/job/ValidationJob.java
+++ b/bval-jsr/src/main/java/org/apache/bval/jsr/job/ValidationJob.java
@@ -64,6 +64,7 @@ import org.apache.bval.jsr.groups.Group;
 import org.apache.bval.jsr.groups.Groups;
 import org.apache.bval.jsr.util.NodeImpl;
 import org.apache.bval.jsr.util.PathImpl;
+import org.apache.bval.jsr.util.Proxies;
 import org.apache.bval.util.Exceptions;
 import org.apache.bval.util.Lazy;
 import org.apache.bval.util.ObjectUtils;
@@ -402,8 +403,8 @@ public abstract class ValidationJob<T> {
     }
 
     private BeanD getBeanDescriptor(Object bean) {
-        return (BeanD) validatorContext.getFactory().getDescriptorManager()
-            .getBeanDescriptor(Validate.notNull(bean, "bean").getClass());
+        final Class<? extends Object> t = Proxies.classFor(Validate.notNull(bean, "bean").getClass());
+        return (BeanD) validatorContext.getDescriptorManager().getBeanDescriptor(t);
     }
 
     final ConstraintViolationImpl<T> createViolation(String messageTemplate, ConstraintValidatorContextImpl<T> context,

http://git-wip-us.apache.org/repos/asf/bval/blob/142776cb/bval-jsr/src/main/java/org/apache/bval/jsr/metadata/HierarchyBuilder.java
----------------------------------------------------------------------
diff --git a/bval-jsr/src/main/java/org/apache/bval/jsr/metadata/HierarchyBuilder.java b/bval-jsr/src/main/java/org/apache/bval/jsr/metadata/HierarchyBuilder.java
index d185290..975a9f4 100644
--- a/bval-jsr/src/main/java/org/apache/bval/jsr/metadata/HierarchyBuilder.java
+++ b/bval-jsr/src/main/java/org/apache/bval/jsr/metadata/HierarchyBuilder.java
@@ -45,6 +45,7 @@ import javax.validation.metadata.Scope;
 import org.apache.bval.jsr.ApacheValidatorFactory;
 import org.apache.bval.jsr.groups.GroupConversion;
 import org.apache.bval.jsr.util.Methods;
+import org.apache.bval.jsr.util.Proxies;
 import org.apache.bval.util.Exceptions;
 import org.apache.bval.util.Validate;
 import org.apache.bval.util.reflection.Reflection;
@@ -282,9 +283,9 @@ public class HierarchyBuilder extends CompositeBuilder {
         final Iterator<Class<?>> hierarchy = Reflection.hierarchy(beanClass, Interfaces.INCLUDE).iterator();
         hierarchy.next();
 
-        // skip core JDK; skip null/empty hierarchy builders, mapping others to BeanDelegate
-        hierarchy.forEachRemaining(t -> Optional.of(t).filter(clazz -> !clazz.getName().startsWith("java."))
-            .map(getBeanBuilder).filter(b -> !b.isEmpty()).map(b -> new BeanDelegate(b, t)).ifPresent(delegates::add));
+        // filter; map; skip null/empty hierarchy builders, mapping others to BeanDelegate
+        hierarchy.forEachRemaining(t -> Optional.of(t).filter(this::canValidate).map(getBeanBuilder)
+            .filter(b -> !b.isEmpty()).map(b -> new BeanDelegate(b, t)).ifPresent(delegates::add));
 
         // if we have nothing but empty builders (which should only happen for
         // absent custom metadata), return empty:
@@ -350,4 +351,8 @@ public class HierarchyBuilder extends CompositeBuilder {
                 .collect(Collectors.toList());
         return new HierarchyBuilder.ForCrossParameter<>(hierarchyDelegates);
     }
+
+    private boolean canValidate(Class<?> t) {
+        return !(t.getName().startsWith("java.") || Proxies.isProxyClass(t));
+    }
 }

http://git-wip-us.apache.org/repos/asf/bval/blob/142776cb/bval-jsr/src/main/java/org/apache/bval/jsr/util/Proxies.java
----------------------------------------------------------------------
diff --git a/bval-jsr/src/main/java/org/apache/bval/jsr/util/Proxies.java b/bval-jsr/src/main/java/org/apache/bval/jsr/util/Proxies.java
index 1d0c1ee..b6906f6 100644
--- a/bval-jsr/src/main/java/org/apache/bval/jsr/util/Proxies.java
+++ b/bval-jsr/src/main/java/org/apache/bval/jsr/util/Proxies.java
@@ -42,7 +42,7 @@ public final class Proxies {
         return clazz;
     }
 
-    private static boolean isProxyClass(Class<?> clazz) {
+    public static boolean isProxyClass(Class<?> clazz) {
         if (KNOWN_PROXY_CLASSNAMES.contains(clazz.getName())) {
             return true;
         }