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()); } }