Repository: bval
Updated Branches:
  refs/heads/bv2 64aee232f -> 3409b647b


permit overriding of built-in constraint validators per paragraph 2 of BV spec 
v2 section 8


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

Branch: refs/heads/bv2
Commit: e076d2fac8680c339ed50a467b35e22b480e834f
Parents: 64aee23
Author: Matt Benson <mben...@apache.org>
Authored: Wed Apr 4 10:31:33 2018 -0500
Committer: Matt Benson <mben...@apache.org>
Committed: Wed Apr 4 10:31:33 2018 -0500

----------------------------------------------------------------------
 .../src/main/java/org/apache/bval/jsr/ConstraintCached.java  | 5 +----
 .../bval/jsr/metadata/DualValidationMappingProvider.java     | 8 ++++----
 2 files changed, 5 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/bval/blob/e076d2fa/bval-jsr/src/main/java/org/apache/bval/jsr/ConstraintCached.java
----------------------------------------------------------------------
diff --git a/bval-jsr/src/main/java/org/apache/bval/jsr/ConstraintCached.java 
b/bval-jsr/src/main/java/org/apache/bval/jsr/ConstraintCached.java
index fa9e3df..5dbdef0 100644
--- a/bval-jsr/src/main/java/org/apache/bval/jsr/ConstraintCached.java
+++ b/bval-jsr/src/main/java/org/apache/bval/jsr/ConstraintCached.java
@@ -139,9 +139,6 @@ public class ConstraintCached {
             }
             configured = new 
DualValidationMappingProvider(AnnotationDeclaredValidatorMappingProvider.INSTANCE,
 custom);
         }
-        // interpret spec as saying that default constraint validators are
-        // always present even when annotation-based validators
-        // have been excluded by custom (i.e. XML) config:
-        return new DualValidationMappingProvider(configured, 
ConstraintDefaults.INSTANCE);
+        return new DualValidationMappingProvider(ConstraintDefaults.INSTANCE, 
configured);
     }
 }

http://git-wip-us.apache.org/repos/asf/bval/blob/e076d2fa/bval-jsr/src/main/java/org/apache/bval/jsr/metadata/DualValidationMappingProvider.java
----------------------------------------------------------------------
diff --git 
a/bval-jsr/src/main/java/org/apache/bval/jsr/metadata/DualValidationMappingProvider.java
 
b/bval-jsr/src/main/java/org/apache/bval/jsr/metadata/DualValidationMappingProvider.java
index e5b5038..ac88d4d 100644
--- 
a/bval-jsr/src/main/java/org/apache/bval/jsr/metadata/DualValidationMappingProvider.java
+++ 
b/bval-jsr/src/main/java/org/apache/bval/jsr/metadata/DualValidationMappingProvider.java
@@ -35,16 +35,16 @@ public class DualValidationMappingProvider extends 
ValidatorMappingProvider {
     protected <A extends Annotation> ValidatorMapping<A> 
doGetValidatorMapping(Class<A> constraintType) {
 
         final ValidatorMapping<A> secondaryMapping = 
secondaryDelegate.doGetValidatorMapping(constraintType);
+        final ValidatorMapping<A> primaryMapping = 
primaryDelegate.doGetValidatorMapping(constraintType);
         if (secondaryMapping == null) {
-            return primaryDelegate.doGetValidatorMapping(constraintType);
+            return primaryMapping;
         }
         final AnnotationBehavior annotationBehavior = 
secondaryMapping.getAnnotationBehavior();
 
-        if (annotationBehavior == AnnotationBehavior.EXCLUDE) {
+        if (primaryMapping == null || annotationBehavior == 
AnnotationBehavior.EXCLUDE) {
             return secondaryMapping;
         }
-        return ValidatorMapping.merge(
-            
Arrays.asList(primaryDelegate.doGetValidatorMapping(constraintType), 
secondaryMapping),
+        return ValidatorMapping.merge(Arrays.asList(primaryMapping, 
secondaryMapping),
             AnnotationBehaviorMergeStrategy.consensus());
     }
 }

Reply via email to