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/22 21:24:46 UTC

[1/2] bval git commit: don't composite single delegate

Repository: bval
Updated Branches:
  refs/heads/bv2 861d64d4f -> 330afb5b6


don't composite single delegate


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

Branch: refs/heads/bv2
Commit: e33bd2aba7b9407466ca2dfcc587057898aff3dd
Parents: 861d64d
Author: Matt Benson <mb...@apache.org>
Authored: Thu Feb 22 15:24:28 2018 -0600
Committer: Matt Benson <mb...@apache.org>
Committed: Thu Feb 22 15:24:28 2018 -0600

----------------------------------------------------------------------
 .../org/apache/bval/jsr/descriptor/DescriptorManager.java    | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/bval/blob/e33bd2ab/bval-jsr/src/main/java/org/apache/bval/jsr/descriptor/DescriptorManager.java
----------------------------------------------------------------------
diff --git a/bval-jsr/src/main/java/org/apache/bval/jsr/descriptor/DescriptorManager.java b/bval-jsr/src/main/java/org/apache/bval/jsr/descriptor/DescriptorManager.java
index 21816d7..96a0017 100644
--- a/bval-jsr/src/main/java/org/apache/bval/jsr/descriptor/DescriptorManager.java
+++ b/bval-jsr/src/main/java/org/apache/bval/jsr/descriptor/DescriptorManager.java
@@ -68,7 +68,13 @@ public class DescriptorManager {
         final List<MetadataBuilder.ForBean> customBuilders =
             validatorFactory.getMetadataBuilders().getCustomBuilders(beanClass);
 
-        return customBuilders.isEmpty() ? null : customBuilders.stream()
+        if (customBuilders.isEmpty()) {
+            return null;
+        }
+        if (customBuilders.size() == 1) {
+            return customBuilders.get(0);
+        }
+        return customBuilders.stream()
             .collect(CompositeBuilder.with(AnnotationBehaviorMergeStrategy.consensus()).compose());
     }
 }


[2/2] bval git commit: some TCK fixes

Posted by mb...@apache.org.
some TCK fixes


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

Branch: refs/heads/bv2
Commit: 330afb5b64ed6b6eb73e41e0eb3163e4824127d0
Parents: e33bd2a
Author: Matt Benson <mb...@apache.org>
Authored: Thu Feb 22 15:24:40 2018 -0600
Committer: Matt Benson <mb...@apache.org>
Committed: Thu Feb 22 15:24:40 2018 -0600

----------------------------------------------------------------------
 .../org/apache/bval/jsr/ConfigurationImpl.java     | 17 ++++++++++++-----
 .../org/apache/bval/jsr/metadata/XmlBuilder.java   |  8 +++++---
 2 files changed, 17 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/bval/blob/330afb5b/bval-jsr/src/main/java/org/apache/bval/jsr/ConfigurationImpl.java
----------------------------------------------------------------------
diff --git a/bval-jsr/src/main/java/org/apache/bval/jsr/ConfigurationImpl.java b/bval-jsr/src/main/java/org/apache/bval/jsr/ConfigurationImpl.java
index 046d6d2..3545383 100644
--- a/bval-jsr/src/main/java/org/apache/bval/jsr/ConfigurationImpl.java
+++ b/bval-jsr/src/main/java/org/apache/bval/jsr/ConfigurationImpl.java
@@ -26,6 +26,7 @@ import java.util.Collections;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Map;
+import java.util.Optional;
 import java.util.Set;
 import java.util.concurrent.CopyOnWriteArrayList;
 
@@ -49,6 +50,7 @@ import org.apache.bval.jsr.parameter.DefaultParameterNameProvider;
 import org.apache.bval.jsr.resolver.DefaultTraversableResolver;
 import org.apache.bval.jsr.util.IOs;
 import org.apache.bval.jsr.xml.ValidationParser;
+import org.apache.bval.util.Exceptions;
 import org.apache.commons.weaver.privilizer.Privileged;
 
 /**
@@ -422,12 +424,17 @@ public class ConfigurationImpl implements ApacheValidatorConfiguration, Configur
         if (providerClass == null) {
             return providerResolver.getValidationProviders().get(0);
         }
-        for (ValidationProvider<?> provider : providerResolver.getValidationProviders()) {
-            if (providerClass.isAssignableFrom(provider.getClass())) {
-                return provider;
-            }
+        final Optional<ValidationProvider<?>> knownProvider =
+            providerResolver.getValidationProviders().stream().filter(providerClass::isInstance).findFirst();
+        if (knownProvider.isPresent()) {
+            return knownProvider.get();
+        }
+        try {
+            return providerClass.newInstance();
+        } catch (Exception e) {
+            throw Exceptions.create(ValidationException::new, "Unable to find/create %s of type %s",
+                ValidationProvider.class.getSimpleName(), providerClass);
         }
-        throw new ValidationException("Unable to find suitable provider: " + providerClass);
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/bval/blob/330afb5b/bval-jsr/src/main/java/org/apache/bval/jsr/metadata/XmlBuilder.java
----------------------------------------------------------------------
diff --git a/bval-jsr/src/main/java/org/apache/bval/jsr/metadata/XmlBuilder.java b/bval-jsr/src/main/java/org/apache/bval/jsr/metadata/XmlBuilder.java
index 8743be5..bd71ccc 100644
--- a/bval-jsr/src/main/java/org/apache/bval/jsr/metadata/XmlBuilder.java
+++ b/bval-jsr/src/main/java/org/apache/bval/jsr/metadata/XmlBuilder.java
@@ -139,7 +139,7 @@ public class XmlBuilder {
                 .map(ParameterType::getType).map(XmlBuilder.this::resolveClass).toArray(Class[]::new);
 
             final Function<ConstructorType, Signature> signature =
-                ct -> new Signature(meta.getHost().getSimpleName(), params.apply(ct));
+                ct -> new Signature(meta.getHost().getName(), params.apply(ct));
 
             return descriptor.getConstructor().stream()
                 .collect(Collectors.toMap(signature, XmlBuilder.ForConstructor::new));
@@ -218,7 +218,7 @@ public class XmlBuilder {
 
         ForClass(ClassType descriptor) {
             super(descriptor);
-            this.withGetConstraintTypes(ct -> ct.getConstraint());
+            this.withGetConstraintTypes(ClassType::getConstraint);
         }
 
         @Override
@@ -441,7 +441,9 @@ public class XmlBuilder {
             super(descriptor);
             this.withGetDeclaredConstraints(d -> d.getConstraint().stream()
                 .map(ct -> createConstraint(ct, ConstraintTarget.RETURN_VALUE)).toArray(Annotation[]::new))
-                .withGetContainerElementTypes(d -> d.getContainerElementType());
+                .withGetIgnoreAnnotations(ReturnValueType::getIgnoreAnnotations).withGetValid(ReturnValueType::getValid)
+                .withGetGroupConversions(ReturnValueType::getConvertGroup)
+                .withGetContainerElementTypes(ReturnValueType::getContainerElementType);
         }
     }