upgrade to BVal-2.0.0 TODO: tests did not yet run since the mp integration is broken right now. So I cannot check if anything else is broken
Project: http://git-wip-us.apache.org/repos/asf/tomee/repo Commit: http://git-wip-us.apache.org/repos/asf/tomee/commit/899a1cba Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/899a1cba Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/899a1cba Branch: refs/heads/master Commit: 899a1cbaa054758ff068b91eadfde47faaaf99ab Parents: 488c43a Author: Mark Struberg <strub...@apache.org> Authored: Tue May 15 00:20:26 2018 +0200 Committer: Mark Struberg <strub...@apache.org> Committed: Tue May 15 00:20:26 2018 +0200 ---------------------------------------------------------------------- arquillian/arquillian-tomee-common/pom.xml | 6 +-- .../arquillian-tomee-webapp-remote/pom.xml | 6 +-- container/openejb-core/pom.xml | 5 -- .../classic/SingleValidatorFactoryWrapper.java | 7 +++ .../assembler/classic/ValidationInfo.java | 4 ++ .../assembler/classic/ValidatorBuilder.java | 48 +++++++++++++++++++- .../classic/ValidatorFactoryWrapper.java | 7 +++ .../bval/util/CustomValidatorProvider.java | 23 +++++++++- .../openejb/jee/bval/ValidationConfigType.java | 2 + pom.xml | 7 +-- tck/bval-embedded/pom.xml | 2 +- tck/bval-tomee/pom.xml | 2 +- tomee/pom.xml | 6 +-- utils/openejb-core-hibernate/pom.xml | 4 -- 14 files changed, 94 insertions(+), 35 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/tomee/blob/899a1cba/arquillian/arquillian-tomee-common/pom.xml ---------------------------------------------------------------------- diff --git a/arquillian/arquillian-tomee-common/pom.xml b/arquillian/arquillian-tomee-common/pom.xml index 210efb7..be2e155 100644 --- a/arquillian/arquillian-tomee-common/pom.xml +++ b/arquillian/arquillian-tomee-common/pom.xml @@ -175,11 +175,7 @@ <groupId>hsqldb</groupId> </exclusion> <exclusion> - <artifactId>bval-core</artifactId> - <groupId>org.apache.bval</groupId> - </exclusion> - <exclusion> - <artifactId>bval-jsr303</artifactId> + <artifactId>bval-jsr</artifactId> <groupId>org.apache.bval</groupId> </exclusion> <exclusion> http://git-wip-us.apache.org/repos/asf/tomee/blob/899a1cba/arquillian/arquillian-tomee-webapp-remote/pom.xml ---------------------------------------------------------------------- diff --git a/arquillian/arquillian-tomee-webapp-remote/pom.xml b/arquillian/arquillian-tomee-webapp-remote/pom.xml index 1001fb7..db0fda8 100644 --- a/arquillian/arquillian-tomee-webapp-remote/pom.xml +++ b/arquillian/arquillian-tomee-webapp-remote/pom.xml @@ -194,11 +194,7 @@ <groupId>hsqldb</groupId> </exclusion> <exclusion> - <artifactId>bval-core</artifactId> - <groupId>org.apache.bval</groupId> - </exclusion> - <exclusion> - <artifactId>bval-jsr303</artifactId> + <artifactId>bval-jsr</artifactId> <groupId>org.apache.bval</groupId> </exclusion> <exclusion> http://git-wip-us.apache.org/repos/asf/tomee/blob/899a1cba/container/openejb-core/pom.xml ---------------------------------------------------------------------- diff --git a/container/openejb-core/pom.xml b/container/openejb-core/pom.xml index b8734c8..4379527 100644 --- a/container/openejb-core/pom.xml +++ b/container/openejb-core/pom.xml @@ -691,11 +691,6 @@ --> <dependency> <groupId>org.apache.bval</groupId> - <artifactId>bval-core</artifactId> - </dependency> - - <dependency> - <groupId>org.apache.bval</groupId> <artifactId>bval-jsr</artifactId> </dependency> http://git-wip-us.apache.org/repos/asf/tomee/blob/899a1cba/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/SingleValidatorFactoryWrapper.java ---------------------------------------------------------------------- diff --git a/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/SingleValidatorFactoryWrapper.java b/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/SingleValidatorFactoryWrapper.java index 25c45ee..9d85b6d 100644 --- a/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/SingleValidatorFactoryWrapper.java +++ b/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/SingleValidatorFactoryWrapper.java @@ -22,6 +22,7 @@ import org.apache.openejb.util.LogCategory; import org.apache.openejb.util.Logger; import javax.naming.NamingException; +import javax.validation.ClockProvider; import javax.validation.ConstraintValidatorFactory; import javax.validation.MessageInterpolator; import javax.validation.ParameterNameProvider; @@ -91,6 +92,12 @@ public class SingleValidatorFactoryWrapper implements ValidatorFactory, Serializ } @Override + public ClockProvider getClockProvider() + { + return factory().getClockProvider(); + } + + @Override public void close() { final ValidatorFactory factory = this.factory; if (factory != null) { http://git-wip-us.apache.org/repos/asf/tomee/blob/899a1cba/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ValidationInfo.java ---------------------------------------------------------------------- diff --git a/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ValidationInfo.java b/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ValidationInfo.java index c04d2d3..f67d1ab 100644 --- a/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ValidationInfo.java +++ b/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ValidationInfo.java @@ -20,6 +20,7 @@ package org.apache.openejb.assembler.classic; import java.util.ArrayList; import java.util.List; import java.util.Properties; +import java.util.Set; public class ValidationInfo extends InfoObject { public String providerClassName; @@ -32,4 +33,7 @@ public class ValidationInfo extends InfoObject { public final List<String> constraintMappings = new ArrayList<String>(); public boolean executableValidationEnabled; public final List<String> validatedTypes = new ArrayList<String>(); + public String clockProviderClassName; + public Set<String> valueExtractorClassNames; + } http://git-wip-us.apache.org/repos/asf/tomee/blob/899a1cba/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ValidatorBuilder.java ---------------------------------------------------------------------- diff --git a/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ValidatorBuilder.java b/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ValidatorBuilder.java index 18c4e6f..4999c05 100644 --- a/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ValidatorBuilder.java +++ b/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ValidatorBuilder.java @@ -34,6 +34,7 @@ import javax.enterprise.inject.spi.AnnotatedType; import javax.enterprise.inject.spi.InjectionTarget; import javax.naming.NamingException; import javax.validation.BootstrapConfiguration; +import javax.validation.ClockProvider; import javax.validation.Configuration; import javax.validation.ConstraintValidatorFactory; import javax.validation.MessageInterpolator; @@ -45,6 +46,7 @@ import javax.validation.Validator; import javax.validation.ValidatorContext; import javax.validation.ValidatorFactory; import javax.validation.executable.ExecutableType; +import javax.validation.valueextraction.ValueExtractor; import java.io.InputStream; import java.io.Serializable; import java.util.Collection; @@ -178,7 +180,7 @@ public final class ValidatorBuilder { final OpenEjbBootstrapConfig bootstrapConfig = new OpenEjbBootstrapConfig( providerClassName, info.constraintFactoryClass, info.messageInterpolatorClass, info.traversableResolverClass, info.parameterNameProviderClass, new HashSet<>(info.constraintMappings), info.executableValidationEnabled, - types, props); + types, props, info.clockProviderClassName, info.valueExtractorClassNames); final OpenEjbConfig config = new OpenEjbConfig(bootstrapConfig, target); target.ignoreXmlConfiguration(); @@ -274,6 +276,8 @@ public final class ValidatorBuilder { private final boolean executableValidationEnabled; private final Set<ExecutableType> validatedTypes; private final Map<String, String> props; + private final String clockProviderClassName; + private final Set<String> valueExtractorClassNames; public OpenEjbBootstrapConfig(final String providerClassName, final String constraintFactoryClass, @@ -283,7 +287,9 @@ public final class ValidatorBuilder { final Set<String> constraintMappings, final boolean executableValidationEnabled, final Set<ExecutableType> validatedTypes, - final Map<String, String> props) { + final Map<String, String> props, + final String clockProviderClassName, + final Set<String> valueExtractorClassNames) { this.providerClassName = providerClassName; this.constraintFactoryClass = constraintFactoryClass; this.messageInterpolatorClass = messageInterpolatorClass; @@ -293,6 +299,8 @@ public final class ValidatorBuilder { this.executableValidationEnabled = executableValidationEnabled; this.validatedTypes = validatedTypes; this.props = props; + this.clockProviderClassName = clockProviderClassName; + this.valueExtractorClassNames = valueExtractorClassNames; } @Override @@ -339,6 +347,18 @@ public final class ValidatorBuilder { public Map<String, String> getProperties() { return props; } + + @Override + public String getClockProviderClassName() + { + return clockProviderClassName; + } + + @Override + public Set<String> getValueExtractorClassNames() + { + return valueExtractorClassNames; + } } private static final class OpenEjbConfig<T extends Configuration<T>> implements Configuration<T> { @@ -415,6 +435,24 @@ public final class ValidatorBuilder { public BootstrapConfiguration getBootstrapConfiguration() { return bootstrap; } + + @Override + public T clockProvider(ClockProvider clockProvider) + { + return delegate.clockProvider(clockProvider); + } + + @Override + public T addValueExtractor(ValueExtractor<?> valueExtractor) + { + return delegate.addValueExtractor(valueExtractor); + } + + @Override + public ClockProvider getDefaultClockProvider() + { + return delegate.getDefaultClockProvider(); + } } private static final class OpenEJBValidatorFactory implements ValidatorFactory, Serializable { @@ -473,6 +511,12 @@ public final class ValidatorBuilder { } @Override + public ClockProvider getClockProvider() + { + return delegate().getClockProvider(); + } + + @Override public void close() { if (delegate != null) { delegate.close(); http://git-wip-us.apache.org/repos/asf/tomee/blob/899a1cba/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ValidatorFactoryWrapper.java ---------------------------------------------------------------------- diff --git a/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ValidatorFactoryWrapper.java b/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ValidatorFactoryWrapper.java index 6773d98..8290115 100644 --- a/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ValidatorFactoryWrapper.java +++ b/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ValidatorFactoryWrapper.java @@ -22,6 +22,7 @@ import org.apache.openejb.util.LogCategory; import org.apache.openejb.util.Logger; import javax.naming.NamingException; +import javax.validation.ClockProvider; import javax.validation.ConstraintValidatorFactory; import javax.validation.MessageInterpolator; import javax.validation.ParameterNameProvider; @@ -88,6 +89,12 @@ public class ValidatorFactoryWrapper implements ValidatorFactory, Serializable { } @Override + public ClockProvider getClockProvider() + { + return factory().getClockProvider(); + } + + @Override public void close() { factory().close(); } http://git-wip-us.apache.org/repos/asf/tomee/blob/899a1cba/container/openejb-core/src/test/java/org/apache/openejb/bval/util/CustomValidatorProvider.java ---------------------------------------------------------------------- diff --git a/container/openejb-core/src/test/java/org/apache/openejb/bval/util/CustomValidatorProvider.java b/container/openejb-core/src/test/java/org/apache/openejb/bval/util/CustomValidatorProvider.java index 7d4bc29..8d0a8d0 100644 --- a/container/openejb-core/src/test/java/org/apache/openejb/bval/util/CustomValidatorProvider.java +++ b/container/openejb-core/src/test/java/org/apache/openejb/bval/util/CustomValidatorProvider.java @@ -21,6 +21,7 @@ import org.apache.bval.jsr.ApacheValidatorConfiguration; import org.apache.bval.jsr.ConfigurationImpl; import org.apache.bval.jsr.parameter.DefaultParameterNameProvider; +import javax.validation.ClockProvider; import javax.validation.ConstraintValidatorFactory; import javax.validation.ConstraintViolation; import javax.validation.MessageInterpolator; @@ -34,7 +35,9 @@ import javax.validation.metadata.BeanDescriptor; import javax.validation.spi.BootstrapState; import javax.validation.spi.ConfigurationState; import javax.validation.spi.ValidationProvider; +import javax.validation.valueextraction.ValueExtractor; import java.io.InputStream; +import java.time.Clock; import java.util.Set; // simply a provider which is by default apache validation provider @@ -76,7 +79,7 @@ public class CustomValidatorProvider implements ValidationProvider<ApacheValidat public static class NullConfig extends ConfigurationImpl { - public NullConfig(final BootstrapState aState, final ValidationProvider<?> aProvider) { + public NullConfig(final BootstrapState aState, final ValidationProvider<ApacheValidatorConfiguration> aProvider) { super(aState, aProvider); } @@ -168,6 +171,12 @@ public class CustomValidatorProvider implements ValidationProvider<ApacheValidat } @Override + public ClockProvider getClockProvider() + { + return Clock::systemDefaultZone; + } + + @Override public void close() { // no-op } @@ -198,6 +207,18 @@ public class CustomValidatorProvider implements ValidationProvider<ApacheValidat public ValidatorContext parameterNameProvider(final ParameterNameProvider parameterNameProvider) { return null; } + + @Override + public ValidatorContext clockProvider(ClockProvider clockProvider) + { + return null; + } + + @Override + public ValidatorContext addValueExtractor(ValueExtractor<?> valueExtractor) + { + return null; + } } public static class CustomValidator implements Validator { http://git-wip-us.apache.org/repos/asf/tomee/blob/899a1cba/container/openejb-jee/src/main/java/org/apache/openejb/jee/bval/ValidationConfigType.java ---------------------------------------------------------------------- diff --git a/container/openejb-jee/src/main/java/org/apache/openejb/jee/bval/ValidationConfigType.java b/container/openejb-jee/src/main/java/org/apache/openejb/jee/bval/ValidationConfigType.java index 8725690..417db50 100644 --- a/container/openejb-jee/src/main/java/org/apache/openejb/jee/bval/ValidationConfigType.java +++ b/container/openejb-jee/src/main/java/org/apache/openejb/jee/bval/ValidationConfigType.java @@ -91,6 +91,8 @@ public class ValidationConfigType { @XmlJavaTypeAdapter(javax.xml.bind.annotation.adapters.CollapsedStringAdapter.class) protected String version; + //X TODO add new fields from beanvalidation 2.0: clockProviderClassName and valueExtractorClassNames + /** * Gets the value of the defaultProvider property. * http://git-wip-us.apache.org/repos/asf/tomee/blob/899a1cba/pom.xml ---------------------------------------------------------------------- diff --git a/pom.xml b/pom.xml index d7844b1..9628cf7 100644 --- a/pom.xml +++ b/pom.xml @@ -166,7 +166,7 @@ <commons-io.version>2.4</commons-io.version> <commons-net.version>3.3</commons-net.version> - <bval.version>1.1.2</bval.version> + <bval.version>2.0.0-SNAPSHOT</bval.version> <org.apache.activemq.version>5.15.3</org.apache.activemq.version> <org.springframework.version>3.1.4.RELEASE</org.springframework.version> <junit.version>4.12</junit.version> @@ -812,11 +812,6 @@ </dependency> <dependency> <groupId>org.apache.bval</groupId> - <artifactId>bval-core</artifactId> - <version>${bval.version}</version> - </dependency> - <dependency> - <groupId>org.apache.bval</groupId> <artifactId>bval-jsr</artifactId> <version>${bval.version}</version> </dependency> http://git-wip-us.apache.org/repos/asf/tomee/blob/899a1cba/tck/bval-embedded/pom.xml ---------------------------------------------------------------------- diff --git a/tck/bval-embedded/pom.xml b/tck/bval-embedded/pom.xml index dbf59a6..7c64e0f 100644 --- a/tck/bval-embedded/pom.xml +++ b/tck/bval-embedded/pom.xml @@ -28,7 +28,7 @@ <name>OpenEJB :: TCK :: Bean Validation Embedded</name> <properties> - <tck.version>1.1.4.Final</tck.version> + <tck.version>2.0.3.Final</tck.version> <validation.provider>org.apache.bval.jsr.ApacheValidationProvider</validation.provider> </properties> http://git-wip-us.apache.org/repos/asf/tomee/blob/899a1cba/tck/bval-tomee/pom.xml ---------------------------------------------------------------------- diff --git a/tck/bval-tomee/pom.xml b/tck/bval-tomee/pom.xml index 7b8e565..f1b68f1 100644 --- a/tck/bval-tomee/pom.xml +++ b/tck/bval-tomee/pom.xml @@ -29,7 +29,7 @@ <properties> <openejb.home>${project.build.directory}${file.separator}apache-tomee-webprofile-${project.version}</openejb.home> - <tck.version>1.1.4.Final</tck.version> + <tck.version>2.0.3.Final</tck.version> <validation.provider>org.apache.bval.jsr.ApacheValidationProvider</validation.provider> </properties> http://git-wip-us.apache.org/repos/asf/tomee/blob/899a1cba/tomee/pom.xml ---------------------------------------------------------------------- diff --git a/tomee/pom.xml b/tomee/pom.xml index e793f53..ed94bfb 100644 --- a/tomee/pom.xml +++ b/tomee/pom.xml @@ -116,11 +116,7 @@ </exclusion> <exclusion> <groupId>org.apache.bval</groupId> - <artifactId>bval-core</artifactId> - </exclusion> - <exclusion> - <groupId>org.apache.bval</groupId> - <artifactId>bval-jsr303</artifactId> + <artifactId>bval-jsr</artifactId> </exclusion> <exclusion> <groupId>${project.groupId}</groupId> http://git-wip-us.apache.org/repos/asf/tomee/blob/899a1cba/utils/openejb-core-hibernate/pom.xml ---------------------------------------------------------------------- diff --git a/utils/openejb-core-hibernate/pom.xml b/utils/openejb-core-hibernate/pom.xml index 4a8518c..2dfcdda 100644 --- a/utils/openejb-core-hibernate/pom.xml +++ b/utils/openejb-core-hibernate/pom.xml @@ -43,10 +43,6 @@ </exclusion> <exclusion> <groupId>org.apache.bval</groupId> - <artifactId>bval-core</artifactId> - </exclusion> - <exclusion> - <groupId>org.apache.bval</groupId> <artifactId>bval-jsr</artifactId> </exclusion> <exclusion>